/**
 * Header dropdown system (generic)
 * - Flat submenu (no deeper levels): single-list dropdown style
 * - Nested submenu (submenu contains children): mega two-column style
 */

/* Remove "custom Exhibit Studio" menu item */
#menu-item-8312 {
  display: none !important;
}

@media (min-width: 1024px) {
  .stm-navigation__default > ul > li.menu-item-has-children {
    --menu-red: #c6050e;
    --menu-radius: 12px;
    --menu-strip: 4px;
    position: relative;
    z-index: 200;
  }

  /* Remove line-bottom underline to avoid double line with dropdown strip */
  .stm-navigation__line_bottom > ul > li.menu-item-has-children::before,
  .stm-navigation__line_bottom > ul > li.menu-item-has-children:hover::before,
  .stm-navigation__line_bottom > ul > li.menu-item-has-children.current-menu-item::before,
  .stm-navigation__line_bottom > ul > li.menu-item-has-children.current-menu-ancestor::before {
    display: none !important;
    content: none !important;
  }

  /* Common top-level caret */
  .stm-navigation__default > ul > li.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > a::after {
    content: "";
    width: 0;
    height: 0;
    margin-top: 2px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #2c2c2c;
    opacity: 0.85;
  }

  /* ---------------- Flat submenu (Custom Solutions/Resources type) ---------------- */
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu {
    left: 0 !important;
    top: 100% !important;
    margin-top: 3px;
    width: max-content !important;
    max-width: min(520px, 92vw) !important;
    padding: var(--menu-strip) 0 0 !important;
    border-radius: var(--menu-radius);
    background: #fff !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    isolation: isolate;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--menu-strip);
    z-index: 50;
    pointer-events: none;
    background: linear-gradient(to right, #ce1a19 0%, #f05a28 35%, #ffb400 50%, #f05a28 65%, #ce1a19 100%);
  }
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li {
    float: none !important;
    display: block;
    width: 100% !important;
    margin: 0 !important;
    background: #fff !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li:not(:last-child) {
    border-bottom: 1px solid #e9e9e9 !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li > a {
    display: block;
    padding: 14px 16px !important;
    margin: 0 !important;
    color: #111 !important;
    font: 600 14px/1.3 "Roboto", "Open Sans", Arial, sans-serif !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    border-left: 3px solid transparent;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li > a:hover,
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li > a:focus-visible {
    background: #f5f5f5 !important;
    color: var(--menu-red) !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li:hover > a,
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li:focus-within > a,
  .stm-navigation__default > ul > li.menu-item-has-children:not(:has(> ul.sub-menu > li.menu-item-has-children)) > ul.sub-menu > li.current-menu-item > a {
    border-left-color: var(--menu-red);
    font-weight: 700 !important;
  }

  /* ---------------- Nested submenu mega (Our Services type) ---------------- */
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) {
    --mega-width: 580px;
    --mega-left: 43%;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu {
    left: 0 !important;
    top: 100% !important;
    margin-top: 3px;
    width: var(--mega-width) !important;
    padding: var(--menu-strip) 0 0 !important;
    border-radius: var(--menu-radius);
    background: #fff !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    isolation: isolate;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--menu-strip);
    z-index: 50;
    pointer-events: none;
    background: linear-gradient(to right, #ce1a19 0%, #f05a28 35%, #ffb400 50%, #f05a28 65%, #ce1a19 100%);
  }

  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li {
    float: none !important;
    display: block;
    width: var(--mega-left) !important;
    margin: 0 !important;
    position: static !important;
    background: #f5f5f5;
    border-bottom: 1px solid #e9e9e9 !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:last-child {
    border-bottom: none !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li > a {
    display: block;
    padding: 14px 16px !important;
    margin: 0 !important;
    background: #f5f5f5 !important;
    color: #111 !important;
    font: 600 14px/1.3 "Roboto", "Open Sans", Arial, sans-serif !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    border-left: 3px solid transparent;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:hover > a,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:focus-within > a {
    background: #efefef !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:hover > a,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:focus-within > a,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li.current-menu-item > a,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li.current-menu-ancestor > a {
    background: #fff !important;
    border-left-color: var(--menu-red);
    font-weight: 700 !important;
    color: #111 !important;
  }

  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li > ul.sub-menu {
    position: absolute !important;
    left: var(--mega-left) !important;
    top: var(--menu-strip) !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 18px 22px !important;
    background: #fff !important;
    list-style: none !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    row-gap: 18px !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 20;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:first-child > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    width: auto;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:hover > ul.sub-menu,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li:focus-within > ul.sub-menu,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li.current-menu-item > ul.sub-menu,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li.current-menu-ancestor > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu:has(> li:nth-child(n + 2):hover) > li:first-child > ul.sub-menu,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu:has(> li:nth-child(n + 2):focus-within) > li:first-child > ul.sub-menu,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu:has(> li:nth-child(n + 2).current-menu-ancestor) > li:first-child > ul.sub-menu,
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu:has(> li:nth-child(n + 2).current-menu-item) > li:first-child > ul.sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li > ul.sub-menu > li {
    border: 0 !important;
    width: 100% !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li > ul.sub-menu > li > a {
    display: flex !important;
    align-items: center !important;
    height: 26px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #111 !important;
    font: 600 14px/1.3 "Roboto", "Open Sans", Arial, sans-serif !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    background: transparent !important;
    transition: color 0.2s ease;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li > ul.sub-menu > li > a:hover {
    color: var(--menu-red) !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children:has(> ul.sub-menu > li.menu-item-has-children) > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  /* Mobile header polish */
  .stm-header.active {
    width: 320px!important;
    padding-left: 0!important;
  }
  .stm-header__row_color_top .stm-socials__icon {
    width: 34px !important;
    height: 34px !important;
  }
  .stm-header__row_color_top .stm-socials__icon i {
    font-size: 14px !important;
    line-height: 34px !important;
  }
  .stm-header__row_color_top .stm-icontext__text,
  .stm-header__row_color_center .stm-icontext__text {
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  /* Drawer sizing */
  .stm-navigation__hamburger > ul,
  .stm-navigation__hamburger_right > ul,
  .stm-navigation__hamburger_left > ul {
    width: 420px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .stm-navigation__hamburger > ul > li a,
  .stm-navigation__hamburger ul > li > a {
    padding: 12px 16px !important;
    color: #333 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    background: transparent !important;
    border-bottom: 0 !important;
    transition: color 0.2s ease, background-color 0.2s ease !important;
  }
  .stm-navigation__hamburger > ul > li:hover > a,
  .stm-navigation__hamburger ul > li:hover > a,
  .stm-navigation__hamburger > ul > li.active > a {
    color: var(--primary, #c6050e) !important;
    background: #f5f5f5 !important;
  }
  .stm-navigation__hamburger > ul > li + li,
  .stm-navigation__hamburger ul.sub-menu > li + li {
    margin-top: 6px !important;
  }

  /* Mobile caret */
  .stm-navigation ul > li.menu-item-has-children > a {
    position: relative;
    padding-right: 28px !important;
  }
  .stm-navigation ul > li.menu-item-has-children > a::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
    transition: transform 0.2s ease;
  }
  .stm-navigation ul > li.menu-item-has-children.active > a::after {
    transform: translateY(-50%) rotate(-135deg);
  }
  .stm-navigation ul li.menu-item-has-children > a .stm_mobile__dropdown:before {
    content: "" !important;
  }

  /* Remove red line + desktop strips on mobile */
  .stm-navigation__line_bottom > ul > li::before,
  .stm-navigation__line_bottom > ul > li:hover::before,
  .stm-navigation__line_bottom > ul > li.current-menu-item::before,
  .stm-navigation__line_bottom > ul > li.current-menu-ancestor::before {
    display: none !important;
    content: "" !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu::before {
    display: none !important;
  }

  /* Generic top-level submenu mobile (no :has for wider mobile support) */
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 10px 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li {
    width: 100% !important;
    background: #f5f5f5 !important;
    border-bottom: 1px solid #e9e9e9 !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li > a {
    display: block !important;
    padding: 14px 16px !important;
    background: #f5f5f5 !important;
    border-left: 0 !important;
    color: #111 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }
  .stm-navigation__default > ul > li {
    padding: 5px 0 !important;
}
  .stm-navigation.heading_font.stm-navigation__default.stm-navigation__default.stm-navigation__line_bottom.stm-navigation__ .sub-menu li a{
    color: #111 !important;
}

  /* Nested second-level submenu mobile */
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > a {
    background: #f5f5f5 !important;
    padding: 14px 16px !important;
    border-left: 0 !important;
    color: #111 !important;
    font-weight: 700 !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
    position: static !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    padding: 0 0 14px 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children.active > ul.sub-menu {
    display: block !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li {
    background: #fff !important;
    border: 0 !important;
    margin: 0 !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li > a {
    margin: 12px 0 0 !important;
    padding: 5px 15px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111 !important;
    background: transparent !important;
    transition: color 0.2s ease !important;
  }
  .stm-navigation__default > ul > li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li > a:hover {
    color: #c6050e !important;
  }
}

