:root {
  --cmu-nav-maroon:#65162f;
  --cmu-nav-maroon-dark:#4d1125;
  --cmu-nav-gold:#f6d63a;
  --cmu-nav-orange:#df4d28;
  --cmu-nav-cream:#f7f3ec;
  --cmu-nav-max:1440px;
  --cmu-nav-gutter:clamp(24px,3.5vw,58px);
}

/* CMU Cross Country Ski Team navigation. This keeps Clean+'s Drupal menu
   regions intact but replaces the Bootstrap-column feel with one modern bar. */
.header-container {
  position:relative;
  z-index:60;
  width:100%;
  background:var(--cmu-nav-maroon)!important;
}
.header-container .header,
.header-container .header-inside,
.header-container .header__section,
.header-container .header__container {
  background:var(--cmu-nav-maroon)!important;
  border:0!important;
}
.header-container .header {
  box-shadow:0 8px 28px rgba(0,0,0,.13);
  min-height:98px;
}

/* Override Clean+'s container + Bootstrap columns so logo, menu and utilities
   occupy one predictable horizontal grid. */
.header-container .header > .container,
.header-container .header > .container-fluid,
.header-container .header__container {
  width:min(calc(100% - (var(--cmu-nav-gutter) * 2)),var(--cmu-nav-max))!important;
  max-width:var(--cmu-nav-max)!important;
  margin-inline:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.header-container .header__container > .row {
  display:grid!important;
  grid-template-columns:minmax(150px,185px) minmax(0,1fr) auto;
  gap:clamp(18px,2.4vw,38px);
  align-items:center!important;
  margin:0!important;
  min-height:98px;
}
.header-container .header__container > .row > [class*="col-"] {
  width:auto!important;
  max-width:none!important;
  flex:none!important;
  padding:0!important;
  margin:0!important;
}
.header-container .header__section { padding:0!important; margin:0!important; }

/* Approved CMU Cross Country Ski Team mark supplied by the team. */
.header-container .site-branding,
.header-container .site-branding .content,
.header-container .logo-and-site-name-wrapper,
.header-container .logo { margin:0!important; padding:0!important; }
.header-container .site-branding__logo {
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  width:165px;
  height:84px;
  margin:0!important;
}
.header-container .site-branding__logo img {
  display:block;
  width:148px!important;
  max-width:148px!important;
  height:76px!important;
  max-height:76px!important;
  object-fit:contain;
  object-position:left center;
}
.header-container .site-branding__name,
.header-container .site-branding__slogan { display:none!important; }

/* Primary menu. */
.header-container .header-second { min-width:0; }
.header-container .header-second nav,
.header-container .header-second .block-superfish { width:100%; }
.header-container .sf-menu,
.header-container ul.menu {
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:clamp(2px,.35vw,7px);
  margin:0!important;
  padding:0!important;
}
.header-container .sf-menu > li,
.header-container .menu > li { float:none!important; }
.header-container .sf-menu > li > a,
.header-container .menu > li > a {
  color:#fff!important;
  font-weight:800;
  font-size:.78rem;
  line-height:1.15;
  letter-spacing:.035em;
  text-transform:uppercase;
  padding:39px clamp(8px,.8vw,13px)!important;
  transition:color .18s ease,background .18s ease;
  white-space:nowrap;
}
.header-container .sf-menu > li:hover,
.header-container .sf-menu > li.active-trail { background:transparent!important; }
.header-container .sf-menu > li:hover > a,
.header-container .sf-menu > li.active-trail > a,
.header-container .sf-menu > li > a.is-active,
.header-container .menu > li > a.is-active { color:var(--cmu-nav-gold)!important; }
.header-container .sf-menu > li > a:focus-visible,
.header-container .menu > li > a:focus-visible { outline:2px solid var(--cmu-nav-gold); outline-offset:-6px; }

.header-container .sf-menu ul {
  background:#fff!important;
  border-top:4px solid var(--cmu-nav-gold);
  box-shadow:0 18px 40px rgba(0,0,0,.2);
  padding:8px 0!important;
  min-width:250px!important;
}
.header-container .sf-menu ul li a {
  color:#2b2226!important;
  padding:11px 18px!important;
  font-size:.88rem;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
  white-space:normal;
}
.header-container .sf-menu ul li a:hover,
.header-container .sf-menu ul li > a.is-active { color:var(--cmu-nav-maroon)!important; background:var(--cmu-nav-cream)!important; }

/* Contact / final-menu CTA. */
.header-container .menu.cmu-contact-cta > li:last-child > a,
.header-container .sf-menu.cmu-contact-cta > li:last-child > a {
  border:0!important;
  background:var(--cmu-nav-gold)!important;
  color:var(--cmu-nav-maroon-dark)!important;
  margin:22px 0 22px 8px!important;
  padding:15px 19px!important;
  border-radius:2px;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.header-container .menu.cmu-contact-cta > li:last-child > a:hover,
.header-container .menu.cmu-contact-cta > li:last-child > a:focus,
.header-container .sf-menu.cmu-contact-cta > li:last-child > a:hover,
.header-container .sf-menu.cmu-contact-cta > li:last-child > a:focus { background:#fff!important; color:var(--cmu-nav-maroon-dark)!important; }

/* Utility/search region on right, if present. */
.header-container .header-third { display:flex; justify-content:flex-end; align-items:center; gap:10px; }
.header-container .header-third a,
.header-container .header-third button { color:#fff; }

/* Top social/utility strip. */
.header-top-highlighted,
.header-top-highlighted__section,
.header-top-highlighted .container,
.header-top-highlighted .container-fluid { background:var(--cmu-nav-gold)!important; color:var(--cmu-nav-maroon-dark)!important; }
.header-top-highlighted a { color:var(--cmu-nav-maroon-dark)!important; }

/* Prevent old theme spacing from producing a white band between nav and hero. */
.path-frontpage .main-content__container,
.path-frontpage .main-content__section,
.path-frontpage .main-content,
.path-frontpage .region-content { padding-top:0!important; margin-top:0!important; }
.path-frontpage .page-title { margin-top:0; }

@media (max-width:1240px) and (min-width:992px) {
  .header-container .header__container > .row { grid-template-columns:145px minmax(0,1fr) auto; gap:14px; }
  .header-container .site-branding__logo { width:145px; }
  .header-container .site-branding__logo img { width:128px!important; max-width:128px!important; height:68px!important; max-height:68px!important; }
  .header-container .sf-menu > li > a,
  .header-container .menu > li > a { font-size:.70rem; padding-left:7px!important; padding-right:7px!important; }
}

@media (max-width:991px) {
  .header-container .header { min-height:76px; }
  .header-container .header > .container,
  .header-container .header > .container-fluid,
  .header-container .header__container { width:calc(100% - 30px)!important; }
  .header-container .header__container > .row {
    display:flex!important;
    min-height:76px;
    gap:12px;
    justify-content:space-between;
  }
  .header-container .site-branding__logo { width:126px; height:66px; }
  .header-container .site-branding__logo img { width:112px!important; max-width:112px!important; height:60px!important; max-height:60px!important; }
  .header-container .sf-menu,
  .header-container ul.menu { display:block!important; }
  .header-container .sf-menu > li > a,
  .header-container .menu > li > a { padding:12px 14px!important; white-space:normal; }
  .header-container .menu.cmu-contact-cta > li:last-child > a,
  .header-container .sf-menu.cmu-contact-cta > li:last-child > a { margin:8px 14px!important; display:inline-flex; }
}
