/* Single vertical scrollbar: avoid overflow-x on html+body+wrappers (causes double scrollbars) */
html {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
  overflow-y: scroll;
  background-color: #fff;
}

body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
  overflow-y: visible;
  background-color: #fff;
}

@supports not (overflow: clip) {
  html {
    overflow-x: hidden;
  }

  body {
    overflow-x: hidden;
  }
}

html.buxton-ready #block-yui_3_17_2_1_1628881761424_17865
  .sqs-gallery-container
  .sqs-gallery
  img.thumb-image {
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

#site,
#siteWrapper,
#page,
#content {
  max-width: 100%;
  overflow-x: clip;
  overflow-y: visible;
}

@supports not (overflow: clip) {
  #site,
  #siteWrapper,
  #page,
  #content {
    overflow-x: hidden;
    overflow-y: visible;
  }
}

/* Homepage hero slideshow — full width, no horizontal bleed on refresh */
body.collection-type-index.design-slideshow #gallery-01-section .index-gallery {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  overflow: hidden !important;
  padding-bottom: 56.25%;
  box-sizing: border-box;
}

body.collection-type-index.design-slideshow #gallery-01-section .index-gallery .gallery-wrapper {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}

body.collection-type-index.design-slideshow #gallery-01-section .index-gallery .slide-wrapper {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  float: none !important;
  flex: none !important;
  min-width: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

body.collection-type-index.design-slideshow
  #gallery-01-section
  .index-gallery:not(.buxton-hero-ready)
  .slide-wrapper:first-child {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}

body.collection-type-index.design-slideshow
  #gallery-01-section
  .index-gallery.buxton-hero-ready
  .slide-wrapper.buxton-hero-active {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}

body.collection-type-index.design-slideshow #gallery-01-section .index-gallery .slide {
  float: none !important;
  width: 100% !important;
  height: 100% !important;
  padding-bottom: 0 !important;
}

body.collection-type-index.design-slideshow #gallery-01-section .index-gallery .slide img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hide announcement bar (closure notice) */
#sqs-announcement-bar,
.sqs-announcement-bar,
.announcement-bar,
header .announcement-bar-custom-area {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* External nav items removed in HTML; hide any leftovers */
#headerNav .external,
#mobileNavigation .external,
#overlayNav .external {
  display: none !important;
}

/* Fallback: keep header nav visible if positioning script is delayed */
#headerNav {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Section anchor links (Hours/Happenings/Photos): mobile menu only, not desktop header */
body:not(.always-use-overlay-nav) #header #mainNavigation .index.home {
  display: none !important;
}

/* Desktop center nav: left | logo slot | right (static-perf.js) */
@media (min-width: 769px) {
  body:not(.always-use-overlay-nav) #header .header-inner.static-center-nav-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    justify-items: stretch;
    min-height: 88px;
    padding: 20px 20px;
    box-sizing: border-box;
    position: relative;
  }

  body:not(.always-use-overlay-nav)
    #header
    .header-inner.static-center-nav-header
    #logoWrapper {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    z-index: 2;
    margin: 0;
    width: 140px;
    max-width: 40vw;
    justify-self: center;
    align-self: center;
  }

  body:not(.always-use-overlay-nav)
    #header
    .header-inner.static-center-nav-header
    #logoImage,
  body:not(.always-use-overlay-nav)
    #header
    .header-inner.static-center-nav-header
    #logoImage
    img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  body:not(.always-use-overlay-nav) #header #headerNav.static-center-nav {
    opacity: 1 !important;
    visibility: visible !important;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    margin: 0 !important;
    position: relative;
    z-index: 1;
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body:not(.always-use-overlay-nav) #header #mainNavWrapper.static-center-nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body:not(.always-use-overlay-nav) #header #mainNavigation.static-center-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0 8px;
    box-sizing: border-box;
  }

  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-side {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    align-content: center;
    min-width: 0;
    gap: 0 0.65em;
    flex-wrap: nowrap;
  }

  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-left {
    justify-content: flex-end;
  }

  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-right {
    justify-content: flex-start;
  }

  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-logo-slot {
    flex: 0 0 auto;
    align-self: center;
    pointer-events: none;
  }

  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-side
    > .collection,
  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-side
    > .index {
    display: block;
    margin: 0;
    flex: 0 0 auto;
  }

  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-side
    > .collection
    > a,
  body:not(.always-use-overlay-nav)
    #header
    #mainNavigation.static-center-nav
    .static-nav-side
    > .index
    > a {
    display: inline-block;
    padding: 0.55em 0.35em !important;
    line-height: 1.25;
    white-space: nowrap;
    vertical-align: middle;
    font-size: 0.92em;
    letter-spacing: 0.04em;
  }
}

