/* Small compatibility layer replacing the original platform JavaScript. */
html { scroll-behavior: smooth; }
img { max-width: 100%; }
.tmpl-loading { opacity: 1 !important; visibility: visible !important; }
.skip-link { position: fixed; top: -100px; left: 12px; padding: 12px 18px; background: white; color: black; z-index: 100000; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #d29e58; outline-offset: 4px; }
.sqs-image-shape-container-element.has-aspect-ratio > img { position: absolute; inset: 0; }
.sqs-slide-wrapper .gallery-video-background .custom-fallback-image { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover; position: absolute; inset: 0; }
.sqs-slide-wrapper .gallery-video-background { opacity: 1 !important; }
.sqs-slide-wrapper [data-slice-type="video"]:has(.sqs-video-wrapper[data-html=""]) { display: none; }
.sqs-slide-wrapper .sqs-slide-container { min-height: 100svh; }
.registration-form { max-width: 620px; margin: 25px 0; }
.registration-form label { display: block; margin: 18px 0 6px; font-weight: 600; }
.registration-form input { width: 100%; box-sizing: border-box; border: 1px solid #bbb; padding: 13px; background: #fff; color: #222; font: inherit; border-radius: 0; }
.registration-form button { border: 0; padding: 16px 26px; background: #222; color: #fff; font: inherit; cursor: pointer; }
.registration-form button:disabled { opacity: .6; cursor: wait; }
.registration-form .form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-note { font-size: .85em; }
.form-status { min-height: 1.5em; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }
/* Grid dimensions were previously calculated by the hosted gallery runtime. */
.sqs-gallery-block-grid .sqs-gallery { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; height: auto !important; }
.sqs-gallery-thumbnails-per-row-4 .sqs-gallery { grid-template-columns: repeat(4,minmax(0,1fr)); }
.sqs-gallery-block-grid .slide { position: relative !important; width: auto !important; height: auto !important; opacity: 1 !important; display: block !important; float: none !important; }
.sqs-gallery-block-grid .image-slide-anchor { display: block; position: relative; aspect-ratio: 1; overflow: hidden; }
.sqs-gallery-block-grid img.thumb-image { display: block; width: 100% !important; height: 100% !important; object-fit: cover; position: absolute; inset: 0; }
.image-lightbox { border: 0; padding: 45px 12px 12px; max-width: 92vw; max-height: 92vh; background: #111; color: white; }
.image-lightbox::backdrop { background: rgb(0 0 0 / .85); }
.image-lightbox img { display: block; max-height: 78vh; width: auto; margin: auto; }
.image-lightbox button { position: absolute; right: 10px; top: 8px; background: transparent; border: 1px solid #aaa; color: white; padding: 5px 12px; cursor: pointer; font: inherit; }
@media (max-width: 640px) { .sqs-gallery-block-grid .sqs-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.sqs-slide-wrapper .sqs-slide, #headerNav .show-on-scroll, #headerNav { opacity: 1 !important; visibility: visible !important; }
.index-section-image > img, .banner-thumbnail-wrapper img { width: 100% !important; height: 100% !important; object-fit: cover; position: absolute; inset: 0; }
.image-block-wrapper, [data-animation-role="image"] { opacity: 1 !important; transform: none !important; }
.registration-form textarea { width: 100%; min-height: 160px; box-sizing: border-box; border: 1px solid #bbb; padding: 13px; background: #fff; color: #222; font: inherit; border-radius: 0; resize: vertical; }

/* YouTube replaces Squarespace's hosted background-video runtime. */
.sqs-slide-wrapper .cover-background-video { position: absolute; top: 50%; left: 50%; width: max(100vw, 177.78vh); height: max(100vh, 56.25vw); transform: translate(-50%, -50%); border: 0; z-index: 1; pointer-events: none; }
.sqs-slide-wrapper .layer-back::after { z-index: 2; }
.cover-video-play { display: block; width: 54px; height: 54px; border: 0; background: none; padding: 0; margin: 28px auto 0; color: white; cursor: pointer; }
.cover-video-play svg { width: 100%; height: 100%; }
.cover-video-dialog { width: min(1100px, 92vw); max-width: 92vw; max-height: 92vh; box-sizing: border-box; border: 0; padding: 42px 0 0; background: #080808; color: white; }
.cover-video-dialog::backdrop { background: rgb(0 0 0 / .92); }
.cover-full-video { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 80vh; border: 0; background: black; }
.cover-video-close { position: absolute; right: 4px; top: 0; height: 40px; width: 40px; color: white; font: 32px/40px sans-serif; padding: 0; border: 0; background: transparent; cursor: pointer; }
/* The archived theme hides provider frames until its removed runtime initializes. */
.sqs-slide-wrapper .gallery-video-background iframe.cover-background-video {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: max(100vw, 177.78vh) !important;
  height: max(100vh, 56.25vw) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  border: 0 !important;
  z-index: 1 !important;
}
.cover-video-dialog iframe.cover-full-video {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  border: 0 !important;
}
/* Keep decorative background and its tint behind interactive cover content. */
.sqs-slide-wrapper .layer-back { z-index: 0 !important; pointer-events: none !important; }
.sqs-slide-wrapper .layer-front { z-index: 3 !important; }
.sqs-announcement-bar { background: #1a1a1a !important; }
.sqs-announcement-bar-close { padding: 0; border: 0; font: inherit; }
.sqs-announcement-bar + #site { position: relative; }
.registration-form fieldset.form-name { padding: 0; border: 0; margin: 0; }
.registration-form .form-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.registration-form .form-name-fields label { font-weight: 400; margin-top: 6px; }
.banner-thumbnail-wrapper #thumbnail img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover; }
@media (min-width: 641px) {
 #headerNav.positioned { position: relative !important; }
 #mainNavigation { white-space: normal; display: block; }
}
.sqs-announcement-bar-close { font-size: 13px; }
.registration-form button[type="submit"] { text-transform: uppercase; }
@media (min-width: 641px) {
 .banner-thumbnail-wrapper .desc-wrapper { padding-top: 42.5px; }
}
.sqs-gallery-block-grid .sqs-gallery.sqs-gallery-design-grid { gap: 0; }
.banner-thumbnail-wrapper #thumbnail img, .index-section-image > img {
 width: var(--cover-width, 100%) !important;
 height: var(--cover-height, 100%) !important;
 left: var(--cover-left, 0px) !important;
 top: var(--cover-top, 0px) !important;
 right: auto !important;
 bottom: auto !important;
 max-width: none !important;
 object-fit: fill !important;
 transform: none !important;
}
/* The original runtime sizes the body to the layout viewport, excluding its scrollbar. */
body { width: 100% !important; }
.sqs-gallery-block-grid img.thumb-image {
 width: var(--cover-width, 100%) !important;
 height: var(--cover-height, 100%) !important;
 left: var(--cover-left, 0px) !important;
 top: var(--cover-top, 0px) !important;
 right: auto !important;
 bottom: auto !important;
 max-width: none !important;
 object-fit: fill !important;
 transform: none !important;
}
@media (max-width: 640px) {
 .banner-thumbnail-wrapper .desc-wrapper { padding-top: 38px; }
}
@media (min-width: 641px) {
 .collection-type-index #content > .index-section:first-child .index-section-wrapper.has-main-image .content-inner.has-content { padding-top: 42.5px; }
}
@media (max-width: 640px) {
 .collection-type-index #content > .index-section:first-child .index-section-wrapper.has-main-image .content-inner.has-content { padding-top: 38px; }
}
/* Restore the cover template's runtime positioning instead of a replacement layout. */
.sqs-slide-wrapper .layer-front > .sqs-slide-layer-content { height: 100svh; display: block; padding: 40px 60px 60px; }
.sqs-slide-wrapper .layer-front .group-copy { position: absolute; top: 50%; left: 60px; right: 60px; width: auto; max-width: 1000px; margin-left: auto; margin-right: auto; transform: translateY(-50%); }
.cover-video-play { width: 48px; height: 48px; margin: 92px auto 0; }
@media (max-width: 1000px) {
 .sqs-slide-wrapper .layer-front > .sqs-slide-layer-content { padding: 20px; }
 .sqs-slide-wrapper .layer-front .group-copy { left: 20px; right: 20px; }
 .sqs-slide-wrapper .layer-front .bottom-full-width { left: 20px; right: 20px; bottom: 40px; }
 .cover-video-play { margin-top: 68px; }
}
.index-section-image, .banner-thumbnail-wrapper #thumbnail { overflow: hidden; }
@media (max-width: 600px) {
 .sqs-slide-wrapper [data-slice-type="navigation"] li,
 .sqs-slide-wrapper [data-slice-type="navigation"] li a { font-size: 12px; }
}
@media (max-width: 600px) {
 .sqs-slide-wrapper [data-slice-type="navigation"] li a { line-height: 1; }
}
