/* ================================================================
   ACCESSIBILITY
   ================================================================ */


/* ================================================================
   VISUALLY HIDDEN
   ================================================================ */

.a11y-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}


/* ================================================================
   WIDGET ROOT
   ================================================================ */

.a11y-widget {
    --a11y-widget-navy: #071a2f;
    --a11y-widget-blue: #0871b9;
    --a11y-widget-blue-dark: #075f9c;
    --a11y-widget-gold: #d8ad4a;
    --a11y-widget-text: #172033;
    --a11y-widget-muted: #647386;
    --a11y-widget-border: #d4dfe8;
    --a11y-widget-soft: #f3f7fa;

    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 10000;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


/* ================================================================
   TOGGLE BUTTON
   ================================================================ */

.a11y-widget__toggle {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 3.5rem;
    height: 3.5rem;

    margin-left: auto;
    padding: 0;

    border: 0.14rem solid #ffffff;
    border-radius: 50%;

    color: #ffffff;
    background: var(--a11y-widget-blue);

    box-shadow:
        0 0.7rem 1.8rem rgb(7 26 47 / 24%),
        0 0 0 1px rgb(7 26 47 / 10%);

    cursor: pointer;
}

.a11y-widget__toggle:hover {
    background: var(--a11y-widget-blue-dark);
}

.a11y-widget__toggle:focus-visible {
    outline: 0.22rem solid var(--a11y-widget-gold);
    outline-offset: 0.2rem;
}

.a11y-widget__toggle-icon {
    font-size: 1.55rem;
    line-height: 1;
}


/* ================================================================
   PANEL
   ================================================================ */

.a11y-widget__panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.75rem);

    width: min(23rem, calc(100vw - 2rem));

    overflow: hidden;

    border: 1px solid var(--a11y-widget-border);
    border-radius: 0.85rem;

    color: var(--a11y-widget-text);
    background: #ffffff;

    box-shadow:
        0 1.3rem 4rem rgb(7 26 47 / 22%),
        0 0 0 1px rgb(7 26 47 / 4%);
}

.a11y-widget__panel[hidden] {
    display: none;
}


/* ================================================================
   PANEL HEADER
   ================================================================ */

.a11y-widget__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 1rem;

    padding: 1rem 1rem 0.9rem;

    border-bottom: 1px solid var(--a11y-widget-border);

    background: #ffffff;
}

.a11y-widget__eyebrow {
    display: block;

    margin-bottom: 0.15rem;

    color: var(--a11y-widget-blue);

    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.a11y-widget__title {
    margin: 0;

    color: var(--a11y-widget-navy);

    font-size: 1.1rem;
    font-weight: 850;
    line-height: 1.2;
}

.a11y-widget__close {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;

    width: 2rem;
    height: 2rem;

    padding: 0;

    border: 1px solid var(--a11y-widget-border);
    border-radius: 0.4rem;

    color: #42566b;
    background: #ffffff;

    font: inherit;
    font-size: 1.35rem;
    line-height: 1;

    cursor: pointer;
}

.a11y-widget__close:hover {
    color: #ffffff;
    background: var(--a11y-widget-navy);
}

.a11y-widget__close:focus-visible {
    outline: 0.18rem solid var(--a11y-widget-gold);
    outline-offset: 0.15rem;
}


/* ================================================================
   PANEL BODY
   ================================================================ */

.a11y-widget__body {
    padding: 1rem;
}


/* ================================================================
   TEXT SIZE CONTROL
   ================================================================ */

.a11y-widget__text-size {
    margin-bottom: 0.8rem;
    padding: 0.75rem;

    border: 1px solid var(--a11y-widget-border);
    border-radius: 0.55rem;

    background: var(--a11y-widget-soft);
}

.a11y-widget__group-label {
    display: block;

    margin-bottom: 0.55rem;

    color: #354b61;

    font-size: 0.68rem;
    font-weight: 800;
}

.a11y-widget__size-controls {
    display: grid;
    grid-template-columns: 2.7rem 1fr 2.7rem;

    align-items: center;

    gap: 0.45rem;
}

.a11y-widget__size-value {
    color: var(--a11y-widget-navy);

    font-size: 0.78rem;
    font-weight: 850;

    text-align: center;
}


/* ================================================================
   OPTION GRID
   ================================================================ */

.a11y-widget__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 0.45rem;
}


