/* Shared header: desktop rules never apply to the mobile drawer. */
.header-strip .row { min-height:54px; }
.header-strip .header-left { display:flex; align-items:center; gap:22px; padding:0; flex-wrap:wrap; }
.header-strip .header-left li { display:flex; align-items:center; gap:4px; }
.header-strip .header-left a,.header-strip .btn-header { font-size:13px; font-weight:600; }
.header-strip .header-right { gap:12px!important; flex-wrap:wrap; }
.header-strip .btn-header:after { content:none; }
.header-strip .social-link a { width:34px; height:34px; justify-content:center; }
.header-strip .app-login-btn { padding:9px 16px; border-radius:4px; background:#f5c62f; color:#163859; font-size:13px; font-weight:700; }
.main-header.header-style-one { position:relative; z-index:100; background:white; }
.main-header > .container-fluid > .row { flex-wrap:nowrap; min-height:108px; gap:20px; }
.main-header .brand-column { flex:1 1 auto; width:auto; min-width:0; }
.main-header .desktop-navigation { flex:0 0 auto; width:auto; }
.main-header .school-logo .navbar-brand { display:flex; align-items:center; gap:14px; margin:0; padding:10px 0; white-space:normal; }
.main-header .school-logo .logo { width:88px; height:86px; flex:0 0 88px; object-fit:contain; margin:0; }
.school-name-wrap { display:flex; flex-direction:column; min-width:0; }
.school-name-main { font:700 clamp(20px,1.7vw,27px)/1.18 Georgia,"Times New Roman",serif; color:#163859; }
.school-name-tag { margin-top:5px; font-size:12px; font-weight:700; text-transform:uppercase; color:#444; text-align:center; }
.desktop-navigation .navigation { display:flex; align-items:center; gap:3px; }
.desktop-navigation .navigation > li { position:relative; }
.desktop-navigation .navbar .navigation > li.dropdown { padding-right:0; }
.desktop-navigation .navbar .navigation > li.dropdown:after { content:none; }
.desktop-navigation .navbar .navigation > li.dropdown > ul { left:auto; right:0; }
.desktop-navigation .navigation > li > a { display:flex; align-items:center; gap:6px; padding:16px 8px; font-size:12px; font-weight:700; white-space:nowrap; text-transform:uppercase; }
.desktop-navigation .navigation > li > a:before,.desktop-navigation .navigation > li > a:after,.desktop-navigation .dropdown-btn { display:none!important; }
.desktop-navigation .navigation > li > ul { display:none; position:absolute; top:100%; right:0; min-width:240px; background:white; box-shadow:0 8px 22px #19193226; padding:8px 0; }
.desktop-navigation .navigation > li:hover > ul,.desktop-navigation .navigation > li:focus-within > ul { display:block; }
.desktop-navigation .navigation > li > ul a { display:block; padding:10px 18px; }
.main-header a:focus-visible,.main-header button:focus-visible { outline:3px solid #bd9331; outline-offset:2px; }
.main-header .toggle-column { display:none!important; }
.main-header .mobile-menu { width:min(360px,92vw); padding:0; }
.main-header .mobile-menu .menu-box { background:#fff; overflow:auto; overscroll-behavior:contain; }
.main-header .mobile-menu .nav-logo { padding:58px 20px 22px; }
.mobile-menu-brand { display:flex; align-items:center; gap:12px; }
.mobile-menu-brand img { width:58px; height:60px; object-fit:contain; flex-shrink:0; }
.mobile-menu-brand-text { display:flex; flex-direction:column; min-width:0; }
.mobile-menu-school-name { font:700 17px/1.2 Georgia,serif; color:#163859; }
.mobile-menu-trust-name { margin-top:5px; font-size:9px; line-height:1.4; color:#555; }
.main-header .mobile-menu .close-btn { top:8px; right:12px; width:40px; height:40px; background:#edf5fb; border:0; border-radius:4px; }
.main-header .mobile-menu .navigation { display:block; max-height:none; overflow:visible; }
.main-header .mobile-menu .navigation li { display:block; width:100%; }
.main-header .mobile-menu .navigation li > a { display:block; padding:15px 60px 15px 22px; margin:0; color:#163859!important; line-height:1.4; white-space:normal; border-top:1px solid #eee; }
.main-header .mobile-menu .navigation li > a:before,.main-header .mobile-menu .navigation li > a:after,.main-header .mobile-menu .navigation li > a > .fa-angle-down,.main-header .mobile-menu .navigation li ul li:before { display:none; }
.main-header .mobile-menu .navigation li ul { display:none; position:static; background:#edf5fb; }
.main-header .mobile-menu .navigation li ul a { padding-left:34px; font-size:14px; }
.main-header .mobile-menu .navigation li.dropdown .dropdown-btn { top:6px; right:12px; width:40px; height:40px; line-height:40px; color:#0965a6; background:#edf5fb; }
.main-header .mobile-menu .navigation li.dropdown .dropdown-btn { border:0; padding:0; }
.leftMenu-Box,.leftMenu-Box:before,.leftMenu-Box:after { background-image:none!important; box-shadow:none!important; }
.leftMenu-Box:before,.leftMenu-Box:after { content:none!important; }
body.mobile-menu-visible { overflow:hidden; }
.main-header .mobile-menu-actions { display:grid; gap:12px; padding:24px 20px; border-top:1px solid #e3eaf0; }
.main-header .mobile-menu-actions a { display:flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:12px 16px; border-radius:5px; font-size:14px; font-weight:700; text-align:center; }
.main-header .mobile-menu-actions .mobile-disclosure-link { border:1px solid #0965a6; background:#edf5fb; color:#12365b!important; }
.main-header .mobile-menu-actions .mobile-app-login { background:#edbd45; color:#102e4e!important; }
@media (max-width:1199.98px) {
  .header-strip { display:none!important; }
  .main-header .desktop-navigation { display:none; }
  .main-header .toggle-column { display:flex!important; flex:0 0 44px; width:44px; padding:0!important; }
  .main-header > .container-fluid { padding:0 20px!important; }
  .main-header > .container-fluid > .row { margin:0; min-height:88px; gap:12px; }
  .main-header .brand-column { padding:0; }
  .main-header .school-logo .logo { width:66px; height:66px; flex-basis:66px; }
  .main-header .mobile-nav-toggler { width:44px; height:44px; margin:0; padding:0; color:#0965a6; }
  .school-name-tag { text-align:left; font-size:10px; }
}
@media (max-width:575.98px) {
  .main-header > .container-fluid { padding:0 12px!important; }
  .main-header .school-logo .navbar-brand { gap:8px; }
  .main-header .school-logo .logo { width:52px; height:58px; flex-basis:52px; }
  .school-name-main { font-size:clamp(15px,4vw,19px); }
  .school-name-tag { font-size:8px; line-height:1.3; }
  .page-wrapper { min-width:0; }
  .row > * { min-width:0; }
  .opj-footer a { overflow-wrap:anywhere; }
  iframe,video { max-width:100%; }
}
