/* Scoped to the existing Blocksy header and its mobile drawer. */
#header [data-device="desktop"] nav[data-id="menu"] {
  position: relative !important;
}
#header [data-device="desktop"] nav[data-id="menu"] > ul {
  position: static !important;
}
#header [data-device="desktop"] nav[data-id="menu"] > ul > li.menu-item-has-children {
  position: static !important;
}
#header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu {
  --theme-link-initial-color: #f7f5f0;
  --theme-link-hover-color: #e5c480;
  --theme-link-active-color: #e5c480;
  --theme-font-size: 15px;
  --dropdown-divider: none;
  position: absolute !important;
  inset-inline-start: var(--ngnav-left, auto) !important;
  inset-inline-end: 0 !important;
  top: var(--ngnav-top, 100%) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 6px;
  width: min(340px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: var(--ngnav-height, min(680px, 70vh));
  max-height: var(--ngnav-height, min(680px, 70dvh));
  margin: 0 !important;
  padding: 16px !important;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #5b4a2c !important;
  border-radius: 10px !important;
  background: #17191c !important;
  box-shadow: 0 18px 42px #0005 !important;
  text-align: start;
  scrollbar-width: thin;
  scrollbar-color: #a78a51 #17191c;
  z-index: 50;
}
#header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu:has(> li:nth-child(7)) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(900px, calc(100vw - 32px)) !important;
}
#header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu > li {
  display: block !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu > li > a.ct-menu-link {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  min-height: 60px;
  height: 100%;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid transparent !important;
  border-radius: 6px;
  background: transparent !important;
  color: #f7f5f0 !important;
  font-family: inherit;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: break-word;
  text-decoration: none !important;
  text-transform: none !important;
}
#header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu > li > a.ct-menu-link:hover,
#header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu > li > a.ct-menu-link:focus-visible,
#header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu > li.current-menu-item > a.ct-menu-link {
  border-color: #685432 !important;
  background: #262725 !important;
  color: #e5c480 !important;
}
#header [data-ngnav-ready] {
  display: flex;
  align-items: center;
}
#header [data-ngnav-ready] > a.ct-menu-link {
  padding-inline-end: 4px !important;
}
#header [data-ngnav-ready] > a > .ct-toggle-dropdown-desktop {
  display: none !important;
}
#header [data-ngnav-ready] > .ct-toggle-dropdown-desktop-ghost {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px;
  background: transparent !important;
  color: #e5c480 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  cursor: pointer;
}
#header [data-ngnav-ready] > .ct-toggle-dropdown-desktop-ghost svg {
  width: 12px;
  height: 12px;
  fill: currentColor;
  transition: transform .16s ease;
}
#header [data-ngnav-ready][data-ngnav-open] > .ct-toggle-dropdown-desktop-ghost svg {
  transform: rotate(180deg);
}
#header [data-ngnav-ready] > ul.sub-menu {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(6px) !important;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}
#header [data-ngnav-ready][data-ngnav-open] > ul.sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
#header [data-ngnav-ready] > button:focus-visible,
#offcanvas :is(a, button):focus-visible {
  outline: 2px solid #e5c480 !important;
  outline-offset: 3px;
}
#offcanvas {
  --side-panel-width: min(440px, 100vw) !important;
}
#offcanvas .ct-panel-inner {
  background: #141619 !important;
  color: #f7f5f0 !important;
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-panel-content-inner {
  width: 100%;
  max-width: none;
  text-align: left;
}
#offcanvas .mobile-menu {
  --theme-link-initial-color: #f7f5f0;
  --theme-link-hover-color: #e5c480;
  --theme-link-active-color: #e5c480;
  width: 100%;
}
#offcanvas .mobile-menu :is(ul, li) {
  min-width: 0;
}
#offcanvas .mobile-menu .ct-menu-link {
  min-height: 48px;
  padding-block: 12px !important;
  color: #f7f5f0 !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  white-space: normal;
  text-align: left;
}
#offcanvas .mobile-menu .sub-menu {
  margin-block: 4px 12px;
  margin-inline: 0 !important;
  padding-inline: 12px 0 !important;
  border-inline-start: 1px solid #685432;
  background: transparent !important;
}
#offcanvas .mobile-menu .sub-menu .ct-menu-link {
  padding-inline: 12px !important;
  font-size: 15px !important;
  font-weight: 400;
  overflow-wrap: break-word;
}
#offcanvas .mobile-menu :is(.current-menu-item, .current-menu-ancestor) > :is(a, .ct-sub-menu-parent) > a,
#offcanvas .mobile-menu .current-menu-item > a,
#offcanvas .mobile-menu .ct-menu-link:hover {
  color: #e5c480 !important;
}
#offcanvas :is(.ct-toggle-close, .ct-toggle-dropdown-mobile) {
  min-width: 44px;
  min-height: 44px;
  color: #e5c480 !important;
  --theme-icon-color: #e5c480;
}
#offcanvas :is(.ct-toggle-close, .ct-toggle-dropdown-mobile) svg {
  fill: currentColor;
}
#offcanvas .ngnav-contact {
  padding-top: 20px;
  border-top: 1px solid #393630;
  text-align: left;
}
#offcanvas .ngnav-contact :is(p, a) {
  margin: 0 0 8px;
  color: #d4d1ca;
  font-size: 15px;
  line-height: 1.6;
}
#offcanvas .ngnav-contact a {
  display: block;
  min-height: 44px;
  padding-block: 8px;
  color: #e5c480;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#offcanvas .ngnav-placeholder-social {
  display: none !important;
}
@media (min-width: 1000px) and (max-width: 1199px) {
  #header [data-device="desktop"] nav[data-id="menu"] > ul > li > ul.sub-menu:has(> li:nth-child(7)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(740px, calc(100vw - 32px)) !important;
  }
}
@media (max-width: 999.98px) {
  #header [data-device="mobile"] .site-logo-container {
    --logo-max-height: 58px !important;
  }
  #offcanvas [data-id="offcanvas-logo"] {
    --logo-max-height: 58px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #header [data-ngnav-ready] > ul.sub-menu,
  #header [data-ngnav-ready] > button svg {
    transition: none !important;
  }
}
