.elementor-widget-zonefive_fixed_underlay_navigation,
.elementor-widget-zonefive_fixed_underlay_navigation > .elementor-widget-container {
  position: static;
}

.zonefive-fixed-underlay-navigation {
  --menu-width: 30em;
  --underlay-dark-opacity: 0.3;
  --underlay-border-color: #fff;
  --underlay-border-width: 1em;
  --underlay-corner-size: 2em;
  --z5-underlay-open-color: #111111;
  --z5-header-action-height: 64px;
  --z5-header-action-padding-x: 28px;
  --z5-header-action-radius: 6px;
  --z5-header-action-font-size: 18px;
  --z5-header-action-font-weight: 600;
  --z5-header-action-letter-spacing: 0.01em;
  --z5-header-action-text-transform: none;
  font-size: 16px;
}

.zonefive-fixed-underlay-navigation,
.zonefive-fixed-underlay-navigation * {
  box-sizing: border-box;
}

.zonefive-fixed-underlay-navigation a {
  color: inherit;
  text-decoration: none;
}

.zonefive-fixed-underlay-navigation button {
  font: inherit;
}

.z5-underlay-main {
  position: relative;
  z-index: 2;
  will-change: transform;
}

body[data-menu-status="open"] {
  overflow-x: clip;
}


/*
 * v1.6.3-v1.6.5 top-layer hardening.
 * Swiper/Flickity/GSAP widgets often use transformed wrappers with overflow: visible.
 * When the underlay menu is open, the shifted page wrapper must become a paint fence
 * so off-canvas slides cannot visually bleed into the fixed menu layer. v1.6.5 lets only the shifted page overlap slightly underneath the menu panel while the overlay border/corner frame remains aligned to the menu edge.
 */
body[data-menu-status="open"] .z5-underlay-main {
  overflow: clip !important;
  isolation: isolate !important;
  contain: paint !important;
}

body[data-menu-status="open"] .zonefive-fixed-underlay-navigation,
body[data-menu-status="open"] .elementor-widget-zonefive_fixed_underlay_navigation {
  position: relative !important;
  z-index: 2147482900 !important;
  isolation: isolate !important;
}

body[data-menu-status="open"] .underlay-nav__overlay {
  z-index: 2147483000 !important;
}

body[data-menu-status="open"] .underlay-nav__menu {
  z-index: 2147483100 !important;
  isolation: isolate !important;
  transform: translateZ(0);
}

body[data-menu-status="open"] .underlay-nav__header {
  z-index: 2147483200 !important;
}

.underlay-nav__header {
  z-index: 1000;
  color: #fff;
  position: fixed;
  inset: 0 0 auto;
  pointer-events: none;
}

.underlay-nav__bar {
  width: 100%;
  margin-inline: auto;
}

.underlay-nav__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-inline: auto;
  padding: 2.5em;
  pointer-events: auto;
}

.underlay-nav__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: none;
  gap: 12px;
  isolation: isolate;
}

.underlay-nav__logo,
.underlay-nav__menu-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: none;
  width: 6.875em;
  line-height: 1;
  transition: opacity 220ms ease, visibility 220ms ease;
}

.underlay-nav__logo-theme-stack {
  display: grid;
  align-items: center;
  justify-items: start;
  width: 100%;
}

.underlay-nav__logo-theme-asset {
  grid-area: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  transition: opacity var(--z5-logo-theme-fade, 280ms) ease, visibility var(--z5-logo-theme-fade, 280ms) ease;
}

.underlay-nav__logo-theme-asset.is-default {
  opacity: 1;
  visibility: visible;
}