/* Merch product grid: hydrate data-src images for static export */
#productList .product-image .intrinsic {
  position: relative;
  overflow: hidden;
}

#productList .product-image .intrinsic > div {
  position: absolute;
  inset: 0;
}

#productList .product-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  opacity: 1;
  visibility: visible;
}

#productList .product-image img[src=""],
#productList .product-image img:not([src]) {
  opacity: 0;
}

#thumb-south-slope-tee-in-black .product-image .intrinsic {
  background-color: #f4f4f4;
}

/* Page banners (Press, Catering): full-bleed hero without waiting on ImageLoader */
body.has-banner-image.transparent-header.collection-type-page #header {
  background-color: transparent !important;
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
}

.banner-thumbnail-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: min(42vh, 440px);
}

.banner-thumbnail-wrapper #thumbnail {
  position: absolute;
  inset: 0;
}

.banner-thumbnail-wrapper #thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.banner-thumbnail-wrapper #thumbnail.loading img {
  opacity: 1;
}

/* Page gallery sliders (Press, etc.) when Squarespace gallery JS does not run */
.sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  height: auto !important;
  padding-bottom: 75%;
  box-sizing: border-box;
}

.sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready .sqs-gallery {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready .sqs-gallery img.thumb-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  transition: opacity 0.35s ease;
  transform: none !important;
}

.sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready
  .sqs-gallery
  img.thumb-image.buxton-slide-active {
  opacity: 1;
  z-index: 1;
}

.sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready .sqs-gallery-meta-container {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready .sqs-gallery-controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 12px;
  box-sizing: border-box;
  pointer-events: none;
}

.sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready .sqs-gallery-controls a {
  pointer-events: auto;
}

/* Catering page layout */
body.collection-catering #page {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 48px 24px 72px;
  box-sizing: border-box;
}

body.collection-catering .sqs-layout.sqs-grid-12 {
  width: 100%;
}

body.collection-catering .sqs-block {
  clear: both;
  margin-bottom: 1.25rem;
}

body.collection-catering .form-block .form-wrapper,
body.collection-catering .form-block .form-inner-wrapper {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

body.collection-catering .form-block .field-list {
  width: 100%;
}

body.collection-catering .form-block fieldset.form-item.fields.name .field {
  display: inline-block;
  width: calc(50% - 8px);
  vertical-align: top;
  box-sizing: border-box;
}

body.collection-catering .form-block fieldset.form-item.fields.name .field.first-name {
  margin-right: 12px;
}

body.collection-catering .form-block .field-element,
body.collection-catering .form-block textarea,
body.collection-catering .form-block select {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  body.collection-catering #page {
    padding-left: 16px;
    padding-right: 16px;
  }

  body.collection-catering .form-block fieldset.form-item.fields.name .field {
    display: block;
    width: 100%;
    margin-right: 0;
  }
}

