/* 1.6.3: touch interactions, disclosure menus and platform-independent arrows. */
html body .site-header[data-header] .res-nav-item-head {
  display: flex;
  align-items: stretch;
}
html body .site-header[data-header] .res-nav-item-head .main-nav__link {
  flex: 1 1 auto;
  min-width: 0;
}
html body .site-header[data-header] .res-submenu-toggle {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  color: #e8e3dc;
  cursor: pointer;
  touch-action: manipulation;
}
html body .site-header[data-header] .res-submenu-toggle:hover,
html body .site-header[data-header] .res-submenu-toggle[aria-expanded="true"] { color: #fff; }
.res-submenu-plus { display: block; position: relative; width: 10px; height: 10px; }
.res-submenu-plus::before, .res-submenu-plus::after {
  content: ""; position: absolute; background: currentColor;
  width: 10px; height: 1px; top: 4.5px; left: 0;
}
.res-submenu-plus::after { transform: rotate(90deg); transition: transform .16s ease; }
[aria-expanded="true"] > .res-submenu-plus::after { transform: rotate(0); }
/* Do not rely on opacity/visibility inheritance: a visible child of an
   invisible parent can still receive taps. display:none removes its hit area. */
html body .site-header[data-header] .has-submenu > .submenu {
  display: none;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
html body .site-header[data-header] .has-submenu.res-submenu-open > .submenu {
  display: block;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
html body .site-header[data-header] .main-nav[inert],
html body .site-header[data-header] .main-nav[inert] * { pointer-events: none !important; }
@media(max-width:1100px) {
  html body .site-header[data-header] .main-nav:not(.is-open) {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
  }
  html body .site-header[data-header] .main-nav.is-open {
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  html body .site-header[data-header] .res-submenu-toggle {
    flex-basis: 44px; width: 44px; min-height: 44px;
  }
  html body .site-header[data-header] .res-nav-item-head { width: 100%; }
  html body .site-header[data-header] .has-submenu.res-submenu-open > .submenu {
    margin: 0 0 10px; padding: 4px 8px;
  }
  html body .site-header[data-header] .submenu a {
    display: flex; align-items: center; min-height: 44px;
  }
}
/* Retain a usable no-JavaScript desktop menu, with a strictly closed mobile
   menu rather than a transparent layer of clickable links. */
@media(min-width:1101px) and (hover:hover) {
  html body .site-header[data-header]:not([data-res-initialized]) .has-submenu:hover > .submenu,
  html body .site-header[data-header]:not([data-res-initialized]) .has-submenu:focus-within > .submenu {
    display: block; visibility: visible; opacity: 1; pointer-events: auto;
  }
}
html body .hero-slider[data-res-slider] { touch-action: pan-y pinch-zoom; isolation: isolate; }
html body .hero-slider[data-res-slider] .slide:not(.is-active),
html body .hero-slider[data-res-slider] .slide:not(.is-active) * { pointer-events: none !important; }
html body .hero-slider[data-res-slider] .slide-shade,
html body .hero-slider[data-res-slider] .slide::after { pointer-events: none; }
html body .hero-slider[data-res-dragging] { user-select: none; -webkit-user-select: none; }
html body .hero-slider[data-res-slider] img { -webkit-user-drag: none; }
html body .hero-slider[data-res-slider] .slider-dots button {
  height: 24px; background: transparent; display: inline-flex; align-items: center;
}
html body .hero-slider[data-res-slider] .slider-dots button::before {
  content: ""; position: absolute; left: 0; right: 0; top: 11px; height: 2px; background: rgba(255,255,255,.22);
}
html body .hero-slider[data-res-slider] .slider-dots button::after { top: 11px; bottom: auto; height: 2px; }
.res-slider-pause:focus-visible {
  clip: auto !important; clip-path: none !important; width: auto !important; height: auto !important;
  position: absolute; right: 0; bottom: 28px; overflow: visible !important; white-space: normal;
  padding: 10px 14px; color: #fff; background: #292727; border: 1px solid #eee8df;
  font: 500 11px/1.4 var(--res-font-menu); z-index: 2;
}
/* Same thin currentColor stroke on iOS, Android and desktop. */
html body svg.res-ui-arrow {
  display: inline-block;
  width: 1.15em; height: 1.15em; min-width: 1.15em;
  vertical-align: -.15em; flex: 0 0 auto;
  fill: none; stroke: currentColor; stroke-width: 1.65;
  overflow: visible; pointer-events: none;
}
html body .feature-arrow svg.res-ui-arrow { width: 24px; height: 24px; }
html body .feature-arrow { display: flex; align-items: center; justify-content: flex-end; }
html body .hero-actions .button, html body .closing-actions .button { gap: .55em; }
html body .world-link .res-ui-arrow { margin-left: .3em; }
html body .elementor-button-text .res-ui-arrow { margin-left: .35em; }
