/** Shopify CDN: Minification failed

Line 38:0 Unexpected "{"
Line 38:1 Expected identifier but found "%"
Line 40:14 Expected identifier but found whitespace
Line 41:5 Unexpected "{"
Line 41:14 Expected ":"
Line 41:63 Unexpected "{"
Line 41:64 Unexpected "{"
Line 41:73 Expected ":"
Line 41:122 Unexpected "0"
Line 41:125 Unexpected "{"
... and 30 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:banner-with-button (INDEX:3) */
.image-banner-container {
  display: flex !important;
  flex-direction: column !important;
}

.image-banner-button {
  margin: 20px 0;
  text-align: center;
  display: block;
  clear: both;
}

/* Text outline fallback for browsers that don't support text-stroke */
.image-banner-container-text {
  text-shadow: none;
}

{% if section.settings.enable_text_outline %}
.image-banner-container-text {
  text-shadow:
    {{ section.settings.text_outline_width | default: '1px' }} {{ section.settings.text_outline_width | default: '1px' }} 0 {{ section.settings.text_outline_color | default: '#000000' }},
    -{{ section.settings.text_outline_width | default: '1px' }} {{ section.settings.text_outline_width | default: '1px' }} 0 {{ section.settings.text_outline_color | default: '#000000' }},
    {{ section.settings.text_outline_width | default: '1px' }} -{{ section.settings.text_outline_width | default: '1px' }} 0 {{ section.settings.text_outline_color | default: '#000000' }},
    -{{ section.settings.text_outline_width | default: '1px' }} -{{ section.settings.text_outline_width | default: '1px' }} 0 {{ section.settings.text_outline_color | default: '#000000' }};
}
{% endif %}
/* END_SECTION:banner-with-button */

/* START_SECTION:button-section (INDEX:5) */
.button-section-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
    margin-bottom: 120px;
  }
  @media screen and (max-width: 749px) {
    .button-section-container {
      margin-top: 40px;
      margin-bottom: 80px;
    }
  }
/* END_SECTION:button-section */

/* START_SECTION:five-grid-images (INDEX:25) */
.fgi-container {
    padding: 0 110px;
    margin-bottom: 90px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 35px;
  }
  .fgi-cell {
    height: 440px;
    background-size: cover;
    background-position: center;
    position: relative;
    border-radius: 10px;
    border: 1px #30291F solid;
  }
  .fgi-cell > div {
    width: 100%;
    text-decoration: none;
    font-family: Sarina !important;
    font-size: 32px;
    position: absolute;
    bottom: 40px;
    text-align: center;
    color: #E4E4D3;
  }
  .fgi1 {
    grid-column: span 2 / span 2;
  }
  .fgi2 {
    grid-column: span 2 / span 2;
    grid-column-start: 3;
  }
  .fgi3 {
    grid-column: span 2 / span 2;
    grid-column-start: 5;
  }
  .fgi4 {
    grid-column: span 3 / span 3;
    grid-row-start: 2;
  }
  .fgi5 {
    grid-column: span 3 / span 3;
    grid-column-start: 4;
    grid-row-start: 2;
  }
  .dark-text {
    color: #30291F !important;
  }
  @media screen and (max-width: 749px) {
    .fgi-container {
      padding: 0 15px;
      margin-bottom: 80px;
      grid-template-columns: 1fr;
      grid-template-rows: repeat(5, 1fr);
      gap: 10px;
    }
    .fgi-cell {
      height: 150px;
      background-position: center;
    }
    .fgi-cell > div {
      font-size: 18px;
      right: 18px;
      bottom: 10px;
      width: fit-content;
      color: #30291F !important;
    }
    .fgi1,
    .fgi2,
    .fgi3,
    .fgi4,
    .fgi5 {
      grid-column: auto;
      grid-row: auto;
    }
  }
/* END_SECTION:five-grid-images */

