/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --osds-main-nav-level0-item-border: rgba(
    0,
    0,
    0,
    0
  ); /* Top and bottom border on desktop and left border when hamburger for level 0 menu items. */
  --osds-main-nav-overlay-bg: rgba(
    0,
    0,
    0,
    0.5
  ); /* The backdrop color when the hamburger menu is open. */
  --osds-main-nav-menu-title-font-weight: var(--osds-font-weight-bold);
  --osds-main-nav-menu-title-padding-y: var(--osds-spacing-global-s);
  --osds-main-nav-menu-title-padding-x: var(--osds-spacing-global-m);
  --osds-main-nav-menu-title-font-size: var(--osds-font-size-s);
  --osds-main-nav-menu-title-line-height: var(--osds-line-height-global-comfortable);
  --osds-main-nav-text-font-size: var(--osds-font-size-s);
  --osds-main-nav-text-font-weight: var(--osds-font-weight-bold);
  --osds-main-nav-level0-item-border-width: var(--osds-border-global-md);
  --osds-main-nav-level0-item-padding-stacked: var(--osds-spacing-global-s);
  --osds-main-nav-level0-item-gap-stacked: var(--osds-spacing-global-m);
  --osds-main-nav-level0-item-padding-x-inline: var(--osds-spacing-global-m);
  --osds-main-nav-level0-item-padding-y-inline: var(--osds-spacing-global-s);
  --osds-main-nav-level0-item-gap-inline: var(--osds-spacing-global-xs);
  --osds-main-nav-level0-toggle-icon-padding-x: var(--osds-spacing-global-xxs);
  --osds-main-nav-level0-toggle-border-width: var(--osds-border-global-sm);
  --osds-main-nav-level0-toggle-radius: var(--osds-border-radius-global-s);
  --osds-main-nav-submenu-border-width: var(--osds-border-global-md);
  --osds-main-nav-submenu-border-highlight: var(
    --osds-color-global-gray-100
  ); /* Highlight border when a submenu or sibling panel is open. */
  --osds-main-nav-submenu-level1-item-padding-y: var(--osds-spacing-global-xs);
  --osds-main-nav-submenu-level1-item-padding-x: var(--osds-spacing-global-m);
  --osds-main-nav-submenu-level2-divider-width: var(
    --osds-border-global-sm
  ); /* Left rule width for nested level-2 items. */
  --osds-main-nav-submenu-level2-indent: var(--osds-spacing-global-l);
  --osds-main-nav-submenu-level2-last-item-margin-bottom: var(--osds-spacing-global-m);
  --osds-main-nav-submenu-level2-item-padding-y: var(--osds-spacing-global-xxs);
  --osds-main-nav-submenu-level2-item-padding-x: var(--osds-spacing-global-m);
  --osds-main-nav-submenu-bg: var(
    --osds-color-brand-primary-surface
  ); /* Background for flyout and nested submenu panels. */
  --osds-main-nav-submenu-text: var(
    --osds-color-brand-primary-deep
  ); /* Text color for nested links (levels 1+). */
  --osds-main-nav-submenu-border: var(
    --osds-color-brand-white-surface
  ); /* Outer border for level 1 submenu panel. */
  --osds-main-nav-submenu-level1-item-bg-highlight: var(
    --osds-color-brand-white-surface
  ); /* Highlight background when a sibling menu item panel is open. */
  --osds-main-nav-submenu-level2-divider: var(
    --osds-color-brand-primary-light
  ); /* Left rule for nested level-2 items. */
  --osds-main-nav-container-bg: var(
    --osds-color-customer-navigation-background
  ); /* Background color for the entire main navigation bar. */
  --osds-main-nav-hamburger-container-bg: var(
    --osds-color-customer-navigation-background
  ); /* Background color for the hamburger container. */
  --osds-main-nav-menu-title-text: var(
    --osds-color-customer-navigation-text
  ); /* Menu title label visible in the hamburger menu. */
  --osds-main-nav-level0-item-text: var(
    --osds-color-customer-navigation-text
  ); /* Text color for level-0 items. */
  --osds-main-nav-level0-item-border-active: var(
    --osds-color-customer-navigation-active-item-background
  ); /* Active/open indicator border for level-0 items (desktop underline, hamburger left accent). */
  --osds-main-nav-level0-toggle-bg: var(
    --osds-color-customer-navigation-text
  ); /* Submenu expand/collapse control background. */
  --osds-main-nav-level0-toggle-bg-active: var(
    --osds-color-customer-navigation-active-item-background
  ); /* Background when the submenu is open (is-active). */
  --osds-main-nav-level0-toggle-icon: var(
    --osds-color-customer-navigation-background
  ); /* Chevron/icon color on the level-0 toggle. */
  --osds-main-nav-level0-toggle-icon-active: var(
    --osds-color-customer-navigation-active-item-text
  ); /* Chevron/icon color when the toggle is active (open submenu). */
  --osds-main-nav-search-icon-fill: var(
    --osds-color-customer-navigation-text
  ); /* SVG fill for the search icon (.main-navigation__search-icon). */
}

