:root {
  --mme-header-bg: #404040;
  --mme-level1-color: #f2f7d6;
  --mme-active: #bfd731;
  --mme-level2-color: #495100;
  --mme-level2-hover-color: #495100;
  --mme-level2-hover-bg: rgba(242, 247, 214, 0.55);
  --mme-level3-color: #4c5614;
  --mme-level3-hover-color: #4c5614;
  --mme-level4-title-color: #495100;
  --mme-level4-title-hover-color: #bfd731;
  --mme-level4-color: #404040;
  --mme-level4-hover-color: #495100;
  --mme-text-color: #404040;
  --mme-dropdown-bg: #ffffff;
  --mme-divider: #dfe3d4;
  --mme-hover-bg: #f2f7d6;
  --mme-radius: 16px;
  --mme-shadow: 0 24px 60px rgba(0, 0, 0, 0.14), 0 4px 14px rgba(0, 0, 0, 0.08);
  --mme-motion: 420ms cubic-bezier(0.22, 1, 0.36, 1);
  --mme-side-panel-column-gap: 32px;
}

.mme-root,
.mme-root * {
  box-sizing: border-box;
}

.mme-root {
  position: relative;
  z-index: 50;
  width: 100%;
  background: var(--mme-header-bg);
  font-family: "Onest", sans-serif;
}

.mme-root a {
  color: inherit;
  text-decoration: none;
}

.mme-root ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mme-root button {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
}

.mme-root [hidden] {
  display: none !important;
}

.mme-navigation {
  width: 100%;
}

.mme-main-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 64px;
  min-height: 96px;
}

.mme-level-1-item {
  position: relative;
}

.mme-level-1-row {
  display: flex;
  align-items: center;
  gap: 3px;
}

.mme-level-1-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 0;
  color: var(--mme-level1-color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -0.2px;
  white-space: nowrap;
  transition: color 180ms ease;
}

.mme-level-1-link:hover,
.mme-level-1-link:focus-visible,
.mme-level-1-link.is-current,
.mme-level-1-item.is-current-item > .mme-level-1-link,
.mme-level-1-item.is-current-item > .mme-level-1-row .mme-level-1-link {
  color: var(--mme-active);
}

.mme-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  background: transparent;
  cursor: pointer;
}

.mme-toggle svg {
  display: block;
  pointer-events: none;
}

.mme-level-1-toggle {
  width: 24px;
  height: 44px;
  color: var(--mme-level1-color);
  transition: color 180ms ease;
}

.mme-level-1-toggle:hover,
.mme-level-1-toggle:focus-visible,
.mme-level-1-toggle[aria-expanded="true"] {
  color: var(--mme-active);
}

.mme-level-1-toggle svg {
  width: 12px;
  height: 12px;
  transform: rotate(90deg);
  transition: transform 220ms ease;
}

.mme-level-1-toggle[aria-expanded="true"] svg {
  transform: rotate(-90deg);
}

.mme-dropdown-panel {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  z-index: 100;
  background: var(--mme-dropdown-bg);
  border-radius: var(--mme-radius);
  box-shadow: var(--mme-shadow);
  color: var(--mme-text-color);
  transform-origin: top center;
  animation: mme-dropdown-enter 220ms ease both;
}

.mme-dropdown-panel::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 0;
  width: 100%;
  height: 20px;
}

