html.a11y-on body,
body.a11y-on {
    font-size: 18px;
}

html.a11y-on h1,
html.a11y-on h2,
html.a11y-on h3,
body.a11y-on h1,
body.a11y-on h2,
body.a11y-on h3 {
    line-height: 1.2;
    letter-spacing: 0;
}

html.a11y-on h1,
body.a11y-on h1 {
    font-size: 3.2em;
}

html.a11y-on h2,
body.a11y-on h2 {
    font-size: 2.35em;
}

html.a11y-on h3,
body.a11y-on h3 {
    font-size: 1.3em;
}

html.a11y-on .hero,
html.a11y-on .section,
html.a11y-on .site-footer,
body.a11y-on .hero,
body.a11y-on .section,
body.a11y-on .site-footer {
    background-image: none;
}

html.a11y-on .feature-strip,
html.a11y-on .advantage-card,
html.a11y-on .bilingual-card,
html.a11y-on .parents-message,
html.a11y-on .visit-card,
html.a11y-on .map-card,
html.a11y-on .legal-page__container,
body.a11y-on .feature-strip,
body.a11y-on .advantage-card,
body.a11y-on .bilingual-card,
body.a11y-on .parents-message,
body.a11y-on .visit-card,
body.a11y-on .map-card,
body.a11y-on .legal-page__container {
    box-shadow: none;
}

html.a11y-on .advantage-card,
html.a11y-on .bilingual-card,
body.a11y-on .advantage-card,
body.a11y-on .bilingual-card {
    min-height: 0;
}

html.a11y-on .advantage-card p,
html.a11y-on .bilingual-card p,
body.a11y-on .advantage-card p,
body.a11y-on .bilingual-card p {
    font-size: 1em;
}

html.text-small body,
body.text-small {
    font-size: 16px;
}

html.text-normal body,
body.text-normal {
    font-size: 18px;
}

html.text-large body,
body.text-large {
    font-size: 22px;
}

html.text-xlarge body,
body.text-xlarge {
    font-size: 26px;
}

html.text-large .desktop-nav a,
html.text-xlarge .desktop-nav a,
body.text-large .desktop-nav a,
body.text-xlarge .desktop-nav a {
    font-size: 0.58em;
}

html.scheme-white body,
html.scheme-white .hero,
html.scheme-white .section,
html.scheme-white .nav-shell,
html.scheme-white .feature-strip,
html.scheme-white .advantage-card,
html.scheme-white .bilingual-card,
html.scheme-white .bilingual-card__body,
html.scheme-white .map-card,
html.scheme-white .legal-page,
html.scheme-white .legal-page__container,
body.scheme-white,
body.scheme-white .hero,
body.scheme-white .section,
body.scheme-white .nav-shell,
body.scheme-white .feature-strip,
body.scheme-white .advantage-card,
body.scheme-white .bilingual-card,
body.scheme-white .bilingual-card__body,
body.scheme-white .map-card,
body.scheme-white .legal-page,
body.scheme-white .legal-page__container {
    border-color: #000 !important;
    color: #000 !important;
    background: #fff !important;
}

html.scheme-white .parents-message,
html.scheme-white .visit-card,
html.scheme-white .site-footer,
html.scheme-white .topbar,
body.scheme-white .parents-message,
body.scheme-white .visit-card,
body.scheme-white .site-footer,
body.scheme-white .topbar {
    color: #000 !important;
    background: #fff !important;
}

html.scheme-black body,
html.scheme-black .hero,
html.scheme-black .section,
html.scheme-black .nav-shell,
html.scheme-black .feature-strip,
html.scheme-black .advantage-card,
html.scheme-black .bilingual-card,
html.scheme-black .bilingual-card__body,
html.scheme-black .parents-message,
html.scheme-black .visit-card,
html.scheme-black .visit-form,
html.scheme-black .map-card,
html.scheme-black .site-footer,
html.scheme-black .topbar,
html.scheme-black .legal-page,
html.scheme-black .legal-page__container,
body.scheme-black,
body.scheme-black .hero,
body.scheme-black .section,
body.scheme-black .nav-shell,
body.scheme-black .feature-strip,
body.scheme-black .advantage-card,
body.scheme-black .bilingual-card,
body.scheme-black .bilingual-card__body,
body.scheme-black .parents-message,
body.scheme-black .visit-card,
body.scheme-black .visit-form,
body.scheme-black .map-card,
body.scheme-black .site-footer,
body.scheme-black .topbar,
body.scheme-black .legal-page,
body.scheme-black .legal-page__container {
    border-color: #fff !important;
    color: #fff !important;
    background: #000 !important;
}

html.scheme-black input,
html.scheme-black select,
html.scheme-black .speech-actions button,
html.scheme-black .button--secondary,
html.scheme-black .button--light,
body.scheme-black input,
body.scheme-black select,
body.scheme-black .speech-actions button,
body.scheme-black .button--secondary,
body.scheme-black .button--light {
    border: 2px solid #fff !important;
    color: #fff !important;
    background: #000 !important;
}

