:root {
    --schoolsite-color-page: #eaf0f4;
    --schoolsite-color-surface: #ffffff;
    --schoolsite-color-surface-muted: #f3f7fa;
    --schoolsite-color-text: #172936;
    --schoolsite-color-muted: #5a6d79;
    --schoolsite-color-line: #d2dee6;
    --schoolsite-color-brand: #0d5278;
    --schoolsite-color-brand-strong: #073a59;
    --schoolsite-color-brand-soft: #dceef7;
    --schoolsite-color-accent: #e0a028;
    --schoolsite-color-focus: #f1b647;
    --schoolsite-radius-small: 4px;
    --schoolsite-radius-medium: 8px;
    --schoolsite-shadow-shell: 0 12px 32px rgba(16, 47, 65, 0.14);
    --schoolsite-space-1: 4px;
    --schoolsite-space-2: 8px;
    --schoolsite-space-3: 12px;
    --schoolsite-space-4: 16px;
    --schoolsite-space-5: 20px;
    --schoolsite-space-6: 24px;
    --schoolsite-space-8: 32px;
}

html {
    min-width: 300px;
    background: var(--schoolsite-color-page);
}

body.schoolsite-page {
    margin: 0;
    color: var(--schoolsite-color-text);
    background: var(--schoolsite-color-page);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

.schoolsite-shell,
.schoolsite-shell * {
    box-sizing: border-box;
}

.schoolsite-shell {
    width: calc(100% - 32px);
    max-width: 1360px;
    min-height: 100vh;
    margin: 0 auto;
    background: var(--schoolsite-color-surface);
    box-shadow: var(--schoolsite-shadow-shell);
}

.schoolsite-skip {
    position: fixed;
    z-index: 10000;
    top: var(--schoolsite-space-2);
    left: var(--schoolsite-space-2);
    padding: var(--schoolsite-space-2) var(--schoolsite-space-3);
    color: #ffffff;
    background: #101820;
    border-radius: var(--schoolsite-radius-small);
    transform: translateY(-160%);
}

.schoolsite-skip:focus {
    transform: none;
}

.schoolsite-header {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    padding: var(--schoolsite-space-6) var(--schoolsite-space-8);
    color: var(--schoolsite-color-brand-strong);
    background-color: #f8fcfe;
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.86) 34%, rgba(255, 255, 255, 0.9) 66%, rgba(255, 255, 255, 0.04) 100%),
        url("images/headers/school-learning-light.jpg");
    background-position: center;
    background-size: cover;
    border-bottom: 0;
}

.schoolsite-header::after {
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 5px;
    background: linear-gradient(90deg, #35aee6, #57c985 27%, #ffd054 50%, #ff8c6d 73%, #9b7be7);
    content: "";
    pointer-events: none;
}

.schoolsite-header__identity {
    width: 100%;
    max-width: 1160px;
    min-width: 0;
    text-align: center;
}

.schoolsite-header__eyebrow {
    margin-bottom: var(--schoolsite-space-3);
    color: #32657f;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.schoolsite-header__title {
    max-width: 1160px;
    margin: 0 auto;
    font-size: clamp(26px, 2.7vw, 38px);
    font-weight: bold;
    line-height: 1.12;
    overflow-wrap: anywhere;
    text-wrap: balance;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.96), 0 3px 14px rgba(57, 116, 145, 0.16);
}

.schoolsite-nav-toggle {
    display: none;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: var(--schoolsite-space-2);
    margin: var(--schoolsite-space-4) auto 0;
    padding: var(--schoolsite-space-2) var(--schoolsite-space-4);
    color: var(--schoolsite-color-brand-strong);
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(13, 82, 120, 0.45);
    border-radius: var(--schoolsite-radius-small);
    font: inherit;
    font-weight: bold;
    cursor: pointer;
}

.schoolsite-nav-toggle:hover,
.schoolsite-nav-toggle:focus-visible {
    background: #ffffff;
}

.schoolsite-nav-toggle__icon,
.schoolsite-nav-toggle__icon::before,
.schoolsite-nav-toggle__icon::after {
    display: block;
    width: 20px;
    height: 2px;
    background: currentColor;
}