@keyframes mme-dropdown-enter {
  from {
    opacity: 0;
    transform: translate(-50%, -8px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }
}

.mme-mega-panel {
  display: grid;
  grid-template-columns: 272px 0fr;
  gap: 0;
  width: 320px;
  max-width: calc(100vw - 32px);
  min-height: 426px;
  padding: 24px;
  overflow: hidden;
  transition:
    width var(--mme-motion),
    grid-template-columns var(--mme-motion),
    gap var(--mme-motion);
}

.mme-mega-panel.mme-has-level4-open,
.mme-mega-panel.mme-has-side-panel-open {
  grid-template-columns: 272px minmax(0, 1fr);
  gap: 32px;
  width: 760px;
}

.mme-mega-panel.mme-has-side-panel-open[data-mme-active-columns="2"] {
  width: 860px;
}

.mme-mega-panel.mme-has-side-panel-open[data-mme-active-columns="3"] {
  width: 1020px;
}

.mme-mega-panel.mme-has-side-panel-open[data-mme-active-columns="4"] {
  width: 1180px;
}

.mme-mega-sidebar {
  width: 272px;
  min-width: 272px;
  padding-right: 0;
  border-right: 1px solid transparent;
  transition:
    padding-right var(--mme-motion),
    border-color 280ms ease;
}

.mme-mega-panel.mme-has-level4-open .mme-mega-sidebar,
.mme-mega-panel.mme-has-side-panel-open .mme-mega-sidebar {
  padding-right: 32px;
  border-right-color: var(--mme-divider);
}

.mme-mega-content {
  min-width: 0;
  max-width: 0;
  min-height: 300px;
  padding: 4px 0 8px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-20px);
  transition:
    max-width var(--mme-motion),
    opacity 260ms ease,
    transform var(--mme-motion),
    visibility 0s linear 420ms;
}

.mme-mega-panel.mme-has-level4-open .mme-mega-content,
.mme-mega-panel.mme-has-side-panel-open .mme-mega-content {
  max-width: 850px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition:
    max-width var(--mme-motion),
    opacity 320ms ease 100ms,
    transform var(--mme-motion),
    visibility 0s linear 0s;
}

.mme-mega-panel.mme-has-level4-open .mme-mega-content {
  max-width: 410px;
}

.mme-mega-content-inner {
  position: relative;
  width: 100%;
  min-width: 360px;
  min-height: 240px;
}

.mme-level-2-group {
  padding: 12px 0 16px;
  border-bottom: 1px solid var(--mme-divider);
}

.mme-level-2-group:first-child {
  padding-top: 0;
}

.mme-level-2-group:last-child {
  border-bottom: 0;
}

.mme-level-2-row {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 40px;
  border-radius: 8px;
  transition: background-color 180ms ease;
}

.mme-level-2-row:hover,
.mme-level-2-row:focus-within,
.mme-level-2-row.is-active {
  background: var(--mme-level2-hover-bg);
}

.mme-level-2-row:hover .mme-level-2-link,
.mme-level-2-row:focus-within .mme-level-2-link,
.mme-level-2-row.is-active .mme-level-2-link,
.mme-level-2-row:hover .mme-level-2-toggle,
.mme-level-2-row:focus-within .mme-level-2-toggle,
.mme-level-2-row.is-active .mme-level-2-toggle {
  color: var(--mme-level2-hover-color);
}

.mme-level-2-link {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 4px;
  color: var(--mme-level2-color);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.mme-level-2-toggle {
  width: 40px;
  height: 40px;
  color: var(--mme-text-color);
}

.mme-level-2-toggle svg {
  transition: transform 240ms ease;
}

.mme-level-2-toggle[aria-expanded="true"] svg {
  transform: rotate(90deg);
}

.mme-level-3-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 10px;
  animation: mme-level3-enter 260ms ease both;
}

