body.dhmm-enabled #top-menu li,
body.dhmm-enabled .et-menu li {
  position: relative;
}

body.dhmm-enabled #top-menu li.menu-item-has-children > ul.sub-menu,
body.dhmm-enabled .et-menu li.menu-item-has-children > ul.sub-menu {
  font-family: var(--dhmm-font-family);
}

@media (min-width: 982px) {
  body.dhmm-enabled #top-menu > li.menu-item-has-children,
  body.dhmm-enabled .et-menu > li.menu-item-has-children {
    position: static;
  }

  body.dhmm-enabled #top-menu > li.menu-item-has-children > ul.sub-menu,
  body.dhmm-enabled .et-menu > li.menu-item-has-children > ul.sub-menu {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) translateY(8px);
    max-width: calc(100vw - 32px);
    max-height: var(--dhmm-max-height);
    overflow-y: auto;
    display: grid !important;
    grid-template-columns: repeat(var(--dhmm-columns), minmax(0, 1fr));
    align-items: start;
    gap: var(--dhmm-row-gap) var(--dhmm-column-gap);
    padding: var(--dhmm-panel-padding) !important;
    background: var(--dhmm-panel-bg) !important;
    border: 1px solid var(--dhmm-panel-border) !important;
    border-radius: var(--dhmm-panel-radius) !important;
    box-shadow: var(--dhmm-panel-shadow) !important;
    opacity: 0;
    visibility: hidden;
    transition: var(--dhmm-transition);
    z-index: 99999;
  }

  body.dhmm-enabled #top-menu > li.menu-item-has-children:hover > ul.sub-menu,
  body.dhmm-enabled #top-menu > li.menu-item-has-children.dhmm-open > ul.sub-menu,
  body.dhmm-enabled .et-menu > li.menu-item-has-children:hover > ul.sub-menu,
  body.dhmm-enabled .et-menu > li.menu-item-has-children.dhmm-open > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li {
    width: auto !important;
    display: block;
    padding: 0 !important;
    min-width: 0;
    break-inside: avoid;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu a,
  body.dhmm-enabled .et-menu > li > ul.sub-menu a {
    width: 100% !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--dhmm-padding-y) var(--dhmm-padding-x) !important;
    color: var(--dhmm-panel-text) !important;
    font-size: var(--dhmm-font-size) !important;
    font-weight: 500 !important;
    line-height: 1.25;
    border-radius: calc(var(--dhmm-panel-radius) / 1.8);
    background: transparent !important;
    transition: background .16s ease, color .16s ease, transform .16s ease;
    white-space: normal !important;
  }

  body.dhmm-enabled.dhmm-parent-headings #top-menu > li > ul.sub-menu > li > a,
  body.dhmm-enabled.dhmm-parent-headings .et-menu > li > ul.sub-menu > li > a {
    color: var(--dhmm-panel-text) !important;
    font-size: var(--dhmm-heading-size) !important;
    font-weight: var(--dhmm-font-weight) !important;
    letter-spacing: .01em;
    padding-bottom: calc(var(--dhmm-padding-y) + 2px) !important;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--dhmm-panel-border);
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu a:hover,
  body.dhmm-enabled .et-menu > li > ul.sub-menu a:hover {
    color: var(--dhmm-panel-hover) !important;
    background: rgba(14, 165, 233, .09) !important;
    transform: translateX(2px);
    opacity: 1 !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu ul.sub-menu,
  body.dhmm-enabled .et-menu > li > ul.sub-menu ul.sub-menu {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(var(--dhmm-child-columns), minmax(0, 1fr));
    gap: 2px 8px;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    width: 100% !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu ul.sub-menu li,
  body.dhmm-enabled .et-menu > li > ul.sub-menu ul.sub-menu li {
    width: auto !important;
    padding: 0 !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu ul.sub-menu a,
  body.dhmm-enabled .et-menu > li > ul.sub-menu ul.sub-menu a {
    font-size: var(--dhmm-child-font-size) !important;
    font-weight: 500 !important;
    color: var(--dhmm-panel-muted) !important;
    padding-top: calc(var(--dhmm-padding-y) - 2px) !important;
    padding-bottom: calc(var(--dhmm-padding-y) - 2px) !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu ul.sub-menu ul.sub-menu,
  body.dhmm-enabled .et-menu > li > ul.sub-menu ul.sub-menu ul.sub-menu {
    grid-template-columns: 1fr;
    padding-left: 10px !important;
    border-left: 1px solid var(--dhmm-panel-border) !important;
    margin-left: 6px;
  }
}

@media (max-width: 981px) {
  body.dhmm-enabled .et_mobile_menu,
  body.dhmm-enabled #mobile_menu,
  body.dhmm-enabled #mobile_menu1 {
    background: var(--dhmm-mobile-bg) !important;
    border-top: 3px solid var(--dhmm-mobile-accent) !important;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 16px 38px rgba(15,23,42,.12);
    padding: 10px !important;
  }

  body.dhmm-enabled .et_mobile_menu li,
  body.dhmm-enabled #mobile_menu li,
  body.dhmm-enabled #mobile_menu1 li {
    border: 0 !important;
    position: relative;
  }

  body.dhmm-enabled .et_mobile_menu li a,
  body.dhmm-enabled #mobile_menu li a,
  body.dhmm-enabled #mobile_menu1 li a {
    color: var(--dhmm-mobile-text) !important;
    font-size: var(--dhmm-mobile-font-size) !important;
    line-height: 1.25;
    padding: var(--dhmm-mobile-item-padding) !important;
    border-bottom: 1px solid rgba(17,24,39,.08) !important;
    border-radius: 12px;
    background: transparent !important;
  }

  body.dhmm-enabled .et_mobile_menu li a:hover,
  body.dhmm-enabled #mobile_menu li a:hover,
  body.dhmm-enabled #mobile_menu1 li a:hover {
    color: var(--dhmm-mobile-accent) !important;
    background: rgba(14, 165, 233, .09) !important;
    opacity: 1 !important;
  }

  body.dhmm-enabled .et_mobile_menu .sub-menu,
  body.dhmm-enabled #mobile_menu .sub-menu,
  body.dhmm-enabled #mobile_menu1 .sub-menu {
    padding-left: var(--dhmm-mobile-indent) !important;
    background: transparent !important;
  }

  body.dhmm-enabled.dhmm-mobile-accordion .et_mobile_menu li.menu-item-has-children > .sub-menu,
  body.dhmm-enabled.dhmm-mobile-accordion #mobile_menu li.menu-item-has-children > .sub-menu,
  body.dhmm-enabled.dhmm-mobile-accordion #mobile_menu1 li.menu-item-has-children > .sub-menu {
    display: none !important;
  }

  body.dhmm-enabled.dhmm-mobile-accordion .et_mobile_menu li.menu-item-has-children.dhmm-mobile-open > .sub-menu,
  body.dhmm-enabled.dhmm-mobile-accordion #mobile_menu li.menu-item-has-children.dhmm-mobile-open > .sub-menu,
  body.dhmm-enabled.dhmm-mobile-accordion #mobile_menu1 li.menu-item-has-children.dhmm-mobile-open > .sub-menu {
    display: block !important;
  }

  body.dhmm-enabled .et_mobile_menu .sub-menu li a,
  body.dhmm-enabled #mobile_menu .sub-menu li a,
  body.dhmm-enabled #mobile_menu1 .sub-menu li a {
    font-size: calc(var(--dhmm-mobile-font-size) - 1px) !important;
    opacity: .94;
  }

  body.dhmm-enabled .et_mobile_menu li.menu-item-has-children > a,
  body.dhmm-enabled #mobile_menu li.menu-item-has-children > a,
  body.dhmm-enabled #mobile_menu1 li.menu-item-has-children > a {
    font-weight: 700 !important;
    padding-right: 48px !important;
  }

  body.dhmm-enabled.dhmm-mobile-accordion .dhmm-toggle {
    position: absolute;
    top: 6px;
    right: 5px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--dhmm-mobile-accent);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    z-index: 2;
  }

  body.dhmm-enabled.dhmm-mobile-accordion .dhmm-toggle:before {
    content: '+';
  }

  body.dhmm-enabled.dhmm-mobile-accordion li.dhmm-mobile-open > .dhmm-toggle:before {
    content: '−';
  }
}

