/* Navigation 1.0.2 — loaded last, without changing content, URLs or the layout. */
.site-header {
  position: sticky;
  top: var(--cc-adminbar-current, var(--cc-adminbar-fallback, 0px));
  z-index: 90;
  overflow: visible;
}
.site-header.is-scrolled {
  box-shadow: 0 6px 22px rgba(7, 24, 47, .18);
}
body.admin-bar .site-header { --cc-adminbar-fallback: 32px; }
html.cc-sticky-navigation {
  scroll-padding-top: calc(var(--cc-header-height, 108px) + var(--cc-adminbar-current, 0px) + 16px);
}
.site-header .nav-dropdown > summary { cursor: pointer; }
.site-header .nav-dropdown[open] > summary { color: var(--gold); }
.site-header .dropdown-panel a { overflow-wrap: anywhere; }

@media (min-width: 1101px) {
  .site-header .dropdown-panel {
    /* The panel overlaps the trigger by 4px, so there is no dead hover gap. */
    top: calc(100% - 4px);
    max-width: min(380px, calc(100vw - 48px));
    max-height: calc(var(--cc-viewport-height, 100vh) - var(--cc-header-height, 108px) - var(--cc-adminbar-current, 0px) - 20px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
}
@media (max-width: 1100px) {
  html.js .site-header .main-nav.is-open {
    /* Keep all links reachable in landscape and at high browser zoom. */
    max-height: calc(var(--cc-viewport-height, 100vh) - var(--cc-header-height, 100px) - var(--cc-adminbar-current, 0px) - 12px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { --cc-adminbar-fallback: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  html.cc-sticky-navigation { scroll-behavior: auto; }
}
@media print {
  .site-header { display: none !important; position: static; box-shadow: none; }
  html.cc-sticky-navigation { scroll-padding-top: 0; }
}
