/* ======================================================================== * Frosty.js * https://owensbla.github.com/frosty * by Blake Owens (http://blakeowens.com/) * ======================================================================== */ .bsf-has-tip, .has-tip { cursor: help; } .tip { background-color: black; background-color: rgba(0, 0, 0, 0.8); color: #eeeeee; font-size: 11px; line-height: 1.5em; max-width: 200px; padding: 4px 8px; } .tip.success { background-color: #47fe42; background-color: rgba(71, 254, 66, 0.8); color: #025600; } .tip.error { background-color: #ff7f86; background-color: rgba(255, 127, 134, 0.8); color: #7f0006; } .tip.light { background-color: #ebebeb; background-color: rgba(235, 235, 235, 0.8); color: #222222; } .tip[class*="arrow"]:before { content: ' '; position: absolute; border: solid transparent; width: 0px; height: 0px; border-width: 5px; border-color: black; border-color: rgba(0, 0, 0, 0.8); } .success[class*="arrow"]:before { border-color: #47fe42; border-color: rgba(71, 254, 66, 0.8); } .error[class*="arrow"]:before { border-color: #ff7f86; border-color: rgba(255, 127, 134, 0.8); } .light[class*="arrow"]:before { border-color: #ebebeb; border-color: rgba(235, 235, 235, 0.8); } .tip.arrow-right:before { border-right-color: transparent; border-top-color: transparent; border-bottom-color: transparent; margin-top: -5px; top: 50%; left: 100%; } .tip.arrow-left:before { border-left-color: transparent; border-top-color: transparent; border-bottom-color: transparent; margin-top: -5px; top: 50%; right: 100%; } .tip.arrow-top:before { border-top-color: transparent; border-left-color: transparent; border-right-color: transparent; margin-left: -5px; bottom: 100%; left: 50%; } .tip.arrow-bottom:before { border-bottom-color: transparent; border-left-color: transparent; border-right-color: transparent; margin-left: -5px; top: 100%; left: 50%; } /* Customizer Tooltip */ .customize-support .tip { background-color: rgba(0, 148, 221, 0.95); color: #FFF; font-size: 13px; line-height: 1.5em; max-width: 200px; padding: 5px 11px; border: 1px solid #0094DD; border-radius: 1px; } .customize-support .tip[class*="arrow"]:before { border-width: 5px; border-color: #0094DD; border-color: rgba(0, 148, 221, 0.95); } .customize-support .tip.arrow-right:before { border-right-color: transparent; border-top-color: transparent; border-bottom-color: transparent; margin-top: -5px; top: 50%; left: 100%; } .customize-support .tip.arrow-left:before { border-left-color: transparent; border-top-color: transparent; border-bottom-color: transparent; margin-top: -5px; top: 50%; right: 100%; } .customize-support .tip.arrow-top:before { border-top-color: transparent; border-left-color: transparent; border-right-color: transparent; margin-left: -5px; bottom: 100%; left: 50%; } .customize-support .tip.arrow-bottom:before { border-bottom-color: transparent; border-left-color: transparent; border-right-color: transparent; margin-left: -5px; top: 100%; left: 50%; } /*---close button tooltip--------*/ .tip[class*="close-tip-content"]{ border-radius:7px; max-width:300px; padding: 15px 30px; } .tip[class*="close-tip-content"]:before{ border-width: 8px!important; margin-top: -8px!important; } .tip[class*="close-tip-content"][class*="arrow-bottom"]{ /* margin-top:-10px; */ } .tip[class*="close-tip-content"][class*="arrow-bottom"]:before{ margin-top: -1px!important; } .tip[class*="close-tip-content"][class*="arrow-right"]:before { left: 100%; left: calc(100% - 1px); } .cp-innertip.tip[class*="close-tip-content"][class*="arrow"]{ margin-top: 30px!important; } @media (max-width:768px) { .tip[class*="close-tip-content"]{ border-radius:7px; max-width:200px; padding: 5px 20px; } } @media (max-width:610px) { .tip[class*="close-tip-content"]{ max-width:170px; } } /* Focus Management Styles - WCAG 2.1 Compliance */ /* Added for keyboard accessibility and screen reader support */ /* Button Focus Styles */ .hvac-button:focus, .hvac-content .button:focus, .hvac-content button:focus, .hvac-content input[type="submit"]:focus, .hvac-email-submit:focus, .hvac-filter-submit:focus, .hvac-certificate-actions button:focus, .hvac-certificate-actions a:focus { outline: 2px solid #005fcc; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); border-radius: 4px; } /* Input Focus Styles */ .hvac-form-input:focus, .hvac-content input[type="text"]:focus, .hvac-content input[type="email"]:focus, .hvac-content input[type="password"]:focus, .hvac-content input[type="url"]:focus, .hvac-content textarea:focus, .hvac-content select:focus, .hvac-email-form-row input:focus, .hvac-email-form-row textarea:focus, .hvac-filter-group input:focus, .hvac-filter-group select:focus { outline: 2px solid #005fcc; outline-offset: 2px; border-color: #005fcc; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); } /* Link Focus Styles */ .hvac-content a:focus, .hvac-event-link:focus, .hvac-certificate-link:focus, .hvac-attendee-profile-icon:focus, .hvac-dashboard-nav a:focus, .hvac-email-navigation a:focus { outline: 2px solid #005fcc; outline-offset: 2px; text-decoration: underline; background-color: rgba(0, 95, 204, 0.1); border-radius: 2px; } /* Interactive Element Focus Styles */ .hvac-attendee-checkbox:focus, .hvac-select-all-container input[type="checkbox"]:focus, .hvac-modal-close:focus, .hvac-certificate-table tr:focus { outline: 2px solid #005fcc; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); } /* High Contrast Mode Support */ @media (prefers-contrast: high) { .hvac-content *:focus { outline: 3px solid #000000; outline-offset: 2px; background-color: #ffff00; color: #000000; } } /* Focus-visible polyfill support */ /* Reset focus for mouse users while preserving keyboard accessibility */ .js-focus-visible :focus:not(.focus-visible) { outline: none; box-shadow: none; } /* Ensure focus is visible for keyboard users */ .js-focus-visible .focus-visible { outline: 2px solid #005fcc; outline-offset: 2px; }