/* KEERS static overrides: lazy images, carousels, mobile menu */

.elementor-widget-slides,
.elementor-widget-n-carousel,
.elementor-widget-image-carousel,
.elementor-widget-reviews,
.elementor-widget-testimonial-carousel,
.elementor-widget-nested-carousel {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
  align-self: stretch !important;
}

.elementor-swiper,
.elementor-slides-wrapper,
.e-n-carousel,
.elementor-main-swiper {
  width: 100% !important;
}

.elementor-slides-wrapper:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
}

.elementor-slides-wrapper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
  width: 100%;
  flex-shrink: 0;
}

/* Elementor video widgets need an injected iframe on the static clone */
.elementor-widget-video .elementor-wrapper {
  --video-aspect-ratio: 16 / 9;
  position: relative;
  width: 100%;
  background: #000;
}

.elementor-widget-video .elementor-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.elementor-widget-video .elementor-video iframe,
.elementor-widget-video .elementor-video video {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.e-con.e-parent.e-lazyloaded,
.e-con.e-parent.e-no-lazyload {
  /* class used by Elementor to restore background images */
}

@media (max-width: 1024px) {
  html,
  body {
    overflow-x: hidden;
  }

  /* Anchor the dropdown to the full header, not the tiny burger widget */
  .elementor-location-header {
    position: relative !important;
    z-index: 1000;
    overflow: visible !important;
  }

  .elementor-location-header .e-con,
  .elementor-location-header .elementor-widget-container {
    overflow: visible !important;
  }

  .elementor-location-header .elementor-widget-nav-menu,
  .elementor-location-header .elementor-widget-nav-menu .elementor-widget-container {
    position: static !important;
    overflow: visible !important;
  }

  .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
    display: none !important;
  }

  .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle {
    display: flex !important;
    z-index: 10002;
    position: relative;
  }

  .elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: none !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: #fff !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    z-index: 10001;
    transform-origin: top center;
  }

  .elementor-location-header .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown,
  .elementor-location-header .elementor-menu-toggle.elementor-active ~ nav.elementor-nav-menu--dropdown {
    display: block !important;
    max-height: min(80vh, 640px) !important;
    transform: scaleY(1) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .elementor-location-header nav.elementor-nav-menu--dropdown .elementor-nav-menu {
    width: 100%;
  }

  .elementor-location-header nav.elementor-nav-menu--dropdown .elementor-item,
  .elementor-location-header nav.elementor-nav-menu--dropdown .menu-link {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu {
    display: none;
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
  }

  .elementor-nav-menu--dropdown .menu-item-has-children.keers-submenu-open > .sub-menu {
    display: block !important;
  }
}
