/* v564: stable hamburger/menu motion.
   The trigger stays fixed in place and menu commands fade in without rising. */
:root {
  --lme-hamburger-v564-ease: cubic-bezier(.2, .72, .2, 1);
}

/* The whole three-line button must never jump when the menu opens. */
#sidebarMenuBtn.lme-burger-btn,
#sidebarMenuBtn.lme-burger-btn:hover,
#sidebarMenuBtn.lme-burger-btn:focus-visible,
body.main-menu-popover-open #sidebarMenuBtn.lme-burger-btn,
body.menu-drawer-open #sidebarMenuBtn.lme-burger-btn {
  transform: translate3d(0, 0, 0) scale(1) !important;
  will-change: auto !important;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease !important;
}

#sidebarMenuBtn.lme-burger-btn:active {
  transform: translate3d(0, 0, 0) scale(.965) !important;
  transition: transform 90ms ease-out !important;
}

/* Keep the three bars visually stationary. Opening only changes their lengths. */
#sidebarMenuBtn .lme-burger-lines span,
#sidebarMenuBtn:hover .lme-burger-lines span,
#sidebarMenuBtn:focus-visible .lme-burger-lines span,
body.main-menu-popover-open #sidebarMenuBtn .lme-burger-lines span,
body.menu-drawer-open #sidebarMenuBtn .lme-burger-lines span {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) rotate(0deg) scale(1) !important;
  transition:
    width 180ms var(--lme-hamburger-v564-ease),
    opacity 140ms ease,
    background-color 180ms ease !important;
  will-change: width !important;
}

body.main-menu-popover-open #sidebarMenuBtn .lme-burger-lines span:nth-child(1),
body.menu-drawer-open #sidebarMenuBtn .lme-burger-lines span:nth-child(1) {
  width: 14px !important;
}
body.main-menu-popover-open #sidebarMenuBtn .lme-burger-lines span:nth-child(2),
body.menu-drawer-open #sidebarMenuBtn .lme-burger-lines span:nth-child(2) {
  width: 20px !important;
}
body.main-menu-popover-open #sidebarMenuBtn .lme-burger-lines span:nth-child(3),
body.menu-drawer-open #sidebarMenuBtn .lme-burger-lines span:nth-child(3) {
  width: 17px !important;
}

/* The menu surface fades/scales in around its fixed anchor; there is no vertical travel. */
#mainMenuPopover.lme-burger-menu:not(.hidden),
#mainMenuPopover.lme-burger-menu.is-open,
body.main-menu-popover-open #mainMenuPopover.lme-burger-menu {
  animation: lmeMainMenuPopoverStableV564 190ms var(--lme-hamburger-v564-ease) both !important;
  transform-origin: top left !important;
  will-change: opacity, transform !important;
}

body.main-menu-popover-open #mainMenuPopover .lme-burger-menu-head {
  animation: lmeMainMenuItemStableV564 150ms ease-out backwards !important;
  animation-delay: 20ms !important;
}

body.main-menu-popover-open #mainMenuPopover .lme-burger-menu-item {
  animation: lmeMainMenuItemStableV564 170ms ease-out backwards !important;
  animation-delay: calc(28ms + (var(--menu-item-index, 1) - 1) * 22ms) !important;
}

/* Hover highlights the item without lifting it. */
#mainMenuPopover .lme-burger-menu-item,
#mainMenuPopover .lme-burger-menu-item:hover,
#mainMenuPopover .lme-burger-menu-item:focus-visible {
  transform: translate3d(0, 0, 0) scale(1) !important;
}
#mainMenuPopover .lme-burger-menu-item:active {
  transform: translate3d(0, 0, 0) scale(.985) !important;
}

#mainMenuPopover .lme-burger-menu-item:hover strong,
#mainMenuPopover .lme-burger-menu-item:focus-visible strong,
#mainMenuPopover .lme-burger-menu-item:hover small,
#mainMenuPopover .lme-burger-menu-item:focus-visible small {
  transform: translate3d(0, 0, 0) !important;
}

@keyframes lmeMainMenuPopoverStableV564 {
  from { opacity: 0; transform: translate3d(0, 0, 0) scale(.985); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes lmeMainMenuItemStableV564 {
  from { opacity: 0; transform: translate3d(0, 0, 0) scale(.992); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 720px) {
  #mainMenuPopover.lme-burger-menu:not(.hidden),
  #mainMenuPopover.lme-burger-menu.is-open,
  body.main-menu-popover-open #mainMenuPopover.lme-burger-menu {
    animation-name: lmeMainMenuPopoverStableV564 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #sidebarMenuBtn.lme-burger-btn,
  #sidebarMenuBtn .lme-burger-lines span,
  #mainMenuPopover.lme-burger-menu,
  #mainMenuPopover .lme-burger-menu-head,
  #mainMenuPopover .lme-burger-menu-item {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* Exact specificity guard against the legacy per-line hover offsets. */
#sidebarMenuBtn.lme-burger-btn:hover .lme-burger-lines span:nth-child(1),
#sidebarMenuBtn.lme-burger-btn:hover .lme-burger-lines span:nth-child(2),
#sidebarMenuBtn.lme-burger-btn:hover .lme-burger-lines span:nth-child(3),
#sidebarMenuBtn.lme-burger-btn:focus-visible .lme-burger-lines span:nth-child(1),
#sidebarMenuBtn.lme-burger-btn:focus-visible .lme-burger-lines span:nth-child(2),
#sidebarMenuBtn.lme-burger-btn:focus-visible .lme-burger-lines span:nth-child(3) {
  transform: translate3d(0, 0, 0) rotate(0deg) scale(1) !important;
}
