html { scrollbar-gutter: stable; }
.oles-menu-icon { display: block; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; }
.oles-menu-icon__top, .oles-menu-icon__bottom { transition: transform 220ms cubic-bezier(.22, 1, .36, 1) 160ms; }
.oles-menu-icon__top path { transform-origin: 16px 9px; }
.oles-menu-icon__bottom path { transform-origin: 16px 23px; }
.oles-menu-icon__top path, .oles-menu-icon__bottom path { transition: transform 220ms cubic-bezier(.22, 1, .36, 1); }
.oles-menu-icon__middle { transform-origin: 16px 16px; transition: opacity 140ms ease 140ms, transform 220ms ease 140ms; }
#header.is-menu-open .oles-menu-icon__top { transform: translateY(7px); transition-delay: 0ms; }
#header.is-menu-open .oles-menu-icon__bottom { transform: translateY(-7px); transition-delay: 0ms; }
#header.is-menu-open .oles-menu-icon__top path { transform: rotate(45deg); transition-delay: 140ms; }
#header.is-menu-open .oles-menu-icon__bottom path { transform: rotate(-45deg); transition-delay: 140ms; }
#header.is-menu-open .oles-menu-icon__middle { opacity: 0; transform: scaleX(.2); transition-delay: 0ms; }
@media (max-width: 991px) {
  html.oles-menu-open { overflow: hidden; }
  #header.oles-tray-enabled { --tray-width: min(28rem, 100%); }
  #header.oles-tray-enabled::before { content: ''; position: fixed; inset: 0; background: rgb(0 0 0 / 35%); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 420ms ease, visibility 420ms; }
  #header.oles-tray-enabled #CollapsingNavbar { display: block !important; position: fixed; inset: 0 auto 0 0; width: var(--tray-width); height: 100dvh; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; padding: max(8rem, env(safe-area-inset-top)) clamp(1.5rem, 5vw, 2.5rem) max(2rem, env(safe-area-inset-bottom)); background: var(--oles-brown); color: var(--oles-cream); visibility: hidden; transform: translateX(-100%); transition: transform 480ms cubic-bezier(.22, 1, .36, 1), visibility 480ms; z-index: 1; }
  #header.oles-tray-enabled .navbar-brand, #header.oles-tray-enabled .navbar-toggler { position: relative; z-index: 2; }
  #header.oles-tray-enabled .navbar-toggler { color: var(--oles-cream); border-color: transparent; padding: 7px; transition: transform 480ms cubic-bezier(.22, 1, .36, 1), background-color 280ms ease, box-shadow 280ms ease; }
  #header.oles-tray-enabled .navbar-nav { padding-top: 0; gap: .75rem; }
  #header.oles-tray-enabled .nav-link { color: var(--oles-cream); font-size: clamp(1.5rem, 4vw, 2rem); min-height: 56px; padding: .65rem .5rem; }
  #header.oles-tray-enabled .navbar-nav > li { opacity: 0; transform: translateX(-18px); transition: opacity 200ms ease, transform 300ms ease; }
  body #header.oles-tray-enabled.is-menu-open { top: 0; z-index: 1100; background: transparent; box-shadow: none; }
  #header.is-menu-open::before { opacity: 1; visibility: visible; pointer-events: auto; }
  #header.oles-tray-enabled.is-menu-open #CollapsingNavbar { visibility: visible; transform: translateX(0); }
  #header.oles-tray-enabled.is-menu-open .navbar-toggler { transform: translateX(min(0px, calc(28rem - 100vw))); }
  #header.is-menu-open .navbar-nav > li { opacity: 1; transform: translateX(0); transition: opacity 320ms ease calc(100ms + var(--menu-order) * 55ms), transform 420ms cubic-bezier(.22, 1, .36, 1) calc(100ms + var(--menu-order) * 55ms); }
}
@media (prefers-reduced-motion: reduce) {
  .oles-menu-icon *, #header.oles-tray-enabled::before, #header.oles-tray-enabled #CollapsingNavbar, #header.oles-tray-enabled .navbar-toggler, #header.oles-tray-enabled .navbar-nav > li { transition: none !important; }
}