/* ================================================================
   CONTROL BUTTON
   ================================================================ */

.a11y-control {
    display: flex;

    min-width: 0;
    min-height: 4rem;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 0.32rem;

    padding: 0.6rem 0.5rem;

    border: 1px solid var(--a11y-widget-border);
    border-radius: 0.5rem;

    color: #30465c;
    background: #ffffff;

    font: inherit;
    font-size: 0.65rem;
    font-weight: 750;
    line-height: 1.3;

    text-align: center;

    cursor: pointer;
}

.a11y-control:hover {
    border-color: #9db9cc;
    background: #f6fafc;
}

.a11y-control[aria-pressed="true"] {
    border-color: var(--a11y-widget-blue);

    color: #075f9c;
    background: #eaf6fc;

    box-shadow:
        inset 0 0 0 1px
        rgb(8 113 185 / 8%);
}

.a11y-control:focus-visible {
    outline: 0.18rem solid var(--a11y-widget-gold);
    outline-offset: 0.13rem;
}

.a11y-control:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.a11y-control__icon {
    color: var(--a11y-widget-blue);

    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}

.a11y-control--compact {
    min-height: 2.35rem;

    padding: 0.35rem;

    font-size: 0.8rem;
}


/* ================================================================
   RESET BUTTON
   ================================================================ */

.a11y-widget__reset {
    width: 100%;
    min-height: 2.45rem;

    margin-top: 0.75rem;
    padding: 0.55rem 0.7rem;

    border: 1px solid #c8d4de;
    border-radius: 0.48rem;

    color: #344b60;
    background: #ffffff;

    font: inherit;
    font-size: 0.68rem;
    font-weight: 800;

    cursor: pointer;
}

.a11y-widget__reset:hover {
    border-color: #9eb0bf;
    background: #f5f7f9;
}

.a11y-widget__reset:focus-visible {
    outline: 0.18rem solid var(--a11y-widget-gold);
    outline-offset: 0.13rem;
}


/* ================================================================
   PANEL FOOTER
   ================================================================ */

.a11y-widget__footer {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 0.22rem;

    padding: 0.55rem 0.7rem;

    border-top: 1px solid var(--a11y-widget-border);

    color: #71808e;
    background: #f7f9fb;

    font-size: 0.55rem;
}

.a11y-widget__footer kbd {
    padding: 0.12rem 0.3rem;

    border: 1px solid #bcc8d1;
    border-bottom-width: 2px;
    border-radius: 0.25rem;

    color: #354b5f;
    background: #ffffff;

    font: inherit;
    font-weight: 800;
}


/* ================================================================
   TEXT SIZE
   ================================================================ */

html.a11y-text-size {
    font-size: var(--a11y-font-size, 100%) !important;
}


/* ================================================================
   TEXT SPACING
   ================================================================ */

html.a11y-text-spacing body :where(
    p,
    li,
    dt,
    dd,
    label,
    input,
    textarea,
    select,
    button
) {
    letter-spacing: 0.06em !important;
    word-spacing: 0.12em !important;
}


/* ================================================================
   LINE HEIGHT
   ================================================================ */

html.a11y-line-height body :where(
    p,
    li,
    dt,
    dd,
    blockquote
) {
    line-height: 1.9 !important;
}


/* ================================================================
   READABLE FONT
   ================================================================ */

html.a11y-readable-font body,
html.a11y-readable-font button,
html.a11y-readable-font input,
html.a11y-readable-font textarea,
html.a11y-readable-font select {
    font-family:
        Arial,
        Verdana,
        Helvetica,
        sans-serif !important;
}