/* START_SECTION:grid-info-with-image (INDEX:29) */
.giwi-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 1px;
    color: #30291f !important;
    margin-bottom: 120px;
    background-color: black;
    border-top: 1px black solid;
    border-bottom: 1px black solid;
    > div {
      background-color: #E4E4D3;
    }
  }
  .giwi-info {
    font-family: Adobe Caslon Pro !important;
    font-size: 12px;
    padding: 40px 48px;
    a {
      color: #30291f !important;
    }
  }
  .giwi1 {
    padding: 40px 48px;
  }
  .giwi1-text > span {
    display: inline-block;
    font-family: Libre Caslon Display !important;
    font-size: 30px;
    margin-bottom: 28px;
    * {
      all: unset;
      display: block;
    }
  }
  .giwi3 {
    grid-column-start: 1;
    grid-row-start: 2;
  }
  .giwi4 {
    grid-column-start: 2;
    grid-row-start: 2;
  }
  .giwi5 {
    grid-column-start: 1;
    grid-row-start: 3;
  }
  .giwi6 {
    grid-column-start: 2;
    grid-row-start: 3;
  }
  .giwi7 {
    grid-row: span 3 / span 3;
    grid-column-start: 3;
    grid-row-start: 1;
  }
  .giwi-image {
    background-size: cover;
    background-position: center;
  }
  .giwi1-image {
    display: none;
  }
  @media screen and (max-width: 749px) {
    .giwi-container {
      margin-bottom: 80px;
      grid-template-columns: 1fr;
      grid-template-rows: repeat(6, 1fr);
    }
    .giwi1 {
      padding: 0;
      display: flex;
    }
    .giwi1-text {
      padding: 50px 35px;
    }
    .giwi-info {
      padding: 20px 25px;
    }
    .giwi1-image {
      display: block;
      width: 100%;
    }
    .giwi7 {
      display: none;
    }
    .giwi3,
    .giwi4,
    .giwi5,
    .giwi6,
    .giwi7 {
      grid-column: auto;
      grid-row: auto;
    }
  }
/* END_SECTION:grid-info-with-image */

