/* Static replacements for behaviour the Squarespace runtime used to provide */
.Loader { display: none !important; }
.Parallax-host-outer { display: none; }

/* Full-bleed images that the image loader used to position */
.Index-page { position: relative; }
.Index-page-image { overflow: hidden; }
.content-fill { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; }
.content-fill img,
.Intro-image img,
.Index-page-image img {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}

/* Background video */
.sqs-video-background .video-bg-player {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.sqs-video-background .video-bg-player iframe { display: block; border: 0; }

/* Embedded video blocks */
.sqs-video-wrapper.video-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; }
.sqs-video-wrapper.video-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* Map blocks */
.map-block .sqs-block-content { position: relative; }
.map-embed { display: block; width: 100%; height: 400px; border: 0; }

/* Gallery block slideshow */
.sqs-gallery-block-slideshow .sqs-gallery { position: relative; overflow: hidden; }
.sqs-gallery-block-slideshow .sqs-gallery > .slide { display: none; }
.sqs-gallery-block-slideshow .sqs-gallery > .slide.is-current { display: block; }
.sqs-gallery-block-slideshow .sqs-gallery > .slide img { display: block; width: 100%; height: auto; }
.sqs-gallery-block-slideshow .sqs-gallery.has-ratio > .slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.sqs-gallery-block-slideshow .sqs-gallery.has-ratio > .slide img { height: 100%; object-fit: contain; }
.sqs-gallery-block-slideshow .sqs-gallery.has-ratio > .slide.content-fill img { object-fit: cover; }
.sqs-gallery-block-slideshow .sqs-gallery-meta-container .meta { display: none; }
.sqs-gallery-block-slideshow .sqs-gallery-meta-container .meta.is-current { display: block; }

/* Gallery page (slideshow design) */
.collection-type-gallery:not(.gallery-design-grid) .sqs-system-gallery .gallery-wrapper .slides { position: relative; height: auto !important; }
.collection-type-gallery:not(.gallery-design-grid) .sqs-system-gallery .gallery-wrapper .slides .slide {
  display: none; position: relative; opacity: 1; height: auto !important;
}
.collection-type-gallery:not(.gallery-design-grid) .sqs-system-gallery .gallery-wrapper .slides .slide.sqs-active-slide { display: block; }
.sqs-system-gallery .slides .slide img {
  display: block; width: 100%; height: 75vh; max-height: 900px; object-fit: contain;
}
.sqs-system-gallery .slides-controls { position: relative; }
.sqs-system-gallery .slides-controls .arrow {
  position: absolute; top: 0 !important; bottom: 0; z-index: 5; width: 15%; height: auto !important;
  margin: 0 !important; background: none !important; cursor: pointer;
}
.sqs-system-gallery .slides-controls .arrow:before { display: none !important; }
.sqs-system-gallery .slides-controls .previous-slide { left: 0; }
.sqs-system-gallery .slides-controls .next-slide { right: 0; }
.sqs-system-gallery .slides-controls .arrow:after {
  content: ''; position: absolute; top: 50%; width: 18px; height: 18px; margin-top: -9px;
  border: solid #fff; border-width: 0 0 2px 2px; filter: drop-shadow(0 0 2px rgba(0,0,0,.6));
}
.sqs-system-gallery .slides-controls .previous-slide:after { left: 24px; transform: rotate(45deg); }
.sqs-system-gallery .slides-controls .next-slide:after { right: 24px; transform: rotate(-135deg); }
.sqs-system-gallery .gallery-nav .number,
.sqs-system-gallery .gallery-nav .dot,
.sqs-system-gallery .gallery-nav .circle,
.sqs-system-gallery .gallery-nav .thumbnail { cursor: pointer; }
.sqs-system-gallery .gallery-nav .active { color: #000; font-weight: 700; }
@media (max-width: 640px) {
  .sqs-system-gallery .slides .slide img { height: auto; max-height: 70vh; }
}

/* Desktop folder dropdown opened by click / keyboard */
.Header-nav-item--folder.is-open .Header-nav-folder,
.Header-nav-item--folder:focus-within .Header-nav-folder {
  left: 0; opacity: 1; transform: none;
}

/* Tablets and small laptops: the desktop header no longer fits, use the mobile bar (template default switches at 500px) */
@media screen and (max-width: 1024px) {
  [data-nc-base="mobile-bar"] { display: block !important; }
  .Site .Header--top,
  .Site .Header--bottom { display: none !important; }
}
@media screen and (max-width: 640px) {
  .Intro-content, .Main-content, .Index-page-content { padding-left: 16px !important; padding-right: 16px !important; }
  .Footer-inner { padding-left: 16px; padding-right: 16px; }
  .map-embed { height: 300px; }
  .sqs-block-button-element { white-space: normal; }
}

/* Responsive safety net */
img, iframe, video { max-width: 100%; }
.sqs-block-content img:not(.content-fill img) { height: auto; }
body { overflow-x: hidden; }