/* ================================================================
   HIGHLIGHT LINKS
   ================================================================ */

html.a11y-highlight-links body a {
    text-decoration: underline !important;
    text-decoration-thickness: 0.14rem !important;
    text-underline-offset: 0.2rem !important;
}

html.a11y-highlight-links body a:focus-visible {
    outline-width: 0.2rem !important;
}


/* ================================================================
   STRONG FOCUS
   ================================================================ */

html.a11y-strong-focus body :focus-visible {
    outline: 0.25rem solid #ffbf47 !important;
    outline-offset: 0.22rem !important;

    box-shadow:
        0 0 0 0.12rem
        #000000 !important;
}


/* ================================================================
   STOP ANIMATIONS
   ================================================================ */

html.a11y-stop-animations *,
html.a11y-stop-animations *::before,
html.a11y-stop-animations *::after {
    scroll-behavior: auto !important;

    animation-delay: 0s !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;

    transition-delay: 0s !important;
    transition-duration: 0.001ms !important;
}


/* ================================================================
   LARGE CURSOR
   ================================================================ */

html.a11y-large-cursor body,
html.a11y-large-cursor body * {
    cursor:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M4 2v24l6-6 4 9 4-2-4-9h9L4 2z' fill='%23ffffff' stroke='%23000000' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")
        4 2,
        auto !important;
}


/* ================================================================
   HIGH CONTRAST
   ================================================================ */

/*
   Bu bölüm accessibility.css dosyası içinde en kritik kısımdır.

   accessibility.css mutlaka bütün site/page CSS dosyalarından
   SONRA yüklenmelidir.
*/


/* ================================================================
   HIGH CONTRAST — GLOBAL VARIABLES
   ================================================================ */

html.a11y-high-contrast {
    color-scheme: dark;

    --color-page: #000000;
    --color-surface: #000000;
    --color-surface-soft: #000000;
    --color-surface-warm: #000000;

    --color-text: #ffffff;
    --color-text-soft: #ffffff;
    --color-text-light: #ffffff;

    --color-primary: #ffff00;
    --color-primary-dark: #00ffff;
    --color-primary-soft: #000000;

    --color-navy: #000000;
    --color-navy-light: #000000;
    --color-navy-soft: #000000;

    --color-gold: #ffff00;
    --color-gold-light: #ffff00;

    --color-border: #ffffff;
    --color-border-dark: #ffffff;

    --shadow-small: none;
    --shadow-medium: none;
    --shadow-large: none;
}


/* ================================================================
   HIGH CONTRAST — PAGE DETAIL VARIABLES
   ================================================================ */

html.a11y-high-contrast .page-detail {
    --page-navy: #ffffff;
    --page-blue: #00ffff;
    --page-blue-light: #00ffff;
    --page-gold: #ffff00;

    --page-text: #ffffff;
    --page-muted: #ffffff;

    --page-border: #ffffff;

    --page-surface: #000000;
    --page-surface-soft: #000000;
}


/* ================================================================
   HIGH CONTRAST — FOOTER VARIABLES
   ================================================================ */

html.a11y-high-contrast .site-footer {
    --footer-navy: #000000;
    --footer-navy-light: #000000;

    --footer-blue: #00ffff;
    --footer-blue-dark: #00ffff;

    --footer-gold: #ffff00;

    --footer-white: #ffffff;

    --footer-text: #ffffff;
    --footer-text-soft: #ffffff;

    --footer-border: #ffffff;

    --footer-surface: #000000;
    --footer-surface-hover: #000000;
}


/* ================================================================
   HIGH CONTRAST — BODY
   ================================================================ */

html.a11y-high-contrast body {
    color: #ffffff !important;
    background: #000000 !important;
}


/* ================================================================
   HIGH CONTRAST — ALL CONTENT SURFACES
   ================================================================ */