.main-navigation {
  display: flex;
  flex: 1 1 auto; /* Grow to fill space in a header, but shrink if needed */
  align-items: center;
  width: 100%;
  min-width: 50px;
  font: var(--osds-font-body);
  background-color: var(--osds-main-nav-container-bg);
}

.main-navigation .menu-header-wrapper {
    background-color: var(--osds-main-nav-container-bg);
  }

.main-navigation:not(.force-hamburger) .menu-header-wrapper {
      display: none;
    }

.main-navigation:not(.force-hamburger) .menu-wrapper {
      position: static;
      display: block;
      height: auto;
      background: transparent;
      visibility: visible;
      transform: none;
      overflow-y: visible; /* Prevent scrollbars on desktop */
    }

.main-navigation:not(.force-hamburger) .menu-item--level-0 {
      border-bottom: var(--osds-main-nav-level0-item-border-width) solid
        var(--osds-main-nav-level0-item-border);
      border-top: var(--osds-main-nav-level0-item-border-width) solid
        var(--osds-main-nav-level0-item-border);
    }

.main-navigation:not(.force-hamburger) .menu-item--level-0.open-submenu,
      .main-navigation:not(.force-hamburger) .menu-item--level-0.is-active-trail {
        border-bottom-color: var(--osds-main-nav-level0-item-border-active);
      }

.main-navigation:not(.force-hamburger) .navbar-nav--level-0 {
      display: inline-flex;
      flex-flow: row nowrap;
      justify-content: flex-start;
    }

.main-navigation:not(.force-hamburger) .submenu-wrapper--level-0 {
      position: absolute;
      top: calc(100% + var(--osds-main-nav-level0-item-border-width));
      left: 0;
      z-index: -1; /* Start behind the main navigation wrapper to hightlight level-0 actime item bottom border. */
      width: -moz-max-content;
      width: max-content;
    }

.main-navigation:not(.force-hamburger) .nav-item-wrapper--level-0 {
      border-left: none;
      padding-right: var(--osds-main-nav-level0-item-padding-x-inline);
    }

.main-navigation:not(.force-hamburger) .nav-item-wrapper--level-0 .nav-link--level-0 {
        padding: var(--osds-main-nav-level0-item-padding-y-inline)
          var(--osds-main-nav-level0-item-gap-inline)
          var(--osds-main-nav-level0-item-padding-y-inline)
          var(--osds-main-nav-level0-item-padding-x-inline);
      }

.main-navigation:not(.force-hamburger) .nav-item-wrapper--level-0:not(:has(.submenu-toggle)) .nav-link--level-0 {
        padding-right: var(--osds-main-nav-level0-item-padding-x-inline);
      }

.main-navigation:not(.force-hamburger) .menu-item .nav-item-wrapper {
      justify-content: space-between;
    }

.main-navigation:not(.force-hamburger) .submenu-list--level-1 {
      width: -moz-max-content;
      width: max-content;
      min-width: 180px;
      max-width: 400px;
    }

/* HAMBURGER MODE (Triggered by JS) */

.main-navigation.force-hamburger .menu-header-wrapper {
      display: block;
    }

.main-navigation.force-hamburger .menu-wrapper {
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      max-width: 600px;
      background-color: var(--osds-main-nav-hamburger-container-bg);
      visibility: hidden;
      transition:
        transform 0.3s ease-in-out, visibility 0.3s;
      transform: translateX(-100%);
      overflow-y: auto;
    }

.main-navigation.force-hamburger .menu-wrapper.is-open {
        visibility: visible;
        transform: translateX(0);
      }

.main-navigation.force-hamburger .navbar-nav--level-0 {
      flex-direction: column;
      width: 100%;
    }

.main-navigation.force-hamburger .nav-item-wrapper--level-0 {
      padding-right: var(--osds-main-nav-level0-item-padding-stacked);
      border-left: var(--osds-main-nav-level0-item-border-width) solid
        var(--osds-main-nav-level0-item-border);
    }