@media (min-width: 982px) {
  body.dhmm-enabled.dhmm-nested-click #top-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu,
  body.dhmm-enabled.dhmm-nested-click .et-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu,
  body.dhmm-enabled.dhmm-nested-hover #top-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu,
  body.dhmm-enabled.dhmm-nested-hover .et-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
    display: none !important;
  }


  body.dhmm-enabled.dhmm-nested-click #top-menu > li > ul.sub-menu > li.menu-item-has-children > a,
  body.dhmm-enabled.dhmm-nested-click .et-menu > li > ul.sub-menu > li.menu-item-has-children > a,
  body.dhmm-enabled.dhmm-nested-hover #top-menu > li > ul.sub-menu > li.menu-item-has-children > a,
  body.dhmm-enabled.dhmm-nested-hover .et-menu > li > ul.sub-menu > li.menu-item-has-children > a {
    cursor: pointer;
  }

  body.dhmm-enabled.dhmm-nested-click #top-menu > li > ul.sub-menu > li.menu-item-has-children > a:after,
  body.dhmm-enabled.dhmm-nested-click .et-menu > li > ul.sub-menu > li.menu-item-has-children > a:after,
  body.dhmm-enabled.dhmm-nested-hover #top-menu > li > ul.sub-menu > li.menu-item-has-children > a:after,
  body.dhmm-enabled.dhmm-nested-hover .et-menu > li > ul.sub-menu > li.menu-item-has-children > a:after {
    content: '+';
    margin-left: 12px;
    color: var(--dhmm-panel-hover);
    font-weight: 700;
  }

  body.dhmm-enabled.dhmm-nested-click #top-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a,
  body.dhmm-enabled.dhmm-nested-click .et-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a,
  body.dhmm-enabled.dhmm-nested-hover #top-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a,
  body.dhmm-enabled.dhmm-nested-hover .et-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a {
    color: var(--dhmm-panel-hover) !important;
    background: rgba(14, 165, 233, .09) !important;
  }

  body.dhmm-enabled.dhmm-nested-click #top-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a:after,
  body.dhmm-enabled.dhmm-nested-click .et-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a:after,
  body.dhmm-enabled.dhmm-nested-hover #top-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a:after,
  body.dhmm-enabled.dhmm-nested-hover .et-menu > li > ul.sub-menu > li.menu-item-has-children.dhmm-nested-open > a:after {
    content: '-';
  }
}