/*
   Projede çok sayıda bölüm doğrudan:
       background: #fff;
       background: #f5f5f5;

   kullandığı için yalnızca CSS değişkenlerini değiştirmek
   yeterli değildir.

   Div dahil içerik yüzeylerini siyaha çekiyoruz.
   Görsellere dokunmuyoruz.
*/

html.a11y-high-contrast body :where(
    main,
    section,
    article,
    aside,
    header,
    footer,
    nav,
    fieldset,
    div
):not(.a11y-widget__toggle) {
    color: #ffffff !important;

    background-color: #000000 !important;
    background-image: none !important;

    box-shadow: none !important;
    text-shadow: none !important;
}


/* ================================================================
   HIGH CONTRAST — IMPORTANT CARDS / SURFACES
   ================================================================ */

html.a11y-high-contrast body :where(
    .site-header,

    .home-hero,
    .home-statistics,
    .home-statistic,

    .home-section,

    .home-about,
    .home-about-grid,
    .home-about-heading,
    .home-about-content,

    .home-period-media,
    .home-period-media-grid,
    .home-period-media-content,
    .home-period-media-visual,
    .home-period-logo,
    .home-period-placeholder,

    .home-process,
    .home-process-grid,
    .home-process-item,

    .home-categories,
    .home-categories__inner,
    .home-category,
    .home-category-grid,
    .home-category-card,

    .home-featured-post,
    .home-featured-grid,
    .home-featured-content,
    .home-featured-media,
    .home-featured-placeholder,

    .home-latest-posts,
    .home-post-grid,
    .home-post-card,
    .home-post-card-body,

    .home-past-periods,
    .home-past-period-grid,
    .home-past-period-card,

    .home-closing,
    .home-closing-inner,

    .page-detail,
    .page-detail__hero,
    .page-detail__content-section,
    .page-detail__content-container,
    .page-detail__article,

    .application-form-section,
    .application-form-shell,
    .application-form-heading,
    .application-form-card,
    .application-video-note,
    .application-submit,
    .application-result,
    .application-reference,
    .application-period-dates > div,

    .content-block,
    .content-blocks,
    .content-block__inner,
    .content-block__content,
    .content-block__media,
    .content-block-card,
    .home-content-block,
    .home-content-block__content,
    .home-content-block__media,

    .statistics-section,
    .statistics-grid,
    .statistics-card,

    .rich-content,
    .rich-text
) {
    border-color: #ffffff !important;

    color: #ffffff !important;

    background-color: #000000 !important;
    background-image: none !important;

    box-shadow: none !important;
}


/* ================================================================
   HIGH CONTRAST — GENERAL TEXT
   ================================================================ */

html.a11y-high-contrast body :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,

    p,
    li,

    dt,
    dd,

    strong,
    b,

    small,

    label,
    legend,

    figcaption,

    address
) {
    color: #ffffff !important;
    text-shadow: none !important;
}


/* ================================================================
   HIGH CONTRAST — HOME TEXT
   ================================================================ */

html.a11y-high-contrast body :where(
    .home-hero-title,

    .home-hero-description,

    .home-period-info-item strong,
    .home-period-info-item span,

    .home-section-heading h2,
    .home-section-heading > p,

    .home-about-heading h2,
    .home-about-content p,
    .home-about-content .home-about-lead,

    .home-period-media-content h2,
    .home-period-media-content > p,

    .home-process-item h3,
    .home-process-item p,

    .home-category-card h3,
    .home-category-card p,

    .home-featured-content h2,
    .home-featured-content p,

    .home-post-card h3,
    .home-post-card p,
    .home-post-card-meta,

    .home-past-period-card > span,

    .home-closing h2,

    .rich-content,
    .rich-content h2,
    .rich-content h3,
    .rich-content h4,
    .rich-content p,

    .page-detail__summary,

    .application-form-heading__description,
    .application-form-heading__required,
    .application-form-card__description,
    .application-field__help,
    .application-video-note p,
    .application-submit__text p,
    .application-result__text
) {
    color: #ffffff !important;
}