/* START_SECTION:homepage-banner (INDEX:31) */
/*
    The wrapper now needs position: relative so we can
    position the image and content inside it.
  */
  .homepage-banner-wrapper {
    position: relative;
    width: 100%;
    height: 70vh;
    min-height: 750px;
    display: flex; /* Kept for centering content */
    flex-direction: column;
  }

  /*
    The new image element needs to be positioned absolutely
    to fill the wrapper, making it behave like the old
    background-image. object-fit: cover prevents distortion.
  */
  .homepage-banner-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1; /* Sits behind the content */
  }

  /*
    The content container sits on top of the image.
  */
  .homepage-banner-content {
    position: relative;
    z-index: 2; /* Sits on top of the image */
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 0 52px;
  }

  .dark-text {
    color: #30291F;
  }

  .light-text {
    color: #E4E4D3;
  }

  .hb-text-content {
    margin-top: 120px;
  }

  .hb-top-text {
    font: 75px Libre Caslon Display;
  }

  .hb-top-text *,
  .hb-bottom-text * {
    padding: 0;
    margin: 0;
  }

  .hb-bottom-text {
    margin-top: 8px;
    font: 24px Adobe Caslon Pro;
  }

  .hb-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 40px;
    margin-top: 38px;
    font: 16px Libre Caslon Display;
    text-decoration: none;
    background-color: #30291F;
    color: #E4E4D3;
  }

  .hb-button.dark-button {
    border: 1px solid #30291F;
  }

  .hb-button.light-button {
    border: 1px solid #E4E4D3;
  }

  .hb-button:hover {
    background: transparent;
    -webkit-transition: background-color 500ms linear;
    -ms-transition: background-color 500ms linear;
    transition: background-color 500ms linear;
  }

  .hb-button.dark-button:hover {
    color: #30291F;
  }

  .hb-button.light-button:hover {
    color: #E4E4D3;
  }

  @media screen and (max-width: 749px) {
    .homepage-banner-wrapper {
      min-height: initial;
    }
    .homepage-banner-content {
      padding: 0;
      align-items: center;
    }

    .hb-text-content {
      margin-top: 33px;
    }

    .hb-top-text *,
    .hb-bottom-text * {
      display: inline-block;
    }

    .hb-top-text {
      font-size: 40px
    }

    .hb-top-text > p:first-child {
      margin-right: 4px;
    }

    .hb-bottom-text {
      font-size: 18px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .hb-button {
      margin-top: 200px;
    }
  }
/* END_SECTION:homepage-banner */

/* START_SECTION:new-page-image-banner-with-text (INDEX:73) */
.npbwt-container {
    width: 100%;
    height: 70vh;
    min-height: 550px;
    display: flex;
    flex-direction: row;
  }
  .npbwt-content {
    width: 40%;
    height: 100%;
    background-color: #30291F;
    color: #E4E4D3;
    padding: 0 54px;
    position: relative;
  }
  .npbwt-image {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
  }
  .npbwt-top-text {
    margin-top: 120px;
    font-size: 40px;
    font-family: Libre Caslon Display !important;
  }
  .npbwt-bottom-text {
    margin: 28px 0;
    font-size: 18px;
    line-height: 20px;
    font-family: Adobe Caslon Pro !important;
  }
  .npbwt-sticker {
    position: absolute;
    right: -30px;
    bottom: 30px;
    transform: rotate(-15deg);
  }
  @media screen and (max-width: 749px) {
    .npbwt-container {
      flex-direction: column-reverse;
      height: 100vh;
      min-height: 1200px;
    }
    .npbwt-content {
      height: 50%;
      width: 100%;
      padding: 0 35px;
    }
    .npbwt-content-image {
      height: 50%;
    }
    .npbwt-top-text {
      margin-top: 35px;
    }
    .npbwt-bottom-text {
      margin-top: 12px;
      font-size: 13px;
    }
    .npbwt-sticker {
      top: -30px;
      right: 15px;
    }
  }
/* END_SECTION:new-page-image-banner-with-text */

/* START_SECTION:readmore-page-banner (INDEX:83) */
.readmore-banner-container {
    width: 100%;
    height: auto;
    background-size: 100vw;
    background-repeat: no-repeat;
    background-position: top right;
    font-family: "Adobe Caslon Pro" !important;
  }
  .readmore-banner-container.without-background {
    color: #362c22 !important;
  }
  .readmore-banner-container.with-background {
    color: #E4E4D3 !important;
  }
  .readmore-banner-container.with-background .readmore-banner-content {
    background-color: #30291F;
  }
  .readmore-banner-content {
    width: 500px;
    height: auto;
    min-height: 750px;
    padding: 120px 80px 20px;
    position: relative;
  }
  .banner-title {
    font-size: 38px;
    text-transform: uppercase;
    margin-bottom: 30px;
  }
  .read-more {
    text-decoration: underline;
    margin-bottom: 30px;
  }
  .bottom-content {
    display: none;
    font-size: 14px;
  }
  .readmore-banner-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 40px;
    background-color: #30291F;
    color: #E4E4D3;
    margin-top: 38px;
    font: 16px Libre Caslon Display;
    text-decoration: none;
  }
  .readmore-banner-container.without-background .readmore-banner-content .readmore-banner-button {
    border: 1px solid #30291F;
     &:hover {
      background: transparent;
      color: #30291F;
      -webkit-transition: background-color 500ms linear;
      -ms-transition: background-color 500ms linear;
      transition: background-color 500ms linear;
    }
  }
  .readmore-banner-container.with-background .readmore-banner-content .readmore-banner-button {
    border: 1px solid #E4E4D3;
     &:hover {
      background: #30291F;
      color: #E4E4D3;
      -webkit-transition: background-color 500ms linear;
      -ms-transition: background-color 500ms linear;
      transition: background-color 500ms linear;
    }
  }
  .center-sticker {
    position: absolute;
    right: -30px;
    bottom: 30px;
    transform: rotate(-15deg);
  }
  @media screen and (max-width: 749px) {
    .readmore-banner-content {
      width: 100%;
    }
  }
/* END_SECTION:readmore-page-banner */

/* START_SECTION:small-image-with-text (INDEX:91) */
.siwt-container {
    display: flex;
    flex-direction: row;
    padding: 0 110px;
    gap: 75px;
    margin-bottom: 110px;
    color: #30291f !important;
  }
  .siwt-image {
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    flex: 50%;
  }
  .siwt-content {
    padding: 24px 0;
    flex: 50%;
    > span {
      display: block;
      font-family: Libre Caslon Display !important;
      font-size: 30px;
      margin-bottom: 28px;
      * {
        all: unset;
        display: block;
      }
    }
    > div {
      font-family: Adobe Caslon Pro !important;
      font-size: 12px;
      margin-bottom: 28px;
    }
  }
  @media screen and (max-width: 749px) {
    .siwt-container {
      flex-direction: column;
      padding: 0;
      gap: 10px;
      margin-bottom: 80px;
    }
    .siwt-image {
      width: 100%;
      min-height: 220px;
      border-radius: 0;
    }
    .siwt-content {
      padding: 0 35px;
      > span {
        font-size: 30px;
        margin-bottom: 10px;
      }
      > div {
        margin-bottom: 35px;
      }
    }
  }