@media (min-width: 982px) {
  body.dhmm-enabled.dhmm-nested-click #top-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu,
  body.dhmm-enabled.dhmm-nested-click .et-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu,
  body.dhmm-enabled.dhmm-nested-hover #top-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu,
  body.dhmm-enabled.dhmm-nested-hover .et-menu > li > ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
    display: none !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li {
    display: none;
    grid-column: 1 / -1;
    width: 100% !important;
    padding: 14px 0 0 0 !important;
    margin: 6px 0 0 0 !important;
    border-top: 1px solid var(--dhmm-panel-border);
    list-style: none !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li.dhmm-active-panel-open,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li.dhmm-active-panel-open {
    display: block !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-active-panel-list,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-active-panel-list {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    display: grid !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 4px 16px;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-layout-vertical,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-layout-vertical {
    grid-template-columns: 1fr !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-layout-horizontal-grid,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-layout-horizontal-grid {
    grid-template-columns: repeat(var(--dhmm-child-columns), minmax(0, 1fr)) !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-layout-auto-grid,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-layout-auto-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-active-panel-list > li,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-active-panel-list > li {
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-active-panel-list a,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.dhmm-active-panel-li > ul.dhmm-active-panel-list a {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    color: var(--dhmm-panel-muted) !important;
    font-size: var(--dhmm-child-font-size) !important;
    font-weight: 500 !important;
    padding: calc(var(--dhmm-padding-y) - 1px) var(--dhmm-padding-x) !important;
    white-space: normal !important;
  }
}


/* v1.4.1: Remove desktop expand icons from mega menu heading cards.
   Divi can inject its own icon-font arrows on menu-item-has-children links,
   so this override hides both the plugin indicator and Divi's default pseudo element. */
@media (min-width: 982px) {
  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.menu-item-has-children > a:after,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.menu-item-has-children > a:after {
    content: none !important;
    display: none !important;
    margin: 0 !important;
  }

  body.dhmm-enabled #top-menu > li > ul.sub-menu > li.menu-item-has-children > a,
  body.dhmm-enabled .et-menu > li > ul.sub-menu > li.menu-item-has-children > a {
    justify-content: flex-start !important;
    padding-right: var(--dhmm-padding-x) !important;
  }
}