/* ================================================================
   HIGH CONTRAST — ACCENTS
   ================================================================ */

html.a11y-high-contrast body :where(
    .section-eyebrow,
    .home-eyebrow,

    .home-statistic strong,

    .home-category-card > span,

    .home-post-category,

    .page-detail__eyebrow,

    .application-form-heading__eyebrow,
    .application-result__eyebrow
) {
    color: #00ffff !important;
}


/* ================================================================
   HIGH CONTRAST — EYEBROW LINES
   ================================================================ */

html.a11y-high-contrast body :where(
    .section-eyebrow,
    .home-eyebrow,
    .page-detail__eyebrow
)::before {
    background: #ffff00 !important;
}


/* ================================================================
   HIGH CONTRAST — HERO
   ================================================================ */

html.a11y-high-contrast .home-hero {
    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .home-hero::before,
html.a11y-high-contrast .home-hero::after {
    border-color: #ffffff !important;
    background: transparent !important;
}

html.a11y-high-contrast .home-hero-title {
    color: #ffffff !important;
}

html.a11y-high-contrast .home-hero-title span {
    color: #ffff00 !important;
}

html.a11y-high-contrast .home-video-button {
    border-color: #ffff00 !important;

    color: #000000 !important;
    background: #ffff00 !important;
}

html.a11y-high-contrast .home-hero-media-link,
html.a11y-high-contrast .home-hero-media-static,
html.a11y-high-contrast .home-hero-logo-panel,
html.a11y-high-contrast .home-hero-placeholder {
    border: 2px solid #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .home-hero-media-link::after,
html.a11y-high-contrast .home-hero-media-static::after {
    background: transparent !important;
}


/* ================================================================
   HIGH CONTRAST — PROCESS
   ================================================================ */

html.a11y-high-contrast .home-process-grid,
html.a11y-high-contrast .home-process-item {
    border-color: #ffffff !important;
}

html.a11y-high-contrast .home-process-item > span {
    color: #ffff00 !important;
}


/* ================================================================
   HIGH CONTRAST — STATISTICS
   ================================================================ */

html.a11y-high-contrast .home-statistics {
    border-color: #ffffff !important;
}

html.a11y-high-contrast .home-statistic {
    border-color: #ffffff !important;
}

html.a11y-high-contrast .home-statistic strong {
    color: #00ffff !important;
}

html.a11y-high-contrast .home-statistic span {
    color: #ffffff !important;
}


/* ================================================================
   HIGH CONTRAST — LINKS
   ================================================================ */

html.a11y-high-contrast body a {
    color: #ffff00 !important;

    background-color: transparent !important;

    text-decoration: underline !important;
    text-decoration-thickness: 0.14rem !important;
    text-underline-offset: 0.2rem !important;
}

html.a11y-high-contrast body a:hover {
    color: #00ffff !important;
}


/* ================================================================
   HIGH CONTRAST — HEADER NAVIGATION
   ================================================================ */

html.a11y-high-contrast .main-navigation a {
    color: #ffff00 !important;
}

html.a11y-high-contrast .main-navigation a:hover {
    color: #00ffff !important;
}

html.a11y-high-contrast .main-navigation a::after {
    background: #ffff00 !important;
}

html.a11y-high-contrast .site-brand__text strong {
    color: #ffffff !important;
}

html.a11y-high-contrast .site-brand__text span {
    color: #00ffff !important;
}


/* ================================================================
   HIGH CONTRAST — BUTTONS
   ================================================================ */

html.a11y-high-contrast body :where(
    button,
    .button
):not(.a11y-widget__toggle) {
    border: 2px solid #ffff00 !important;

    color: #ffff00 !important;
    background: #000000 !important;
    background-image: none !important;

    box-shadow: none !important;

    text-decoration: none !important;
}

html.a11y-high-contrast body :where(
    button,
    .button
):not(.a11y-widget__toggle):hover {
    border-color: #ffff00 !important;

    color: #000000 !important;
    background: #ffff00 !important;
}

html.a11y-high-contrast body :where(
    button,
    .button
):not(.a11y-widget__toggle):hover * {
    color: #000000 !important;
}


/* ================================================================
   HIGH CONTRAST — FORM INPUTS
   ================================================================ */

html.a11y-high-contrast body :where(
    input,
    textarea,
    select
) {
    border: 2px solid #ffffff !important;

    color: #ffffff !important;

    background-color: #000000 !important;
    background-image: none !important;

    box-shadow: none !important;
}

html.a11y-high-contrast body :where(
    input,
    textarea
)::placeholder {
    color: #d9d9d9 !important;
    opacity: 1 !important;
}

html.a11y-high-contrast body select option {
    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast body :where(
    input[type="checkbox"],
    input[type="radio"]
) {
    accent-color: #ffff00 !important;
}


/* ================================================================
   HIGH CONTRAST — APPLICATION FORM
   ================================================================ */

html.a11y-high-contrast .application-form-card {
    border: 2px solid #ffffff !important;
}

html.a11y-high-contrast .application-form-card__legend {
    color: #ffffff !important;
}


/* ----------------------------------------------------------------
   Form numbers / badges
   ---------------------------------------------------------------- */

html.a11y-high-contrast body :where(
    .application-form-card__number,
    .application-form-heading__period,
    .status-badge,
    .period-badge
) {
    border: 2px solid #00ffff !important;

    color: #000000 !important;
    background: #00ffff !important;
}

html.a11y-high-contrast body :where(
    .application-form-card__number,
    .application-form-heading__period,
    .status-badge,
    .period-badge
) * {
    color: #000000 !important;
}


/* ----------------------------------------------------------------
   Video notes
   ---------------------------------------------------------------- */

html.a11y-high-contrast .application-video-note {
    border-top: 1px solid #ffffff !important;
    border-right: 1px solid #ffffff !important;
    border-bottom: 1px solid #ffffff !important;
    border-left: 0.3rem solid #00ffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .application-video-note > strong,
html.a11y-high-contrast .application-video-note p,
html.a11y-high-contrast .application-video-note p strong {
    color: #ffffff !important;
}


/* ----------------------------------------------------------------
   Submit
   ---------------------------------------------------------------- */

html.a11y-high-contrast .application-submit {
    border: 2px solid #ffffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .application-submit__text strong,
html.a11y-high-contrast .application-submit__text p {
    color: #ffffff !important;
}

html.a11y-high-contrast .application-submit__button {
    border: 2px solid #ffff00 !important;

    color: #000000 !important;
    background: #ffff00 !important;
}

html.a11y-high-contrast .application-submit__button:hover {
    border-color: #00ffff !important;

    color: #000000 !important;
    background: #00ffff !important;
}


/* ----------------------------------------------------------------
   Application errors
   ---------------------------------------------------------------- */

html.a11y-high-contrast .application-field__error {
    color: #ff9a9a !important;
}

html.a11y-high-contrast .application-form-message--error {
    border: 2px solid #ff9a9a !important;

    color: #ffffff !important;
    background: #500000 !important;
}

html.a11y-high-contrast .application-form-message--error strong,
html.a11y-high-contrast .application-form-message--error p {
    color: #ffffff !important;
}


/* ----------------------------------------------------------------
   Success / reference
   ---------------------------------------------------------------- */

html.a11y-high-contrast .application-reference {
    border: 2px solid #00ff00 !important;

    color: #00ff00 !important;
    background: #000000 !important;
}

html.a11y-high-contrast .application-reference__label,
html.a11y-high-contrast .application-reference__value {
    color: #00ff00 !important;
}

html.a11y-high-contrast .application-result__icon {
    border: 2px solid #00ffff !important;

    color: #000000 !important;
    background: #00ffff !important;
}


/* ================================================================
   HIGH CONTRAST — RICH CONTENT
   ================================================================ */

html.a11y-high-contrast body :where(
    .rich-content,
    .rich-text
) {
    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast body :where(
    .rich-content,
    .rich-text
) :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    li,
    strong,
    blockquote
) {
    color: #ffffff !important;
}

html.a11y-high-contrast body :where(
    .rich-content blockquote,
    .rich-text blockquote,
    .content-note
) {
    border-color: #00ffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}


/* ================================================================
   HIGH CONTRAST — TABLES
   ================================================================ */

html.a11y-high-contrast body :where(
    table,
    thead,
    tbody,
    tr,
    th,
    td
) {
    border-color: #ffffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast body th {
    font-weight: 900;
}


/* ================================================================
   HIGH CONTRAST — FOOTER
   ================================================================ */

html.a11y-high-contrast .site-footer {
    color: #ffffff !important;

    background: #000000 !important;
    background-image: none !important;
}

html.a11y-high-contrast .site-footer::before {
    background: #ffff00 !important;
}

html.a11y-high-contrast .site-footer :where(
    .footer-description,
    .footer-description p,
    .footer-coordination,
    .footer-column h2,
    .footer-address,
    .footer-bottom p
) {
    color: #ffffff !important;
}

html.a11y-high-contrast .site-footer .footer-brand__text > span,
html.a11y-high-contrast .site-footer .footer-contact-label {
    color: #00ffff !important;
}

html.a11y-high-contrast .site-footer .footer-column h2::after {
    background: #00ffff !important;
}


/* ----------------------------------------------------------------
   Footer links
   ---------------------------------------------------------------- */

html.a11y-high-contrast .site-footer .footer-links a {
    border: 1px solid #ffffff !important;

    color: #ffff00 !important;
    background: #000000 !important;
}

html.a11y-high-contrast .site-footer .footer-link-icon,
html.a11y-high-contrast .site-footer .footer-contact-icon {
    border-color: #00ffff !important;

    color: #00ffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .site-footer .footer-contact {
    color: #ffff00 !important;
}

html.a11y-high-contrast .site-footer .social-links a {
    border: 2px solid #ffff00 !important;

    color: #ffff00 !important;
    background: #000000 !important;
}

html.a11y-high-contrast .site-footer .social-links a:hover {
    color: #000000 !important;
    background: #ffff00 !important;
}

html.a11y-high-contrast .site-footer .footer-bottom {
    border-color: #ffffff !important;

    background: #000000 !important;
}


/* ================================================================
   HIGH CONTRAST — SWEETALERT
   ================================================================ */

html.a11y-high-contrast .swal2-popup {
    border: 2px solid #ffffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .swal2-title,
html.a11y-high-contrast .swal2-html-container {
    color: #ffffff !important;
}

html.a11y-high-contrast .swal2-confirm {
    border: 2px solid #ffff00 !important;

    color: #000000 !important;
    background: #ffff00 !important;
}

html.a11y-high-contrast .swal2-cancel {
    border: 2px solid #ffffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}


/* ================================================================
   HIGH CONTRAST — FOCUS
   ================================================================ */

html.a11y-high-contrast body :where(
    a,
    button,
    input,
    textarea,
    select,
    [tabindex]
):focus-visible {
    outline: 0.25rem solid #00ffff !important;
    outline-offset: 0.22rem !important;

    box-shadow: none !important;
}


/* ================================================================
   HIGH CONTRAST — MEDIA
   ================================================================ */

html.a11y-high-contrast body :where(
    img,
    svg,
    video,
    iframe
) {
    filter: none !important;
}


/* ================================================================
   HIGH CONTRAST — DECORATIVE ELEMENTS
   ================================================================ */

html.a11y-high-contrast body * {
    text-shadow: none !important;
}

html.a11y-high-contrast .page-detail__hero::after {
    background: #ffff00 !important;
}

html.a11y-high-contrast .page-detail__eyebrow::before {
    background: #00ffff !important;
}


/* ================================================================
   ACCESSIBILITY WIDGET IN HIGH CONTRAST
   ================================================================ */

html.a11y-high-contrast .a11y-widget__panel,
html.a11y-high-contrast .a11y-widget__header,
html.a11y-high-contrast .a11y-widget__body,
html.a11y-high-contrast .a11y-widget__footer,
html.a11y-high-contrast .a11y-widget__text-size {
    border-color: #ffffff !important;

    color: #ffffff !important;
    background: #000000 !important;
    background-image: none !important;

    box-shadow: none !important;
}

html.a11y-high-contrast .a11y-widget__title,
html.a11y-high-contrast .a11y-widget__group-label,
html.a11y-high-contrast .a11y-widget__size-value,
html.a11y-high-contrast .a11y-widget__footer,
html.a11y-high-contrast .a11y-widget__footer span {
    color: #ffffff !important;
}

html.a11y-high-contrast .a11y-widget__eyebrow {
    color: #00ffff !important;
}

html.a11y-high-contrast .a11y-widget__footer kbd {
    border-color: #ffffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}


/* ----------------------------------------------------------------
   Widget controls
   ---------------------------------------------------------------- */

html.a11y-high-contrast .a11y-control,
html.a11y-high-contrast .a11y-widget__reset,
html.a11y-high-contrast .a11y-widget__close {
    border: 2px solid #ffffff !important;

    color: #ffffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .a11y-control:hover,
html.a11y-high-contrast .a11y-widget__reset:hover,
html.a11y-high-contrast .a11y-widget__close:hover {
    border-color: #00ffff !important;

    color: #00ffff !important;
    background: #000000 !important;
}

html.a11y-high-contrast .a11y-control__icon {
    color: #00ffff !important;
}


/* ----------------------------------------------------------------
   Active widget control
   ---------------------------------------------------------------- */

html.a11y-high-contrast .a11y-control[aria-pressed="true"] {
    border-color: #ffff00 !important;

    color: #000000 !important;
    background: #ffff00 !important;
}

html.a11y-high-contrast .a11y-control[aria-pressed="true"] span {
    color: #000000 !important;
}


/* ----------------------------------------------------------------
   Widget toggle
   ---------------------------------------------------------------- */

html.a11y-high-contrast .a11y-widget__toggle {
    border: 2px solid #ffff00 !important;

    color: #000000 !important;
    background: #ffff00 !important;
}

html.a11y-high-contrast .a11y-widget__toggle-icon {
    color: #000000 !important;
}


/* ================================================================
   SYSTEM REDUCED MOTION
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
    html:not(.a11y-stop-animations) *,
    html:not(.a11y-stop-animations) *::before,
    html:not(.a11y-stop-animations) *::after {
        scroll-behavior: auto !important;

        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;

        transition-duration: 0.001ms !important;
    }
}


/* ================================================================
   MOBILE
   ================================================================ */

@media (max-width: 520px) {
    .a11y-widget {
        right: 0.8rem;
        bottom: 0.8rem;
    }

    .a11y-widget__toggle {
        width: 3.2rem;
        height: 3.2rem;
    }

    .a11y-widget__panel {
        position: fixed;

        right: 0.75rem;
        bottom: 4.7rem;
        left: 0.75rem;

        width: auto;
        max-height: calc(100dvh - 6rem);

        overflow-y: auto;
    }

    .a11y-widget__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* ================================================================
   VERY SMALL SCREENS
   ================================================================ */

@media (max-width: 350px) {
    .a11y-widget__grid {
        grid-template-columns: 1fr;
    }
}


/* ================================================================
   FORCED COLORS
   ================================================================ */

@media (forced-colors: active) {
    .a11y-widget__toggle,
    .a11y-widget__panel,
    .a11y-control,
    .a11y-widget__reset,
    .a11y-widget__close {
        border-color: ButtonText;
    }

    .a11y-control[aria-pressed="true"] {
        border-color: Highlight;
    }
}