:root { --jooa11y-font-face: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "FontAwesome", sans-serif; --jooa11y-large-text: 16px; --jooa11y-normal-text: 15px; --jooa11y-focus-color: rgba(0, 208, 255, .75); --jooa11y-pulse-color: rgba(0, 208, 255, 0); --jooa11y-good: #36844e; --jooa11y-good-hover: #38a459; --jooa11y-good-text: #fff; --jooa11y-good-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25px' height='25px' role='img' focusable='false' aria-hidden='true' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'%3E%3C/path%3E%3C/svg%3E"); --jooa11y-warning: #ffc800; --jooa11y-warning-hover: #ffd226; --jooa11y-warning-text: #000; --jooa11y-warning-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25px' height='25px' role='img' focusable='false' aria-hidden='true' viewBox='0 0 512 512'%3E%3Cpath fill='%23505050' d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z'/%3E%3C/svg%3E"); --jooa11y-warning-svg-color: #d39c00; --jooa11y-error: #d30017; --jooa11y-error-hover: #f00; --jooa11y-error-text: #fff; --jooa11y-error-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='img' focusable='false' aria-hidden='true' viewBox='0 0 576 576' width='25px' height='25px'%3E%3Cpath fill='%23ffffff' d='M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'%3E%3C/path%3E%3C/svg%3E"); --jooa11y-setting-switch-on-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' role='img' viewBox='0 0 576 512'%3E%3Cpath fill='%23000000' d='M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z'/%3E%3C/svg%3E"); --jooa11y-setting-switch-off-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' role='img' viewBox='0 0 576 512'%3E%3Cpath fill='%23000000' d='M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z'/%3E%3C/svg%3E"); --jooa11y-close-btn-svg: url("data:image/svg+xml,%3Csvg width='20px' height='20px' aria-hidden='true' focusable='false' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath fill='%23000000' d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'%3E%3C/path%3E%3C/svg%3E"); --jooa11y-shortcut-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' viewBox='0 0 351 123'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill-rule: evenodd; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M10-.022H152.1a10,10,0,0,1,10,10V112.906a10,10,0,0,1-10,10H10a10,10,0,0,1-10-10V9.978A10,10,0,0,1,10-.022Zm111.91,81q0.647,0.63,3.956.63,0.493,0,1.046-.019T128,81.53v8.131l-5.135.191q-7.683.267-10.5-2.672-1.826-1.87-1.825-5.764V55.8h-5.781V48.051h5.781V36.446h10.725V48.051H128V55.8h-6.732V77.789Q121.264,80.347,121.91,80.976ZM87.6,33.01H98.444V89.279H87.6V33.01Zm-22.887,44.7H44.073l-3.8,11.567H28.02L48.032,33.01H61.286L81.12,89.279h-12.7ZM54.535,45.875L47.26,68.016H61.617ZM199-.022H341.1a10,10,0,0,1,10,10V112.906a10,10,0,0,1-10,10H199a10,10,0,0,1-10-10V9.978A10,10,0,0,1,199-.022ZM249.987,60.49V50.708l29.407-10.481L249.987,29.809V19.991l41.228,15.82v8.929Zm25.446,44.535H264.747V94.514h10.686v10.511Z'/%3E%3C/svg%3E"); } /* SVG icons by FontAwesome 5: https://fontawesome.com/license/free */ /* --jooa11y-shortcut-svg (Alt + .) SVG was created by Adam Chaboryk, MIT license. */ html, html[data-jooa11y-theme=light] { --jooa11y-red-text: #d30017; --jooa11y-yellow-text: #966f0d; --jooa11y-panel-badge: #e9e9e9; --jooa11y-panel-primary: #333; --jooa11y-panel-bg: #fff; --jooa11y-panel-bg-secondary: #f6f6f6; --jooa11y-panel-bg-splitter: #d7d7d7; --jooa11y-panel-error: #d30017; --jooa11y-panel-secondary: #4d4d4d; --jooa11y-panel-secondary-hover: #0077c8; --jooa11y-panel-toggle-active: #c6c6c6; --jooa11y-setting-switch-bg-on: #21b5ff; --jooa11y-setting-switch-bg-off: #757575; --jooa11y-hyperlink: #004c9b; --jooa11y-shortcut-hover: #e8e8e8; } html[data-jooa11y-theme=dark] { --jooa11y-red-text: #fe5b5f; --jooa11y-yellow-text: #ffc800; --jooa11y-panel-badge: #3500c4; --jooa11y-panel-primary: #dde8ff; --jooa11y-panel-bg: #0a2051; --jooa11y-panel-bg-secondary: #072c7c; --jooa11y-panel-bg-splitter: #0041c9; --jooa11y-panel-error: #f00; --jooa11y-panel-secondary: #a3c1ff; --jooa11y-panel-secondary-hover: rgb(0 0 0 / 40%); --jooa11y-panel-toggle-active: #000; --jooa11y-setting-switch-bg-on: #21b5ff; --jooa11y-setting-switch-bg-off: #bfbfbf; --jooa11y-hyperlink: #64b2ff; --jooa11y-shortcut-hover: #093698; } @media (prefers-color-scheme: dark) { html, html[data-jooa11y-theme=dark] { --jooa11y-red-text: #ff6c6f; --jooa11y-yellow-text: #ffc800; --jooa11y-panel-badge: #3500c4; --jooa11y-panel-primary: #dde8ff; --jooa11y-panel-bg: #0a2051; --jooa11y-panel-bg-secondary: #072c7c; --jooa11y-panel-bg-splitter: #0041c9; --jooa11y-panel-error: #f00; --jooa11y-panel-secondary: #a3c1ff; --jooa11y-panel-secondary-hover: rgb(0 0 0 / 40%); --jooa11y-panel-toggle-active: #000; --jooa11y-setting-switch-bg-on: #21b5ff; --jooa11y-setting-switch-bg-off: #bfbfbf; --jooa11y-hyperlink: #64b2ff; --jooa11y-shortcut-hover: #093698; } html[data-jooa11y-theme=light] { --jooa11y-red-text: #d30017; --jooa11y-yellow-text: #966f0d; --jooa11y-panel-badge: #e9e9e9; --jooa11y-panel-primary: #333; --jooa11y-panel-bg: #fff; --jooa11y-panel-bg-secondary: #f6f6f6; --jooa11y-panel-bg-splitter: #d7d7d7; --jooa11y-panel-error: #d30017; --jooa11y-panel-secondary: #4d4d4d; --jooa11y-panel-secondary-hover: #0077c8; --jooa11y-panel-toggle-active: #c6c6c6; --jooa11y-setting-switch-bg-on: #21b5ff; --jooa11y-setting-switch-bg-off: #757575; --jooa11y-hyperlink: #004c9b; --jooa11y-shortcut-hover: #e8e8e8; } } #jooa11y-container div { display: block; } #jooa11y-container * { font-family: var(--jooa11y-font-face); line-height: 22px; -webkit-font-smoothing: auto; } #jooa11y-container p, #jooa11y-container ol, #jooa11y-container ul, #jooa11y-container li, #jooa11y-container label { font-size: var(--jooa11y-normal-text); font-weight: normal; letter-spacing: normal; word-break: normal; -webkit-padding-start: 0; padding-inline-start: 0; margin-bottom: 0; } .jooa11y-instance { display: block; } .jooa11y-instance-inline { display: inline-block; } .jooa11y-overflow { overflow: auto; } /*===== Main button ===== */ #jooa11y-container #jooa11y-toggle { position: fixed; inset-inline-end: 15px; bottom: 15px; z-index: 9999999999; width: 55px; height: 55px; padding: 10px; margin: 0; overflow: visible; color: #fff; cursor: pointer; background-image: linear-gradient(to top, #e040fb, #00bcd4); background-size: 150% 150%; border: 0; border-radius: 50px; transition: all 0.2s ease-in-out; } #jooa11y-container #jooa11y-toggle:hover, #jooa11y-container #jooa11y-toggle:focus { -webkit-animation: jooa11y-toggle-gradient 3s ease; animation: jooa11y-toggle-gradient 3s ease; } #jooa11y-container .jooa11y-notification-badge-warning { color: var(--jooa11y-warning-text); background-color: var(--jooa11y-warning-hover); border: 1px solid var(--jooa11y-warning); } #jooa11y-container #jooa11y-notification-badge { position: absolute; top: -3px; right: -3px; display: none; align-items: center; justify-content: center; width: 20px; height: 20px; font-size: 13px; font-weight: normal; line-height: 1; color: #fff; background-color: #eb0000; border-radius: 100px; } #jooa11y-container #jooa11y-notification-badge > div { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } #jooa11y-container button.jooa11y-on { background-image: linear-gradient(to bottom, #e040fb, #00bcd4); } #jooa11y-container .loading-jooa11y::before { position: absolute; box-sizing: border-box; display: inline-block; width: 100%; height: 100%; margin: -10px; content: ""; border: 4px solid rgba(255, 255, 255, 0.9); border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-radius: 50%; -webkit-animation: jooa11y-rotate 1.5s ease; animation: jooa11y-rotate 1.5s ease; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } #jooa11y-toggle svg path { fill: var(--jooa11y-panel-bg); } /* Main focus styles */ #jooa11y-container #jooa11y-panel a:focus, #jooa11y-container .jooa11y-close-btn:focus, #jooa11y-container #jooa11y-cycle-toggle:focus, #jooa11y-container button.jooa11y-btn:focus, #jooa11y-container button#jooa11y-toggle:focus { outline: 0; box-shadow: 0 0 0 5px var(--jooa11y-focus-color); } /*===== Main panel/container ===== */ #jooa11y-container label { display: inline-block; width: 180px; margin: 0; font-weight: normal; color: var(--jooa11y-panel-primary); cursor: pointer; } #jooa11y-container #jooa11y-panel.jooa11y-active { height: auto; visibility: visible; opacity: 1; transition: opacity 0.2s, -webkit-transform 0.2s; transition: transform 0.2s, opacity 0.2s; transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s; -webkit-transform: scale(1); transform: scale(1); -webkit-transform-origin: bottom right; transform-origin: bottom right; } #jooa11y-container #jooa11y-panel { position: fixed; inset-inline-end: 42px; bottom: 25px; z-index: 8890; width: 310px; overflow: visible; visibility: hidden; background: var(--jooa11y-panel-bg); border-radius: 0.25em; box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15); opacity: 0; transition: opacity 0.2s, -webkit-transform 0.2s; transition: transform 0.2s, opacity 0.2s; transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s; -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; } #jooa11y-container #jooa11y-panel-alert { align-items: center; max-height: 200px; padding: 15px 20px 15px 15px; overflow-y: auto; color: var(--jooa11y-panel-primary); border-bottom: 1px solid var(--jooa11y-panel-bg-splitter); } #jooa11y-container #jooa11y-panel-alert-preview, #jooa11y-container #jooa11y-panel-alert-text { font-family: var(--jooa11y-font-face); font-size: var(--jooa11y-normal-text); font-weight: normal; line-height: 22px; } #jooa11y-container #jooa11y-panel-alert-preview { padding: 10px; margin-top: 15px; background: var(--jooa11y-panel-bg-secondary); border: 1px dashed var(--jooa11y-panel-bg-splitter); border-radius: 5px; } #jooa11y-container #jooa11y-panel-content { display: flex; align-items: center; padding: 10px 20px 10px 10px; color: var(--jooa11y-panel-primary); } #jooa11y-container #jooa11y-panel-controls { display: flex; } #jooa11y-container #jooa11y-panel a { color: var(--jooa11y-hyperlink); text-decoration: underline; cursor: pointer; border-bottom: 0; } #jooa11y-container #jooa11y-panel a:hover, #jooa11y-container #jooa11y-panel a:focus { text-decoration: none; } #jooa11y-container #jooa11y-status { font-size: var(--jooa11y-large-text); color: var(--jooa11y-panel-primary); margin: 0; } #jooa11y-container .jooa11y-errors .jooa11y-panel-icon, #jooa11y-container .jooa11y-good .jooa11y-panel-icon, #jooa11y-container .jooa11y-warnings .jooa11y-panel-icon { width: 35px; height: 35px; } #jooa11y-container .jooa11y-errors .jooa11y-panel-icon { background: var(--jooa11y-panel-error); mask: var(--jooa11y-error-svg) center no-repeat; -webkit-mask: var(--jooa11y-error-svg) center no-repeat; } #jooa11y-container .jooa11y-good .jooa11y-panel-icon { background: var(--jooa11y-good); mask: var(--jooa11y-good-svg) center no-repeat; -webkit-mask: var(--jooa11y-good-svg) center no-repeat; } #jooa11y-container .jooa11y-warnings .jooa11y-panel-icon { background: var(--jooa11y-warning-svg-color); mask: var(--jooa11y-warning-svg) center no-repeat; -webkit-mask: var(--jooa11y-warning-svg) center no-repeat; } /* Shortcut icon */ .jooa11y-shortcut-icon { display: inline-block; width: 50px; height: 20px; margin-top: 5px; background: var(--jooa11y-panel-primary); mask: var(--jooa11y-shortcut-svg) center no-repeat; -webkit-mask: var(--jooa11y-shortcut-svg) center no-repeat; } /* Outline and settings Panel */ #jooa11y-container #jooa11y-panel-alert, #jooa11y-container #jooa11y-readability-panel, #jooa11y-container #jooa11y-settings-panel, #jooa11y-container #jooa11y-outline-panel { display: none; opacity: 0; } #jooa11y-container #jooa11y-panel-alert.jooa11y-active, #jooa11y-container #jooa11y-readability-panel.jooa11y-active, #jooa11y-container #jooa11y-settings-panel.jooa11y-active, #jooa11y-container #jooa11y-outline-panel.jooa11y-active { display: block; opacity: 1; } #jooa11y-container #jooa11y-settings-header, #jooa11y-container #jooa11y-outline-header { padding: 10px 15px 0; } #jooa11y-container #jooa11y-settings-content, #jooa11y-container #jooa11y-outline-content { padding: 0 15px 10px; border-bottom: 1px solid var(--jooa11y-panel-bg-splitter); } #jooa11y-container #jooa11y-outline-content { max-height: 250px; overflow-y: auto; } #jooa11y-container #jooa11y-settings-panel, #jooa11y-container #jooa11y-outline-panel .jooa11y-outline-list-item { color: var(--jooa11y-panel-primary); } #jooa11y-container #jooa11y-settings-panel .jooa11y-red-text, #jooa11y-container #jooa11y-outline-panel .jooa11y-outline-list-item.jooa11y-red-text { color: var(--jooa11y-red-text); } #jooa11y-container .jooa11y-missing-h1 { padding: 2px; margin: 0 15px; border: 2px dashed var(--jooa11y-red-text); } #jooa11y-container .jooa11y-badge { display: inline; min-width: 10px; padding: 2px 5px; font-size: 12px; font-weight: 700; color: var(--jooa11y-panel-primary); text-align: center; white-space: nowrap; background-color: var(--jooa11y-panel-badge); border-radius: 10px; } #jooa11y-container .jooa11y-error-badge { color: var(--jooa11y-error-text); background: var(--jooa11y-error); } #jooa11y-container .jooa11y-warning-badge { color: var(--jooa11y-panel-bg); background: var(--jooa11y-yellow-text); } #jooa11y-container #jooa11y-outline-list .jooa11y-outline-2 { -webkit-margin-start: 15px; margin-inline-start: 15px; } #jooa11y-container #jooa11y-outline-list .jooa11y-outline-3 { -webkit-margin-start: 30px; margin-inline-start: 30px; } #jooa11y-container #jooa11y-outline-list .jooa11y-outline-4 { -webkit-margin-start: 45px; margin-inline-start: 45px; } #jooa11y-container #jooa11y-outline-list .jooa11y-outline-5 { -webkit-margin-start: 60px; margin-inline-start: 60px; } #jooa11y-container #jooa11y-outline-list .jooa11y-outline-6 { -webkit-margin-start: 75px; margin-inline-start: 75px; } #jooa11y-container #jooa11y-outline-list { display: block; padding: 0; margin: 0; } #jooa11y-container #jooa11y-outline-list li { display: block; padding: 0; margin-top: 0; margin-bottom: 0; list-style-type: none; } /* Readability panel */ #jooa11y-container .jooa11y-readability-level { display: inline-block; -webkit-padding-start: 10px; padding-inline-start: 10px; } #jooa11y-container #jooa11y-readability-content { width: 100%; padding: 10px 15px; color: var(--jooa11y-panel-primary); border-bottom: 1px solid var(--jooa11y-panel-bg-splitter); } #jooa11y-container #jooa11y-readability-details { padding: 0; margin: 0; white-space: normal; list-style-type: none; } #jooa11y-container #jooa11y-readability-details li { display: inline-block; padding: 0 10px 0 0; margin: 0; list-style-type: none; } /* Scroll bar */ #jooa11y-container #jooa11y-panel-alert::-webkit-scrollbar, #jooa11y-container #jooa11y-settings-content::-webkit-scrollbar, #jooa11y-container #jooa11y-outline-content::-webkit-scrollbar { width: 7px; } #jooa11y-container #jooa11y-panel-alert, #jooa11y-container #jooa11y-settings-content, #jooa11y-container #jooa11y-outline-content { scrollbar-width: thin; scrollbar-color: var(--jooa11y-panel-bg-splitter); } #jooa11y-container #jooa11y-panel-alert::-webkit-scrollbar-thumb, #jooa11y-container #jooa11y-settings-content::-webkit-scrollbar-thumb, #jooa11y-container #jooa11y-outline-content::-webkit-scrollbar-thumb { background-color: var(--jooa11y-panel-bg-splitter); border-radius: 6px; } /* Jump to issue button */ #jooa11y-container #jooa11y-cycle-toggle { position: relative; width: 35px; height: 35px; -webkit-margin-end: 10px; margin-inline-end: 10px; overflow: visible; cursor: pointer; border: 0; border-radius: 50px; transition: all 0.2s ease-in-out; background: none; padding: 0; } #jooa11y-container #jooa11y-cycle-toggle:before { position: absolute; top: -7px; right: -7px; bottom: -7px; left: -7px; content: ""; } #jooa11y-container #jooa11y-cycle-toggle:hover:not(:disabled), #jooa11y-container #jooa11y-cycle-toggle:focus:not(:disabled) { background-color: var(--jooa11y-shortcut-hover); } /* Setting & Outline toggles */ #jooa11y-container #jooa11y-settings-toggle.jooa11y-settings-active, #jooa11y-container #jooa11y-settings-toggle:hover, #jooa11y-container #jooa11y-outline-toggle.jooa11y-outline-active, #jooa11y-container #jooa11y-outline-toggle:hover { background-color: var(--jooa11y-shortcut-hover); } #jooa11y-container #jooa11y-outline-toggle { border-radius: 0 0 0 5px; } #jooa11y-container #jooa11y-settings-toggle, #jooa11y-container #jooa11y-outline-toggle { position: relative; display: block; width: 100%; height: 30px; padding: 0; margin: 0; font-size: var(--jooa11y-normal-text); font-weight: 400; line-height: 0; color: var(--jooa11y-panel-secondary); text-align: center; cursor: pointer; background: var(--jooa11y-panel-bg-secondary); background-color: var(--jooa11y-panel-bg-secondary); border-top: 1px solid var(--jooa11y-panel-bg-splitter); border-right: 1px solid var(--jooa11y-panel-bg-splitter); border-bottom: 0; border-left: 0; outline: 0; opacity: 1; transition: background 0.2s; } /* Accessibility: Increase target size. */ #jooa11y-container #jooa11y-settings-toggle:before, #jooa11y-container #jooa11y-outline-toggle:before { position: absolute; top: -7px; right: 0; bottom: -8px; left: 0; content: ""; } #jooa11y-container #jooa11y-other-options li, #jooa11y-container #jooa11y-settings-options li { display: flex; align-items: center; justify-content: space-between; padding: 1px 0; list-style-type: none; } #jooa11y-container #jooa11y-other-options li + li, #jooa11y-container #jooa11y-settings-options li + li { border-color: var(--jooa11y-panel-bg-splitter); border-top: 1px solid; } /* Close button within panel. */ #jooa11y-container .jooa11y-close-btn { position: relative; float: right; width: 30px; height: 30px; margin: 0; font-size: var(--jooa11y-normal-text); font-weight: normal; color: var(--jooa11y-panel-primary); cursor: pointer; background: none; border: 0; border-radius: 50%; transition: all 0.2s ease-in-out; } [dir=rtl] #jooa11y-container .jooa11y-close-btn { float: left; } #jooa11y-container .jooa11y-close-btn:hover, #jooa11y-container .jooa11y-close-btn:focus { background-color: var(--jooa11y-shortcut-hover); } #jooa11y-container .jooa11y-close-btn:after { position: absolute; top: -7px; right: -7px; bottom: -7px; left: -7px; content: ""; } #jooa11y-container .jooa11y-close-btn:after { background: var(--jooa11y-setting-switch-bg-off); mask: var(--jooa11y-close-btn-svg) center no-repeat; -webkit-mask: var(--jooa11y-close-btn-svg) center no-repeat; } /* Toggle buttons within Settings panel. */ #jooa11y-container .jooa11y-settings-switch { position: relative; width: 80px; height: 45px; padding: 7px 10px; margin: 0; font-size: var(--jooa11y-normal-text); font-weight: normal; color: var(--jooa11y-panel-primary); cursor: pointer; background: none; border: 0; border-radius: 5px; } #jooa11y-container .jooa11y-settings-switch[aria-pressed=true]:after, #jooa11y-container .jooa11y-settings-switch[aria-pressed=false]:after { display: inline-block; width: 27px; height: 27px; margin: 0 4px 4px; vertical-align: middle; content: ""; } #jooa11y-container .jooa11y-settings-switch[aria-pressed=true]:after { background: var(--jooa11y-setting-switch-bg-on); mask: var(--jooa11y-setting-switch-on-svg) center no-repeat; -webkit-mask: var(--jooa11y-setting-switch-on-svg) center no-repeat; } #jooa11y-container .jooa11y-settings-switch[aria-pressed=false]:after { background: var(--jooa11y-setting-switch-bg-off); mask: var(--jooa11y-setting-switch-off-svg) center no-repeat; -webkit-mask: var(--jooa11y-setting-switch-off-svg) center no-repeat; } /* Default keyboard focus */ #jooa11y-container .jooa11y-settings-switch:focus, #jooa11y-container #jooa11y-settings-toggle:focus, #jooa11y-container #jooa11y-outline-toggle:focus { outline: 0; box-shadow: inset 0 0 0 4px var(--jooa11y-focus-color); } button.jooa11y-btn:focus, #jooa11y-container [tabindex="0"]:focus, #jooa11y-container [tabindex="-1"]:focus { outline: 0; box-shadow: 0 0 0 5px var(--jooa11y-focus-color); } /* Remove default focus styles for mouse users ONLY if :focus-visible is supported. */ #jooa11y-container .jooa11y-settings-switch:focus:not(:focus-visible), #jooa11y-container #jooa11y-settings-toggle:focus:not(:focus-visible), #jooa11y-container #jooa11y-outline-toggle:focus:not(:focus-visible) { outline: 0; box-shadow: none; } button.jooa11y-btn:focus, #jooa11y-container [tabindex="0"]:focus:not(:focus-visible), #jooa11y-container [tabindex="-1"]:focus:not(:focus-visible) { outline: 0; box-shadow: none; } /* :focus-visible supported */ #jooa11y-container .jooa11y-settings-switch:focus-visible, #jooa11y-container #jooa11y-settings-toggle:focus-visible, #jooa11y-container #jooa11y-outline-toggle:focus-visible { outline: 0; box-shadow: inset 0 0 0 4px var(--jooa11y-focus-color); } button.jooa11y-btn:focus, #jooa11y-container [tabindex="0"]:focus-visible, #jooa11y-container [tabindex="-1"]:focus-visible { outline: 0; box-shadow: 0 0 0 5px var(--jooa11y-focus-color); } /*===== Error, Warning, Pass buttons ===== */ button.jooa11y-btn { position: absolute; z-index: 8888; display: block; width: 36px; min-width: 0; height: 36px; padding: 0; font-size: 0; line-height: normal; cursor: pointer; border-radius: 50%; box-shadow: 0 0 16px 0 #00004f; transition: all 0.2s ease-in-out; } button.jooa11y-btn:after { position: absolute; top: -7px; left: -7px; width: 36px; height: 36px; padding: 7px; content: ""; } /* To prevent overlap. */ button.jooa11y-warning-btn { margin: 20px; } button.jooa11y-good-btn, button.jooa11y-error-btn { margin: 10px; } button.jooa11y-error-btn-text, button.jooa11y-good-btn-text, button.jooa11y-warning-btn-text { margin: -30px 10px; } /* Error */ button.jooa11y-error-btn, button.jooa11y-error-btn-text { background: 50% 50% var(--jooa11y-error) var(--jooa11y-error-svg) no-repeat; background-color: var(--jooa11y-error); background-size: 22px; border: 1px solid var(--jooa11y-error); } button.jooa11y-error-btn:hover, button.jooa11y-error-btn:focus, button.jooa11y-error-btn-text:hover, button.jooa11y-error-btn-text:focus { background-color: var(--jooa11y-error-hover); } /* Pass button */ button.jooa11y-good-btn, button.jooa11y-good-btn-text { background: 50% 50% var(--jooa11y-good) var(--jooa11y-good-svg) no-repeat; background-color: var(--jooa11y-good); background-size: 20px; border: 1px solid var(--jooa11y-good); } button.jooa11y-good-btn:hover, button.jooa11y-good-btn:focus, button.jooa11y-good-btn-text:hover, button.jooa11y-good-btn-text:focus { background-color: var(--jooa11y-good-hover); } /* Warning button */ button.jooa11y-warning-btn, button.jooa11y-warning-btn-text { background: 50% 50% var(--jooa11y-warning) var(--jooa11y-warning-svg) no-repeat; background-color: var(--jooa11y-warning); background-size: 24px; border: 1px solid var(--jooa11y-warning); } button.jooa11y-warning-btn:hover, button.jooa11y-warning-btn:focus, button.jooa11y-warning-btn-text:hover, button.jooa11y-warning-btn-text:focus { background-color: var(--jooa11y-warning-hover); } /* Misc */ .jooa11y-visually-hidden { position: absolute; display: block; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); -webkit-clip-path: inset(50%); clip-path: inset(50%); white-space: nowrap; border: 0; } .jooa11y-header-text-inline, .jooa11y-header-text h2, .jooa11y-header-text { display: block; margin-bottom: 3px; font-size: var(--jooa11y-large-text); font-weight: 600; color: var(--jooa11y-panel-primary); } .jooa11y-header-text-inline { display: inline-block; } .jooa11y-kbd { padding: 0.1em 0.3em; color: var(--jooa11y-panel-primary); background-color: var(--jooa11y-panel-badge); border-radius: 0.2em; } /* Link, text, and image outlines */ .jooa11y-bold { font-weight: 600; } .jooa11y-red-text { font-family: var(--jooa11y-font-face); font-size: var(--jooa11y-normal-text); color: var(--jooa11y-red-text); } .jooa11y-yellow-text { font-family: var(--jooa11y-font-face); font-size: var(--jooa11y-normal-text); color: var(--jooa11y-yellow-text); } .jooa11y-error-border { outline: 5px solid var(--jooa11y-error); } .jooa11y-warning-border { outline: 5px solid var(--jooa11y-warning); } .jooa11y-good-border { outline: 5px solid var(--jooa11y-good); } p#jooa11y-readability-info { -webkit-margin-start: 10px; margin-inline-start: 10px; display: inline; } .jooa11y-readability-score { padding: 2px 5px; -webkit-margin-start: 5px; margin-inline-start: 5px; color: var(--jooa11y-panel-primary); background-color: var(--jooa11y-panel-badge); border-radius: 0.25em; } a.jooa11y-good-text, .jooa11y-good-text { color: var(--jooa11y-good-text); background-color: var(--jooa11y-good); border-color: transparent; border-radius: 0.25em; box-shadow: 0 0 0 4px var(--jooa11y-good); } a.jooa11y-error-text, .jooa11y-error-text { color: var(--jooa11y-error-text); background-color: var(--jooa11y-error); border-color: transparent; border-radius: 0.25em; box-shadow: 0 0 0 4px var(--jooa11y-error); } .jooa11y-warning-uppercase, a.jooa11y-warning-text, .jooa11y-warning-text { color: var(--jooa11y-warning-text); background-color: var(--jooa11y-warning); border-color: transparent; border-radius: 0.25em; box-shadow: 0 0 0 4px var(--jooa11y-warning); } /* Full width panels */ .jooa11y-error-message-container, .jooa11y-warning-message-container, .jooa11y-good-message-container { position: absolute; top: 0; z-index: 99999; display: block; width: 100%; } .jooa11y-error-message, .jooa11y-warning-message, .jooa11y-good-message { max-width: 900px; padding: 10px 0 7px; margin: 0 auto; font-family: var(--jooa11y-font-face); font-size: var(--jooa11y-normal-text); line-height: 22px; text-align: center; } .jooa11y-error-message-container { background-color: var(--jooa11y-error); } .jooa11y-warning-message-container { background-color: var(--jooa11y-warning); } .jooa11y-good-message-container { background-color: var(--jooa11y-good); } .jooa11y-error-message a, .jooa11y-warning-message a, .jooa11y-good-message a { text-decoration: underline; border: 0; } .jooa11y-error-message a, .jooa11y-error-message { color: var(--jooa11y-error-text); } .jooa11y-warning-message a, .jooa11y-warning-message { color: var(--jooa11y-warning-text); } .jooa11y-good-message a, .jooa11y-good-message { color: var(--jooa11y-good-text); } .jooa11y-error-message a:hover, .jooa11y-error-message a:focus, .jooa11y-warning-message a:hover, .jooa11y-warning-message a:focus, .jooa11y-good-message a:hover, .jooa11y-good-message a:focus { text-decoration: none; } .jooa11y-error-message:before, .jooa11y-warning-message:before, .jooa11y-good-message:before { width: 24px; height: 24px; margin: 10px; vertical-align: middle; } .jooa11y-error-message:before { content: var(--jooa11y-error-svg); } .jooa11y-warning-message:before { content: var(--jooa11y-warning-svg); } .jooa11y-good-message:before { content: var(--jooa11y-good-svg); } /*===== Heading label ===== */ span.jooa11y-label-visible { display: inline-block !important; } span.jooa11y-heading-label { position: absolute; z-index: 200; display: none; padding: 3px; margin: -5px 0 0 5px; font-family: var(--jooa11y-font-face); font-size: var(--jooa11y-normal-text); font-weight: 500; line-height: normal; color: #fff; text-shadow: none; letter-spacing: normal; background-color: #777678; background-image: linear-gradient(to bottom right, #b629ce, #16aec2); border-radius: 3px; } /* Pulse border: https://codepen.io/olam/pen/zcqea */ .jooa11y-pulse-border { border: 3px solid var(--jooa11y-focus-color); box-shadow: 0 0 0 var(--jooa11y-focus-color); -webkit-animation: pulse 2s infinite; animation: pulse 2s infinite; } .jooa11y-pulse-border:hover, .jooa11y-pulse-border:focus { -webkit-animation: none; animation: none; } @-webkit-keyframes pulse { 0% { box-shadow: 0 0 0 0 var(--jooa11y-focus-color); } 70% { box-shadow: 0 0 0 10px var(--jooa11y-pulse-color); } 100% { box-shadow: 0 0 0 0 var(--jooa11y-pulse-color); } } @keyframes pulse { 0% { box-shadow: 0 0 0 0 var(--jooa11y-focus-color); } 70% { box-shadow: 0 0 0 10px var(--jooa11y-pulse-color); } 100% { box-shadow: 0 0 0 0 var(--jooa11y-pulse-color); } } /* ===== Helper ===== */ .jooa11y-clone-image-text { display: none; } /*===== Animations ===== */ @-webkit-keyframes jooa11y-toggle-gradient { 0% { background-position: 50% 0%; } 50% { background-position: 50% 100%; } 100% { background-position: 50% 0%; } } @keyframes jooa11y-toggle-gradient { 0% { background-position: 50% 0%; } 50% { background-position: 50% 100%; } 100% { background-position: 50% 0%; } } @-webkit-keyframes jooa11y-rotate { 0% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } 100% { border: 4px solid rgba(255, 255, 255, 0.05); } } @keyframes jooa11y-rotate { 0% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } 100% { border: 4px solid rgba(255, 255, 255, 0.05); } } @media (prefers-reduced-motion: reduce) { #jooa11y-container * { transition: none; -webkit-transform: none; transform: none; -webkit-animation: none; animation: none; } #jooa11y-container .loading-jooa11y::before { opacity: 0; -webkit-animation: none; animation: none; } } /*===== Tooltip additions ===== */ .jooa11y-hr { height: 1px; padding: 0; margin: 10px 0; background: var(--jooa11y-panel-bg-splitter); border: none; } /*===== Custom tippy theme for Jooa11y ===== */ /* Hacky CSS reset to ensure maximum compatibility. */ .tippy-box[data-theme~=jooa11y-theme][role=tooltip] { all: unset; box-sizing: border-box; -webkit-animation: inherit; animation: inherit; } .tippy-box[data-theme~=jooa11y-theme][role=tooltip][data-animation=fade][data-state=hidden] { opacity: 0; } .tippy-box[data-theme~=jooa11y-theme][data-inertia][data-state=visible] { transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11); } /* Tooltip content */ .tippy-box[data-theme~=jooa11y-theme] * { font-family: var(--jooa11y-font-face); line-height: 22px; -webkit-font-smoothing: auto; letter-spacing: unset; } .tippy-box[data-theme~=jooa11y-theme][role=tooltip], .tippy-box[data-theme~=jooa11y-theme] { display: block; padding: 8px; font-weight: normal; color: var(--jooa11y-panel-primary); background-color: var(--jooa11y-panel-bg); border-radius: 4px; outline: 0; box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15); transition-property: visibility, opacity, -webkit-transform; transition-property: transform, visibility, opacity; transition-property: transform, visibility, opacity, -webkit-transform; } .tippy-box[data-theme~=jooa11y-theme] *:not(.jooa11y-header-text):not(.jooa11y-bold) { font-size: var(--jooa11y-normal-text); } .tippy-box[data-theme~=jooa11y-theme] ul { padding: 5px 10px 0 20px; margin: 0; } .tippy-box[data-theme~=jooa11y-theme] li { padding-bottom: 5px; } .tippy-box[data-theme~=jooa11y-theme] a { color: var(--jooa11y-hyperlink); text-decoration: underline; } .tippy-box[data-theme~=jooa11y-theme] a:hover, .tippy-box[data-theme~=jooa11y-theme] a:focus { text-decoration: none; } /* Arrows */ .tippy-box[data-theme~=jooa11y-theme][data-placement^=top] > .tippy-arrow::before { border-top-color: var(--jooa11y-panel-bg); } .tippy-box[data-theme~=jooa11y-theme][data-placement^=bottom] > .tippy-arrow::before { border-bottom-color: var(--jooa11y-panel-bg); } .tippy-box[data-theme~=jooa11y-theme][data-placement^=left] > .tippy-arrow::before { border-left-color: var(--jooa11y-panel-bg); } .tippy-box[data-theme~=jooa11y-theme][data-placement^=right] > .tippy-arrow::before { border-right-color: var(--jooa11y-panel-bg); } /*----------------------------------------------------------------------- Jooa11y: the accessibility quality assurance assistant. License: "GPL-2.0-or-later" Copyright Open Source Matters, Inc Jooa11y began as a vanilla js fork of the Sa11y library Author: Development led by Adam Chaboryk at Ryerson University. All acknowledgements and contributors: https://github.com/ryersondmp/sa11y License: "GPL-2.0-or-later" Copyright (c) 2020 - 2022 Ryerson University The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ------------------------------------------------------------------------*/