/* END_SECTION:small-image-with-text */

/* START_SECTION:text-section (INDEX:95) */
.text-section-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    font-size: 30px;
    font-family: Libre Caslon Display !important;
    color: #30291F;
    * {
      all: unset;
      text-align: center;
    }
  }
  @media screen and (max-width: 749px) {
    .text-section-container {
      padding: 40px 20px;
    }
  }
/* END_SECTION:text-section */

/* START_SECTION:three-column-content (INDEX:96) */
.three-column-container {
    display: flex;
    flex-direction: row;
    padding: 0 110px;
    gap: 35px;
    color: #30291f !important;
  }
  .column-container {
    flex: 0 0 33.3333%;
    > img {
      border-radius: 10px;
      border: 1px solid #30291F;
      width: 100%;
      height: 225px;
      object-fit: cover;
      margin-bottom: 24px;
    }
    > span {
      display: block;
      font-family: Libre Caslon Display !important;
      font-size: 20px;
      margin-bottom: 15px;
    }
    > div {
      font-family: Adobe Caslon Pro !important;
      font-size: 12px;
    }
  }
  @media screen and (max-width: 749px) {
    .three-column-container {
      flex-direction: column;
      padding: 0 35px;
      gap: 50px;
    }
    .column-container {
      flex: 0 0 100%;
      > img {
        margin-bottom: 20px;
      }
      > span {
        margin-bottom: 10px;
      }
    }
  }
/* END_SECTION:three-column-content */

/* START_SECTION:timely-booking-contact (INDEX:97) */
.timely-booking-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px}.timely-location-card{display:flex;flex-direction:column;text-align:left;border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.timely-location-card__image-wrapper{width:100%;aspect-ratio:16/9}.timely-location-card__image-wrapper img{display:block;width:100%;height:100%;object-fit:cover}.timely-location-card__content-wrapper{padding:25px;display:flex;flex-direction:column;justify-content:space-between;flex-grow:1}.timely-location-card__content{flex-grow:1}.timely-location-card__title{margin-top:0;margin-bottom:15px}.timely-location-card__address,.timely-location-card__hours{margin-bottom:15px}.timely-location-card__address p,.timely-location-card__hours p{margin:0}.timely-location-card__button{margin-top:25px}.timely-location-card__error-text{font-size:.8rem;text-align:center;margin-top:5px;margin-bottom:0;opacity:.7}.timely-location-card .button.disabled{pointer-events:none;background-color:#f0f0f0;color:#a0a0a0;border-color:#e0e0e0;text-align:center}
/* END_SECTION:timely-booking-contact */

/* START_SECTION:timely-two-step (INDEX:99) */
.booking-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  .booking-form-col {
    flex: 1;
    min-width: 300px;
  }
  .booking-details-content {
    display: none;
  }
  .booking-details-content.active {
    display: block;
  }
  .booking-details-title {
    margin-top: 0;
  }
  .booking-details-button {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .booking-contact-item {
    margin-top: 0.5rem;
    margin-bottom: 0;
  }
  .booking-contact-item a {
    color: #E37546; /* Your specific link color */
    text-decoration: underline;
    transition: color 0.2s ease-in-out;
  }
  .booking-contact-item a:hover {
    color: #c4623a; /* A slightly darker shade for hover effect */
  }
/* END_SECTION:timely-two-step */

/* START_SECTION:wedding-lookbook (INDEX:104) */
/* Styles the HubSpot form's submit button to match the theme's default .button class.
    This works because the developer embed code places the form directly on the page, not in an iframe.
  */
  .hs-form-html .hs-button {
    @extend .button;
    width: 100%; /* Makes the button take the full width of its container */
  }

  /* Add any other custom styles for your form here */
  .booking-form-store {
    display: none;
  }
  .booking-form-store.active {
    display: block;
  }
/* END_SECTION:wedding-lookbook */