.slick-lightbox { position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: 100%; background: black; -webkit-transition: opacity 0.5s ease; transition: opacity 0.5s ease } .slick-lightbox .slick-loading .slick-list { background-color: transparent } .slick-lightbox .slick-prev { left: 15px } .slick-lightbox .slick-next { right: 15px } .slick-lightbox-hide { opacity: 0 } .slick-lightbox-hide.slick-lightbox-ie { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0) } .slick-lightbox-hide-init { position: absolute; top: -9999px; opacity: 0 } .slick-lightbox-hide-init.slick-lightbox-ie { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0) } .slick-lightbox-inner { position: fixed; top: 0; left: 0; width: 100%; height: 100% } .slick-lightbox-slick-item { text-align: center; overflow: hidden } .slick-lightbox-slick-item:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em } .slick-caption-bottom .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption { position: absolute; bottom: 0; left: 0; text-align: center; width: 100%; margin-bottom: 20px } .slick-caption-dynamic .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption { display: block; text-align: center } .slick-lightbox-slick-item-inner { display: inline-block; vertical-align: middle; max-width: 90%; max-height: 90% } .slick-lightbox-slick-img { margin: 0 auto; display: block; max-width: 90%; max-height: 90% } .slick-lightbox-slick-caption { margin: 10px 0 0; color: white } .slick-lightbox-close { position: absolute; top: 30px; right: 15px; display: block; height: 20px; width: 20px; line-height: 0; font-size: 0; cursor: pointer; background: transparent; color: transparent; padding: 0; border: none } .slick-lightbox-close:focus { outline: none } .slick-lightbox-close:before { font-family: "slick"; font-size: 20px; line-height: 1; color: white; opacity: 0.85; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: '×' } /* 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; }