/*! Flickity v3.0.0
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
  touch-action: pan-y;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
}

.flickity-rtl .flickity-slider {
  left: unset;
  right: 0;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- flickity-cell ---- */

.flickity-cell {
  position: absolute;
  left: 0;
}

.flickity-rtl .flickity-cell {
  left: unset;
  right: 0;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsl(0 0% 100% / 75%);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: 0 8px;
  background: hsl(0 0% 20% / 25%);
  border-radius: 50%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  text-indent: -9999px;
  overflow: hidden;
}

.flickity-rtl .flickity-page-dot {
  text-indent: 9999px;
}

.flickity-page-dot:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-page-dot.is-selected {
  background: hsl(0 0% 20% / 100%);
}

:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-outline-width: 1px;--f-button-outline-color: rgba(0, 0, 0, .7);--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-opacity: 1;--f-button-svg-disabled-opacity: .5;--f-button-svg-transition: opacity .15s ease;--f-button-svg-transform: none}.f-button{width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);transform:var(--f-button-transform);transition:var(--f-button-transition);backdrop-filter:var(--f-button-backdrop-filter);display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;pointer-events:all;cursor:pointer;overflow:hidden}@media(hover:hover){.f-button:hover:not([aria-disabled]){color:var(--f-button-hover-color, var(--f-button-color));background-color:var(--f-button-hover-bg, var(--f-button-bg))}}.f-button:active:not([aria-disabled]){color:var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));background-color:var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)))}.f-button:focus{outline:none}.f-button:focus-visible{outline:var(--f-button-outline-width) solid var(--f-button-outline-color);outline-offset:var(--f-button-outline-offset)}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);transform:var(--f-button-svg-transform);fill:var(--f-button-svg-fill);filter:var(--f-button-svg-filter);opacity:var(--f-button-svg-opacity, 1);transition:var(--f-button-svg-transition);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.f-button[aria-disabled]{cursor:default}.f-button[aria-disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}[data-panzoom-action=toggleFS] g:first-child{display:flex}[data-panzoom-action=toggleFS] g:last-child{display:none}.in-fullscreen [data-panzoom-action=toggleFS] g:first-child{display:none}.in-fullscreen [data-panzoom-action=toggleFS] g:last-child{display:flex}[data-autoplay-action=toggle] svg g:first-child{display:flex}[data-autoplay-action=toggle] svg g:last-child{display:none}.has-autoplay [data-autoplay-action=toggle] svg g:first-child{display:none}.has-autoplay [data-autoplay-action=toggle] svg g:last-child{display:flex}:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child{display:flex}:root{--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-border-radius: 50%;--f-spinner-border-width: 4px}.f-spinner{position:absolute;top:50%;left:50%;margin:0;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height);translate:-50% -50%;border:var(--f-spinner-border-width) solid var(--f-spinner-color-1);border-top-color:var(--f-spinner-color-2);border-radius:var(--f-spinner-border-radius);animation:f-spinner .75s linear infinite,f-fadeIn .2s ease .2s both}@keyframes f-spinner{to{rotate:360deg}}.f-panzoom,.f-zoomable{position:relative;overflow:hidden;display:flex;align-items:center;flex-direction:column}.f-panzoom:before,.f-panzoom:after,.f-zoomable:before,.f-zoomable:after{display:block;content:""}.f-panzoom:not(.has-controls):before,.f-zoomable:not(.has-controls):before{margin-bottom:auto}.f-panzoom:after,.f-zoomable:after{margin-top:auto}.f-panzoom.in-fullscreen,.f-zoomable.in-fullscreen{position:fixed;top:0;left:0;margin:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:unset!important;z-index:9999}.f-panzoom__wrapper{position:relative;min-width:0;min-height:0;max-width:100%;max-height:100%}.f-panzoom__wrapper.will-zoom-out{cursor:zoom-out}.f-panzoom__wrapper.can-drag{cursor:move;cursor:grab}.f-panzoom__wrapper.will-zoom-in{cursor:zoom-in}.f-panzoom__wrapper.is-dragging{cursor:move;cursor:grabbing}.f-panzoom__wrapper.has-error{display:none}.f-panzoom__content{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%}.f-panzoom__content.is-lazyloading,.f-panzoom__content.has-lazyerror{visibility:hidden}img.f-panzoom__content{width:auto;height:auto;vertical-align:top;-o-object-fit:contain;object-fit:contain;transition:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.f-panzoom__wrapper>.f-panzoom__content{visibility:hidden}.f-panzoom__viewport{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.f-panzoom__viewport>.f-panzoom__content{width:100%;height:100%;-o-object-fit:fill;object-fit:fill}picture.f-panzoom__content img{vertical-align:top;width:100%;height:auto;max-height:100%;-o-object-fit:contain;object-fit:contain;transition:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.f-panzoom__protected{position:absolute;inset:0;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}html.with-panzoom-in-fullscreen{overflow:hidden}.f-fadeIn{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .2) ease calc(var(--f-transition-duration, .2s) * .8) both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}.is-horizontal .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextX}.is-horizontal .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevX}.is-horizontal .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextX}.is-horizontal .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevX}@keyframes f-slideInPrevX{0%{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextX{0%{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextX{to{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevX{to{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}}.is-vertical .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextY}.is-vertical .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevY}.is-vertical .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextY}.is-vertical .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevY}@keyframes f-slideInPrevY{0%{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextY{0%{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextY{to{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevY{to{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}}.f-zoomInUp{animation:var(--f-transition-duration, .3s) ease both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, .3s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(var(--f-zoomInUp-scale, .975)) translate3d(var(--f-zoomInUp-x, 0),var(--f-zoomInUp-y, 16px),0);opacity:var(--f-zoomInUp-opacity, 0)}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(var(--f-zoomOutDown-scale, .975)) translate3d(var(--f-zoomOutDown-x, 0),var(--f-zoomOutDown-y, 16px),0);opacity:0}}.f-throwOutUp{animation:var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throwOutDown-duration, .2s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throwOutUp-y, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throwOutDown-y, 150px),0);opacity:0}}.has-iframe .f-html,.has-pdf .f-html,.has-gmap .f-html{width:100%;height:100%;min-height:1px;overflow:visible}.has-pdf .f-html,.has-gmap .f-html{padding:0}.f-html{position:relative;box-sizing:border-box;margin:var(--f-html-margin, 0);padding:var(--f-html-padding, 2rem);color:var(--f-html-color, currentColor);background:var(--f-html-bg)}.is-loading>.f-html{opacity:0}.f-html.is-error{text-align:center}.f-iframe{display:block;margin:0;border:0;height:100%;width:100%}.f-caption{align-self:center;flex-shrink:0;margin:var(--f-caption-margin);padding:var(--f-caption-padding, 16px 8px);max-width:100%;max-height:calc(80vh - 100px);overflow:auto;overflow-wrap:anywhere;line-height:var(--f-caption-line-height);color:var(--f-caption-color);background:var(--f-caption-bg);font:var(--f-caption-font)}.has-html5video .f-html,.has-youtube .f-html,.has-vimeo .f-html{padding:0;width:100%;height:100%;min-height:1px;overflow:visible;max-width:var(--f-video-width, 960px);max-height:var(--f-video-height, 540px);aspect-ratio:var(--f-video-aspect-ratio);background:var(--f-video-bg, rgba(0, 0, 0, .9))}.f-html5video{border:0;display:block;height:100%;width:100%;background:transparent}.f-button.is-arrow{--f-button-width: var(--f-arrow-width, 46px);--f-button-height: var(--f-arrow-height, 46px);--f-button-svg-width: var(--f-arrow-svg-width, 24px);--f-button-svg-height: var(--f-arrow-svg-height, 24px);--f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);--f-button-border-radius: var(--f-arrow-border-radius, unset);--f-button-bg: var(--f-arrow-bg, transparent);--f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));--f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));--f-button-shadow: var(--f-arrow-shadow);--f-button-color: var(--f-arrow-color);--f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));--f-button-active-color: var( --f-arrow-active-color, var(--f-arrow-hover-color) );overflow:visible}.f-button.is-arrow.is-prev,.f-button.is-arrow.is-next{position:absolute;transform:translate(0);z-index:20}.is-horizontal .f-button.is-arrow.is-prev,.is-horizontal .f-button.is-arrow.is-next{inset:50% auto auto;transform:translateY(-50%)}.is-horizontal.is-ltr .f-button.is-arrow.is-prev{left:var(--f-arrow-pos, 0)}.is-horizontal.is-ltr .f-button.is-arrow.is-next{right:var(--f-arrow-pos, 0)}.is-horizontal.is-rtl .f-button.is-arrow.is-prev{right:var(--f-arrow-pos, 0);transform:translateY(-50%) rotateY(180deg)}.is-horizontal.is-rtl .f-button.is-arrow.is-next{left:var(--f-arrow-pos, 0);transform:translateY(-50%) rotateY(180deg)}.is-vertical.is-ltr .f-button.is-arrow.is-prev,.is-vertical.is-rtl .f-button.is-arrow.is-prev{top:var(--f-arrow-pos, 0);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.is-vertical.is-ltr .f-button.is-arrow.is-next,.is-vertical.is-rtl .f-button.is-arrow.is-next{top:auto;right:auto;bottom:var(--f-arrow-pos, 0);left:50%;transform:translate(-50%)}.is-vertical .f-button.is-arrow.is-prev svg,.is-vertical .f-button.is-arrow.is-next svg{transform:rotate(90deg)}.f-carousel__toolbar{display:grid;grid-template-columns:1fr auto 1fr;margin:var(--f-toolbar-margin, 0);padding:var(--f-toolbar-padding, 8px);line-height:var(--f-toolbar-line-height);background:var(--f-toolbar-bg, none);box-shadow:var(--f-toolbar-shadow, none);backdrop-filter:var(--f-toolbar-backdrop-filter);position:relative;z-index:20;color:var(--f-toolbar-color, currentColor);font-size:var(--f-toolbar-font-size, 17px);font-weight:var(--f-toolbar-font-weight, inherit);font-family:var(--f-toolbar-font, -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif);text-shadow:var(--f-toolbar-text-shadow);text-align:center;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;white-space:nowrap;pointer-events:none}.f-carousel__toolbar.is-absolute{position:absolute;top:0;left:0;right:0}.f-carousel__toolbar .f-button:focus-visible{position:relative;z-index:1}.f-carousel__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:var(--f-toolbar-gap, 0)}.f-carousel__toolbar__column.is-left{display:flex;justify-self:flex-start;justify-content:flex-start}.f-carousel__toolbar__column.is-middle{display:flex;justify-content:center}.f-carousel__toolbar__column.is-right{display:flex;justify-self:flex-end;justify-content:flex-end;flex-flow:nowrap}.f-carousel__toolbar__column{pointer-events:none}.f-carousel__toolbar__column>*{pointer-events:all}.f-counter{position:relative;display:flex;flex-direction:row;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:var(--f-counter-margin, 0);padding:var(--f-counter-padding, 4px);line-height:var(--f-counter-line-height);background:var(--f-counter-bg);border-radius:var(--f-counter-border-radius)}.f-counter span{padding:0 var(--f-counter-gap, 4px)}:root{--f-thumbs-gap: 8px;--f-thumbs-margin: 0;--f-thumbs-padding-x: 8px;--f-thumbs-padding-y: 8px;--f-thumbs-bg: transparent;--f-thumbs-transition: max-height .3s ease, max-width .3s ease, padding .3s ease;--f-thumbs-z-index: 1;--f-thumbs-viewport-padding-x: 0px;--f-thumbs-viewport-padding-y: 0px;--f-thumb-width: 94px;--f-thumb-height: 76px;--f-thumb-clip-width: 46px;--f-thumb-extra-gap: 16px;--f-thumb-opacity: 1;--f-thumb-transition: opacity .3s ease, transform .15s ease;--f-thumb-border: none;--f-thumb-border-radius: 4px;--f-thumb-shadow: none;--f-thumb-bg: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .05));--f-thumb-focus-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;--f-thumb-selected-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;--f-thumb-border-transition: all .1s ease;--f-thumb-img-width: 100%;--f-thumb-img-height: 100%;--f-thumb-img-fit: cover;--f-thumb-img-position: 50% 20%}.f-thumbs{--f-carousel-slide-width: var(--f-thumb-width);--f-carousel-slide-height: var(--f-thumb-height);--f-carousel-gap: var(--f-thumbs-gap);position:relative;box-sizing:border-box;flex-shrink:0;margin:var(--f-thumbs-margin);padding:var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);overflow:hidden;background:var(--f-thumbs-bg);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:var(--f-thumbs-transition);z-index:var(--f-thumbs-z-index)}.f-thumbs.is-horizontal{max-height:calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y) * 2)}.f-thumbs.is-horizontal.is-hidden{max-height:0;--f-thumbs-padding-y: 0}.f-thumbs.is-vertical{max-width:calc(var(--f-carousel-slide-width) + var(--f-thumbs-padding-x) * 2)}.f-thumbs.is-vertical.is-hidden{max-width:0;--f-thumbs-padding-x: 0}.f-thumbs.is-scrollable.is-hidden{max-height:0;--f-thumbs-padding-y: 0}.f-thumbs.is-ltr{direction:ltr}.f-thumbs.is-rtl{direction:rtl}.f-thumbs img{display:block;width:var(--f-thumb-img-width);height:var(--f-thumb-img-height);-o-object-fit:var(--f-thumb-img-fit);object-fit:var(--f-thumb-img-fit);-o-object-position:var(--f-thumb-img-position);object-position:var(--f-thumb-img-position);pointer-events:none;border-radius:inherit;color:transparent}.f-thumbs img[data-lazy-src]{visibility:hidden}.f-thumbs img.has-lazyerror{display:none}.f-thumbs__viewport{box-sizing:border-box;height:100%;padding:var(--f-thumbs-viewport-padding-y) var(--f-thumbs-viewport-padding-x);overflow:visible;display:grid}.f-thumbs__slide{position:relative;box-sizing:border-box;grid-area:1/1;width:var(--f-carousel-slide-width);height:var(--f-carousel-slide-height);margin:0;padding:0;display:flex;align-items:center;flex-direction:column;cursor:pointer;overflow:visible}.f-thumbs__slide:hover button{opacity:var(--f-thumb-hover-opacity, 1);transform:var(--f-thumb-hover-transform, none)}.f-thumbs__slide:hover button:after{border:var(--f-thumb-hover-border, none);box-shadow:var(--f-thumb-hover-shadow, var(--f-thumb-shadow))}.f-thumbs__slide button{all:unset;display:block;margin:auto;padding:0;position:relative;overflow:visible;width:100%;height:100%;outline:none;transition:var(--f-thumb-transition);border-radius:var(--f-thumb-border-radius);opacity:var(--f-thumb-opacity);transform:var(--f-thumb-transform);background:var(--f-thumb-bg)}.f-thumbs__slide button:after{content:"";position:absolute;inset:0;z-index:1;transition:var(--f-thumb-border-transition);border-radius:inherit;border:var(--f-thumb-border);box-shadow:var(--f-thumb-shadow)}.f-thumbs__slide button:focus-within{opacity:var(--f-thumb-focus-opacity, 1);transform:var(--f-thumb-focus-transform, none)}.f-thumbs__slide button:focus-within:after{border:var(--f-thumb-focus-border, none);box-shadow:var(--f-thumb-focus-shadow, var(--f-thumb-shadow))}.f-thumbs__slide:active{opacity:var(--f-thumb-active-opacity, 1);transform:var(--f-thumb-active-transform, none)}.f-thumbs__slide:active:after{border:var(--f-thumb-active-border, none);box-shadow:var(--f-thumb-active-shadow, var(--f-thumb-shadow))}.f-thumbs__slide.is-selected{z-index:2}.f-thumbs__slide.is-selected button{opacity:var(--f-thumb-selected-opacity, 1);transform:var(--f-thumb-selected-transform, none)}.f-thumbs__slide.is-selected button:after{border:var(--f-thumb-selected-border, none);box-shadow:var(--f-thumb-selected-shadow, var(--f-thumb-shadow))}.f-thumbs.is-modern{--f-carousel-slide-width: calc( var(--f-thumb-clip-width) + var(--f-thumbs-gap) );--f-carousel-slide-height: var(--f-thumb-height);--f-carousel-gap: 0;--width-diff: calc((var(--f-thumb-width) - var(--f-thumb-clip-width)))}.f-thumbs.is-modern .f-thumbs__viewport{width:calc(100% + var(--f-carousel-slide-width) * 2 + var(--f-thumbs-padding-x));margin-inline:calc((var(--f-carousel-slide-width) + var(--f-thumbs-padding-x)) * -1)}.f-thumbs.is-modern .f-thumbs__slide{--clip-shift: calc((var(--width-diff) * .5) * var(--progress));--clip-path: inset( 0 var(--clip-shift) round var(--f-thumb-border-radius, 0) );padding:0;overflow:visible;left:var(--shift, 0);will-change:left;transition:left var(--f-transition-duration) var(--f-transition-easing)}.f-thumbs.is-modern .f-thumbs__slide button{display:block;margin-inline:50%;width:var(--f-thumb-width);clip-path:var(--clip-path);border:none;box-shadow:none;transition:clip-path var(--f-transition-duration) var(--f-transition-easing),opacity var(--f-thumb-transition-duration, .2s) var(--f-thumb-transition-easing, ease)}.f-thumbs.is-modern .f-thumbs__slide button:after{display:none}.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible){outline:none}.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before{content:"";position:absolute;z-index:1;top:0;left:var(--clip-shift);bottom:0;right:var(--clip-shift);transition:border var(--f-transition-duration) var(--f-transition-easing),box-shadow var(--f-transition-duration) var(--f-transition-easing);border-radius:inherit;border:var(--f-thumb-focus-border, none);box-shadow:var(--f-thumb-focus-shadow, none)}.f-thumbs.is-modern{--f-transition-duration: .25s;--f-transition-easing: ease-out}.f-thumbs.is-modern.is-syncing{--f-transition-duration: 0s}.f-thumbs.is-scrollable .f-thumbs__viewport{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--f-thumb-width),1fr));grid-auto-rows:var(--f-thumb-height);gap:var(--f-thumbs-gap);overflow:auto;overscroll-behavior:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.f-thumbs.is-scrollable .f-thumbs__viewport .f-thumbs__slide{grid-area:auto;display:block;position:relative;max-width:100%;width:var(--f-thumb-width);height:var(--f-thumb-height);cursor:pointer;outline:none}:root{--f-progressbar-height: 3px;--f-progressbar-color: var(--f-carousel-theme-color, #575ad6);--f-progressbar-opacity: 1;--f-progressbar-z-index: 30}.f-progressbar{position:absolute;top:0;left:0;right:0;z-index:var(--f-progressbar-z-index);height:var(--f-progressbar-height);transform:scaleX(0);transform-origin:0;opacity:var(--f-progressbar-opacity);background:var(--f-progressbar-color);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;animation-name:f-progressbar;animation-play-state:running;animation-timing-function:linear}.f-progressbar:empty{display:block}button>.f-progressbar{--f-progressbar-height: 100%;--f-progressbar-opacity: .2}@keyframes f-progressbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}[data-fullscreen-action=toggle] svg g:first-child{display:flex}[data-fullscreen-action=toggle] svg g:last-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg g:first-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg g:last-child{display:flex}.in-fullscreen-mode>.f-carousel{flex:1;min-width:0!important;min-height:0!important}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}.fancybox__dialog{position:fixed;inset:0;z-index:1050;width:100%;height:100vh;max-height:unset;max-width:unset;padding:0;margin:0;border:0;overflow:hidden;background:transparent;touch-action:none;overscroll-behavior:contain}.fancybox__dialog:focus{outline:none}.fancybox__dialog::backdrop{opacity:0}@supports (height: 100dvh){.fancybox__dialog{height:100dvh}}.fancybox__dialog *:empty{display:block}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-backdrop-bg: rgba(24, 24, 27, .95);--f-toolbar-margin: 0;--f-toolbar-padding: 8px;--f-toolbar-gap: 0;--f-toolbar-color: #ddd;--f-toolbar-font-size: 16px;--f-toolbar-font-weight: 500;--f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;--f-toolbar-line-height: var(--f-button-height);--f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, .75);--f-toolbar-shadow: none;--f-toolbar-bg: none;--f-counter-margin: 0;--f-counter-padding: 0px 10px;--f-counter-gap: 4px;--f-counter-line-height: var(--f-button-height);--f-carousel-gap: 17px;--f-carousel-slide-width: 100%;--f-carousel-slide-height: 100%;--f-carousel-slide-padding: 0;--f-carousel-slide-bg: unset;--f-html-color: #222;--f-html-bg: #fff;--f-error-color: #fff;--f-error-bg: #333;--f-caption-margin: 0;--f-caption-padding: 16px 8px;--f-caption-color: var(--fancybox-color, #dbdbdb);--f-caption-bg: transparent;--f-caption-font: inherit;--f-caption-line-height: 1.375;--f-spinner-color-1: rgba(255, 255, 255, .2);--f-spinner-color-2: rgba(255, 255, 255, .8);--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-border-radius: 50%;--f-spinner-border-width: 4px;--f-progressbar-color: rgba(255, 255, 255);--f-button-width: 46px;--f-button-height: 46px;--f-button-color: #ddd;--f-button-hover-color: #fff;--f-button-outline-width: 1px;--f-button-outline-color: rgba(255, 255, 255, .75);--f-button-outline-offset: 0px;--f-button-bg: rgba(54, 54, 54, .75);--f-button-border: 0;--f-button-border-radius: 0;--f-button-shadow: none;--f-button-transition: all .2s ease;--f-button-transform: none;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.75;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .01)), drop-shadow(1px 2px 1px rgba(24, 24, 27, .05));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .5;--f-arrow-pos: 32px;--f-arrow-width: 50px;--f-arrow-height: 50px;--f-arrow-svg-width: 24px;--f-arrow-svg-height: 24px;--f-arrow-svg-stroke-width: 2.5;--f-arrow-border-radius: 50%;--f-arrow-bg: rgba(54, 54, 54, .65);--f-arrow-color: #ddd;--f-arrow-hover-color: #fff;--f-close-button-width: 30px;--f-close-button-height: 30px;--f-close-button-svg-width: 24px;--f-close-button-svg-height: 24px;--f-close-button-svg-stroke-width: 1.75;--f-close-border-radius: 4px;--f-close-button-color: #fff;--f-close-button-hover-color: #fff;--f-close-button-bg: transparent;--f-close-button-hover-bg: transparent;--f-close-button-active-bg: transparent;--f-thumbs-margin: 0px;--f-thumbs-padding-x: 8px;--f-thumbs-padding-y: 8px;--f-thumbs-bg: none;--f-thumb-transition: all .2s ease;--f-thumb-width: 94px;--f-thumb-height: 76px;--f-thumb-opacity: 1;--f-thumb-border: none;--f-thumb-shadow: none;--f-thumb-transform: none;--f-thumb-focus-opacity: 1;--f-thumb-focus-border: none;--f-thumb-focus-shadow: inset 0 0 0 2px rgba(255, 255, 255, .65);--f-thumb-focus-transform: none;--f-thumb-hover-opacity: 1;--f-thumb-hover-border: none;--f-thumb-hover-transform: none;--f-thumb-active-opacity: var(--f-thumb-hover-opacity);--f-thumb-active-border: var(--f-thumb-hover-border);--f-thumb-active-transform: var(--f-thumb-hover-transform);--f-thumb-selected-opacity: 1;--f-thumb-selected-border: none;--f-thumb-selected-shadow: inset 0 0 0 2px #fff;--f-thumb-selected-transform: none;--f-scrollbar-width: 7px;--f-scrollbar-track-bg: #444;--f-scrollbar-track-border-radius: 10px;--f-scrollbar-track-shadow: inset 0 0 6px rgba(0, 0, 0, .2);--f-scrollbar-thumb-bg: #ddd;--f-scrollbar-thumb-border-radius: 10px}.fancybox__container[theme=light]{--fancybox-color: #222;--fancybox-backdrop-bg: rgba(255, 255, 255, .97);--f-toolbar-color: var(--fancybox-color, #222);--f-toolbar-text-shadow: none;--f-toolbar-font-weight: 400;--f-html-color: var(--fancybox-color, #222);--f-html-bg: #fff;--f-error-color: #555;--f-error-bg: #fff;--f-video-bg: #fff;--f-caption-color: #333;--f-spinner-color-1: rgba(0, 0, 0, .2);--f-spinner-color-2: rgba(0, 0, 0, .8);--f-spinner-border-width: 3.5px;--f-progressbar-color: rgba(111, 111, 116);--f-button-color: #333;--f-button-hover-color: #000;--f-button-outline-color: rgba(0, 0, 0, .85);--f-button-bg: rgba(255, 255, 255, .85);--f-button-svg-stroke-width: 1.3;--f-button-svg-filter: none;--f-arrow-bg: rgba(255, 255, 255, .85);--f-arrow-color: #333;--f-arrow-hover-color: #000;--f-arrow-svg-stroke-width: 1.3;--f-close-button-color: #555;--f-close-button-hover-color: #000;--f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);--f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;--f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000;--f-scrollbar-track-bg: #ddd;--f-scrollbar-thumb-bg: #444}.fancybox__container{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column}.fancybox__container:focus{outline:none}.fancybox__container.has-vertical-thumbs{flex-direction:row-reverse}.fancybox__container.has-vertical-thumbs:not(.is-closing) .fancybox__viewport{overflow-x:clip;overflow-y:visible}.fancybox__container>*:not(.fancybox__carousel),.fancybox__container .fancybox__carousel>*:not(.fancybox__grid,.fancybox__viewport),.fancybox__container .fancybox__column>*:not(.fancybox__viewport),.fancybox__container .fancybox__slide:not(.is-selected),.fancybox__container .fancybox__slide.is-selected>*:not(.f-html,.f-panzoom__wrapper,.f-spinner){opacity:var(--f-drag-opacity, 1)}.fancybox__container:not(.is-ready,.is-hiding){visibility:hidden}.fancybox__container.is-revealing>*:not(.fancybox__carousel),.fancybox__container.is-revealing .fancybox__carousel>*:not(.fancybox__grid,.fancybox__viewport),.fancybox__container.is-revealing .fancybox__column>*:not(.fancybox__viewport),.fancybox__container.is-revealing .fancybox__slide:not(.is-selected),.fancybox__container.is-revealing .fancybox__slide.is-selected>*:not(.f-html,.f-panzoom__wrapper){animation:var(--f-interface-enter-duration, .35s) ease none f-fadeIn}.fancybox__container.is-hiding>*:not(.fancybox__carousel),.fancybox__container.is-hiding .fancybox__carousel>*:not(.fancybox__grid,.fancybox__viewport),.fancybox__container.is-hiding .fancybox__column>*:not(.fancybox__viewport),.fancybox__container.is-hiding .fancybox__slide.is-selected>*:not(.f-html,.f-panzoom__wrapper){animation:var(--f-interface-exit-duration, .35s) ease forwards f-fadeOut}.fancybox__container.is-hiding .fancybox__carousel .fancybox__slide:not(.is-selected){opacity:0}.fancybox__container.is-hiding{pointer-events:none}.fancybox__container.is-idle .f-carousel__toolbar{pointer-events:none;opacity:0}.fancybox__container.is-idle .f-button.is-arrow{opacity:0}.fancybox__container.is-idle.is-ready .f-carousel__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__container.is-idle.is-ready .f-button.is-arrow{animation:.15s ease-out both f-fadeOut}.fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-backdrop-bg);filter:var(--fancybox-backdrop-filter)}.fancybox__carousel{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;position:relative;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__carousel.is-vertical{--f-carousel-slide-height: 100%}.fancybox__carousel.is-ltr{direction:ltr}.fancybox__carousel.is-rtl{direction:rtl}.fancybox__carousel>.f-button.is-arrow:before{position:absolute;content:"";inset:-30px;z-index:1}.fancybox__viewport{display:grid;flex:1;min-height:0;min-width:0;position:relative;overflow:visible;transform:translate3d(0,var(--f-drag-offset, 0),0)}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__viewport [data-selectable],.fancybox__viewport [contenteditable]{cursor:auto}.fancybox__slide{box-sizing:border-box;position:relative;grid-area:1/1;display:flex;align-items:center;flex-direction:column;width:var(--f-carousel-slide-width);height:var(--f-carousel-slide-height);min-width:0;min-height:0;max-width:100%;margin:0;padding:var(--f-carousel-slide-padding);background:var(--f-carousel-slide-bg);backface-visibility:hidden;transform:translateZ(0);will-change:transform}.fancybox__slide:before,.fancybox__slide:after{display:block;content:""}.fancybox__slide:before{margin-bottom:auto}.fancybox__slide:after{margin-top:auto}.fancybox__slide.is-selected{z-index:1}.fancybox__slide.f-zoomable{overflow:visible}.fancybox__slide.has-error{--f-html-color: var(--f-error-color, --f-html-color);--f-html-bg: var(--f-error-bg, --f-html-bg)}.fancybox__slide.has-html{overflow:auto;padding:8px}.fancybox__slide.has-iframe{overflow:hidden;padding:8px 0}.fancybox__slide.has-close-btn{padding-top:34px}.fancybox__slide.has-controls:before{margin:0}.fancybox__slide .f-spinner{cursor:pointer}.fancybox__container.is-closing .f-caption,.fancybox__slide.is-loading .f-caption{visibility:hidden}.fancybox__container.is-closing .fancybox__carousel,.fancybox__container.is-closing .fancybox__viewport,.fancybox__container.is-closing .fancybox__slide.is-selected{overflow:visible}.f-button.is-close-button{--f-button-width: var(--f-close-button-width);--f-button-height: var(--f-close-button-height);--f-button-border-radius: var(--f-close-border-radius);--f-button-color: var(--f-close-button-color);--f-button-hover-color: var(--f-close-button-hover-color);--f-button-bg: var(--f-close-button-bg);--f-button-hover-bg: var(--f-close-button-hover-bg);--f-button-active-bg: var(--f-close-button-active-bg);--f-button-svg-width: var(--f-close-button-svg-width);--f-button-svg-height: var(--f-close-button-svg-height);--f-button-svg-stroke-width: var(--f-close-button-svg-stroke-width);position:absolute;top:calc((var(--f-button-height) + 2px) * -1);right:0;z-index:10}.is-loading .f-button.is-close-button{visibility:hidden}.fancybox__thumbs{flex:0 1 100%}.fancybox__thumbs.is-scrollable{--f-thumbs-cols: 1;--f-thumbs-gap: 8px;--f-thumbs-transition: none;--f-thumbs-padding-x: 4px;--f-thumbs-padding-y: 8px;--f-thumbs-viewport-padding-x: 4px;--f-thumbs-viewport-padding-y: 0px;max-width:calc(var(--f-thumb-width) * var(--f-thumbs-cols) + var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1) + var(--f-thumbs-padding-x) * 2 + var(--f-thumbs-viewport-padding-x) * 2)}.fancybox__thumbs.is-scrollable ::-webkit-scrollbar{width:var(--f-scrollbar-width)}.fancybox__thumbs.is-scrollable ::-webkit-scrollbar-track{background:var(--f-scrollbar-track-bg);border-radius:var(--f-scrollbar-track-border-radius);box-shadow:var(--f-scrollbar-track-shadow)}.fancybox__thumbs.is-scrollable ::-webkit-scrollbar-thumb{background:var(--f-scrollbar-thumb-bg);border-radius:var(--f-scrollbar-thumb-border-radius)}.fancybox__thumbs.is-scrollable.is-hidden{max-width:0;--f-thumbs-padding-x: 0;max-height:unset;--f-thumbs-padding-y: unset}.fancybox__thumbs.is-scrollable .f-thumbs__viewport{overflow-x:hidden!important;grid-template-columns:repeat(auto-fill,calc((100% - var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1)) / var(--f-thumbs-cols)))!important}

@charset "UTF-8";
/* Modern CSS Reset */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

button {
  padding: 0;
}

/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Additional modern resets */
/* Remove default padding */
ul,
ol,
dd,
blockquote,
figure {
  margin: 0;
  padding: 0;
}

/* Remove default table spacing */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Reset form elements */
button {
  border: none;
  background: none;
  cursor: pointer;
}

input,
textarea {
  border: none;
  outline: none;
}

/* Remove default button focus outline and add custom focus styles */
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Improve consistency of default fonts */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", sans-serif;
}

code,
pre,
samp {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", "Cascadia Code", "Roboto Mono", Consolas, "Liberation Mono", Menlo, monospace;
}

@font-face {
  font-family: "Bembo";
  src: url("/wp-content/themes/the-fife-arms/assets/src/fonts/Bembo.woff2") format("woff2"), url("/wp-content/themes/the-fife-arms/assets/src/fonts/Bembo.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bembo";
  src: url("/wp-content/themes/the-fife-arms/assets/src/fonts/BemboStd-Bold.woff2") format("woff2"), url("/wp-content/themes/the-fife-arms/assets/src/fonts/BemboStd-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mark OT";
  src: url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT-Bold.woff2") format("woff2"), url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mark OT";
  src: url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT-Light.woff2") format("woff2"), url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mark OT";
  src: url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT.woff2") format("woff2"), url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mark OT";
  src: url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT-Medium.woff2") format("woff2"), url("/wp-content/themes/the-fife-arms/assets/src/fonts/MarkOT-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
body,
html {
  overscroll-behavior-x: none;
}

/* Fix blue text on selects */
select {
  color: inherit;
  -webkit-text-fill-color: inherit;
}

/* Fix blue on buttons */
button,
[role=button],
input[type=submit],
input[type=button] {
  color: inherit;
  -webkit-text-fill-color: inherit;
}

/* Nuclear option — catches everything */
a,
button,
.checkbox-group label,
.date-input,
.accordion-title {
  cursor: pointer;
}

body,
html {
  font-family: "Bembo";
  font-size: 62.5%;
  height: 100%;
  margin: 0;
  width: 100%;
}
@media screen and (max-width: 1599px) {
  body,
  html {
    font-size: 8px;
  }
}

body {
  --regular-spacing: 18rem;
  --large-spacing: 25rem;
  --small-spacing: 10rem;
  --carousel-count-size: 3.6rem;
  --carousel-count-weight: 500;
  --carousel-arrow-size: 2.6rem;
}
@media screen and (max-width: 1919px) {
  body {
    --large-spacing: 22.5rem;
    --small-spacing: 8rem;
  }
}
@media screen and (max-width: 1599px) {
  body {
    --regular-spacing: 16rem;
    --large-spacing: 20rem;
    --small-spacing: 7rem;
  }
}
@media screen and (max-width: 1439px) {
  body {
    --regular-spacing: 14rem;
    --large-spacing: 19rem;
  }
}
@media screen and (max-width: 1023px) {
  body {
    --regular-spacing: 12.5rem;
    --large-spacing: 14rem;
  }
}
@media screen and (max-width: 767px) {
  body {
    --regular-spacing: 12rem;
    --large-spacing: 15rem;
  }
}
@media screen and (max-width: 639px) {
  body {
    --regular-spacing: 10rem;
    --large-spacing: 13rem;
    --carousel-count-size: 2.8rem;
    --carousel-arrow-size: 2.4rem;
  }
}
@media screen and (max-width: 500px) {
  body {
    --large-spacing: 10rem;
    --regular-spacing: 9rem;
  }
}

.small-spacing-top {
  margin-top: var(--small-spacing);
}

.medium-spacing-top {
  margin-top: var(--regular-spacing);
}

.large-spacing-top {
  margin-top: var(--large-spacing);
}

.small-spacing-bottom {
  margin-bottom: var(--small-spacing);
}

.medium-spacing-bottom {
  margin-bottom: var(--regular-spacing);
}

.large-spacing-bottom {
  margin-bottom: var(--large-spacing);
}

.load-overlay {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #fffcf7;
  z-index: 99999999;
}

body {
  background-image: url("/wp-content/themes/the-fife-arms/assets/src/img/texture.png");
  background-repeat: repeat;
  background-size: 50% auto;
}

a {
  font-family: "Mark OT";
}

.container {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.container .row {
  padding: 0 8rem;
}
@media screen and (max-width: 1279px) {
  .container .row {
    padding: 0 6rem;
  }
}
@media screen and (max-width: 767px) {
  .container .row {
    padding: 0 5rem;
  }
}
@media screen and (max-width: 639px) {
  .container .row {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 500px) {
  .container .row {
    padding: 0 3.5rem;
  }
}

h2 {
  font-size: 1.2rem;
  font-weight: 300;
  font-family: "Mark OT";
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 0.5em;
}

h3 {
  font-size: 5rem;
  font-weight: 400;
  margin: 0 0 0.7em;
}

p {
  font-size: 2rem;
  font-family: "Mark OT";
  line-height: 1.6;
  margin-bottom: 1.25em;
  letter-spacing: 0;
}
@media screen and (max-width: 500px) {
  p {
    font-size: 1.8rem;
  }
}
p + a {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 1.5rem;
  font-weight: 300;
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  padding-bottom: 0.5em;
  color: black;
}

p a,
li a {
  text-decoration: underline;
}

.fade-in-up {
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
}

.fade-in {
  opacity: 0;
}

.scale-down {
  transform: scale(1.1);
  filter: blur(25px);
}

.animate-width {
  width: 0%;
}

hr {
  border-top: 1px solid #afafaf;
}

h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

a.hover-link {
  display: inline-flex;
  font-family: "Bembo";
  font-size: 3rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding-left: 9rem;
  align-items: center;
  text-decoration: none;
  color: black;
  position: relative;
}
@media screen and (max-width: 1599px) {
  a.hover-link {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1439px) {
  a.hover-link {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 1023px) {
  a.hover-link {
    padding-left: 0;
    display: inline-block;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  a.hover-link {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 639px) {
  a.hover-link {
    font-size: 2.125rem;
  }
}
@media screen and (max-width: 500px) {
  a.hover-link {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  a.hover-link::after {
    background: black;
    height: 0.15rem;
    width: 100%;
    content: "";
    bottom: -0.3em;
    left: 0;
    position: absolute;
  }
}
a.hover-link .circle {
  position: absolute;
  left: 0;
  width: 6rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-size: auto 21rem;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 2;
}
@media screen and (max-width: 1023px) {
  a.hover-link .circle {
    display: none;
  }
}
a.hover-link .label.front {
  position: relative;
  z-index: 3;
  color: white;
  clip-path: circle(0% at 0 50%);
  display: block;
}
@media screen and (max-width: 1023px) {
  a.hover-link .label.front {
    display: none;
  }
}
a.hover-link .label.behind {
  position: absolute;
  top: 0;
  left: 9rem;
  color: black;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  a.hover-link .label.behind {
    position: static;
  }
}

.arrow-link {
  display: flex;
  font-family: "Bembo";
  font-size: 2.6rem;
  letter-spacing: 0.03em;
  text-decoration: none;
  gap: 0.78em;
  line-height: 1;
  color: black;
}
@media screen and (max-width: 1599px) {
  .arrow-link {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1279px) {
  .arrow-link {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .arrow-link {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 639px) {
  .arrow-link {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 500px) {
  .arrow-link {
    font-size: 2.1rem;
  }
}
.arrow-link span {
  position: relative;
}
.arrow-link span::after {
  background: black;
  height: 0.15rem;
  width: 100%;
  content: "";
  bottom: -0.3em;
  left: 0;
  position: absolute;
}
.arrow-link img {
  width: 4.7rem;
  height: auto;
  transform: translateY(10%) rotate(-45deg);
}

#cursor {
  position: fixed;
  z-index: 9999999;
  width: 8rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  border: 1px solid white;
  mix-blend-mode: exclusion;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: width 0.3s ease, background 0.3s ease, opacity 0.3s ease;
  display: none;
}
#cursor.hovered {
  width: 1rem;
  background: white;
  opacity: 0;
}

.blur-up {
  filter: blur(5px);
  transition: filter 400ms;
}

.blur-up.lazyloading {
  filter: blur(3px); /* Slightly less blur while loading */
}

.blur-up.lazyloaded {
  filter: blur(0);
}

.cta {
  text-transform: uppercase;
  font-size: 1.5rem;
  font-family: "Mark OT";
  letter-spacing: 0.05em;
  color: white;
  background: black;
  text-decoration: none;
  padding: 1em 3.75em;
  display: inline-block;
}

body.has-page-background {
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

body.inverted {
  color: white;
}
body.inverted h1, body.inverted h2, body.inverted h3, body.inverted h4, body.inverted h5, body.inverted h6 {
  color: inherit;
}
body.inverted a {
  color: inherit;
}
body.inverted p + a {
  color: white;
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
body.inverted p a,
body.inverted li a {
  color: inherit;
}
body.inverted a.hover-link {
  color: white;
}
body.inverted a.hover-link .label.behind {
  color: white;
}
body.inverted .arrow-link {
  color: white;
}
body.inverted .arrow-link span::after {
  background: white;
}
body.inverted .heading .outer-wrapper .text h2.line-container .line .heading {
  color: white;
}
body.inverted .cta {
  color: black;
  background: white;
}
body.inverted .booking-wrapper .booking-submit {
  background: white;
  color: black;
  border-color: white;
}
body.inverted .booking-wrapper .booking-submit:hover {
  background: transparent;
  color: white;
}
body.inverted .simple-text-block .text ul.links a.button {
  background: white;
  color: black;
}
body.inverted .experience .text a.cta {
  border-color: white;
}
body.inverted .experience .text a.cta:hover {
  background: transparent;
  color: white;
}
body.inverted .experience .booking .form button {
  background: white;
  color: black;
}
body.inverted hr {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .quote-wrapper .quote {
  border-top-color: white;
  border-bottom-color: white;
}
body.inverted ul.accordion > li {
  border-top-color: rgba(255, 255, 255, 0.4);
}
body.inverted ul.accordion > li:last-child {
  border-bottom-color: rgba(255, 255, 255, 0.4);
}
body.inverted ul.accordion > li .toggle::before, body.inverted ul.accordion > li .toggle::after {
  background: white;
}
body.inverted .timeline section::after {
  background: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking {
  border-top-color: rgba(255, 255, 255, 0.4);
  border-bottom-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .date-input {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .guests-selector .guests-toggle {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .guests-selector .guests-panel {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .guests-selector .guests-panel .room {
  border-bottom-color: rgba(255, 255, 255, 0.15);
}
body.inverted .booking-wrapper .booking-form .promo-selector {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .promo-selector .promo-toggle {
  border-right-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .promo-selector .promo-panel {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .promo-selector .promo-panel label input[type=radio] {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .promo-selector .promo-panel label input[type=radio]:checked {
  background: white;
}
body.inverted .experiences .control-bar ul.tabs li button {
  border-bottom-color: rgba(255, 255, 255, 0);
}
body.inverted .experiences .control-bar ul.tabs li button:hover, body.inverted .experiences .control-bar ul.tabs li button.active {
  border-bottom-color: white;
}
body.inverted .experiences section .spacer {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
body.inverted .experiences section .button-wrapper {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
body.inverted .when-to-visit .control-bar {
  border-bottom-color: rgba(255, 255, 255, 0.4);
}
body.inverted .heading .outer-wrapper .text h2.line-container .line hr {
  border-top-color: white;
}
body.inverted .simple-text-block .text table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.4);
}
body.inverted .simple-text-block .text table tbody td {
  border-bottom-color: rgba(255, 255, 255, 0.15);
}
body.inverted .simple-text-block .text ul.links a span::after {
  background: white;
}
body.inverted .simple-text-block .text ul.links a {
  color: white;
}
body.inverted .sidebar-filter form fieldset {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
body.inverted .sidebar-filter form .filter-row {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
body.inverted .sidebar-filter form .checkbox-group input[type=checkbox] {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .sidebar-filter form .checkbox-group input[type=checkbox]:checked {
  border-color: rgba(255, 255, 255, 0.6);
}
body.inverted .sidebar-filter form .checkbox-group input[type=checkbox]:checked::after {
  border-color: rgba(255, 255, 255, 0.6);
}
body.inverted .sidebar-filter form .checkbox-group input[type=checkbox]:focus-visible {
  outline-color: rgba(255, 255, 255, 0.6);
}
body.inverted .sidebar-filter form select {
  border-color: rgba(255, 255, 255, 0.4);
  color: inherit;
}
body.inverted .sidebar-filter form .custom-select-trigger {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .sidebar-filter form .date-input {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .custom-select-wrapper .custom-select-dropdown {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .experience .booking .form form .forminator-field {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
body.inverted .experience .booking .form form .forminator-field input,
body.inverted .experience .booking .form form .forminator-field textarea {
  color: white;
}
body.inverted .experience .booking .form form .forminator-field input::-moz-placeholder, body.inverted .experience .booking .form form .forminator-field textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .experience .booking .form form .forminator-field input::placeholder,
body.inverted .experience .booking .form form .forminator-field textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .experience .booking .form form .forminator-field textarea {
  border-color: rgba(255, 255, 255, 0.2);
}
body.inverted .experience .booking .form form .forminator-field .number-stepper .stepper-btn {
  color: white;
}
body.inverted .experience .booking .form form .forminator-field .forminator-checkbox__wrapper input[type=checkbox] {
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .experience .booking .form form .forminator-field .forminator-checkbox__wrapper input[type=checkbox]:checked {
  border-color: rgba(255, 255, 255, 0.6);
}
body.inverted .experience .booking .form form .forminator-field .forminator-checkbox__wrapper input[type=checkbox]:checked::after {
  border-color: rgba(255, 255, 255, 0.6);
}
body.inverted .experience .booking .form form .forminator-field-name .forminator-field input,
body.inverted .experience .booking .form form .forminator-field-email .forminator-field input {
  border-color: rgba(255, 255, 255, 0.2);
}
body.inverted .experience .booking .form form .forminator-field-name .forminator-field input::-moz-placeholder, body.inverted .experience .booking .form form .forminator-field-email .forminator-field input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
body.inverted .experience .booking .form form .forminator-field-name .forminator-field input::placeholder,
body.inverted .experience .booking .form form .forminator-field-email .forminator-field input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
body.inverted .experience .booking .form form .forminator-field .number-stepper + .forminator-error-message {
  border-top-color: rgba(255, 255, 255, 0.2);
}
body.inverted .experience .text ul.breadcrumb li a {
  color: white;
}
body.inverted .experiences .control-bar button.filter svg path {
  stroke: rgba(255, 255, 255, 0.6);
}
body.inverted .sidebar-filter button.close svg path {
  fill: white;
}
body.inverted .sidebar-filter form .buttons button.clear svg path {
  fill: white;
}
body.inverted .when-to-visit .control-bar button svg path {
  stroke: rgba(255, 255, 255, 0.6);
}
body.inverted .when-to-visit .control-bar button:hover svg path {
  stroke: white;
}
body.inverted .when-to-visit .control-bar ul button.active svg path {
  stroke: white;
}
body.inverted .arrow-link img {
  filter: invert(1);
}
body.inverted .carousel-wrapper .controls .buttons button svg path {
  fill: white;
}
body.inverted ul.breadcrumb li a img {
  filter: invert(1);
}
body.inverted .timeline section .text h2 img {
  filter: invert(1);
}
body.inverted .experience .text ul.icons li img {
  filter: invert(1);
}
body.inverted .simple-text-block .text ul.icons li img {
  filter: invert(1);
}
body.inverted .booking-wrapper .booking-form .guests-toggle::after {
  filter: invert(1);
}
body.inverted .booking-wrapper .booking-form .promo-selector .promo-toggle::after {
  filter: invert(1);
}
body.inverted .sidebar-filter form .filter-row .select-wrapper::after {
  filter: invert(1);
}
body.inverted .when-to-visit .event-carousel-wrapper .controls button svg path {
  fill: white;
}
body.inverted .gallery-outer .gallery-wrapper .controls button svg path {
  fill: white;
}
body.inverted .carousel-blocks .block-carousel-wrapper .controls button svg path {
  fill: white;
}
body.inverted .image-text .row .text ul a img {
  filter: invert(1);
}
body.inverted .booking-wrapper .booking-form .img img {
  filter: invert(1);
}
body.inverted .carousel-blocks .carousel-block .text ul.icons {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .carousel-blocks .carousel-block .text ul.icons li img {
  filter: invert(1);
}
body.inverted .hero + .line::after,
body.inverted .hover-reveal .line::after {
  background: white;
}
body.inverted .hero + .line .dot,
body.inverted .hover-reveal .line .dot {
  background: rgba(255, 255, 255, 0.5);
}
body.inverted .hover-reveal .row .list-wrapper ul button::after {
  background: white;
}
body.inverted .timeline section .text h2 {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted ul.accordion .accordion-content ul p {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .experience .text ul.icons {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .simple-text-block .text ul.icons {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .simple-text-block .text p.footnote {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .experiences .control-bar button.filter {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .experiences .experience-card time {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .when-to-visit .control-bar button {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .when-to-visit .control-bar button:hover {
  color: white;
}
body.inverted .when-to-visit .control-bar ul button.active {
  color: white;
}
body.inverted .when-to-visit .visit-tabs section .intro .text h3 {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .when-to-visit .event .event-info .time-wrapper {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted .booking-wrapper .booking-form .date-input label {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .booking-wrapper .booking-form .guests-panel .room-heading {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .booking-wrapper .booking-form .guests-panel .stepper--child-age {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .booking-wrapper .booking-form .guests-panel .stepper--child-age button {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .booking-wrapper .booking-form .promo-selector input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
body.inverted .booking-wrapper .booking-form .promo-selector input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
body.inverted .experience .booking .form .form p {
  color: rgba(255, 255, 255, 0.65);
}
body.inverted header {
  color: white;
}
body.inverted footer {
  color: black;
}
body.inverted footer a {
  color: black;
}
body.inverted footer .column a.btn {
  background: black;
  color: white;
}
body.inverted footer .arrow-link {
  color: black;
}
body.inverted footer .arrow-link span::after {
  background: black;
}
body.inverted footer .arrow-link img {
  filter: none;
}
body.inverted .dropdown {
  background: rgba(0, 0, 0, 0.9);
}
body.inverted .dropdown .row .menu-wrapper > ul > li > ul > li a {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .dropdown .row .menu-wrapper > ul > li > ul > li a:hover, body.inverted .dropdown .row .menu-wrapper > ul > li > ul > li a.current {
  color: white;
}
body.inverted .dropdown .row .menu-wrapper > ul > li > ul > li em {
  color: rgba(255, 255, 255, 0.5);
}
body.inverted .dropdown.image .row ul li a {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .dropdown.image .row ul li a:hover, body.inverted .dropdown.image .row ul li a.current {
  color: white;
}
body.inverted .booking-wrapper .booking-form .guests-selector .guests-panel {
  background: rgba(0, 0, 0, 0.85);
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .booking-wrapper .booking-form .promo-selector .promo-panel {
  background: rgba(0, 0, 0, 0.85);
  border-color: rgba(255, 255, 255, 0.4);
}
body.inverted .sidebar-filter {
  background: rgba(0, 0, 0, 0.85);
}
body.inverted .dim {
  background: white;
}
body.inverted .custom-select-wrapper .custom-select-dropdown {
  background: rgba(0, 0, 0, 0.85);
}
body.inverted .custom-select-wrapper .custom-select-option {
  color: rgba(255, 255, 255, 0.6);
}
body.inverted .custom-select-wrapper .custom-select-option:hover, body.inverted .custom-select-wrapper .custom-select-option.active {
  color: white;
}
body.inverted .booking-wrapper .booking-form .date-input input,
body.inverted .sidebar-filter form .date-input input {
  background: transparent;
  color: white;
}
body.inverted #ui-datepicker-div {
  background: rgba(0, 0, 0, 0.85);
  border-color: rgba(255, 255, 255, 0.4);
  color: white;
}
body.inverted #ui-datepicker-div .ui-datepicker-prev,
body.inverted #ui-datepicker-div .ui-datepicker-next {
  filter: invert(1);
}
body.inverted #ui-datepicker-div td a {
  color: white;
}
body.inverted #ui-datepicker-div td a::before {
  background: white;
}
body.inverted #ui-datepicker-div td a.ui-state-highlight::before {
  border-color: rgba(255, 255, 255, 0.6);
}
body.inverted #ui-datepicker-div td a.ui-state-active {
  color: black;
}
body.inverted #ui-datepicker-div td a.ui-state-active::before {
  background: white;
}
body.inverted #ui-datepicker-div td span {
  color: rgba(255, 255, 255, 0.4);
}
body.inverted #ui-datepicker-div select {
  color: white;
}
body.inverted .heading .outer-wrapper img.parallax-graphic,
body.inverted .heading .outer-wrapper img.flourish,
body.inverted .heading .outer-wrapper img.static {
  filter: invert(1) brightness(2);
  opacity: 1 !important;
}
body.inverted .image img.parallax-graphic {
  filter: invert(1) brightness(2);
  opacity: 1 !important;
}
body.inverted .when-to-visit .visit-tabs .weather .graphic-wrapper .graphic {
  filter: invert(1) brightness(2);
  opacity: 1 !important;
}

.single-experience header,
.single-event header,
.single-festival-archive header,
.no-hero header {
  color: black;
}
.single-experience header .crest-wrapper,
.single-experience header .header-top,
.single-experience header .header-bottom,
.single-event header .crest-wrapper,
.single-event header .header-top,
.single-event header .header-bottom,
.single-festival-archive header .crest-wrapper,
.single-festival-archive header .header-top,
.single-festival-archive header .header-bottom,
.no-hero header .crest-wrapper,
.no-hero header .header-top,
.no-hero header .header-bottom {
  background: #e7e6e2;
}
.single-experience header .crest .crest-wrapper,
.single-event header .crest .crest-wrapper,
.single-festival-archive header .crest .crest-wrapper,
.no-hero header .crest .crest-wrapper {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.single-experience header .crest .crest-wrapper img,
.single-event header .crest .crest-wrapper img,
.single-festival-archive header .crest .crest-wrapper img,
.no-hero header .crest .crest-wrapper img {
  filter: invert(1);
}
.single-experience header .header-main,
.single-event header .header-main,
.single-festival-archive header .header-main,
.no-hero header .header-main {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.single-experience header .header-main .header-top,
.single-event header .header-main .header-top,
.single-festival-archive header .header-main .header-top,
.no-hero header .header-main .header-top {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.single-experience header .header-main .header-top a.logo img,
.single-event header .header-main .header-top a.logo img,
.single-festival-archive header .header-main .header-top a.logo img,
.no-hero header .header-main .header-top a.logo img {
  filter: invert(1);
}
.single-experience header .header-main .header-bottom ul li a,
.single-event header .header-main .header-bottom ul li a,
.single-festival-archive header .header-main .header-bottom ul li a,
.no-hero header .header-main .header-bottom ul li a {
  color: black;
}
.single-experience header .header-main .header-bottom ul li a::before,
.single-event header .header-main .header-bottom ul li a::before,
.single-festival-archive header .header-main .header-bottom ul li a::before,
.no-hero header .header-main .header-bottom ul li a::before {
  background: black;
}
.single-experience header .book,
.single-event header .book,
.single-festival-archive header .book,
.no-hero header .book {
  color: black;
  background: #e7e6e2;
}
@media screen and (max-width: 1279px) {
  .single-experience header .book,
  .single-event header .book,
  .single-festival-archive header .book,
  .no-hero header .book {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  }
}
.single-experience header .burger-wrapper,
.single-event header .burger-wrapper,
.single-festival-archive header .burger-wrapper,
.no-hero header .burger-wrapper {
  background: #e7e6e2;
  border-color: rgba(0, 0, 0, 0.2);
}
.single-experience header .burger-wrapper .burger span,
.single-event header .burger-wrapper .burger span,
.single-festival-archive header .burger-wrapper .burger span,
.no-hero header .burger-wrapper .burger span {
  background: black;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  display: flex;
  color: white;
}
header .crest-wrapper,
header .header-top,
header .header-bottom,
header .book {
  background: rgba(0, 0, 0, 0.07);
}
header.dropdown-active a.book {
  background: transparent;
  color: white;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
}
header.dropdown-active a.book .bg {
  opacity: 1;
  visibility: visible;
}
header.scrolled, header.dropdown-active {
  color: black;
}
header.scrolled .crest-wrapper,
header.scrolled .header-top,
header.scrolled .header-bottom, header.dropdown-active .crest-wrapper,
header.dropdown-active .header-top,
header.dropdown-active .header-bottom {
  background: #e7e6e2;
}
header.scrolled .header-main, header.dropdown-active .header-main {
  border-color: rgba(0, 0, 0, 0.2);
  border-right-width: 0px;
}
header.scrolled .crest .crest-wrapper, header.dropdown-active .crest .crest-wrapper {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
header.scrolled .crest .crest-wrapper img, header.dropdown-active .crest .crest-wrapper img {
  filter: invert(1);
}
header.scrolled .header-main .header-top, header.dropdown-active .header-main .header-top {
  border-color: rgba(0, 0, 0, 0.2);
}
header.scrolled .header-main .header-top a.logo img, header.dropdown-active .header-main .header-top a.logo img {
  filter: invert(1);
}
header.scrolled .header-main .header-bottom > ul > li > a, header.dropdown-active .header-main .header-bottom > ul > li > a {
  color: black;
}
header.scrolled .header-main .header-bottom > ul > li > a::before, header.dropdown-active .header-main .header-bottom > ul > li > a::before {
  background: black;
}
header.scrolled .book, header.dropdown-active .book {
  color: white;
  background: transparent;
}
header.scrolled .burger-wrapper, header.dropdown-active .burger-wrapper {
  background: #e7e6e2;
  border-color: rgba(0, 0, 0, 0.2);
}
header.scrolled .burger-wrapper .burger span, header.dropdown-active .burger-wrapper .burger span {
  background: black;
}
header.scrolled.dropdown-active a.book {
  color: white;
}
header.shift .crest .crest-wrapper {
  perspective: 150px;
}
header.shift .crest .crest-wrapper img {
  height: 54px;
}
header.shift .header-main .header-bottom ul li a {
  padding: 3.25rem 0;
}
header .crest-wrapper,
header .book,
header .burger-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20rem;
}
@media screen and (max-width: 1919px) {
  header .crest-wrapper,
  header .book,
  header .burger-wrapper {
    width: 17rem;
  }
}
@media screen and (max-width: 1279px) {
  header .crest-wrapper,
  header .book,
  header .burger-wrapper {
    width: 15rem;
  }
}
@media screen and (max-width: 1023px) {
  header .crest-wrapper,
  header .book,
  header .burger-wrapper {
    width: 12.5rem;
  }
}
@media screen and (max-width: 767px) {
  header .crest-wrapper,
  header .book,
  header .burger-wrapper {
    width: 10rem;
  }
}
@media screen and (max-width: 500px) {
  header .crest-wrapper,
  header .book,
  header .burger-wrapper {
    width: 9rem;
  }
}
@media screen and (max-width: 1279px) {
  header .crest {
    display: none;
  }
}
header .crest:hover .crest-spinner {
  transform: rotateY(360deg);
  transition: transform 1.5s ease;
}
header .crest .crest-wrapper {
  height: 100%;
  transition: background 0.3s ease, border 0.3s ease;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 100px;
}
header .crest .crest-wrapper img {
  width: auto;
  height: 100px;
  transition: height 0.3s ease;
}
@media screen and (max-width: 1599px) {
  header .crest .crest-wrapper img {
    height: 85px;
  }
}
@media screen and (max-width: 1279px) {
  header .dropdown {
    display: none !important;
  }
}
header .header-main {
  width: calc(100% - 40rem);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 1919px) {
  header .header-main {
    width: calc(100% - 34rem);
  }
}
@media screen and (max-width: 1279px) {
  header .header-main {
    width: calc(100% - 30rem);
  }
}
@media screen and (max-width: 1023px) {
  header .header-main {
    width: calc(100% - 25rem);
  }
}
@media screen and (max-width: 767px) {
  header .header-main {
    width: calc(100% - 20rem);
  }
}
@media screen and (max-width: 500px) {
  header .header-main {
    width: calc(100% - 18rem);
  }
}
header .header-main .header-top {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2.5rem 0;
  transition: all 0.3s ease;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 1279px) {
  header .header-main .header-top {
    padding: 3rem 0 3.5rem;
  }
}
@media screen and (max-width: 639px) {
  header .header-main .header-top {
    padding: 3rem 0 3.25rem;
  }
}
header .header-main .header-top a.logo img {
  width: 29rem;
  height: auto;
  display: block;
  margin: 0 auto;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1439px) {
  header .header-main .header-top a.logo img {
    width: 25rem;
  }
}
@media screen and (max-width: 639px) {
  header .header-main .header-top a.logo img {
    width: 21rem;
  }
}
@media screen and (max-width: 500px) {
  header .header-main .header-top a.logo img {
    width: 18rem;
  }
}
header .header-main .header-bottom {
  position: relative;
  z-index: 9999;
  transition: background 0.3s ease;
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom {
    position: fixed;
    top: var(--header-height, 0px);
    left: 0;
    width: 100%;
    height: calc(100dvh - var(--header-height, 0px));
    overflow-x: hidden;
    overflow-y: auto;
    background: #f9f8f4;
    transition: none;
  }
}
header .header-main .header-bottom ul {
  display: flex;
  list-style: none;
  align-items: center;
  padding: 0 2.5em;
  font-size: 1.4rem;
  font-weight: 400;
  text-transform: uppercase;
  justify-content: center;
  gap: 3.5em;
}
@media screen and (max-width: 1919px) {
  header .header-main .header-bottom ul {
    gap: 2.25em;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1599px) {
  header .header-main .header-bottom ul {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1439px) {
  header .header-main .header-bottom ul {
    gap: 2em;
    font-size: 1.35rem;
  }
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom ul {
    display: block;
    padding: 5rem 6rem;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  header .header-main .header-bottom ul {
    font-size: 1.8rem;
    padding: 4rem 5rem;
  }
}
@media screen and (max-width: 639px) {
  header .header-main .header-bottom ul {
    font-size: 1.8rem;
    padding: 3.5rem 4rem;
  }
}
@media screen and (max-width: 500px) {
  header .header-main .header-bottom ul {
    padding: 3rem 3.5rem;
  }
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom ul li {
    padding: 1.5em 0;
    border-bottom: 1px solid rgba(86, 86, 86, 0.5);
    cursor: pointer;
  }
  header .header-main .header-bottom ul li.has-children > a {
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  header .header-main .header-bottom ul li {
    padding: 1.25em 0;
  }
}
@media screen and (max-width: 500px) {
  header .header-main .header-bottom ul li {
    padding: 1.125em 0;
  }
}
header .header-main .header-bottom ul li:first-child {
  padding-top: 0;
}
header .header-main .header-bottom ul li.current > a::before {
  opacity: 1;
}
header .header-main .header-bottom ul a {
  text-decoration: none;
  letter-spacing: 0.05em;
  display: block;
  padding: 3.5rem 0;
  position: relative;
  color: white;
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom ul a {
    color: black;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
header .header-main .header-bottom ul a img {
  display: none;
  width: 1.75rem;
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom ul a img {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  header .header-main .header-bottom ul a img {
    width: 1.5rem;
  }
}
@media screen and (max-width: 500px) {
  header .header-main .header-bottom ul a img {
    width: 1.25rem;
  }
}
header .header-main .header-bottom ul a::before, header .header-main .header-bottom ul a::after {
  position: absolute;
  content: "";
  opacity: 0;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom ul a::before, header .header-main .header-bottom ul a::after {
    display: none;
  }
}
header .header-main .header-bottom ul a::before {
  left: 0;
  bottom: 1.75em;
  width: 100%;
  height: 1px;
  background: white;
}
header .header-main .header-bottom ul a::after {
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 26px solid #e7e6e2;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
header .header-main .header-bottom ul a.active::before, header .header-main .header-bottom ul a.active::after {
  opacity: 1;
}
header .header-main .header-bottom .mobile-panel {
  display: none;
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom .mobile-panel {
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: #f9f8f4;
  }
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom .mobile-panel .has-accordion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  header .header-main .header-bottom .mobile-panel .has-accordion > a {
    flex: 1;
  }
}
header .header-main .header-bottom .mobile-panel ul li button {
  font-size: 1em;
  letter-spacing: 0.05em;
  font-family: "Mark OT";
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 2rem;
  color: black;
}
@media screen and (max-width: 500px) {
  header .header-main .header-bottom .mobile-panel ul li button {
    gap: 1.5rem;
  }
}
header .header-main .header-bottom .mobile-panel ul li button img {
  width: 1.75rem;
}
@media screen and (max-width: 767px) {
  header .header-main .header-bottom .mobile-panel ul li button img {
    width: 1.5rem;
  }
}
@media screen and (max-width: 500px) {
  header .header-main .header-bottom .mobile-panel ul li button img {
    width: 1.25rem;
  }
}
header .header-main .header-bottom .mobile-panel ul li a {
  text-transform: none;
}
@media screen and (max-width: 639px) {
  header .header-main .header-bottom .mobile-panel ul li a {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom .mobile-panel .accordion-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    width: 2rem;
    aspect-ratio: 1/1;
    position: relative;
    transition: transform 0.3s ease;
  }
}
@media screen and (max-width: 1279px) and (max-width: 639px) {
  header .header-main .header-bottom .mobile-panel .accordion-toggle {
    width: 1.75rem;
  }
}
header .header-main .header-bottom .mobile-panel .accordion-toggle::before, header .header-main .header-bottom .mobile-panel .accordion-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1.5px;
  background: black;
  transform-origin: center;
  display: none;
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom .mobile-panel .accordion-toggle::before, header .header-main .header-bottom .mobile-panel .accordion-toggle::after {
    display: block;
  }
}
header .header-main .header-bottom .mobile-panel .accordion-toggle::before {
  transform: translate(-50%, -50%);
}
header .header-main .header-bottom .mobile-panel .accordion-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
header .header-main .header-bottom .mobile-panel .accordion-toggle.is-open {
  transform: rotate(45deg);
}
header .header-main .header-bottom .mobile-accordion {
  display: none;
}
@media screen and (max-width: 1279px) {
  header .header-main .header-bottom .mobile-accordion {
    overflow: hidden;
    flex-basis: 100%;
    padding: 0.75em 0 0 1.5em;
  }
}
header .header-main .header-bottom .mobile-accordion li {
  border: 0;
  padding: 0;
  line-height: 2.5;
}
header .header-main .header-bottom .mobile-accordion li a {
  padding: 0;
  color: #868686;
}
header .header-main .header-bottom .mobile-accordion li a.current {
  color: black;
}
header .book {
  letter-spacing: 0.05em;
  font-size: 2.2rem;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  z-index: 9999;
  position: relative;
  color: white;
  text-decoration: none;
  font-family: "Bembo";
  font-weight: 700;
}
@media screen and (max-width: 1919px) {
  header .book {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 1599px) {
  header .book {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1279px) {
  header .book {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}
@media screen and (max-width: 1023px) {
  header .book {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  header .book {
    font-size: 1.8rem;
  }
}
header .book:hover > span span {
  transform: translateY(-100%);
  transition-delay: 0.15s;
}
@media screen and (max-width: 1279px) {
  header .book:hover > span span {
    transform: none;
  }
}
header .book > span {
  position: relative;
  z-index: 3;
  overflow: hidden;
  display: block;
}
header .book > span span {
  transition: all 0.5s ease 0s;
  display: block;
}
header .book > span span:nth-child(2) {
  position: absolute;
  top: 100%;
  left: 0;
}
header .book .bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}
header .book .bg::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.15);
}
header .book .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
}
header .burger-wrapper {
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.07);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  transition: background 0.3s ease, border-color 0.3s ease;
}
@media screen and (max-width: 1279px) {
  header .burger-wrapper {
    display: flex;
  }
}
header .burger-wrapper .burger {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  header .burger-wrapper .burger {
    gap: 1rem;
  }
}
@media screen and (max-width: 500px) {
  header .burger-wrapper .burger {
    gap: 0.8rem;
  }
}
header .burger-wrapper .burger span {
  display: block;
  width: 3.75rem;
  height: 1.5px;
  background: white;
  transform-origin: center;
  translate: 0 0;
  rotate: 0deg;
  opacity: 1;
  transition: translate 0.2s 0.13s cubic-bezier(0.33333, 0.66667, 0.66667, 1), rotate 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.1s linear, background 0.3s ease;
}
@media screen and (max-width: 767px) {
  header .burger-wrapper .burger span {
    width: 3.25rem;
  }
}
@media screen and (max-width: 500px) {
  header .burger-wrapper .burger span {
    height: 1px;
  }
}
header .burger-wrapper .burger.is-active span {
  transition: translate 0.12s cubic-bezier(0.33333, 0, 0.66667, 0.33333), rotate 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.1s 0.22s linear;
}
header .burger-wrapper .burger.is-active span:nth-child(1) {
  translate: 0 calc(1.125rem + 1.5px);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  header .burger-wrapper .burger.is-active span:nth-child(1) {
    translate: 0 calc(1rem + 1.5px);
  }
}
@media screen and (max-width: 500px) {
  header .burger-wrapper .burger.is-active span:nth-child(1) {
    translate: 0 calc(0.8rem + 1px);
  }
}
header .burger-wrapper .burger.is-active span:nth-child(2) {
  rotate: 45deg;
  transition: translate 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), rotate 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.1s linear;
}
header .burger-wrapper .burger.is-active span:nth-child(3) {
  translate: 0 calc(-1.125rem - 1.5px);
  rotate: -45deg;
}
@media screen and (max-width: 767px) {
  header .burger-wrapper .burger.is-active span:nth-child(3) {
    translate: 0 calc(-1rem - 1.5px);
  }
}
@media screen and (max-width: 500px) {
  header .burger-wrapper .burger.is-active span:nth-child(3) {
    translate: 0 calc(-0.8rem - 1px);
  }
}
@media screen and (max-width: 1279px) {
  header.mobile-nav-open .crest-wrapper,
  header.mobile-nav-open .header-top {
    background: #e7e6e2;
  }
  header.mobile-nav-open .crest .crest-wrapper {
    border-right-color: rgba(0, 0, 0, 0.2);
  }
  header.mobile-nav-open .crest .crest-wrapper img {
    filter: invert(1);
  }
  header.mobile-nav-open .header-main {
    border-color: rgba(0, 0, 0, 0.2);
  }
  header.mobile-nav-open .header-main .header-top {
    border-color: rgba(0, 0, 0, 0.2);
  }
  header.mobile-nav-open .header-main .header-top a.logo img {
    filter: invert(1);
  }
  header.mobile-nav-open .burger-wrapper {
    background: #e7e6e2;
    border-color: rgba(0, 0, 0, 0.2);
  }
  header.mobile-nav-open .burger-wrapper .burger span {
    background: black;
  }
}

@media screen and (max-width: 1279px) {
  .tap-flash {
    background: rgba(137, 138, 141, 0.2) !important;
    transition: background 0s !important;
  }
}
footer {
  background: #f9f8f4;
  padding: 10rem 0 20rem;
  overflow-x: hidden;
}
@media screen and (max-width: 1919px) {
  footer {
    padding: 10rem 0 12.5rem;
  }
}
@media screen and (max-width: 1599px) {
  footer {
    padding: 8rem 0 10rem;
  }
}
@media screen and (max-width: 1439px) {
  footer {
    padding: 7.5rem 0 5rem;
  }
}
@media screen and (max-width: 1279px) {
  footer {
    padding: 6.5rem 0 4rem;
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding: 5rem 0 3rem;
  }
}
@media screen and (max-width: 500px) {
  footer {
    padding: 4rem 0 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  footer .container {
    display: flex;
    flex-direction: column;
  }
}
footer .row {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  footer .row:first-child {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 4rem;
  }
}
@media screen and (max-width: 767px) {
  footer .row:first-child {
    grid-template-columns: 1fr;
    row-gap: 3rem;
  }
}
footer .row.center {
  align-items: center;
}
@media screen and (max-width: 1023px) {
  footer .row.center {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 767px) {
  footer .row.center {
    margin-top: 3rem;
    order: 3;
  }
}
@media screen and (max-width: 500px) {
  footer .row.center {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 1599px) {
  footer .row.center img {
    height: auto;
  }
}
@media screen and (max-width: 1919px) {
  footer .row.center img:first-child {
    width: 276.25px;
  }
}
@media screen and (max-width: 1599px) {
  footer .row.center img:first-child {
    width: 243.75px;
  }
}
@media screen and (max-width: 1439px) {
  footer .row.center img:first-child {
    width: 227.5px;
  }
}
@media screen and (max-width: 1279px) {
  footer .row.center img:first-child {
    width: 195px;
  }
}
@media screen and (max-width: 1023px) {
  footer .row.center img:first-child {
    width: 146.25px;
  }
}
@media screen and (max-width: 767px) {
  footer .row.center img:first-child {
    width: 100%;
  }
}
@media screen and (max-width: 1919px) {
  footer .row.center img:nth-child(2) {
    width: 206.55px;
  }
}
@media screen and (max-width: 1599px) {
  footer .row.center img:nth-child(2) {
    width: 182.25px;
  }
}
@media screen and (max-width: 1439px) {
  footer .row.center img:nth-child(2) {
    width: 170.1px;
  }
}
@media screen and (max-width: 1279px) {
  footer .row.center img:nth-child(2) {
    width: 145.8px;
  }
}
@media screen and (max-width: 1023px) {
  footer .row.center img:nth-child(2) {
    width: 109.35px;
  }
}
@media screen and (max-width: 767px) {
  footer .row.center img:nth-child(2) {
    display: none;
  }
}
@media screen and (max-width: 1919px) {
  footer .row.center img:nth-child(3) {
    width: 361.25px;
  }
}
@media screen and (max-width: 1599px) {
  footer .row.center img:nth-child(3) {
    width: 318.75px;
  }
}
@media screen and (max-width: 1439px) {
  footer .row.center img:nth-child(3) {
    width: 297.5px;
  }
}
@media screen and (max-width: 1279px) {
  footer .row.center img:nth-child(3) {
    width: 255px;
  }
}
@media screen and (max-width: 1023px) {
  footer .row.center img:nth-child(3) {
    width: 191.25px;
  }
}
@media screen and (max-width: 767px) {
  footer .row.center img:nth-child(3) {
    display: none;
  }
}
@media screen and (max-width: 1919px) {
  footer .row.center img:nth-child(4) {
    width: 211.65px;
  }
}
@media screen and (max-width: 1599px) {
  footer .row.center img:nth-child(4) {
    width: 186.75px;
  }
}
@media screen and (max-width: 1439px) {
  footer .row.center img:nth-child(4) {
    width: 174.3px;
  }
}
@media screen and (max-width: 1279px) {
  footer .row.center img:nth-child(4) {
    width: 149.4px;
  }
}
@media screen and (max-width: 1023px) {
  footer .row.center img:nth-child(4) {
    width: 112.05px;
  }
}
@media screen and (max-width: 767px) {
  footer .row.center img:nth-child(4) {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  footer .row .column {
    padding-bottom: 3rem;
    border-bottom: 1px solid #898989;
  }
}
footer .row .column h3 {
  font-size: 4rem;
  letter-spacing: 0.03em;
  font-weight: 400;
}
@media screen and (max-width: 1279px) {
  footer .row .column h3 {
    font-size: 3.6rem;
  }
}
footer .row .column p {
  font-family: "Bembo";
  line-height: 1.45;
  margin: 0 0 1.5em;
}
@media screen and (max-width: 1279px) {
  footer .row .column p {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  footer .row .column p {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 639px) {
  footer .row .column p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  footer .row .column p:last-child {
    margin-bottom: 0;
  }
}
footer .row .column p a {
  font-family: "Bembo";
  text-decoration: underline;
}
footer .row .column p a[href^="tel:"] {
  text-decoration: none;
}
footer .row .column ul {
  display: flex;
  list-style: none;
  align-items: center;
  gap: 4rem;
}
@media screen and (max-width: 1599px) {
  footer .row .column ul {
    gap: 3.5rem;
  }
}
@media screen and (max-width: 1279px) {
  footer .row .column ul {
    gap: 3rem;
  }
}
@media screen and (max-width: 1279px) {
  footer .row .column ul.socials {
    transform: scale(0.9);
    transform-origin: left top;
  }
}
@media screen and (max-width: 1023px) {
  footer .row .column ul.socials {
    transform: none;
  }
}
footer .row .column ul li:last-child a svg {
  height: 2.1rem;
}
footer .row .column ul li:nth-child(2) a svg {
  height: 2.8rem;
}
footer .row .column ul li a svg {
  height: 3rem;
  width: auto;
}
footer .row .column ul li a svg path {
  fill: black;
}
footer .row .column a.btn {
  border-bottom: none;
  background: black;
  text-transform: uppercase;
  font-size: 1.5rem;
  color: white;
  line-height: 1;
  padding: 1em 6em;
  font-weight: 400;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  footer .row .column a.btn {
    width: 100%;
    text-align: center;
    padding: 1.25em 0;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 639px) {
  footer .row .column a.btn {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1023px) {
  footer .row .column:nth-child(3) {
    order: 4;
  }
}
@media screen and (max-width: 767px) {
  footer .row .column:nth-child(3) {
    order: unset;
  }
}
@media screen and (max-width: 767px) {
  footer .row:has(> ul.compliance) {
    order: 2;
  }
}
footer .row > ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  width: 100%;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 8.5rem;
}
@media screen and (max-width: 1919px) {
  footer .row > ul {
    margin-top: 6.5rem;
  }
}
footer .row > ul a {
  text-decoration: none;
}
footer .row > ul.compliance {
  font-size: 1.2rem;
}
@media screen and (max-width: 1599px) {
  footer .row > ul.compliance {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1279px) {
  footer .row > ul.compliance {
    flex-wrap: wrap;
    font-size: 1.4rem;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
    justify-content: center;
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  footer .row > ul.compliance {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
}
@media screen and (max-width: 767px) {
  footer .row > ul.compliance {
    margin-top: 4rem;
    display: block;
    font-size: 2rem;
  }
}
@media screen and (max-width: 639px) {
  footer .row > ul.compliance {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 500px) {
  footer .row > ul.compliance {
    font-size: 1.6rem;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  footer .row > ul.compliance li {
    display: flex;
    border-bottom: 1px solid #898989;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 0;
    line-height: 1;
  }
}
@media screen and (max-width: 500px) {
  footer .row > ul.compliance li {
    padding: 1.8rem 0;
  }
}
footer .row > ul.compliance li:last-child {
  border-bottom: 0;
}
footer .row > ul.compliance li img {
  display: none;
  width: 2rem;
}
@media screen and (max-width: 767px) {
  footer .row > ul.compliance li img {
    display: block;
  }
}
@media screen and (max-width: 639px) {
  footer .row > ul.compliance li img {
    width: 1.8rem;
  }
}
@media screen and (max-width: 500px) {
  footer .row > ul.compliance li img {
    width: 1.6rem;
  }
}

.credit {
  background: black;
  color: white;
  padding: 4rem 0;
  position: relative;
  text-transform: uppercase;
}
@media screen and (max-width: 1279px) {
  .credit {
    padding: 3.5rem 0;
  }
}
.credit .row {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .credit .row {
    flex-direction: column;
  }
}
.credit .row svg {
  width: 23.5rem;
}
@media screen and (max-width: 1279px) {
  .credit .row svg {
    width: 20rem;
  }
}
.credit .row svg path {
  fill: white;
}
.credit a:last-child {
  font-size: 1rem;
  letter-spacing: 0.05em;
  position: absolute;
  right: 8rem;
}
@media screen and (max-width: 767px) {
  .credit a:last-child {
    position: static;
    font-size: 1.2rem;
    margin-top: 1.5em;
  }
}

.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 8rem 0;
  background: #f9f8f4;
  opacity: 0;
  visibility: hidden;
  z-index: 9;
  pointer-events: none;
  height: 650px;
}
@media screen and (max-width: 1919px) {
  .dropdown {
    padding: 6rem 0;
  }
}
@media screen and (max-width: 1599px) {
  .dropdown {
    height: 480px;
  }
}
@media screen and (max-width: 1439px) {
  .dropdown {
    height: 456px;
  }
}
.dropdown .container,
.dropdown .row {
  height: 100%;
}
.dropdown .row {
  display: flex;
  justify-content: space-between;
  width: 95%;
  margin: 0 auto;
}
@media screen and (max-width: 1919px) {
  .dropdown .row {
    width: 90%;
  }
}
@media screen and (max-width: 1599px) {
  .dropdown .row {
    width: 85%;
  }
}
.dropdown .row ul {
  margin: 0;
  list-style: none;
}
.dropdown .row ul a {
  text-decoration: none;
  display: inline-block;
}
.dropdown .row a.arrow-link {
  font-size: 2.2rem;
  text-transform: uppercase;
}
@media screen and (max-width: 1919px) {
  .dropdown .row a.arrow-link {
    font-size: 2rem;
  }
}
.dropdown .row .menu-wrapper {
  width: calc(75% - 12.5rem);
  position: relative;
}
.dropdown .row .menu-wrapper.single {
  width: 50%;
}
.dropdown .row .menu-wrapper.double {
  width: 40%;
}
@media screen and (max-width: 1599px) {
  .dropdown .row .menu-wrapper.double {
    width: 39%;
  }
}
.dropdown .row .menu-wrapper a.arrow-link {
  position: absolute;
  bottom: 0;
  left: 0;
}
.dropdown .row .menu-wrapper > ul {
  display: flex;
  justify-content: space-between;
}
.dropdown .row .menu-wrapper > ul > li {
  font-size: 4rem;
  color: black;
}
@media screen and (max-width: 1919px) {
  .dropdown .row .menu-wrapper > ul > li {
    font-size: 3.6rem;
  }
}
.dropdown .row .menu-wrapper > ul > li > a {
  font-family: "Bembo";
  margin: 0 0 1em;
  color: black;
}
.dropdown .row .menu-wrapper > ul > li > ul > li {
  font-size: 0.5em;
}
.dropdown .row .menu-wrapper > ul > li > ul > li:last-child a {
  margin-bottom: 0;
}
.dropdown .row .menu-wrapper > ul > li > ul > li a {
  color: #565656;
  margin: 0 0 1.33em;
  letter-spacing: 0.03em;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1439px) {
  .dropdown .row .menu-wrapper > ul > li > ul > li a {
    margin-bottom: 1.25em;
  }
}
.dropdown .row .menu-wrapper > ul > li > ul > li a:hover, .dropdown .row .menu-wrapper > ul > li > ul > li a.current {
  color: black;
}
.dropdown .row .menu-wrapper > ul > li > ul > li em {
  display: block;
  font-style: italic;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  width: 40rem;
  color: #3e3e3e;
  line-height: 1.7;
  margin-top: 1.25em;
}
.dropdown .row .img-wrapper {
  width: 25%;
  height: 100%;
  position: relative;
}
.dropdown .row .img-wrapper.single {
  width: 50%;
  aspect-ratio: 1/0.65;
}
.dropdown .row .img-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  opacity: 0;
  top: 0;
  left: 0;
  visibility: hidden;
  z-index: 2;
}
.dropdown .row .img-wrapper img.default {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.dropdown.image .row {
  display: block;
}
.dropdown.image .row ul {
  display: flex;
  gap: 3rem;
  margin-bottom: 9rem;
}
@media screen and (max-width: 1919px) {
  .dropdown.image .row ul {
    margin-bottom: 8rem;
    gap: 2.5rem;
  }
}
.dropdown.image .row ul li {
  flex: 1;
}
.dropdown.image .row ul li a {
  display: block;
  font-size: 2rem;
  color: #565656;
}
.dropdown.image .row ul li a:hover, .dropdown.image .row ul li a.current {
  color: black;
}
.dropdown.image .row ul li a img {
  width: 100%;
  height: 36rem;
  margin-bottom: 2rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1919px) {
  .dropdown.image .row ul li a img {
    height: 30rem;
  }
}
@media screen and (max-width: 1599px) {
  .dropdown.image .row ul li a img {
    height: 33rem;
  }
}
@media screen and (max-width: 1439px) {
  .dropdown.image .row ul li a img {
    height: 30rem;
  }
}

.custom-select-wrapper {
  position: relative;
  width: 100%;
}
.custom-select-wrapper .custom-select-trigger {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.custom-select-wrapper .custom-select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
  transition: opacity 0.2s, transform 0.2s;
  border: 1px solid #868686;
  border-radius: 0.5rem;
  background: #eeede9;
  margin-top: 2rem;
  padding: 2rem;
  font-size: 1.6rem;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.custom-select-wrapper.is-open .custom-select-dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
.custom-select-wrapper .custom-select-option {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  text-align: left;
  width: 100%;
  color: #565656;
  transition: color 0.3s ease;
  cursor: pointer;
  text-transform: uppercase;
}
.custom-select-wrapper .custom-select-option:hover, .custom-select-wrapper .custom-select-option.active {
  color: black;
}
.custom-select-wrapper .custom-select-option.disabled {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.5;
}

.page-id-1798 .hero .line-container {
  width: 100%;
}

.hero {
  height: 100vh;
  min-height: 696px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #eeedea;
}
@media screen and (max-width: 1279px) {
  .hero {
    min-height: 550px;
  }
}
@media screen and (max-width: 767px) {
  .hero {
    flex-direction: column;
    padding-top: 7rem;
  }
}
@media screen and (max-width: 639px) {
  .hero {
    min-height: 0;
    height: unset;
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 500px) {
  .hero {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .hero.home {
    padding-top: 0;
  }
}
@media screen and (max-width: 1279px) {
  .hero.home .line-container .line {
    gap: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .hero.home .line-container .line {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 500px) {
  .hero.home .line-container .line {
    gap: 2.5rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .hero.home .line-container .line .heading {
    white-space: nowrap;
  }
}
@media screen and (max-width: 639px) {
  .hero.home .line-container .line .heading {
    font-size: 9rem;
  }
}
@media screen and (max-width: 500px) {
  .hero.home .line-container .line .heading {
    font-size: 7.5rem;
  }
}
.hero > video {
  position: absolute;
  bottom: 0;
  letter-spacing: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 639px) {
  .hero > video {
    height: 100%;
  }
}
.hero button.volume {
  position: absolute;
  width: 2rem;
  left: 6rem;
  bottom: 6rem;
  z-index: 3;
}
@media screen and (max-width: 1919px) {
  .hero button.volume {
    bottom: 5rem;
    left: 5rem;
  }
}
@media screen and (max-width: 1279px) {
  .hero button.volume {
    bottom: 4rem;
    left: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .hero button.volume {
    left: 3.5rem;
    bottom: 3.5rem;
  }
}
.hero button.volume svg {
  width: 100%;
}
.hero button.volume svg path {
  fill: white;
  transition: opacity 0.3s ease;
}
.hero button.volume svg path.waves, .hero button.volume svg path.x {
  stroke: white;
  stroke-width: 2;
  stroke-linecap: round;
  fill: none;
}
.hero button.volume svg path.waves {
  opacity: 0;
}
.hero button.volume.unmuted svg path.waves {
  opacity: 1;
}
.hero button.volume.unmuted svg path.x {
  opacity: 0;
}
.hero > img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  z-index: 1;
}
@media screen and (max-width: 639px) {
  .hero > img {
    height: 100%;
  }
}
.hero > img.anchor-image {
  opacity: 0;
  visibility: hidden;
}
.hero::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: var(--overlay-opacity, 0.2);
  content: "";
  z-index: 2;
}
.hero .container {
  position: relative;
  z-index: 3;
}
.hero div > img {
  width: 35rem;
  display: block;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 1279px) {
  .hero div > img {
    width: 30rem;
  }
}
@media screen and (max-width: 767px) {
  .hero div > img {
    width: 27.5rem;
  }
}
@media screen and (max-width: 639px) {
  .hero div > img {
    width: 25rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .hero div > img {
    width: 22.5rem;
  }
}
.hero h2 {
  text-align: center;
  color: white;
  letter-spacing: 0;
  font-size: 2rem;
  margin: 1em 0 0;
}
@media screen and (max-width: 1599px) {
  .hero h2 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1439px) {
  .hero h2 {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 1023px) {
  .hero h2 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .hero h2 {
    font-size: 1.8rem;
  }
}
.hero .line-container {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  width: 65%;
  transform: translateY(3%);
}
@media screen and (max-width: 1919px) {
  .hero .line-container {
    width: 60%;
    transform: translateY(6%);
  }
}
@media screen and (max-width: 1599px) {
  .hero .line-container {
    width: 55%;
  }
}
@media screen and (max-width: 1439px) {
  .hero .line-container {
    width: 60%;
    transform: translateY(7%);
  }
}
@media screen and (max-width: 1279px) {
  .hero .line-container {
    width: 70%;
    transform: translateY(3%);
  }
}
@media screen and (max-width: 1023px) {
  .hero .line-container {
    width: 100%;
  }
}
.hero .line-container .line {
  display: flex;
  align-items: center;
  gap: 4rem;
  justify-content: space-between;
}
.hero .line-container .line:last-child {
  margin-bottom: 0;
}
.hero .line-container .line:only-child {
  justify-content: center;
}
.hero .line-container .line .heading {
  display: block;
  text-align: center;
  color: white;
  font-size: 16.5rem;
  position: relative;
  z-index: 2;
  margin: 0;
  line-height: 1.075;
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0em;
  margin: 0;
  white-space: nowrap;
  font-weight: 400;
}
@media screen and (max-width: 1919px) {
  .hero .line-container .line .heading {
    font-size: 15.5rem;
  }
}
@media screen and (max-width: 1599px) {
  .hero .line-container .line .heading {
    font-size: 16.5rem;
  }
}
@media screen and (max-width: 1439px) {
  .hero .line-container .line .heading {
    font-size: 15rem;
  }
}
@media screen and (max-width: 1279px) {
  .hero .line-container .line .heading {
    font-size: 12.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .hero .line-container .line .heading {
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .hero .line-container .line .heading {
    font-size: 10rem;
  }
}
@media screen and (max-width: 639px) {
  .hero .line-container .line .heading {
    font-size: 8rem;
  }
}
@media screen and (max-width: 500px) {
  .hero .line-container .line .heading {
    font-size: 7rem;
    white-space: normal;
    line-height: 1;
  }
}
.hero .line-container .line .heading.adjust {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.hero .line-container .line hr {
  border-top: 6px solid white;
  width: 100%;
  transform: translateY(200%);
}
@media screen and (max-width: 1599px) {
  .hero .line-container .line hr {
    border-top-width: 5px;
  }
}
@media screen and (max-width: 767px) {
  .hero .line-container .line hr {
    border-top-width: 3px;
  }
}
.hero .text-wrapper {
  text-align: center;
  color: white;
  font-size: 2rem;
  line-height: 1.6;
  width: 60%;
  margin: 5rem auto 0;
}
@media screen and (max-width: 1279px) {
  .hero .text-wrapper {
    width: 62.5%;
  }
}
@media screen and (max-width: 1023px) {
  .hero .text-wrapper {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .hero .text-wrapper {
    width: 85%;
  }
}
@media screen and (max-width: 639px) {
  .hero .text-wrapper {
    width: 100%;
    font-size: 1.8rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .hero .text-wrapper {
    font-size: 1.7rem;
    margin-top: 3rem;
  }
}
.hero .text-wrapper p {
  font-size: 1em;
}
.hero .text-wrapper p:last-child {
  margin-bottom: 0;
}
.hero .cta-wrapper {
  position: absolute;
  bottom: 10rem;
  left: 0;
  z-index: 3;
  width: 100%;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1919px) {
  .hero .cta-wrapper {
    bottom: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .hero .cta-wrapper {
    bottom: 7rem;
  }
}
@media screen and (max-width: 1023px) {
  .hero .cta-wrapper {
    bottom: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .hero .cta-wrapper {
    position: static;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .hero .cta-wrapper {
    margin-top: 3rem;
  }
}
.hero .cta-wrapper a.cta {
  border: 1px solid white;
  background: rgba(0, 0, 0, 0.3);
  transition: background 0.3s ease;
  padding: 1.1em 3.25em 1.2em;
}
@media screen and (max-width: 639px) {
  .hero .cta-wrapper a.cta {
    padding-left: 3em;
    padding-right: 3em;
  }
}
@media screen and (max-width: 500px) {
  .hero .cta-wrapper a.cta {
    font-size: 1.4rem;
    padding: 1em 2.75em 1.1em;
  }
}
.hero .cta-wrapper a.cta:hover {
  background: rgba(0, 0, 0, 0.6);
}
.hero .link-container {
  position: absolute;
  bottom: 10rem;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 1919px) {
  .hero .link-container {
    bottom: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .hero .link-container {
    bottom: 7rem;
  }
}
@media screen and (max-width: 1023px) {
  .hero .link-container {
    bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .hero .link-container {
    position: static;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .hero .link-container {
    margin-top: 2.5rem;
  }
}
.hero .link-container ul {
  list-style-type: none;
  display: flex;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  width: auto;
  margin: 0 auto;
  color: white;
  text-transform: uppercase;
  justify-content: center;
  gap: var(--regular-spacing);
}
@media screen and (max-width: 1919px) {
  .hero .link-container ul {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1439px) {
  .hero .link-container ul {
    gap: 10rem;
  }
}
@media screen and (max-width: 1023px) {
  .hero .link-container ul {
    gap: 5rem;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .hero .link-container ul {
    gap: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .hero .link-container ul {
    display: block;
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 500px) {
  .hero .link-container ul {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .hero .link-container ul li {
    border-bottom: 1px solid white;
  }
}
.hero .link-container ul a {
  text-decoration: none;
  border-bottom: 1px solid white;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .hero .link-container ul a {
    border-bottom: 0;
    display: flex;
    padding: 1.5rem 0 1.2rem;
    line-height: 1;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 500px) {
  .hero .link-container ul a {
    padding: 1.3rem 0 1rem;
  }
}
.hero .link-container ul a img {
  display: none;
  width: 2rem;
  height: auto;
  filter: invert(1);
}
@media screen and (max-width: 767px) {
  .hero .link-container ul a img {
    display: block;
  }
}
@media screen and (max-width: 500px) {
  .hero .link-container ul a img {
    width: 1.6rem;
  }
}
@media screen and (max-width: 400px) {
  .hero .link-container ul a img {
    width: 1.4rem;
  }
}

.welcome {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .welcome {
    margin-top: 8rem;
  }
}
.welcome > .line {
  position: absolute;
  right: 8rem;
  top: -18rem;
}
@media screen and (max-width: 1023px) {
  .welcome > .line {
    display: none;
  }
}
.welcome > .line .dot {
  width: 0.5rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background: #d9d9d9;
  z-index: 3;
}
.welcome > .line::before, .welcome > .line::after {
  height: 15rem;
  width: 2px;
  content: "";
  display: block;
  position: absolute;
  background: black;
  top: 0;
  left: 1px;
}
.welcome > .line::before {
  background: white;
  top: 3rem;
}
.welcome > .line::after {
  top: 18rem;
}
.welcome .intro-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper {
    display: grid;
    grid-template-columns: 1fr;
  }
}
.welcome .intro-wrapper .text-wrapper {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  pointer-events: none;
  z-index: 3;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .text-wrapper {
    position: static;
    width: 100%;
    transform: none;
    order: 2;
  }
}
.welcome .intro-wrapper .text-wrapper h2 {
  font-family: "Bembo";
  font-size: 7.1rem;
  transform-origin: center left;
  text-transform: none;
  margin-bottom: 0;
  line-height: 1.05;
  letter-spacing: 0;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 1919px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    font-size: 7rem;
  }
}
@media screen and (max-width: 1599px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    font-size: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    font-size: 7rem;
  }
}
@media screen and (max-width: 1279px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    display: block;
    font-size: 12rem;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    font-size: 10rem;
  }
}
@media screen and (max-width: 639px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    font-size: 8rem;
    margin-bottom: 0.6em;
  }
}
@media screen and (max-width: 500px) {
  .welcome .intro-wrapper .text-wrapper h2 {
    font-size: 6.1rem;
    margin-bottom: 0.675em;
  }
}
.welcome .intro-wrapper .text-wrapper h2 > .line-wrapper {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .text-wrapper h2 > .line-wrapper {
    opacity: 1;
    visibility: visible;
    position: static;
  }
}
.welcome .intro-wrapper .text-wrapper h2 .line-wrapper {
  display: flex;
  align-items: center;
  gap: 3rem;
}
.welcome .intro-wrapper .text-wrapper h2 .line-wrapper span {
  white-space: nowrap;
}
.welcome .intro-wrapper .text-wrapper h2 .line-wrapper .line {
  width: 100%;
  background: black;
  height: 3px;
  transform: translateY(50%);
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift {
  position: relative;
  overflow: hidden;
  display: block;
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift:hover .line-wrapper, .welcome .intro-wrapper .text-wrapper h2 .hover-shift:focus-within .line-wrapper {
  transform: translateY(-100%);
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift.is-dismissed .line-wrapper {
  transform: none;
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper {
  transition: transform 0.3s ease;
  padding-bottom: 0.1em;
  display: inline-flex;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper {
    display: flex;
  }
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper:first-child span span {
  display: none;
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper:first-child span span {
    opacity: 1;
    display: inline;
    visibility: visible;
  }
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper:first-child .line {
  display: none;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper:first-child .line {
    display: block;
  }
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper:last-child {
  position: absolute;
  left: 0;
  width: 100%;
  top: 100%;
}
.welcome .intro-wrapper .text-wrapper h2 .hover-shift .line-wrapper:last-child .line {
  transform: translateY(100%);
}
.welcome .intro-wrapper .img-slider-wrapper {
  width: 33.33333333%;
  margin-left: 33.3333333333%;
  position: relative;
  aspect-ratio: 1/1.33;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .img-slider-wrapper {
    order: 3;
    margin: 0 -6rem;
    width: unset;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 767px) {
  .welcome .intro-wrapper .img-slider-wrapper {
    margin: 0 -5rem;
  }
}
@media screen and (max-width: 639px) {
  .welcome .intro-wrapper .img-slider-wrapper {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 500px) {
  .welcome .intro-wrapper .img-slider-wrapper {
    aspect-ratio: 1/1.25;
    margin: 0 -3.5rem;
  }
}
.welcome .intro-wrapper .img-slider-wrapper .controls {
  position: absolute;
  bottom: -6.5rem;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .img-slider-wrapper .controls {
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 2;
    padding: 0 2.5rem;
  }
}
.welcome .intro-wrapper .img-slider-wrapper .controls .count {
  font-size: 1.5rem;
}
@media screen and (max-width: 1599px) {
  .welcome .intro-wrapper .img-slider-wrapper .controls .count {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .img-slider-wrapper .controls .count {
    color: white;
    font-size: var(--carousel-count-size);
    font-weight: var(--carousel-count-weight);
    position: absolute;
    display: flex;
    justify-content: center;
    width: 100%;
    left: 0;
    gap: 0.2em;
    bottom: 3rem;
  }
}
@media screen and (max-width: 500px) {
  .welcome .intro-wrapper .img-slider-wrapper .controls .count {
    bottom: 2.5rem;
  }
}
.welcome .intro-wrapper .img-slider-wrapper .controls button {
  padding: 0;
  cursor: pointer;
  pointer-events: all;
}
.welcome .intro-wrapper .img-slider-wrapper .controls button svg {
  width: 2.6rem;
  height: auto;
  opacity: 0.6;
}
.welcome .intro-wrapper .img-slider-wrapper .controls button svg path {
  fill: black;
}
@media screen and (max-width: 1439px) {
  .welcome .intro-wrapper .img-slider-wrapper .controls button svg {
    width: 2.2rem;
  }
}
@media screen and (max-width: 1279px) {
  .welcome .intro-wrapper .img-slider-wrapper .controls button svg {
    width: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .img-slider-wrapper .controls button svg {
    width: var(--carousel-arrow-size);
    opacity: 1;
  }
  .welcome .intro-wrapper .img-slider-wrapper .controls button svg path {
    fill: white;
  }
}
.welcome .intro-wrapper .img-slider-wrapper .img-slider {
  height: 100%;
}
.welcome .intro-wrapper .img-slider-wrapper .img-slider .flickity-viewport {
  height: 100% !important;
}
.welcome .intro-wrapper .img-slider-wrapper .img-slider .img {
  height: 100%;
  top: 0;
  width: 100%;
}
.welcome .intro-wrapper .img-slider-wrapper .img-slider .img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  position: absolute;
  bottom: 0;
}
.welcome .intro-wrapper .main-text {
  width: 16.6666666667%;
  margin-left: 8.3333333333%;
  font-size: 2rem;
}
@media screen and (max-width: 1599px) {
  .welcome .intro-wrapper .main-text {
    width: 19%;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 1279px) {
  .welcome .intro-wrapper .main-text {
    width: 23%;
    font-size: 1.9rem;
    margin-left: 6%;
  }
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .main-text {
    width: 100%;
    margin-left: 0;
    order: 2;
    margin-bottom: 3.75em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .welcome .intro-wrapper .main-text {
    margin-bottom: 3em;
  }
}
@media screen and (max-width: 639px) {
  .welcome .intro-wrapper .main-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .welcome .intro-wrapper .main-text {
    font-size: 1.8rem;
    margin-bottom: 2.5em;
  }
}
.welcome .intro-wrapper .main-text p {
  margin: 0 0 1em;
  font-size: 1em;
  opacity: 0;
  visibility: hidden;
  font-family: "Mark OT";
}
@media screen and (max-width: 1023px) {
  .welcome .intro-wrapper .main-text p {
    opacity: 1;
    visibility: visible;
  }
}
.welcome .intro-wrapper .main-text p:last-child {
  margin: 0;
}

.heading {
  max-width: 100vw;
}
.heading.centred .outer-wrapper img.static {
  width: 15%;
}
@media screen and (max-width: 1599px) {
  .heading.centred .outer-wrapper img.static {
    width: 13%;
  }
}
@media screen and (max-width: 1439px) {
  .heading.centred .outer-wrapper img.static {
    width: 14%;
  }
}
.heading.centred .outer-wrapper .text:last-child p:last-child {
  margin-bottom: 0;
}
.heading.centred .outer-wrapper .text .heading-wrapper:last-child {
  margin-bottom: 0;
}
.heading.centred .outer-wrapper .text .heading-wrapper .line-container .line {
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .heading.centred .outer-wrapper .text .heading-wrapper .line-container .line {
    justify-content: flex-start;
  }
}
.heading.centred .outer-wrapper .text p {
  text-align: center;
  padding: 0 10rem;
}
@media screen and (max-width: 1023px) {
  .heading.centred .outer-wrapper .text p {
    padding: 0;
    text-align: left;
  }
}
.heading.has-link {
  padding-bottom: 8.8rem;
}
@media screen and (max-width: 1023px) {
  .heading.has-link {
    padding-bottom: var(--regular-spacing);
  }
}
.heading .outer-wrapper {
  position: relative;
}
.heading .outer-wrapper img.static,
.heading .outer-wrapper img.flourish,
.heading .outer-wrapper img.parallax-graphic {
  position: absolute;
  height: auto;
}
.heading .outer-wrapper img.static {
  top: 0;
  left: 0;
  width: 20%;
}
@media screen and (max-width: 1599px) {
  .heading .outer-wrapper img.static {
    width: 17%;
  }
}
@media screen and (max-width: 1439px) {
  .heading .outer-wrapper img.static {
    width: 20%;
  }
}
.heading .outer-wrapper img.static.two {
  left: unset;
  right: 0;
}
.heading .outer-wrapper .text {
  margin: 0 auto;
  width: 66.6666666%;
}
@media screen and (max-width: 1279px) {
  .heading .outer-wrapper .text {
    width: 75%;
  }
}
@media screen and (max-width: 1023px) {
  .heading .outer-wrapper .text {
    width: 100%;
    text-align: left;
  }
}
.heading .outer-wrapper .text .heading-wrapper {
  margin-bottom: 5rem;
  position: relative;
}
@media screen and (max-width: 1599px) {
  .heading .outer-wrapper .text .heading-wrapper {
    margin-bottom: 4rem;
  }
}
.heading .outer-wrapper .text .heading-wrapper .line-container {
  position: relative;
  z-index: 2;
  font-size: 10rem;
}
@media screen and (max-width: 1919px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container {
    font-size: 9rem;
  }
}
@media screen and (max-width: 1439px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container {
    font-size: 8.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container {
    font-size: 6.4rem;
  }
}
@media screen and (max-width: 500px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container {
    font-size: 6rem;
    margin-bottom: 0;
  }
}
.heading .outer-wrapper .text .heading-wrapper .line-container .line {
  display: flex;
  align-items: center;
  gap: 4rem;
  justify-content: space-between;
}
.heading .outer-wrapper .text .heading-wrapper .line-container .line .heading {
  display: block;
  text-align: center;
  color: black;
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: 10rem;
  line-height: 1;
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0.03em;
  margin: 0;
  white-space: nowrap;
  font-weight: 400;
  font-size: 1em;
}
@media screen and (max-width: 1023px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container .line .heading {
    white-space: normal;
    text-align: left;
    text-wrap: auto;
    line-height: 1.2;
  }
}
.heading .outer-wrapper .text .heading-wrapper .line-container .line hr {
  border-top: 6px solid black;
  width: 100%;
  transform: translateY(200%);
}
@media screen and (max-width: 1599px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container .line hr {
    border-top-width: 5px;
  }
}
@media screen and (max-width: 1279px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container .line hr {
    border-top-width: 4px;
  }
}
@media screen and (max-width: 767px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container .line hr {
    border-top-width: 3px;
  }
}
@media screen and (max-width: 639px) {
  .heading .outer-wrapper .text .heading-wrapper .line-container .line hr {
    border-top-width: 2px;
  }
}
.heading .outer-wrapper .text p {
  margin-bottom: 5em;
  margin-top: 0;
}
@media screen and (max-width: 1599px) {
  .heading .outer-wrapper .text p {
    margin-bottom: 4.5em;
  }
}
@media screen and (max-width: 767px) {
  .heading .outer-wrapper .text p {
    margin-bottom: 4em;
  }
}
@media screen and (max-width: 639px) {
  .heading .outer-wrapper .text p {
    margin-bottom: 3.5em;
  }
}
@media screen and (max-width: 500px) {
  .heading .outer-wrapper .text p {
    margin-bottom: 3em;
  }
}
.heading .outer-wrapper a.hover-link {
  margin-left: calc(8.3333333333% + 3rem);
}
@media screen and (max-width: 1023px) {
  .heading .outer-wrapper a.hover-link {
    margin-left: 0;
  }
}

.carousel-wrapper {
  position: relative;
}
.carousel-wrapper + .heading {
  padding-top: 0;
}
.carousel-wrapper.mixed {
  --landscape-width: 65%;
  --portrait-width: 26%;
  padding: 0 3.5rem;
}
@media screen and (max-width: 1599px) {
  .carousel-wrapper.mixed {
    --landscape-width: 66%;
    --portrait-width: 27%;
  }
}
@media screen and (max-width: 1439px) {
  .carousel-wrapper.mixed {
    --portrait-width: 28%;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-wrapper.mixed {
    padding: 0;
  }
}
.carousel-wrapper.mixed .carousel {
  margin: 0 0 5rem;
}
@media screen and (max-width: 1919px) {
  .carousel-wrapper.mixed .carousel {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 639px) {
  .carousel-wrapper.mixed .carousel {
    margin-bottom: 3rem;
  }
}
.carousel-wrapper.mixed .carousel .carousel-slide {
  display: flex;
  justify-content: space-between;
}
.carousel-wrapper.mixed .carousel .carousel-slide .img.landscape {
  aspect-ratio: 1/0.65;
  width: var(--landscape-width);
}
@media screen and (max-width: 1439px) {
  .carousel-wrapper.mixed .carousel .carousel-slide .img.landscape {
    aspect-ratio: 1/0.6;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-wrapper.mixed .carousel .carousel-slide .img.landscape {
    aspect-ratio: 1/0.65;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .carousel .carousel-slide .img.landscape {
    width: 100%;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.mixed .carousel .carousel-slide .img.landscape {
    aspect-ratio: 1/1.25;
  }
}
.carousel-wrapper.mixed .carousel .carousel-slide .img.portrait {
  width: var(--portrait-width);
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .carousel .carousel-slide .img.portrait {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .controls {
    position: static;
  }
}
.carousel-wrapper.mixed .controls a {
  margin-left: calc(8.3333333333% + 3rem);
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .controls a {
    margin-left: 0;
  }
}
.carousel-wrapper.mixed .controls .buttons {
  left: calc(var(--landscape-width) - var(--width));
  right: calc(var(--portrait-width) - var(--width));
  top: 0;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .controls .buttons {
    position: absolute;
    padding: 0 2.5rem;
    left: 0;
    top: 0;
    right: unset;
    aspect-ratio: 1/1;
    width: 100%;
    pointer-events: none;
    z-index: 3;
    align-items: center;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.mixed .controls .buttons {
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .controls .buttons button {
    pointer-events: all;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .controls .buttons .count {
    display: none;
  }
}
.carousel-wrapper.mixed .controls .buttons svg {
  opacity: 0.6;
}
.carousel-wrapper.mixed .controls .buttons svg path {
  fill: black;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .controls .buttons svg {
    opacity: 1;
  }
  .carousel-wrapper.mixed .controls .buttons svg path {
    fill: white;
  }
}
.carousel-wrapper.mixed .controls .mobile-count {
  display: none;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.mixed .controls .mobile-count {
    display: flex;
    position: absolute;
    gap: 0.1em;
    top: 3rem;
    left: 3rem;
    right: 3rem;
    aspect-ratio: 1/1;
    pointer-events: none;
    color: white;
    z-index: 3;
    font-family: "Bembo";
    font-size: var(--carousel-count-size);
    font-weight: var(--carousel-count-weight);
    align-items: flex-end;
    justify-content: center;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.mixed .controls .mobile-count {
    top: 4rem;
    left: 2.5rem;
    right: 2.5rem;
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 639px) {
  .carousel-wrapper.landscape {
    padding-bottom: 3rem;
  }
}
.carousel-wrapper.landscape .carousel {
  margin-bottom: 3rem;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .carousel {
    margin-bottom: 0;
  }
}
.carousel-wrapper.landscape .carousel .carousel-slide {
  margin: 0 1.5rem;
  width: 55%;
}
@media screen and (max-width: 1439px) {
  .carousel-wrapper.landscape .carousel .carousel-slide {
    width: 65%;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-wrapper.landscape .carousel .carousel-slide {
    width: 75%;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .carousel .carousel-slide {
    width: 100%;
    margin: 0;
  }
}
.carousel-wrapper.landscape .carousel .carousel-slide .img {
  aspect-ratio: 16/9;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .img {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .img {
    aspect-ratio: 4/5;
  }
}
.carousel-wrapper.landscape .carousel .carousel-slide .text {
  margin-top: 3rem;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text {
    padding: 3rem 6rem 0;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text {
    padding: 3rem 5rem 0;
  }
}
@media screen and (max-width: 639px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text {
    padding: 3rem 4rem 0;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text {
    padding: 3rem 3.5rem 0;
  }
}
.carousel-wrapper.landscape .carousel .carousel-slide .text h3 {
  font-size: 5rem;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 1279px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text h3 {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text h3 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text h3 {
    font-size: 3.6rem;
  }
}
.carousel-wrapper.landscape .carousel .carousel-slide .text p {
  width: 70%;
}
@media screen and (max-width: 1919px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text p {
    width: 80%;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .carousel .carousel-slide .text p {
    width: 100%;
  }
}
.carousel-wrapper.landscape .carousel .carousel-slide .text a {
  display: inline-flex;
  padding-bottom: 1em;
  border-bottom: 0;
  text-transform: none;
}
.carousel-wrapper.landscape .controls {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  --offset: 22.5%;
  left: var(--offset);
  right: var(--offset);
}
@media screen and (max-width: 1439px) {
  .carousel-wrapper.landscape .controls {
    --offset: 17.5%;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-wrapper.landscape .controls {
    --offset: 12.5%;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .controls {
    --offset: 0;
    aspect-ratio: 1/1;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    padding: 0 2.5rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.landscape .controls {
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .controls a.arrow-link {
    position: absolute;
    bottom: -5rem;
    left: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .carousel-wrapper.landscape .controls a.arrow-link {
    left: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .carousel-wrapper.landscape .controls a.arrow-link {
    left: 4rem;
    bottom: -4rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.landscape .controls a.arrow-link {
    left: 3.5rem;
  }
}
.carousel-wrapper.landscape .controls .buttons {
  gap: 2rem;
  position: static;
}
@media screen and (max-width: 1279px) {
  .carousel-wrapper.landscape .controls .buttons {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .controls .buttons {
    justify-content: space-between;
    gap: 0;
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .controls .buttons img {
    filter: invert(1);
    opacity: 1;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .controls .buttons .count {
    position: absolute;
    bottom: 3rem;
    pointer-events: auto;
    font-size: var(--carousel-count-size);
    font-weight: var(--carousel-count-weight);
    display: flex;
    gap: 0.2em;
    font-family: "Bembo";
    color: #fff;
    white-space: nowrap;
    width: 100%;
    justify-content: center;
  }
}
@media screen and (max-width: 500px) {
  .carousel-wrapper.landscape .controls .buttons .count {
    bottom: 2.5rem;
  }
}
.carousel-wrapper.landscape .controls.text {
  left: 8rem;
  right: 8rem;
  z-index: 3;
  transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1919px) {
  .carousel-wrapper.landscape .controls.text {
    left: 6rem;
    right: 6rem;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .controls.text {
    left: 0;
    right: 0;
  }
}
.carousel-wrapper.landscape .controls.text .buttons {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.carousel-wrapper.landscape .controls.text .count {
  display: none;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper.landscape .controls.text .count {
    display: flex;
  }
}
.carousel-wrapper.landscape .controls.text button {
  pointer-events: all;
}
.carousel-wrapper.landscape .controls.text button svg {
  width: 2.6rem;
}
.carousel-wrapper.landscape .controls.text button svg path {
  fill: white;
}
@media screen and (max-width: 1919px) {
  .carousel-wrapper.landscape .controls.text button svg {
    width: 2.2rem;
  }
}
.carousel-wrapper .carousel .carousel-slide {
  width: 100%;
}
.carousel-wrapper .carousel .carousel-slide .img {
  position: relative;
  background: black;
}
.carousel-wrapper .carousel .carousel-slide .img.parallax img {
  height: 130%;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper .carousel .carousel-slide .img.parallax img {
    height: 100%;
    -o-object-fit: center;
       object-fit: center;
  }
}
.carousel-wrapper .carousel .carousel-slide .img img {
  position: absolute;
  bottom: 0;
  -o-object-position: center;
     object-position: center;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.carousel-wrapper .controls {
  position: relative;
  pointer-events: none;
}
.carousel-wrapper .controls .buttons {
  --width: 2.6rem;
  display: flex;
  align-items: center;
  position: absolute;
}
@media screen and (max-width: 1919px) {
  .carousel-wrapper .controls .buttons {
    --width: 2.2rem;
  }
}
@media screen and (max-width: 1439px) {
  .carousel-wrapper .controls .buttons {
    --width: 2rem;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-wrapper .controls .buttons {
    --width: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .carousel-wrapper .controls .buttons {
    --width: 2rem;
  }
}
.carousel-wrapper .controls .buttons .count {
  display: flex;
  font-family: "Bembo";
  font-size: 1.5rem;
  left: 0.07em;
}
@media screen and (max-width: 1599px) {
  .carousel-wrapper .controls .buttons .count {
    font-size: 1.7rem;
  }
}
.carousel-wrapper .controls .buttons button {
  cursor: pointer;
  pointer-events: all;
}
.carousel-wrapper .controls .buttons button svg {
  width: var(--width);
  height: auto;
  opacity: 0.6;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper .controls .buttons button svg {
    opacity: 1;
    width: var(--carousel-arrow-size);
  }
}
.carousel-wrapper .controls .buttons button svg path {
  fill: black;
}
@media screen and (max-width: 1023px) {
  .carousel-wrapper .controls .buttons button svg path {
    fill: white;
  }
}

.is-touch .masonry .grid .column .img .overlay {
  opacity: 1;
}

.masonry .grid {
  --gap: 12.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap);
}
@media screen and (max-width: 1599px) {
  .masonry .grid {
    --gap: 10rem;
  }
}
@media screen and (max-width: 1439px) {
  .masonry .grid {
    --gap: 8rem;
  }
}
@media screen and (max-width: 1279px) {
  .masonry .grid {
    --gap: 6rem;
  }
}
@media screen and (max-width: 1023px) {
  .masonry .grid {
    --gap: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid {
    grid-template-columns: 1fr;
    --gap: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .masonry .grid {
    --gap: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column:first-child .img:nth-child(1) {
    order: 1;
  }
  .masonry .grid .column:first-child .img:nth-child(2) {
    order: 3;
  }
  .masonry .grid .column:first-child .img:nth-child(3) {
    order: 5;
  }
  .masonry .grid .column:first-child .img:nth-child(4) {
    order: 7;
  }
  .masonry .grid .column:first-child .img:nth-child(5) {
    order: 9;
  }
  .masonry .grid .column:first-child .img:nth-child(6) {
    order: 11;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column:last-child .img:nth-child(1) {
    order: 2;
  }
  .masonry .grid .column:last-child .img:nth-child(2) {
    order: 4;
  }
  .masonry .grid .column:last-child .img:nth-child(3) {
    order: 6;
  }
  .masonry .grid .column:last-child .img:nth-child(4) {
    order: 8;
  }
  .masonry .grid .column:last-child .img:nth-child(5) {
    order: 10;
  }
  .masonry .grid .column:last-child .img:nth-child(6) {
    order: 12;
  }
}
.masonry .grid .column .img {
  overflow: hidden;
  aspect-ratio: 1/0.75;
  display: block;
  position: relative;
  margin-bottom: var(--gap);
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .masonry .grid .column .img {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column .img {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 639px) {
  .masonry .grid .column .img {
    aspect-ratio: 1/1.25;
  }
}
.masonry .grid .column .img:hover .overlay, .masonry .grid .column .img:focus-within .overlay {
  opacity: 1;
}
.masonry .grid .column .img.is-dismissed .overlay {
  opacity: 0;
}
.masonry .grid .column .img .overlay {
  z-index: 2;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.masonry .grid .column .img .overlay img {
  margin-bottom: 3rem;
  max-width: 27rem;
  max-height: 22rem;
}
@media screen and (max-width: 1599px) {
  .masonry .grid .column .img .overlay img {
    max-width: 26rem;
    max-height: 21rem;
  }
}
@media screen and (max-width: 1439px) {
  .masonry .grid .column .img .overlay img {
    max-width: 24rem;
    max-height: 20rem;
  }
}
@media screen and (max-width: 1279px) {
  .masonry .grid .column .img .overlay img {
    max-width: 22rem;
    max-height: 18rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .masonry .grid .column .img .overlay img {
    max-width: 18rem;
    max-height: 15rem;
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column .img .overlay img {
    max-width: 26rem;
    margin-bottom: 3rem;
    max-height: 21rem;
  }
}
@media screen and (max-width: 639px) {
  .masonry .grid .column .img .overlay img {
    max-width: 26rem;
    max-height: 21rem;
  }
}
@media screen and (max-width: 500px) {
  .masonry .grid .column .img .overlay img {
    max-width: 24rem;
    max-height: 20rem;
    margin-bottom: 2rem;
  }
}
.masonry .grid .column .img .overlay h3 {
  color: white;
  white-space: nowrap;
  font-size: 5.5rem;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 1439px) {
  .masonry .grid .column .img .overlay h3 {
    font-size: 5rem;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column .img .overlay h3 {
    font-size: 7rem;
  }
}
@media screen and (max-width: 639px) {
  .masonry .grid .column .img .overlay h3 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .masonry .grid .column .img .overlay h3 {
    width: 75%;
    font-size: 7rem;
    line-height: 1.15;
    white-space: normal;
    text-align: center;
    margin: 0 auto 0.33em;
  }
}
.masonry .grid .column .img .overlay p {
  color: white;
  font-size: 2rem;
  text-align: center;
  padding: 0 2em;
  margin-bottom: 2em;
}
@media screen and (max-width: 1279px) {
  .masonry .grid .column .img .overlay p {
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 1023px) {
  .masonry .grid .column .img .overlay p {
    font-size: 1.8rem;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column .img .overlay p {
    margin-bottom: 2em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .masonry .grid .column .img .overlay p {
    font-size: 1.8rem;
  }
}
.masonry .grid .column .img .overlay ul {
  display: flex;
  color: white;
  list-style: none;
  font-family: "Mark";
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  gap: 4em;
}
@media screen and (max-width: 1439px) {
  .masonry .grid .column .img .overlay ul {
    gap: 3em;
  }
}
@media screen and (max-width: 1279px) {
  .masonry .grid .column .img .overlay ul {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1023px) {
  .masonry .grid .column .img .overlay ul {
    font-size: 1.5rem;
    gap: 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .masonry .grid .column .img .overlay ul {
    font-size: 1.8rem;
    gap: 4em;
  }
}
@media screen and (max-width: 639px) {
  .masonry .grid .column .img .overlay ul {
    gap: 3em;
  }
}
@media screen and (max-width: 500px) {
  .masonry .grid .column .img .overlay ul {
    font-size: 1.6rem;
    gap: 2.5em;
  }
}
.masonry .grid .column .img .overlay ul li a {
  text-decoration: none;
  position: relative;
}
.masonry .grid .column .img .overlay ul li a:focus-visible {
  outline: 2px solid white;
  outline-offset: 2px;
}
.masonry .grid .column .img .overlay ul li a::after {
  position: absolute;
  content: "";
  bottom: -0.2em;
  left: 0;
  width: 100%;
  height: 2px;
  background: #afafaf;
}
.masonry .grid .column .img:last-child {
  margin-bottom: 0;
}
.masonry .grid .column .img.portrait {
  aspect-ratio: 3/4;
}
@media screen and (max-width: 767px) {
  .masonry .grid .column .img.portrait {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 639px) {
  .masonry .grid .column .img.portrait {
    aspect-ratio: 1/1.25;
  }
}
.masonry .grid .column .img > img {
  height: calc(100% + 13vw);
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 1023px) {
  .masonry .grid .column .img > img {
    height: 100%;
  }
}

.banner {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  position: relative;
  overflow: hidden;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .banner {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .banner {
    aspect-ratio: 1/1.25;
  }
}
.banner.contain {
  height: 41rem;
}
@media screen and (max-width: 1439px) {
  .banner.contain {
    height: 44rem;
  }
}
@media screen and (max-width: 767px) {
  .banner.contain {
    height: auto;
    padding: 4rem;
  }
}
@media screen and (max-width: 639px) {
  .banner.contain {
    padding: 3.5rem;
  }
}
.banner.contain .text {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .banner.contain .text {
    width: 85% !important;
    aspect-ratio: 1/1;
    height: auto;
  }
}
@media screen and (max-width: 639px) {
  .banner.contain .text {
    width: 100% !important;
    padding-top: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .banner.contain .text {
    aspect-ratio: 1/1.25;
    padding-top: 4rem;
  }
}
.banner.free {
  padding: 15rem 0;
}
@media screen and (max-width: 1919px) {
  .banner.free {
    padding: 12.5rem 0;
  }
}
@media screen and (max-width: 1439px) {
  .banner.free {
    padding: 12.5rem 0 14rem;
  }
}
@media screen and (max-width: 1023px) {
  .banner.free {
    padding: 12.5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .banner.free {
    padding: 0;
  }
}
@media screen and (max-width: 639px) {
  .banner.free {
    margin-left: 4rem;
    margin-right: 4rem;
    aspect-ratio: 1/1.25;
    padding-bottom: 1rem;
  }
}
@media screen and (max-width: 500px) {
  .banner.free {
    margin-left: 3.5rem;
    margin-right: 3.5rem;
  }
}
@media screen and (max-width: 500px) {
  .banner.free .row {
    padding: 0;
  }
}
.banner.free::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: var(--overlay-opacity);
  z-index: 1;
}
.banner.free > img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
.banner.free h2,
.banner.free p,
.banner.free ul {
  position: relative;
  z-index: 3;
}
.banner.free h2 {
  margin: 0 0 0.5em;
  font-size: 12rem;
  letter-spacing: 0.03em;
  text-transform: none;
  font-family: "Bembo";
}
@media screen and (max-width: 1919px) {
  .banner.free h2 {
    font-size: 10rem;
  }
}
@media screen and (max-width: 1279px) {
  .banner.free h2 {
    font-size: 9rem;
  }
}
@media screen and (max-width: 1023px) {
  .banner.free h2 {
    font-size: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .banner.free h2 {
    font-size: 7.8rem;
  }
}
@media screen and (max-width: 639px) {
  .banner.free h2 {
    font-size: 7.5rem;
    padding: 0 3.5rem;
  }
}
@media screen and (max-width: 500px) {
  .banner.free h2 {
    font-size: 6rem;
    margin: 0 0 0.33em;
  }
}
.banner.free p {
  width: 52.5%;
  margin: 0 auto;
}
@media screen and (max-width: 1919px) {
  .banner.free p {
    width: 60%;
  }
}
@media screen and (max-width: 1023px) {
  .banner.free p {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .banner.free p {
    width: 90%;
  }
}
@media screen and (max-width: 639px) {
  .banner.free p {
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .banner.free p {
    font-size: 1.7rem;
    width: 80%;
  }
}
.banner.free ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  font-size: 1.8rem;
  gap: 7em;
  margin: 9rem 0 0;
}
@media screen and (max-width: 1919px) {
  .banner.free ul {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1919px) {
  .banner.free ul {
    gap: 6em;
  }
}
@media screen and (max-width: 1279px) {
  .banner.free ul {
    margin-top: 6rem;
    gap: 5em;
  }
}
@media screen and (max-width: 1023px) {
  .banner.free ul {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .banner.free ul {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .banner.free ul {
    font-size: 1.6rem;
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .banner.free ul.stack {
    display: block;
    font-size: 1.8rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 500px) {
  .banner.free ul.stack {
    font-size: 1.6rem;
    margin: 2rem 3.5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .banner.free ul.stack li {
    border-bottom: 1px solid white;
  }
}
@media screen and (max-width: 767px) {
  .banner.free ul.stack li a {
    padding-bottom: 0;
    border-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 0 1.2rem;
  }
}
@media screen and (max-width: 500px) {
  .banner.free ul.stack li a {
    padding: 1.3rem 0 1rem;
  }
}
@media screen and (max-width: 767px) {
  .banner.free ul.stack li a img {
    display: block;
    width: 2rem;
    filter: invert(1);
  }
}
@media screen and (max-width: 500px) {
  .banner.free ul.stack li a img {
    width: 1.6rem;
  }
}
@media screen and (max-width: 400px) {
  .banner.free ul.stack li a img {
    width: 1.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .banner.free ul li.hide-for-mobile {
    display: none;
  }
}
.banner.free ul li a img {
  display: none;
}
.banner.free ul li.mobile-only {
  display: none;
}
@media screen and (max-width: 1023px) {
  .banner.free ul li.mobile-only {
    display: block;
  }
}
.banner.free ul a {
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 300;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 0.5em;
}
.banner > img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 160%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% bottom;
     object-position: 50% bottom;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .banner > img {
    height: 100%;
  }
}
.banner > img.hover-image {
  opacity: 0;
  visibility: hidden;
}
.banner .container {
  position: relative;
  z-index: 2;
}
.banner .text {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  color: black;
  padding: 2rem 4rem 3rem;
  margin-left: auto;
}
@media screen and (max-width: 1499px) {
  .banner .text {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 639px) {
  .banner .text {
    padding: 4rem 6rem 6rem;
  }
}
@media screen and (max-width: 500px) {
  .banner .text {
    padding: 5rem 3.5rem 6rem;
  }
}
.banner .text > img {
  width: 8rem;
  display: block;
  height: auto;
  margin: 0 auto 2rem;
}
@media screen and (max-width: 767px) {
  .banner .text > img {
    width: 10rem;
  }
}
@media screen and (max-width: 500px) {
  .banner .text > img {
    width: 7rem;
  }
}
.banner .text h2 {
  font-size: 6rem;
  font-family: "Bembo";
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 0.95;
  margin: 0 0 0.5em;
}
@media screen and (max-width: 767px) {
  .banner .text h2 {
    font-size: 7rem;
    width: 70%;
    margin: 0 auto 0.5em;
    line-height: 1.1;
  }
}
@media screen and (max-width: 639px) {
  .banner .text h2 {
    font-size: 5rem;
  }
}
.banner .text p {
  margin: 0 auto 1.5em;
  width: 70%;
}
@media screen and (max-width: 767px) {
  .banner .text p {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 639px) {
  .banner .text p {
    font-size: 2.2rem;
    width: 85%;
  }
}
@media screen and (max-width: 500px) {
  .banner .text p {
    width: 100%;
    font-size: 2rem;
    margin-bottom: 2em;
  }
}
.banner .text a {
  border-bottom: 0;
  text-transform: none;
  justify-content: center;
}

.scrolling-stories .sticky-wrapper {
  display: flex;
  gap: 11rem;
}
@media screen and (max-width: 1599px) {
  .scrolling-stories .sticky-wrapper {
    gap: 10rem;
  }
}
@media screen and (max-width: 1279px) {
  .scrolling-stories .sticky-wrapper {
    gap: 8rem;
  }
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper {
    display: block;
  }
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper {
    margin: 0 -6rem;
  }
}
@media screen and (max-width: 767px) {
  .scrolling-stories .sticky-wrapper {
    margin: 0 -5rem;
  }
}
@media screen and (max-width: 639px) {
  .scrolling-stories .sticky-wrapper {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 500px) {
  .scrolling-stories .sticky-wrapper {
    margin: 0 -3.5rem;
  }
}
.scrolling-stories .sticky-wrapper .static {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper .static {
    display: none;
  }
}
.scrolling-stories .sticky-wrapper .sticky {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper .sticky {
    display: none;
  }
}
.scrolling-stories .sticky-wrapper .sticky .card {
  position: sticky;
  top: 11rem;
  height: calc(100vh - 11rem);
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}
.scrolling-stories .sticky-wrapper .sticky .card .img {
  height: 100%;
  aspect-ratio: unset;
}
.scrolling-stories .sticky-wrapper .sticky .card .img img {
  height: 100%;
  -o-object-position: center center;
     object-position: center center;
}
.scrolling-stories .sticky-wrapper .card {
  margin-bottom: 12rem;
}
@media screen and (max-width: 1919px) {
  .scrolling-stories .sticky-wrapper .card {
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 1599px) {
  .scrolling-stories .sticky-wrapper .card {
    margin: 0 0 10rem;
  }
}
@media screen and (max-width: 1279px) {
  .scrolling-stories .sticky-wrapper .card {
    margin: 0 0 6rem;
  }
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper .card {
    padding: 0 6rem;
  }
}
@media screen and (max-width: 767px) {
  .scrolling-stories .sticky-wrapper .card {
    padding: 0 5rem;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 639px) {
  .scrolling-stories .sticky-wrapper .card {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 500px) {
  .scrolling-stories .sticky-wrapper .card {
    padding: 0 3.5rem;
  }
}
.scrolling-stories .sticky-wrapper .card:last-child {
  margin-bottom: 0;
}
.scrolling-stories .sticky-wrapper .card .img {
  overflow: hidden;
  aspect-ratio: 1/0.73;
  position: relative;
  display: block;
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 1279px) {
  .scrolling-stories .sticky-wrapper .card .img {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper .card .img {
    margin: 0 -6rem 4rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 767px) {
  .scrolling-stories .sticky-wrapper .card .img {
    margin: 0 -5rem 4rem;
  }
}
@media screen and (max-width: 639px) {
  .scrolling-stories .sticky-wrapper .card .img {
    margin: 0 -4rem 4rem;
  }
}
@media screen and (max-width: 500px) {
  .scrolling-stories .sticky-wrapper .card .img {
    margin: 0 -3.5rem 3rem;
    aspect-ratio: 1/1.25;
  }
}
.scrolling-stories .sticky-wrapper .card .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper .card .img img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.scrolling-stories .sticky-wrapper .card .img + a {
  margin-bottom: 1em;
}
.scrolling-stories .sticky-wrapper .card p {
  width: 100%;
  font-size: 2rem;
  margin: 0;
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .scrolling-stories .sticky-wrapper .mobile-slider-wrap {
    display: block;
    position: relative;
  }
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-slider-track .card {
  width: 100%;
  margin-bottom: 0;
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 1;
  padding: 0 2.5rem;
}
@media screen and (max-width: 500px) {
  .scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls {
    aspect-ratio: 1/1.25;
  }
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .prev,
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .next {
  pointer-events: auto;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .prev svg,
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .next svg {
  display: block;
  width: var(--carousel-arrow-size);
  height: auto;
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .prev svg path,
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .next svg path {
  fill: white;
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .next {
  margin-left: auto;
}
.scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  display: flex;
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 500px) {
  .scrolling-stories .sticky-wrapper .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}

.slide-in {
  position: relative;
  max-width: 100vw;
  overflow-x: hidden;
}
@media screen and (max-width: 639px) {
  .slide-in {
    margin-bottom: 10rem;
  }
}
.slide-in .slide-in-wrapper {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 15rem;
  overflow: hidden;
}
@media screen and (max-width: 1919px) {
  .slide-in .slide-in-wrapper {
    gap: 12.5rem;
  }
}
@media screen and (max-width: 1599px) {
  .slide-in .slide-in-wrapper {
    gap: 10rem;
  }
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper {
    display: block;
    overflow: visible;
  }
}
.slide-in .slide-in-wrapper .panels-desktop {
  display: contents;
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .panels-desktop {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .heading-wrapper {
    display: none;
  }
}
.slide-in .slide-in-wrapper .mobile-slider-wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap {
    display: block;
    position: relative;
  }
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track {
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track {
    margin: 0 -6rem;
  }
}
@media screen and (max-width: 767px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track {
    margin: 0 -5rem;
  }
}
@media screen and (max-width: 639px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 500px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track {
    margin: 0 -3.5rem;
  }
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img {
  display: block;
  overflow: visible;
  aspect-ratio: unset;
  flex: unset;
  width: 100%;
  padding: 0;
  pointer-events: auto;
  gap: 0;
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img {
    padding: 0 6rem;
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img {
    padding: 0 5rem;
  }
}
@media screen and (max-width: 639px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 500px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img {
    padding: 0 3.5rem;
  }
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img::after {
  display: none;
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img .img-frame {
  display: block;
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 500px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img .img-frame {
    aspect-ratio: 1/1.25;
  }
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img .panel-text {
  display: block;
  padding: 4rem 6rem 0;
}
@media screen and (max-width: 767px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img .panel-text {
    padding: 4rem 5rem 0;
  }
}
@media screen and (max-width: 639px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img .panel-text {
    padding: 4rem 4rem 0;
  }
}
@media screen and (max-width: 500px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img .panel-text {
    padding: 3rem 3.5rem 0;
  }
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img h3 {
  opacity: 1;
  color: black;
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-slider-track .img p {
  opacity: 1;
  color: #565656;
  text-align: left;
  padding: 0;
  margin-bottom: 0;
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 2;
  padding: 0 2.5rem;
}
@media screen and (max-width: 500px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls {
    aspect-ratio: 1/1.25;
  }
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .prev,
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .next {
  pointer-events: auto;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .prev svg,
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .next svg {
  display: block;
  width: var(--carousel-arrow-size);
  height: auto;
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .prev svg path,
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .next svg path {
  fill: white;
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .next {
  margin-left: auto;
}
.slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  display: flex;
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 500px) {
  .slide-in .slide-in-wrapper .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}
.slide-in .slide-in-wrapper .img {
  flex: 1;
  aspect-ratio: 1/1.33;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  pointer-events: none;
  flex-direction: column;
  gap: 5rem;
  transition: gap 0.3s ease;
}
.slide-in .slide-in-wrapper .img .img-frame {
  display: contents;
}
.slide-in .slide-in-wrapper .img .panel-text {
  display: contents;
}
.slide-in .slide-in-wrapper .img:hover, .slide-in .slide-in-wrapper .img:focus-within {
  gap: 2rem;
}
@media screen and (max-width: 1599px) {
  .slide-in .slide-in-wrapper .img:hover, .slide-in .slide-in-wrapper .img:focus-within {
    gap: 1.5rem;
  }
}
.slide-in .slide-in-wrapper .img:hover h3,
.slide-in .slide-in-wrapper .img:hover p, .slide-in .slide-in-wrapper .img:focus-within h3,
.slide-in .slide-in-wrapper .img:focus-within p {
  opacity: 1;
}
.slide-in .slide-in-wrapper .img:hover::after, .slide-in .slide-in-wrapper .img:focus-within::after {
  opacity: 0.45;
}
.slide-in .slide-in-wrapper .img.is-dismissed {
  gap: 5rem;
}
.slide-in .slide-in-wrapper .img.is-dismissed h3,
.slide-in .slide-in-wrapper .img.is-dismissed p {
  opacity: 0;
}
.slide-in .slide-in-wrapper .img.is-dismissed::after {
  opacity: 0;
}
.slide-in .slide-in-wrapper .img:nth-child(1) {
  transform: translateX(-100%);
}
.slide-in .slide-in-wrapper .img:nth-child(3) {
  transform: translateX(100%);
}
.slide-in .slide-in-wrapper .img img {
  height: 130%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .img img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.slide-in .slide-in-wrapper .img::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  content: "";
  opacity: 0;
  background: black;
  transition: opacity 0.3s ease;
}
.slide-in .slide-in-wrapper .img a h3::after {
  position: absolute;
  content: "";
  bottom: -0.25em;
  left: 0;
  width: 100%;
  height: 1px;
  background: white;
}
.slide-in .slide-in-wrapper .img h3 {
  font-size: 1.8rem;
  text-transform: uppercase;
  margin-bottom: 0;
  letter-spacing: 0.05em;
  color: white;
  position: relative;
  z-index: 2;
  font-family: "Mark OT";
  opacity: 0;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .img h3 {
    font-family: "Bembo";
    font-size: 2.4rem;
    text-transform: none;
    display: inline-block;
    margin-bottom: 0.2em;
  }
}
.slide-in .slide-in-wrapper .img h3::after {
  background: #000;
  bottom: -0.3em;
  height: 0.15rem;
  left: 0;
  position: absolute;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .img h3::after {
    content: "";
  }
}
.slide-in .slide-in-wrapper .img p {
  color: white;
  font-size: 2rem;
  padding: 0 6rem;
  text-align: center;
  opacity: 0;
  z-index: 2;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1439px) {
  .slide-in .slide-in-wrapper .img p {
    padding: 0 5rem;
  }
}
@media screen and (max-width: 1279px) {
  .slide-in .slide-in-wrapper .img p {
    margin-top: 0;
  }
}
@media screen and (max-width: 1023px) {
  .slide-in .slide-in-wrapper .img p {
    margin-top: 1.25em;
  }
}
.slide-in .slide-in-wrapper .heading-wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-45%);
  text-align: center;
  width: 100%;
  pointer-events: none;
}
.slide-in .slide-in-wrapper .heading-wrapper h2 {
  font-family: "Bembo";
  font-size: 32rem;
  letter-spacing: 0;
  margin: 0;
  text-transform: none;
}
@media screen and (max-width: 1919px) {
  .slide-in .slide-in-wrapper .heading-wrapper h2 {
    font-size: 28rem;
  }
}
@media screen and (max-width: 1599px) {
  .slide-in .slide-in-wrapper .heading-wrapper h2 {
    font-size: 30rem;
  }
}
@media screen and (max-width: 1439px) {
  .slide-in .slide-in-wrapper .heading-wrapper h2 {
    font-size: 28rem;
  }
}
.slide-in .slide-in-wrapper .heading-wrapper h2.light {
  color: white;
}

@media screen and (max-width: 639px) {
  .gallery-outer .row {
    padding: 0;
  }
}
.gallery-outer .gallery-wrapper {
  position: relative;
  pointer-events: none;
}
.gallery-outer .gallery-wrapper.has-heading.active::after,
.gallery-outer .gallery-wrapper.has-heading.active .heading-wrapper {
  opacity: 0;
}
.gallery-outer .gallery-wrapper .count {
  color: white;
  font-family: "Bembo";
  position: absolute;
  bottom: 3rem;
  gap: 0.2em;
  z-index: 3;
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  justify-content: center;
  left: 0;
  width: 100%;
  display: none;
}
@media screen and (max-width: 639px) {
  .gallery-outer .gallery-wrapper .count {
    display: flex;
  }
}
@media screen and (max-width: 500px) {
  .gallery-outer .gallery-wrapper .count {
    bottom: 2.5rem;
  }
}
.gallery-outer .gallery-wrapper .controls {
  position: absolute;
  top: 50%;
  left: -7rem;
  right: -7rem;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 3;
  pointer-events: none;
}
@media screen and (max-width: 1919px) {
  .gallery-outer .gallery-wrapper .controls {
    left: -5.5rem;
    right: -5.5rem;
  }
}
@media screen and (max-width: 1599px) {
  .gallery-outer .gallery-wrapper .controls {
    left: -5.5rem;
    right: -5.5rem;
  }
}
@media screen and (max-width: 1439px) {
  .gallery-outer .gallery-wrapper .controls {
    right: -5rem;
    left: -5rem;
  }
}
@media screen and (max-width: 1279px) {
  .gallery-outer .gallery-wrapper .controls {
    right: -4rem;
    left: -4rem;
  }
}
@media screen and (max-width: 767px) {
  .gallery-outer .gallery-wrapper .controls {
    right: -3.5rem;
    left: -3.5rem;
  }
}
@media screen and (max-width: 639px) {
  .gallery-outer .gallery-wrapper .controls {
    left: 2.5rem;
    right: 2.5rem;
  }
}
.gallery-outer .gallery-wrapper .controls .heading-wrapper {
  text-align: center;
  transition: opacity 0.3s ease;
}
.gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
  color: white;
  font-family: "Bembo";
  font-size: 32rem;
  text-transform: none;
  letter-spacing: 0.03em;
  margin: 0;
}
@media screen and (max-width: 1919px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
    font-size: 28rem;
  }
}
@media screen and (max-width: 1439px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
    font-size: 25rem;
  }
}
@media screen and (max-width: 1279px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
    font-size: 21rem;
  }
}
@media screen and (max-width: 1023px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
    font-size: 17rem;
  }
}
@media screen and (max-width: 767px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
    font-size: 15rem;
  }
}
@media screen and (max-width: 639px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
    font-size: 12.5rem;
  }
}
@media screen and (max-width: 500px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper h2 {
    font-size: 7.5rem;
    margin-bottom: 0.1em;
  }
}
.gallery-outer .gallery-wrapper .controls .heading-wrapper a.cta {
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: white;
  font-weight: 300;
  text-decoration: none;
  font-size: 1.5rem;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid white;
  padding: 1em 3.25em 1.1em;
  pointer-events: all;
  transition: background 0.3s ease;
}
@media screen and (max-width: 639px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper a.cta {
    padding-left: 3em;
    padding-right: 3em;
  }
}
@media screen and (max-width: 500px) {
  .gallery-outer .gallery-wrapper .controls .heading-wrapper a.cta {
    font-size: 1.4rem;
    padding: 1em 2.75em 1.1em;
  }
}
.gallery-outer .gallery-wrapper .controls .heading-wrapper a.cta:hover {
  background: rgba(0, 0, 0, 0.7);
}
.gallery-outer .gallery-wrapper .controls button {
  cursor: pointer;
  pointer-events: all;
}
.gallery-outer .gallery-wrapper .controls button svg {
  width: 2.6rem;
  height: auto;
  opacity: 0.6;
}
.gallery-outer .gallery-wrapper .controls button svg path {
  fill: black;
}
@media screen and (max-width: 1439px) {
  .gallery-outer .gallery-wrapper .controls button svg {
    width: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .gallery-outer .gallery-wrapper .controls button svg {
    width: 2.2rem;
  }
}
@media screen and (max-width: 639px) {
  .gallery-outer .gallery-wrapper .controls button svg {
    width: var(--carousel-arrow-size);
    opacity: 1;
  }
  .gallery-outer .gallery-wrapper .controls button svg path {
    fill: white;
  }
}
.gallery-outer .gallery-wrapper .gallery .gallery-slide {
  width: 100%;
}
.gallery-outer .gallery-wrapper .gallery .gallery-slide .img {
  position: relative;
  aspect-ratio: 1/0.56;
}
@media screen and (max-width: 1023px) {
  .gallery-outer .gallery-wrapper .gallery .gallery-slide .img {
    aspect-ratio: 1/0.65;
  }
}
@media screen and (max-width: 767px) {
  .gallery-outer .gallery-wrapper .gallery .gallery-slide .img {
    aspect-ratio: 4/3;
  }
}
@media screen and (max-width: 639px) {
  .gallery-outer .gallery-wrapper .gallery .gallery-slide .img {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .gallery-outer .gallery-wrapper .gallery .gallery-slide .img {
    aspect-ratio: 1/1.25;
  }
}
.gallery-outer .gallery-wrapper .gallery .gallery-slide .img a {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  pointer-events: all;
}
.gallery-outer .gallery-wrapper .gallery .gallery-slide .img img,
.gallery-outer .gallery-wrapper .gallery .gallery-slide .img video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  bottom: 0;
  left: 0;
  -o-object-position: bottom center;
     object-position: bottom center;
}

.hover-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 8rem;
}
@media screen and (max-width: 1439px) {
  .hover-grid {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.hover-grid:last-child {
  margin-bottom: 0;
}
.hover-grid .card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 2/3;
  background: white;
  color: black;
}
@media screen and (max-width: 639px) {
  .hover-grid .card {
    background: black;
  }
}
.hover-grid .card h4,
.hover-grid .card p,
.hover-grid .card .img {
  position: absolute;
  text-align: center;
}
.hover-grid .card h4 {
  font-family: "Bembo";
  font-size: 3rem;
  left: 0;
  right: 0;
  line-height: 1.3;
  top: 4rem;
  width: 70%;
  margin: 0 auto;
  z-index: 4;
  color: white;
  transition: color 0.4s ease;
}
@media screen and (max-width: 1919px) {
  .hover-grid .card h4 {
    top: 2.5rem;
  }
}
@media screen and (max-width: 1439px) {
  .hover-grid .card h4 {
    top: 2.25rem;
    width: 75%;
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid .card h4 {
    font-size: 2.6rem;
    top: 1.75rem;
    width: 90%;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid .card h4 {
    font-size: 3.6rem;
    width: 75%;
    top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .hover-grid .card h4 {
    font-size: 3.2rem;
    width: 80%;
    top: 2.25rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-grid .card h4 {
    font-size: 2.7rem;
    width: 85%;
  }
}
@media screen and (max-width: 500px) {
  .hover-grid .card h4 {
    top: 2.5rem;
    width: 100%;
    font-size: 2.2rem;
  }
}
.hover-grid .card .text {
  top: 81%;
  left: 0;
  width: 95%;
  right: 0;
  margin: 0 auto;
  padding: 0 4rem;
  position: absolute;
  text-align: center;
  z-index: 3;
}
@media screen and (max-width: 1919px) {
  .hover-grid .card .text {
    top: 80%;
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid .card .text {
    top: 78%;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid .card .text {
    top: 79%;
  }
}
@media screen and (max-width: 767px) {
  .hover-grid .card .text {
    top: 78%;
  }
}
.hover-grid .card .text p {
  font-size: 1.5rem;
  position: static;
  font-family: "Mark OT";
  opacity: 0;
  line-height: 1.666667;
  margin-bottom: 1em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1919px) {
  .hover-grid .card .text p {
    width: 100%;
    padding: 0 3rem;
    font-size: 1.4rem;
    margin-bottom: 0.8em;
  }
}
@media screen and (max-width: 1599px) {
  .hover-grid .card .text p {
    width: 100%;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1439px) {
  .hover-grid .card .text p {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid .card .text p {
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid .card .text p {
    font-size: 1.7rem;
    margin-bottom: 1.25em;
  }
}
@media screen and (max-width: 767px) {
  .hover-grid .card .text p {
    font-size: 1.6rem;
    margin-bottom: 0.9em;
  }
}
.hover-grid .card .text .arrow-link {
  font-size: 2rem;
  color: white;
  display: inline-flex;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1919px) {
  .hover-grid .card .text .arrow-link {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid .card .text .arrow-link {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .hover-grid .card .text .arrow-link {
    font-size: 1.9rem;
  }
}
.hover-grid .card .text .arrow-link span::after {
  bottom: -0.1em;
  background: white;
  transition: background 0.3s ease;
}
.hover-grid .card .img {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 3;
  transition: all 0.4s ease;
}
.hover-grid .card .img::before, .hover-grid .card .img::after {
  position: absolute;
  z-index: 3;
  content: "";
  top: 0;
  left: 0;
  height: 33.333%;
  width: 100%;
  background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.6;
  transition: opacity 0.4s ease;
}
.hover-grid .card .img::after {
  top: unset;
  bottom: 0;
  background: linear-gradient(to top, black 0%, rgba(0, 0, 0, 0) 100%);
}
@media screen and (max-width: 639px) {
  .hover-grid .card .img::after {
    content: none;
  }
}
.hover-grid .card .img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  transform: scale(1.1);
  transition: all 0.4s ease;
  transform-origin: center top;
}
@media screen and (min-width: 640px) {
  .hover-grid .card:hover h4, .hover-grid .card:focus-visible h4 {
    color: black;
  }
  .hover-grid .card:hover .img, .hover-grid .card:focus-visible .img {
    width: 65%;
    height: 59%;
  }
  .hover-grid .card:hover .img:before, .hover-grid .card:focus-visible .img:before {
    opacity: 0;
  }
}
@media screen and (min-width: 640px) and (max-width: 1599px) {
  .hover-grid .card:hover .img, .hover-grid .card:focus-visible .img {
    height: 61%;
    transform: translate(-50%, -51.5%);
  }
}
@media screen and (min-width: 640px) and (max-width: 1279px) {
  .hover-grid .card:hover .img, .hover-grid .card:focus-visible .img {
    height: 58%;
  }
}
@media screen and (min-width: 640px) {
  .hover-grid .card:hover .img img, .hover-grid .card:focus-visible .img img {
    transform: scale(1.4);
  }
  .hover-grid .card:hover .text p, .hover-grid .card:focus-visible .text p {
    opacity: 1;
  }
  .hover-grid .card:hover .text .arrow-link, .hover-grid .card:focus-visible .text .arrow-link {
    color: black;
  }
  .hover-grid .card:hover .text .arrow-link span::after, .hover-grid .card:focus-visible .text .arrow-link span::after {
    background: black;
  }
}
.hover-grid + .container .row {
  text-align: center;
  padding-bottom: var(--large-spacing);
}
.hover-grid + .container .row a.arrow-link {
  display: inline-flex;
}
.hover-grid .hover-grid__drawer:last-child .hover-grid__drawer-inner {
  padding-bottom: 0;
}
@media screen and (max-width: 639px) {
  .hover-grid .card {
    transition: opacity 0.3s ease;
  }
  .hover-grid .card .text {
    display: none;
  }
  .hover-grid .card.is-dimmed img,
  .hover-grid .card.is-dimmed h4 {
    opacity: 0.3;
  }
  .hover-grid__drawer {
    grid-column: span 2;
    overflow: hidden;
    text-align: center;
  }
  .hover-grid__drawer-inner {
    padding: 3.5rem 3rem 4rem;
  }
}
@media screen and (max-width: 639px) and (max-width: 500px) {
  .hover-grid__drawer-inner {
    padding: 3rem 3rem 3.5rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-grid__drawer-inner p {
    position: static;
    font-family: "Mark OT";
    font-size: 1.8rem;
    line-height: 1.666667;
    color: black;
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
    width: 90%;
    margin: 0 auto 1.5em;
  }
}
@media screen and (max-width: 639px) and (max-width: 500px) {
  .hover-grid__drawer-inner p {
    width: 95%;
    font-size: 1.6rem;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 639px) {
  .hover-grid__drawer-inner .arrow-link {
    font-size: 2rem;
    color: black;
    display: inline-flex;
    text-transform: none;
    text-decoration: none;
    border-bottom: 0;
  }
}
@media screen and (max-width: 639px) and (max-width: 500px) {
  .hover-grid__drawer-inner .arrow-link {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-grid__drawer-inner .arrow-link span::after {
    bottom: -0.15em;
    height: 0.1rem;
  }
}

.hover-reveal {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .hover-reveal {
    overflow-x: hidden;
    max-width: 100vw;
    margin-top: var(--small-spacing);
  }
}
.hover-reveal.centre .row {
  align-items: center;
}
.hover-reveal.images .row {
  justify-content: space-between;
}
.hover-reveal.images .row .img-wrapper {
  width: 30%;
  order: 1;
  margin: 0;
  aspect-ratio: 1/1.4;
}
.hover-reveal.images .row .img-wrapper:nth-child(2) {
  order: 3;
}
.hover-reveal.images .row .list-wrapper {
  order: 2;
  width: 40%;
  margin: 0;
}
.hover-reveal.images .row .list-wrapper ul {
  font-size: 4rem;
  line-height: 2.25;
  text-align: center;
}
.hover-reveal.dual .row .list-wrapper ul {
  font-size: 4rem;
  line-height: 2.25;
}
.hover-reveal.dual .row .list-wrapper:last-child {
  margin-left: 8.3333333333%;
  text-align: right;
}
.hover-reveal .line {
  position: absolute;
  right: 8rem;
  top: -18rem;
}
.hover-reveal .line .dot {
  width: 0.5rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background: #d9d9d9;
  z-index: 3;
}
.hover-reveal .line::before, .hover-reveal .line::after {
  height: 15rem;
  width: 2px;
  content: "";
  display: block;
  position: absolute;
  background: black;
  top: 0;
  left: 1px;
}
.hover-reveal .line::before {
  background: white;
  top: 3rem;
}
.hover-reveal .line::after {
  top: 18rem;
}
.hover-reveal .row {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row {
    display: block;
  }
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row {
    margin: 0 -6rem;
  }
}
@media screen and (max-width: 767px) {
  .hover-reveal .row {
    margin: 0 -5rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-reveal .row {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 500px) {
  .hover-reveal .row {
    margin: 0 -3.5rem;
  }
}
.hover-reveal .row .list-wrapper {
  width: 25%;
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row .list-wrapper {
    display: none;
  }
}
.hover-reveal .row .list-wrapper h2 {
  font-size: 2rem;
  line-height: 1.6;
  margin: 0 0 0.75em;
}
@media screen and (max-width: 1919px) {
  .hover-reveal .row .list-wrapper h2 {
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 1439px) {
  .hover-reveal .row .list-wrapper h2 {
    font-size: 1.9em;
    margin-bottom: 0.6em;
  }
}
.hover-reveal .row .list-wrapper ul {
  list-style: none;
  margin: 0;
  font-size: 6rem;
}
@media screen and (max-width: 1919px) {
  .hover-reveal .row .list-wrapper ul {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1599px) {
  .hover-reveal .row .list-wrapper ul {
    font-size: 6.4rem;
  }
}
@media screen and (max-width: 1439px) {
  .hover-reveal .row .list-wrapper ul {
    font-size: 5.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .hover-reveal .row .list-wrapper ul {
    font-size: 4.4rem;
  }
}
.hover-reveal .row .list-wrapper ul li {
  margin-bottom: 0.3em;
  line-height: 1.2;
}
.hover-reveal .row .list-wrapper ul button {
  cursor: pointer;
  position: relative;
  text-align: left;
}
.hover-reveal .row .list-wrapper ul button.active::after, .hover-reveal .row .list-wrapper ul button:hover::after, .hover-reveal .row .list-wrapper ul button:focus-visible::after {
  width: 100%;
}
.hover-reveal .row .list-wrapper ul button::after {
  position: absolute;
  content: "";
  bottom: -0.125em;
  left: 0em;
  width: 0%;
  transition: width 0.3s ease;
  height: 2px;
  background: black;
}
.hover-reveal .row .img-wrapper {
  width: 33.3333333333%;
  margin-left: 8.3333333333%;
  position: relative;
  aspect-ratio: 1/1.33;
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row .img-wrapper {
    display: none;
  }
}
.hover-reveal .row .img-wrapper .img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
.hover-reveal .row .img-wrapper .img:first-child {
  opacity: 1;
  visibility: visible;
}
.hover-reveal .row .img-wrapper .img:first-child img {
  height: 130%;
}
.hover-reveal .row .img-wrapper .img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row .img-wrapper .img img {
    -o-object-position: center;
       object-position: center;
  }
}
.hover-reveal .row .text-wrapper {
  margin-left: 8.3333333333%;
  width: 19%;
  position: relative;
}
@media screen and (max-width: 1919px) {
  .hover-reveal .row .text-wrapper {
    width: 22.5%;
  }
}
@media screen and (max-width: 1599px) {
  .hover-reveal .row .text-wrapper {
    width: 20%;
  }
}
@media screen and (max-width: 1439px) {
  .hover-reveal .row .text-wrapper {
    width: 22.5%;
  }
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row .text-wrapper {
    display: none;
  }
}
.hover-reveal .row .text-wrapper .text {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.hover-reveal .row .text-wrapper .text p {
  margin-bottom: 1em;
}
@media screen and (max-width: 1599px) {
  .hover-reveal .row .text-wrapper .text p {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 1439px) {
  .hover-reveal .row .text-wrapper .text p {
    font-size: 2rem;
  }
}
.hover-reveal .row .text-wrapper .text p:last-of-type {
  margin-bottom: 2em;
}
.hover-reveal .row .text-wrapper .text p::last-child {
  margin-bottom: 0;
}
.hover-reveal .row .text-wrapper .text:first-child {
  opacity: 1;
  visibility: visible;
}
.hover-reveal .row .text-wrapper .text a.arrow-link {
  display: inline-block;
  text-transform: none;
  letter-spacing: 0.03em;
}
.hover-reveal .row .mobile-default-text {
  display: none;
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row .mobile-default-text {
    display: block;
    padding: 0 6rem 4rem;
  }
}
@media screen and (max-width: 767px) {
  .hover-reveal .row .mobile-default-text {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-reveal .row .mobile-default-text {
    padding-left: 4rem;
    padding-right: 4rem;
    padding-bottom: 3.5rem;
  }
}
@media screen and (max-width: 500px) {
  .hover-reveal .row .mobile-default-text {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
.hover-reveal .row .mobile-default-text p {
  margin-bottom: 1.5em;
  margin-top: 0;
}
.hover-reveal .row .mobile-default-text p:last-of-type {
  margin-bottom: 2em;
}
.hover-reveal .row .mobile-default-text a.arrow-link {
  display: inline-block;
  text-transform: none;
  letter-spacing: 0.03em;
}
.hover-reveal .row .mobile-slider-wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row .mobile-slider-wrap {
    display: block;
    position: relative;
  }
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide {
  width: 100%;
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-img {
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-img {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-img {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-img {
    aspect-ratio: 1/1.25;
  }
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-img .img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-img .img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content {
  padding: 0 6rem;
}
@media screen and (max-width: 767px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content h3 {
  font-size: 6rem;
  line-height: 1.3;
  margin: 0 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content h3 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content h3 {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 500px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content h3 {
    font-size: 5rem;
  }
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content .text {
  position: static;
  transform: none;
  font-size: 2rem;
}
@media screen and (max-width: 639px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content .text {
    font-size: 1.8rem;
  }
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content .text p {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 500px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content .text p {
    margin-top: 0;
  }
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content .text p:last-child {
  margin-bottom: 0;
}
.hover-reveal .row .mobile-slider-wrap .mobile-slider-track .slide .slide-content .text a {
  text-transform: none;
  display: inline-block;
  border-bottom: 1px solid black;
  padding-bottom: 0.4em;
}
.hover-reveal .row .mobile-slider-wrap .mobile-controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 1;
  padding: 0 2.5rem;
}
@media screen and (max-width: 500px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-controls {
    aspect-ratio: 1/1.25;
  }
}
.hover-reveal .row .mobile-slider-wrap .mobile-controls .prev,
.hover-reveal .row .mobile-slider-wrap .mobile-controls .next {
  pointer-events: auto;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.hover-reveal .row .mobile-slider-wrap .mobile-controls .prev svg,
.hover-reveal .row .mobile-slider-wrap .mobile-controls .next svg {
  display: block;
  width: var(--carousel-arrow-size);
  height: auto;
}
.hover-reveal .row .mobile-slider-wrap .mobile-controls .prev svg path,
.hover-reveal .row .mobile-slider-wrap .mobile-controls .next svg path {
  fill: white;
}
.hover-reveal .row .mobile-slider-wrap .mobile-controls .next {
  margin-left: auto;
}
.hover-reveal .row .mobile-slider-wrap .mobile-controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  display: flex;
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 500px) {
  .hover-reveal .row .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}

.image-text {
  margin-bottom: var(--regular-spacing);
  position: relative;
}
@media screen and (max-width: 1279px) {
  .image-text {
    margin-bottom: calc(var(--regular-spacing) - 2rem);
  }
}
@media screen and (max-width: 1023px) {
  .image-text {
    margin-bottom: var(--regular-spacing);
  }
}
@media screen and (max-width: 767px) {
  .image-text {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 500px) {
  .image-text {
    margin-bottom: 9rem;
  }
}
.image-text:last-child {
  margin-bottom: 0;
}
.image-text .img {
  position: relative;
  overflow: hidden;
}
.image-text .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 1023px) {
  .image-text .img img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.image-text.right-landscape-breakout .container {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  top: 0;
}
@media screen and (max-width: 1023px) {
  .image-text.right-landscape-breakout .container {
    position: static;
  }
}
.image-text.right-landscape-breakout > .img {
  margin-left: auto;
  width: 54%;
  aspect-ratio: 5/3;
}
@media screen and (max-width: 1599px) {
  .image-text.right-landscape-breakout > .img {
    aspect-ratio: 5/3.25;
  }
}
@media screen and (max-width: 1023px) {
  .image-text.right-landscape-breakout > .img {
    width: 100%;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .image-text.right-landscape-breakout > .img {
    aspect-ratio: 4/5;
  }
}
.image-text.right-landscape-breakout > .img img {
  -o-object-position: left bottom;
     object-position: left bottom;
}
.image-text.left-portrait-constrained .img {
  width: 33.3333333333%;
  aspect-ratio: 2/3;
  margin-right: 8.3333333333%;
}
@media screen and (max-width: 1023px) {
  .image-text.left-portrait-constrained .img {
    margin: 0 -6rem 6rem;
    width: calc(100% + 12rem);
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 767px) {
  .image-text.left-portrait-constrained .img {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 639px) {
  .image-text.left-portrait-constrained .img {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 500px) {
  .image-text.left-portrait-constrained .img {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
    aspect-ratio: 4/5;
  }
}
.image-text.left-portrait-constrained .row .text {
  padding-top: 6rem;
}
@media screen and (max-width: 1439px) {
  .image-text.left-portrait-constrained .row .text {
    width: 40%;
  }
}
@media screen and (max-width: 1023px) {
  .image-text.left-portrait-constrained .row .text {
    padding-top: 0;
    width: 100%;
  }
}
.image-text .row {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .image-text .row {
    flex-direction: column;
  }
}
.image-text .row .text {
  width: 37%;
}
@media screen and (max-width: 1279px) {
  .image-text .row .text {
    width: 40%;
  }
}
@media screen and (max-width: 1023px) {
  .image-text .row .text {
    width: 100%;
    padding-top: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .image-text .row .text {
    padding-top: 5rem;
  }
}
.image-text .row .text > img {
  transform-origin: top left;
}
@media screen and (max-width: 1919px) {
  .image-text .row .text > img {
    transform: scale(0.875);
  }
}
@media screen and (max-width: 1599px) {
  .image-text .row .text > img {
    transform: scale(0.75);
  }
}
@media screen and (max-width: 1279px) {
  .image-text .row .text > img {
    transform: scale(0.65);
  }
}
@media screen and (max-width: 1023px) {
  .image-text .row .text > img {
    transform: scale(1);
    zoom: 0.6;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .image-text .row .text > img {
    zoom: 0.5;
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .image-text .row .text > img {
    zoom: 0.4;
  }
}
.image-text .row .text .text-wrapper {
  position: relative;
  margin: 9rem 0 7rem;
}
@media screen and (max-width: 1919px) {
  .image-text .row .text .text-wrapper {
    margin: 6rem 0;
  }
}
@media screen and (max-width: 1599px) {
  .image-text .row .text .text-wrapper {
    margin: 3.5rem 0 5rem;
  }
}
@media screen and (max-width: 1279px) {
  .image-text .row .text .text-wrapper {
    margin: 1.5rem 0 4rem;
  }
}
@media screen and (max-width: 1023px) {
  .image-text .row .text .text-wrapper {
    margin-top: 0;
  }
}
.image-text .row .text .text-wrapper p {
  margin: 0 0 1.5em;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .image-text .row .text .text-wrapper p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1023px) {
  .image-text .row .text .text-wrapper p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .image-text .row .text .text-wrapper p {
    font-size: 1.75rem;
  }
}
.image-text .row .text .text-wrapper p:last-child {
  margin-bottom: 0;
}
.image-text .row .text ul {
  list-style: none;
  display: flex;
  gap: 8.5rem;
}
@media screen and (max-width: 1599px) {
  .image-text .row .text ul {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .image-text .row .text ul {
    font-size: 1.5rem;
    gap: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .image-text .row .text ul {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 639px) {
  .image-text .row .text ul {
    gap: 6.5rem;
  }
}
@media screen and (max-width: 500px) {
  .image-text .row .text ul {
    gap: 4rem;
  }
}
.image-text .row .text ul a {
  position: relative;
}
@media screen and (max-width: 1279px) {
  .image-text .row .text ul a {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .image-text .row .text ul a {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 639px) {
  .image-text .row .text ul a {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 500px) {
  .image-text .row .text ul a {
    font-size: 2.1rem;
  }
}

.booking-wrapper .booking {
  border-top: 1px solid #868686;
  border-bottom: 1px solid #868686;
  padding: 9rem 0;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking {
    padding: 8rem 0;
  }
}
@media screen and (max-width: 1439px) {
  .booking-wrapper .booking {
    padding: 6rem 0;
  }
}
@media screen and (max-width: 1279px) {
  .booking-wrapper .booking {
    padding: 5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking {
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 639px) {
  .booking-wrapper .booking {
    padding: 4.5rem 0 4rem;
  }
}
.booking-wrapper .booking-form {
  display: grid;
  grid-template-columns: 6fr 8fr 8fr 8fr 8fr;
  gap: 2.8rem;
  align-items: flex-end;
}
@media screen and (max-width: 1919px) {
  .booking-wrapper .booking-form {
    grid-template-columns: 5fr 8fr 8fr 8fr 7fr;
  }
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form {
    grid-template-columns: 5fr 7fr 7fr 7fr 7fr;
  }
}
@media screen and (max-width: 1439px) {
  .booking-wrapper .booking-form {
    grid-template-columns: 5fr 7fr 7fr 8fr 7fr;
  }
}
@media screen and (max-width: 1279px) {
  .booking-wrapper .booking-form {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 500px) {
  .booking-wrapper .booking-form {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}
@media screen and (max-width: 1279px) {
  .booking-wrapper .booking-form .img {
    display: none;
  }
}
.booking-wrapper .booking-form .img img {
  width: 100%;
  transform: translateY(25%);
}
.booking-wrapper .booking-form label,
.booking-wrapper .booking-form .form-label {
  font-size: 2.5rem;
  margin-bottom: 0.7em;
  line-height: 1;
  display: block;
}
@media screen and (max-width: 1023px) {
  .booking-wrapper .booking-form label,
  .booking-wrapper .booking-form .form-label {
    margin-bottom: 0.5em;
  }
}
.booking-wrapper .booking-form .date-input {
  border: 1px solid #868686;
  border-radius: 0.5rem;
  overflow: hidden;
  padding: 0 1.5rem;
  position: relative;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .date-input {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .date-input {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .date-input {
  height: 5.8rem;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.7);
}
.booking-wrapper .booking-form .date-input svg {
  position: absolute;
  bottom: 2rem;
  right: 1.8rem;
  width: 1.6rem;
  pointer-events: none;
}
.booking-wrapper .booking-form .date-input label {
  color: #565656;
  display: block;
  margin-bottom: 0.4em;
}
.booking-wrapper .booking-form .date-input input {
  width: 100%;
  background: transparent;
  text-transform: uppercase;
  letter-spacing: 0;
  cursor: unset;
}
@media screen and (max-width: 1023px) {
  .booking-wrapper .booking-form .date-input input {
    font-size: 16px;
  }
}
.booking-wrapper .booking-form .guests-selector {
  position: relative;
}
.booking-wrapper .booking-form .guests-selector .guests-toggle {
  border: 1px solid #868686;
  border-radius: 0.5rem;
  padding: 2rem 1.5rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-toggle {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-toggle {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-toggle {
  background: rgba(255, 255, 255, 0.7);
}
.booking-wrapper .booking-form .guests-selector .guests-toggle::after {
  content: "";
  width: 1.2rem;
  height: 1.5rem;
  background-image: url("/wp-content/themes/the-fife-arms/assets/src/img/next-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
.booking-wrapper .booking-form .guests-selector .guests-toggle[aria-expanded=true]::after {
  transform: rotate(270deg);
}
.booking-wrapper .booking-form .guests-selector .guests-panel {
  border: 1px solid #868686;
  border-radius: 0.5rem;
  background: #fafaf8;
  padding: 2rem 1.5rem;
  margin-top: 1rem;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 100;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .room {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #565656;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .room:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .room-heading {
  display: block;
  font-family: "Mark OT";
  font-size: 1.3rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-heading {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-heading {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .room-heading {
  color: #565656;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-heading {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1279px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-heading {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-heading {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper,
.booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper:last-child,
.booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row:last-child {
  margin-bottom: 0;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-label,
.booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-label,
  .booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-label,
  .booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-label,
  .booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-label,
  .booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper--disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper--disabled * {
  cursor: not-allowed;
  pointer-events: none;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-controls {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper button {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 2rem;
  color: inherit;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-value {
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-value {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-value {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .stepper .stepper-value {
  min-width: 2rem;
  text-align: center;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row {
  color: #565656;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
  font-size: 1.2rem;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1279px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .child-age-row .stepper-label {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select {
  position: relative;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-btn {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-btn {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-btn {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-btn {
  color: black;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-btn::after {
  content: "";
  width: 0.8rem;
  height: 1rem;
  background-image: url("/wp-content/themes/the-fife-arms/assets/src/img/next-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 0.5rem;
  margin-right: 0.2rem;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-btn[aria-expanded=true]::after {
  transform: rotate(270deg);
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 1rem;
  background: #fafaf8;
  border-radius: 0.5rem;
  list-style: none;
  margin: 0;
  white-space: nowrap;
  z-index: 200;
  box-shadow: 0px 4px 4px -2px rgba(0, 0, 0, 0.18);
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options li {
  padding: 0;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options .age-option {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options .age-option {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options .age-option {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options .age-option {
  padding: 0.5rem 1.25rem;
  width: 100%;
  text-align: right;
  color: #565656;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options .age-option--selected {
  color: black;
}
.booking-wrapper .booking-form .guests-selector .guests-panel .age-select .age-select-options .age-option:hover {
  background: rgba(0, 0, 0, 0.05);
}
.booking-wrapper .booking-form .guests-selector .guests-panel .room-action {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: "Mark OT";
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-action {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-action {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .room-action {
  text-decoration: underline;
  text-underline-offset: 0.3em;
  margin-top: 2rem;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-action {
    font-size: 1.3rem;
    margin-right: 3rem;
  }
}
@media screen and (max-width: 1279px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-action {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .guests-selector .guests-panel .room-action {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .guests-selector .guests-panel .room-action:last-child {
  margin-right: 0;
}
.booking-wrapper .booking-form .promo-selector {
  display: flex;
  border: 1px solid #868686;
  border-radius: 0.5rem;
  position: relative;
  padding: 1rem 0;
  background: rgba(255, 255, 255, 0.7);
}
.booking-wrapper .booking-form .promo-selector .promo-toggle {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .promo-selector .promo-toggle {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .promo-selector .promo-toggle {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .promo-selector .promo-toggle {
  border-right: 1px solid #868686;
  padding: 1.1rem 3rem 1.1rem 1.5rem;
  display: block;
  width: 50%;
  flex: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  position: relative;
}
.booking-wrapper .booking-form .promo-selector .promo-toggle::after {
  content: "";
  width: 1.2rem;
  height: 1.5rem;
  background-image: url("/wp-content/themes/the-fife-arms/assets/src/img/next-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  margin-top: -0.75rem;
}
.booking-wrapper .booking-form .promo-selector .promo-toggle[aria-expanded=true]::after {
  transform: rotate(270deg);
}
.booking-wrapper .booking-form .promo-selector input {
  width: 50%;
  background: transparent;
  border: none;
  padding: 1.1rem 1.5rem;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .promo-selector input {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .promo-selector input {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .promo-selector input {
    font-size: 16px;
  }
}
.booking-wrapper .booking-form .promo-selector input::-moz-placeholder {
  color: #565656;
}
.booking-wrapper .booking-form .promo-selector input::placeholder {
  color: #565656;
}
.booking-wrapper .booking-form .promo-selector input:disabled {
  cursor: not-allowed;
}
.booking-wrapper .booking-form .promo-selector .promo-panel {
  border: 1px solid #868686;
  border-radius: 0.5rem;
  padding: 2rem 1.5rem 1.5rem;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 1rem;
  z-index: 100;
  background: #fafaf8;
}
.booking-wrapper .booking-form .promo-selector .promo-panel label {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 0;
  cursor: pointer;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .promo-selector .promo-panel label {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .promo-selector .promo-panel label {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .promo-selector .promo-panel label input[type=radio] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid #868686;
  border-radius: 5px;
  margin: 0;
  cursor: pointer;
  position: relative;
  background: transparent;
  padding: 0;
}
.booking-wrapper .booking-form .promo-selector .promo-panel label input[type=radio]:checked {
  background: black;
}
@media screen and (max-width: 639px) {
  .booking-wrapper .booking-form .form-group--guests,
  .booking-wrapper .booking-form .form-group--promo {
    grid-column: span 2;
  }
}
@media screen and (max-width: 639px) {
  .booking-wrapper .booking-form .form-group--submit {
    padding-top: 0.5rem;
    grid-column: span 2;
  }
}
@media screen and (max-width: 500px) {
  .booking-wrapper .booking-form .form-group--submit {
    padding-top: 0;
  }
}
.booking-wrapper .booking-form .booking-submit {
  background: black;
  color: white;
  padding: 2rem 3rem;
  font-family: "Mark OT";
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1599px) {
  .booking-wrapper .booking-form .booking-submit {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .booking-wrapper .booking-form .booking-submit {
    font-size: 1.5rem;
  }
}
.booking-wrapper .booking-form .booking-submit {
  cursor: pointer;
  border: 1px solid black;
  margin-bottom: 0.2rem;
  width: 100%;
  transition: all 0.3s ease;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .booking-wrapper .booking-form .booking-submit {
    padding: 1.9rem 2rem;
  }
}
@media screen and (max-width: 639px) {
  .booking-wrapper .booking-form .booking-submit {
    padding: 2.1rem 0 2.3rem;
  }
}
@media screen and (max-width: 500px) {
  .booking-wrapper .booking-form .booking-submit {
    padding: 2rem 0 2.2rem;
  }
}
.booking-wrapper .booking-form .booking-submit:hover {
  background: transparent;
  color: black;
}
.booking-wrapper .debug-preview {
  margin-top: 2rem;
}
.booking-wrapper .debug-preview label {
  display: block;
  font-size: 1.8rem;
  color: black;
  margin-bottom: 1rem;
  font-family: "Mark OT";
}
.booking-wrapper .debug-preview textarea {
  width: 100%;
  min-height: 8rem;
  font-family: monospace;
  padding: 1rem;
  border: 1px solid #868686;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  background: #f5f5f5;
}

#ui-datepicker-div.booking-datepicker {
  background: #fafaf8;
  margin-top: -0.5rem;
}

.carousel-blocks.columns .row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 7.5rem;
       column-gap: 7.5rem;
  row-gap: calc(var(--regular-spacing) - 3.5rem);
}
@media screen and (min-width: 1024px) {
  .carousel-blocks.columns .row {
    grid-template-rows: repeat(30, auto);
    row-gap: 0;
  }
}
@media screen and (max-width: 1919px) {
  .carousel-blocks.columns .row {
    -moz-column-gap: 6rem;
         column-gap: 6rem;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-blocks.columns .row {
    -moz-column-gap: 5rem;
         column-gap: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row {
    grid-template-rows: unset;
    grid-template-columns: 1fr;
    row-gap: unset;
  }
}
.carousel-blocks.columns .row .carousel-block {
  margin-bottom: 0;
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block {
    display: flex;
    flex-direction: column;
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks.columns .row .carousel-block {
    margin-bottom: 9rem;
  }
}
.carousel-blocks.columns .row .carousel-block .text {
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .text {
    order: 2;
    text-align: left;
  }
}
.carousel-blocks.columns .row .carousel-block .text h2 {
  font-size: 6rem;
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 0.35em;
}
@media screen and (max-width: 1919px) {
  .carousel-blocks.columns .row .carousel-block .text h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1439px) {
  .carousel-blocks.columns .row .carousel-block .text h2 {
    font-size: 5rem;
    margin-bottom: 0.45em;
    line-height: 1.2;
  }
}
.carousel-blocks.columns .row .carousel-block .text p {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 1439px) {
  .carousel-blocks.columns .row .carousel-block .text p {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .text p:last-child {
    margin-bottom: 0;
  }
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper {
  width: 100%;
  position: static;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper {
    position: relative;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper {
    margin: 0 -6rem 6rem;
    width: calc(100% + 12rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
  }
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls {
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls {
    gap: 0;
  }
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls ul {
  margin: 0;
  list-style-type: none;
  display: flex;
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls .buttons {
  justify-content: space-between;
  align-items: center;
  gap: 2.5rem;
  display: flex;
}
@media screen and (max-width: 1439px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls .buttons {
    gap: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls .buttons {
    width: 100%;
  }
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls .buttons button {
  padding: 0;
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls .buttons button svg {
  width: 2rem;
  height: auto;
  opacity: 0.6;
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .controls .buttons button svg path {
  fill: black;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .block-carousel {
    margin-bottom: 0;
    order: 1;
  }
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .block-carousel .block-slide {
  aspect-ratio: 1/0.65;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .block-carousel .block-slide {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .block-carousel .block-slide {
    aspect-ratio: 4/5;
  }
}
.carousel-blocks.columns .row .carousel-block .block-carousel-wrapper .block-carousel .block-slide.no-parallax img {
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
@media screen and (min-width: 1024px) {
  .carousel-blocks.columns .row .carousel-block:not(:nth-last-child(-n+2)) > .block-carousel-wrapper {
    margin-bottom: calc(var(--regular-spacing) - 3rem);
  }
}
.carousel-blocks .carousel-block {
  margin-bottom: var(--regular-spacing);
  position: relative;
}
@media screen and (max-width: 767px) {
  .carousel-blocks .carousel-block {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block {
    margin-bottom: 9rem;
  }
}
.carousel-blocks .carousel-block.no-parallax .block-carousel-wrapper .block-carousel .block-slide img {
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.carousel-blocks .carousel-block:last-child {
  margin-bottom: 0;
}
.carousel-blocks .carousel-block.left .text {
  margin-left: auto;
}
.carousel-blocks .carousel-block.left .block-carousel-wrapper .controls {
  justify-content: flex-end;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block.left .block-carousel-wrapper .controls {
    justify-content: space-between;
  }
}
.carousel-blocks .carousel-block.right .block-carousel-wrapper {
  margin-left: auto;
}
.carousel-blocks .carousel-block .block-carousel-wrapper {
  width: 52.5%;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper {
    width: 100%;
  }
}
.carousel-blocks .carousel-block .block-carousel-wrapper .controls {
  display: flex;
  margin-top: 2.5rem;
  gap: 2rem;
  align-items: center;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .controls {
    position: absolute;
    top: 0;
    padding: 0 2.5rem;
    left: 0;
    right: 0;
    justify-content: space-between;
    aspect-ratio: 1/1;
    align-items: center;
    margin-top: 0;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .controls {
    aspect-ratio: 4/5;
  }
}
.carousel-blocks .carousel-block .block-carousel-wrapper .controls .count {
  font-size: 1.5rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .controls .count {
    font-size: var(--carousel-count-size);
    font-weight: var(--carousel-count-weight);
    position: absolute;
    bottom: 3rem;
    color: #fff;
    display: flex;
    justify-content: center;
    left: 0;
    right: 0;
    width: 100%;
    gap: 0.2em;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .controls .count {
    bottom: 2.5rem;
  }
}
.carousel-blocks .carousel-block .block-carousel-wrapper .controls button {
  cursor: pointer;
  pointer-events: all;
}
.carousel-blocks .carousel-block .block-carousel-wrapper .controls button svg {
  width: 2.6rem;
  opacity: 0.6;
}
.carousel-blocks .carousel-block .block-carousel-wrapper .controls button svg path {
  fill: black;
}
@media screen and (max-width: 1919px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .controls button svg {
    width: 2.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .controls button svg {
    width: var(--carousel-arrow-size);
    opacity: 1;
  }
  .carousel-blocks .carousel-block .block-carousel-wrapper .controls button svg path {
    fill: white;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .block-carousel {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .block-carousel {
    margin-bottom: 5rem;
  }
}
.carousel-blocks .carousel-block .block-carousel-wrapper .block-carousel .block-slide {
  aspect-ratio: 1/0.65;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .block-carousel .block-slide {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .block-carousel .block-slide {
    aspect-ratio: 4/5;
  }
}
.carousel-blocks .carousel-block .block-carousel-wrapper .block-carousel .block-slide img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block .block-carousel-wrapper .block-carousel .block-slide img {
    height: 100%;
  }
}
.carousel-blocks .carousel-block > .container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  right: 0;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block > .container {
    position: static;
  }
}
.carousel-blocks .carousel-block > .container .text {
  width: 40%;
  pointer-events: all;
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block > .container .text {
    width: 100%;
  }
}
.carousel-blocks .carousel-block > .container .text h2 {
  font-family: "Bembo";
  font-weight: 400;
  font-size: 6rem;
  letter-spacing: 0;
  margin-bottom: 0.5em;
  text-transform: none;
  text-wrap: unset;
}
@media screen and (max-width: 1599px) {
  .carousel-blocks .carousel-block > .container .text h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-blocks .carousel-block > .container .text h2 {
    font-size: 5rem;
    margin-bottom: 0.4em;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block > .container .text h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block > .container .text h2 {
    font-size: 5rem;
  }
}
.carousel-blocks .carousel-block > .container .text p {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 1919px) {
  .carousel-blocks .carousel-block > .container .text p {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-blocks .carousel-block > .container .text p {
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block > .container .text p {
    margin: 0 0 2em;
  }
}
@media screen and (max-width: 639px) {
  .carousel-blocks .carousel-block > .container .text p {
    margin: 0 0 1.75em;
  }
}
.carousel-blocks .carousel-block > .container .text ul.icons {
  list-style: none;
  margin: 0 0 5rem;
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #565656;
  font-family: "Mark OT";
  line-height: 2.5;
}
@media screen and (max-width: 1919px) {
  .carousel-blocks .carousel-block > .container .text ul.icons {
    margin: 0 0 4rem;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-blocks .carousel-block > .container .text ul.icons {
    font-size: 1.7rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block > .container .text ul.icons {
    margin-bottom: 4rem;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block > .container .text ul.icons {
    font-size: 1.7rem;
    margin-bottom: 3rem;
  }
}
.carousel-blocks .carousel-block > .container .text ul.icons li {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.carousel-blocks .carousel-block > .container .text ul.icons li img,
.carousel-blocks .carousel-block > .container .text ul.icons li svg {
  width: 2.1rem;
  height: auto;
}
.carousel-blocks .carousel-block > .container .text ul.icons li img path,
.carousel-blocks .carousel-block > .container .text ul.icons li svg path {
  fill: #565656;
}
.carousel-blocks .carousel-block > .container .text ul.links {
  list-style: none;
  margin: 0;
  gap: 8rem;
  display: flex;
}
@media screen and (max-width: 1919px) {
  .carousel-blocks .carousel-block > .container .text ul.links {
    gap: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block > .container .text ul.links {
    gap: 4rem;
  }
}
.carousel-blocks .carousel-block > .container .text ul.links.vertical {
  display: block;
}
.carousel-blocks .carousel-block > .container .text ul.links.vertical li {
  margin-bottom: 5rem;
}
@media screen and (max-width: 1599px) {
  .carousel-blocks .carousel-block > .container .text ul.links.vertical li {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 1279px) {
  .carousel-blocks .carousel-block > .container .text ul.links.vertical li {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1023px) {
  .carousel-blocks .carousel-block > .container .text ul.links.vertical li {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .carousel-blocks .carousel-block > .container .text ul.links.vertical li {
    margin-bottom: 3rem;
  }
}
.carousel-blocks .carousel-block > .container .text ul.links.vertical li:last-child {
  margin-bottom: 0;
}

.three-card-carousel {
  padding: 7.5rem 0 9rem;
  background: #e7e6e2;
  text-align: center;
}
@media screen and (max-width: 1919px) {
  .three-card-carousel {
    padding: 6.5rem 0 7.5rem;
  }
}
@media screen and (max-width: 1599px) {
  .three-card-carousel {
    padding: 7.5rem 0 9rem;
  }
}
@media screen and (max-width: 1279px) {
  .three-card-carousel {
    padding: 6.5rem 0 8rem;
  }
}
@media screen and (max-width: 767px) {
  .three-card-carousel {
    padding: 6rem 0 7.5rem;
  }
}
@media screen and (max-width: 500px) {
  .three-card-carousel {
    padding: 5.5rem 0 7rem;
  }
}
.three-card-carousel h2 {
  font-family: "Bembo";
  font-weight: 400;
  font-size: 8rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 0.15em;
}
@media screen and (max-width: 1919px) {
  .three-card-carousel h2 {
    font-size: 7rem;
  }
}
@media screen and (max-width: 1279px) {
  .three-card-carousel h2 {
    font-size: 6.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .three-card-carousel h2 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .three-card-carousel h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel h2 {
    font-size: 6rem;
    margin-bottom: 0.3em;
    line-height: 1.1;
  }
}
.three-card-carousel h2 + .card-carousel-wrapper {
  margin-top: 6rem;
}
@media screen and (max-width: 1919px) {
  .three-card-carousel h2 + .card-carousel-wrapper {
    margin-top: 5rem;
  }
}
.three-card-carousel p {
  margin: 0 0 3em;
}
@media screen and (max-width: 1919px) {
  .three-card-carousel p {
    margin: 0 0 2.5em;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel p {
    width: 65%;
    margin: 0 auto 2.5em;
  }
}
@media screen and (max-width: 500px) {
  .three-card-carousel p {
    width: 85%;
  }
}
.three-card-carousel .card-carousel-wrapper {
  position: relative;
}
.three-card-carousel .card-carousel-wrapper .controls {
  display: flex;
  position: absolute;
  top: 47.5%;
  transform: translateY(-50%);
  left: 4rem;
  right: 4rem;
  justify-content: space-between;
  pointer-events: none;
  z-index: 3;
}
@media screen and (max-width: 1023px) {
  .three-card-carousel .card-carousel-wrapper .controls {
    top: 45%;
    left: -3.5rem;
    right: -3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .three-card-carousel .card-carousel-wrapper .controls {
    left: -2.5rem;
    right: -2.5rem;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel .card-carousel-wrapper .controls {
    left: 2rem;
    right: 2rem;
  }
}
.three-card-carousel .card-carousel-wrapper .controls button {
  pointer-events: all;
  cursor: pointer;
}
.three-card-carousel .card-carousel-wrapper .controls button svg {
  width: 2.6rem;
  height: auto;
  opacity: 0.6;
}
.three-card-carousel .card-carousel-wrapper .controls button svg path {
  fill: black;
}
@media screen and (max-width: 767px) {
  .three-card-carousel .card-carousel-wrapper .controls button svg {
    width: 2.2rem;
  }
}
@media screen and (max-width: 500px) {
  .three-card-carousel .card-carousel-wrapper .controls button svg {
    width: 2rem;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel {
  margin: 0 -2rem;
  width: 87.5%;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel {
    width: 100%;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card {
  width: 33.33333333%;
  padding: 0 2rem;
}
@media screen and (max-width: 1279px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card {
    width: 50%;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card {
    width: 100%;
    padding: 0;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product {
  text-align: left;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .card-inner .img {
  margin-bottom: 3rem;
  aspect-ratio: unset;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .card-inner .img img {
  height: 100%;
  position: static;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details h3 {
  font-size: 2.2rem;
  margin: 0 0 0.35em;
}
@media screen and (max-width: 1599px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details h3 {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 1439px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details h3 {
    font-size: 2.4rem;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details h4 {
  font-family: "Mark OT";
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  color: #565656;
  margin: 0;
}
@media screen and (max-width: 1599px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details h4 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1439px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details h4 {
    font-size: 1.5rem;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details button {
  opacity: 0.5;
  aspect-ratio: 1/1;
  border: 1px solid black;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  padding-left: 0.2rem;
  padding-bottom: 0.1rem;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details button:hover {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details button svg {
  width: 1.4rem;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card.product .details button svg path {
  fill: black;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner {
  background: white;
  padding: 6rem 6.5rem 5rem;
}
@media screen and (max-width: 1919px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner {
    padding: 6rem;
  }
}
@media screen and (max-width: 1439px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner {
    padding: 5rem 6rem 6rem;
  }
}
@media screen and (max-width: 767px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner {
    padding: 4rem 5rem 5rem;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner {
    padding: 5rem 6rem 6rem;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner .img {
  position: relative;
  aspect-ratio: 1/1.1;
  overflow: hidden;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner .img {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner .img {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 500px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner .img {
    margin-bottom: 4rem;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner h3 {
  letter-spacing: 0;
  font-weight: 400;
  font-size: 4.6rem;
  line-height: 1;
  margin: 0;
  margin-bottom: 0.35em;
}
@media screen and (max-width: 1919px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner h3 {
    font-size: 4.2rem;
  }
}
@media screen and (max-width: 1599px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner h3 {
    margin-bottom: 0.45em;
  }
}
@media screen and (max-width: 767px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner h3 {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner h3 {
    font-size: 4rem;
  }
}
.three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner a {
  text-transform: uppercase;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-decoration: none;
  border-bottom: 2px solid black;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner a {
    font-size: 1.4rem;
    padding-bottom: 0.4em;
    border-bottom-width: 1px;
  }
}
@media screen and (max-width: 639px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner a {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 500px) {
  .three-card-carousel .card-carousel-wrapper .card-carousel .card .card-inner a {
    font-size: 1.4rem;
  }
}

.breadcrumb-wrapper {
  margin-top: 3rem;
}
@media screen and (max-width: 500px) {
  .breadcrumb-wrapper {
    margin-top: 2.5rem;
  }
}
.breadcrumb-wrapper ul.breadcrumb {
  display: flex;
  gap: 1.5rem;
  list-style-type: none;
  text-transform: uppercase;
  font-size: 1.5rem;
  letter-spacing: 0;
}
@media screen and (max-width: 500px) {
  .breadcrumb-wrapper ul.breadcrumb {
    font-size: 1.4rem;
  }
}
.breadcrumb-wrapper ul.breadcrumb li a {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  text-decoration: none;
}
@media screen and (max-width: 500px) {
  .breadcrumb-wrapper ul.breadcrumb li a {
    gap: 1rem;
  }
}
.breadcrumb-wrapper ul.breadcrumb li a img {
  width: 1.2rem;
}
@media screen and (max-width: 500px) {
  .breadcrumb-wrapper ul.breadcrumb li a img {
    width: 1rem;
  }
}

.simple-text-block {
  text-align: center;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .simple-text-block {
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block:first-child {
    margin-top: calc(var(--large-spacing) + 4rem) !important;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block + .simple-text-block {
    margin-top: calc(var(--small-spacing) * -1);
  }
}
@media screen and (max-width: 639px) {
  .simple-text-block + .simple-text-block {
    margin-top: calc(var(--small-spacing) * -0.75);
  }
}
.simple-text-block.justify .text {
  width: 34%;
}
@media screen and (max-width: 1439px) {
  .simple-text-block.justify .text {
    width: 40%;
  }
}
@media screen and (max-width: 1279px) {
  .simple-text-block.justify .text {
    width: 50%;
  }
}
@media screen and (max-width: 1023px) {
  .simple-text-block.justify .text {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block.justify .text {
    width: 100%;
  }
}
.simple-text-block.justify .text p {
  text-align: justify;
}
.simple-text-block.full .text {
  width: 100%;
  text-align: left;
}
.simple-text-block img.static {
  position: absolute;
}
.simple-text-block h1,
.simple-text-block h2 {
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 10rem;
  line-height: 1.2;
  margin: 0 0 0.2em;
}
@media screen and (max-width: 1919px) {
  .simple-text-block h1,
  .simple-text-block h2 {
    font-size: 9rem;
  }
}
@media screen and (max-width: 1439px) {
  .simple-text-block h1,
  .simple-text-block h2 {
    font-size: 8.2rem;
  }
}
@media screen and (max-width: 1279px) {
  .simple-text-block h1,
  .simple-text-block h2 {
    font-size: 7.5rem;
    margin-bottom: 0.4em;
  }
}
@media screen and (max-width: 1023px) {
  .simple-text-block h1,
  .simple-text-block h2 {
    font-size: 6.4rem;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block h1,
  .simple-text-block h2 {
    font-size: 6rem;
  }
}
.simple-text-block .text {
  width: 60%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 1599px) {
  .simple-text-block .text {
    width: 50%;
  }
}
@media screen and (max-width: 1439px) {
  .simple-text-block .text {
    width: 55%;
  }
}
@media screen and (max-width: 1279px) {
  .simple-text-block .text {
    width: 75%;
  }
}
@media screen and (max-width: 1023px) {
  .simple-text-block .text {
    width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block .text {
    width: 100%;
  }
}
.simple-text-block .text blockquote p {
  font-family: "Bembo";
  font-style: italic;
  font-size: 5rem;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1599px) {
  .simple-text-block .text blockquote p {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 1439px) {
  .simple-text-block .text blockquote p {
    font-size: 4.6rem;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block .text blockquote p {
    font-size: 5rem;
    line-height: 1.1;
  }
}
.simple-text-block .text blockquote p:last-child {
  margin-bottom: 0.5em;
}
.simple-text-block .text ul,
.simple-text-block .text ol {
  font-size: 2rem;
  font-family: "Mark OT";
  line-height: 1.6;
  margin: 0 0 1.5em;
  letter-spacing: 0;
  padding-left: 1em;
  text-align: left;
}
@media screen and (max-width: 1439px) {
  .simple-text-block .text ul,
  .simple-text-block .text ol {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block .text ul,
  .simple-text-block .text ol {
    margin-bottom: 1.5em;
  }
}
.simple-text-block .text ul {
  list-style-type: disc;
}
.simple-text-block .text ol {
  list-style-type: decimal;
}
.simple-text-block .text p {
  margin: 0 0 1.5em;
}
@media screen and (max-width: 1439px) {
  .simple-text-block .text p {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block .text p {
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block .text p {
    font-size: 1.8rem;
  }
}
.simple-text-block .text p.footnote {
  margin: 0 0 4em;
  color: #565656;
  font-family: "Bembo";
}
@media screen and (max-width: 639px) {
  .simple-text-block .text p.footnote {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block .text p.footnote {
    font-size: 1.7rem;
  }
}
.simple-text-block .text p:last-of-type {
  margin-bottom: 2.5em;
}
.simple-text-block .text p:last-child {
  margin: 0;
}
.simple-text-block .text ul.links {
  margin: 0 0 6.5rem;
  list-style: none;
  display: flex;
  gap: 10rem;
  padding-left: 0;
  justify-content: center;
}
@media screen and (max-width: 1279px) {
  .simple-text-block .text ul.links {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block .text ul.links {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 639px) {
  .simple-text-block .text ul.links {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block .text ul.links {
    margin-bottom: 3.5rem;
  }
}
.simple-text-block .text ul.links a {
  font-family: "Bembo";
  font-size: 2.6rem;
  letter-spacing: 0.03em;
  text-decoration: none;
  color: black;
  padding-bottom: 0.3em;
}
@media screen and (max-width: 1279px) {
  .simple-text-block .text ul.links a {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .simple-text-block .text ul.links a {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 639px) {
  .simple-text-block .text ul.links a {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block .text ul.links a {
    font-size: 2.1rem;
  }
}
.simple-text-block .text ul.links a.button {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: white;
  background: black;
  font-family: "Mark OT";
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1.4em 1.8em 1.5em;
  display: block;
}
@media screen and (max-width: 1279px) {
  .simple-text-block .text ul.links a.button {
    font-size: 1.4rem;
  }
}
.simple-text-block .text ul.links a.button span::after {
  content: none;
}
.simple-text-block .text ul.links a span {
  position: relative;
}
.simple-text-block .text ul.links a span::after {
  background: black;
  height: 0.15rem;
  width: 100%;
  content: "";
  bottom: 0;
  left: 0;
  position: absolute;
}
.simple-text-block .text ul.links:last-child {
  margin-bottom: 0;
}
.simple-text-block .text ul.icons {
  list-style: none;
  margin: 4.5rem 0 0;
  display: flex;
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #565656;
  font-family: "Mark OT";
  line-height: 1;
  gap: 4rem;
  justify-content: center;
}
@media screen and (max-width: 1439px) {
  .simple-text-block .text ul.icons {
    gap: 3rem;
  }
}
@media screen and (max-width: 1279px) {
  .simple-text-block .text ul.icons {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .simple-text-block .text ul.icons {
    justify-content: flex-start;
    padding-left: 0;
    flex-direction: column;
    margin-top: 4rem;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 639px) {
  .simple-text-block .text ul.icons {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block .text ul.icons {
    gap: 2.5rem;
    margin-top: -0.5rem;
  }
}
.simple-text-block .text ul.icons li {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 1439px) {
  .simple-text-block .text ul.icons li {
    gap: 1rem;
  }
}
.simple-text-block .text ul.icons li img,
.simple-text-block .text ul.icons li svg {
  width: 2.1rem;
  height: auto;
}
@media screen and (max-width: 639px) {
  .simple-text-block .text ul.icons li img,
  .simple-text-block .text ul.icons li svg {
    width: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block .text ul.icons li img,
  .simple-text-block .text ul.icons li svg {
    width: 1.9rem;
  }
}
.simple-text-block .text ul.icons li svg path {
  fill: #565656;
}
@media screen and (max-width: 1023px) {
  .simple-text-block .text .table-wrapper {
    overflow-x: auto;
  }
}
.simple-text-block .text .table-wrapper table {
  width: 100%;
  font-size: 1.4rem;
  font-family: "Mark OT";
}
@media screen and (max-width: 1599px) {
  .simple-text-block .text .table-wrapper table {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .simple-text-block .text .table-wrapper table {
    min-width: 1024px;
  }
}
@media screen and (max-width: 500px) {
  .simple-text-block .text .table-wrapper table {
    min-width: 767px;
  }
}
.simple-text-block .text .table-wrapper table thead th {
  font-weight: 400;
  white-space: nowrap;
  border-bottom: 1px solid #868686;
  padding-bottom: 1em;
  padding-right: 5rem;
}
@media screen and (max-width: 500px) {
  .simple-text-block .text .table-wrapper table thead th {
    padding-right: 3rem;
  }
}
.simple-text-block .text .table-wrapper table tbody td {
  border-bottom: 1px solid rgba(134, 134, 134, 0.3);
  padding: 1em 5rem 1em 0;
}
@media screen and (max-width: 500px) {
  .simple-text-block .text .table-wrapper table tbody td {
    padding-right: 3rem;
  }
}
.heading + .mixed-grid .grid .text h2 {
  font-size: 6rem;
}
@media screen and (max-width: 1439px) {
  .heading + .mixed-grid .grid .text h2 {
    font-size: 5.4rem;
  }
}

.mixed-grid .grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 7rem;
       column-gap: 7rem;
  row-gap: 6rem;
}
@media screen and (max-width: 1919px) {
  .mixed-grid .grid {
    -moz-column-gap: 6rem;
         column-gap: 6rem;
    row-gap: 5rem;
  }
}
@media screen and (max-width: 1279px) {
  .mixed-grid .grid {
    gap: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .mixed-grid .grid {
    display: block;
  }
  .mixed-grid .grid > .img {
    display: none;
  }
}
.mixed-grid .grid .mobile-slider-wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .mixed-grid .grid .mobile-slider-wrap {
    display: block;
    position: relative;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .mixed-grid .grid .mobile-slider-wrap {
    margin: 0 -6rem 6rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .mixed-grid .grid .mobile-slider-wrap {
    margin: 0 -5rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .mixed-grid .grid .mobile-slider-wrap {
    margin: 0 -4rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .mixed-grid .grid .mobile-slider-wrap {
    margin: 0 -3.5rem 5rem;
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .mixed-grid .grid .mobile-slider-wrap .mobile-slider-track .img {
    position: absolute;
    width: 100%;
    height: unset;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .mixed-grid .grid .mobile-slider-wrap .mobile-slider-track .img {
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .mixed-grid .grid .mobile-slider-wrap.single-image .mobile-controls {
    display: none;
  }
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    display: flex;
    align-items: center;
    z-index: 1;
    padding: 0 2.5rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls {
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .prev,
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .next {
    pointer-events: auto;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .prev svg,
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .next svg {
    display: block;
    width: var(--carousel-arrow-size);
    height: auto;
  }
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .prev svg path,
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .next svg path {
    fill: white;
  }
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .next {
    margin-left: auto;
  }
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .count {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: auto;
    font-size: var(--carousel-count-size);
    font-weight: var(--carousel-count-weight);
    display: flex;
    gap: 0.2em;
    font-family: "Bembo";
    color: #fff;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .mixed-grid .grid .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}
.mixed-grid.has-graphic .text {
  grid-column: 2/3;
}
.mixed-grid.has-graphic .text h2 {
  font-size: 6rem;
}
@media screen and (max-width: 1439px) {
  .mixed-grid.has-graphic .text h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .mixed-grid.has-graphic .text h2 {
    font-size: 5.4rem;
    margin-bottom: 0.66em;
    line-height: 1.1;
    text-wrap: unset;
  }
}
@media screen and (max-width: 500px) {
  .mixed-grid.has-graphic .text h2 {
    font-size: 5rem;
  }
}
.mixed-grid.has-graphic .text p {
  width: 100%;
}
.mixed-grid img.static {
  position: absolute;
  right: 0;
  top: 0;
  width: calc(33.3333333% - 4.5rem);
  aspect-ratio: 1/1.4;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .mixed-grid img.static {
    display: none;
  }
}
.mixed-grid .text {
  grid-column: 2/4;
}
.mixed-grid .text h2 {
  font-family: "Bembo";
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  margin: 0 0 0.4em;
  text-transform: none;
  font-size: 10rem;
}
@media screen and (max-width: 1599px) {
  .mixed-grid .text h2 {
    font-size: 9rem;
  }
}
@media screen and (max-width: 1279px) {
  .mixed-grid .text h2 {
    font-size: 8rem;
  }
}
@media screen and (max-width: 1023px) {
  .mixed-grid .text h2 {
    font-size: 5.4rem;
    margin-bottom: 0.66em;
    line-height: 1.1;
    text-wrap: unset;
  }
}
@media screen and (max-width: 500px) {
  .mixed-grid .text h2 {
    font-size: 5rem;
  }
}
.mixed-grid .text p {
  margin: 0 0 1.5em;
  width: 75%;
}
@media screen and (max-width: 1279px) {
  .mixed-grid .text p {
    width: 100%;
  }
}
.mixed-grid .text p:last-of-type {
  margin-bottom: 2.25em;
}
.mixed-grid .text p:last-child {
  margin-bottom: 0;
}
.mixed-grid .text ul {
  list-style: none;
  margin: 0;
}
.mixed-grid .text ul li a {
  margin-bottom: 1.8em;
}
.mixed-grid .img {
  position: relative;
  overflow: hidden;
}
.mixed-grid .img.tall {
  aspect-ratio: 1/1.4;
}
.mixed-grid .img.square {
  aspect-ratio: 1/1;
}
.mixed-grid .img.bottom.left {
  grid-column: 1/3;
  height: 100%;
}
.mixed-grid .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 1023px) {
  .mixed-grid .img img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.mixed-grid .img.bottom.right {
  height: 100%;
}

.two-column-cards h2,
.two-column-cards h3,
.offers h2,
.offers h3 {
  font-size: 6rem;
  font-family: "Bembo";
  font-weight: 400;
  letter-spacing: 0;
  color: black;
  text-transform: none;
  margin: 0 0 0.75em;
}
@media screen and (max-width: 1439px) {
  .two-column-cards h2,
  .two-column-cards h3,
  .offers h2,
  .offers h3 {
    font-size: 5.4rem;
  }
}
.two-column-cards .cards,
.offers .cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10rem;
}
@media screen and (max-width: 1439px) {
  .two-column-cards .cards,
  .offers .cards {
    gap: 8rem;
  }
}
@media screen and (max-width: 1023px) {
  .two-column-cards .cards,
  .offers .cards {
    row-gap: 7rem;
    -moz-column-gap: 5.5rem;
         column-gap: 5.5rem;
  }
}
@media screen and (max-width: 767px) {
  .two-column-cards .cards,
  .offers .cards {
    grid-template-columns: 1fr;
    row-gap: 8rem;
  }
}
@media screen and (max-width: 500px) {
  .two-column-cards .cards,
  .offers .cards {
    row-gap: 9rem;
  }
}
.two-column-cards .cards .card,
.offers .cards .card {
  display: flex;
  flex-direction: column;
}
.two-column-cards .cards .card .img,
.offers .cards .card .img {
  aspect-ratio: 1/0.685;
  position: relative;
  margin-bottom: 3.5rem;
  overflow: hidden;
  display: block;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .two-column-cards .cards .card .img,
  .offers .cards .card .img {
    margin: 0 -5rem 6rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 639px) {
  .two-column-cards .cards .card .img,
  .offers .cards .card .img {
    margin: 0 -4rem 6rem;
  }
}
@media screen and (max-width: 500px) {
  .two-column-cards .cards .card .img,
  .offers .cards .card .img {
    margin: 0 -3.5rem 5rem;
    aspect-ratio: 4/5;
  }
}
.two-column-cards .cards .card .img img,
.offers .cards .card .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 130%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
@media screen and (max-width: 767px) {
  .two-column-cards .cards .card .img img,
  .offers .cards .card .img img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.two-column-cards .cards .card .text,
.offers .cards .card .text {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.two-column-cards .cards .card .text h3,
.offers .cards .card .text h3 {
  order: 2;
}
.two-column-cards .cards .card .text h4,
.offers .cards .card .text h4 {
  order: 1;
}
.two-column-cards .cards .card .text > div,
.two-column-cards .cards .card .text p,
.offers .cards .card .text > div,
.offers .cards .card .text p {
  order: 3;
  flex: 1;
}
.two-column-cards .cards .card .text ul,
.offers .cards .card .text ul {
  order: 4;
}
.two-column-cards .cards .card h4,
.offers .cards .card h4 {
  text-transform: uppercase;
  font-size: 1.5rem;
  font-family: "Mark OT";
  margin: 0 0 1.5em;
}
.two-column-cards .cards .card h3,
.offers .cards .card h3 {
  margin: 0 0 0.3em;
}
@media screen and (max-width: 1919px) {
  .two-column-cards .cards .card h3,
  .offers .cards .card h3 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1439px) {
  .two-column-cards .cards .card h3,
  .offers .cards .card h3 {
    font-size: 5rem;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 1279px) {
  .two-column-cards .cards .card h3,
  .offers .cards .card h3 {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .two-column-cards .cards .card h3,
  .offers .cards .card h3 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .two-column-cards .cards .card h3,
  .offers .cards .card h3 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .two-column-cards .cards .card h3,
  .offers .cards .card h3 {
    font-size: 4.4rem;
  }
}
.two-column-cards .cards .card > div:last-child > p:last-child,
.offers .cards .card > div:last-child > p:last-child {
  margin-bottom: 0;
}
.two-column-cards .cards .card p,
.offers .cards .card p {
  margin: 0 0 2em;
}
@media screen and (max-width: 1439px) {
  .two-column-cards .cards .card p,
  .offers .cards .card p {
    margin: 0 0 1.5em;
  }
}
.two-column-cards .cards .card ul,
.offers .cards .card ul {
  list-style-type: none;
  display: flex;
  margin: 0;
  gap: 10rem;
}
@media screen and (max-width: 1919px) {
  .two-column-cards .cards .card ul,
  .offers .cards .card ul {
    gap: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .two-column-cards .cards .card ul,
  .offers .cards .card ul {
    gap: 6rem;
  }
}

.two-column-cards {
  background: rgba(255, 255, 255, 0.33);
}
.two-column-cards.small-spacing-top {
  padding-top: var(--small-spacing);
  margin-top: 0;
}
.two-column-cards.medium-spacing-top {
  padding-top: var(--regular-spacing);
  margin-top: 0;
}
.two-column-cards.large-spacing-top {
  padding-top: var(--large-spacing);
  margin-top: 0;
}
.two-column-cards.small-spacing-bottom {
  padding-bottom: var(--small-spacing);
  margin-bottom: 0;
}
.two-column-cards.medium-spacing-bottom {
  padding-bottom: var(--regular-spacing);
  margin-bottom: 0;
}
.two-column-cards.large-spacing-bottom {
  padding-bottom: var(--large-spacing);
  margin-bottom: 0;
}

.offers.columns-2 .cards .card .img {
  aspect-ratio: 1/0.685;
}
@media screen and (max-width: 767px) {
  .offers.columns-2 .cards .card .img {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .offers.columns-2 .cards .card .img {
    aspect-ratio: 4/5;
  }
}
.offers.columns-3 .cards {
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 5.5rem;
       column-gap: 5.5rem;
}
@media screen and (max-width: 1279px) {
  .offers.columns-3 .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .offers.columns-3 .cards {
    grid-template-columns: 1fr;
  }
}
.offers.columns-3 .cards .card .img {
  aspect-ratio: 1/1;
  position: relative;
}
.offers.columns-3 .cards .card .img .tab {
  background: rgba(255, 255, 255, 0.85);
  position: absolute;
  top: 2.5rem;
  left: 2.5rem;
  line-height: 1;
  z-index: 2;
  text-transform: uppercase;
  font-size: 1.5rem;
  padding: 1.1em 1.2em 1.3em;
  color: black;
}
.offers.columns-3 .cards .card h3 {
  font-size: 3rem;
}
@media screen and (max-width: 1279px) {
  .offers.columns-3 .cards .card h3 {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .offers.columns-3 .cards .card h3 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .offers.columns-3 .cards .card h3 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .offers.columns-3 .cards .card h3 {
    font-size: 4.4rem;
  }
}
.offers.columns-3 .cards .card p {
  margin-bottom: 1.5em;
  font-size: 1.8rem;
}
@media screen and (max-width: 1279px) {
  .offers.columns-3 .cards .card p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .offers.columns-3 .cards .card p {
    font-size: 1.8rem;
  }
}

.three-column-cards .img {
  position: relative;
  overflow: hidden;
}
.three-column-cards .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
}
.three-column-cards .intro {
  display: grid;
  grid-template-columns: 2.1fr 1fr;
  gap: 5rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 1919px) {
  .three-column-cards .intro {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .three-column-cards .intro {
    margin-bottom: 7rem;
  }
}
.three-column-cards .intro .img {
  aspect-ratio: 16/9;
}
.three-column-cards .intro .text h2 {
  font-size: 1.5rem;
  margin-bottom: 0.75em;
}
.three-column-cards .intro .text h3 {
  font-size: 5.5rem;
  margin-bottom: 0.5em;
}
.three-column-cards .intro .text p {
  margin-top: 0;
}
.three-column-cards .cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 5rem;
       column-gap: 5rem;
  row-gap: 10rem;
}
@media screen and (max-width: 1919px) {
  .three-column-cards .cards {
    row-gap: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .three-column-cards .cards {
    row-gap: 7rem;
  }
}
.three-column-cards .cards .img {
  aspect-ratio: 1/1;
  margin-bottom: 4rem;
}
.three-column-cards .cards h3 {
  font-size: 3rem;
}
.three-column-cards .cards p {
  margin-top: 0;
}
.three-column-cards .cards p:last-child {
  margin-bottom: 0;
}

.menu {
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .menu {
    max-width: 100vw;
    overflow-x: hidden;
  }
}
.menu ul.tabs {
  display: flex;
  list-style: none;
  font-size: 1.75rem;
  gap: 4em;
  justify-content: center;
  margin-bottom: 15rem;
}
@media screen and (max-width: 1919px) {
  .menu ul.tabs {
    margin-bottom: 10rem;
    gap: 3.5em;
  }
}
@media screen and (max-width: 1439px) {
  .menu ul.tabs {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 1279px) {
  .menu ul.tabs {
    font-size: 1.7rem;
    gap: 2em;
    margin-bottom: 7rem;
  }
}
@media screen and (max-width: 1023px) {
  .menu ul.tabs {
    gap: 4rem;
    justify-content: flex-start;
    border-bottom: 1px solid #868686;
    padding-bottom: 3rem;
    white-space: nowrap;
    overflow-x: auto;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .menu ul.tabs {
    padding-bottom: 2.5rem;
  }
}
.menu ul.tabs li button,
.menu ul.tabs li a {
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: "Mark OT";
  opacity: 0.4;
  transition: opacity 0.3s ease;
  border-bottom: 2px solid #565656;
  padding-bottom: 0.5em;
  text-decoration: none;
}
@media screen and (max-width: 1599px) {
  .menu ul.tabs li button,
  .menu ul.tabs li a {
    border-bottom-width: 1px;
  }
}
@media screen and (max-width: 1279px) {
  .menu ul.tabs li button,
  .menu ul.tabs li a {
    padding-bottom: 0.4em;
    border-bottom-width: 1.5px;
  }
}
@media screen and (max-width: 1023px) {
  .menu ul.tabs li button,
  .menu ul.tabs li a {
    border-bottom-width: 1px;
  }
}
.menu ul.tabs li button.active, .menu ul.tabs li button:hover,
.menu ul.tabs li a.active,
.menu ul.tabs li a:hover {
  opacity: 1;
}
.menu .tab-wrapper .tab {
  display: none;
  opacity: 0;
  visibility: hidden;
}
.menu .tab-wrapper .tab:first-child {
  display: block;
  opacity: 1;
  visibility: visible;
}
.menu .tab-wrapper .tab .buttons {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 5rem;
}
@media screen and (max-width: 1439px) {
  .menu .tab-wrapper .tab .buttons {
    margin-bottom: 3.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .menu .tab-wrapper .tab .buttons {
    justify-content: center;
    margin-bottom: 6rem;
  }
}
.menu .tab-wrapper .tab .menu-section {
  margin-bottom: calc(var(--small-spacing) + 4rem);
}
@media screen and (max-width: 1599px) {
  .menu .tab-wrapper .tab .menu-section {
    margin-bottom: calc(var(--small-spacing));
  }
}
@media screen and (max-width: 1023px) {
  .menu .tab-wrapper .tab .menu-section {
    margin-bottom: calc(var(--small-spacing) - 2rem);
  }
}
@media screen and (max-width: 500px) {
  .menu .tab-wrapper .tab .menu-section {
    margin-bottom: calc(var(--small-spacing) -3rem);
  }
}
.menu .tab-wrapper .tab .menu-section:last-child {
  margin-bottom: 0;
}
.menu .tab-wrapper .tab .menu-section:last-child ul li:last-child {
  margin-bottom: 0;
}
.menu .tab-wrapper .tab .menu-section h3 {
  font-size: 5.5rem;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 1599px) {
  .menu .tab-wrapper .tab .menu-section h3 {
    margin-bottom: 0.65em;
  }
}
@media screen and (max-width: 1279px) {
  .menu .tab-wrapper .tab .menu-section h3 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .menu .tab-wrapper .tab .menu-section h3 {
    margin-bottom: 0.5em;
  }
}
.menu .tab-wrapper .tab .menu-section ul {
  list-style-type: none;
  margin: 0;
}
.menu .tab-wrapper .tab .menu-section ul.columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 15rem;
       column-gap: 15rem;
  row-gap: 5rem;
}
@media screen and (max-width: 1279px) {
  .menu .tab-wrapper .tab .menu-section ul.columns {
    -moz-column-gap: 10rem;
         column-gap: 10rem;
  }
}
@media screen and (max-width: 1023px) {
  .menu .tab-wrapper .tab .menu-section ul.columns {
    display: block;
  }
}
.menu .tab-wrapper .tab .menu-section ul.columns li {
  display: flex;
  margin-bottom: 0;
  width: 100%;
  flex-direction: column;
}
@media screen and (max-width: 1023px) {
  .menu .tab-wrapper .tab .menu-section ul.columns li {
    width: 75%;
    margin: 0 auto 2em;
  }
}
@media screen and (max-width: 639px) {
  .menu .tab-wrapper .tab .menu-section ul.columns li {
    width: 100%;
  }
}
.menu .tab-wrapper .tab .menu-section ul li {
  font-size: 2rem;
  line-height: 1.75;
  font-family: "Mark OT";
  margin-bottom: 2em;
  width: 75%;
  margin: 0 auto 2em;
}
@media screen and (max-width: 1439px) {
  .menu .tab-wrapper .tab .menu-section ul li {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 639px) {
  .menu .tab-wrapper .tab .menu-section ul li {
    width: 100%;
  }
}
.menu .tab-wrapper .tab .menu-section ul li h4 {
  text-transform: uppercase;
  margin: 0 0 0.2em;
}
@media screen and (max-width: 639px) {
  .menu .tab-wrapper .tab .menu-section ul li h4 {
    line-height: 1.2;
  }
}

.article-intro .row {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1279px) {
  .article-intro .row {
    justify-content: space-between;
  }
}
@media screen and (max-width: 1023px) {
  .article-intro .row {
    display: block;
  }
}
.article-intro .row .title {
  width: 33.333333333%;
}
@media screen and (max-width: 1279px) {
  .article-intro .row .title {
    width: 25%;
  }
}
@media screen and (max-width: 1023px) {
  .article-intro .row .title {
    width: 100%;
  }
}
.article-intro .row .title h2 {
  font-size: 5.8rem;
  letter-spacing: 0.03em;
  line-height: 1.15;
  font-family: "Bembo";
  text-transform: none;
}
@media screen and (max-width: 1919px) {
  .article-intro .row .title h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1599px) {
  .article-intro .row .title h2 {
    font-size: 5.8rem;
  }
}
@media screen and (max-width: 1439px) {
  .article-intro .row .title h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .article-intro .row .title h2 {
    font-size: 6.5rem;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 767px) {
  .article-intro .row .title h2 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .article-intro .row .title h2 {
    font-size: 5.4rem;
  }
}
.article-intro .row .title h3 {
  text-transform: uppercase;
  font-family: "Mark OT";
  color: #565656;
  display: flex;
  font-size: 1.8rem;
  align-items: center;
  gap: 1rem;
}
.article-intro .row .title h3 img {
  height: 1em;
}
.article-intro .row .img-wrapper {
  width: 33.33333333%;
  position: relative;
  aspect-ratio: 1/1.33;
  overflow: hidden;
}
@media screen and (max-width: 1279px) {
  .article-intro .row .img-wrapper {
    aspect-ratio: 1/1.5;
  }
}
@media screen and (max-width: 1279px) {
  .article-intro .row .img-wrapper {
    width: 40%;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .article-intro .row .img-wrapper {
    margin: 0 -6rem 6rem;
    width: calc(100% + 12rem);
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .article-intro .row .img-wrapper {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .article-intro .row .img-wrapper {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .article-intro .row .img-wrapper {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
    aspect-ratio: 4/5;
  }
}
.article-intro .row .img-wrapper img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 1023px) {
  .article-intro .row .img-wrapper img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.article-intro .row .text {
  width: 25%;
  margin-left: 8.33333333%;
}
@media screen and (max-width: 1279px) {
  .article-intro .row .text {
    width: 25%;
    margin-left: 0;
  }
}
@media screen and (max-width: 1023px) {
  .article-intro .row .text {
    width: 100%;
  }
}
.article-intro .row .text p {
  margin-bottom: 1.5em;
}
.article-intro .row .text p:last-child {
  margin-bottom: 0;
}

.image .container .img-wrapper {
  aspect-ratio: unset;
}
.image .container .img-wrapper img {
  position: static;
  height: auto;
}
.image .img-wrapper {
  position: relative;
  aspect-ratio: 5/2;
  overflow: hidden;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1279px) {
  .image .img-wrapper {
    aspect-ratio: 2/1;
  }
}
@media screen and (max-width: 1023px) {
  .image .img-wrapper {
    aspect-ratio: 4/3;
  }
}
@media screen and (max-width: 767px) {
  .image .img-wrapper {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .image .img-wrapper {
    aspect-ratio: 4/5;
  }
}
.image .img-wrapper img {
  width: 100%;
  height: 115%;
  position: absolute;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .image .img-wrapper img {
    height: 100%;
  }
}
.image p {
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #565656;
  margin: 0 0 0 6rem;
}
@media screen and (max-width: 767px) {
  .image p {
    margin: 0 0 0 5rem;
  }
}
@media screen and (max-width: 639px) {
  .image p {
    margin: 0 0 0 4rem;
  }
}
@media screen and (max-width: 500px) {
  .image p {
    margin: 0 0 0 3.5rem;
  }
}

.quote-wrapper .quote {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 6rem 0;
}
@media screen and (max-width: 639px) {
  .quote-wrapper .quote {
    padding: 5rem 0;
  }
}
@media screen and (max-width: 500px) {
  .quote-wrapper .quote {
    padding: 4.5rem 0;
  }
}
.quote-wrapper .quote blockquote {
  font-family: "Bembo";
  font-style: italic;
  font-size: 5rem;
  width: 70%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 1279px) {
  .quote-wrapper .quote blockquote {
    width: 75%;
    line-height: 1.25;
  }
}
@media screen and (max-width: 1023px) {
  .quote-wrapper .quote blockquote {
    width: 100%;
  }
}
@media screen and (max-width: 639px) {
  .quote-wrapper .quote blockquote {
    text-align: left;
  }
}
@media screen and (max-width: 500px) {
  .quote-wrapper .quote blockquote {
    line-height: 1.2;
  }
}

.article-grid .row {
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  display: grid;
}
@media screen and (max-width: 1023px) {
  .article-grid .row {
    display: block;
  }
}
.article-grid .row .img {
  position: relative;
  overflow: hidden;
}
.article-grid .row .img.tall {
  aspect-ratio: 1/1.4;
}
.article-grid .row .img.wide {
  grid-column: 2/4;
}
.article-grid .row .img img {
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  bottom: 0;
  left: 0;
}
.article-grid .row .text {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-left: 2rem;
}
.article-grid .row .text h2 {
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0.03em;
  font-size: 5.8rem;
  line-height: 1.15;
  width: 75%;
  margin: 0 0 0.75em;
}
@media screen and (max-width: 1279px) {
  .article-grid .row .text h2 {
    font-size: 5rem;
    margin-bottom: 0.66em;
    line-height: 1.1;
    text-wrap: unset;
  }
}
@media screen and (max-width: 1023px) {
  .article-grid .row .text h2 {
    width: 100%;
    font-size: 5.4rem;
  }
}
.article-grid .row .text p {
  margin-top: 0;
}
.article-grid .row .text p:last-child {
  margin-bottom: 0;
}
.article-grid .row .mobile-slider-wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .article-grid .row .mobile-slider-wrap {
    display: block;
    position: relative;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .article-grid .row .mobile-slider-wrap {
    margin: 0 -6rem 6rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .article-grid .row .mobile-slider-wrap {
    margin: 0 -5rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .article-grid .row .mobile-slider-wrap {
    margin: 0 -4rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .article-grid .row .mobile-slider-wrap {
    margin: 0 -3.5rem 5rem;
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .article-grid .row .mobile-slider-wrap .mobile-slider-track .img {
    position: absolute;
    width: 100%;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .article-grid .row .mobile-slider-wrap .mobile-slider-track .img {
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .article-grid .row .mobile-slider-wrap .mobile-controls {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    pointer-events: none;
    display: flex;
    align-items: center;
    z-index: 1;
    padding: 0 2.5rem;
  }
  .article-grid .row .mobile-slider-wrap .mobile-controls .prev,
  .article-grid .row .mobile-slider-wrap .mobile-controls .next {
    pointer-events: auto;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .article-grid .row .mobile-slider-wrap .mobile-controls .prev svg,
  .article-grid .row .mobile-slider-wrap .mobile-controls .next svg {
    display: block;
    width: var(--carousel-arrow-size);
    height: auto;
  }
  .article-grid .row .mobile-slider-wrap .mobile-controls .prev svg path,
  .article-grid .row .mobile-slider-wrap .mobile-controls .next svg path {
    fill: white;
  }
  .article-grid .row .mobile-slider-wrap .mobile-controls .next {
    margin-left: auto;
  }
  .article-grid .row .mobile-slider-wrap .mobile-controls .count {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: auto;
    font-size: var(--carousel-count-size);
    font-weight: var(--carousel-count-weight);
    display: flex;
    gap: 0.2em;
    font-family: "Bembo";
    color: #fff;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .article-grid .row .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .article-grid .row {
    display: block;
  }
  .article-grid .row > .img {
    display: none;
  }
}

.experiences .control-bar {
  display: flex;
  justify-content: space-between;
  font-size: 1.5rem;
  align-items: center;
  margin: 0 0 8.5rem;
}
@media screen and (max-width: 1023px) {
  .experiences .control-bar {
    display: block;
    margin-bottom: 7rem;
  }
}
.experiences .control-bar button {
  letter-spacing: 0;
  font-family: "Mark OT";
  padding: 0;
  text-transform: uppercase;
}
.experiences .control-bar ul.tabs {
  display: flex;
  list-style: none;
  margin: 0;
  gap: 3em;
}
@media screen and (max-width: 1023px) {
  .experiences .control-bar ul.tabs {
    font-size: 2rem;
    padding: 2.5rem 0 2.75rem;
    border-top: 1px solid #868686;
    white-space: nowrap;
    overflow-x: auto;
    gap: 2em;
  }
}
@media screen and (max-width: 639px) {
  .experiences .control-bar ul.tabs {
    font-size: 1.8rem;
    padding: 2.25rem 0 2.4rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences .control-bar ul.tabs {
    font-size: 1.7rem;
    gap: 1.5em;
  }
}
.experiences .control-bar ul.tabs li button {
  transition: all 0.3s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0);
  padding: 0 0 0.5em;
}
.experiences .control-bar ul.tabs li button:hover, .experiences .control-bar ul.tabs li button.active {
  border-bottom: 1px solid black;
}
.experiences .control-bar button.filter {
  display: flex;
  align-items: center;
  font-family: "Mark OT";
  padding: 0;
  color: #565656;
  gap: 2rem;
  margin-left: auto;
}
@media screen and (max-width: 1023px) {
  .experiences .control-bar button.filter {
    font-size: 2rem;
    justify-content: space-between;
    padding: 2.5rem 0 2.75rem;
    width: 100%;
    border-top: 1px solid #868686;
    border-bottom: 1px solid #868686;
  }
}
@media screen and (max-width: 639px) {
  .experiences .control-bar button.filter {
    font-size: 1.8rem;
    padding: 2.25rem 0 2.4rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences .control-bar button.filter {
    font-size: 1.7rem;
  }
}
.experiences .control-bar button.filter svg {
  height: 1.8rem;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .experiences .control-bar button.filter svg {
    height: 2.5rem;
  }
}
.experiences .control-bar button.filter svg path {
  stroke: #868686;
}
@media screen and (max-width: 1023px) {
  .experiences section:last-child, .experiences section.active {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
  }
}
.experiences section:last-child .spacer, .experiences section.active .spacer {
  display: none;
}
@media screen and (max-width: 1023px) {
  .experiences section {
    margin-bottom: 8rem;
    padding-bottom: 10rem;
    border-bottom: 1px solid #868686;
  }
}
@media screen and (max-width: 500px) {
  .experiences section {
    margin-bottom: 7.5rem;
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences section.active .intro {
    margin-bottom: 10rem;
    padding-bottom: 8rem;
    border-bottom: 1px solid #868686;
  }
}
@media screen and (max-width: 500px) {
  .experiences section.active .intro {
    margin-bottom: 7.5rem;
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences section.active .intro .img {
    display: block;
  }
}
.experiences .intro {
  display: flex;
  margin-bottom: calc(var(--regular-spacing) - 1rem);
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .experiences .intro {
    flex-direction: column;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .intro.main {
    margin-bottom: 8rem;
    padding-bottom: 8rem;
    border-bottom: 1px solid #868686;
  }
}
@media screen and (max-width: 500px) {
  .experiences .intro.main {
    margin-bottom: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .intro.main .img {
    display: block;
  }
}
.experiences .intro .text {
  width: 41.66666%;
}
@media screen and (max-width: 1279px) {
  .experiences .intro .text {
    width: 45%;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .intro .text {
    width: 100%;
    order: 2;
  }
}
.experiences .intro .text h2 {
  font-size: 10rem;
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0;
  line-height: 0.9;
  margin: 0 0 0.5em;
}
@media screen and (max-width: 1919px) {
  .experiences .intro .text h2 {
    font-size: 9rem;
  }
}
@media screen and (max-width: 1599px) {
  .experiences .intro .text h2 {
    font-size: 9.5rem;
  }
}
@media screen and (max-width: 1439px) {
  .experiences .intro .text h2 {
    font-size: 8.2rem;
  }
}
@media screen and (max-width: 1279px) {
  .experiences .intro .text h2 {
    font-size: 7rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .intro .text h2 {
    text-wrap: unset;
  }
}
@media screen and (max-width: 500px) {
  .experiences .intro .text h2 {
    font-size: 6.4rem;
  }
}
.experiences .intro .text h3 {
  font-size: 5.8rem;
}
@media screen and (max-width: 1919px) {
  .experiences .intro .text h3 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .intro .text h3 {
    text-wrap: unset;
  }
}
@media screen and (max-width: 500px) {
  .experiences .intro .text h3 {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .intro .text p {
    margin: 0;
  }
}
.experiences .intro .img {
  width: calc(50% - 2.5rem);
  position: relative;
  aspect-ratio: 1/0.65;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .experiences .intro .img {
    margin: 0 -6rem 6rem;
    width: calc(100% + 12rem);
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 767px) {
  .experiences .intro .img {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 639px) {
  .experiences .intro .img {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 500px) {
  .experiences .intro .img {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .intro .img {
    display: none;
  }
}
.experiences .intro .img img {
  height: 115%;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.experiences section {
  margin-bottom: calc(var(--small-spacing) + 2rem);
}
@media screen and (max-width: 1279px) {
  .experiences section {
    margin-bottom: var(--small-spacing);
  }
}
.experiences section:last-child, .experiences section.last {
  margin-bottom: 0;
}
.experiences section:last-child .button-wrapper, .experiences section.last .button-wrapper {
  border-bottom: 0;
  padding-bottom: 0;
}
.experiences section.last .post-wrapper {
  margin-bottom: 0;
}
.experiences section:nth-child(odd) .intro .text {
  order: 2;
}
.experiences section:nth-child(odd) .intro .img {
  order: 1;
}
.experiences section .intro {
  margin-bottom: var(--small-spacing);
}
@media screen and (max-width: 1279px) {
  .experiences section .intro {
    margin-bottom: 5rem;
  }
}
.experiences section .intro .text {
  width: 45%;
}
@media screen and (max-width: 1599px) {
  .experiences section .intro .text {
    width: 42.5%;
  }
}
@media screen and (max-width: 1023px) {
  .experiences section .intro .text {
    width: 100%;
  }
}
.experiences section .post-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 1279px) {
  .experiences section .post-wrapper {
    margin-bottom: 7.5rem;
    gap: 4rem;
  }
}
.experiences section .post-wrapper.remaining {
  margin: calc(var(--small-spacing) + 2rem) 0 0;
}
@media screen and (max-width: 1279px) {
  .experiences section .post-wrapper.remaining {
    margin-top: 0;
  }
}
.experiences section .post-wrapper.two-col {
  grid-template-columns: repeat(2, 1fr);
}
.experiences section .post-wrapper.two-col .experience-card .img {
  aspect-ratio: 1/0.7;
}
.experiences section .post-wrapper.two-col .experience-card p {
  width: 66.666666666%;
}
@media screen and (max-width: 1023px) {
  .experiences section .post-wrapper,
  .experiences section .featured-event,
  .experiences section .spacer {
    display: none;
  }
}
.experiences section .mobile-slider-wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .experiences section .mobile-slider-wrap {
    display: block;
    position: relative;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .experiences section .mobile-slider-wrap {
    margin: 0 -6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .experiences section .mobile-slider-wrap {
    margin: 0 -5rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .experiences section .mobile-slider-wrap {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .experiences section .mobile-slider-wrap {
    margin: 0 -3.5rem;
  }
}
.experiences section .mobile-slider-wrap .mobile-slider-track .experience-card {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .details,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card h4,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card p,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .arrow-link {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .details,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card h4,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card p,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .arrow-link {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .details,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card h4,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card p,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .arrow-link {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .details,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card h4,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card p,
  .experiences section .mobile-slider-wrap .mobile-slider-track .experience-card .arrow-link {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
.experiences section .mobile-slider-wrap .mobile-controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 1;
  padding: 0 2.5rem;
}
@media screen and (max-width: 500px) {
  .experiences section .mobile-slider-wrap .mobile-controls {
    aspect-ratio: 1/1.25;
  }
}
.experiences section .mobile-slider-wrap .mobile-controls .prev,
.experiences section .mobile-slider-wrap .mobile-controls .next {
  pointer-events: auto;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.experiences section .mobile-slider-wrap .mobile-controls .prev svg,
.experiences section .mobile-slider-wrap .mobile-controls .next svg {
  display: block;
  width: var(--carousel-arrow-size);
  height: auto;
}
.experiences section .mobile-slider-wrap .mobile-controls .prev svg path,
.experiences section .mobile-slider-wrap .mobile-controls .next svg path {
  fill: white;
}
.experiences section .mobile-slider-wrap .mobile-controls .next {
  margin-left: auto;
}
.experiences section .mobile-slider-wrap .mobile-controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  display: flex;
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 500px) {
  .experiences section .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}
.experiences section .spacer {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.experiences section .button-wrapper {
  display: flex;
  justify-content: center;
  padding-bottom: 7.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1279px) {
  .experiences section .button-wrapper {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences section .button-wrapper {
    display: none !important;
  }
}
.experiences section .button-wrapper.complete {
  padding-bottom: 0;
}
.experiences section .button-wrapper.complete button {
  display: none;
}

.dim {
  position: fixed;
  background: black;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 999998;
  opacity: 0;
  visibility: hidden;
}

.sidebar-filter {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  background: #eeede9;
  z-index: 999999;
  width: 40%;
  padding: 6rem 5rem;
  transform: translateX(100%);
  height: 100vh;
  overflow-y: auto;
}
@media screen and (max-width: 1279px) {
  .sidebar-filter {
    width: 50%;
  }
}
@media screen and (max-width: 1023px) {
  .sidebar-filter {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .sidebar-filter {
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter {
    padding: 5rem 4rem;
  }
}
.sidebar-filter h2 {
  font-family: "Bembo";
  font-size: 5.5rem;
  text-transform: none;
  letter-spacing: 0;
}
@media screen and (max-width: 1599px) {
  .sidebar-filter h2 {
    margin-bottom: 0.8em;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter h2 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter h2 {
    font-size: 4.4rem;
  }
}
.sidebar-filter button.close {
  position: absolute;
  top: 8rem;
  right: 5rem;
  padding: 0;
}
@media screen and (max-width: 639px) {
  .sidebar-filter button.close {
    top: 8rem;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter button.close {
    top: 6.5rem;
    right: 4rem;
  }
}
.sidebar-filter button.close svg {
  width: 2.8rem;
}
@media screen and (max-width: 639px) {
  .sidebar-filter button.close svg {
    width: 2.5rem;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter button.close svg {
    width: 2.2rem;
  }
}
.sidebar-filter button.close svg path {
  fill: black;
}
.sidebar-filter form {
  font-size: 1.5rem;
  font-family: "Mark OT";
}
@media screen and (max-width: 639px) {
  .sidebar-filter form {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter form {
    font-size: 1.7rem;
  }
}
.sidebar-filter form ul.filter-accordion {
  margin: 0;
  list-style: none;
  --width: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion {
    display: block;
  }
}
.sidebar-filter form ul.filter-accordion li {
  grid-column: span 2;
}
.sidebar-filter form ul.filter-accordion li.paired {
  grid-column: unset;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 5rem;
}
@media screen and (max-width: 1919px) {
  .sidebar-filter form ul.filter-accordion li.paired {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li.paired {
    border-bottom: 0;
    margin-bottom: 0;
  }
}
.sidebar-filter form ul.filter-accordion li.paired:nth-child(odd) {
  padding-right: 3.25rem;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li.paired:nth-child(odd) {
    padding-right: 0;
  }
}
.sidebar-filter form ul.filter-accordion li.paired:nth-child(even) {
  padding-left: 3.25rem;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li.paired:nth-child(even) {
    padding-left: 0;
  }
}
.sidebar-filter form ul.filter-accordion li.paired .filter-row {
  display: block;
  margin-bottom: 0;
  border-bottom: none;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li {
    border-top: 1px solid #868686;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li:last-child {
    border-bottom: 1px solid #868686;
  }
}
.sidebar-filter form ul.filter-accordion li .accordion-title {
  display: none;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 3rem 0;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li .accordion-title {
    display: flex;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter form ul.filter-accordion li .accordion-title {
    padding: 2.5rem 0;
  }
}
.sidebar-filter form ul.filter-accordion li .accordion-title.active .toggle {
  opacity: 1;
  transform: rotate(135deg);
}
.sidebar-filter form ul.filter-accordion li .accordion-title h3 {
  margin: 0;
  line-height: 1.25;
  font-size: 2.8rem;
  text-align: left;
  max-width: calc(100% - var(--width) - 2.5rem);
  font-family: "Bembo";
}
@media screen and (max-width: 500px) {
  .sidebar-filter form ul.filter-accordion li .accordion-title h3 {
    font-size: 2.5rem;
  }
}
.sidebar-filter form ul.filter-accordion li .accordion-title .toggle {
  width: var(--width);
  aspect-ratio: 1/1;
  padding: 0;
  position: relative;
  opacity: 1;
  transition: all 0.3s ease;
  transform-origin: center center;
}
.sidebar-filter form ul.filter-accordion li .accordion-title .toggle::before, .sidebar-filter form ul.filter-accordion li .accordion-title .toggle::after {
  position: absolute;
  content: "";
  background: black;
  border-radius: 1rem;
}
.sidebar-filter form ul.filter-accordion li .accordion-title .toggle::before {
  top: 50%;
  transform: translate(0, -40%);
  left: 0;
  width: 100%;
  height: 0.15rem;
}
.sidebar-filter form ul.filter-accordion li .accordion-title .toggle::after {
  top: 0;
  left: 50%;
  width: 0.15rem;
  height: 100%;
  transform: translate(-50%, 0);
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li .accordion-content {
    height: 0;
    opacity: 0;
    overflow: hidden;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li .accordion-content .filter-row,
  .sidebar-filter form ul.filter-accordion li .accordion-content fieldset {
    padding: 0.5rem 0 4rem;
    margin: 0;
    border: 0;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter form ul.filter-accordion li .accordion-content .filter-row,
  .sidebar-filter form ul.filter-accordion li .accordion-content fieldset {
    padding-bottom: 3.5rem;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form ul.filter-accordion li .accordion-content .form-group > legend,
  .sidebar-filter form ul.filter-accordion li .accordion-content .form-group > label,
  .sidebar-filter form ul.filter-accordion li .accordion-content fieldset > legend,
  .sidebar-filter form ul.filter-accordion li .accordion-content fieldset > label {
    display: none;
  }
}
.sidebar-filter form .checkbox-group {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.sidebar-filter form .checkbox-group input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 2rem;
  height: 2rem;
  background: transparent;
  border: 1px solid #868686;
  border-radius: 0.5rem;
  margin: 0;
  cursor: pointer;
  position: relative;
}
.sidebar-filter form .checkbox-group input[type=checkbox]:checked {
  background: transparent;
  border-color: #565656;
}
.sidebar-filter form .checkbox-group input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  background: black;
  height: 100%;
  width: 100%;
}
.sidebar-filter form .checkbox-group input[type=checkbox]:focus-visible {
  outline: 2px solid #868686;
  outline-offset: 2px;
}
.sidebar-filter form .checkbox-group label {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: pointer;
}
.sidebar-filter form fieldset {
  padding: 0 0 5rem;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 5rem;
}
@media screen and (max-width: 1439px) {
  .sidebar-filter form fieldset {
    padding-bottom: 4rem;
    margin-bottom: 4rem;
  }
}
.sidebar-filter form fieldset legend {
  font-size: 2em;
  font-family: "Bembo";
  margin-bottom: 0.75em;
}
.sidebar-filter form fieldset .date-range {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.5rem;
}
.sidebar-filter form fieldset .date-range .date-input {
  border: 1px solid #868686;
  border-radius: 0.5rem;
  overflow: hidden;
  padding: 2rem 1.5rem;
  position: relative;
}
.sidebar-filter form fieldset .date-range .date-input svg {
  position: absolute;
  bottom: 2rem;
  right: 1.8rem;
  width: 1.8rem;
  pointer-events: none;
}
.sidebar-filter form fieldset .date-range .date-input label {
  font-size: 1.1rem;
  color: #565656;
  display: block;
  margin-bottom: 0.4em;
}
.sidebar-filter form fieldset .date-range .date-input input {
  width: 100%;
  background: transparent;
  text-transform: uppercase;
  letter-spacing: 0;
  cursor: unset;
}
.sidebar-filter form fieldset .checkbox-grid {
  display: grid;
  -moz-column-gap: 6.5rem;
       column-gap: 6.5rem;
  row-gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 639px) {
  .sidebar-filter form fieldset .checkbox-grid {
    grid-template-columns: 1fr;
  }
}
.sidebar-filter form .filter-row {
  display: grid;
  -moz-column-gap: 6.5rem;
       column-gap: 6.5rem;
  grid-template-columns: repeat(2, 1fr);
  padding: 0 0 5rem;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 5rem;
}
@media screen and (max-width: 1919px) {
  .sidebar-filter form .filter-row {
    padding-bottom: 4rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form .filter-row {
    grid-template-columns: 1fr;
  }
}
.sidebar-filter form .filter-row:nth-last-child(2), .sidebar-filter form .filter-row:nth-last-child(3) {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 2.5rem;
}
.sidebar-filter form .filter-row label {
  font-size: 2em;
  font-family: "Bembo";
  display: block;
  margin-bottom: 0.75em;
}
.sidebar-filter form .filter-row .select-wrapper {
  position: relative;
}
.sidebar-filter form .filter-row .select-wrapper::after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  width: 1.2rem;
  height: 1.5rem;
  background-image: url("/wp-content/themes/the-fife-arms/assets/src/img/next-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  transition: transform 0.3s ease;
}
.sidebar-filter form .filter-row .select-wrapper:has(.custom-select-wrapper.is-open)::after {
  transform: translateY(-50%) rotate(270deg);
}
.sidebar-filter form .filter-row select {
  border: 1px solid #868686;
  border-radius: 0.5rem;
  background: transparent;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 2rem 1.5rem;
  -moz-appearance: none; /* Firefox */
  -webkit-appearance: none; /* Safari and Chrome */
  appearance: none;
}
.sidebar-filter form .filter-row select:focus {
  outline: none;
}
.sidebar-filter form .filter-row .stepper-input {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #868686;
  border-radius: 0.5rem;
  padding: 2rem 1.5rem;
  height: 6.5rem;
}
.sidebar-filter form .filter-row .stepper-input .stepper-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 2.6rem;
  line-height: 1;
  color: inherit;
  font-family: "Mark OT";
}
.sidebar-filter form .filter-row .stepper-input .stepper-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.sidebar-filter form .filter-row .stepper-input .stepper-value {
  font-family: "Mark OT";
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 1em;
  width: 3rem;
  text-align: center;
  background: none;
  font-size: 1.7rem;
  border: none;
  padding: 0;
  color: inherit;
}
.sidebar-filter form .filter-row .stepper-input .stepper-value:focus {
  outline: none;
}
.sidebar-filter form .filter-row .stepper-input .stepper-value::-webkit-inner-spin-button, .sidebar-filter form .filter-row .stepper-input .stepper-value::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
.sidebar-filter form .filter-row .stepper-input .stepper-value {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}
.sidebar-filter form .filter-row .custom-select-trigger {
  border: 1px solid #868686;
  border-radius: 0.5rem;
  background: transparent;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 2rem 1.5rem;
  color: inherit;
}
.sidebar-filter form .buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 6rem;
  font-size: 1em;
}
@media screen and (max-width: 1919px) {
  .sidebar-filter form .buttons {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form .buttons {
    margin-top: 3rem;
    flex-direction: column;
    gap: 3rem;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter form .buttons {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form .buttons [type=submit] {
    width: 100%;
    font-size: 1em;
  }
}
.sidebar-filter form .buttons button.clear {
  display: flex;
  gap: 1.2rem;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 0.03em;
  font-size: 1em;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form .buttons button.clear {
    order: 2;
    font-size: 1em;
  }
}
@media screen and (max-width: 500px) {
  .sidebar-filter form .buttons button.clear {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 639px) {
  .sidebar-filter form .buttons button.clear::before {
    position: absolute;
    width: 100%;
    left: 0;
    height: 1px;
    content: "";
    background: black;
    bottom: -0.4em;
    transition: opacity 0.3s ease;
  }
}
.sidebar-filter form .buttons button.clear svg {
  width: 1.6rem;
}
@media screen and (max-width: 639px) {
  .sidebar-filter form .buttons button.clear svg {
    display: none;
  }
}
.sidebar-filter form .buttons button.clear svg path {
  fill: black;
}
.sidebar-filter form .buttons button.cta {
  transition: opacity 0.3s ease;
}
.sidebar-filter form .buttons button.cta.is-loading {
  opacity: 0.45;
  cursor: not-allowed;
}
.sidebar-filter form .no-results {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 1.7;
}
@media screen and (max-width: 1919px) {
  .sidebar-filter form .no-results {
    font-size: 1.5rem;
  }
}

.experiences .post-wrapper.filtered {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
}
@media screen and (max-width: 1279px) {
  .experiences .post-wrapper.filtered {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1023px) {
  .experiences .post-wrapper.filtered {
    display: none;
  }
}
.experiences .mobile-slider-wrap.filtered-slider {
  display: none;
}
@media screen and (max-width: 1023px) {
  .experiences .mobile-slider-wrap.filtered-slider {
    display: block;
    position: relative;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .experiences .mobile-slider-wrap.filtered-slider {
    margin: 0 -6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .experiences .mobile-slider-wrap.filtered-slider {
    margin: 0 -5rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .experiences .mobile-slider-wrap.filtered-slider {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .experiences .mobile-slider-wrap.filtered-slider {
    margin: 0 -3.5rem;
  }
}
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 1;
  padding: 0 2.5rem;
}
@media screen and (max-width: 500px) {
  .experiences .mobile-slider-wrap.filtered-slider .mobile-controls {
    aspect-ratio: 1/1.25;
  }
}
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .prev,
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .next {
  pointer-events: auto;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .prev svg,
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .next svg {
  display: block;
  width: var(--carousel-arrow-size);
  height: auto;
}
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .prev svg path,
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .next svg path {
  fill: white;
}
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .next {
  margin-left: auto;
}
.experiences .mobile-slider-wrap.filtered-slider .mobile-controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  display: flex;
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 500px) {
  .experiences .mobile-slider-wrap.filtered-slider .mobile-controls .count {
    bottom: 2.5rem;
  }
}
.experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .details,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card h4,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card p,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .arrow-link {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .details,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card h4,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card p,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .arrow-link {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .details,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card h4,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card p,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .arrow-link {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .details,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card h4,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card p,
  .experiences .mobile-slider-wrap.filtered-slider .mobile-slider-track .experience-card .arrow-link {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
.experiences .experience-card.featured {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
  margin: calc(var(--small-spacing) + 2rem) 0;
}
@media screen and (max-width: 1439px) {
  .experiences .experience-card.featured {
    margin: var(--small-spacing) 0;
  }
}
.experiences .experience-card.featured + .post-wrapper.remaining {
  margin: 0;
}
.experiences .experience-card.featured .img {
  grid-column: 1/3;
  aspect-ratio: 5/3;
}
.experiences .experience-card.featured .text h4 {
  font-size: 5.5rem;
}
.experiences .experience-card .img {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  display: block;
  margin-bottom: 2rem;
}
@media screen and (max-width: 500px) {
  .experiences .experience-card .img {
    aspect-ratio: 4/5;
  }
}
.experiences .experience-card .img img {
  width: 100%;
  height: 115%;
  position: absolute;
  left: 0;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.experiences .experience-card .details {
  display: flex;
  justify-content: space-between;
  font-size: 1.5rem;
  font-family: "Mark OT";
  text-transform: uppercase;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1919px) {
  .experiences .experience-card .details {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .experience-card .details {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences .experience-card .details {
    font-size: 1.6rem;
  }
}
.experiences .experience-card .details time {
  margin-bottom: 0;
}
.experiences .experience-card time {
  font-family: "Mark OT";
  text-transform: uppercase;
  font-size: 1.5rem;
  display: flex;
  gap: 0.5em;
  align-items: center;
  color: #565656;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1023px) {
  .experiences .experience-card time {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences .experience-card time {
    display: none;
  }
}
.experiences .experience-card time img {
  height: 1em;
}
.experiences .experience-card h4 {
  font-size: 3rem;
  letter-spacing: 0;
  margin: 0 0 0.6em;
  text-wrap: unset;
}
@media screen and (max-width: 1023px) {
  .experiences .experience-card h4 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences .experience-card h4 {
    margin-bottom: 0.45em;
  }
}
.experiences .experience-card p {
  font-size: 1.7rem;
  line-height: 1.9;
  margin: 0 0 1.9em;
}
@media screen and (max-width: 1439px) {
  .experiences .experience-card p {
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 1023px) {
  .experiences .experience-card p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .experiences .experience-card p {
    font-size: 1.8rem;
  }
}
.experiences .experience-card a {
  border-bottom: none;
  text-transform: none;
  letter-spacing: 0.03em;
}
.experiences .no-results {
  font-family: "Mark OT";
  font-size: 1.8rem;
  color: #565656;
  padding: 4rem 0;
}

.space-intro > .container > .row::before,
.offer-intro > .container > .row::before {
  position: absolute;
  left: 50%;
  width: 1px;
  background: black;
  opacity: 0.1;
  top: 0;
  height: 100%;
  content: "";
}
@media screen and (max-width: 1023px) {
  .space-intro > .container > .row::before,
  .offer-intro > .container > .row::before {
    display: none;
  }
}
.space-intro .row,
.offer-intro .row {
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .space-intro .row,
  .offer-intro .row {
    gap: 10rem;
  }
}
@media screen and (max-width: 1023px) {
  .space-intro .row,
  .offer-intro .row {
    gap: 0;
    flex-direction: column;
  }
}
.space-intro .row .intro,
.offer-intro .row .intro {
  width: 41.66666666%;
}
@media screen and (max-width: 1919px) {
  .space-intro .row .intro,
  .offer-intro .row .intro {
    width: 45%;
  }
}
@media screen and (max-width: 1279px) {
  .space-intro .row .intro,
  .offer-intro .row .intro {
    width: 50%;
  }
}
@media screen and (max-width: 1023px) {
  .space-intro .row .intro,
  .offer-intro .row .intro {
    width: 100%;
    position: relative;
    padding-bottom: 5rem;
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .space-intro .row .intro::after,
  .offer-intro .row .intro::after {
    position: absolute;
    left: 0;
    height: 1px;
    background: black;
    opacity: 0.1;
    bottom: 0;
    width: 100%;
    content: "";
  }
}
.space-intro .row .info,
.offer-intro .row .info {
  width: 41.66666666%;
}
@media screen and (max-width: 1919px) {
  .space-intro .row .info,
  .offer-intro .row .info {
    width: 45%;
  }
}
@media screen and (max-width: 1279px) {
  .space-intro .row .info,
  .offer-intro .row .info {
    width: 50%;
  }
}
@media screen and (max-width: 1023px) {
  .space-intro .row .info,
  .offer-intro .row .info {
    width: 100%;
  }
}
.space-intro .row h2,
.offer-intro .row h2 {
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0;
  font-size: 5rem;
  margin: 0 0 0.66em;
}
@media screen and (max-width: 500px) {
  .space-intro .row h2,
  .offer-intro .row h2 {
    font-size: 4.4rem;
    margin-bottom: 0.75em;
  }
}
.space-intro .row p:last-child,
.offer-intro .row p:last-child {
  margin-bottom: 0;
}
.space-intro .row ul,
.offer-intro .row ul {
  list-style: none;
  margin: 0;
}
.space-intro .row ul.details,
.offer-intro .row ul.details {
  list-style: none;
  margin: 0 0 7rem;
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #565656;
  font-family: "Mark OT";
  line-height: 1.4;
  --width: 2.1rem;
}
@media screen and (max-width: 1439px) {
  .space-intro .row ul.details,
  .offer-intro .row ul.details {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 1279px) {
  .space-intro .row ul.details,
  .offer-intro .row ul.details {
    font-size: 1.7rem;
  }
}
.space-intro .row ul.details li,
.offer-intro .row ul.details li {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.25em;
}
.space-intro .row ul.details li:last-child,
.offer-intro .row ul.details li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 500px) {
  .space-intro .row ul.details li,
  .offer-intro .row ul.details li {
    gap: 1.75rem;
  }
}
.space-intro .row ul.details li img,
.space-intro .row ul.details li svg,
.offer-intro .row ul.details li img,
.offer-intro .row ul.details li svg {
  width: var(--width);
  height: auto;
}
.space-intro .row ul.details li img path,
.space-intro .row ul.details li svg path,
.offer-intro .row ul.details li img path,
.offer-intro .row ul.details li svg path {
  fill: #565656;
}
.space-intro .row ul.details span,
.offer-intro .row ul.details span {
  display: inline-block;
  width: calc(100% - var(--width) - 1.25rem);
}
@media screen and (max-width: 500px) {
  .space-intro .row ul.details span,
  .offer-intro .row ul.details span {
    width: calc(100% - var(--width) - 1.75rem);
  }
}
.space-intro .row ul.links,
.offer-intro .row ul.links {
  gap: 8rem;
  display: flex;
}
@media screen and (max-width: 767px) {
  .space-intro .row ul.links,
  .offer-intro .row ul.links {
    gap: 6em;
  }
}
.space-intro .row ul.links.vertical,
.offer-intro .row ul.links.vertical {
  display: block;
}
.space-intro .row ul.links.vertical li,
.offer-intro .row ul.links.vertical li {
  margin-bottom: 5rem;
}
.space-intro .row ul.links.vertical li:last-child,
.offer-intro .row ul.links.vertical li:last-child {
  margin-bottom: 0;
}

.offer-intro .row ul.details {
  margin-bottom: 12rem;
}
@media screen and (max-width: 1919px) {
  .offer-intro .row ul.details {
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 1599px) {
  .offer-intro .row ul.details {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .offer-intro .row ul.details {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .offer-intro .row ul.details {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .offer-intro .row ul.details {
    margin-bottom: 3.5rem;
  }
}
.offer-intro .row p.footnote {
  font-size: 2.1rem;
  margin: 1.75em 0 2em;
  line-height: 1.5;
  color: #565656;
  font-family: "Bembo";
}
@media screen and (max-width: 1279px) {
  .offer-intro .row p.footnote {
    font-size: 1.8rem;
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 1023px) {
  .offer-intro .row p.footnote {
    margin-top: 2em;
  }
}
.offer-intro .row p.footnote:last-child {
  margin-bottom: 0;
}
.offer-intro .row button.dropdown-trigger,
.offer-intro .row .dropdown-text {
  font-size: 1.5rem;
  color: #565656;
}
.offer-intro .row button.dropdown-trigger {
  text-transform: uppercase;
  font-family: "Mark OT";
  margin: 0;
  padding: 0;
}
.offer-intro .row button.dropdown-trigger::after {
  content: "+";
}
.offer-intro .row button.dropdown-trigger.active::after {
  content: "-";
}
.offer-intro .row .dropdown-text {
  line-height: 1.2;
  padding-top: 2.5rem;
  display: none;
}
@media screen and (max-width: 1279px) {
  .offer-intro .row .dropdown-text {
    padding-top: 2rem;
  }
}
.offer-intro .row .dropdown-text p {
  font-size: 1em;
  margin: 0;
}
.offer-intro .grid {
  margin-top: var(--regular-spacing);
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .offer-intro .grid {
    display: block;
    margin-top: calc(var(--regular-spacing) -2rem);
  }
}
.offer-intro .grid .mobile-slider-wrap {
  margin-bottom: 0;
}
.offer-intro .grid .img.bottom.left {
  grid-column: span 2;
  order: 2;
}
@media screen and (max-width: 1023px) {
  .offer-intro .grid .img.bottom.left {
    grid-column: unset;
  }
}
.offer-intro .grid .img.tall {
  order: 1;
}

.video-text h2 {
  margin-bottom: 0;
  text-transform: none;
  font-family: "Bembo";
  line-height: 1;
  font-size: 18rem;
  margin: 0 0 -0.175em;
  font-weight: 400;
  position: relative;
  z-index: 2;
  letter-spacing: 0;
}
@media screen and (max-width: 1919px) {
  .video-text h2 {
    font-size: 16rem;
  }
}
@media screen and (max-width: 1279px) {
  .video-text h2 {
    font-size: 12rem;
  }
}
@media screen and (max-width: 1023px) {
  .video-text h2 {
    font-size: 10rem;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .video-text h2 {
    font-size: 9rem;
    margin-bottom: 0.4em;
  }
}
@media screen and (max-width: 639px) {
  .video-text h2 {
    margin-bottom: 0.5em;
    font-size: 8.2rem;
  }
}
@media screen and (max-width: 500px) {
  .video-text h2 {
    font-size: 7.5rem;
  }
}
.video-text .video-wrapper {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .video-text .video-wrapper {
    flex-direction: column;
    gap: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .video-text .video-wrapper {
    gap: 4rem;
  }
}
@media screen and (max-width: 639px) {
  .video-text .video-wrapper {
    gap: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .video-text .video-wrapper {
    gap: 4rem;
  }
}
.video-text .video-wrapper .video {
  width: 70%;
}
@media screen and (max-width: 1279px) {
  .video-text .video-wrapper .video {
    width: 62%;
  }
}
@media screen and (max-width: 1023px) {
  .video-text .video-wrapper .video {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .video-text .video-wrapper .video {
    margin: 0 -5rem;
    width: unset;
  }
}
@media screen and (max-width: 639px) {
  .video-text .video-wrapper .video {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 500px) {
  .video-text .video-wrapper .video {
    margin: 0 -3.5rem;
  }
}
.video-text .video-wrapper .text {
  width: 25%;
}
@media screen and (max-width: 1279px) {
  .video-text .video-wrapper .text {
    width: 35%;
  }
}
@media screen and (max-width: 1023px) {
  .video-text .video-wrapper .text {
    width: 100%;
  }
}
.video-text .video-wrapper .text p {
  margin-top: 0;
}
@media screen and (max-width: 1279px) {
  .video-text .video-wrapper .text p {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 1023px) {
  .video-text .video-wrapper .text p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .video-text .video-wrapper .text p {
    font-size: 1.8rem;
  }
}

.three-col-img-text .row {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .three-col-img-text .row {
    flex-direction: column;
    gap: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .three-col-img-text .row {
    gap: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .three-col-img-text .row {
    gap: 4rem;
  }
}
.three-col-img-text .row .left {
  width: 25%;
  padding-right: 5rem;
}
@media screen and (max-width: 1439px) {
  .three-col-img-text .row .left {
    width: 30.5%;
    padding-right: 9rem;
  }
}
@media screen and (max-width: 1279px) {
  .three-col-img-text .row .left {
    padding-right: 0;
    width: 25%;
  }
}
@media screen and (max-width: 1023px) {
  .three-col-img-text .row .left {
    width: 100%;
  }
}
.three-col-img-text .row .left h2 {
  font-size: 6rem;
  letter-spacing: 0;
  font-family: "Bembo";
  margin: 0 0 0.8em;
  line-height: 1;
  text-transform: none;
  text-wrap: unset;
}
@media screen and (max-width: 1439px) {
  .three-col-img-text .row .left h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1439px) {
  .three-col-img-text .row .left h2 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 1279px) {
  .three-col-img-text .row .left h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 639px) {
  .three-col-img-text .row .left h2 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .three-col-img-text .row .left h2 {
    margin-bottom: 0.75em;
  }
}
.three-col-img-text .row .left p:last-of-type {
  margin-bottom: 2.5em;
}
@media screen and (max-width: 1279px) {
  .three-col-img-text .row .left p:last-of-type {
    margin-bottom: 2em;
  }
}
.three-col-img-text .row .left p:last-child {
  margin-bottom: 0;
}
.three-col-img-text .row .left a {
  border-bottom: none;
  text-transform: none;
  letter-spacing: 0.03em;
}
.three-col-img-text .row .centre {
  width: 33.333333333%;
}
@media screen and (max-width: 1439px) {
  .three-col-img-text .row .centre {
    width: 36%;
  }
}
@media screen and (max-width: 1279px) {
  .three-col-img-text .row .centre {
    width: 39%;
  }
}
@media screen and (max-width: 1023px) {
  .three-col-img-text .row .centre {
    width: 100%;
  }
}
.three-col-img-text .row .centre .img-wrapper {
  aspect-ratio: 1/1.33;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1279px) {
  .three-col-img-text .row .centre .img-wrapper {
    aspect-ratio: unset;
    height: 100%;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .three-col-img-text .row .centre .img-wrapper {
    margin: 0 -6rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .three-col-img-text .row .centre .img-wrapper {
    margin: 0 -5rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .three-col-img-text .row .centre .img-wrapper {
    margin: 0 -4rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .three-col-img-text .row .centre .img-wrapper {
    margin: 0 -3.5rem;
    aspect-ratio: 4/5;
  }
}
.three-col-img-text .row .centre .img-wrapper img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .three-col-img-text .row .centre .img-wrapper img {
    height: 100%;
  }
}
.three-col-img-text .row .right {
  width: 25%;
}
@media screen and (max-width: 1439px) {
  .three-col-img-text .row .right {
    width: 30.5%;
    padding-left: 10rem;
  }
}
@media screen and (max-width: 1279px) {
  .three-col-img-text .row .right {
    width: 25%;
    padding-left: 0;
  }
}
@media screen and (max-width: 1023px) {
  .three-col-img-text .row .right {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .three-col-img-text .row .right {
    gap: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .three-col-img-text .row .right {
    gap: 4rem;
  }
}
@media screen and (max-width: 1023px) {
  .three-col-img-text .row .right p {
    order: 1;
  }
}
.three-col-img-text .row .right img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1023px) {
  .three-col-img-text .row .right img {
    margin-bottom: 0;
    order: 2;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 500px) {
  .three-col-img-text .row .right img {
    aspect-ratio: 4/5;
  }
}

.timeline section {
  display: flex;
  position: relative;
  justify-content: space-between;
  padding-bottom: 10rem;
}
@media screen and (max-width: 1599px) {
  .timeline section {
    padding-bottom: 8rem;
  }
}
@media screen and (max-width: 1023px) {
  .timeline section {
    flex-direction: column;
    gap: 7rem;
  }
}
@media screen and (max-width: 767px) {
  .timeline section {
    gap: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .timeline section {
    gap: 5rem;
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .timeline section {
    padding-bottom: 7rem;
  }
}
.timeline section:last-child {
  padding-bottom: 5rem;
}
@media screen and (max-width: 1599px) {
  .timeline section:last-child {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 1023px) {
  .timeline section:last-child {
    padding-bottom: 0;
  }
}
.timeline section::after {
  left: 50%;
  height: 100%;
  position: absolute;
  content: "";
  width: 1px;
  background: #868686;
}
@media screen and (max-width: 1023px) {
  .timeline section::after {
    display: none;
  }
}
.timeline section:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {
  .timeline section:nth-child(even) {
    flex-direction: column;
  }
}
.timeline section:nth-child(even) .text {
  text-align: right;
}
@media screen and (max-width: 1023px) {
  .timeline section:nth-child(even) .text {
    text-align: left;
  }
}
.timeline section:nth-child(even) .text h2 img {
  right: unset;
  left: calc(100% + 1em);
  transform: translateY(-50%) rotate(180deg);
  transform-origin: center;
}
@media screen and (max-width: 1023px) {
  .timeline section:nth-child(even) .text h2 img {
    transform: none;
  }
}
.timeline section .text,
.timeline section .img-wrapper {
  width: 41.6666666667%;
}
@media screen and (max-width: 1599px) {
  .timeline section .text,
  .timeline section .img-wrapper {
    width: 43%;
  }
}
@media screen and (max-width: 1279px) {
  .timeline section .text,
  .timeline section .img-wrapper {
    width: 45%;
  }
}
@media screen and (max-width: 1023px) {
  .timeline section .text,
  .timeline section .img-wrapper {
    width: 100%;
  }
}
.timeline section .img-wrapper {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/0.7;
}
@media screen and (max-width: 1023px) {
  .timeline section .img-wrapper {
    margin: 0 -6rem;
    width: calc(100% + 12rem);
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 767px) {
  .timeline section .img-wrapper {
    margin: 0 -5rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 639px) {
  .timeline section .img-wrapper {
    margin: 0 -4rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 500px) {
  .timeline section .img-wrapper {
    margin: 0 -3.5rem;
    aspect-ratio: 4/5;
    width: calc(100% + 7rem);
  }
}
.timeline section .img-wrapper img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .timeline section .img-wrapper img {
    height: 100%;
  }
}
.timeline section .text h2 {
  font-size: 1.5rem;
  letter-spacing: 0;
  font-family: "Mark OT";
  color: #565656;
  position: relative;
  margin: 0 0 1.25em;
}
@media screen and (max-width: 1023px) {
  .timeline section .text h2 {
    display: flex;
    align-items: center;
    gap: 1em;
  }
}
@media screen and (max-width: 1023px) {
  .timeline section .text h2 span {
    order: 2;
  }
}
.timeline section .text h2 img {
  height: 1em;
  opacity: 1;
  position: absolute;
  top: 50%;
  right: calc(100% + 1em);
  transform: translateY(-50%);
}
@media screen and (max-width: 1023px) {
  .timeline section .text h2 img {
    position: static;
    transform: none;
    order: 1;
  }
}
.timeline section .text time {
  font-family: "Bembo";
  font-size: 5.5rem;
  display: block;
  margin: 0 0 0.35em;
}
@media screen and (max-width: 1279px) {
  .timeline section .text time {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .timeline section .text time {
    margin-bottom: 0.3em;
  }
}
@media screen and (max-width: 1279px) {
  .timeline section .text p {
    margin-top: 0;
  }
}
.timeline section .text p:last-child {
  margin-bottom: 0;
}

.people .bio {
  opacity: 0;
  visibility: hidden;
  display: none;
}
.people .bio.active {
  opacity: 1;
  visibility: visible;
  display: block;
}
.people .bio .bio-inner {
  padding-bottom: 3rem;
}
@media screen and (max-width: 1023px) {
  .people .bio .bio-inner {
    padding: 3rem 0;
  }
}
@media screen and (max-width: 767px) {
  .people .bio .bio-inner {
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .people .bio .bio-inner {
    padding-bottom: 1.5rem;
  }
}
.people .bio img {
  width: 100%;
  display: block;
  margin-bottom: 2rem;
}
.people .bio h3 {
  font-size: 3rem;
  margin: 0 0 0.3em;
}
@media screen and (max-width: 1599px) {
  .people .bio h3 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 639px) {
  .people .bio h3 {
    font-size: 3.6rem;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 500px) {
  .people .bio h3 {
    font-size: 3.2rem;
  }
}
.people .bio h4 {
  font-size: 1.5rem;
  font-family: "Mark OT";
  text-transform: uppercase;
  margin: 0 0 1.5em;
}
@media screen and (max-width: 1023px) {
  .people .bio h4 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 639px) {
  .people .bio h4 {
    font-size: 2rem;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 500px) {
  .people .bio h4 {
    font-size: 1.8rem;
  }
}
.people .bio h4:last-child {
  margin: 0;
}
@media screen and (max-width: 639px) {
  .people .bio p {
    display: none;
  }
}
.people .bio p:last-child {
  margin: 0;
}
.people .row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.people .row .category-wrapper {
  width: 58.3333333333%;
}
@media screen and (max-width: 1023px) {
  .people .row .category-wrapper {
    width: 100%;
  }
}
.people .row .category-wrapper section {
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--small-spacing);
}
@media screen and (max-width: 1919px) {
  .people .row .category-wrapper section {
    margin-bottom: 7rem;
  }
}
@media screen and (max-width: 1023px) {
  .people .row .category-wrapper section {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section {
    flex-direction: column;
    margin: 0;
    border-bottom: 1px solid rgba(134, 134, 134, 0.5);
    padding: 3.5rem 0;
  }
}
@media screen and (max-width: 500px) {
  .people .row .category-wrapper section {
    padding: 3rem 0;
  }
}
.people .row .category-wrapper section:last-child {
  margin-bottom: 0;
}
.people .row .category-wrapper section > button {
  width: 42.5%;
}
@media screen and (max-width: 1279px) {
  .people .row .category-wrapper section > button {
    width: 40%;
  }
}
@media screen and (max-width: 1023px) {
  .people .row .category-wrapper section > button {
    width: 33.333333%;
  }
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section > button {
    width: 100%;
  }
}
.people .row .category-wrapper section > button h2 {
  font-family: "Bembo";
  font-size: 3rem;
  text-transform: none;
  letter-spacing: 0;
  --width: 2rem;
  text-align: left;
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section > button h2 {
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    --width: 2rem;
  }
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section > button h2 span {
    width: calc(100% - var(--width));
  }
}
.people .row .category-wrapper section > button h2 .toggle {
  width: var(--width);
  aspect-ratio: 1/1;
  padding: 0;
  position: relative;
  transition: all 0.3s ease;
  transform-origin: center center;
  display: none;
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section > button h2 .toggle {
    opacity: 1;
    display: block;
  }
}
@media (hover: hover) {
  .people .row .category-wrapper section > button h2 .toggle:hover {
    opacity: 1;
  }
}
.people .row .category-wrapper section > button h2 .toggle::before, .people .row .category-wrapper section > button h2 .toggle::after {
  position: absolute;
  content: "";
  background: black;
  border-radius: 1rem;
}
.people .row .category-wrapper section > button h2 .toggle::before {
  top: 50%;
  transform: translate(0, -40%);
  left: 0;
  width: 100%;
  height: 0.25rem;
}
@media screen and (max-width: 500px) {
  .people .row .category-wrapper section > button h2 .toggle::before {
    height: 0.15rem;
  }
}
.people .row .category-wrapper section > button h2 .toggle::after {
  top: 0;
  left: 50%;
  width: 0.25rem;
  height: 100%;
  transform: translate(-50%, 0);
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 500px) {
  .people .row .category-wrapper section > button h2 .toggle::after {
    width: 0.15rem;
  }
}
.people .row .category-wrapper section > button.active h2 .toggle {
  transform: rotate(135deg);
}
.people .row .category-wrapper section ul {
  margin: 0;
  list-style-type: none;
}
@media screen and (max-width: 1023px) {
  .people .row .category-wrapper section ul {
    width: 66.66666%;
  }
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section ul {
    width: 100%;
    display: none;
  }
}
.people .row .category-wrapper section ul li {
  font-size: 2rem;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 1919px) {
  .people .row .category-wrapper section ul li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1439px) {
  .people .row .category-wrapper section ul li {
    margin-bottom: 1.25em;
  }
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section ul li {
    margin-bottom: 1.5em;
  }
}
.people .row .category-wrapper section ul li:last-child {
  margin-bottom: 0;
}
.people .row .category-wrapper section ul li button {
  font-family: "Mark OT";
  text-transform: uppercase;
  letter-spacing: 0;
  color: #565656;
  position: relative;
  border-bottom: 1px solid #868686;
  padding-bottom: 0.5em;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1439px) {
  .people .row .category-wrapper section ul li button {
    padding-bottom: 0.33em;
  }
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section ul li button {
    display: flex;
    padding-bottom: 0;
    border-bottom: 0;
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section ul li button span {
    border-bottom: 1px solid #868686;
    padding-bottom: 0.4em;
  }
}
.people .row .category-wrapper section ul li button img {
  width: 1.7rem;
  display: none;
  transform: rotate(-90deg) translateY(-10%);
  transform-origin: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section ul li button img {
    display: block;
  }
}
.people .row .category-wrapper section ul li button.active {
  border-bottom: 2px solid black;
  color: black;
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section ul li button.active {
    border-bottom: 0;
  }
}
.people .row .category-wrapper section ul li button.active img {
  opacity: 1;
}
@media screen and (max-width: 639px) {
  .people .row .category-wrapper section ul li button.active span {
    border-bottom: 2px solid black;
  }
}
.people .row .bio-wrapper {
  width: 37.5%;
  position: sticky;
  top: 0;
}
@media screen and (max-width: 1023px) {
  .people .row .bio-wrapper {
    display: none;
  }
}
.people .row .bio-wrapper .bio-scroll-wrapper {
  overflow-y: auto;
}

.text-two-cards {
  position: relative;
}
.text-two-cards .cards {
  width: 56%;
  margin-left: 44%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
}
.text-two-cards .cards a.card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1.3;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
.text-two-cards .cards a.card img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.text-two-cards .cards a.card h3 {
  color: white;
  font-family: "Bembo";
  position: relative;
  z-index: 2;
  font-size: 6rem;
  line-height: 1;
  padding-bottom: 0.15em;
  border-bottom: 1px solid white;
}
@media screen and (max-width: 1919px) {
  .text-two-cards .cards a.card h3 {
    font-size: 5.4rem;
  }
}
.text-two-cards .container {
  position: absolute;
  left: 0;
  width: 100%;
  top: 0;
}
.text-two-cards .container .text {
  width: 41.6666666667%;
  padding-right: 6.5rem;
}
.text-two-cards .container .text h2 {
  font-family: "Bembo";
  font-weight: 400;
  font-size: 6rem;
  letter-spacing: 0;
  margin-bottom: 0.5em;
  text-transform: none;
}
@media screen and (max-width: 1919px) {
  .text-two-cards .container .text h2 {
    font-size: 5.4rem;
  }
}
.text-two-cards .container .text > div:last-child p:last-child {
  margin: 0;
}
.text-two-cards .container .text p {
  margin: 0 0 2.5em;
}
.text-two-cards .container .text ul {
  list-style: none;
  margin: 0;
}

.sticky-text-img {
  position: relative;
}
.sticky-text-img.left .img-wrapper {
  order: 1;
}
.sticky-text-img.left .text {
  order: 2;
}
.sticky-text-img .row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 1023px) {
  .sticky-text-img .row {
    flex-direction: column;
  }
}
.sticky-text-img .row .text {
  width: 46%;
  position: sticky;
  transition: top 0.3s ease;
}
@media screen and (max-width: 1919px) {
  .sticky-text-img .row .text {
    width: 47%;
  }
}
@media screen and (max-width: 1023px) {
  .sticky-text-img .row .text {
    width: 100%;
    position: static;
    order: 2;
  }
}
.sticky-text-img .row .text h2 {
  font-family: "Bembo";
  font-style: normal;
  font-weight: 400;
  font-size: 5.5rem;
  letter-spacing: 0;
  margin: 0 0 0.5em;
  text-transform: none;
}
@media screen and (max-width: 1919px) {
  .sticky-text-img .row .text h2 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 1279px) {
  .sticky-text-img .row .text h2 {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .sticky-text-img .row .text h2 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .sticky-text-img .row .text h2 {
    font-size: 5.8rem;
    line-height: 1.25;
  }
}
.sticky-text-img .row .text h3 {
  font-family: "Mark OT";
  font-style: normal;
  font-weight: 450;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.75;
  color: #565656;
  text-wrap: unset;
  margin: -0.2em 0 1.5em;
}
@media screen and (max-width: 1279px) {
  .sticky-text-img .row .text h3 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1023px) {
  .sticky-text-img .row .text h3 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 500px) {
  .sticky-text-img .row .text h3 {
    font-size: 1.7rem;
    margin-bottom: 1em;
  }
}
.sticky-text-img .row .text p {
  margin: 0 0 1.5em;
}
.sticky-text-img .row .text p:last-child {
  margin-bottom: 0;
}
.sticky-text-img .row .img-wrapper {
  width: 46%;
}
@media screen and (max-width: 1919px) {
  .sticky-text-img .row .img-wrapper {
    width: 47%;
  }
}
@media screen and (max-width: 1023px) {
  .sticky-text-img .row .img-wrapper {
    margin: 0 -6rem 6rem;
    width: calc(100% + 12rem);
  }
}
@media screen and (max-width: 767px) {
  .sticky-text-img .row .img-wrapper {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 639px) {
  .sticky-text-img .row .img-wrapper {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 500px) {
  .sticky-text-img .row .img-wrapper {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
  }
}
.sticky-text-img .row .img-wrapper .img {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .sticky-text-img .row .img-wrapper .img {
    width: 100% !important;
    margin: 0 !important;
  }
}
.sticky-text-img .row .img-wrapper .img img {
  width: 100%;
  height: auto;
  display: block;
}
.sticky-text-img .row .img-carousel-wrapper {
  width: 46%;
  position: relative;
}
@media screen and (max-width: 1919px) {
  .sticky-text-img .row .img-carousel-wrapper {
    width: 47%;
  }
}
@media screen and (max-width: 1023px) {
  .sticky-text-img .row .img-carousel-wrapper {
    width: 100%;
  }
}
.sticky-text-img .row .img-carousel-wrapper .controls {
  position: absolute;
  top: 50%;
  left: 3rem;
  right: 3rem;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
}
.sticky-text-img .row .img-carousel-wrapper .controls button {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}
.sticky-text-img .row .img-carousel-wrapper .controls button svg {
  width: 2.6rem;
  height: auto;
}
.sticky-text-img .row .img-carousel-wrapper .controls button svg path {
  fill: white;
}
@media screen and (max-width: 1439px) {
  .sticky-text-img .row .img-carousel-wrapper .controls button svg {
    width: 2.4rem;
  }
}
.sticky-text-img .row .img-carousel-wrapper .img-carousel .carousel-slide {
  width: 100%;
}
.sticky-text-img .row .img-carousel-wrapper .img-carousel .carousel-slide .img {
  position: relative;
}
.sticky-text-img .row .img-carousel-wrapper .img-carousel .carousel-slide .img img,
.sticky-text-img .row .img-carousel-wrapper .img-carousel .carousel-slide .img video {
  width: 100%;
  height: auto;
  display: block;
}
.sticky-text-img .row .img-carousel-wrapper .img-carousel .carousel-slide .img video.matched {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sticky-text-img .row .img-wrapper .img video {
  width: 100%;
  height: auto;
  display: block;
}
.sticky-text-img .row .img-wrapper .img button.volume,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume {
  position: absolute;
  width: 1.8rem;
  left: 2rem;
  bottom: 2rem;
  z-index: 3;
}
.sticky-text-img .row .img-wrapper .img button.volume svg,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume svg {
  width: 100%;
}
.sticky-text-img .row .img-wrapper .img button.volume svg path,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume svg path {
  fill: white;
  transition: opacity 0.3s ease;
}
.sticky-text-img .row .img-wrapper .img button.volume svg path.waves, .sticky-text-img .row .img-wrapper .img button.volume svg path.x,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume svg path.waves,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume svg path.x {
  stroke: white;
  stroke-width: 2;
  stroke-linecap: round;
  fill: none;
}
.sticky-text-img .row .img-wrapper .img button.volume svg path.waves,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume svg path.waves {
  opacity: 0;
}
.sticky-text-img .row .img-wrapper .img button.volume.unmuted svg path.waves,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume.unmuted svg path.waves {
  opacity: 1;
}
.sticky-text-img .row .img-wrapper .img button.volume.unmuted svg path.x,
.sticky-text-img .row .img-carousel .carousel-slide .img button.volume.unmuted svg path.x {
  opacity: 0;
}

.faqs h2 {
  font-size: 6rem;
  text-transform: none;
  font-family: "Bembo";
  letter-spacing: 0;
  margin-bottom: 0.9em;
}
@media screen and (max-width: 1599px) {
  .faqs h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 1439px) {
  .faqs h2 {
    margin-bottom: 0.8em;
  }
}
@media screen and (max-width: 767px) {
  .faqs h2 {
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 639px) {
  .faqs h2 {
    font-size: 5rem;
    line-height: 1.15;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 500px) {
  .faqs h2 {
    font-size: 3.8rem;
  }
}

ul.accordion {
  margin: 0;
  list-style: none;
  --width: 3rem;
}
@media screen and (max-width: 1023px) {
  ul.accordion {
    --width: 2.5rem;
  }
}
@media screen and (max-width: 639px) {
  ul.accordion {
    --width: 2rem;
  }
}
ul.accordion > li {
  border-top: 1px solid #868686;
}
ul.accordion > li:last-child {
  border-bottom: 1px solid #868686;
}
ul.accordion > li .accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 5rem 0;
}
@media screen and (max-width: 1439px) {
  ul.accordion > li .accordion-title {
    padding: 4rem 0;
  }
}
@media screen and (max-width: 767px) {
  ul.accordion > li .accordion-title {
    padding: 3.5rem 0;
  }
}
@media screen and (max-width: 639px) {
  ul.accordion > li .accordion-title {
    padding: 3rem 0;
  }
}
@media screen and (max-width: 500px) {
  ul.accordion > li .accordion-title {
    padding: 2.5rem 0;
  }
}
ul.accordion > li .accordion-title.active .toggle {
  opacity: 1;
  transform: rotate(135deg);
}
ul.accordion > li .accordion-title h3 {
  margin: 0;
  line-height: 1.25;
  font-size: 4rem;
  text-align: left;
  max-width: calc(100% - var(--width) - 2.5rem);
}
@media screen and (max-width: 1599px) {
  ul.accordion > li .accordion-title h3 {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 1439px) {
  ul.accordion > li .accordion-title h3 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 1023px) {
  ul.accordion > li .accordion-title h3 {
    font-size: 3rem;
  }
}
@media screen and (max-width: 639px) {
  ul.accordion > li .accordion-title h3 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 500px) {
  ul.accordion > li .accordion-title h3 {
    font-size: 2.5rem;
  }
}
ul.accordion > li .toggle {
  width: var(--width);
  aspect-ratio: 1/1;
  padding: 0;
  position: relative;
  opacity: 0.5;
  transition: all 0.3s ease;
  transform-origin: center center;
}
@media screen and (max-width: 1023px) {
  ul.accordion > li .toggle {
    opacity: 1;
  }
}
@media (hover: hover) {
  ul.accordion > li .toggle:hover {
    opacity: 1;
  }
}
ul.accordion > li .toggle::before, ul.accordion > li .toggle::after {
  position: absolute;
  content: "";
  background: black;
  border-radius: 1rem;
}
ul.accordion > li .toggle::before {
  top: 50%;
  transform: translate(0, -40%);
  left: 0;
  width: 100%;
  height: 0.25rem;
}
@media screen and (max-width: 500px) {
  ul.accordion > li .toggle::before {
    height: 0.15rem;
  }
}
ul.accordion > li .toggle::after {
  top: 0;
  left: 50%;
  width: 0.25rem;
  height: 100%;
  transform: translate(-50%, 0);
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 500px) {
  ul.accordion > li .toggle::after {
    width: 0.15rem;
  }
}
ul.accordion .accordion-content {
  font-size: 2rem;
  overflow: hidden;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 1599px) {
  ul.accordion .accordion-content {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 500px) {
  ul.accordion .accordion-content {
    font-size: 1.8rem;
  }
}
ul.accordion .accordion-content > p {
  margin: 0 0 1.5em;
}
ul.accordion .accordion-content > p:last-child {
  margin-bottom: 0;
}
ul.accordion .accordion-content ul {
  margin: 0;
  list-style: none;
}
ul.accordion .accordion-content ul li {
  margin-bottom: 2em;
}
ul.accordion .accordion-content ul li:last-child {
  margin-bottom: 0;
}
ul.accordion .accordion-content ul h4 {
  text-transform: uppercase;
  font-size: 1em;
  font-family: "Mark OT";
  font-weight: 400;
  margin: 0 0 0.5em;
}
ul.accordion .accordion-content ul p {
  margin: 0 0 1.5em;
  color: #565656;
  font-size: 1em;
}
ul.accordion .accordion-content ul p:last-child {
  margin-bottom: 0;
}

.logos h2 {
  font-family: "Mark OT";
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #000000;
  margin-bottom: 2em;
}
@media screen and (max-width: 500px) {
  .logos h2 {
    font-size: 1.7rem;
  }
}
.logos .logo-carousel-wrapper {
  position: relative;
}
.logos .logo-carousel-wrapper .controls {
  display: none;
  top: 50%;
  transform: translateY(-50%);
  justify-content: space-between;
  left: -3.5rem;
  position: absolute;
  right: -3.5rem;
}
@media screen and (max-width: 1439px) {
  .logos .logo-carousel-wrapper .controls {
    display: flex;
  }
}
@media screen and (max-width: 1279px) {
  .logos .logo-carousel-wrapper .controls {
    left: -2.5rem;
    right: -2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .logos .logo-carousel-wrapper .controls {
    left: -3rem;
    right: -3rem;
  }
}
@media screen and (max-width: 639px) {
  .logos .logo-carousel-wrapper .controls {
    left: -1.5rem;
    right: -1.5rem;
  }
}
@media screen and (max-width: 500px) {
  .logos .logo-carousel-wrapper .controls {
    left: 0;
    right: 0;
  }
}
.logos .logo-carousel-wrapper .controls button svg {
  width: 2.2rem;
  height: auto;
  opacity: 0.6;
}
.logos .logo-carousel-wrapper .controls button svg path {
  fill: black;
}
@media screen and (max-width: 1023px) {
  .logos .logo-carousel-wrapper .controls button svg {
    width: 2rem;
  }
}
.logos .logo-carousel-wrapper .logos-outer {
  display: flex;
  gap: 5rem;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 1439px) {
  .logos .logo-carousel-wrapper .logos-outer {
    gap: 0;
  }
}
.logos .logo-carousel-wrapper .logos-outer .logo-inner {
  flex: 1;
}
.logos .logo-carousel-wrapper .logos-outer .logo-inner img {
  width: 100%;
}
.logos .logo-carousel-wrapper .logos-outer.flickity-enabled {
  display: block;
}
.logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-viewport {
  overflow: hidden;
}
.logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-slider {
  align-items: center;
  display: flex;
}
.logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell,
.logos .logo-carousel-wrapper .logos-outer.flickity-enabled li {
  display: flex;
  align-items: center;
  width: 20%;
  padding: 0 4rem;
}
@media screen and (max-width: 1279px) {
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell,
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled li {
    width: 25%;
  }
}
@media screen and (max-width: 1023px) {
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell,
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled li {
    width: 33.333333%;
  }
}
@media screen and (max-width: 767px) {
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell,
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled li {
    padding: 0 3rem;
  }
}
@media screen and (max-width: 639px) {
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell,
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled li {
    width: 50%;
    padding: 0 4rem;
  }
}
@media screen and (max-width: 500px) {
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell,
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled li {
    width: 100%;
    padding: 0;
  }
}
.logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell img,
.logos .logo-carousel-wrapper .logos-outer.flickity-enabled li img {
  width: 100%;
}
@media screen and (max-width: 500px) {
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled .flickity-cell img,
  .logos .logo-carousel-wrapper .logos-outer.flickity-enabled li img {
    width: 65%;
    display: block;
    margin: 0 auto;
  }
}

.when-to-visit .visit-tabs section {
  display: none;
}
.when-to-visit .visit-tabs section:first-child {
  display: block;
}
.when-to-visit .control-bar {
  display: flex;
  justify-content: space-between;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #868686;
  align-items: flex-end;
  margin-bottom: 8rem;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .control-bar {
    margin-bottom: 7rem;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .control-bar {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .control-bar {
    display: block;
    padding-bottom: 0;
    border-bottom: 0;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .control-bar {
    margin-bottom: 5rem;
  }
}
.when-to-visit .control-bar h2 {
  font-size: 10rem;
  margin-right: 2rem;
  margin: 0;
  line-height: 1;
  letter-spacing: 0;
  font-family: "Bembo";
  text-transform: none;
}
@media screen and (max-width: 1919px) {
  .when-to-visit .control-bar h2 {
    font-size: 9rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .control-bar h2 {
    font-size: 7.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .control-bar h2 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .control-bar h2 {
    font-size: 7rem;
  }
}
.when-to-visit .control-bar .controls {
  display: flex;
  font-size: 1.5rem;
  gap: 2em;
  align-items: center;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .control-bar .controls {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .control-bar .controls {
    font-size: 2rem;
  }
}
.when-to-visit .control-bar .controls > button {
  display: flex;
  gap: 2rem;
}
.when-to-visit .control-bar ul.tabs button:not(.filter).active {
  color: black;
}
.when-to-visit .control-bar ul.tabs button:not(.filter).active::before {
  opacity: 1;
}
.when-to-visit .control-bar ul.tabs button:not(.filter).active svg path {
  stroke: black;
}
.when-to-visit .control-bar ul.tabs {
  display: flex;
  gap: 2em;
  margin: 0;
  list-style-type: none;
}
@media screen and (max-width: 767px) {
  .when-to-visit .control-bar ul.tabs {
    justify-content: space-between;
    font-size: 2rem;
    padding: 2.5rem 0 2.85rem;
    border-bottom: 1px solid #868686;
    border-top: 1px solid #868686;
    width: 100%;
    gap: 0;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .control-bar ul.tabs {
    font-size: 1.8rem;
    margin-top: 3.5rem;
    padding: 2.25rem 0 2.6rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .control-bar ul.tabs {
    font-size: 1.7rem;
    margin-top: 3rem;
    flex-wrap: wrap;
  }
}
.when-to-visit .control-bar ul.tabs button {
  text-transform: uppercase;
  color: #565656;
  font-family: "Mark OT";
  transition: color 0.3s ease;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.when-to-visit .control-bar ul.tabs button::before {
  position: absolute;
  width: 100%;
  left: 0;
  height: 1px;
  content: "";
  background: black;
  bottom: -0.5em;
  opacity: 0;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .when-to-visit .control-bar ul.tabs button::before {
    bottom: -0.4em;
  }
}
@media (hover: hover) {
  .when-to-visit .control-bar ul.tabs button:hover {
    color: black;
  }
  .when-to-visit .control-bar ul.tabs button:hover svg path {
    stroke: black;
  }
}
.when-to-visit .control-bar ul.tabs button svg {
  height: 1.8rem;
  pointer-events: none;
}
@media screen and (max-width: 500px) {
  .when-to-visit .control-bar ul.tabs button svg {
    height: 2.5rem;
  }
}
.when-to-visit .control-bar ul.tabs button svg path {
  stroke: #565656;
}
@media screen and (max-width: 500px) {
  .when-to-visit .control-bar ul.tabs li.filter-wrapper {
    width: 100%;
    padding-top: 2.25rem;
    margin-top: 2.65rem;
    border-top: 1px solid #868686;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .control-bar ul.tabs li.filter-wrapper button {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
}
.when-to-visit .visit-tabs section > div {
  display: grid;
  margin-bottom: 10rem;
  gap: 5rem;
}
@media screen and (max-width: 1599px) {
  .when-to-visit .visit-tabs section > div {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .when-to-visit .visit-tabs section > div {
    margin-bottom: 7rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section > div {
    gap: 4rem;
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section > div {
    display: block;
    margin-bottom: 10rem;
  }
}
.when-to-visit .visit-tabs section > div p {
  margin-top: 0;
}
.when-to-visit .visit-tabs section > div p:last-child {
  margin-bottom: 0;
}
.when-to-visit .visit-tabs section > div .img {
  position: relative;
  overflow: hidden;
}
.when-to-visit .visit-tabs section > div .img img {
  position: absolute;
  left: 0;
  width: 100%;
  height: 110%;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section > div .img img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.when-to-visit .visit-tabs section .intro {
  grid-template-columns: 2fr 1fr;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .intro {
    grid-template-columns: 1fr 1fr;
  }
}
.when-to-visit .visit-tabs section .intro .img {
  aspect-ratio: 16/9;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .intro .img {
    aspect-ratio: 5/4;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .intro .img {
    margin: 0 -6rem 6rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .when-to-visit .visit-tabs section .intro .img {
    margin: 0 -5rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .when-to-visit .visit-tabs section .intro .img {
    margin: 0 -4rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .when-to-visit .visit-tabs section .intro .img {
    margin: 0 -3.5rem 5rem;
    aspect-ratio: 4/5;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .intro .text {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .intro .text {
    padding-left: 0;
  }
}
.when-to-visit .visit-tabs section .intro .text h2 {
  font-size: 7rem;
  font-family: "Bembo";
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 0.33em;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  .when-to-visit .visit-tabs section .intro .text h2 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .intro .text h2 {
    font-size: 7rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .visit-tabs section .intro .text h2 {
    font-size: 6.5rem;
    margin-bottom: 0.4em;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .visit-tabs section .intro .text h2 {
    font-size: 6rem;
    margin-bottom: 0.45em;
  }
}
.when-to-visit .visit-tabs section .intro .text h3 {
  text-transform: uppercase;
  font-family: "Mark OT";
  font-size: 1.5rem;
  letter-spacing: 0;
  color: #565656;
  margin: 0 0 1.5em;
}
@media screen and (max-width: 1599px) {
  .when-to-visit .visit-tabs section .intro .text h3 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .intro .text h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .visit-tabs section .intro .text h3 {
    font-size: 1.8rem;
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .visit-tabs section .intro .text h3 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .intro.events .img {
    aspect-ratio: unset;
    height: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .intro.events .img {
    aspect-ratio: 1/1;
    height: unset;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .visit-tabs section .intro.events .img {
    aspect-ratio: 4/5;
  }
}
.when-to-visit .visit-tabs section .highlights h3,
.when-to-visit .visit-tabs section .weather h3,
.when-to-visit .visit-tabs section .activities h3 {
  font-size: 5.5rem;
  margin-bottom: 0.35em;
}
@media screen and (max-width: 1919px) {
  .when-to-visit .visit-tabs section .highlights h3,
  .when-to-visit .visit-tabs section .weather h3,
  .when-to-visit .visit-tabs section .activities h3 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 1439px) {
  .when-to-visit .visit-tabs section .highlights h3,
  .when-to-visit .visit-tabs section .weather h3,
  .when-to-visit .visit-tabs section .activities h3 {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .highlights h3,
  .when-to-visit .visit-tabs section .weather h3,
  .when-to-visit .visit-tabs section .activities h3 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .highlights h3,
  .when-to-visit .visit-tabs section .weather h3,
  .when-to-visit .visit-tabs section .activities h3 {
    font-size: 7rem;
    margin-bottom: 0.65em;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .visit-tabs section .highlights h3,
  .when-to-visit .visit-tabs section .weather h3,
  .when-to-visit .visit-tabs section .activities h3 {
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .visit-tabs section .highlights h3,
  .when-to-visit .visit-tabs section .weather h3,
  .when-to-visit .visit-tabs section .activities h3 {
    font-size: 6.5rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .visit-tabs section .highlights h3,
  .when-to-visit .visit-tabs section .weather h3,
  .when-to-visit .visit-tabs section .activities h3 {
    font-size: 6rem;
    margin-bottom: 0.45em;
  }
}
.when-to-visit .visit-tabs section .highlights {
  grid-template-columns: 4fr 5fr 3fr;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .highlights {
    grid-template-columns: 3.33fr 4.16fr 2.4fr;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .highlights .text:nth-child(2) p {
    margin-bottom: 1.5em;
  }
}
.when-to-visit .visit-tabs section .highlights .text:nth-child(2) .img {
  aspect-ratio: 1/0.7;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1919px) {
  .when-to-visit .visit-tabs section .highlights .text:nth-child(2) .img {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 1439px) {
  .when-to-visit .visit-tabs section .highlights .text:nth-child(2) .img {
    margin-bottom: 2.5rem;
  }
}
.when-to-visit .visit-tabs section .highlights > .img {
  aspect-ratio: 1/1.27;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .highlights > .img {
    aspect-ratio: 1/1.5;
  }
}
.when-to-visit .visit-tabs section .highlights .text:last-child .img {
  aspect-ratio: 1/1.34;
  margin-bottom: 3.5rem;
}
.when-to-visit .visit-tabs section .weather {
  grid-template-columns: 5fr 4fr 3fr;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .weather {
    grid-template-columns: 5fr 4fr;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .weather > .img {
    aspect-ratio: 1/1;
  }
}
.when-to-visit .visit-tabs section .weather .text .img {
  aspect-ratio: 1/0.75;
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 1919px) {
  .when-to-visit .visit-tabs section .weather .text .img {
    margin-bottom: 3.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .weather .text .img {
    aspect-ratio: 5/3;
  }
}
.when-to-visit .visit-tabs section .weather .graphic-wrapper {
  position: relative;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .weather .graphic-wrapper {
    display: none;
  }
}
.when-to-visit .visit-tabs section .weather .graphic-wrapper .graphic {
  position: absolute;
  width: 100%;
}
.when-to-visit .visit-tabs section .activities {
  grid-template-columns: 7fr 7fr 9fr;
}
@media screen and (max-width: 1599px) {
  .when-to-visit .visit-tabs section .activities {
    grid-template-columns: 6fr 7fr 9fr;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .visit-tabs section .activities {
    grid-template-columns: 3.33fr 2.5fr 4fr;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .highlights > .text > .img,
  .when-to-visit .visit-tabs section .highlights > .img,
  .when-to-visit .visit-tabs section .weather > .text > .img,
  .when-to-visit .visit-tabs section .weather > .img,
  .when-to-visit .visit-tabs section .activities > .text > .img,
  .when-to-visit .visit-tabs section .activities > .img {
    display: none;
  }
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap {
  display: none;
}
@media screen and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .highlights .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .weather .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .activities .mobile-slider-wrap {
    display: block;
    position: relative;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .when-to-visit .visit-tabs section .highlights .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .weather .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .activities .mobile-slider-wrap {
    margin: 0 -6rem 6rem;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .when-to-visit .visit-tabs section .highlights .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .weather .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .activities .mobile-slider-wrap {
    margin: 0 -5rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .when-to-visit .visit-tabs section .highlights .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .weather .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .activities .mobile-slider-wrap {
    margin: 0 -4rem 6rem;
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .when-to-visit .visit-tabs section .highlights .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .weather .mobile-slider-wrap,
  .when-to-visit .visit-tabs section .activities .mobile-slider-wrap {
    margin: 0 -3.5rem 5rem;
    aspect-ratio: 4/5;
  }
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-slider-track,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-slider-track,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-slider-track {
  height: 100%;
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-slider-track .img,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-slider-track .img,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-slider-track .img {
  position: absolute;
  width: 100%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 500px) {
  .when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-slider-track .img,
  .when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-slider-track .img,
  .when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-slider-track .img {
    aspect-ratio: 4/5;
  }
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 1;
  padding: 0 2.5rem;
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .prev,
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .next,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .prev,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .next,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .prev,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .next {
  pointer-events: auto;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .prev svg,
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .next svg,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .prev svg,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .next svg,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .prev svg,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .next svg {
  display: block;
  width: var(--carousel-arrow-size);
  height: auto;
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .prev svg path,
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .next svg path,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .prev svg path,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .next svg path,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .prev svg path,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .next svg path {
  fill: white;
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .next,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .next,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .next {
  margin-left: auto;
}
.when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .count,
.when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .count,
.when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  display: flex;
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 500px) {
  .when-to-visit .visit-tabs section .highlights .mobile-slider-wrap .mobile-controls .count,
  .when-to-visit .visit-tabs section .weather .mobile-slider-wrap .mobile-controls .count,
  .when-to-visit .visit-tabs section .activities .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}
.when-to-visit .events-wrapper,
.when-to-visit .filtered-results {
  gap: 8rem;
  display: grid;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper,
  .when-to-visit .filtered-results {
    gap: 7rem;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .events-wrapper,
  .when-to-visit .filtered-results {
    gap: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper,
  .when-to-visit .filtered-results {
    gap: 9rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper,
  .when-to-visit .filtered-results {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .month-group,
  .when-to-visit .filtered-results .month-group {
    padding-top: 7.5rem;
    border-top: 1px solid #868686;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .month-group:first-child,
  .when-to-visit .filtered-results .month-group:first-child {
    padding-top: 0;
    border-top: 0;
  }
}
.when-to-visit .events-wrapper:last-child,
.when-to-visit .filtered-results:last-child {
  margin-bottom: 0;
}
.when-to-visit .events-wrapper h3,
.when-to-visit .filtered-results h3 {
  font-size: 6rem;
  margin-bottom: 0.75em;
}
@media screen and (max-width: 1023px) {
  .when-to-visit .events-wrapper h3,
  .when-to-visit .filtered-results h3 {
    font-size: 5.4rem;
  }
}
.when-to-visit .events-wrapper button.month-filter-btn,
.when-to-visit .filtered-results button.month-filter-btn {
  font-size: 6rem;
  margin-bottom: 0.75em;
  font-family: "Bembo";
  letter-spacing: 0;
  text-transform: none;
  display: block;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 0.06em;
  text-underline-offset: 0.06em;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper button.month-filter-btn,
  .when-to-visit .filtered-results button.month-filter-btn {
    font-size: 5.5rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper button.month-filter-btn,
  .when-to-visit .filtered-results button.month-filter-btn {
    font-size: 5rem;
  }
}
.when-to-visit .events-wrapper .event,
.when-to-visit .filtered-results .event {
  padding: 0 0 0.8rem;
}
.when-to-visit .events-wrapper .event a.img-wrapper,
.when-to-visit .filtered-results .event a.img-wrapper {
  display: block;
  aspect-ratio: 1/1.3;
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event a.img-wrapper,
  .when-to-visit .filtered-results .event a.img-wrapper {
    aspect-ratio: 1/1;
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event a.img-wrapper,
  .when-to-visit .filtered-results .event a.img-wrapper {
    aspect-ratio: 4/5;
    margin-bottom: 5rem;
  }
}
.when-to-visit .events-wrapper .event a.img-wrapper img,
.when-to-visit .filtered-results .event a.img-wrapper img {
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event a.img-wrapper img,
  .when-to-visit .filtered-results .event a.img-wrapper img {
    height: 100%;
    -o-object-position: center;
       object-position: center;
  }
}
.when-to-visit .events-wrapper .event .text,
.when-to-visit .filtered-results .event .text {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event .text,
  .when-to-visit .filtered-results .event .text {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event .text,
  .when-to-visit .filtered-results .event .text {
    padding: 0 3rem;
  }
}
.when-to-visit .events-wrapper .event .event-info,
.when-to-visit .filtered-results .event .event-info {
  display: flex;
  flex-direction: column;
}
.when-to-visit .events-wrapper .event .event-info h4,
.when-to-visit .filtered-results .event .event-info h4 {
  order: 1;
  text-transform: uppercase;
  font-family: "Mark OT";
  font-size: 1.5rem;
  margin: 0 0 1em;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .event .event-info h4,
  .when-to-visit .filtered-results .event .event-info h4 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .events-wrapper .event .event-info h4,
  .when-to-visit .filtered-results .event .event-info h4 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event .event-info h4,
  .when-to-visit .filtered-results .event .event-info h4 {
    font-size: 1.8rem;
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event .event-info h4,
  .when-to-visit .filtered-results .event .event-info h4 {
    font-size: 1.7rem;
  }
}
.when-to-visit .events-wrapper .event .event-info a,
.when-to-visit .filtered-results .event .event-info a {
  text-decoration: none;
  order: 2;
}
.when-to-visit .events-wrapper .event .event-info a h3,
.when-to-visit .filtered-results .event .event-info a h3 {
  font-size: 3rem;
  margin: 0 0 0.5em;
  font-family: "Bembo";
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .event .event-info a h3,
  .when-to-visit .filtered-results .event .event-info a h3 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .events-wrapper .event .event-info a h3,
  .when-to-visit .filtered-results .event .event-info a h3 {
    font-size: 3rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event .event-info a h3,
  .when-to-visit .filtered-results .event .event-info a h3 {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event .event-info a h3,
  .when-to-visit .filtered-results .event .event-info a h3 {
    font-size: 4rem;
  }
}
.when-to-visit .events-wrapper .event .event-info .time-wrapper,
.when-to-visit .filtered-results .event .event-info .time-wrapper {
  order: 3;
  font-size: 1.5rem;
  font-family: "Mark OT";
  color: #565656;
  margin-bottom: 1.25em;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .event .event-info .time-wrapper,
  .when-to-visit .filtered-results .event .event-info .time-wrapper {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .events-wrapper .event .event-info .time-wrapper,
  .when-to-visit .filtered-results .event .event-info .time-wrapper {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event .event-info .time-wrapper,
  .when-to-visit .filtered-results .event .event-info .time-wrapper {
    font-size: 2rem;
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event .event-info .time-wrapper,
  .when-to-visit .filtered-results .event .event-info .time-wrapper {
    font-size: 1.75rem;
  }
}
.when-to-visit .events-wrapper .event a.arrow-link,
.when-to-visit .filtered-results .event a.arrow-link {
  text-decoration: none;
  font-size: 2rem;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .event a.arrow-link,
  .when-to-visit .filtered-results .event a.arrow-link {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .events-wrapper .event a.arrow-link,
  .when-to-visit .filtered-results .event a.arrow-link {
    font-size: 2rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event a.arrow-link,
  .when-to-visit .filtered-results .event a.arrow-link {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event a.arrow-link,
  .when-to-visit .filtered-results .event a.arrow-link {
    font-size: 2rem;
  }
}
.when-to-visit .events-wrapper .event a.arrow-link span::after,
.when-to-visit .filtered-results .event a.arrow-link span::after {
  bottom: -0.15rem;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .event a.arrow-link span::after,
  .when-to-visit .filtered-results .event a.arrow-link span::after {
    bottom: -0.2rem;
  }
}
.when-to-visit .events-wrapper .event-carousel-wrapper,
.when-to-visit .filtered-results .event-carousel-wrapper {
  margin: 0 -3rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper,
  .when-to-visit .filtered-results .event-carousel-wrapper {
    margin: 0 -2.5rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper,
  .when-to-visit .filtered-results .event-carousel-wrapper {
    margin: 0 -4rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper,
  .when-to-visit .filtered-results .event-carousel-wrapper {
    margin: 0 -3.5rem;
    width: calc(100% + 7rem);
  }
}
.when-to-visit .events-wrapper .event-carousel-wrapper .controls,
.when-to-visit .filtered-results .event-carousel-wrapper .controls {
  position: absolute;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  top: 37.5%;
  left: -4rem;
  right: -4rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1599px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls {
    left: -2.5rem;
    right: -2.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls {
    left: -1.5rem;
    right: -1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls {
    left: -1rem;
    right: -1rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls {
    aspect-ratio: 1/1;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 2.5rem;
    transform: none;
    z-index: 3;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls {
    aspect-ratio: 4/5;
  }
}
.when-to-visit .events-wrapper .event-carousel-wrapper .controls .count,
.when-to-visit .filtered-results .event-carousel-wrapper .controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: var(--carousel-count-size);
  font-weight: var(--carousel-count-weight);
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
  display: none;
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls .count,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls .count {
    display: flex;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls .count,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls .count {
    bottom: 2.5rem;
  }
}
.when-to-visit .events-wrapper .event-carousel-wrapper .controls button,
.when-to-visit .filtered-results .event-carousel-wrapper .controls button {
  pointer-events: all;
  width: 2.6rem;
}
@media screen and (max-width: 1023px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls button,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls button {
    width: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls button,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls button {
    width: 2rem;
  }
}
.when-to-visit .events-wrapper .event-carousel-wrapper .controls button svg,
.when-to-visit .filtered-results .event-carousel-wrapper .controls button svg {
  opacity: 0.6;
}
.when-to-visit .events-wrapper .event-carousel-wrapper .controls button svg path,
.when-to-visit .filtered-results .event-carousel-wrapper .controls button svg path {
  fill: black;
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls button svg,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls button svg {
    opacity: 1;
  }
  .when-to-visit .events-wrapper .event-carousel-wrapper .controls button svg path,
  .when-to-visit .filtered-results .event-carousel-wrapper .controls button svg path {
    fill: white;
  }
}
.when-to-visit .events-wrapper .event-carousel-wrapper .event,
.when-to-visit .filtered-results .event-carousel-wrapper .event {
  width: 25%;
  padding: 0 3rem 0.8rem;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .event,
  .when-to-visit .filtered-results .event-carousel-wrapper .event {
    width: 33.333%;
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .event,
  .when-to-visit .filtered-results .event-carousel-wrapper .event {
    width: 50%;
    padding: 0 2.5rem 0.8rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .event-carousel-wrapper .event,
  .when-to-visit .filtered-results .event-carousel-wrapper .event {
    width: 100%;
    padding: 0 0 0.8rem;
  }
}
.when-to-visit .events-wrapper .events-grid,
.when-to-visit .filtered-results .events-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6rem;
}
@media screen and (max-width: 1279px) {
  .when-to-visit .events-wrapper .events-grid,
  .when-to-visit .filtered-results .events-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 1023px) {
  .when-to-visit .events-wrapper .events-grid,
  .when-to-visit .filtered-results .events-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }
}
@media screen and (max-width: 639px) {
  .when-to-visit .events-wrapper .events-grid,
  .when-to-visit .filtered-results .events-grid {
    margin: 0 -4rem;
    grid-template-columns: repeat(1, 1fr);
    width: calc(100% + 8rem);
    gap: 9.5rem;
  }
}
@media screen and (max-width: 500px) {
  .when-to-visit .events-wrapper .events-grid,
  .when-to-visit .filtered-results .events-grid {
    margin: 0 -3.5rem;
    width: calc(100% + 7rem);
    gap: 7.5rem;
  }
}

.festival-archive .control-bar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 8rem;
  border-bottom: 1px solid #868686;
  padding-bottom: 3rem;
}
@media screen and (max-width: 1919px) {
  .festival-archive .control-bar {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 639px) {
  .festival-archive .control-bar {
    display: block;
    padding-bottom: 0;
    margin-bottom: 5rem;
    border-bottom: 0;
  }
}
.festival-archive .control-bar h2 {
  font-family: "Bembo";
  font-size: 6rem;
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
}
@media screen and (max-width: 1439px) {
  .festival-archive .control-bar h2 {
    font-size: 5.4rem;
  }
}
@media screen and (max-width: 639px) {
  .festival-archive .control-bar h2 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 500px) {
  .festival-archive .control-bar h2 {
    font-size: 4rem;
  }
}
.festival-archive .control-bar .filter-wrapper .form-group {
  position: relative;
}
.festival-archive .control-bar .filter-wrapper .select-wrapper {
  position: relative;
}
.festival-archive .control-bar .filter-wrapper .select-wrapper select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  border: none;
  font-family: "Mark OT";
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #565656;
  cursor: pointer;
  padding-right: 2rem;
  text-align: right;
}
.festival-archive .control-bar .filter-wrapper .select-wrapper select:focus {
  outline: none;
}
.festival-archive .control-bar .filter-wrapper .select-wrapper select option {
  color: black;
}
.festival-archive .control-bar .filter-wrapper .select-wrapper::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  width: 1rem;
  height: 1rem;
  background: url("/wp-content/themes/the-fife-arms/assets/src/img/next-1.png") no-repeat center;
  background-size: contain;
  opacity: 0.5;
  pointer-events: none;
  transition: transform 0.3s ease;
}
.festival-archive .control-bar .filter-wrapper .select-wrapper:has(.custom-select-wrapper)::after {
  display: none;
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-trigger {
  font-family: "Mark OT";
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #565656;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  transition: color 0.3s ease;
}
@media screen and (max-width: 639px) {
  .festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-trigger {
    justify-content: space-between;
    font-size: 1.75rem;
    border-bottom: 1px solid #868686;
    border-top: 1px solid #868686;
    padding: 2rem 0;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-trigger {
    margin-top: 3rem;
  }
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-trigger::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: url("/wp-content/themes/the-fife-arms/assets/src/img/next-1.png") no-repeat center;
  background-size: contain;
  opacity: 0.5;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 639px) {
  .festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-trigger::after {
    width: 1.8rem;
    height: 1.8rem;
    opacity: 1;
  }
}
@media (hover: hover) {
  .festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-trigger:hover {
    color: black;
  }
  .festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-trigger:hover::after {
    opacity: 1;
  }
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper.is-open .custom-select-trigger::after {
  transform: rotate(-90deg);
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-dropdown {
  left: 0;
  width: 100%;
  background: white;
  border-radius: 0;
  border: none;
  top: 1.5rem;
  font-family: "Mark OT";
  font-size: 1.5rem;
}
@media screen and (max-width: 639px) {
  .festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-dropdown {
    top: 100%;
    font-size: 1.8rem;
    margin-top: 0;
    text-align: center;
  }
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-dropdown button {
  text-align: center;
}
@media screen and (max-width: 639px) {
  .festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-dropdown button {
    padding: 0.33em 0;
  }
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-dropdown button span {
  position: relative;
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-dropdown button span::before {
  position: absolute;
  left: 0;
  bottom: -0.1em;
  width: 100%;
  height: 1px;
  background: black;
  content: "";
  opacity: 0;
  transition: opacity 0.3s ease;
}
.festival-archive .control-bar .filter-wrapper .custom-select-wrapper .custom-select-dropdown button.active span::before {
  opacity: 1;
}
.festival-archive .archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 10rem;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}
@media screen and (max-width: 1919px) {
  .festival-archive .archive-grid {
    row-gap: 8rem;
  }
}
@media screen and (max-width: 1439px) {
  .festival-archive .archive-grid {
    row-gap: 7rem;
  }
}
@media screen and (max-width: 1279px) {
  .festival-archive .archive-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .festival-archive .archive-grid {
    grid-template-columns: 1fr;
    row-gap: 10rem;
  }
}
.festival-archive .archive-grid .archive-card {
  display: flex;
  flex-direction: column;
}
.festival-archive .archive-grid .archive-card .arrow-link {
  margin-top: auto;
}
.festival-archive .archive-grid .archive-card .img {
  position: relative;
  aspect-ratio: 1/1;
  display: block;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .festival-archive .archive-grid .archive-card .img {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 639px) {
  .festival-archive .archive-grid .archive-card .img {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 500px) {
  .festival-archive .archive-grid .archive-card .img {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
    aspect-ratio: 4/5;
  }
}
.festival-archive .archive-grid .archive-card .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.festival-archive .archive-grid .archive-card h3 {
  font-size: 3rem;
  margin-bottom: 1em;
  line-height: 1.333333;
  text-wrap: unset;
}
@media screen and (max-width: 767px) {
  .festival-archive .archive-grid .archive-card h3 {
    font-size: 3.6rem;
  }
}

.programme ul.tabs {
  display: flex;
  justify-content: center;
  margin: 0;
  list-style: none;
  gap: var(--small-spacing);
  margin-bottom: var(--small-spacing);
}
.programme ul.tabs li button {
  font-size: 1.8rem;
  text-transform: uppercase;
  font-family: "Mark OT";
  letter-spacing: 0.05em;
  border-bottom: 1px solid transparent;
  padding-bottom: 0.5em;
  color: #565656;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .programme ul.tabs li button:hover {
    color: black;
  }
}
.programme ul.tabs li button.active {
  border-bottom: 1px solid black;
  color: black;
}
.programme .event-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--small-spacing);
}
.programme .event-grid .event .img {
  display: block;
  aspect-ratio: 1/0.7;
  overflow: hidden;
  position: relative;
  margin-bottom: 2.5rem;
}
.programme .event-grid .event .img img {
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  bottom: 0;
  left: 0;
}
.programme .event-grid .event .details {
  display: flex;
  gap: 4rem;
  margin-bottom: 3rem;
}
.programme .event-grid .event .details p {
  text-transform: uppercase;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  color: #565656;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin: 0;
}
.programme .event-grid .event .details p img {
  height: 1em;
}
.programme .event-grid .event h3 {
  font-size: 4rem;
  line-height: 1.35;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1919px) {
  .programme .event-grid .event h3 {
    font-size: 3.8rem;
  }
}
.programme .event-grid .event p {
  margin: 0 0 2.5em;
}
.programme .event-grid .event ul {
  list-style-type: none;
  display: flex;
  margin: 0;
  gap: var(--small-spacing);
  justify-content: flex-start;
}

.hover-grid.listing {
  position: relative;
  margin-bottom: 0;
  background: white;
  --height: 60%;
  --top: 53%;
  --width: 65%;
  padding-bottom: 65px;
}
@media screen and (max-width: 639px) {
  .hover-grid.listing {
    --top: 55%;
  }
}
@media screen and (max-width: 500px) {
  .hover-grid.listing {
    padding-bottom: 57px;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing.title {
    border-bottom: 1px solid #868686;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing.title .control-wrapper {
    width: 100%;
  }
}
.hover-grid.listing.title .control-wrapper .controls {
  border: 1px solid #868686;
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing.title .control-wrapper .controls {
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
  }
}
.hover-grid.listing.title .card {
  border-bottom: 1px solid #868686;
  border-right: 1px solid #868686;
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing.title .card:nth-child(odd) {
    border-right: 0;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing.title .card:last-child, .hover-grid.listing.title .card:nth-last-child(2) {
    border-bottom: 0;
  }
}
.hover-grid.listing.title .card h4 {
  color: black;
}
.hover-grid.listing.title .card .img {
  width: var(--width);
  height: 59%;
}
@media screen and (max-width: 1599px) {
  .hover-grid.listing.title .card .img {
    height: 61%;
    transform: translate(-50%, -51.5%);
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid.listing.title .card .img {
    height: 58%;
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid.listing.title .card .img {
    height: var(--height);
    top: var(--top);
  }
}
.hover-grid.listing.title .card .img:before {
  opacity: 0;
}
.hover-grid.listing.title .card .img img {
  transform: scale(1.4);
}
.hover-grid.listing.title .card .text .arrow-link {
  color: black;
}
.hover-grid.listing.title .card .text .arrow-link span::after {
  background: black;
}
.hover-grid.listing .card {
  background: white;
}
.hover-grid.listing .card:hover h4 {
  color: black;
}
.hover-grid.listing .card:hover .img {
  width: var(--width);
}
@media screen and (max-width: 1279px) {
  .hover-grid.listing .card:hover .img {
    height: var(--height);
    top: var(--top);
  }
}
.hover-grid.listing .card:hover .text .arrow-link {
  color: black;
}
.hover-grid.listing .card:hover .text .arrow-link span::after {
  background: black;
}
@media screen and (max-width: 500px) {
  .hover-grid.listing .card h4 {
    top: 1.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid.listing .card .text {
    bottom: 3.5rem;
    top: unset;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing .card .text {
    bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .hover-grid.listing .card .text {
    bottom: 4rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-grid.listing .card .text {
    display: block;
    bottom: 3rem;
  }
}
@media screen and (max-width: 500px) {
  .hover-grid.listing .card .text {
    bottom: 2rem;
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid.listing .card .text p {
    display: none;
  }
}
@media screen and (max-width: 1279px) {
  .hover-grid.listing .card .text .arrow-link {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing .card .text .arrow-link {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .hover-grid.listing .card .text .arrow-link {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 639px) {
  .hover-grid.listing .card .text .arrow-link {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .hover-grid.listing .card .text .arrow-link {
    font-size: 1.8rem;
  }
}
.hover-grid.listing {
  --control-bottom: 10rem;
}
@media screen and (max-width: 1919px) {
  .hover-grid.listing {
    --control-bottom: 8rem;
  }
}
@media screen and (max-width: 1599px) {
  .hover-grid.listing {
    --control-bottom: 6rem;
  }
}
@media screen and (max-width: 1439px) {
  .hover-grid.listing {
    --control-bottom: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing {
    --control-bottom: 0px;
  }
}
.hover-grid.listing .control-wrapper {
  width: 25%;
  bottom: var(--control-bottom);
  z-index: 99;
  right: 0;
  display: flex;
  justify-content: center;
  position: fixed;
}
@media screen and (max-width: 1279px) {
  .hover-grid.listing .control-wrapper {
    width: calc(25% + 1px);
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing .control-wrapper {
    width: 50%;
  }
}
@media screen and (max-width: 500px) {
  .hover-grid.listing .control-wrapper {
    width: 100%;
  }
}
.hover-grid.listing .control-wrapper .controls {
  background: white;
  display: flex;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  font-family: "Mark OT";
  text-transform: uppercase;
  font-weight: 500;
  gap: 4rem;
  line-height: 1;
  padding: 3rem;
  transition: border 0.3s ease;
}
@media screen and (max-width: 1919px) {
  .hover-grid.listing .control-wrapper .controls {
    gap: 3rem;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing .control-wrapper .controls {
    width: 100%;
    padding-bottom: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .hover-grid.listing .control-wrapper .controls {
    justify-content: center;
  }
}
@media screen and (max-width: 500px) {
  .hover-grid.listing .control-wrapper .controls {
    padding: 2.5rem 0 2rem;
  }
}
.hover-grid.listing .control-wrapper .controls button {
  text-transform: uppercase;
  font-weight: 500;
  border-bottom: 1px solid rgba(0, 0, 0, 0);
  padding-bottom: 0.5em;
  color: #565656;
  transition: all 0.3s ease;
}
.hover-grid.listing .control-wrapper .controls button:hover, .hover-grid.listing .control-wrapper .controls button.active {
  color: black;
  border-bottom: 1px solid black;
}

.single-post .page-modules .hero .line-container {
  width: 100%;
}
.single-post .page-modules .hero .line-container .line {
  justify-content: center;
}
.single-post .page-modules .hero .line-container .line h1 {
  font-size: 14rem;
  text-align: center;
}

.experience {
  padding-bottom: var(--large-spacing);
}
.experience .row {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 1279px) {
  .experience .row {
    display: block;
  }
}
.experience .row .text {
  position: sticky;
  transition: top 0.15s ease;
  overflow: hidden;
  padding-top: 3rem;
  width: calc(33.3333333333% - 5rem);
  padding-right: 5rem;
  margin-right: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 1919px) {
  .experience .row .text {
    width: calc(33.3333333333% - 3.5rem);
    padding-right: 3.5rem;
    margin-right: 3.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .experience .row .text {
    width: 100%;
    position: static;
    max-height: unset !important;
    margin-right: 0;
    padding-right: 0;
    padding-top: 3.5rem;
    padding-bottom: 5rem;
    border-bottom: 1px solid #898989;
    margin-bottom: 6rem;
    overflow: unset;
    padding-top: 4rem;
  }
}
@media screen and (max-width: 639px) {
  .experience .row .text {
    padding-top: 3.5rem;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .text {
    padding-bottom: 4rem;
    margin-bottom: 5rem;
  }
}
.experience .row .text ul.breadcrumb {
  display: flex;
  gap: 1.5rem;
  list-style-type: none;
  text-transform: uppercase;
  font-size: 1.5rem;
  letter-spacing: 0;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1279px) {
  .experience .row .text ul.breadcrumb {
    margin-bottom: 3.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .experience .row .text ul.breadcrumb {
    border-bottom: 1px solid #898989;
    padding-bottom: 2.5rem;
    margin-bottom: 5rem;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 639px) {
  .experience .row .text ul.breadcrumb {
    padding-bottom: 2rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .text ul.breadcrumb {
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
  }
}
.experience .row .text ul.breadcrumb li a {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  text-decoration: none;
  color: black;
}
.experience .row .text ul.breadcrumb li a img {
  width: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .experience .row .text ul.breadcrumb li a img {
    width: 1.6rem;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .text ul.breadcrumb li a img {
    width: 1.4rem;
  }
}
.experience .row .text > .img {
  display: none;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: calc(var(--small-spacing) - 1rem);
}
@media screen and (max-width: 1279px) {
  .experience .row .text > .img {
    display: block;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .experience .row .text > .img {
    margin: 0 -6rem 6rem;
    width: calc(100% + 12rem);
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .experience .row .text > .img {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .experience .row .text > .img {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .experience .row .text > .img {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
    aspect-ratio: 4/5;
  }
}
.experience .row .text > .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .experience .row .text > .img img {
    height: 100%;
  }
}
.experience .row .text > .img.video {
  aspect-ratio: unset;
}
.experience .row .text > .img.video video {
  width: 100%;
}
.experience .row .text > .img.video video::-webkit-media-controls-timeline {
  display: none;
}
.experience .row .text h1 {
  font-size: 5.5rem;
  line-height: 1.1;
  font-weight: 400;
  margin: 0 0 1em;
}
@media screen and (max-width: 1919px) {
  .experience .row .text h1 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 1599px) {
  .experience .row .text h1 {
    margin-bottom: 0.75em;
  }
}
@media screen and (max-width: 639px) {
  .experience .row .text h1 {
    margin-bottom: 0.66em;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .text h1 {
    font-size: 5.5rem;
    line-height: 1.2;
  }
}
.experience .row .text ul.icons {
  list-style: none;
  margin: 0 0 5rem;
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #565656;
  font-family: "Mark OT";
  line-height: 2.5;
}
@media screen and (max-width: 1919px) {
  .experience .row .text ul.icons {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 1599px) {
  .experience .row .text ul.icons {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .text ul.icons {
    font-size: 1.7rem;
  }
}
.experience .row .text ul.icons:last-child {
  margin-bottom: 0;
}
.experience .row .text ul.icons li {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.experience .row .text ul.icons li img,
.experience .row .text ul.icons li svg {
  width: 2.1rem;
  height: auto;
}
@media screen and (max-width: 500px) {
  .experience .row .text ul.icons li img,
  .experience .row .text ul.icons li svg {
    width: 2rem;
  }
}
.experience .row .text ul.icons li img path,
.experience .row .text ul.icons li svg path {
  fill: #565656;
}
.experience .row .text a.cta {
  border: 1px solid black;
  transition: all 0.3s ease;
}
.experience .row .text a.cta:hover {
  background: transparent;
  clor: black;
}
.experience .row .booking {
  width: 66.666666666%;
}
@media screen and (max-width: 1279px) {
  .experience .row .booking {
    width: 100%;
  }
}
@media screen and (max-width: 1279px) {
  .experience .row .booking .booking-inner {
    width: 100% !important;
  }
}
.experience .row .booking .booking-inner > .img {
  position: relative;
  aspect-ratio: 1/0.7;
  overflow: hidden;
  margin-bottom: var(--small-spacing);
}
@media screen and (max-width: 1279px) {
  .experience .row .booking .booking-inner > .img {
    display: none;
  }
}
.experience .row .booking .booking-inner > .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
}
.experience .row .booking .booking-inner > .img.video {
  aspect-ratio: unset;
}
.experience .row .booking .booking-inner > .img.video video {
  width: 100%;
}
.experience .row .booking .booking-inner > .img.video video::-webkit-media-controls-timeline {
  display: none;
}
.experience .row .booking .booking-inner .form-wrapper,
.experience .row .booking .booking-inner .further-info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10rem;
}
@media screen and (max-width: 1599px) {
  .experience .row .booking .booking-inner .form-wrapper,
  .experience .row .booking .booking-inner .further-info {
    gap: 7.5rem;
  }
}
@media screen and (max-width: 1279px) {
  .experience .row .booking .booking-inner .form-wrapper,
  .experience .row .booking .booking-inner .further-info {
    gap: 6rem;
  }
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .form-wrapper,
  .experience .row .booking .booking-inner .further-info {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.experience .row .booking .booking-inner .form-wrapper h2,
.experience .row .booking .booking-inner .further-info h2 {
  font-size: 5.5rem;
  font-family: "Bembo";
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
}
@media screen and (max-width: 1919px) {
  .experience .row .booking .booking-inner .form-wrapper h2,
  .experience .row .booking .booking-inner .further-info h2 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .form-wrapper h2,
  .experience .row .booking .booking-inner .further-info h2 {
    margin-bottom: 0.33em;
  }
}
.experience .row .booking .booking-inner .form-wrapper .img,
.experience .row .booking .booking-inner .further-info .img {
  overflow: hidden;
  position: relative;
}
.experience .row .booking .booking-inner .form-wrapper .img img,
.experience .row .booking .booking-inner .further-info .img img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .form-wrapper .img img,
  .experience .row .booking .booking-inner .further-info .img img {
    height: 100%;
  }
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap {
  display: none;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap {
    display: block;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap {
    margin: 0 -6rem 6rem;
    width: calc(100% + 12rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap {
    margin: 0 -5rem 6rem;
    width: calc(100% + 10rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 639px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap {
    margin: 0 -4rem 6rem;
    width: calc(100% + 8rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 500px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap {
    margin: 0 -3.5rem 5rem;
    width: calc(100% + 7rem);
  }
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap.single .mobile-controls {
  display: none;
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 1;
  padding: 0 2.5rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 500px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls {
    aspect-ratio: 4/5;
  }
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .prev,
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .next {
  pointer-events: auto;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .prev svg,
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .next svg {
  display: block;
  width: var(--carousel-arrow-size);
  height: auto;
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .prev svg path,
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .next svg path {
  fill: white;
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .next {
  margin-left: auto;
}
.experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .count {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: auto;
  font-size: 2.2rem;
  display: flex;
  gap: 0.2em;
  font-family: "Bembo";
  color: #fff;
  white-space: nowrap;
}
@media screen and (max-width: 639px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .count {
    font-size: 2rem;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-wrap .mobile-controls .count {
    bottom: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .further-info-wrapper .mobile-slider-track .further-info {
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .form-wrapper {
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .form-wrapper .img {
    display: none;
  }
}
.experience .row .booking .booking-inner .form-wrapper .form p {
  font-family: "Bembo";
  color: #565656;
  margin: 0 0 2.5em;
  font-size: 1.8rem;
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .form-wrapper .form p {
    font-size: 2rem;
    margin-bottom: 2em;
  }
}
.experience .row .booking .booking-inner .form-wrapper .form form {
  font-size: 2.3rem;
  --width: 9rem;
}
@media screen and (max-width: 500px) {
  .experience .row .booking .booking-inner .form-wrapper .form form {
    font-size: 2.1rem;
  }
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-response-message {
  display: none !important;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-row:nth-child(8) .forminator-field,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-row:nth-child(9) .forminator-field,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-row:nth-child(10) .forminator-field,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-row:nth-child(11) .forminator-field,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-row-last .forminator-field {
  padding-bottom: 0;
  border-bottom: 0;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-row-last .forminator-field {
  margin-bottom: 0;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field {
  border-bottom: 1px solid rgba(134, 134, 134, 0.4);
  padding-bottom: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  align-items: center;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field label {
  width: var(--width);
  margin: 0;
  font-family: "Mark OT";
  text-transform: uppercase;
  font-size: 1.6rem;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field label .forminator-required {
  display: none;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input {
  width: calc(100% - var(--width));
  height: 4rem;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input::-moz-placeholder {
  color: black;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input::placeholder {
  color: black;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field textarea {
  background: transparent;
  font-family: "Bembo";
  color: black;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input:focus,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field textarea:focus {
  outline: none;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input[type=number],
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field textarea[type=number] {
  text-align: center;
  -moz-appearance: textfield;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input[type=number]::-webkit-outer-spin-button, .experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input[type=number]::-webkit-inner-spin-button,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field textarea[type=number]::-webkit-outer-spin-button,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field textarea[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field input.forminator-datepicker,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field textarea.forminator-datepicker {
  text-align: right;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field textarea {
  border: 1px solid rgba(134, 134, 134, 0.4);
  resize: none;
  display: block;
  width: 100%;
  border-radius: 0.5rem;
  margin-top: 1rem;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .number-stepper {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-left: auto;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .number-stepper .stepper-btn {
  background: transparent;
  border: none;
  font-size: 2.3rem;
  padding: 0;
  cursor: pointer;
  line-height: 1;
  color: black;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .number-stepper input[type=number] {
  width: 3rem;
  padding: 0;
  height: auto;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  width: 1.7rem;
  height: 1.7rem;
  background: transparent;
  border: 1px solid #868686;
  border-radius: 0.5rem;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper input[type=checkbox]:checked {
  background: transparent;
  border-color: #565656;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.5rem;
  height: 0.9rem;
  border: solid #868686;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -60%) rotate(45deg);
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper input[type=checkbox]:focus-visible {
  outline: 2px solid #868686;
  outline-offset: 2px;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper label {
  width: auto;
  line-height: 1;
  cursor: pointer;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper p {
  margin-bottom: 0;
}
@media screen and (max-width: 500px) {
  .experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper p {
    font-size: 1.8rem;
    margin-bottom: 0.25em;
    line-height: 1.2;
  }
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper p a {
  font-family: "Bembo";
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-error-message {
  font-size: 1.5rem;
  width: 100%;
  text-align: right;
  color: #650000;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .forminator-checkbox__wrapper + .forminator-error-message {
  text-align: left;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field .number-stepper + .forminator-error-message {
  border-top: 1px solid rgba(134, 134, 134, 0.4);
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field button {
  text-transform: uppercase;
  font-size: 1.5rem;
  font-family: "Mark OT";
  letter-spacing: 0.05em;
  color: white;
  background: black;
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 1em;
  display: inline-block;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field button.submit--error {
  background: #650000;
  border-color: #650000;
  cursor: not-allowed;
  opacity: 0.9;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-name .forminator-field,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-email .forminator-field {
  border-bottom: 0;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-name .forminator-field input,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-email .forminator-field input {
  border: 1px solid rgba(134, 134, 134, 0.4);
  border-radius: 0.5rem;
  padding-left: 0.5em;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-name .forminator-field input::-moz-placeholder, .experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-email .forminator-field input::-moz-placeholder {
  color: #565656;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-name .forminator-field input::placeholder,
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-email .forminator-field input::placeholder {
  color: #565656;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-number .forminator-field.forminator-has_error {
  border-bottom: none;
  padding-bottom: 0;
}
.experience .row .booking .booking-inner .form-wrapper .form form .forminator-field-number.mb .forminator-field {
  margin-bottom: 2rem;
}
.experience .row .booking .booking-inner .further-info {
  display: flex;
  margin-top: var(--small-spacing);
  padding-top: 1.5rem;
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .further-info {
    display: block;
    margin-top: 0;
    width: 100%;
  }
}
.experience .row .booking .booking-inner .further-info .img {
  aspect-ratio: 1/1.4;
  flex: 0 1 50%;
  order: 1;
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .further-info .img {
    aspect-ratio: 1/1;
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .booking .booking-inner .further-info .img {
    margin-bottom: 5rem;
    aspect-ratio: 4/5;
  }
}
.experience .row .booking .booking-inner .further-info .text {
  padding-top: 0;
  position: static;
  flex: 0 1 50%;
  order: 2;
  margin-right: 0;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
@media screen and (max-width: 1023px) {
  .experience .row .booking .booking-inner .further-info .text {
    padding: 0 6rem;
  }
}
@media screen and (max-width: 767px) {
  .experience .row .booking .booking-inner .further-info .text {
    padding: 0 5rem;
  }
}
@media screen and (max-width: 639px) {
  .experience .row .booking .booking-inner .further-info .text {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 500px) {
  .experience .row .booking .booking-inner .further-info .text {
    padding: 0 3.5rem;
  }
}
.experience .row .booking .booking-inner .further-info:nth-child(odd) .img {
  order: 2;
}
.experience .row .booking .booking-inner .further-info:nth-child(odd) .text {
  padding-right: 10rem;
  margin-right: 0;
  order: 1;
}
@media screen and (max-width: 1919px) {
  .experience .row .booking .booking-inner .further-info:nth-child(odd) .text {
    padding-right: 7rem;
  }
}
@media screen and (max-width: 1279px) {
  .experience .row .booking .booking-inner .further-info:nth-child(odd) .text {
    padding-right: 5rem;
  }
}

#ui-datepicker-div {
  font-size: 1.5rem;
  font-family: "Mark OT";
  transform: translateY(1.5rem);
  background: #eeede9;
  border: 1px solid #868686;
  border-radius: 0.5rem;
}
#ui-datepicker-div .ui-datepicker-prev span,
#ui-datepicker-div .ui-datepicker-next span {
  display: none;
}
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
  width: 1.2rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  position: static;
  background-size: 1.2rem 1.5rem;
}
#ui-datepicker-div .ui-datepicker-prev {
  background-image: url("/wp-content/themes/the-fife-arms/assets/src/img/prev-1.png");
  order: 1;
}
#ui-datepicker-div .ui-datepicker-next {
  background-image: url("/wp-content/themes/the-fife-arms/assets/src/img/next-1.png");
  order: 3;
}
#ui-datepicker-div .ui-datepicker-header {
  background: transparent;
  border: none;
  border-radius: 0;
  align-items: center;
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding: 0.2em 2rem;
}
#ui-datepicker-div .ui-datepicker-header::before, #ui-datepicker-div .ui-datepicker-header::after {
  content: none;
}
#ui-datepicker-div .ui-datepicker-title {
  display: flex;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0.03em;
  order: 2;
  margin: 0;
}
#ui-datepicker-div select {
  font-family: "Mark OT";
  text-transform: uppercase;
  font-weight: 400;
  background: transparent;
  margin: 0.5em;
}
#ui-datepicker-div th {
  font-weight: 400;
}
#ui-datepicker-div td {
  height: 3.5rem;
}
#ui-datepicker-div td span {
  text-align: center;
}
#ui-datepicker-div td .ui-state-default {
  background: transparent;
  border: none;
}
#ui-datepicker-div td a {
  text-align: center;
  background: transparent;
  border: none;
  position: relative;
}
#ui-datepicker-div td a::before {
  position: absolute;
  z-index: -1;
  background: black;
  height: 3rem;
  aspect-ratio: 1/1;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  opacity: 0;
}
#ui-datepicker-div td a.ui-state-highlight::before {
  opacity: 1;
  background: transparent;
  border: 1px solid #868686;
}
#ui-datepicker-div td a.ui-state-active {
  color: white;
}
#ui-datepicker-div td a.ui-state-active::before {
  background: black;
  opacity: 1;
}

.experience.archive,
.experience.event {
  padding-bottom: var(--large-spacing);
}
.experience.archive .row .booking .booking-inner .further-info .img,
.experience.event .row .booking .booking-inner .further-info .img {
  order: 2;
}
.experience.archive .row .booking .booking-inner .further-info .text,
.experience.event .row .booking .booking-inner .further-info .text {
  order: 1;
}
.experience.archive .row .booking .booking-inner .further-info .text p,
.experience.archive .row .booking .booking-inner .further-info .text h2,
.experience.event .row .booking .booking-inner .further-info .text p,
.experience.event .row .booking .booking-inner .further-info .text h2 {
  padding-right: 0;
}
.experience.archive .row .booking .booking-inner .further-info:nth-child(even) .img,
.experience.event .row .booking .booking-inner .further-info:nth-child(even) .img {
  order: 1;
}
.experience.archive .row .booking .booking-inner .further-info:nth-child(even) .text,
.experience.event .row .booking .booking-inner .further-info:nth-child(even) .text {
  order: 2;
}
.experience.archive .row .booking .booking-inner .further-info:nth-child(even) .text p,
.experience.archive .row .booking .booking-inner .further-info:nth-child(even) .text h2,
.experience.event .row .booking .booking-inner .further-info:nth-child(even) .text p,
.experience.event .row .booking .booking-inner .further-info:nth-child(even) .text h2 {
  padding-right: 20%;
}
