@font-face {
  font-family: Zt Nature Variable ;
  src: url('../fonts/ZT-Nature-Variable-Italic-VF.woff2') format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Zt Nature Variable Vf;
  src: url('../fonts/ZT-Nature-Variable-VF.woff2') format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --size-heading: clamp(1.25 * 1rem, ((1.25 - ((1.875 - 1.25) / (120 - 90) * 90)) * 1rem + ((1.875 - 1.25) / (120 - 90)) * 100vw), 1.875 * 1rem);
  --size-text: clamp(.875 * 1rem, ((.875 - ((1 - .875) / (120 - 90) * 90)) * 1rem + ((1 - .875) / (120 - 90)) * 100vw), 1 * 1rem);
  --max-width: 120rem;
  --min-width: 23rem;
}

.section-wrapper {
  padding-top: 6.25rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.section-wrapper.full {
  padding-left: 0;
  padding-right: 0;
}

.section-container {
  margin-left: auto;
  margin-right: auto;
}

.grid-main {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.img-grid {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  grid-column: 5 / span 4;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.img-tall, .grid-img {
  width: 100%;
  height: 100%;
}

.hero-text {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  margin-top: 2rem;
  display: flex;
}

.text-heading {
  color: #000;
  font-family: Zt Nature Variable Vf, Arial, sans-serif;
  font-size: var(--size-heading);
  text-wrap: pretty;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 120%;
  position: relative;
}

.text-heading.light {
  color: #fff;
}

.text-paragraph {
  color: #4d4d4d;
  font-family: Zt Nature Variable Vf, Arial, sans-serif;
  font-size: var(--size-text);
  text-wrap: pretty;
  line-height: 140%;
  position: relative;
}

.text-paragraph.light {
  color: #fff;
  text-align: center;
  text-wrap: balance;
}

.text-paragraph.is-italic {
  font-style: italic;
}

.date-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  display: flex;
}

.location-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  grid-column: 6 / span 7;
  display: flex;
}

.img-location {
  aspect-ratio: 45.3 / 56.1;
}

.practical-text-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.location-map {
  width: 100%;
  height: 100%;
}

.img-col-6 {
  grid-column: auto / span 6;
}

.img-8-col-5 {
  grid-column: 8 / span 5;
}

.img-gifts-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.gifts-wrapper {
  grid-column-gap: 1.5px;
  grid-row-gap: 1.5px;
  aspect-ratio: 56.9 / 43.3;
  flex-flow: column;
  grid-column: 8 / span 5;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.gifts-bg-overlay {
  background-color: #00000091;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.gifts-txt-wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 29rem;
  display: flex;
}

.gifts-txt-wrapper.pt {
  max-width: 34rem;
}

.grid-flex {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row dense;
  place-items: stretch stretch;
  display: flex;
}

.img-full {
  flex: 1;
  width: 100%;
}

.img-full.end {
  object-fit: cover;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.img-half {
  width: 50%;
}

.half-1, .half-2 {
  flex-flow: column;
  width: 50%;
  display: flex;
}

.full-1 {
  width: 100%;
  display: flex;
}

.full-2 {
  width: 100%;
  height: 100vh;
  max-height: 1200px;
  position: relative;
  overflow: hidden;
}

.text-headin-end {
  color: #fff;
  max-width: 10ch;
  font-family: Zt Nature Variable Vf, Arial, sans-serif;
  font-size: var(--size-heading);
  text-wrap: pretty;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 120%;
  position: absolute;
  top: 47%;
  left: 53%;
}

.text-headin-end.light {
  color: #fff;
}

.text-headin-end.pt {
  max-width: 13ch;
}

@media screen and (max-width: 991px) {
  .grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .img-grid {
    grid-column: 2 / span 4;
  }

  .text-heading.practical {
    text-align: right;
    text-wrap: wrap;
  }

  .date-wrapper {
    margin-bottom: 5rem;
  }

  .location-wrapper {
    grid-column: 4 / span 3;
  }

  .img-col-6 {
    grid-column: auto / span 3;
  }

  .img-8-col-5, .gifts-wrapper {
    grid-column: 4 / span 3;
  }

  .gifts-txt-wrapper {
    max-width: 24rem;
  }

  .text-headin-end.practical {
    text-align: right;
    text-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .section-wrapper {
    padding-top: 5rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .section-wrapper.hero {
    padding-top: 1rem;
  }

  .grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .img-grid {
    grid-column: 1 / span 4;
  }

  .text-heading.practical {
    text-align: right;
    text-wrap: wrap;
  }

  .location-wrapper {
    grid-column: 1 / span 4;
    min-height: 27rem;
  }

  .img-col-6 {
    grid-column: auto / span 4;
  }

  .img-8-col-5, .gifts-wrapper {
    grid-column: 1 / span 4;
  }

  .img-full.end {
    height: 100%;
  }

  .full-2 {
    height: 410px;
  }

  .text-headin-end.practical {
    text-align: right;
    text-wrap: wrap;
  }
}

@media screen and (max-width: 479px) {
  .img-full.end {
    object-fit: cover;
    object-position: 70% 50%;
  }

  .text-headin-end {
    left: 38%;
  }
}

#w-node-_30c82f5b-855e-daf6-8c0f-f450a08c6cd6-127df94d {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#w-node-_55ef64ae-e177-1b86-b456-acd625588f5a-127df94d {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_8e1d33ab-2b37-83fa-d24f-b360c566370c-127df94d {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-a0cf8f2a-d183-b2c2-b8d7-040a5162c908-127df94d {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_30c82f5b-855e-daf6-8c0f-f450a08c6cd6-5702a9b8 {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#w-node-_55ef64ae-e177-1b86-b456-acd625588f5a-5702a9b8 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_8e1d33ab-2b37-83fa-d24f-b360c566370c-5702a9b8 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-a0cf8f2a-d183-b2c2-b8d7-040a5162c908-5702a9b8 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

@media screen and (max-width: 991px) {
  #w-node-_8e1d33ab-2b37-83fa-d24f-b360c566370c-127df94d, #w-node-_8e1d33ab-2b37-83fa-d24f-b360c566370c-5702a9b8 {
    grid-column: span 2 / span 2;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_8e1d33ab-2b37-83fa-d24f-b360c566370c-127df94d {
    grid-column: span 4 / span 4;
  }

  #w-node-_86d45b62-26e9-99f5-decc-573ba1e0b296-127df94d, #w-node-c306c872-6550-6c48-2875-81f1160ac44c-127df94d {
    order: -9999;
  }

  #w-node-_8e1d33ab-2b37-83fa-d24f-b360c566370c-5702a9b8 {
    grid-column: span 4 / span 4;
  }

  #w-node-_86d45b62-26e9-99f5-decc-573ba1e0b296-5702a9b8, #w-node-c306c872-6550-6c48-2875-81f1160ac44c-5702a9b8 {
    order: -9999;
  }
}

@font-face {
  font-family: 'Zt Nature Variable ';
  src: url('../fonts/ZT-Nature-Variable-Italic-VF.woff2') format('woff2');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Zt Nature Variable Vf';
  src: url('../fonts/ZT-Nature-Variable-VF.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

html {
  scrollbar-gutter: stable;
}

#preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.preloader-window {
  width: min(80vw, 400px);
  aspect-ratio: 3 / 4;
  overflow: hidden;
  position: relative;
}

.preloader-strip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.preloader-strip img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}