.main-navigation.force-hamburger .nav-item-wrapper--level-0 .nav-link--level-0 {
        flex-grow: 1;
        padding: var(--osds-main-nav-level0-item-padding-stacked)
          var(--osds-main-nav-level0-item-gap-stacked)
          var(--osds-main-nav-level0-item-padding-stacked)
          var(--osds-main-nav-level0-item-padding-stacked);
      }

.main-navigation.force-hamburger .nav-item-wrapper--level-0:not(:has(.submenu-toggle)) .nav-link--level-0 {
        padding-right: var(--osds-main-nav-level0-item-padding-stacked);
      }

.main-navigation.force-hamburger .menu-item--level-0.open-submenu .nav-item-wrapper--level-0, .main-navigation.force-hamburger .menu-item--level-0.is-active-trail .nav-item-wrapper--level-0 {
        border-left-color: var(--osds-main-nav-level0-item-border-active);
      }

.main-navigation .menu-title-toggle {
    width: 100%;
    padding: var(--osds-main-nav-menu-title-padding-y) var(--osds-main-nav-menu-title-padding-x);
    font-family: var(--osds-font-family-primary);
    text-align: left;
    background: transparent;
    border: none;
    cursor: pointer;
  }

.main-navigation .menu-title {
    margin: 0;
    font-size: var(--osds-main-nav-menu-title-font-size);
    font-weight: var(--osds-main-nav-menu-title-font-weight);
    line-height: var(--osds-main-nav-menu-title-line-height);
    color: var(--osds-main-nav-menu-title-text);
    pointer-events: none;
  }

.main-navigation .navbar-nav {
    list-style: none;
    margin: 0;
    padding: 0;
  }

/* Level 0 Row */

.main-navigation .navbar-nav--level-0 {
    display: flex;
    flex-direction: column;
  }

.main-navigation .navbar-nav--level-0 .menu-item--level-0 {
      position: relative;
    }

.main-navigation .navbar-nav--level-0 .dropdown-icon--level-0 {
      color: var(--osds-main-nav-level0-toggle-icon);
    }

.main-navigation .navbar-nav--level-0 .nav-link--level-0 {
      flex-grow: 0;
      white-space: nowrap;
    }

.main-navigation .submenu-toggle--level-0 {
    display: inline-flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    background: transparent;
  }

.main-navigation .submenu-toggle--level-0 .dropdown-icon--level-0 {
      background: var(--osds-main-nav-level0-toggle-bg);
      border-radius: var(--osds-main-nav-level0-toggle-radius);
      transition: background 0.2s;
    }

.main-navigation .submenu-toggle--level-0.is-active .dropdown-icon--level-0, .main-navigation .submenu-toggle--level-0:hover .dropdown-icon--level-0, .main-navigation .submenu-toggle--level-0:active .dropdown-icon--level-0 {
        color: var(--osds-main-nav-level0-toggle-icon-active);
        background: var(--osds-main-nav-level0-toggle-bg-active);
      }

.main-navigation .is-active-trail .submenu-toggle--level-0 .dropdown-icon--level-0 {
      color: var(--osds-main-nav-level0-toggle-icon-active);
      background: var(--osds-main-nav-level0-toggle-bg-active);
    }

.main-navigation .nav-item-wrapper--level-0 {
    align-items: center;
    gap: 0;
  }

.main-navigation .nav-item-wrapper--level-0:not(:has(.submenu-toggle)) {
      padding-right: 0;
    }

.main-navigation .grid-transition-wrapper {
    display: grid;
    overflow: hidden;
    transition: grid-template-rows 0.2s ease-in-out;
    grid-template-rows: 0fr;
  }

.main-navigation .grid-transition-wrapper.is-open {
      grid-template-rows: 1fr;
    }

.main-navigation .submenu-inner {
    min-height: 0; /* Required for grid animation */
  }

.main-navigation .submenu-list {
    display: block;
    min-width: 0;
    min-height: 0;
    background: var(--osds-main-nav-submenu-bg);
  }

.main-navigation .submenu-list--level-1 {
    border: var(--osds-main-nav-submenu-border-width) solid var(--osds-main-nav-submenu-border);
    border-top: 0;
  }

.main-navigation .submenu-list--level-1.open {
      border-color: var(--osds-main-nav-submenu-border-highlight);
    }

/* Shared Item Styling */

.main-navigation .menu-item .nav-item-wrapper {
      display: flex;
    }