.schoolsite-nav-toggle__icon {
    position: relative;
}

.schoolsite-nav-toggle__icon::before,
.schoolsite-nav-toggle__icon::after {
    position: absolute;
    left: 0;
    content: "";
}

.schoolsite-nav-toggle__icon::before { top: -6px; }
.schoolsite-nav-toggle__icon::after { top: 6px; }

.schoolsite-toolbar {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: var(--schoolsite-space-4);
    padding: var(--schoolsite-space-2) var(--schoolsite-space-6);
    color: var(--schoolsite-color-muted);
    background: var(--schoolsite-color-surface-muted);
    border-bottom: 1px solid var(--schoolsite-color-line);
    font-size: 14px;
}

.schoolsite-toolbar a,
.schoolsite-breadcrumb a {
    color: var(--schoolsite-color-brand);
    text-underline-offset: 2px;
}

.schoolsite-toolbar__links {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: var(--schoolsite-space-4);
}

.schoolsite-toolbar__links span:empty {
    display: none;
}

.schoolsite-admin:empty {
    display: none;
}

.schoolsite-admin {
    overflow-x: auto;
}

.schoolsite-admin table.edit {
    width: 100%;
    border-collapse: collapse;
    color: var(--schoolsite-color-text);
    background: #fff8db;
    font-size: 13px;
}

.schoolsite-admin table.edit td {
    padding: var(--schoolsite-space-1);
    border: 1px solid #e3cc7a;
}

.schoolsite-admin table.edit a {
    color: #533f00;
}

.schoolsite-layout {
    display: grid;
    grid-template-columns: minmax(232px, 292px) minmax(0, 1fr);
    align-items: start;
}

.schoolsite-sidebar {
    min-width: 0;
    min-height: 560px;
    padding: var(--schoolsite-space-6) var(--schoolsite-space-4);
    background: var(--schoolsite-color-surface-muted);
    border-right: 1px solid var(--schoolsite-color-line);
}

.schoolsite-sidebar__label {
    margin-bottom: var(--schoolsite-space-3);
    color: var(--schoolsite-color-brand-strong);
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.schoolsite-search {
    margin-bottom: var(--schoolsite-space-5);
}

.schoolsite-search form {
    margin: 0;
}

.schoolsite-search #searchbox {
    display: flex;
    gap: var(--schoolsite-space-2);
}

.schoolsite-search .text {
    width: auto;
    min-width: 0;
    height: 38px;
    flex: 1 1 auto;
    padding: 0 var(--schoolsite-space-2);
    color: var(--schoolsite-color-text);
    background: var(--schoolsite-color-surface);
    border: 1px solid var(--schoolsite-color-line);
    border-radius: var(--schoolsite-radius-small);
    font: inherit;
}

.schoolsite-search .submit {
    min-height: 38px;
    flex: 0 0 auto;
    padding: 0 var(--schoolsite-space-3);
    color: #ffffff;
    background: var(--schoolsite-color-brand);
    border: 1px solid var(--schoolsite-color-brand);
    border-radius: var(--schoolsite-radius-small);
    font: inherit;
    font-weight: bold;
    cursor: pointer;
}

.schoolsite-search .submit:hover,
.schoolsite-search .submit:focus-visible {
    background: var(--schoolsite-color-brand-strong);
}

.schoolsite-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.schoolsite-navigation ul ul {
    margin-left: var(--schoolsite-space-3);
    border-left: 1px solid var(--schoolsite-color-line);
}

.schoolsite-navigation li {
    margin: 0;
    padding: 0;
}

