
.final-site-header{
    position:relative;
    z-index:50;
    background:#fff;
    border-top:3px solid #0b4b86;
    border-bottom:1px solid #e1e8ef;
    box-shadow:0 3px 12px rgba(18,54,86,.045);
}
.final-header-wrap{
    width:min(1280px,calc(100% - 38px));
    min-height:86px;
    margin:auto;
    display:grid;
    grid-template-columns:minmax(290px,390px) minmax(0,1fr);
    align-items:center;
    gap:24px;
}
.final-school-brand{
    min-width:0;
    display:flex;
    align-items:center;
    gap:13px;
    text-decoration:none;
}
.final-school-brand img{
    width:72px;
    height:72px;
    flex:0 0 72px;
    object-fit:contain;
}
.final-school-brand-copy{min-width:0}
.final-school-brand strong{
    display:block;
    color:#0b3b6d;
    font-size:22px;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.4px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.final-school-brand small{
    display:block;
    margin-top:5px;
    color:#718397;
    font-size:9px;
}
.final-main-menu{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:3px;
    white-space:nowrap;
}
.final-main-menu>a,
.final-nav-dropdown>a{
    min-height:86px;
    padding:0 8px;
    display:flex;
    align-items:center;
    position:relative;
    color:#214974;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
}
.final-main-menu>a:hover,
.final-nav-dropdown>a:hover,
.final-main-menu>a.active,
.final-nav-dropdown>a.active{color:#0962a8}
.final-main-menu>a.active:after,
.final-nav-dropdown>a.active:after{
    content:"";
    position:absolute;
    left:8px;
    right:8px;
    bottom:16px;
    height:3px;
    border-radius:99px;
    background:#f3ad19;
}
.final-nav-dropdown{position:relative}
.final-nav-dropdown>a span{margin-left:4px;font-size:9px}
.final-dropdown-menu{
    position:absolute;
    left:0;
    top:74px;
    min-width:230px;
    padding:8px;
    opacity:0;
    visibility:hidden;
    transform:translateY(7px);
    border:1px solid #dfe7ee;
    border-radius:11px;
    background:#fff;
    box-shadow:0 14px 32px rgba(15,49,80,.14);
    transition:.17s ease;
}
.final-nav-dropdown:hover .final-dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.final-dropdown-menu a{
    min-height:35px;
    padding:8px 10px;
    display:flex;
    align-items:center;
    border-radius:7px;
    color:#34536f;
    text-decoration:none;
    font-size:10px;
    font-weight:600;
}
.final-dropdown-menu a:hover{background:#edf6fd;color:#0a609f}
.final-menu-toggle{
    display:none;
    width:42px;
    height:40px;
    padding:0;
    border:1px solid #dce5ec;
    border-radius:9px;
    background:#fff;
    color:#0b4d84;
    font-size:22px;
    cursor:pointer;
}

.school-info-strip{
    position:relative;
    z-index:35;
    background:#f6f9fc;
    border-bottom:1px solid #e0e7ed;
}
.school-info-wrap{
    width:min(1280px,calc(100% - 38px));
    min-height:38px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
}
.school-info-title{
    padding-right:14px;
    border-right:1px solid #dce4eb;
    color:#6f8193;
    font-size:8px;
    font-weight:700;
    letter-spacing:.7px;
    text-transform:uppercase;
}
.school-info-codes{display:flex;align-items:center}
.school-info-code{
    padding:0 16px;
    border-left:1px solid #e0e6ec;
}
.school-info-code:first-child{border-left:0}
.school-info-code span{
    margin-right:6px;
    color:#8795a4;
    font-size:8px;
    font-weight:600;
    text-transform:uppercase;
}
.school-info-code strong{
    color:#0d4477;
    font-size:10px;
    font-weight:800;
}

@media(max-width:1240px){
    .final-header-wrap,.school-info-wrap{width:min(100% - 28px,1280px)}
    .final-header-wrap{
        grid-template-columns:minmax(260px,330px) minmax(0,1fr);
        gap:14px;
    }
    .final-school-brand strong{font-size:19px}
    .final-main-menu>a,.final-nav-dropdown>a{
        padding-left:5px;
        padding-right:5px;
        font-size:10.8px;
    }
}
@media(max-width:1050px){
    .final-header-wrap{
        min-height:74px;
        grid-template-columns:1fr auto;
    }
    .final-school-brand img{
        width:60px;height:60px;flex-basis:60px
    }
    .final-school-brand strong{
        font-size:18px;
        white-space:normal;
        overflow:visible;
    }
    .final-menu-toggle{display:grid;place-items:center}
    .final-main-menu{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        width:100%;
        padding:8px 16px 12px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        background:#fff;
        border-top:1px solid #edf1f4;
        border-bottom:1px solid #dfe6ed;
        box-shadow:0 15px 25px rgba(13,49,81,.10);
    }
    .final-main-menu.open{display:flex}
    .final-main-menu>a,.final-nav-dropdown>a{
        min-height:40px;
        padding:9px 5px;
        border-bottom:1px solid #edf1f4;
        font-size:12px;
    }
    .final-main-menu>a.active:after,
    .final-nav-dropdown>a.active:after{display:none}
    .final-nav-dropdown{width:100%}
    .final-dropdown-menu{
        position:static;
        display:none;
        min-width:0;
        padding:5px 0 8px 12px;
        opacity:1;
        visibility:visible;
        transform:none;
        border:0;
        border-radius:0;
        box-shadow:none;
        background:#f7fafc;
    }
    .final-nav-dropdown.open .final-dropdown-menu{display:block}
    .school-info-wrap{
        justify-content:flex-start;
        overflow-x:auto;
    }
    .school-info-title{flex:0 0 auto}
    .school-info-codes{flex:0 0 auto}
}
@media(max-width:640px){
    .final-header-wrap,.school-info-wrap{width:min(100% - 20px,1280px)}
    .final-school-brand img{width:54px;height:54px;flex-basis:54px}
    .final-school-brand strong{font-size:16px}
    .final-school-brand small{font-size:8px}
    .school-info-title{display:none}
    .school-info-code{padding:0 11px}
    .school-info-code span{font-size:7px}
    .school-info-code strong{font-size:9px}
}
