/* components.navigation.index */
/* components.navigation.menu */
/* mixins.space */
/* vars.ci */
/* mixins.selectors */
/* mixins.numbers */
/* :first-in-island-of-class(.special) – Selects the first element from an island of siblings have a certain class */
/* :last-in-island-of-class(.special) – Selects the last element from an island of siblings have a certain class */
/* :single-in-island-of-class(.special) – Selects the element that forms a single-element island with that a certain class */
/* mixins.selectors */
/* mixins.fallbacks */
/* components.navigation.menu */
/* components.navigation.utils */
/* MainMenu Vue Legacy */
nav :is(ol, ul)[class] {
  margin: 0;
  padding: 0;
  list-style: none;
}

nav[id] {
  --menu-padding-block: var(--size-1);
  --menu-padding-inline: var(--size-3);
  --menu-label-padding-block: var(--size-3);
  --menu-label-padding-inline: var(--size-4);
}

nav[class|=menu] {
  padding-block: var(--menu-padding-block);
}
nav[class|=menu] > .menu {
  max-width: var(--max-content-width);
  margin-inline: auto;
}

:is(main, footer, aside) nav[aria-labelledby] :is(h1, h2, h3, h4, h5, h6)[id] {
  position: absolute;
  left: -100vw;
  max-width: 1px;
  max-height: 1px;
  padding: 0;
  overflow: hidden;
  border: 0;
}

.menu-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap, 1rem);
  position: relative;
  line-height: var(--font-lineheight-3);
}
.menu-bar > .menu-item :is(.menu-label, .menu-link):focus-visible {
  outline: none;
}
@media (max-width: 49.999em) and (min-width: 36em) {
  .menu-bar > .menu-item {
    font-size: var(--font-size-0);
  }
}

.menu-item {
  position: relative;
  display: block;
}

.menu-label {
  display: inline-block;
  position: relative;
  width: 100%;
  vertical-align: middle;
  -webkit-user-select: none;
  user-select: none;
}
@media (max-width: 35.999em),(min-width: 50em) {
  .menu-label wbr {
    display: block;
  }
}

/* components.navigation.menu-theme */
/* mixins.color    */
/* utilities.hacks */
nav {
  --menu-item-hilight-color: #62b332;
  --menu-item-shadow-color: #243818;
  --menu-item-current-color: #62b332;
  --menu-link-color: #272524;
  --menu-item-bg: var(--surface-10);
  --menu-item-bg-hover: var(--surface-8);
}

:not(nav) > .menu > .menu-item:is(:focus, :focus-within, :hover) {
  background-color: var(--menu-item-bg-hover);
}

[aria-haspopup] > .menu {
  background-color: var(--surface-10);
  box-shadow: var(--shadow-lg);
  clip-path: inset(0em -3em -3em -1px);
}

.menu-link:hover svg {
  --icon-stroke-width: 3px;
}

.sub-wrapper {
  background-color: var(--surface-10);
}
.sub-wrapper .menu {
  outline: var(--border-width) solid var(--color-8);
  outline-offset: calc(-1 * var(--border-width));
}

.page-head[data-open] > nav:not(#menu-main), .page-head[data-open] ~ main {
  transition: filter var(--transition);
}
.page-head[data-open*=true] ~ main {
  filter: blur(4px) grayscale(0.8) opacity(0.4);
}
.page-head[data-open=true] > nav:not(#menu-main) {
  filter: blur(2px);
}

.hamburger {
  border: none;
  background-color: transparent;
}

.menu .menu-link {
  color: var(--menu-link-color);
}
.menu .menu-link:is(#i, :focus, :active, :hover) {
  color: var(--menu-item-hilight-color);
}

li[aria-current=true] > details[open] > summary.menu-label,
.menu[data-oversize] > [aria-haspopup=true]:hover > .menu-link {
  text-shadow: 0 0 1px var(--menu-item-shadow-color);
}

.menu-main .sub-wrapper li:focus-within:has(.-index),
.menu-main .sub-wrapper .menu-item.-index {
  border-bottom: 2px solid var(--border-color);
}

#page-head ~ main {
  transition: opacity var(--transition);
}

#page-head:has(> #menu-main details[open]) ~ main {
  filter: grayscale(0.85);
  opacity: 0.8;
  transition: opacity var(--transition);
  user-select: none;
}

/* components.navigation.mobile-main */
/* mixins.icons */
#hamburger {
  --border-radius: 0;
  --border-width: 0;
  --icon-fill: var(--color-2);
  position: absolute;
  font-size: 1rem;
  left: unset;
  right: var(--space-inside-end);
  top: calc(2 * var(--spacer-start));
  padding: 0;
}

.hamburger, .menu-main-toggle {
  display: none;
}

nav.menu-main {
  --icon-size: 1em;
  --item-block-size: calc((1em * var(--font-lineheight-3)) + (2 * var(--menu-label-padding-block)));
  --wrapper-layout: "cta menu promo" "cta menu promo";
}
nav.menu-main > .menu-bar > :last-child {
  width: min-content;
}
nav.menu-main > .menu > .menu-item[aria-haspopup] {
  position: initial !important;
}
nav.menu-main .menu-item .menu-item {
  width: 100%;
}
nav.menu-main .menu-item :is(.menu-label, .menu-link):focus-visible {
  outline: none;
}
@media (min-width: 36em) and (max-width: 49.999em) {
  nav.menu-main .menu-item {
    font-size: var(--font-size-0);
  }
}
nav.menu-main summary[data-symbol] {
  --widget-cells: max-content var(--icon-size, 1em);
  --widget-gap: 1ch;
}
nav.menu-main span[data-symbol] {
  --widget-cells: 1fr var(--icon-size, 1em);
  --widget-gap: 1ch;
}
nav.menu-main [data-show="55"] {
  display: inline-block;
}
nav.menu-main [data-skip="54"] {
  display: none;
}
@media (min-width: 60em) {
  nav.menu-main [data-show="55"] {
    display: inline-block;
  }
  nav.menu-main [data-skip="55"] {
    display: none;
  }
}

