html { font-size: 96%; }
.nav-panel { display: none; }
.nav-dropdown, .nav-flyout { display: none; }
.nav-item:hover > .nav-dropdown,
.nav-item:focus-within > .nav-dropdown { display: block; }
.nav-sub:hover > .nav-flyout,
.nav-sub:focus-within > .nav-flyout { display: block; }
@media (min-width: 901px) {
  .nav-toggle { display: none !important; }
  .nav-panel {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    max-height: none !important;
    width: auto;
    flex-direction: row;
    align-items: center;
    overflow: visible !important;
    border-width: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
}
@media (max-width: 900px) {
  body.nav-open .nav-panel { display: flex; flex-direction: column; }
  .nav-dropdown, .nav-flyout {
    position: static;
    display: none;
    min-width: 0;
    margin: 0;
    box-shadow: none;
    border: 0;
  }
  .nav-item.is-expanded > .nav-dropdown,
  .nav-sub.is-expanded > .nav-flyout { display: block; }
  .nav-item:hover > .nav-dropdown,
  .nav-item:focus-within > .nav-dropdown,
  .nav-sub:hover > .nav-flyout,
  .nav-sub:focus-within > .nav-flyout { display: none; }
  .nav-item.is-expanded > .nav-dropdown,
  .nav-sub.is-expanded > .nav-flyout { display: block; }
}
summary::-webkit-details-marker { display: none; }
summary { list-style: none; }

:is(body.theme-red, body.theme-harbor, body.theme-lagoon) summary i { transition: transform .25s ease; }
:is(body.theme-red, body.theme-harbor, body.theme-lagoon) details > :not(summary) {
  overflow: hidden;
  transition: height .28s ease;
}
:is(body.theme-red, body.theme-harbor, body.theme-lagoon) a,
:is(body.theme-red, body.theme-harbor, body.theme-lagoon) summary {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
@media (min-width: 901px) {
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-dropdown,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-flyout {
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
  }
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-item:hover > .nav-dropdown,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-item:focus-within > .nav-dropdown,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-sub:hover > .nav-flyout,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-sub:focus-within > .nav-flyout {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
}
@media (max-width: 900px) {
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon).nav-open .nav-panel { animation: theme-red-nav-in .22s ease; }
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-dropdown,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-flyout {
    display: block;
    position: static;
    max-height: 0;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: none;
    margin: 0;
    border: 0;
    box-shadow: none;
    transition: max-height .28s ease;
  }
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-item.is-expanded > .nav-dropdown,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-sub.is-expanded > .nav-flyout,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-item.is-expanded:hover > .nav-dropdown,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-sub.is-expanded:hover > .nav-flyout,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-item.is-expanded:focus-within > .nav-dropdown,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) .nav-sub.is-expanded:focus-within > .nav-flyout {
    max-height: 34rem;
    pointer-events: auto;
  }
}
@keyframes theme-red-nav-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) *,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) *::before,
  :is(body.theme-red, body.theme-harbor, body.theme-lagoon) *::after {
    animation: none !important;
    transition: none !important;
  }
}
