/*
 * Atlantic Image Defense - scrollable compact public navigation
 * Version 1.15.4.19.35.200
 *
 * Scope: public compact navigation used on phones, tablets and laptops.
 * The fixed public header remains visible while the menu body scrolls
 * independently below it. Accordion sections expand downward without
 * forcing the menu back toward the top.
 */

@media (max-width: 1879.98px) {
  :root {
    --aid-public-compact-menu-top: var(
      --aid-public-mobile-nav-height,
      var(--aid-public-desktop-nav-height, 92px)
    );
  }

  body.mmactive #navigation,
  body.aid-context-public.mmactive #navigation {
    z-index: 1004 !important;
  }

  body.mmactive #sm_menu_ham,
  body.aid-context-public.mmactive #sm_menu_ham {
    z-index: 1006 !important;
  }

  .sm_menu_outer,
  .sm_menu_outer.active {
    position: fixed !important;
    top: var(--aid-public-compact-menu-top) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    background: #0f1720 !important;
  }

  .sm_menu_outer.active {
    z-index: 1002 !important;
  }

  .sm_menu_outer.active .mobile_menu {
    display: block !important;
    box-sizing: border-box !important;
    height: 100% !important;
    max-height: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: 18px !important;
    padding-bottom: calc(42px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    scroll-behavior: auto !important;
    scroll-padding-top: 18px;
    scrollbar-gutter: stable;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch;
  }

  .sm_menu_outer.active .mobile_menu:focus {
    outline: none;
  }

  .sm_menu_outer.accordion .mobile_menu .sub-menu,
  .sm_menu_outer.accordion .mobile_menu li.hasChild ul.sub-menu {
    overflow: hidden !important;
  }

  /* Keep every expanded section in normal document flow. The section grows
     downward and the user remains in full control of the menu scroll. */
  .sm_menu_outer.accordion .mobile_menu li.hasChild.active > .sub-menu {
    position: static !important;
    transform: none !important;
  }

  /* A visible focus ring is retained inside the independently scrolling area. */
  .sm_menu_outer .mobile_menu a:focus-visible {
    outline: 3px solid #d6b14b !important;
    outline-offset: -4px;
  }
}

@media (max-width: 1279.98px) {
  :root {
    --aid-public-compact-menu-top: var(--aid-public-mobile-nav-height, 86px);
  }
}

@media (max-width: 767.98px) {
  .sm_menu_outer.active .mobile_menu {
    padding-top: 14px !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

@media (max-width: 380px) {
  .sm_menu_outer.active .mobile_menu {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sm_menu_outer,
  .sm_menu_outer .mobile_menu,
  .sm_menu_outer .sub-menu {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

@media print {
  .sm_menu_outer,
  #sm_menu_ham {
    display: none !important;
  }
}