/* Catering intro gallery — centered stage, consistent framing, slideshow */
body.collection-catering #block-yui_3_17_2_3_1488393236381_4724.sqs-block-gallery {
  max-width: min(640px, 100%);
  margin: 0.75rem auto 0.5rem !important;
  position: relative;
  z-index: 0;
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724.sqs-block-gallery
  > .sqs-block-content {
  padding: 0 !important;
  margin: 0 !important;
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container.sqs-gallery-block-slider,
body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container.sqs-gallery-block-slider.buxton-gallery-slider-ready,
body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container.buxton-catering-gallery {
  position: relative !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 auto !important;
  box-sizing: border-box;
  background: transparent;
  overflow: visible;
  clear: both;
  display: flex !important;
  justify-content: center;
  align-items: center;
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container
  .sqs-gallery {
  position: relative !important;
  width: min(560px, 100%) !important;
  max-width: 100%;
  margin: 0 auto !important;
  padding: 0;
  inset: auto !important;
  aspect-ratio: 4 / 3;
  max-height: min(380px, 48vh);
  height: auto;
  background: #f6f4f1;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  line-height: 0;
}

@supports not (aspect-ratio: 4 / 3) {
  body.collection-catering
    #block-yui_3_17_2_3_1488393236381_4724
    .sqs-gallery-container
    .sqs-gallery {
    height: min(380px, 48vh);
  }
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container[data-buxton-catering-proxy="1"]
  .sqs-gallery
  img.thumb-image {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container
  .sqs-gallery
  img.buxton-catering-display {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: center center;
  display: block;
  z-index: 2;
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container:not([data-buxton-catering-proxy="1"])
  .sqs-gallery
  img.thumb-image:first-child {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container:not([data-buxton-catering-proxy="1"])
  .sqs-gallery
  img.thumb-image:not(:first-child) {
  display: none !important;
}

body.collection-catering #block-yui_3_17_2_15_1449585744671_6887 {
  position: relative;
  z-index: 1;
  clear: both;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  padding-top: 0 !important;
  max-width: min(640px, 100%);
  margin-left: auto;
  margin-right: auto;
}

body.collection-catering #block-yui_3_17_2_15_1449585744671_6887 .sqs-block-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.collection-catering #block-yui_3_17_2_15_1449585744671_6887 .sqs-block-content h3 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.75rem !important;
}

body.collection-catering
  #block-yui_3_17_2_3_1488393236381_4724
  .sqs-gallery-container
  .sqs-gallery-meta-container {
  display: none;
}

/* Press footer gallery */
#block-ad6ebf326c0e18092ab1.sqs-block-gallery {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

#block-ad6ebf326c0e18092ab1 .sqs-gallery-container.sqs-gallery-block-slider {
  position: relative;
  width: 100%;
  height: auto !important;
  padding-bottom: 0 !important;
  margin: 0 auto 1.5rem;
  box-sizing: border-box;
  background: #fff;
  overflow: visible;
  clear: both;
}

#block-ad6ebf326c0e18092ab1 .sqs-gallery-container.buxton-gallery-slider-ready {
  height: auto !important;
  padding-bottom: 0 !important;
}

#block-ad6ebf326c0e18092ab1 .sqs-gallery-container .sqs-gallery {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12rem;
}

#block-ad6ebf326c0e18092ab1 .sqs-gallery-container .sqs-gallery img.thumb-image {
  display: none !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(580px, 68vh);
  margin: 0 auto;
  object-fit: contain !important;
  object-position: center center;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#block-ad6ebf326c0e18092ab1
  .sqs-gallery-container
  .sqs-gallery
  img.thumb-image.buxton-slide-active,
#block-ad6ebf326c0e18092ab1
  .sqs-gallery-container:not([data-buxton-inline-ready="1"])
  .sqs-gallery
  img.thumb-image:first-child {
  display: block !important;
}

#block-ad6ebf326c0e18092ab1 .sqs-gallery-container .sqs-gallery-meta-container {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
}

#block-ad6ebf326c0e18092ab1 .sqs-gallery-container .sqs-gallery-controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 12px;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 11;
}