.underlay-nav__logo-theme-asset.is-light-section {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.underlay-nav[data-z5-current-section-theme="light"] .underlay-nav__logo-theme-asset.is-default {
  opacity: 0;
  visibility: hidden;
}

.underlay-nav[data-z5-current-section-theme="light"] .underlay-nav__logo-theme-asset.is-light-section {
  opacity: 1;
  visibility: visible;
}

.underlay-nav[data-menu-status="open"] .underlay-nav__logo,
.underlay-nav.is-editor-static-preview .underlay-nav__logo {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.underlay-nav__logo-image,
.underlay-nav__menu-logo-image,
.underlay-nav__logo svg,
.underlay-nav__menu-logo svg {
  display: block;
  width: 100%;
  height: auto;
}

.underlay-nav__logo.is-lottie-logo {
  overflow: visible;
}

.underlay-nav__logo-lottie {
  --z5-lottie-fallback-ratio: 4;
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: var(--z5-lottie-fallback-ratio) / 1;
  overflow: visible;
}

.underlay-nav__logo-lottie-canvas,
.underlay-nav__logo-lottie-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
}

.underlay-nav__logo-lottie-canvas {
  z-index: 2;
}

.underlay-nav__logo-lottie-canvas svg,
.underlay-nav__logo-lottie-canvas canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  overflow: visible;
}

.underlay-nav__logo-lottie-fallback {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transition: opacity 160ms ease, visibility 160ms ease;
}

.underlay-nav__logo-lottie.is-loaded .underlay-nav__logo-lottie-fallback {
  opacity: 0;
  visibility: hidden;
}

.underlay-nav__logo-lottie.is-error .underlay-nav__logo-lottie-canvas {
  display: none;
}

.underlay-nav__logo-lottie-fallback-image {
  display: block;
  width: 100%;
  height: auto;
}

.underlay-nav__logo-text {
  display: block;
  white-space: nowrap;
  font: inherit;
  font-weight: 700;
}

.underlay-nav__logo-spacer {
  display: block;
  width: 1px;
  height: 1px;
}

.underlay-nav__header-control {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  flex: none;
  line-height: 1;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transform: translateZ(0);
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 220ms ease,
    filter 220ms ease;
}

.underlay-nav__header-control::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.12) 48%, transparent 100%);
  opacity: 0;
  transition: opacity 220ms ease;
}

.underlay-nav__header-control:hover::after,
.underlay-nav__header-control:focus-visible::after {
  opacity: 1;
}

.underlay-nav__header-control > * {
  position: relative;
  z-index: 1;
}

.underlay-nav__header-control:hover,
.underlay-nav__header-control:focus-visible {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  filter: brightness(1.035);
}

.underlay-nav.has-harmonized-header-actions .underlay-nav__header-cta,
.underlay-nav.has-harmonized-header-actions .underlay-nav__toggle {
  width: auto;
  min-height: var(--z5-header-action-height) !important;
  height: var(--z5-header-action-height) !important;
  padding-top: 0 !important;
  padding-right: var(--z5-header-action-padding-x) !important;
  padding-bottom: 0 !important;
  padding-left: var(--z5-header-action-padding-x) !important;
  border-radius: var(--z5-header-action-radius) !important;
  font-size: var(--z5-header-action-font-size) !important;
  font-weight: var(--z5-header-action-font-weight) !important;
  letter-spacing: var(--z5-header-action-letter-spacing) !important;
  text-transform: var(--z5-header-action-text-transform) !important;
  line-height: 1 !important;
}

.underlay-nav.has-harmonized-header-actions .underlay-nav__toggle-label,
.underlay-nav.has-harmonized-header-actions .underlay-nav__program-cta-label {
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: 1 !important;
}

.underlay-nav.has-harmonized-header-actions .underlay-nav__toggle-text {
  height: 1em;
}

.underlay-nav.has-harmonized-header-actions .underlay-nav__toggle-icon {
  margin-bottom: 0;
}

.underlay-nav__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  gap: 0.75em;
  margin: 0;
  padding: 0.9em 1.35em;
  color: inherit;
  background-color: #d32229;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.underlay-nav__toggle:focus-visible,