.schoolsite-navigation li > a,
.schoolsite-navigation li.sdoc,
.schoolsite-navigation li.sdocs {
    display: block;
    margin: 2px 0;
    padding: var(--schoolsite-space-2) var(--schoolsite-space-3);
    color: var(--schoolsite-color-text);
    border-radius: var(--schoolsite-radius-small);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.schoolsite-navigation li > a:hover,
.schoolsite-navigation li > a:focus-visible {
    color: var(--schoolsite-color-brand-strong);
    background: var(--schoolsite-color-brand-soft);
}

.schoolsite-navigation li.sdoc,
.schoolsite-navigation li.sdocs {
    color: #ffffff;
    background: var(--schoolsite-color-brand);
    font-weight: bold;
}

.schoolsite-navigation li.sdocs > ul,
.schoolsite-navigation li.sdoc > ul {
    margin-top: var(--schoolsite-space-1);
    margin-right: calc(-1 * var(--schoolsite-space-3));
    margin-bottom: calc(-1 * var(--schoolsite-space-2));
    margin-left: 0;
    padding-left: var(--schoolsite-space-3);
    background: var(--schoolsite-color-surface-muted);
}

.schoolsite-navigation li.sdocs > ul li,
.schoolsite-navigation li.sdoc > ul li {
    color: var(--schoolsite-color-text);
    font-weight: normal;
}

.schoolsite-main {
    min-width: 0;
    padding: var(--schoolsite-space-8);
}

.schoolsite-content {
    min-height: 460px;
    overflow-wrap: anywhere;
}

.schoolsite-content h1,
.schoolsite-content h2,
.schoolsite-content h3,
.schoolsite-content h4 {
    color: var(--schoolsite-color-brand-strong);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: normal;
    line-height: 1.24;
}

.schoolsite-content h1 {
    margin: 0 0 var(--schoolsite-space-5);
    padding-bottom: var(--schoolsite-space-3);
    border-bottom: 2px solid var(--schoolsite-color-accent);
    font-size: clamp(34px, 4vw, 46px);
}

body.schoolsite-page .schoolsite-content h1 *,
body.schoolsite-page .schoolsite-content h2 *,
body.schoolsite-page .schoolsite-content h3 *,
body.schoolsite-page .schoolsite-content h4 *,
body.schoolsite-page .schoolsite-content h1 .tw-a11y-node,
body.schoolsite-page .schoolsite-content h2 .tw-a11y-node,
body.schoolsite-page .schoolsite-content h3 .tw-a11y-node,
body.schoolsite-page .schoolsite-content h4 .tw-a11y-node {
    font-size: inherit !important;
}

.schoolsite-content h2 {
    margin: var(--schoolsite-space-8) 0 var(--schoolsite-space-3);
    font-size: 28px;
}

.schoolsite-content h3 {
    margin: var(--schoolsite-space-6) 0 var(--schoolsite-space-2);
    font-size: 22px;
}

.schoolsite-content h4 {
    margin: var(--schoolsite-space-5) 0 var(--schoolsite-space-2);
    font-size: 18px;
}

.schoolsite-content p,
.schoolsite-content ul,
.schoolsite-content ol {
    margin-top: 0;
    margin-bottom: var(--schoolsite-space-4);
}

.schoolsite-content .schoolsite-lead {
    color: #344d5d;
    font-size: 18px;
}

.schoolsite-content a {
    color: #075f8d;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.schoolsite-content a:hover {
    color: var(--schoolsite-color-brand-strong);
}

.schoolsite-content img {
    max-width: 100%;
    height: auto;
}

.schoolsite-content table {
    max-width: 100%;
    border-collapse: collapse;
}

.schoolsite-content td,
.schoolsite-content th {
    padding: var(--schoolsite-space-2);
}

.schoolsite-content iframe,
.schoolsite-content object,
.schoolsite-content embed,
.schoolsite-content video {
    max-width: 100%;
}

.schoolsite-content input,
.schoolsite-content select,
.schoolsite-content textarea,
.schoolsite-content button {
    max-width: 100%;
    font: inherit;
}

.schoolsite-content blockquote {
    margin: var(--schoolsite-space-5) 0;
    padding: var(--schoolsite-space-3) var(--schoolsite-space-4);
    color: #354f5e;
    background: var(--schoolsite-color-brand-soft);
    border-left: 4px solid var(--schoolsite-color-accent);
}

.schoolsite-pager {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--schoolsite-space-3);
    margin-top: var(--schoolsite-space-8);
    padding-top: var(--schoolsite-space-4);
    border-top: 1px solid var(--schoolsite-color-line);
    font-size: 14px;
}

.schoolsite-pager a {
    color: var(--schoolsite-color-brand);
}

.schoolsite-pager__top { text-align: center; }
.schoolsite-pager__next { text-align: right; }