#block-ad6ebf326c0e18092ab1 .sqs-gallery-container .sqs-gallery-controls a {
  pointer-events: auto;
  cursor: pointer;
}

/* Homepage MENU block — full width, height from menu PNG aspect (no letterbox void) */
#info-section #block-yui_3_17_2_1_1628881761424_17865.sqs-block-gallery {
  clear: both;
  width: 100%;
  max-width: min(1320px, 100%);
  margin-left: auto;
  margin-right: auto;
}

#info-section .content.page-content #block-yui_3_17_2_1_1628881761424_17865 {
  width: 100%;
}

#block-yui_3_17_2_1_1628881761424_17865 .sqs-gallery-container.sqs-gallery-block-slider {
  position: relative;
  width: 100%;
  margin: 0 auto 1.5rem;
  box-sizing: border-box;
  background: #fff;
  height: 0;
  padding-bottom: 62.64%;
  overflow: hidden;
}

#block-yui_3_17_2_1_1628881761424_17865 .sqs-gallery-container .sqs-gallery {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

#block-yui_3_17_2_1_1628881761424_17865 .sqs-gallery-container .sqs-gallery img.thumb-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none !important;
  margin: 0;
  object-fit: contain;
  object-position: center top;
  opacity: 0 !important;
  visibility: hidden;
  transform: none !important;
  pointer-events: none;
  z-index: 0;
}

#block-yui_3_17_2_1_1628881761424_17865
  .sqs-gallery-container[data-buxton-home-menu="1"]:not([data-buxton-menu-painted="1"])
  .sqs-gallery
  img.thumb-image:first-child {
  opacity: 1 !important;
  visibility: visible;
  z-index: 2;
}

#block-yui_3_17_2_1_1628881761424_17865
  .sqs-gallery-container[data-buxton-menu-fit="contain"]
  .sqs-gallery
  img.thumb-image {
  object-fit: contain;
}

#block-yui_3_17_2_1_1628881761424_17865
  .sqs-gallery-container
  .sqs-gallery
  img.thumb-image.buxton-slide-active,
#block-yui_3_17_2_1_1628881761424_17865
  .sqs-gallery-container:not([data-buxton-home-menu="1"])
  .sqs-gallery
  img.thumb-image:first-child {
  opacity: 1 !important;
  visibility: visible;
  z-index: 2;
  pointer-events: none;
}

#block-yui_3_17_2_1_1628881761424_17865 .sqs-gallery-container .sqs-gallery-meta-container {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
}

#block-yui_3_17_2_1_1628881761424_17865 .sqs-gallery-container .sqs-gallery-controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 12px;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 11;
}

#block-yui_3_17_2_1_1628881761424_17865 .sqs-gallery-container .sqs-gallery-controls a {
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  z-index: 12;
}

/* Index sections with full-bleed background (Happenings / cookbook) */
.index-section-wrapper.has-main-image {
  position: relative;
  overflow: hidden;
}

.index-section-wrapper.has-main-image .index-section-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.index-section-wrapper.has-main-image .index-section-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.index-section-wrapper.has-main-image .index-image-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.index-section-wrapper.has-main-image .content.page-content,
.index-section-wrapper.has-main-image .content.gallery-content {
  position: relative;
  z-index: 2;
}

#happenings-section .sqs-block-image .image-block-outer-wrapper {
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

#happenings-section .sqs-block-image .sqs-block-image-figure {
  margin: 1.5rem auto;
}

#happenings-section .sqs-block-image .image-block-wrapper.has-aspect-ratio {
  position: relative;
  height: 0;
}

#happenings-section .sqs-block-image .image-block-wrapper.has-aspect-ratio img.thumb-image {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  opacity: 1 !important;
  transform: none !important;
}

#happenings-section .sqs-block-html h3 {
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 52rem;
  padding: 0 1rem;
  box-sizing: border-box;
}
