/*******************************************************
  SIS — HEADER & NAVIGATION
  Divi Child Theme
*******************************************************/

/* =====================================================
   DROPDOWN MENU (spacing + line-height)
   ===================================================== */
#top-menu.nav li ul li.current-menu-item a,
#top-menu.nav li ul a,
.et-menu-nav ul.et-menu ul.sub-menu li a {
  line-height: 1.2em;
  padding: 12px 20px;
}

/* =====================================================
   SUBMENU ACTIVE STATE + CARET
   ===================================================== */

/* Current page inside ANY dropdown submenu */
.sub-menu li.current-menu-item > a,
.sub-menu li.current_page_item > a {
  border-bottom: 2px solid #fc8d2c;
  background-color: rgba(20, 20, 20, 0.05);
}

/* Parent underline when descendant is active */
.sub-menu li.menu-item-has-children.current-menu-ancestor > a {
  border-bottom: 2px solid #fc8d2c;
}

/* Caret spacing */
.sub-menu li.menu-item-has-children > a {
  position: relative;
  padding-right: 34px;
}

/* Caret base */
.sub-menu li.menu-item-has-children > a::after {
  position: absolute;
  right: 12px;
  top: 1.15em;
  font-size: 18px;
  transition: transform 0.25s ease, color 0.25s ease;
}

/* Active ancestor caret */
.sub-menu li.menu-item-has-children.current-menu-ancestor > a::after {
  color: #fc8d2c;
  transform: rotate(270deg);
  top: 0.6em !important;
  right: 6px !important;
  font-size: 30px;
  font-weight: 500;
}

/* =====================================================
   HEADER CTA BUTTON (Divi Pixel)
   ===================================================== */

.et-db #et-boc .et-l .et_pb_menu ul li a.dipi-cta-button,
.et-db #et-boc .et-l ul > li > a.dipi-cta-button,
body #page-container .et-db #et-boc .et-l .et_pb_menu ul li a.dipi-cta-button,
header.et-l--header ul > li > a.dipi-cta-button,
header#main-header #et-top-navigation nav > ul > li > a.dipi-cta-button,
#top-header #et-secondary-menu > ul > li > a.dipi-cta-button,
nav > ul > li > a.dipi-cta-button {
  font-family: var(--et_global_heading_font);
  font-weight: 700;
  color: var(--gcid-body-color);
  font-size: clamp(16px, 1.8vw, 26px);
}

.et-db #et-boc .et-l .et_pb_menu ul li a.dipi-cta-button,
.et-db #et-boc .et-l ul > li > a.dipi-cta-button,
body #page-container .et-db #et-boc .et-l .et_pb_menu ul li a.dipi-cta-button,
header.et-l--header ul > li > a.dipi-cta-button,
header#main-header #et-top-navigation nav > ul > li > a.dipi-cta-button,
#top-header #et-secondary-menu > ul > li > a.dipi-cta-button,
nav > ul > li > a.dipi-cta-button,
.et-db #et-boc .et-l .et_pb_menu ul li a.dipi-cta-button:hover,
.et-db #et-boc .et-l ul > li > a.dipi-cta-button:hover,
body #page-container .et-db #et-boc .et-l .et_pb_menu ul li a.dipi-cta-button:hover,
ul li a.dipi-cta-button:hover,
nav > ul > li > a.dipi-cta-button:hover,
#top-header #et-secondary-menu > ul > li > a.dipi-cta-button:hover,
header.et-l--header ul > li > a.dipi-cta-button:hover,
header#main-header ul > li > a.dipi-cta-button:hover,
header#main-header #et-top-navigation nav > ul > li > a.dipi-cta-button:hover {
  padding: 0.5rem 1.5rem !important;
  border-radius: 3rem !important;
}

/* =====================================================
   MAIN MENU CURRENT / HOVER STATE
   ===================================================== */

ul li.current-menu-item a:hover,
ul li.current-menu-ancestor a:hover,
ul:hover:not(.sub-menu) li.current-menu-ancestor a {
  color: var(--gcid-2mb814oem9) !important;
}

.grow_below_center .et_pb_menu__menu > nav > ul > li.current-menu-item > a > span:after,
.grow_below_center .et_pb_menu__menu > nav > ul > li.current-menu-ancestor > a > span:after {
  background: #fc8d2c !important;
}

ul.sub-menu li.current-menu-item a {
  background: rgba(251, 142, 45, 0.2) !important;
}

.sis-header-stack .et_pb_menu__logo img,
.sis-header-stack .logo_container img {
    min-height: 80px !important;
    width: auto !important;
    height: auto!important;
}

/* =====================================================
   HEADER LAYOUT FIXES (981px–1100px)
   ===================================================== */

@media (min-width: 981px) and (max-width: 1100px) {
  .sis-header-stack .et_pb_menu_inner_container,
  .sis-header-stack .et_pb_menu__wrap,
  .sis-header-stack .et_pb_menu__menu {
    flex-wrap: nowrap !important;
  }

  .sis-header-stack .et_pb_menu__logo img,
  .sis-header-stack .logo_container img {
    max-height: 38px !important;
    width: auto !important;
  }

  .sis-header-stack .et_pb_menu__menu > nav > ul > li > a,
  .sis-header-stack .et-menu > li > a {
    font-size: 15px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }

  .sis-header-stack .menu-item-has-children > a {
    padding-right: 18px !important;
  }
}

/* =====================================================
   STACKED HEADER SYSTEM (.sis-header-stack)
   ===================================================== */

#et-main-area {
  margin-top: -12.2em;
}

/* ≥1500px */
@media (min-width: 1500px) {
  .sis-header-stack .et_pb_menu__menu {
    margin-left: auto !important;
    justify-content: flex-end !important;
  }
}

/* 1050px–1499px */
@media (min-width: 1050px) and (max-width: 1499px) {
  .sis-header-stack.et_pb_menu .et_pb_menu_inner_container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .sis-header-stack .et_pb_menu__logo-wrap {
    flex: 0 0 100% !important;
    justify-content: center !important;
  }

  .sis-header-stack .et_mobile_nav_menu {
    display: none !important;
  }
}

/* ≤1049px (mobile menu) */
@media (max-width: 1049px) {
  .sis-header-stack .et_pb_menu__menu {
    display: none !important;
  }

  .sis-header-stack .et_mobile_nav_menu {
    display: flex !important;
    margin-left: auto !important;
  }

  .sis-header-stack ul.et_mobile_menu {
    position: fixed !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: 96px !important;
    max-width: 520px !important;
    z-index: 9990 !important;
  }

  html,
  body {
    overflow-x: hidden !important;
  }
}