.schoolsite-footer {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: var(--schoolsite-space-4);
    padding: var(--schoolsite-space-4) var(--schoolsite-space-6);
    color: rgba(255, 255, 255, 0.82);
    background: #082f49;
    border-top: 4px solid var(--schoolsite-color-accent);
    font-size: 13px;
}

.schoolsite-footer__links {
    display: flex;
    gap: var(--schoolsite-space-4);
}

.schoolsite-footer a {
    color: #ffffff;
}

.schoolsite-shell a:focus-visible,
.schoolsite-shell button:focus-visible,
.schoolsite-shell input:focus-visible,
.schoolsite-shell select:focus-visible,
.schoolsite-shell textarea:focus-visible {
    outline: 3px solid var(--schoolsite-color-focus);
    outline-offset: 2px;
}

@media (max-width: 860px) {
    .schoolsite-shell {
        width: 100%;
        box-shadow: none;
    }

    .schoolsite-header {
        min-height: 238px;
        padding: var(--schoolsite-space-5) var(--schoolsite-space-4);
        background-position: center;
    }

    .schoolsite-header__eyebrow {
        font-size: 11px;
    }

    .schoolsite-header__title {
        font-size: clamp(22px, 4vw, 29px);
    }

    .schoolsite-nav-toggle {
        display: inline-flex;
    }

    .schoolsite-toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--schoolsite-space-2);
        padding: var(--schoolsite-space-2) var(--schoolsite-space-4);
    }

    .schoolsite-layout {
        display: block;
    }

    .schoolsite-sidebar {
        display: none;
        min-height: 0;
        padding: var(--schoolsite-space-4);
        border-right: 0;
        border-bottom: 1px solid var(--schoolsite-color-line);
    }

    .schoolsite-sidebar--open {
        display: block;
    }

    .schoolsite-main {
        padding: var(--schoolsite-space-6) var(--schoolsite-space-4);
    }

    .schoolsite-content table {
        display: block;
        width: 100%;
        overflow-x: auto;
    }
}

@media (max-width: 560px) {
    .schoolsite-header {
        min-height: 244px;
        align-items: center;
        padding: var(--schoolsite-space-4) var(--schoolsite-space-3);
        background-position: center;
    }

    .schoolsite-header__eyebrow {
        margin-bottom: var(--schoolsite-space-2);
        font-size: 9px;
        line-height: 1.35;
    }

    .schoolsite-header__title {
        font-size: clamp(18px, 5.2vw, 22px);
        line-height: 1.16;
    }

    .schoolsite-nav-toggle {
        width: 100%;
        margin-top: var(--schoolsite-space-4);
        padding-right: var(--schoolsite-space-2);
        padding-left: var(--schoolsite-space-2);
    }

    .schoolsite-toolbar__links {
        gap: var(--schoolsite-space-2) var(--schoolsite-space-4);
    }

    .schoolsite-main {
        padding: var(--schoolsite-space-5) var(--schoolsite-space-3);
    }

    .schoolsite-content h1 {
        font-size: 32px;
    }

    .schoolsite-pager {
        grid-template-columns: 1fr;
    }

    .schoolsite-pager__top,
    .schoolsite-pager__next {
        text-align: left;
    }

    .schoolsite-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media print {
    html,
    body.schoolsite-page {
        background: #ffffff;
    }

    .schoolsite-shell {
        width: 100%;
        max-width: none;
        box-shadow: none;
    }

    .schoolsite-header {
        min-height: 0;
        padding: var(--schoolsite-space-4) 0;
        color: #000000;
        background: #ffffff;
        border-bottom: 1px solid #000000;
    }

    .schoolsite-header__eyebrow,
    .schoolsite-sidebar,
    .schoolsite-toolbar,
    .schoolsite-admin,
    .schoolsite-nav-toggle,
    .schoolsite-pager,
    .schoolsite-footer {
        display: none !important;
    }

    .schoolsite-header__title {
        color: #000000;
        text-align: left;
        text-shadow: none;
    }

    .schoolsite-layout {
        display: block;
    }

    .schoolsite-main {
        padding: 0;
    }
}