html.scheme-yellow body,
html.scheme-yellow .hero,
html.scheme-yellow .section,
html.scheme-yellow .nav-shell,
html.scheme-yellow .feature-strip,
html.scheme-yellow .advantage-card,
html.scheme-yellow .bilingual-card,
html.scheme-yellow .bilingual-card__body,
html.scheme-yellow .parents-message,
html.scheme-yellow .visit-card,
html.scheme-yellow .visit-form,
html.scheme-yellow .map-card,
html.scheme-yellow .site-footer,
html.scheme-yellow .topbar,
html.scheme-yellow .legal-page,
html.scheme-yellow .legal-page__container,
body.scheme-yellow,
body.scheme-yellow .hero,
body.scheme-yellow .section,
body.scheme-yellow .nav-shell,
body.scheme-yellow .feature-strip,
body.scheme-yellow .advantage-card,
body.scheme-yellow .bilingual-card,
body.scheme-yellow .bilingual-card__body,
body.scheme-yellow .parents-message,
body.scheme-yellow .visit-card,
body.scheme-yellow .visit-form,
body.scheme-yellow .map-card,
body.scheme-yellow .site-footer,
body.scheme-yellow .topbar,
body.scheme-yellow .legal-page,
body.scheme-yellow .legal-page__container {
    border-color: #000 !important;
    color: #000 !important;
    background: #ffeb3b !important;
}

html.scheme-yellow input,
html.scheme-yellow select,
html.scheme-yellow .speech-actions button,
html.scheme-yellow .button,
body.scheme-yellow input,
body.scheme-yellow select,
body.scheme-yellow .speech-actions button,
body.scheme-yellow .button {
    border: 2px solid #000 !important;
    color: #000 !important;
    background: #ffeb3b !important;
}

html.a11y-on .eyebrow,
html.a11y-on .hero h1 em,
html.a11y-on p,
html.a11y-on small,
html.a11y-on .brand__text small,
html.a11y-on .footer-grid a,
html.a11y-on .footer-grid span,
body.a11y-on .eyebrow,
body.a11y-on .hero h1 em,
body.a11y-on p,
body.a11y-on small,
body.a11y-on .brand__text small,
body.a11y-on .footer-grid a,
body.a11y-on .footer-grid span {
    color: inherit !important;
}

html.images-off img,
body.images-off img {
    visibility: hidden !important;
}

html.images-off .hero__visual,
html.images-off .bilingual-card__image,
html.images-off .parents-message__mark,
body.images-off .hero__visual,
body.images-off .bilingual-card__image,
body.images-off .parents-message__mark {
    display: none !important;
}

html.images-off .hero__grid,
html.images-off .parents-message,
body.images-off .hero__grid,
body.images-off .parents-message {
    grid-template-columns: 1fr !important;
}

html.text-large .advantages-grid,
body.text-large .advantages-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

html.text-xlarge .advantages-grid,
html.text-large .bilingual-grid,
html.text-xlarge .bilingual-grid,
body.text-xlarge .advantages-grid,
body.text-large .bilingual-grid,
body.text-xlarge .bilingual-grid {
    grid-template-columns: 1fr;
}

html.links-underlined a,
body.links-underlined a {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 0.16em;
}

html.line-spacing body,
body.line-spacing {
    line-height: 1.9;
}

html.line-spacing p,
html.line-spacing li,
html.line-spacing a,
body.line-spacing p,
body.line-spacing li,
body.line-spacing a {
    line-height: 1.9;
}

html.letter-spacing body,
body.letter-spacing {
    letter-spacing: 0.08em;
}

html.letter-spacing h1,
html.letter-spacing h2,
html.letter-spacing h3,
body.letter-spacing h1,
body.letter-spacing h2,
body.letter-spacing h3 {
    letter-spacing: 0.06em;
}

html.motion-off,
html.motion-off *,
html.motion-off *::before,
html.motion-off *::after,
body.motion-off,
body.motion-off *,
body.motion-off *::before,
body.motion-off *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
}

html.motion-off .reveal,
body.motion-off .reveal {
    opacity: 1;
    transform: none;
}

html.a11y-on button,
html.a11y-on .button,
html.a11y-on nav a,
body.a11y-on button,
body.a11y-on .button,
body.a11y-on nav a {
    min-height: 52px;
}

html.a11y-on :focus-visible,
body.a11y-on :focus-visible {
    outline: 4px solid #e00000 !important;
    outline-offset: 4px !important;
}

@media (max-width: 850px) {
    html.text-large body,
    html.text-xlarge body,
    body.text-large,
    body.text-xlarge {
        font-size: 20px;
    }

    html.text-large .advantages-grid,
    html.text-xlarge .advantages-grid,
    body.text-large .advantages-grid,
    body.text-xlarge .advantages-grid {
        grid-template-columns: 1fr;
    }
}