.main-navigation .menu-item .nav-link {
      flex-grow: 1;
      font-size: var(--osds-main-nav-text-font-size);
      font-weight: var(--osds-main-nav-text-font-weight);
      -webkit-text-decoration: none;
      text-decoration: none;
      color: var(--osds-main-nav-level0-item-text);
    }

.main-navigation .menu-item .nav-link:hover {
        -webkit-text-decoration: underline;
        text-decoration: underline;
      }

.main-navigation .menu-item .nav-link--text-only:hover {
        -webkit-text-decoration: none;
        text-decoration: none;
      }

.main-navigation .menu-item .nav-link--level-1,
    .main-navigation .menu-item .nav-link--level-2 {
      color: var(--osds-main-nav-submenu-text);
    }

.main-navigation .menu-item--level-1 .nav-link--level-1,
    .main-navigation .menu-item--level-1 .submenu-toggle--level-1 {
      padding: var(--osds-main-nav-submenu-level1-item-padding-y)
        var(--osds-main-nav-submenu-level1-item-padding-x);
    }

.main-navigation .menu-item--level-1:not(:last-child) {
      border-bottom: var(--osds-main-nav-submenu-border-width) solid
        var(--osds-main-nav-submenu-border);
    }

.main-navigation .menu-item--level-1:not(:last-child).open-sibling-submenu {
        border-bottom-color: var(--osds-main-nav-submenu-border-highlight);
      }

.main-navigation .menu-item--level-1.has-submenu .submenu-toggle--level-1 {
      border-left: var(--osds-main-nav-submenu-border-width) solid
        var(--osds-main-nav-submenu-border);
      background: transparent;
    }

.main-navigation .menu-item--level-1.has-submenu .submenu-toggle--level-1.is-active {
        border-left-color: transparent;
      }

.main-navigation .menu-item--level-1.open-sibling-submenu {
    background-color: var(--osds-main-nav-submenu-level1-item-bg-highlight);
  }

.main-navigation .menu-item--level-1.open-sibling-submenu .submenu-toggle--level-1 {
      border-left-color: var(--osds-main-nav-submenu-border-highlight);
    }

.main-navigation .menu-item--level-2 {
    border-left: var(--osds-main-nav-submenu-level2-divider-width) solid
      var(--osds-main-nav-submenu-level2-divider);
    margin-left: var(--osds-main-nav-submenu-level2-indent);
    border-bottom: none;
  }

.main-navigation .menu-item--level-2:last-child {
      margin-bottom: var(--osds-main-nav-submenu-level2-last-item-margin-bottom);
    }

.main-navigation .menu-item--level-2 .nav-link--level-2 {
      padding: var(--osds-main-nav-submenu-level2-item-padding-y)
        var(--osds-main-nav-submenu-level2-item-padding-x);
    }

.main-navigation .menu-item--level-1.is-active-trail > .nav-item-wrapper > .nav-link, .main-navigation .menu-item--level-2.is-active-trail > .nav-item-wrapper > .nav-link {
      -webkit-text-decoration: underline;
      text-decoration: underline;
    }

.main-navigation .submenu-toggle {
    padding: 0;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
  }

.main-navigation .submenu-toggle .dropdown-icon {
      display: flex;
      padding: 0 var(--osds-main-nav-level0-toggle-icon-padding-x);
    }

.main-navigation .submenu-toggle .dropdown-icon svg {
        transition: transform 0.2s;
      }

.main-navigation .submenu-toggle.is-active .dropdown-icon svg {
      transform: rotate(180deg);
    }

.main-navigation__search {
    flex-shrink: 0;
  }

.main-navigation__open-search {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    margin-right: var(--osds-main-nav-level0-item-gap-inline);
    margin-left: var(--osds-main-nav-level0-item-gap-inline);
    -webkit-text-decoration: none;
    text-decoration: none;
  }

.main-navigation.force-hamburger .main-navigation__open-search {
    margin-left: 0;
  }

.main-navigation__search-icon {
    display: block;
    fill: var(--osds-main-nav-search-icon-fill);
  }

body.menu-active:has(.main-navigation.force-hamburger) {
  overflow: hidden;
}

body.menu-active:has(.main-navigation.force-hamburger)::after {
    position: fixed;
    z-index: 1;
    background: var(--osds-main-nav-overlay-bg);
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }

/* Utility class added from JS to prevents the drawer from "sliding" shut when the layout swaps. */

.main-navigation.no-transition * {
  transition: none !important;
}
