/* KRS: styles apply only to the native Divi Menu with this class. */
.et_pb_menu.krs-native-mega {
  --krs-sub-size: clamp(13px, .8vw, 16px);
  --krs-group-size: clamp(14px, 1vw, 18px);
  --krs-ink: #071522;
  --krs-gold: #87632e;
}
.et_pb_menu.krs-native-mega .et-menu > li > a {
  text-transform: uppercase;
  font-weight: 300 !important;
  background: transparent !important;
  border: 0;
  letter-spacing: .035em;
}
.et_pb_menu.krs-native-mega a:focus-visible {
  outline: 2px solid var(--krs-gold);
  outline-offset: 3px;
}
@media (min-width: 981px) {
  .et_pb_menu.krs-native-mega .et_pb_menu_inner_container,
  .et_pb_menu.krs-native-mega .et_pb_menu__wrap,
  .et_pb_menu.krs-native-mega .et-menu-nav { position: static; }
  .et_pb_menu.krs-native-mega .et-menu > li.krs-services { position: static; }
  .et_pb_menu.krs-native-mega .et-menu > li.krs-services > ul.sub-menu {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    top: 100%;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2vw;
    padding: 2vw !important;
    border-top: 2px solid #bc9861;
    background: #fff;
    max-height: 75vh;
    overflow-y: auto;
    box-shadow: 0 14px 30px rgba(7,21,34,.1);
  }
  .et_pb_menu.krs-native-mega .et-menu > li.krs-services:focus-within > ul.sub-menu {
    visibility: visible; opacity: 1;
  }
  .et_pb_menu.krs-native-mega .et-menu > li.krs-services > ul > li {
    width: auto !important; padding: 0 !important; margin: 0 !important; float: none !important;
  }
  .et_pb_menu.krs-native-mega .et-menu > li.krs-services > ul > li > ul.sub-menu {
    position: static !important; width: 100% !important;
    visibility: inherit !important; opacity: 1 !important;
    display: block !important; padding: 0 !important;
    border: 0 !important; box-shadow: none !important;
    background: transparent; transform: none !important;
  }
  .et_pb_menu.krs-native-mega .et-menu li.krs-services ul li li {
    display: block; width: 100%; padding: 0;
  }
  .et_pb_menu.krs-native-mega .et-menu li.krs-services ul a {
    width: 100% !important; padding: .4em 0 !important;
    font-size: var(--krs-sub-size) !important; font-weight: 400 !important;
    line-height: 1.5 !important; text-transform: none !important;
    letter-spacing: 0; white-space: normal; color: var(--krs-ink);
  }
  .et_pb_menu.krs-native-mega .et-menu li.krs-services ul a:hover {
    color: var(--krs-gold) !important; background: transparent;
  }
  .et_pb_menu.krs-native-mega .et-menu li.krs-services li.krs-menu-heading > a {
    font-size: var(--krs-group-size) !important; font-weight: 300 !important;
    text-transform: uppercase !important; letter-spacing: .045em;
    padding-bottom: .8em !important; margin-bottom: .4em;
    border-bottom: 1px solid #e6dfd4;
  }
  .et_pb_menu.krs-native-mega .et-menu li.krs-services ul .menu-item-has-children > a:after { display: none; }
}
@media (max-width: 980px) {
  .et_pb_menu.krs-native-mega .et_mobile_menu {
    max-height: 70vh; overflow-y: auto; background: #fff;
    border-top: 2px solid #bc9861;
  }
  .et_pb_menu.krs-native-mega .et_mobile_menu > li > a {
    font-size: 16px !important; font-weight: 300 !important;
    text-transform: uppercase; background: transparent;
  }
  .et_pb_menu.krs-native-mega .et_mobile_menu ul a {
    font-size: 14px !important; font-weight: 400 !important;
    line-height: 1.5; text-transform: none;
  }
  .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-menu-heading > a {
    font-weight: 300 !important; text-transform: uppercase;
    background: transparent; letter-spacing: .03em;
  }
}

/* 4.2: readable link states, including Divi Theme Builder selectors. */
.et_pb_menu.krs-native-mega .et-menu a:hover,
.et_pb_menu.krs-native-mega .et-menu a:focus,
.et_pb_menu.krs-native-mega .et_mobile_menu a:hover,
.et_pb_menu.krs-native-mega .et_mobile_menu a:focus,
.et-db #et-boc .et-l .et_pb_menu.krs-native-mega .et-menu a:hover,
.et-db #et-boc .et-l .et_pb_menu.krs-native-mega .et-menu a:focus,
.et-db #et-boc .et-l .et_pb_menu.krs-native-mega .et_mobile_menu a:hover,
.et-db #et-boc .et-l .et_pb_menu.krs-native-mega .et_mobile_menu a:focus {
  color: #87632e !important;
  background-color: transparent !important;
  opacity: 1 !important;
}
.et_pb_menu.krs-native-mega .et-menu li:hover > a,
.et-db #et-boc .et-l .et_pb_menu.krs-native-mega .et-menu li:hover > a {
  color: #87632e !important;
  opacity: 1 !important;
}
/* Hide a submenu only after its accessible toggle has been added. */
@media (max-width: 980px) {
  .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-services-ready { position: relative; }
  .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-services-ready > a { padding-right: 56px !important; }
  .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-services-ready > a:after { display: none !important; }
  .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-services-ready > ul.sub-menu,
  .et-db #et-boc .et-l .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-services-ready > ul.sub-menu { display: none !important; }
  .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-services-open > ul.sub-menu,
  .et-db #et-boc .et-l .et_pb_menu.krs-native-mega .et_mobile_menu li.krs-services-open > ul.sub-menu { display: block !important; }
  .et_pb_menu.krs-native-mega .krs-services-toggle {
    position: absolute; top: 0; right: 0;
    width: 48px; height: 44px; margin: 0; padding: 0;
    display: flex; align-items: center; justify-content: center;
    color: #071522; background: transparent; border: 0;
    font: 26px/1 Arial, sans-serif; cursor: pointer;
  }
  .et_pb_menu.krs-native-mega .krs-services-toggle:hover,
  .et_pb_menu.krs-native-mega .krs-services-toggle:focus-visible { color: #87632e; }
  .et_pb_menu.krs-native-mega .krs-services-toggle:focus-visible { outline: 2px solid #87632e; outline-offset: -3px; }
  .et_pb_menu.krs-native-mega .krs-services-open > .krs-services-toggle span { transform: rotate(180deg); }
}