/* components.navigation.mobile-main */
/* components.navigation.menu.features */
.menu-feature {
  --symbol-size: 1.5rem;
  position: relative;
}
@media (min-width: 50em) {
  .menu-feature {
    --symbol-size: 2em;
  }
}
.menu-feature .menu-bar {
  --gap: 1ch;
  max-width: var(--max-content-width);
  margin-inline: auto;
}
.menu-feature .menu-bar .menu-item {
  text-align: center;
}
.menu-feature .menu-bar .menu-item .menu-link {
  -webkit-text-decoration: none;
  text-decoration: none;
  --gap: 0 1ch;
  --widget-cells: auto;
  --widget-areas: "img text";
}
@media (max-width: 49.999em) {
  .menu-feature .menu-bar {
    justify-content: space-around;
  }
  .menu-feature .menu-bar .menu-item:last-of-type {
    display: none;
  }
  .menu-feature .menu-bar .menu-label {
    font-size: var(--font-size-00);
  }
}

@media (max-width: 26.875em) {
  .menu-feature .menu-bar {
    flex-wrap: wrap;
  }
  .menu-feature .menu-bar .menu-item {
    width: 42vw;
    font-size: 0.9em;
  }
}
.menu-feature {
  background-color: var(--menu-item-bg);
}
.menu-feature .menu-label {
  color: inherit;
  background-color: inherit;
}
.menu-feature .menu-label:focus, .menu-feature .menu-label:hover {
  background-color: inherit;
}
:where(:root[data-font=segoe]) .menu-feature li {
  font-weight: var(--font-weight-strong);
}

/* components.navigation.menu-theme */
/* components.navigation.mobile-main */
/* components.navigation.menu.breadcrumbs */
.menu-crumbs {
  --block-spacing-inline: 1ex;
  --crumb-separator: "\BB";
  color: var(--color-5);
  max-width: var(--max-content-width);
  margin-inline: auto;
  padding-inline: var(--spacing);
}
.menu-crumbs .menu-bar {
  align-items: end;
  justify-content: start;
}

.crumbs {
  --gap: var(--block-spacing-inline);
  --menu-item-shadow-color: #243818;
  justify-content: flex-start;
}
@media (max-width: 39.999em) {
  .crumbs {
    padding-block: var(--menu-padding-block);
  }
}
.crumbs > :first-child {
  display: none;
}
.crumbs .menu-item > :any-link {
  -webkit-text-decoration: none;
  text-decoration: none;
  --_cells: var(--text-len, max-content) var(--symbol-size, auto);
  --_areas: "text img";
  display: inline-grid;
  gap: var(--widget-gap, var(--gap, 0));
  align-items: center;
  vertical-align: middle;
  grid-template-columns: var(--widget-cells, var(--_cells, auto));
  grid-template-areas: var(--widget-areas, var(--_areas, none));
}
.crumbs .menu-item > :any-link::after {
  place-self: center;
  transform-origin: center;
  transition: transform 240ms ease-out;
  content: var(--symbol-char, var(--crumb-separator));
  width: auto;
  height: auto;
}
.crumbs .menu-item > :any-link > :first-child {
  grid-area: text;
}
.crumbs .menu-link {
  padding-inline: 0.5ex;
  text-decoration: underline;
  text-decoration: underline solid currentColor;
  text-decoration-thickness: 1px;
  text-decoration: 1px solid underline;
}
.crumbs .menu-link:focus {
  outline: 1px dotted;
}
.crumbs .menu-label {
  white-space: pre;
}
.crumbs .menu-label:not(:nth-child(1)) {
  overflow-x: hidden;
  text-overflow: ellipsis;
  max-width: 20ch;
}
@media (min-width: 40em) {
  .crumbs > :first-child {
    display: inline-block;
  }
}
@media (hover: none) and (pointer: coarse) {
@media not (max-color:2147477350) {
  .crumbs > :last-child,
  .crumbs > :last-child > span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
}
@media not all and (         (hover: none) and (pointer: coarse)) {
@media not (color:2147477350) {
  .crumbs > :last-child,
  .crumbs > :last-child > span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
}

@supports (overscroll-behavior: auto) {
  .menu-crumbs {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
}
.menu-crumbs .menu-item:last-of-type {
  padding-right: var(--menu-padding-inline);
}

.crumbs > :first-child {
  font-weight: var(--font-weight-strong);
  pointer-events: none;
}
.crumbs > :last-child {
  --menu-item-hilight-color: currentColor;
  cursor: auto;
  pointer-events: none;
}

@media (min-width: 36em) {
  header:where([data-has~=features]) {
    --_features: calc(var(--font-size, 1em) + 2 * var(--spacer, 0px));
  }
}
@media (hover: none) and (pointer: coarse) {
  header:where([data-has~=features]) {
    --_features: 0px;
  }
}
