#wpforms-builder-overlay { background: radial-gradient(50% 50% at 50% 50%, #f8f8f8 37.5%, #e8e8e8 100%); cursor: default; height: 100%; min-width: 0; overflow: hidden; position: fixed; z-index: 100; top: 0; right: 0; bottom: 0; left: 0; transition-property: opacity; transition-duration: 0.5s; transition-timing-function: ease-out; display: flex; flex-direction: column; justify-content: center; align-items: center; } #wpforms-builder-overlay.fade-out { opacity: 0; } .wpforms-builder-overlay-content { text-align: center; position: relative; height: 100px; width: 100px; } .wpforms-builder-overlay-content i { display: block; position: absolute; left: 0; top: 0; } .wpforms-builder-overlay-content i.spinner { background-image: url("../../images/builder/loading-spinner.svg"); border-radius: 50%; height: 100px; width: 100px; -webkit-animation: wpforms-spinner-rotation 0.8s linear infinite; -moz-animation: wpforms-spinner-rotation 0.8s linear infinite; -ms-animation: wpforms-spinner-rotation 0.8s linear infinite; -o-animation: wpforms-spinner-rotation 0.8s linear infinite; animation: wpforms-spinner-rotation 0.8s linear infinite; } .wpforms-builder-overlay-content i.avatar { background-color: #ffffff; background-image: url("../../images/builder/loading-avatar.svg"); border-radius: 50%; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); height: 80px; margin: 10px; width: 80px; } @keyframes wpforms-spinner-rotation { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* 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; }