.underlay-nav__link-large:focus-visible,
.underlay-nav__link-small:focus-visible,
.underlay-nav__submenu-link:focus-visible,
.underlay-nav__submenu-toggle:focus-visible,
.underlay-nav__logo:focus-visible,
.underlay-nav__menu-logo:focus-visible,
.underlay-nav__program-cta:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.underlay-nav__toggle-text {
  display: flex;
  flex-flow: column;
  flex: none;
  align-items: flex-end;
  justify-content: flex-start;
  height: 1.5em;
  overflow: hidden;
}

.underlay-nav__toggle-label {
  flex: none;
  font-size: 1.25em;
  line-height: 1.2;
}

.underlay-nav__toggle-icon {
  display: flex;
  flex-flow: column;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 0.375em;
  width: 1.5em;
  margin-bottom: -0.3em;
}

.underlay-nav__toggle-bar {
  flex: none;
  width: 100%;
  height: 0.125em;
  padding: 0;
  background-color: currentColor;
  transform-origin: center;
}

.underlay-nav__program-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  color: #fff;
  background: #e33b2e;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 180ms ease;
}

.underlay-nav__program-cta-label {
  display: block;
  white-space: nowrap;
  line-height: 1;
}

.underlay-nav__header-cta {
  padding: 0.9em 1.35em;
  color: #fff;
  background-color: #111;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 6px;
  will-change: clip-path, opacity, transform;
}

.underlay-nav__header-cta-icon,
.underlay-nav__panel-cta-icon {
  display: block;
  flex: none;
  width: 1em;
  height: 1em;
  object-fit: contain;
}

.underlay-nav__menu {
  z-index: 1;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-flow: column;
  width: var(--menu-width);
  color: #111;
  background-color: #fff;
  visibility: hidden;
  pointer-events: none;
  clip-path: inset(0 0 0 100%);
  will-change: clip-path;
}

.underlay-nav[data-menu-status="open"] .underlay-nav__menu,
.underlay-nav[data-editor-static-preview="true"] .underlay-nav__menu {
  visibility: visible;
  pointer-events: auto;
}

.underlay-nav__menu-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: none;
  min-height: 7.5em;
  padding: 2.5em 2em 1em;
}

.underlay-nav__menu-logo {
  max-width: 100%;
}

.underlay-nav__menu-logo-asset {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}

.underlay-nav__inner {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  justify-content: space-between;
  flex: 1 1 auto;
  min-height: 0;
  gap: 2em;
  width: 100%;
  padding: 0.75em 2em 2em;
  overflow: auto;
  overscroll-behavior: contain;
}

.underlay-nav__footer {
  display: flex;
  flex-flow: column;
  flex: none;
  width: 100%;
}