@keyframes mme-level3-enter {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mme-level-3-item {
  width: 100%;
}

.mme-level-3-row {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 40px;
  border-radius: 9px;
  transition: background-color 180ms ease;
}

.mme-level-3-row:hover,
.mme-level-3-row:focus-within,
.mme-level-3-row.is-active {
  background: var(--mme-hover-bg);
}

.mme-level-3-row:hover .mme-level-3-link,
.mme-level-3-row:focus-within .mme-level-3-link,
.mme-level-3-row.is-active .mme-level-3-link,
.mme-level-3-row:hover .mme-level-3-toggle,
.mme-level-3-row:focus-within .mme-level-3-toggle,
.mme-level-3-row.is-active .mme-level-3-toggle {
  color: var(--mme-level3-hover-color);
}

.mme-level-3-link {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 40px;
  padding: 8px 0 8px 24px;
  color: var(--mme-level3-color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.mme-level-3-link-full {
  width: 100%;
  padding-right: 16px;
  border-radius: 9px;
  transition: background-color 180ms ease;
}

.mme-level-3-link-full:hover,
.mme-level-3-link-full:focus-visible {
  background: var(--mme-hover-bg);
  color: var(--mme-level3-hover-color);
}

.mme-level-3-toggle {
  width: 40px;
  height: 40px;
  color: var(--mme-level3-color);
}

.mme-level-3-toggle svg {
  transition: transform 260ms ease;
}

.mme-level-3-toggle[aria-expanded="true"] svg {
  transform: rotate(90deg);
}

.mme-level-4-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-14px) translateY(6px);
  transition:
    opacity 220ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 300ms;
}

.mme-level-4-panel.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0) translateY(0);
  transition:
    opacity 320ms ease 90ms,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
}

.mme-level-4-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 4px 24px 14px;
  border-bottom: 1px solid var(--mme-divider);
  color: var(--mme-level4-title-color);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  transition:
    color 180ms ease,
    padding-left 180ms ease;
}

.mme-level-4-title:hover,
.mme-level-4-title:focus-visible {
  padding-left: 28px;
  color: var(--mme-level4-title-hover-color);
}

.mme-level-4-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 5px 24px 0 !important;
}

.mme-level-4-list li {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 260ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mme-level-4-panel.is-active .mme-level-4-list li {
  opacity: 1;
  transform: translateY(0);
}

.mme-level-4-panel.is-active .mme-level-4-list li:nth-child(1) { transition-delay: 140ms; }
.mme-level-4-panel.is-active .mme-level-4-list li:nth-child(2) { transition-delay: 190ms; }
.mme-level-4-panel.is-active .mme-level-4-list li:nth-child(3) { transition-delay: 240ms; }
.mme-level-4-panel.is-active .mme-level-4-list li:nth-child(4) { transition-delay: 290ms; }
.mme-level-4-panel.is-active .mme-level-4-list li:nth-child(n+5) { transition-delay: 330ms; }

.mme-level-4-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  color: var(--mme-level4-color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  transition:
    color 180ms ease,
    padding-left 180ms ease;
}

.mme-level-4-link:hover,
.mme-level-4-link:focus-visible {
  padding-left: 6px;
  color: var(--mme-level4-hover-color);
}

/* Three-level side-panel mode
-------------------------------------------------- */
.mme-mega-panel.mme-has-side-panel-items .mme-mega-content-inner {
  min-width: 0;
}

.mme-side-panel-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-14px) translateY(6px);
  transition:
    opacity 220ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 300ms;
}

.mme-side-panel-panel.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0) translateY(0);
  transition:
    opacity 320ms ease 90ms,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
}

/* Side-panel titles intentionally reuse .mme-level-4-title styling. */

.mme-side-panel-list {
  display: grid;
  grid-auto-flow: column;
  align-items: start;
  gap: 4px var(--mme-side-panel-column-gap);
  width: 100%;
  padding: 12px 0 0 !important;
}

.mme-side-panel-item {
  min-width: 0;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 260ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mme-side-panel-panel.is-active .mme-side-panel-item {
  opacity: 1;
  transform: translateY(0);
}

.mme-side-panel-panel.is-active .mme-side-panel-item:nth-child(1) { transition-delay: 120ms; }
.mme-side-panel-panel.is-active .mme-side-panel-item:nth-child(2) { transition-delay: 150ms; }
.mme-side-panel-panel.is-active .mme-side-panel-item:nth-child(3) { transition-delay: 180ms; }
.mme-side-panel-panel.is-active .mme-side-panel-item:nth-child(n+4) { transition-delay: 210ms; }

.mme-side-panel-link.mme-level-3-link {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 9px;
  white-space: normal;
  transition:
    color 180ms ease,
    background-color 180ms ease;
}

.mme-side-panel-link.mme-level-3-link:hover,
.mme-side-panel-link.mme-level-3-link:focus-visible {
  padding-left: 10px;
  background: var(--mme-hover-bg);
  color: var(--mme-level3-hover-color);
}

.mme-side-panel-custom-html {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--mme-divider);
  color: var(--mme-text-color);
  font-size: 14px;
  line-height: 1.6;
}

