/* Global WCAG 2.2 support shared by the theme's modern and legacy views. */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
    scroll-padding-bottom: 90px;
}

body {
    overflow-wrap: break-word;
}

::placeholder {
    color: #536d85 !important;
    opacity: 1;
}

:target,
[tabindex="-1"] {
    scroll-margin-top: 110px;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.screen-reader-text:focus,
.skip-link:focus {
    position: fixed !important;
    z-index: 100000 !important;
    top: 12px !important;
    left: 12px !important;
    width: auto !important;
    height: auto !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    border: 2px solid #fff !important;
    border-radius: 8px;
    color: #fff !important;
    background: #003f7d !important;
    box-shadow: 0 0 0 3px #ffb000, 0 6px 18px rgba(0, 0, 0, .25) !important;
    font: 700 16px/1.25 Roboto, Arial, sans-serif !important;
    text-decoration: none !important;
}

:where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 3px solid #ffb000 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 5px #003f7d !important;
}

:where(button, input[type="button"], input[type="submit"], input[type="reset"], select, summary) {
    min-height: 24px;
}

:where(.entry-content, .cfr-page-content, .cfr-media-single-content, .cfr-jobs-single-section__body) a:not([class]) {
    text-decoration: underline;
    text-decoration-thickness: .09em;
    text-underline-offset: .16em;
}

.cfr-table-scroll {
    max-width: 100%;
    overflow: auto;
    margin-block: 1rem;
    border-radius: 4px;
    -webkit-overflow-scrolling: touch;
}

.cfr-table-scroll > table {
    min-width: 100%;
    margin: 0;
}

[aria-busy="true"] {
    cursor: progress;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

@media (prefers-contrast: more) {
    :where(a[href], button, input, select, textarea) {
        border-color: currentColor;
    }
}

@media (forced-colors: active) {
    :where(a[href], button, input, select, textarea, summary):focus-visible {
        outline: 3px solid Highlight !important;
        box-shadow: none !important;
    }

    .cfr-icon {
        forced-color-adjust: auto;
    }
}

@media (max-width: 480px) {
    body {
        word-break: normal;
    }
}