.underlay-nav__list {
  display: flex;
  flex-flow: column;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.underlay-nav__list.is--small {
  gap: 0.75em;
}

.underlay-nav__primary-item {
  width: 100%;
}

.underlay-nav__primary-row {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.underlay-nav__link-large {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  padding: 0.75em 1em;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 0.25em;
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease;
  appearance: none;
  -webkit-appearance: none;
}

.underlay-nav__link-large.w--current {
  color: #ededed;
  background-color: #e33b2e;
}

.underlay-nav__link-label {
  display: block;
  min-width: 0;
  letter-spacing: -0.04em;
  font-size: 3.25em;
  line-height: 0.9;
}

.underlay-nav__link-large[data-underlay-submenu-toggle] {
  width: 100%;
}

.underlay-nav__link-trailing {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex: none;
  gap: 0.75em;
  margin-left: auto;
}

.underlay-nav__submenu-toggle,
.underlay-nav__submenu-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 3.25em;
  height: 3.25em;
  min-width: 3.25em;
  padding: 0;
  color: inherit;
  background-color: transparent !important;
  border: 0 solid transparent;
  border-radius: 0;
  box-shadow: none !important;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.underlay-nav__submenu-toggle {
  align-self: stretch;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

/* Prevent Elementor's global button hover color from leaking into the indicator. */
.underlay-nav__submenu-toggle:hover,
.underlay-nav__submenu-toggle:focus-visible,
.underlay-nav__link-large[data-underlay-submenu-toggle]:hover .underlay-nav__submenu-indicator,
.underlay-nav__link-large[data-underlay-submenu-toggle]:focus-visible .underlay-nav__submenu-indicator {
  color: inherit !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.underlay-nav__submenu-toggle-icon {
  display: block;
  width: 1em;
  height: 1em;
  border-right: 0.12em solid currentColor;
  border-bottom: 0.12em solid currentColor;
  transform: translateY(-0.15em) rotate(45deg);
  transform-origin: center;
  transition: transform 260ms ease;
}

.underlay-nav__primary-item.is-submenu-open .underlay-nav__submenu-toggle-icon {
  transform: translateY(0.15em) rotate(225deg);
}

.underlay-nav__submenu {
  height: 0;
  overflow: hidden;
  padding-left: 1.25em;
  opacity: 0;
  visibility: hidden;
}

/*
 * The persistent open state is class-driven. GSAP may safely clear its
 * temporary inline height after the reveal without the panel collapsing
 * back to the base height: 0 declaration.
 */
.underlay-nav__primary-item.is-submenu-open > .underlay-nav__submenu:not([hidden]) {
  height: auto;
  opacity: 1;
  visibility: visible;
}

.underlay-nav__submenu[hidden] {
  display: none;
}

.underlay-nav__submenu-list {
  display: flex;
  flex-flow: column;
  gap: 0.4em;
  width: 100%;
  margin: 0;
  padding: 0.4em 0 0.75em;
  list-style: none;
}

.underlay-nav__submenu-link {
  display: block;
  width: 100%;
  padding: 0.45em 0.75em;
  border-radius: 0.2em;
  font-size: 1.1em;
  line-height: 1.2;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.underlay-nav__submenu-link:hover,
.underlay-nav__submenu-link:focus-visible {
  transform: translateX(0.2em);
}

.underlay-nav__bottom {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  padding-top: 1.5em;
}

.underlay-nav__panel-cta-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin-bottom: 1.25em;
}

.underlay-nav__panel-cta {
  width: 100%;
  padding: 0.9em 1.1em;
}

.underlay-nav__bottom-col {
  display: flex;
  flex-flow: column;
  flex: 1;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1em;
  min-width: 0;
}

.underlay-nav__link-small {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  font-size: 1em;
  line-height: 1.1;
  transition: color 180ms ease;
}

.underlay-nav__link-small.is--faded {
  opacity: 0.5;
}

.underlay-nav__overlay {
  z-index: 100;
  position: fixed;
  inset: 0 -1px 0 0;
  visibility: hidden;
  pointer-events: none;
  cursor: pointer;
  overflow: clip;
}

.underlay-nav__dark {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-color: #000;
}

.underlay-nav__borders {
  position: absolute;
  inset: 0;
  display: flex;
  flex-flow: column;
  align-items: stretch;
  justify-content: space-between;
}

.underlay-nav__border-row {
  display: flex;
  flex-flow: column;
  align-items: flex-end;
  justify-content: flex-start;
}

.underlay-nav__border {
  width: 100%;
  height: var(--underlay-border-width);
  background-color: var(--underlay-border-color);
}

.underlay-nav__corner {
  width: var(--underlay-corner-size);
  height: var(--underlay-corner-size);
  color: var(--underlay-border-color);
  background-image: radial-gradient(circle farthest-side at 0 100%, transparent 99%, var(--underlay-border-color));
  transform-origin: 100% 0;
}

.underlay-nav__corner.is--bottom {
  background-image: radial-gradient(circle farthest-side at 0 0, transparent 99%, var(--underlay-border-color));
  transform-origin: 100% 100%;
}

.underlay-nav__bottom-border {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 1px;
  opacity: 0.15;
  background-color: currentColor;
  transform-origin: 0%;
}

.underlay-nav__item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 1em;
  height: 1em;
  margin-left: auto;
  line-height: 0;
  transition: opacity 180ms ease, transform 180ms ease;
}

.underlay-nav__item-icon-image,
.underlay-nav__item-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.underlay-nav__link-small-label {
  min-width: 0;
}

.admin-bar .underlay-nav__header,
.admin-bar .underlay-nav__menu {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .underlay-nav__header,
  .admin-bar .underlay-nav__menu {
    top: 46px;
  }
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__menu,
.underlay-nav.is-editor-static-preview .underlay-nav__menu {
  z-index: 100002;
  visibility: visible !important;
  pointer-events: auto !important;
  clip-path: inset(0 0 0 0) !important;
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__toggle,
.underlay-nav.is-editor-static-preview .underlay-nav__toggle {
  color: var(--z5-underlay-open-color);
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__header-cta,
.underlay-nav.is-editor-static-preview .underlay-nav__header-cta {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  clip-path: inset(0 0 0 100%);
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__overlay,
.underlay-nav.is-editor-static-preview .underlay-nav__overlay {
  visibility: hidden !important;
  pointer-events: none !important;
}

.underlay-nav[data-editor-static-preview="true"] [data-reveal-l],
.underlay-nav[data-editor-static-preview="true"] [data-reveal-s],
.underlay-nav.is-editor-static-preview [data-reveal-l],
.underlay-nav.is-editor-static-preview [data-reveal-s] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__bottom-border,
.underlay-nav.is-editor-static-preview .underlay-nav__bottom-border {
  transform: scaleX(1) !important;
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__toggle-label,
.underlay-nav.is-editor-static-preview .underlay-nav__toggle-label {
  transform: translateY(-100%);
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__toggle-bar:first-child,
.underlay-nav.is-editor-static-preview .underlay-nav__toggle-bar:first-child {
  transform: translateY(0.25em) rotate(45deg);
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__toggle-bar:last-child,
.underlay-nav.is-editor-static-preview .underlay-nav__toggle-bar:last-child {
  transform: translateY(-0.25em) rotate(-45deg);
}

.underlay-nav[data-editor-static-preview="true"] .underlay-nav__primary-item.is-submenu-open .underlay-nav__submenu,
.underlay-nav.is-editor-static-preview .underlay-nav__primary-item.is-submenu-open .underlay-nav__submenu {
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

.underlay-nav__editor-note {
  display: none;
}

.elementor-editor-active .underlay-nav__editor-note {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 100000;
  display: block;
  max-width: 340px;
  padding: 10px 12px;
  color: #1d2327;
  background: #fff;
  border: 1px solid #dcdcde;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12px;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .zonefive-fixed-underlay-navigation {
    --menu-width: 80vw;
    --z5-header-action-height: 52px;
    --z5-header-action-padding-x: 20px;
    --z5-header-action-font-size: 16px;
  }

  .underlay-nav__container {
    padding: 1.25em;
  }

  .underlay-nav__logo {
    width: 5em;
  }

  .underlay-nav__header-cta.is-hidden-mobile {
    display: none !important;
  }

  .underlay-nav__toggle-text {
    height: 1.25em;
  }

  .underlay-nav__toggle-label {
    font-size: 1em;
  }

  .underlay-nav__menu-header {
    min-height: 5em;
    padding: 1.25em 1.25em 0.75em;
  }

  .underlay-nav__inner {
    padding: 0.5em 1.25em 1.25em;
  }

  .underlay-nav__link-label {
    font-size: 2em;
  }

  .underlay-nav__submenu-link {
    font-size: 0.95em;
  }

  .underlay-nav__bottom {
    flex-flow: column;
    gap: 2em;
    padding-inline: 1em;
  }

  .underlay-nav__bottom-col {
    width: 100%;
  }
}


@media (prefers-reduced-motion: reduce) {
  .underlay-nav__logo-theme-asset {
    transition: none !important;
  }
}