.mme-side-panel-custom-html > :first-child {
  margin-top: 0;
}

.mme-side-panel-custom-html > :last-child {
  margin-bottom: 0;
}

.mme-side-panel-custom-html a {
  color: var(--mme-level2-color);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mme-side-panel-custom-html a:hover,
.mme-side-panel-custom-html a:focus-visible {
  color: var(--mme-level2-hover-color);
}

.mme-simple-panel {
  width: 290px;
  max-width: calc(100vw - 32px);
  padding: 24px;
}

.mme-simple-item {
  padding: 12px 0;
  border-bottom: 1px solid var(--mme-divider);
}

.mme-simple-item:first-child {
  padding-top: 0;
}

.mme-simple-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.mme-simple-link {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  color: var(--mme-level2-color);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  transition: color 180ms ease;
}

.mme-simple-link:hover,
.mme-simple-link:focus-visible {
  color: var(--mme-level2-hover-color);
}

.mme-simple-submenu {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 0 0 28px !important;
}

.mme-simple-sublink {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  color: var(--mme-level3-color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  transition:
    color 180ms ease,
    padding-left 180ms ease;
}

.mme-simple-sublink:hover,
.mme-simple-sublink:focus-visible {
  padding-left: 4px;
  color: var(--mme-level3-hover-color);
}

.mme-item-icon {
  display: inline-flex;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: currentColor;
  line-height: 0;
}

.mme-item-icon svg,
.mme-item-icon img {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
}

/* Inline SVG icons inherit currentColor unless the menu item is configured to keep original colors. */
.mme-item-icon-svg {
  color: inherit;
}

.mme-item-icon-svg svg {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
}

.mme-item-icon-svg:not(.mme-item-icon-original-colors) svg:not([fill="none"]),
.mme-item-icon-svg:not(.mme-item-icon-original-colors) svg [fill]:not([fill="none"]) {
  fill: currentColor;
}

.mme-item-icon-svg:not(.mme-item-icon-original-colors) svg[stroke]:not([stroke="none"]),
.mme-item-icon-svg:not(.mme-item-icon-original-colors) svg [stroke]:not([stroke="none"]) {
  stroke: currentColor;
}

.mme-item-icon-raster img {
  object-fit: contain;
}

.mme-toggle:focus-visible,
.mme-root a:focus-visible {
  outline: 2px solid var(--mme-active);
  outline-offset: 2px;
}

.mme-notice,
.mme-elementor-placeholder {
  padding: 12px 16px;
  border: 1px dashed #b9b9b9;
  background: #fff;
  color: #404040;
  font-family: "Onest", sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 980px) {
  .mme-main-menu {
    gap: 30px;
  }

  .mme-mega-panel {
    position: fixed;
    top: 88px;
    left: 16px;
    transform: none;
    animation-name: mme-dropdown-enter-fixed;
  }

  .mme-mega-panel.mme-has-level4-open,
  .mme-mega-panel.mme-has-side-panel-open {
    width: min(760px, calc(100vw - 32px));
  }

  .mme-mega-panel.mme-has-side-panel-open[data-mme-active-columns="2"],
  .mme-mega-panel.mme-has-side-panel-open[data-mme-active-columns="3"],
  .mme-mega-panel.mme-has-side-panel-open[data-mme-active-columns="4"] {
    width: calc(100vw - 32px);
  }

  @keyframes mme-dropdown-enter-fixed {
    from {
      opacity: 0;
      transform: translateY(-8px) scale(0.985);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
}

@media (max-width: 720px) {
  .mme-main-menu {
    justify-content: flex-start;
    gap: 24px;
    min-height: 72px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .mme-main-menu::-webkit-scrollbar {
    display: none;
  }


  .mme-mega-panel,
  .mme-mega-panel.mme-has-level4-open,
  .mme-mega-panel.mme-has-side-panel-open {
    top: 68px;
    right: 16px;
    left: 16px;
    display: block;
    width: auto;
    min-height: auto;
    max-height: calc(100vh - 92px);
    padding: 20px;
    overflow-y: auto;
  }

  .mme-mega-sidebar {
    width: 100%;
    min-width: 0;
    padding-right: 0;
    padding-bottom: 0;
    border-right: 0;
    border-bottom: 1px solid transparent;
    transition:
      padding-bottom var(--mme-motion),
      border-color 280ms ease;
  }

  .mme-mega-panel.mme-has-level4-open .mme-mega-sidebar,
  .mme-mega-panel.mme-has-side-panel-open .mme-mega-sidebar {
    padding-right: 0;
    padding-bottom: 22px;
    border-right: 0;
    border-bottom-color: var(--mme-divider);
  }

  .mme-mega-content {
    max-width: none;
    max-height: 0;
    min-height: 0;
    padding: 0;
    transform: translateY(-12px);
    transition:
      max-height var(--mme-motion),
      padding var(--mme-motion),
      opacity 260ms ease,
      transform var(--mme-motion),
      visibility 0s linear 420ms;
  }

  .mme-mega-panel.mme-has-level4-open .mme-mega-content,
  .mme-mega-panel.mme-has-side-panel-open .mme-mega-content {
    max-width: none;
    max-height: 520px;
    padding-top: 22px;
    transform: translateY(0);
    transition:
      max-height var(--mme-motion),
      padding var(--mme-motion),
      opacity 320ms ease 80ms,
      transform var(--mme-motion),
      visibility 0s linear 0s;
  }

  .mme-mega-content-inner {
    min-width: 0;
    min-height: 180px;
  }

  .mme-simple-panel {
    position: fixed;
    top: 68px;
    right: 16px;
    left: auto;
    width: min(320px, calc(100vw - 32px));
    transform: none;
    animation-name: mme-dropdown-enter-fixed;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mme-root *,
  .mme-root *::before,
  .mme-root *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Elementor Kit compatibility
--------------------------------------------------
Elementor Site Settings commonly output selectors such as:
.elementor-kit-{id} a and .elementor-kit-{id} button.
The selectors below deliberately have greater specificity while remaining
below the widget-generated {{WRAPPER}} selectors, so Elementor controls still
win when the user changes typography, colors, spacing, or icon sizes.
-------------------------------------------------- */

body .mme-root a,
body .mme-root button {
  font-family: inherit;
  text-transform: none;
  text-decoration: none;
  letter-spacing: inherit;
}

body .mme-root button.mme-toggle {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  min-width: 0;
  line-height: 1;
}

body .mme-root .mme-level-1-link {
  color: var(--mme-level1-color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -0.2px;
}

body .mme-root .mme-level-1-link:hover,
body .mme-root .mme-level-1-link:focus-visible,
body .mme-root .mme-level-1-link.is-current,
body .mme-root .mme-level-1-item.is-current-item > .mme-level-1-link,
body .mme-root .mme-level-1-item.is-current-item > .mme-level-1-row .mme-level-1-link {
  color: var(--mme-active);
}

body .mme-root button.mme-level-1-toggle {
  color: var(--mme-level1-color);
}

body .mme-root button.mme-level-1-toggle:hover,
body .mme-root button.mme-level-1-toggle:focus-visible,
body .mme-root button.mme-level-1-toggle[aria-expanded="true"] {
  color: var(--mme-active);
}

body .mme-root .mme-level-2-link,
body .mme-root .mme-simple-link {
  color: var(--mme-level2-color);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

body .mme-root button.mme-level-2-toggle {
  color: var(--mme-text-color);
}

body .mme-root .mme-level-2-row:hover .mme-level-2-link,
body .mme-root .mme-level-2-row:focus-within .mme-level-2-link,
body .mme-root .mme-level-2-row.is-active .mme-level-2-link,
body .mme-root .mme-level-2-row:hover button.mme-level-2-toggle,
body .mme-root .mme-level-2-row:focus-within button.mme-level-2-toggle,
body .mme-root .mme-level-2-row.is-active button.mme-level-2-toggle,
body .mme-root .mme-simple-link:hover,
body .mme-root .mme-simple-link:focus-visible {
  color: var(--mme-level2-hover-color);
}

body .mme-root .mme-level-3-link,
body .mme-root .mme-simple-sublink {
  color: var(--mme-level3-color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

body .mme-root button.mme-level-3-toggle {
  color: var(--mme-level3-color);
}

body .mme-root .mme-level-3-row:hover .mme-level-3-link,
body .mme-root .mme-level-3-row:focus-within .mme-level-3-link,
body .mme-root .mme-level-3-row.is-active .mme-level-3-link,
body .mme-root .mme-level-3-row:hover button.mme-level-3-toggle,
body .mme-root .mme-level-3-row:focus-within button.mme-level-3-toggle,
body .mme-root .mme-level-3-row.is-active button.mme-level-3-toggle,
body .mme-root .mme-simple-sublink:hover,
body .mme-root .mme-simple-sublink:focus-visible {
  color: var(--mme-level3-hover-color);
}

body .mme-root .mme-level-4-title {
  color: var(--mme-level4-title-color);
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

body .mme-root .mme-level-4-title:hover,
body .mme-root .mme-level-4-title:focus-visible {
  color: var(--mme-level4-title-hover-color);
}

body .mme-root .mme-level-4-link {
  color: var(--mme-level4-color);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

body .mme-root .mme-level-4-link:hover,
body .mme-root .mme-level-4-link:focus-visible {
  color: var(--mme-level4-hover-color);
}


/* v1.1.3: nested-menu state hardening
-------------------------------------------------- */
body .mme-root .mme-level-2-group.mme-has-children > .mme-level-2-row > button.mme-level-2-toggle,
body .mme-root .mme-level-3-item.mme-has-children > .mme-level-3-row > button.mme-level-3-toggle {
  display: inline-flex;
  flex: 0 0 40px;
  opacity: 1;
  visibility: visible;
}

body .mme-root .mme-level-2-group.mme-has-children > .mme-level-2-row > button.mme-level-2-toggle svg,
body .mme-root .mme-level-3-item.mme-has-children > .mme-level-3-row > button.mme-level-3-toggle svg {
  display: block;
  width: 16px;
  height: 16px;
  opacity: 1;
  visibility: visible;
}

body .mme-root .mme-level-3-list[hidden] {
  display: none !important;
}

/* --------------------------------------------------------------------------
 * Responsive mobile drilldown layout
 * -------------------------------------------------------------------------- */

.mme-root {
  --mme-mobile-bg: #3d4d00;
  --mme-mobile-divider: rgba(242, 247, 214, 0.18);
  --mme-mobile-level1: #f2f7d6;
  --mme-mobile-level2: #f2f7d6;
  --mme-mobile-level3: #f2f7d6;
  --mme-mobile-level4: #f2f7d6;
  --mme-mobile-muted: #bfd731;
  --mme-mobile-accent: #c9e735;
  --mme-mobile-accent-icon: #334100;
  --mme-mobile-panel-padding: 12px;
  --mme-mobile-child-indent: 12px;
  --mme-mobile-icon-gap: 12px;
  --mme-mobile-panel-min-height: 440px;
  --mme-mobile-screen-motion: 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mme-mobile-navigation {
  display: none;
  width: 100%;
}

.mme-mode-mobile .mme-desktop-navigation {
  display: none !important;
}

.mme-mode-mobile .mme-mobile-navigation {
  display: block;
}

.mme-mode-desktop .mme-mobile-navigation {
  display: none !important;
}

.mme-mobile-drilldown {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--mme-mobile-bg);
  color: var(--mme-mobile-level1);
}

.mme-mobile-stage {
  position: relative;
  width: 100%;
  min-height: var(--mme-mobile-panel-min-height);
  overflow: hidden;
  transition: height var(--mme-mobile-screen-motion);
}

.mme-mobile-screen {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: var(--mme-mobile-panel-padding);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(100%);
  transition:
    transform var(--mme-mobile-screen-motion),
    opacity 260ms ease,
    visibility 0s linear 420ms;
  will-change: transform, opacity;
}

.mme-mobile-screen.is-after {
  transform: translateX(100%);
}

.mme-mobile-screen.is-before {
  transform: translateX(-28%);
  opacity: 0;
  visibility: hidden;
}

.mme-mobile-screen.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition:
    transform var(--mme-mobile-screen-motion),
    opacity 300ms ease 60ms,
    visibility 0s linear 0s;
}

.mme-mobile-root-list,
.mme-mobile-child-list,
.mme-mobile-screen-list,
.mme-mobile-root-item,
.mme-mobile-list-item {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mme-mobile-root-item {
  border-bottom: 1px solid var(--mme-mobile-divider);
}

.mme-mobile-root-item:last-child {
  border-bottom: 0;
}

.mme-mobile-root-row,
.mme-mobile-list-row {
  display: flex;
  align-items: center;
  width: 100%;
}

.mme-mobile-root-row {
  min-height: 56px;
}

.mme-mobile-list-row {
  min-height: 44px;
}

body .mme-root .mme-mobile-root-link,
body .mme-root .mme-mobile-list-link,
body .mme-root .mme-mobile-screen-title-link {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: var(--mme-mobile-icon-gap);
  min-width: 0;
  margin: 0;
  text-decoration: none;
  white-space: normal;
}

body .mme-root .mme-mobile-root-link {
  min-height: 56px;
  padding: 10px 10px 10px 0;
  color: var(--mme-mobile-level1);
  font-size: 18px;
  font-weight: 500;
  line-height: 26px;
}

.mme-mobile-root-toggle {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 999px !important;
  color: var(--mme-mobile-level1);
  transition:
    color 220ms ease,
    background-color 220ms ease,
    transform 220ms ease;
}

.mme-mobile-root-toggle svg {
  width: 16px;
  height: 16px;
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mme-mobile-root-item.is-open > .mme-mobile-root-row .mme-mobile-root-toggle,
.mme-mobile-root-toggle[aria-expanded="true"] {
  color: var(--mme-mobile-accent-icon);
  background: var(--mme-mobile-accent) !important;
}

.mme-mobile-root-item.is-open > .mme-mobile-root-row .mme-mobile-root-toggle svg,
.mme-mobile-root-toggle[aria-expanded="true"] svg {
  transform: rotate(90deg);
}

.mme-mobile-root-branch {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  transition:
    grid-template-rows 360ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 220ms ease,
    visibility 0s linear 360ms;
}

.mme-mobile-root-branch-inner {
  min-height: 0;
  overflow: hidden;
}

.mme-mobile-root-item.is-open > .mme-mobile-root-branch {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  transition:
    grid-template-rows 420ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 280ms ease 60ms,
    visibility 0s linear 0s;
}

.mme-mobile-child-list {
  padding: 0 0 14px var(--mme-mobile-child-indent) !important;
}

.mme-mobile-child-list .mme-mobile-list-item {
  border-bottom: 0;
}

body .mme-root .mme-mobile-list-link {
  min-height: 44px;
  padding: 8px 10px 8px 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

body .mme-root .mme-mobile-level-2-link,
body .mme-root button.mme-mobile-level-2-toggle {
  color: var(--mme-mobile-level2);
}

body .mme-root .mme-mobile-level-3-link,
body .mme-root button.mme-mobile-level-3-toggle {
  color: var(--mme-mobile-level3);
}

body .mme-root .mme-mobile-level-4-link {
  color: var(--mme-mobile-level4);
}

.mme-mobile-screen-toggle {
  flex: 0 0 32px;
  width: 32px;
  height: 44px;
  color: inherit;
}

.mme-mobile-screen-toggle svg {
  width: 16px;
  height: 16px;
}

body .mme-root .mme-mobile-root-link:hover,
body .mme-root .mme-mobile-root-link:focus-visible,
body .mme-root .mme-mobile-root-link.is-current,
body .mme-root .mme-mobile-list-link:hover,
body .mme-root .mme-mobile-list-link:focus-visible,
body .mme-root .mme-mobile-list-link.is-current,
body .mme-root .mme-mobile-screen-title-link:hover,
body .mme-root .mme-mobile-screen-title-link:focus-visible,
body .mme-root .mme-mobile-screen-title-link.is-current {
  color: var(--mme-mobile-accent);
}

.mme-mobile-screen-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 0 18px;
}

body .mme-root button.mme-mobile-back {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  width: auto;
  min-height: 28px;
  padding: 0 !important;
  color: var(--mme-mobile-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
}

.mme-mobile-back svg {
  width: 16px;
  height: 16px;
}

body .mme-root .mme-mobile-screen-title-link {
  width: auto;
  min-height: 32px;
  margin-left: 26px;
  padding: 0;
  color: var(--mme-mobile-level1);
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
}

.mme-mobile-screen-list {
  padding-top: 4px !important;
}

.mme-mobile-screen-list > .mme-mobile-list-item {
  border-bottom: 1px solid var(--mme-mobile-divider);
}

.mme-mobile-screen-list > .mme-mobile-list-item:last-child {
  border-bottom: 0;
}

.mme-mobile-screen-list .mme-mobile-list-row {
  min-height: 58px;
}

.mme-mobile-screen-list .mme-mobile-list-link {
  min-height: 58px;
  padding: 14px 10px 14px 0;
  font-weight: 600;
}

.mme-mobile-screen-list .mme-mobile-screen-toggle {
  height: 58px;
}

.mme-mobile-navigation .mme-item-icon {
  flex-basis: 18px;
  width: 18px;
  height: 18px;
}

.mme-mobile-navigation .mme-item-icon svg,
.mme-mobile-navigation .mme-item-icon img {
  width: 18px;
  height: 18px;
}

body .mme-root button.mme-mobile-root-toggle {
  border-radius: 999px !important;
}

body .mme-root button.mme-mobile-root-toggle,
body .mme-root button.mme-mobile-screen-toggle,
body .mme-root button.mme-mobile-back {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body .mme-root button.mme-mobile-screen-toggle,
body .mme-root button.mme-mobile-back {
  background: transparent !important;
}

.mme-mobile-root-toggle:focus-visible,
.mme-mobile-screen-toggle:focus-visible,
.mme-mobile-back:focus-visible,
.mme-mobile-root-link:focus-visible,
.mme-mobile-list-link:focus-visible,
.mme-mobile-screen-title-link:focus-visible {
  outline: 2px solid var(--mme-mobile-accent);
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .mme-mode-responsive.mme-breakpoint-tablet .mme-desktop-navigation {
    display: none !important;
  }

  .mme-mode-responsive.mme-breakpoint-tablet .mme-mobile-navigation {
    display: block;
  }
}

@media (max-width: 767px) {
  .mme-mode-responsive.mme-breakpoint-mobile .mme-desktop-navigation {
    display: none !important;
  }

  .mme-mode-responsive.mme-breakpoint-mobile .mme-mobile-navigation {
    display: block;
  }
}

@media (min-width: 1025px) {
  .mme-mode-responsive.mme-breakpoint-tablet .mme-mobile-navigation {
    display: none !important;
  }

  .mme-mode-responsive.mme-breakpoint-tablet .mme-desktop-navigation {
    display: block;
  }
}

@media (min-width: 768px) {
  .mme-mode-responsive.mme-breakpoint-mobile .mme-mobile-navigation {
    display: none !important;
  }

  .mme-mode-responsive.mme-breakpoint-mobile .mme-desktop-navigation {
    display: block;
  }
}
