/*-----------------------------------------------------------------------------------------
	/Less imports
-----------------------------------------------------------------------------------------*/
/**
 * Swiper 8.2.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 27, 2022
 */
@import url("//fast.fonts.net/t/1.css?apiType=css&projectid=4f4bcbac-a53f-4a42-8b6e-0ce724aeb9d3");
@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}
.swiper-button-lock {
  display: none;
}
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 10px;
  left: 0;
  width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}
/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-lock {
  display: none;
}
/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}
.swiper-scrollbar-cursor-drag {
  cursor: move;
}
.swiper-scrollbar-lock {
  display: none;
}
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.swiper-slide-zoomed {
  cursor: move;
}
/* Preloader */
:root {
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  */
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube {
  overflow: visible;
}
.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}
.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}
.swiper-flip {
  overflow: visible;
}
.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}
.swiper-cards {
  overflow: visible;
}
.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
body.compensate-for-scrollbar {
  overflow: hidden;
}
.fancybox-active {
  height: auto;
}
.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}
.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}
.fancybox-container * {
  box-sizing: border-box;
}
.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}
.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}
.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}
.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997;
}
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}
.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.fancybox-toolbar {
  right: 0;
  top: 0;
}
.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}
.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}
.fancybox-slide {
  -webkit-backface-visibility: hidden;
  /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 1rem;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}
@media (min-width: 43.75em) {
  .fancybox-slide {
    padding: 2.5rem;
  }
}
.fancybox-slide::before {
  content: '';
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}
.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block;
}
.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0;
}
.fancybox-slide--image::before {
  display: none;
}
.fancybox-slide--html {
  padding: 6px;
}
.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}
.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}
.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}
.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}
.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab;
}
.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.fancybox-container [data-selectable='true'] {
  cursor: text;
}
.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}
.fancybox-spaceball {
  z-index: 1;
}
.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}
.fancybox-slide--video .fancybox-content {
  background: #000;
}
.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}
.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}
.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}
.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}
.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}
/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}
.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc;
}
.fancybox-button:hover {
  color: #fff;
}
.fancybox-button:focus {
  outline: none;
}
.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}
.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none;
}
/* Fix IE11 */
.fancybox-button div {
  height: 100%;
}
.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}
.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}
.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none;
}
.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none;
}
.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transform-origin: 0;
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}
/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}
.fancybox-close-small:hover {
  color: #fff;
  opacity: 1;
}
.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}
.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}
.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}
/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}
.fancybox-navigation .fancybox-button div {
  padding: 7px;
}
.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px;
}
.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right);
}
/* Caption */
.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996;
}
@supports (padding: max(0px)) {
  .fancybox-caption {
    padding: 75px 44px 25px 44px;
  }
}
.fancybox-caption--separate {
  margin-top: -50px;
}
.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all;
}
.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}
.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}
/* Loading indicator */
.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}
@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}
/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}
/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}
.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}
.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}
/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}
.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
}
.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}
/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
}
.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}
/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}
.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}
.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}
/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}
.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}
.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1);
}
/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }
  .fancybox-slide--image {
    padding: 6px 0;
  }
  .fancybox-close-small {
    right: -6px;
  }
  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }
  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px;
  }
  @supports (padding: max(0px)) {
    .fancybox-caption {
      padding-left: 12px;
      padding-right: 12px;
    }
  }
}
/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}
.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0;
}
.fancybox-share p {
  margin: 0;
  padding: 0;
}
.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}
.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff;
}
.fancybox-share__button:hover {
  text-decoration: none;
}
.fancybox-share__button--fb {
  background: #3b5998;
}
.fancybox-share__button--fb:hover {
  background: #344e86;
}
.fancybox-share__button--pt {
  background: #bd081d;
}
.fancybox-share__button--pt:hover {
  background: #aa0719;
}
.fancybox-share__button--tw {
  background: #1da1f2;
}
.fancybox-share__button--tw:hover {
  background: #0d95e8;
}
.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}
.fancybox-share__button svg path {
  fill: #fff;
}
.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%;
}
/* Thumbs */
.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995;
}
.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}
.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}
.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}
.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}
.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden;
}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px;
}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}
.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}
.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991;
}
.fancybox-thumbs__list a:focus::before {
  opacity: 0.5;
}
.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1;
}
/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px;
  }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }
  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}
/* https://github.com/hankchizljaw/modern-css-reset */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}
header,
footer,
article,
main,
nav {
  display: block;
}
/* Set core body defaults */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
}
/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
  list-style: none;
}
nav ul,
nav li,
.list-reset {
  padding: 0;
  margin: 0;
  list-style: none;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}
button,
textarea,
select {
  appearance: none;
}
@font-face {
  font-family: "Filson Pro";
  src: url("/fonts/35ceb4ce-02a2-4a72-9d63-0f8fa15bcbc2.woff2") format("woff2"), url("/fonts/40ca8bfc-00f5-4344-9fb7-79d8cee81726.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Filson Pro";
  src: url("/fonts/a992a792-4d38-4378-8832-b3bdb98abdb1.woff2") format("woff2"), url("/fonts/bbb0ea08-8e28-4bbc-9726-ee5ca0922351.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Kenac";
  src: url("/fonts/4e5c3316-466a-4c7d-ad87-3e01982af2d6.woff2") format("woff2"), url("/fonts/c922c173-b822-48d7-9223-72b92056747c.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Kenac";
  src: url("/fonts/eedf6f9b-4c51-4d2a-be9a-1c4c03ae048f.woff2") format("woff2"), url("/fonts/858d51ce-c87d-469d-a199-c4ffa0a2fc51.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Kenac";
  src: url("/fonts/9984b4a3-6a19-45dd-8ef0-418d9f68f589.woff2") format("woff2"), url("/fonts/2b3e593c-6a90-4455-b334-f441441853df.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Kenac";
  src: url("/fonts/3d86855f-4f8b-4367-8bda-d9255ededd6d.woff2") format("woff2"), url("/fonts/d5b45bee-3a26-44fa-b1d2-4cdd86b029fa.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
/*-----------------------------------------------------------------------------------------
	/Less variables / mixins
-----------------------------------------------------------------------------------------*/
.weight-regular {
  font-weight: 400;
}
.weight-medium {
  font-weight: 500;
}
.weight-bold {
  font-weight: 700;
}
/*-----------------------------------------------------------------------------------------
	/Aspect ratios
-----------------------------------------------------------------------------------------*/
.aspect-ratio {
  height: 0;
  position: relative;
}
.aspect-ratio--16x9 {
  padding-bottom: 56.25%;
}
.aspect-ratio--2x1 {
  padding-bottom: 50%;
}
.aspect-ratio--4x3 {
  padding-bottom: 75%;
}
.aspect-ratio--6x4 {
  padding-bottom: 66.6%;
}
.aspect-ratio--4x6 {
  padding-bottom: 140%;
}
.aspect-ratio--3x4 {
  padding-bottom: 117%;
}
.aspect-ratio--1x1 {
  padding-bottom: 100%;
}
/*-----------------------------------------------------------------------------------------
	/Mixins + utilities
-----------------------------------------------------------------------------------------*/
.scrollbars::-webkit-scrollbar {
  width: 12px;
}
.scrollbars::-webkit-scrollbar-track {
  border-radius: 10em;
}
.scrollbars::-webkit-scrollbar-thumb {
  border-radius: 10em;
  background: rgba(0, 0, 0, 0.2);
  border: 3px solid #fff;
}
.webkit-scrolling {
  -webkit-overflow-scrolling: touch;
}
.webkit-tap-color {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.pseudo {
  content: "";
  display: block;
}
.sr-only,
.visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.invisible {
  visibility: hidden;
}
.hidden {
  display: none !important;
}
/*------------------------------------------------------------------------------
    /Grid - rows
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
    /Grid - columns
------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------
	/Whitespace
-----------------------------------------------------------------------------------------*/
.section-inner {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 43.75em) {
  .section-inner {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
.section-pad--pb {
  padding-bottom: 4.75rem;
}
@media (min-width: 43.75em) {
  .section-pad--pb {
    padding-bottom: 6rem;
  }
}
@media (min-width: 100em) {
  .section-pad--pb {
    padding-bottom: 9.375rem;
  }
}
.section-pad--pt {
  padding-top: 4.75rem;
}
@media (min-width: 43.75em) {
  .section-pad--pt {
    padding-top: 6rem;
  }
}
@media (min-width: 100em) {
  .section-pad--pt {
    padding-top: 9.375rem;
  }
}
.section-pad--py {
  padding-top: 4.75rem;
  padding-bottom: 4.75rem;
}
@media (min-width: 43.75em) {
  .section-pad--py {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media (min-width: 100em) {
  .section-pad--py {
    padding-top: 9.375rem;
    padding-bottom: 9.375rem;
  }
}
@media (min-width: 62.5em) {
  .col-pad--r {
    padding-right: 4.5rem;
  }
}
@media (min-width: 62.5em) {
  .col-pad--l {
    padding-left: 4rem;
  }
}
.negative-inner {
  margin-left: -2rem;
  margin-right: -2rem;
}
@media (min-width: 43.75em) {
  .negative-inner {
    margin-left: -4rem;
    margin-right: -4rem;
  }
}
@media (min-width: 62.5em) {
  .negative-inner {
    margin-left: -5rem;
    margin-right: -5rem;
  }
}
@media (min-width: 100em) {
  .negative-inner {
    margin-left: -6rem;
    margin-right: -6rem;
  }
}
/*-----------------------------------------------------------------------------------------
	/Whitespace - small
-----------------------------------------------------------------------------------------*/
.section-inner--s {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (min-width: 43.75em) {
  .section-inner--s {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
@media (min-width: 62.5em) {
  .section-inner--s {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
.section-inner--pb-s {
  padding-bottom: 2rem;
}
@media (min-width: 43.75em) {
  .section-inner--pb-s {
    padding-bottom: 5.5rem;
  }
}
.section-inner--pt-s {
  padding-top: 2rem;
}
@media (min-width: 43.75em) {
  .section-inner--pt-s {
    padding-top: 5.5rem;
  }
}
.section-inner--py-s {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media (min-width: 43.75em) {
  .section-inner--py-s {
    padding-bottom: 5.5rem;
    padding-top: 5.5rem;
  }
}
/*-----------------------------------------------------------------------------------------
	/Blocks
-----------------------------------------------------------------------------------------*/
.block {
  margin-bottom: 48px;
}
.block:last-child {
  margin-bottom: 0;
}
/*-----------------------------------------------------------------------------------------
	/Containment - max widths
-----------------------------------------------------------------------------------------*/
.mw-max {
  max-width: 93.75rem;
}
@media (min-width: 43.75em) {
  .mw-1600 {
    max-width: 100rem;
  }
  .mw-1400 {
    max-width: 87.5rem;
  }
  .mw-1200 {
    max-width: 75rem;
  }
  .mw-1000 {
    max-width: 62.5rem;
  }
  .mw-800 {
    max-width: 50rem;
  }
  .mw-700 {
    max-width: 43.75rem;
  }
  .mw-600 {
    max-width: 37.5rem;
  }
  .mw-500 {
    max-width: 31.25rem;
  }
  .mw-40em {
    max-width: 40em;
  }
  .mw-30em {
    max-width: 30em;
  }
}
/*------------------------------------------------------------------------------
    /Bespoke padding + margins
------------------------------------------------------------------------------*/
.mx-auto {
  margin-right: auto;
  margin-left: auto;
}
.mt-1 {
  margin-top: 1em;
}
.mt-2 {
  margin-top: 2em;
}
@media (min-width: 62.5em) {
  .l\:pl-3 {
    padding-left: 3em;
  }
}
/*-----------------------------------------------------------------------------------------
	/z-index
-----------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
    /Utilities
------------------------------------------------------------------------------*/
.height-100 {
  height: 100%;
}
.center-all {
  display: flex;
  align-items: center;
  justify-content: center;
}
/*
 * clamp() mixin
 *
 * Usage:
 * Min value (rem), Max value (rem), Min viewport (em), Max viewport (em)
 * .clamp(2rem, 6rem, 22.5em, 100em)[]
 *
 */
/*-----------------------------------------------------------------------------------------
	/Base
-----------------------------------------------------------------------------------------*/
html,
body {
  padding: 0;
  margin: 0;
  height: 100%;
}
html {
  font-size: 100%;
  scroll-behavior: smooth;
}
body {
  color: #333;
  font-family: Kenac, Georgia, serif;
  font-size: 1rem;
  line-height: 1.5;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  -moz-font-feature-settings: "liga", "kern";
  -moz-font-feature-settings: "liga=1, kern=1";
  -ms-font-feature-settings: "liga", "kern";
  -o-font-feature-settings: "liga", "kern";
  -webkit-font-feature-settings: "liga", "kern";
  font-feature-settings: "liga", "kern";
}
@media (min-width: 80em) {
  body {
    font-size: 1.25rem;
  }
}
a {
  color: #1D6A55;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  text-decoration: none;
}
p {
  margin-top: 0;
  margin-bottom: 1.5em;
}
p:last-child {
  margin-bottom: 0;
}
.js-focus-visible *:focus:not(.focus-visible) {
  outline: 0;
}
p a:not(.button),
.link,
.wysiwyg a:not(.button) {
  border-bottom: 1px solid currentColor;
  transition: 0.15s border-color, 0.15s color, 0.15s box-shadow;
  outline: none;
  color: #1D6A55;
}
p a:not(.button):hover,
.link:hover,
.wysiwyg a:not(.button):hover,
p a:not(.button):focus,
.link:focus,
.wysiwyg a:not(.button):focus {
  outline: none;
}
.external-link {
  display: inline-flex;
  align-items: center;
}
.external-link span {
  border-bottom: 1px solid transparent;
  transition: 0.15s;
}
.external-link:hover span,
.external-link:focus span {
  border-bottom-color: currentColor;
}
.no-outline:focus {
  outline: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid currentColor;
  margin: 3em 0 3em;
  padding: 0;
  clear: both;
}
iframe {
  border: none;
}
figure {
  margin: 0;
}
figcaption,
.caption {
  margin: 1.7em 0 0;
  font-size: 0.9em;
  position: relative;
  max-width: 54em;
  padding: 0 0 0 2.4em;
}
figcaption:before,
.caption:before {
  content: "";
  height: 2px;
  background: #333;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 1.5em;
}
b,
strong {
  font-weight: 700;
}
small {
  font-size: 0.76em;
}
.inline-icon-wrap {
  display: inline;
  white-space: nowrap;
}
.icon {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.15s;
}
.icon--l {
  margin-right: 8px;
}
.icon--r {
  margin-left: 8px;
}
.icon--inline {
  display: inline-block;
}
.icon--block {
  display: block;
}
.disable-transitions,
.disable-transitions * {
  transition: none !important;
}
@media (prefers-reduced-motion) {
  * {
    transition: none !important;
  }
}
/*-----------------------------------------------------------------------------------------
	/Images
-----------------------------------------------------------------------------------------*/
.image-bg {
  background-position: center;
  background-size: cover;
  background-color: rgba(29, 106, 85, 0.1);
  background-repeat: no-repeat;
}
figure,
.image-wrap {
  position: relative;
  overflow: hidden;
}
figure img,
.image-wrap img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
figure img.object-top,
.image-wrap img.object-top {
  object-fit: cover;
  object-position: top;
  font-family: 'object-fit: cover; object-position: top;';
}
figure img.object-bottom,
.image-wrap img.object-bottom {
  object-fit: cover;
  object-position: bottom;
  font-family: 'object-fit: cover; object-position: bottom;';
}
img {
  border: none;
  height: auto;
}
.img-resizer {
  float: left;
}
.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.object-cover {
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.object-cover.object-top {
  object-fit: cover;
  object-position: top;
  font-family: 'object-fit: cover; object-position: top;';
}
.object-cover.object-bottom {
  object-fit: cover;
  object-position: bottom;
  font-family: 'object-fit: cover; object-position: bottom;';
}
.object-contain {
  object-fit: contain;
  font-family: 'object-fit: contain;';
}
/*-----------------------------------------------------------------------------------------
	/Main
-----------------------------------------------------------------------------------------*/
.container {
  position: relative;
  flex: 1;
}
/*--------------------------------------------------------------------------------
	/Loading spinner
--------------------------------------------------------------------------------*/
@keyframes loading-spinner {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.loading {
  display: block;
  width: 90%;
  height: 20vh;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  text-indent: -5000px;
  margin: 2em auto;
}
.loading:before {
  border-radius: 50%;
  content: " ";
  width: 64px;
  height: 64px;
  display: inline-block;
  box-sizing: border-box;
  border: 3px solid #bababa;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
}
.loading:after {
  border-radius: 50%;
  content: " ";
  width: 64px;
  height: 64px;
  display: inline-block;
  box-sizing: border-box;
  border-top: 3px solid #1D6A55;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -32px;
  margin-top: -32px;
  animation: loading-spinner 0.31s linear infinite;
}
.loading ~ * {
  display: none;
}
/*-----------------------------------------------------------------------------------------
	/Plugin overrides
-----------------------------------------------------------------------------------------*/
.fancybox-bg {
  background: rgba(0, 0, 0, 0.98);
}
@media (min-width: 62.5rem) {
  .fancybox-bg {
    background: rgba(245, 245, 245, 0.96);
  }
}
.flickity-controls {
  display: flex;
  align-items: center;
  background: #fff;
  color: #333;
  padding: 15px 25px;
  height: 50px;
  border-radius: 40px;
}
@media (min-width: 43.75em) {
  .flickity-controls {
    padding: 20px 30px;
    height: 60px;
  }
}
.flickity-controls .flickity-prev-next-button {
  width: 20px;
  height: 20px;
  position: static;
  flex-shrink: 0;
  border-radius: 0;
  background: 0;
  opacity: 1;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flickity-controls .flickity-prev-next-button + .flickity-prev-next-button {
  margin-left: 10px;
}
.flickity-controls .flickity-prev-next-button .flickity-button-icon {
  position: static;
  max-width: 100%;
  width: 100%;
  height: auto;
}
.flickity-controls .flickity-prev-next-button + .flickity-page-dots {
  margin-left: 0.25em;
  margin-right: -1em;
}
.flickity-controls .flickity-prev-next-button:hover,
.flickity-controls .flickity-prev-next-button:focus {
  outline: 0;
  box-shadow: none;
}
.flickity-controls .flickity-prev-next-button:disabled {
  opacity: 0.3;
}
.flickity-controls .flickity-page-dots {
  font-family: Filson Pro, sans-serif;
  font-size: 0.875rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  left: auto;
  bottom: auto;
  width: 70px;
  height: 20px;
  margin-left: -35px;
}
.flickity-controls .flickity-page-dots:before {
  content: "/";
}
.flickity-controls .flickity-page-dots .dot,
.flickity-controls .flickity-page-dots .dot:before,
.flickity-controls .flickity-page-dots .dot:after {
  float: left;
  width: 30px;
  height: 20px;
}
.flickity-controls .flickity-page-dots .dot {
  counter-increment: carousel-cell;
  position: absolute;
  left: 0;
  margin: 0;
  opacity: 1;
}
.flickity-controls .flickity-page-dots .dot.is-selected {
  z-index: 1;
}
.flickity-controls .flickity-page-dots .dot:before {
  content: counter(carousel-cell);
  background-color: #fff;
  text-align: right;
}
.flickity-controls .flickity-page-dots .dot:last-child:after {
  content: counter(carousel-cell);
  position: absolute;
  top: 0;
  right: -40px;
  text-align: left;
}
.fancybox-toolbar {
  opacity: 1;
  visibility: visible;
}
.fancybox-toolbar .fancybox-button--close {
  background: 0;
  color: #fff;
}
@media (min-width: 62.5rem) {
  .fancybox-toolbar .fancybox-button--close {
    color: currentColor;
  }
}
.fancybox-slide--video .fancybox-content {
  border-radius: 10px;
  overflow: hidden;
}
/*-----------------------------------------------------------------------------------------
	/Headings
-----------------------------------------------------------------------------------------*/
h1,
.heading--page,
h2,
.heading--section,
h3,
.heading--block,
h4,
h5,
h6,
.heading,
[class^="heading--"] {
  font-family: Filson Pro, sans-serif;
  font-weight: 700;
}
.heading--page {
  font-size: 2.4375rem;
  line-height: 1;
}
@media (min-width: 43.75em) {
  .heading--page {
    font-size: 3.625rem;
  }
}
@media (min-width: 43.75em) {
  .heading--page.heading--has-deco:after {
    width: 90px;
    height: 10px;
  }
}
.headings--page {
  margin-bottom: 2rem;
}
.heading--section {
  font-size: 1.8125rem;
  line-height: 1.2;
}
@media (min-width: 43.75em) {
  .heading--section {
    font-size: 2.4375rem;
    line-height: 1;
  }
}
.headings--section {
  margin-bottom: 1rem;
}
.headings--section-l {
  margin-bottom: 2.5rem;
}
.heading--block {
  font-size: 1.1875rem;
  line-height: 1.3;
  margin-bottom: 1em;
}
@media (min-width: 43.75em) {
  .heading--block {
    font-size: 1.8125rem;
    line-height: 1.2;
  }
}
.headings--block {
  margin-bottom: 1rem;
}
.headings--body {
  margin-bottom: 0.875rem;
}
.heading--small {
  font-size: 1.1875rem;
  line-height: 1.5789em;
}
.heading--smallest {
  font-size: 0.875rem;
  line-height: 1.42857;
  text-transform: uppercase;
}
.heading--caps {
  font-size: 0.875rem;
  line-height: 1.42857;
  text-transform: uppercase;
}
.heading--caps.heading--has-deco:after {
  width: 25px;
  height: 2px;
  margin: 0.5em 0 0;
}
.heading--prefix {
  margin: -2em 0 1.1875rem;
}
.heading--serif {
  font-family: Kenac, Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (min-width: 43.75em) {
  .heading--serif {
    font-size: 1.875rem;
    line-height: 1.333;
  }
}
.heading--has-deco {
  margin-bottom: 0.5em;
}
@media (min-width: 43.75em) {
  .heading--has-deco {
    margin-bottom: 1em;
  }
}
.heading--has-deco:after {
  content: "";
  width: 70px;
  height: 5px;
  background: currentColor;
  display: block;
  margin: 0.5em 0 0;
}
.heading--upper {
  text-transform: uppercase;
}
.heading--upper:is(.heading--page) {
  font-weight: 400;
}
@media (min-width: 43.75em) {
  .heading--upper:is(.heading--page) {
    font-size: 3.125rem;
    line-height: 1.2;
  }
}
.heading--upper:is(.heading--section) {
  font-weight: 400;
}
@media (min-width: 43.75em) {
  .heading--upper:is(.heading--section) {
    font-size: 2.1875rem;
    line-height: 1.14;
  }
}
/*-----------------------------------------------------------------------------------------
	/Global type control
-----------------------------------------------------------------------------------------*/
.small-caps {
  font-family: Filson Pro, sans-serif;
  font-size: 0.875rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
}
blockquote .quote-text {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
}
blockquote .quote-text:before {
  content: '“';
  font-family: Filson Pro, sans-serif;
  font-weight: 700;
  font-size: 2.9em;
  line-height: 1;
  display: block;
  margin: 0 0 -0.3em;
}
blockquote:not(:last-child) {
  margin-bottom: 1.75em;
}
.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3 {
  font-family: Filson Pro, sans-serif;
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.3;
  margin-bottom: 1em;
}
@media (min-width: 43.75em) {
  .wysiwyg h1,
  .wysiwyg h2,
  .wysiwyg h3 {
    font-size: 1.8125rem;
    line-height: 1.2;
  }
}
.wysiwyg + * {
  margin-top: 1.6em;
}
.section__container {
  position: relative;
  display: flex;
  z-index: 1;
  justify-content: center;
}
.section__inner {
  width: 100%;
  max-width: 87.5rem;
  margin: 0 30px;
}
@media (min-width: 43.75em) {
  .section__inner {
    margin: 0 3.5rem;
  }
}
@media (min-width: 100em) {
  .section__inner {
    margin: 0 6rem;
  }
}
.section__inner--full {
  max-width: 100%;
}
.section__header {
  margin-bottom: 3em;
}
.section__heading--centred {
  text-align: center;
}
.section__heading--centred .heading--has-deco:after {
  margin-left: auto;
  margin-right: auto;
}
main > section:last-child .section__layout {
  margin-bottom: 16vw;
}
@media (min-width: 80em) {
  main > section:last-child .section__layout {
    margin-bottom: 8vw;
  }
}
.template-type--informational {
  overflow-x: hidden;
}
.template-type--simple .header {
  background: #1D6A55;
}
/*  --------------------------------------------------------------------------------
	/Grid variables
	----------------------------------------------------------------------------- */
/*  --------------------------------------------------------------------------------
		/ Grid class names
	
		.row
		  .col-sm-1
		  .col-sm-offset-1
		----------------------------------------------------------------------------- */
/*  --------------------------------------------------------------------------------
		/CSS Grid - global mixin
		----------------------------------------------------------------------------- */
/*------------------------------------------------------------------------------
			/Grid - rows
	------------------------------------------------------------------------------*/
.grid-row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -30px;
}
@media (min-width: 43.75em) {
}
@media (min-width: 43.75em) {
  .cancel-grid-row {
    margin-left: -15px;
    margin-right: -15px;
  }
}
/*------------------------------------------------------------------------------
		/Grid - columns
	------------------------------------------------------------------------------*/
.grid-col {
  width: 100%;
  padding-left: 30px;
}
.grid-col--grow {
  flex: 1;
}
/*  --------------------------------------------------------------------------------
		/Grid Mixins
		----------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------
		/Grid
		----------------------------------------------------------------------------- */
.xs-0 {
  padding-left: 0;
}
.xs {
  flex-grow: 1;
}
.xs-1 {
  width: 8.33333333%;
}
.xs-2 {
  width: 16.66666667%;
}
.xs-3 {
  width: 25%;
}
.xs-4 {
  width: 33.33333333%;
}
.xs-5 {
  width: 41.66666667%;
}
.xs-6 {
  width: 50%;
}
.xs-7 {
  width: 58.33333333%;
}
.xs-8 {
  width: 66.66666667%;
}
.xs-9 {
  width: 75%;
}
.xs-10 {
  width: 83.33333333%;
}
.xs-11 {
  width: 91.66666667%;
}
.xs-12 {
  width: 100%;
}
.xs-offset-0 {
  margin-left: 0%;
}
.xs-offset-1 {
  margin-left: 8.33333333%;
}
.xs-offset-2 {
  margin-left: 16.66666667%;
}
.xs-offset-3 {
  margin-left: 25%;
}
.xs-offset-4 {
  margin-left: 33.33333333%;
}
.xs-offset-5 {
  margin-left: 41.66666667%;
}
.xs-offset-6 {
  margin-left: 50%;
}
.xs-offset-7 {
  margin-left: 58.33333333%;
}
.xs-offset-8 {
  margin-left: 66.66666667%;
}
.xs-offset-9 {
  margin-left: 75%;
}
.xs-offset-10 {
  margin-left: 83.33333333%;
}
.xs-offset-11 {
  margin-left: 91.66666667%;
}
@media only screen and (min-width: 31.25em) {
  .s-0 {
    padding-left: 0;
  }
  .s {
    flex-grow: 1;
  }
  .s-1 {
    width: 8.33333333%;
  }
  .s-2 {
    width: 16.66666667%;
  }
  .s-3 {
    width: 25%;
  }
  .s-4 {
    width: 33.33333333%;
  }
  .s-5 {
    width: 41.66666667%;
  }
  .s-6 {
    width: 50%;
  }
  .s-7 {
    width: 58.33333333%;
  }
  .s-8 {
    width: 66.66666667%;
  }
  .s-9 {
    width: 75%;
  }
  .s-10 {
    width: 83.33333333%;
  }
  .s-11 {
    width: 91.66666667%;
  }
  .s-12 {
    width: 100%;
  }
  .s-offset-0 {
    margin-left: 0%;
  }
  .s-offset-1 {
    margin-left: 8.33333333%;
  }
  .s-offset-2 {
    margin-left: 16.66666667%;
  }
  .s-offset-3 {
    margin-left: 25%;
  }
  .s-offset-4 {
    margin-left: 33.33333333%;
  }
  .s-offset-5 {
    margin-left: 41.66666667%;
  }
  .s-offset-6 {
    margin-left: 50%;
  }
  .s-offset-7 {
    margin-left: 58.33333333%;
  }
  .s-offset-8 {
    margin-left: 66.66666667%;
  }
  .s-offset-9 {
    margin-left: 75%;
  }
  .s-offset-10 {
    margin-left: 83.33333333%;
  }
  .s-offset-11 {
    margin-left: 91.66666667%;
  }
}
@media only screen and (min-width: 43.75em) {
  .m-0 {
    padding-left: 0;
  }
  .m {
    flex-grow: 1;
  }
  .m-1 {
    width: 8.33333333%;
  }
  .m-2 {
    width: 16.66666667%;
  }
  .m-3 {
    width: 25%;
  }
  .m-4 {
    width: 33.33333333%;
  }
  .m-5 {
    width: 41.66666667%;
  }
  .m-6 {
    width: 50%;
  }
  .m-7 {
    width: 58.33333333%;
  }
  .m-8 {
    width: 66.66666667%;
  }
  .m-9 {
    width: 75%;
  }
  .m-10 {
    width: 83.33333333%;
  }
  .m-11 {
    width: 91.66666667%;
  }
  .m-12 {
    width: 100%;
  }
  .m-offset-0 {
    margin-left: 0%;
  }
  .m-offset-1 {
    margin-left: 8.33333333%;
  }
  .m-offset-2 {
    margin-left: 16.66666667%;
  }
  .m-offset-3 {
    margin-left: 25%;
  }
  .m-offset-4 {
    margin-left: 33.33333333%;
  }
  .m-offset-5 {
    margin-left: 41.66666667%;
  }
  .m-offset-6 {
    margin-left: 50%;
  }
  .m-offset-7 {
    margin-left: 58.33333333%;
  }
  .m-offset-8 {
    margin-left: 66.66666667%;
  }
  .m-offset-9 {
    margin-left: 75%;
  }
  .m-offset-10 {
    margin-left: 83.33333333%;
  }
  .m-offset-11 {
    margin-left: 91.66666667%;
  }
}
@media only screen and (min-width: 62.5rem) {
  .l-0 {
    padding-left: 0;
  }
  .l {
    flex-grow: 1;
  }
  .l-1 {
    width: 8.33333333%;
  }
  .l-2 {
    width: 16.66666667%;
  }
  .l-3 {
    width: 25%;
  }
  .l-4 {
    width: 33.33333333%;
  }
  .l-5 {
    width: 41.66666667%;
  }
  .l-6 {
    width: 50%;
  }
  .l-7 {
    width: 58.33333333%;
  }
  .l-8 {
    width: 66.66666667%;
  }
  .l-9 {
    width: 75%;
  }
  .l-10 {
    width: 83.33333333%;
  }
  .l-11 {
    width: 91.66666667%;
  }
  .l-12 {
    width: 100%;
  }
  .l-offset-0 {
    margin-left: 0%;
  }
  .l-offset-1 {
    margin-left: 8.33333333%;
  }
  .l-offset-2 {
    margin-left: 16.66666667%;
  }
  .l-offset-3 {
    margin-left: 25%;
  }
  .l-offset-4 {
    margin-left: 33.33333333%;
  }
  .l-offset-5 {
    margin-left: 41.66666667%;
  }
  .l-offset-6 {
    margin-left: 50%;
  }
  .l-offset-7 {
    margin-left: 58.33333333%;
  }
  .l-offset-8 {
    margin-left: 66.66666667%;
  }
  .l-offset-9 {
    margin-left: 75%;
  }
  .l-offset-10 {
    margin-left: 83.33333333%;
  }
  .l-offset-11 {
    margin-left: 91.66666667%;
  }
}
@media only screen and (min-width: 80em) {
  .xl-0 {
    padding-left: 0;
  }
  .xl {
    flex-grow: 1;
  }
  .xl-1 {
    width: 8.33333333%;
  }
  .xl-2 {
    width: 16.66666667%;
  }
  .xl-3 {
    width: 25%;
  }
  .xl-4 {
    width: 33.33333333%;
  }
  .xl-5 {
    width: 41.66666667%;
  }
  .xl-6 {
    width: 50%;
  }
  .xl-7 {
    width: 58.33333333%;
  }
  .xl-8 {
    width: 66.66666667%;
  }
  .xl-9 {
    width: 75%;
  }
  .xl-10 {
    width: 83.33333333%;
  }
  .xl-11 {
    width: 91.66666667%;
  }
  .xl-12 {
    width: 100%;
  }
  .xl-offset-0 {
    margin-left: 0%;
  }
  .xl-offset-1 {
    margin-left: 8.33333333%;
  }
  .xl-offset-2 {
    margin-left: 16.66666667%;
  }
  .xl-offset-3 {
    margin-left: 25%;
  }
  .xl-offset-4 {
    margin-left: 33.33333333%;
  }
  .xl-offset-5 {
    margin-left: 41.66666667%;
  }
  .xl-offset-6 {
    margin-left: 50%;
  }
  .xl-offset-7 {
    margin-left: 58.33333333%;
  }
  .xl-offset-8 {
    margin-left: 66.66666667%;
  }
  .xl-offset-9 {
    margin-left: 75%;
  }
  .xl-offset-10 {
    margin-left: 83.33333333%;
  }
  .xl-offset-11 {
    margin-left: 91.66666667%;
  }
}
@media only screen and (min-width: 100em) {
  .xxl-0 {
    padding-left: 0;
  }
  .xxl {
    flex-grow: 1;
  }
  .xxl-1 {
    width: 8.33333333%;
  }
  .xxl-2 {
    width: 16.66666667%;
  }
  .xxl-3 {
    width: 25%;
  }
  .xxl-4 {
    width: 33.33333333%;
  }
  .xxl-5 {
    width: 41.66666667%;
  }
  .xxl-6 {
    width: 50%;
  }
  .xxl-7 {
    width: 58.33333333%;
  }
  .xxl-8 {
    width: 66.66666667%;
  }
  .xxl-9 {
    width: 75%;
  }
  .xxl-10 {
    width: 83.33333333%;
  }
  .xxl-11 {
    width: 91.66666667%;
  }
  .xxl-12 {
    width: 100%;
  }
  .xxl-offset-0 {
    margin-left: 0%;
  }
  .xxl-offset-1 {
    margin-left: 8.33333333%;
  }
  .xxl-offset-2 {
    margin-left: 16.66666667%;
  }
  .xxl-offset-3 {
    margin-left: 25%;
  }
  .xxl-offset-4 {
    margin-left: 33.33333333%;
  }
  .xxl-offset-5 {
    margin-left: 41.66666667%;
  }
  .xxl-offset-6 {
    margin-left: 50%;
  }
  .xxl-offset-7 {
    margin-left: 58.33333333%;
  }
  .xxl-offset-8 {
    margin-left: 66.66666667%;
  }
  .xxl-offset-9 {
    margin-left: 75%;
  }
  .xxl-offset-10 {
    margin-left: 83.33333333%;
  }
  .xxl-offset-11 {
    margin-left: 91.66666667%;
  }
}
/*.for-each(@col-breaks);
	.-each(@breakpoint) {
		@media only screen and (min-width: @breakpoint) {
			.makegrid(extract(@col-names, @i));
		}
	}*/
.header {
  color: #fff;
  position: relative;
  z-index: 1080;
  font-family: Filson Pro, sans-serif;
}
.header__logo svg {
  display: block;
}
.header__layout {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body:not(.color-logo) .header__logo path {
  fill: #fff;
}
/*-----------------------------------------------------------------------------------------
	/Nav
-----------------------------------------------------------------------------------------*/
.main-nav {
  padding: 0.25em 0 0;
}
.main-nav-items {
  display: flex;
  align-items: center;
}
.main-nav-item {
  padding-left: 10px;
  padding-right: 10px;
}
.main-nav-item:last-child {
  padding-right: 0;
}
.main-nav-item--sale .main-nav-link {
  color: #F04E3E;
}
.main-nav-link {
  display: inline-flex;
  align-items: center;
  color: #333;
  font-size: 1.1875rem;
  line-height: 1.05em;
  padding: 2.75rem 0;
  font-weight: 700;
}
.main-nav-link .icon {
  margin-left: 5px;
}
.main-nav-link.is-active,
.main-nav-link:focus {
  outline: 0;
}
.main-nav-link.is-active .main-nav__label:after,
.main-nav-link:focus .main-nav__label:after {
  opacity: 0.5;
}
.main-nav__label {
  position: relative;
}
.main-nav__label:after {
  content: "";
  width: 25px;
  height: 2px;
  background: currentColor;
  position: absolute;
  left: 0;
  bottom: -0.35em;
  opacity: 0;
  transition: opacity 0.2s;
}
.main-nav__label:hover:after {
  opacity: 1;
}
.main-nav-toggle {
  margin-right: -10px;
}
.main-nav-toggle > div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main-nav-toggle .close {
  display: none;
}
.main-nav-is-active .main-nav-toggle .default {
  display: none;
}
.main-nav-is-active .main-nav-toggle .close {
  display: flex;
}
@media (min-width: 80em) {
  .main-nav-toggle {
    display: none;
  }
}
.main-nav-item--level1 {
  position: relative;
  z-index: 10;
}
@media (min-width: 80em) {
  .main-nav-item--level1 {
    position: static;
  }
}
@media (min-width: 80em) {
  .main-nav-item--level1.has-meganav .main-nav-link--level1 {
    position: relative;
    z-index: 10;
  }
  .main-nav-item--level1.has-meganav .main-nav-link--level1:before {
    content: "";
    height: 13px;
    background: url('/images/meganav-arrow.svg') no-repeat 50% 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s cubic-bezier(0.55, 0, 0.1, 1);
  }
  .main-nav-item--level1.has-meganav .main-nav-link--level1:focus + .meganav {
    pointer-events: auto;
    opacity: 1;
    transition-delay: 350ms;
  }
}
@media (min-width: 80em) {
  .main-nav-item--level1.has-meganav:hover .main-nav-link--level1 {
    color: #fff;
    transition-delay: 350ms;
  }
  .main-nav-item--level1.has-meganav:hover .main-nav-link--level1:before {
    opacity: 1;
    visibility: visible;
    transition-delay: 350ms;
  }
  .main-nav-item--level1.has-meganav:hover .meganav {
    opacity: 1;
    visibility: visible;
    transition-delay: 350ms;
  }
}
@media (min-width: 80em) {
  .main-nav-item--level1.has-meganav:focus-within .meganav {
    opacity: 1;
    visibility: visible;
    transition-delay: 350ms;
  }
}
.main-nav-link--level1 {
  color: currentColor;
}
@media (min-width: 80em) {
  .button--mainnav-level2-toggle {
    display: none;
  }
}
.button--mainnav-level2-toggle .icon {
  width: 12px;
  height: 12px;
}
.button--mainnav-level2-toggle svg {
  display: block;
  transition: 0.15s;
}
.button--mainnav-level2-toggle.is-active svg {
  transform: rotate(-45deg);
}
.header__nav-extra {
  display: none;
  width: 100%;
  min-height: 245px;
  background: url('/images/deco/deco--nav-mobile.svg') no-repeat;
  background-size: 100% 245px;
  background-position: 50% 100%;
  padding: 140px 30px 60px;
  margin: auto 0 0;
  color: #fff;
}
.header__nav-extra a.header__phone--mobile {
  color: currentColor;
}
/*------------------------------------------------------------------------------
    /Meganavs
--------------------------------------------------------------------------------*/
.meganav {
  height: 0;
  overflow: hidden;
}
.meganav.is-active {
  display: block;
  height: auto;
}
.meganav.is-active .meganav__inner {
  opacity: 1;
}
@media (min-width: 80em) {
  .meganav {
    display: block;
    position: absolute;
    top: 100%;
    left: 15px;
    right: 15px;
    display: flex;
    flex-direction: column;
    height: auto;
    margin-top: -1rem;
    text-align: left;
    border-radius: 10px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s cubic-bezier(0.55, 0, 0.1, 1);
  }
  .meganav:before {
    content: "";
    position: fixed;
    z-index: 5;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: none;
  }
}
.meganav__inner {
  border-radius: 10px;
  background: #fff;
  width: 100%;
  height: 100%;
  max-width: 1580px;
  margin: 0 auto;
}
@media (max-width: 79.9375em) {
  .meganav__inner {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    opacity: 0;
    transition: opacity 0.35s 200ms;
  }
}
@media (min-width: 80em) {
  .meganav__inner {
    position: relative;
    z-index: 10;
    padding: 3rem;
    box-shadow: 0px 10px 40px -20px rgba(0, 0, 0, 0.2);
  }
}
@media (min-width: 100em) {
  .meganav__inner {
    padding: 5rem;
  }
}
.meganav__villages {
  display: flex;
  align-items: center;
}
@media (min-width: 80em) {
  .meganav__villages {
    margin-left: -30px;
  }
}
.meganav__village {
  flex: 1;
}
.meganav__village a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F5F5F5;
  padding: 3rem 2rem;
  border-radius: 5px;
}
.meganav__village a:hover,
.meganav__village a:focus {
  outline: 0;
  color: #fff;
  background: #1D6A55;
}
.meganav__village a:hover path,
.meganav__village a:focus path {
  fill: currentColor;
}
.meganav__village--pakuranga a:hover,
.meganav__village--pakuranga a:focus {
  background: #74195B;
}
.meganav__village--remuera a:hover,
.meganav__village--remuera a:focus {
  background: #899C3A;
}
.meganav__village--epsom a:hover,
.meganav__village--epsom a:focus {
  background: #008A9E;
}
.meganav__village--warkworth a:hover,
.meganav__village--warkworth a:focus {
  background: #F04E3E;
}
@media (min-width: 80em) {
  .meganav__village {
    padding-left: 30px;
    width: 25%;
  }
}
.meganav__village-logo svg {
  display: block;
}
@media (min-width: 80em) and (max-width: 99.9375em) {
  .meganav__village-logo svg {
    height: 80px;
  }
}
.meganav__village-logo--mobile {
  display: none;
}
/*-----------------------------------------------------------------------------------------
	/Tools
-----------------------------------------------------------------------------------------*/
.header__tools {
  display: flex;
  align-items: center;
}
.header__phone {
  display: flex;
  align-items: center;
  font-size: 1.3125rem;
  color: currentColor;
  white-space: nowrap;
}
.header__phone .icon {
  width: 40px;
  height: 40px;
}
.header__phone .text {
  padding-top: 2px;
  margin-left: 5px;
}
.site-search + .header__phone {
  margin-left: 1.875rem;
}
.header__tools-toggle {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__tools-toggle .icon {
  width: 20px;
  height: 20px;
}
@media (min-width: 62.5rem) {
  .site-search-toggle {
    display: none;
  }
}
@media (min-width: 80em) {
  .main-nav-toggle {
    display: none;
  }
}
/*-----------------------------------------------------------------------------------------
	/Search
-----------------------------------------------------------------------------------------*/
.site-search {
  position: relative;
  color: #333;
}
.site-search:before {
  content: "";
  position: fixed;
  z-index: 5;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.15s;
  pointer-events: none;
}
.site-search__ui {
  position: relative;
  z-index: 10;
}
.site-search__field {
  position: relative;
  z-index: 5;
}
.site-search__field-icon {
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  transform: translateY(-50%);
  left: 1.2rem;
}
.site-search__field-icon svg {
  display: block;
}
.site-search__input {
  border: 1px solid transparent;
  background: #FFFFFF;
  max-width: 260px;
  height: 50px;
  border-radius: 40px;
  font-family: Filson Pro, sans-serif;
  font-size: 1.1875rem;
  padding: 1.0625rem 1.2rem 0.875rem 3.125rem;
  transition: 0.2s;
}
.site-search__input:focus {
  outline: 0;
}
.site-search-preview {
  width: 570px;
  max-width: 100vw;
  position: absolute;
  z-index: 10;
  right: 0;
  top: 100%;
  padding: 10px 0 0;
}
.site-search-preview__inner {
  background: #fff;
  list-style: none;
  margin: 0;
  padding: 0;
  color: #333;
  border-radius: 10px;
  max-height: 605px;
  overflow-y: auto;
  font-size: 1rem;
}
.site-search-preview__inner::-webkit-scrollbar {
  width: 12px;
}
.site-search-preview__inner::-webkit-scrollbar-track {
  border-radius: 10em;
}
.site-search-preview__inner::-webkit-scrollbar-thumb {
  border-radius: 10em;
  background: rgba(0, 0, 0, 0.2);
  border: 3px solid #fff;
}
.site-search-preview__inner .autocomplete-search-option--no-results {
  padding: 1.875rem;
  text-align: center;
}
.site-search-preview__block + .site-search-preview__block {
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}
.site-search__result {
  display: flex;
  align-items: center;
  color: #333;
  padding: 1.875rem;
  line-height: 1.25;
}
.site-search__result .category {
  flex: 1 0 90px;
  padding: 2px 1em 0 0;
  margin: 0 0 auto 0;
}
.site-search__result .thumb {
  margin: 0 1rem auto 0;
  flex: 1 0 210px;
}
.site-search__result .thumb .image-wrap {
  border-radius: 5px;
}
.site-search__result .thumb .image-wrap:before {
  content: "";
  float: left;
  padding-bottom: 54.76%;
}
.site-search__result .text {
  font-family: Kenac, Georgia, serif;
}
.site-search__result .heading {
  line-height: 1.3;
}
.site-search__result .highlight {
  color: #1D6A55;
  background: rgba(29, 106, 85, 0.2);
}
.site-search__result:hover,
.site-search__result:focus {
  outline: 0;
  background: rgba(29, 106, 85, 0.05);
}
.site-search__close {
  display: none;
}
.search-is-active .header {
  z-index: 1030;
}
.search-is-active .site-search:before {
  opacity: 1;
}
.search-is-active .site-search .site-search-preview__inner {
  display: block !important;
}
@media (min-width: 62.5rem) {
  .search-is-active .site-search .site-search__input {
    border-color: transparent;
  }
}
@media (max-width: 62.4375rem) {
  .site-search {
    background: #fff;
    padding: 70px 0 0;
    position: fixed;
    width: 100vw;
    height: 100vh;
    height: -webkit-fill-available;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1080;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s;
  }
  .site-search:before {
    display: none;
  }
  .site-search__ui {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 70px;
    background: #f4f4f4;
    padding: 10px 20px;
    border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  }
  .site-search__input {
    border: 1px solid rgba(51, 51, 51, 0.2);
    width: 100%;
    max-width: 100%;
    padding-right: 60px;
    background: #fff;
  }
  .site-search__input:focus {
    border-color: rgba(51, 51, 51, 0.4);
  }
  .site-search__field-icon {
    margin-top: -2px;
  }
  .site-search-preview {
    width: 100%;
    position: static;
    flex: 1;
    padding: 0;
    overflow: hidden;
  }
  .site-search-preview__inner {
    max-height: 100%;
  }
  .site-search-preview__inner .autocomplete-search-option--no-results {
    padding: 2rem 3.125rem;
  }
  .site-search__result .thumb {
    flex: 1 0 70px;
  }
  .site-search__result .thumb .image-wrap:before {
    padding-bottom: 64%;
  }
  .site-search__result--news {
    display: block;
  }
  .site-search__result--news .category {
    margin: 0 0 0.25em;
  }
  .site-search__close {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 5;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
  }
  .search-is-active .site-search {
    opacity: 1;
    visibility: visible;
  }
}
/*-----------------------------------------------------------------------------------------
	/Mobile nav
-----------------------------------------------------------------------------------------*/
@media (max-width: 79.9375em) {
  .header {
    z-index: 1080;
  }
  .header__logo svg {
    width: auto;
    height: 40px;
  }
  .header__layout {
    height: 70px;
  }
  .header__logo,
  .header__tools {
    z-index: 2000;
  }
  .header__nav {
    background: #1D6A55;
    color: #fff;
    padding: 70px 0 0;
    position: fixed;
    width: 100vw;
    height: 100vh;
    height: -webkit-fill-available;
    overflow-y: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1080;
    display: flex;
    flex-direction: column;
    transform: translateX(100vw);
    transition: transform 0.35s cubic-bezier(0.55, 0, 0.1, 1);
  }
  .header__nav:before {
    content: "";
    width: 100%;
    height: 70px;
    background: #1D6A55;
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    right: 0;
  }
  .header__nav-extra {
    display: block;
  }
  .main-nav {
    width: 100%;
    max-width: 87.5rem;
    margin: 0 30px;
    width: auto;
  }
  .main-nav-items {
    display: block;
    padding: 30px 0;
  }
  .main-nav-item {
    padding: 0;
  }
  .main-nav-link--level1 {
    color: currentColor;
    padding: 0.85em 0;
  }
  .header__phone--desktop {
    display: none;
  }
  .meganav {
    overflow: hidden;
    height: auto;
    max-height: 0;
    transition: 0.35s cubic-bezier(0.55, 0, 0.1, 1);
  }
  .meganav__inner {
    border-radius: 10px;
    background: #fff;
    padding: 0;
    opacity: 1;
    overflow: hidden;
  }
  .meganav__villages {
    display: block;
  }
  .meganav__village a {
    display: block;
    padding: 25px 30px;
    border-radius: 0;
  }
  .meganav__village + .meganav__village {
    border-top: 1px solid rgba(51, 51, 51, 0.1);
  }
  .meganav__village-logo--mobile {
    display: block;
  }
  .meganav__village-logo--desktop {
    display: none;
  }
  .meganav-toggle.is-active .icon--dropdown {
    transform: scaleY(-1);
  }
  .meganav-toggle.is-active + .meganav {
    max-height: 360px;
    height: auto;
    margin: 1em 0;
  }
  .main-nav-is-active {
    overflow: hidden;
  }
  .main-nav-is-active .header {
    z-index: 1080;
  }
  .main-nav-is-active .header__logo,
  .main-nav-is-active .header__tools {
    color: #fff;
  }
  .main-nav-is-active .header__logo path {
    fill: currentColor;
  }
  .main-nav-is-active .header__nav {
    transform: none;
  }
}
@media (max-width: 79.9375em) and (min-width: 43.75em) {
  .main-nav {
    margin: 0 3.5rem;
  }
}
@media (max-width: 79.9375em) and (min-width: 100em) {
  .main-nav {
    margin: 0 6rem;
  }
}
@media (min-width: 43.75em) and (max-width: 79.9375em) {
  .main-nav-items {
    padding: 3.5rem 0;
  }
  .main-nav-link--level1 {
    font-size: clamp(1.1875rem, 4vw, 3rem);
  }
  .header__nav-extra {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
@media (min-width: 80em) and (max-width: 99.9375em) {
  .header__logo svg {
    width: auto;
    height: 40px;
  }
  .main-nav-link--level1 {
    font-size: 1rem;
  }
  .site-search__input {
    max-width: 200px;
    font-size: 1rem;
  }
  .header__phone--desktop {
    font-size: 1rem;
  }
}
.footer {
  position: relative;
  z-index: 5;
}
.footer .deco--top-wave {
  color: #1D6A55;
}
.footer .section__container {
  background: #1D6A55;
  color: #fff;
  min-height: 200px;
  font-family: Filson Pro, sans-serif;
  font-size: 1rem;
}
.footer .section__container a {
  color: currentColor;
}
.footer .section__layout:not(.section-pad--py) {
  padding: 4.75rem 0;
}
@media (min-width: 43.75em) {
  .footer .section__layout:not(.section-pad--py) {
    padding: 6rem 0 3.5rem;
  }
}
@media (min-width: 100em) {
  .footer .section__layout:not(.section-pad--py) {
    padding: 9.375rem 0 3.5rem;
  }
}
@media (min-width: 62.5rem) {
  .footer .section__layout {
    padding: 7.5rem 0;
  }
}
@media (min-width: 80em) {
  .footer__row {
    align-items: flex-end;
  }
}
.footer__row--main .grid-col {
  margin-bottom: 3.5rem;
}
@media (min-width: 80em) {
  .footer__row--main .grid-col {
    margin-bottom: 0;
  }
}
.footer__row--main .footer__logo {
  margin-bottom: 0;
}
@media (min-width: 80em) {
  .footer__row--main .footer__logo {
    margin-top: -0.5em;
  }
}
@media (min-width: 43.75em) {
  .footer__row--main {
    align-items: flex-start;
  }
}
.footer__row--end {
  margin-top: 3.5rem;
}
@media (min-width: 80em) {
  .footer__row--end {
    margin-top: 12rem;
  }
}
.footer__logo {
  display: inline-block;
  margin: 0 0 3.75rem;
}
@media (min-width: 80em) {
  .footer__logo {
    margin: 0;
  }
}
.footer__logo img {
  width: 137px;
}
@media (min-width: 43.75em) {
  .footer__logo img {
    width: 205px;
  }
}
a.footer__logo:focus {
  outline: 0;
}
a.footer__logo:focus-visible {
  outline: 0;
  border-bottom: 1px solid;
}
.footer__social {
  display: flex;
  margin: 0 0 0.75rem -4px;
}
.footer__social > li {
  margin: 0 2px 10px 0;
}
.footer__social a {
  display: block;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 4px solid transparent;
  transition: opacity 0.15s;
}
.footer__social a:hover {
  opacity: 0.8;
}
.footer__social a:focus {
  outline: 0;
}
.footer__social a:focus-visible {
  border-color: rgba(0, 0, 0, 0.3);
}
.footer__social .icon {
  width: 30px;
  height: 30px;
}
.footer__social .icon svg {
  width: 100%;
  height: auto;
}
.footer__contact-details {
  font-size: 1.3125rem;
  line-height: 1.428;
}
.footer__contact-details > li {
  margin-bottom: 0.25em;
}
.footer__contact-details a {
  border-bottom: 1px solid transparent;
}
.footer__contact-details a:hover,
.footer__contact-details a:focus {
  outline: 0;
  border-bottom-color: currentColor;
}
.footer__nav-heading {
  margin: 0 0 1.75rem;
}
@media (min-width: 80em) {
  .footer__nav-heading {
    margin: 0 0 2.625rem;
  }
}
.footer__nav li {
  margin-bottom: 0.789em;
}
.footer__nav a {
  font-size: 1.1875rem;
  line-height: 1.05;
  border-bottom: 1px solid transparent;
}
.footer__nav a:hover,
.footer__nav a:focus {
  outline: 0;
  border-bottom-color: currentColor;
}
@media (min-width: 43.75em) {
  .footer__nav--long {
    columns: 2;
    column-gap: 30px;
  }
}
.footer__rva {
  display: flex;
  align-items: baseline;
  margin: 0 0 1.25rem;
}
@media (min-width: 80em) {
  .footer__rva {
    margin: 0;
  }
}
.footer__rva img {
  margin-right: 10px;
}
.footer__copyright {
  margin: 0 0 4.375rem;
}
@media (min-width: 80em) {
  .footer__copyright {
    margin: 0;
    padding-right: 1.875rem;
    text-align: right;
  }
}
@media (min-width: 80em) {
  .footer__back-to-top {
    order: -1;
  }
}
.back-to-top {
  display: inline-flex;
  align-items: center;
}
.back-to-top .icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  margin: 0 1rem 0 0;
  transition: 0.35s cubic-bezier(0.55, 0, 0.1, 1);
}
.back-to-top .icon svg {
  transform: rotate(-180deg);
}
.back-to-top:hover .icon,
.back-to-top:focus .icon {
  transform: translateY(-0.5em);
}
.back-to-top:focus {
  outline: 0;
}
.back-to-top:focus .icon {
  background: rgba(0, 0, 0, 0.3);
}
/*-----------------------------------------------------------------------------------------
	/Global
-----------------------------------------------------------------------------------------*/
fieldset {
  border: none;
}
.input--txt,
select,
textarea {
  position: relative;
  z-index: 2;
  border: 1px solid #d6d6d6;
  background: #f5f5f5;
  color: #333;
  padding: 0.9375rem 1.5625rem;
  width: 100%;
  transition: background-color 0.2s ease-in-out, border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  appearance: none;
  font-family: Filson Pro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-align: left;
  outline: none;
  border-radius: 10px;
}
.bg-dark .input--txt,
.bg-dark select,
.bg-dark textarea {
  border: none;
  background: #fff;
}
.input--txt:hover,
select:hover,
textarea:hover,
.input--txt:focus,
select:focus,
textarea:focus {
  border-color: #333;
  outline: 0;
}
@media (min-width: 80em) {
  .input--txt,
  select,
  textarea {
    font-size: 0.95em;
  }
}
a.input--txt {
  display: block;
}
.form-field {
  padding: 0;
  margin-bottom: 1.25em;
}
.form-field .required {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
/*-----------------------------------------------------------------------------------------
	/Select
-----------------------------------------------------------------------------------------*/
select {
  height: auto;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.select {
  position: relative;
}
.select:before {
  content: "";
  background: url('/images/icons/icon--arrow-down-small.svg') no-repeat;
  position: absolute;
  z-index: 20;
  width: 10px;
  height: 10px;
  right: 1.5em;
  top: 50%;
  margin-top: -5px;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out;
}
select:hover,
select:focus {
  outline: none;
}
select::-ms-expand {
  display: none;
}
option {
  color: #333;
}
/*-----------------------------------------------------------------------------------------
	/Textarea
-----------------------------------------------------------------------------------------*/
textarea {
  height: 15rem;
  resize: vertical;
}
/*-----------------------------------------------------------------------------------------
	/Checkbox / radio
-----------------------------------------------------------------------------------------*/
.checkbox-item {
  display: inline-flex;
  align-items: center;
  padding-right: 2rem;
}
.checkbox-item input {
  margin-top: 0;
  margin-right: 0.5rem;
}
.checkbox-item label {
  margin: 0;
}
/*-----------------------------------------------------------------------------------------
	/Labels
-----------------------------------------------------------------------------------------*/
form label {
  font-family: Filson Pro, sans-serif;
  font-size: 0.95em;
  font-weight: 400;
  display: block;
  margin-bottom: 0.3684em;
}
/*-----------------------------------------------------------------------------------------
	/Validation
-----------------------------------------------------------------------------------------*/
.validationErrors {
  padding: 0;
  margin: 0;
  list-style: none;
  margin-top: 0.5em;
}
.formValidationError {
  background: #F04E3E;
  color: #fff;
  font-size: 1rem;
  font-family: Filson Pro, sans-serif;
  line-height: normal;
  overflow: hidden;
  width: auto;
  position: relative;
  padding: 0.75rem 1rem 0.6875rem;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  font-weight: 500;
}
.field--checkbox .formValidationError,
.field--choice .formValidationError {
  margin: 1em 0 0;
  border-radius: 10px;
}
.deco svg {
  display: block;
}
.deco--global {
  color: #1D6A55;
}
.deco--top-wave {
  margin-top: -8vw;
}
.deco--top-wave svg {
  display: block;
  width: 100%;
  height: 25px;
  max-height: 127px;
}
@media (min-width: 43.75em) {
  .deco--top-wave svg {
    height: 50px;
  }
}
@media (min-width: 62.5rem) {
  .deco--top-wave svg {
    height: 120px;
  }
}
.deco--top-wave--flipped {
  transform: scale(-1);
  margin: 0;
}
.deco--top-wave--flipped svg {
  margin-top: -1px;
}
.deco--top-a,
.deco--top-b {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 650px;
  pointer-events: none;
}
.deco--top-a svg,
.deco--top-b svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 100%;
}
@media (min-width: 62.5rem) {
  .deco--top-b {
    height: 870px;
    max-height: 80vh;
  }
}
@media (min-width: 80em) {
  .deco--top-b {
    max-height: 70vh;
  }
}
.offset-deco {
  height: 7em;
  background: #fff;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media (min-width: 43.75em) {
  .offset-deco {
    height: 19em;
  }
}
.offset-deco .deco--top-wave {
  color: #F5F5F5;
  transform: scaleX(-1);
}
.offset-deco--bottom {
  top: auto;
  bottom: 0;
  background: #F5F5F5;
  display: block;
}
.offset-deco--bottom .deco--top-wave {
  background: #fff;
  margin: 0;
}
/*-----------------------------------------------------------------------------------------
	/Latest articles
-----------------------------------------------------------------------------------------*/
.latest-articles .deco--top-wave {
  color: #F5F5F5;
}
.latest-articles .section__container {
  background: #F5F5F5;
  max-width: 100vw;
  overflow: hidden;
}
.latest-articles .section__layout {
  padding: 6.25rem 0;
  position: relative;
}
.latest-articles__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.latest-articles__list {
  padding: 2em 0;
}
@media (max-width: 62.4375rem) {
  .latest-articles__list {
    display: flex;
    flex-wrap: nowrap;
    width: 100vw;
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    padding: 3rem 0 1rem 30px;
    margin: 0 -30px;
  }
}
@media (min-width: 62.5rem) {
  .latest-articles__list {
    overflow: visible;
  }
}
@media (max-width: 62.4375rem) {
  .latest-articles__list .article-card {
    min-width: 80vw;
    scroll-snap-align: center;
    margin: 0 15px 0 0;
    overflow: visible;
  }
  .latest-articles__list .article-card .article-card__media {
    border-radius: 10px 10px 0 0;
    overflow: hidden;
  }
  .latest-articles__list .article-card:after {
    content: "";
    width: calc(100% + 30px);
    height: 1px;
    display: inline-block;
    visibility: hidden;
  }
}
@media (max-width: 62.4375rem) {
  .latest-articles__cta {
    position: absolute;
    bottom: 4rem;
    left: 0;
  }
}
/*-----------------------------------------------------------------------------------------
	/Mid bar (horizontal subnav)
-----------------------------------------------------------------------------------------*/
.mid-bar {
  display: none;
  background: #fff;
  position: sticky;
  top: 0;
  transition: transform 0.35s cubic-bezier(0.55, 0, 0.1, 1);
}
.mid-bar .section__layout {
  height: 140px;
  padding: 40px 0;
  font-size: 1rem;
  font-family: Filson Pro, sans-serif;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.mid-bar ~ section {
  scroll-margin-top: 140px;
}
@media (min-width: 80em) {
  .mid-bar {
    display: block;
  }
  .headroom--not-top .mid-bar {
    z-index: 1020;
  }
}
.mid-bar__heading {
  text-transform: uppercase;
  opacity: 0.7;
}
.mid-bar__nav ul {
  display: flex;
  align-items: center;
}
.mid-bar__nav li {
  margin: 0 0.9375em 0 0;
}
.mid-bar__nav a {
  color: #333;
}
.mid-bar__nav a:hover,
.mid-bar__nav a:focus,
.mid-bar__nav a.is-active {
  outline: 0;
}
.mid-bar__nav a:hover span:after,
.mid-bar__nav a:focus span:after,
.mid-bar__nav a.is-active span:after {
  transform: none;
}
.mid-bar__nav a span {
  position: relative;
}
.mid-bar__nav a span:after {
  content: "";
  width: 20px;
  height: 2px;
  background: currentColor;
  position: absolute;
  bottom: -0.25em;
  left: 0;
  transform: scaleX(0);
  transform-origin: 0;
  transition: transform 0.35s cubic-bezier(0.55, 0, 0.1, 1);
}
.mid-bar__buttons {
  margin: 0 0 0 auto;
  padding: 0 0 0 30px;
}
button {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  color: currentColor;
  cursor: pointer;
}
button:focus {
  outline: 0;
}
.button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 50px;
  padding: 1.42857em 2.42857em;
  font-family: Filson Pro, sans-serif;
  font-size: 0.875rem;
  line-height: 1.42857;
  font-weight: 700;
  border: none;
  border-radius: 40px;
  box-shadow: none;
  outline: 0;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition-duration: 0.3s;
  transition-property: background-color, border, box-shadow, color, transform;
  transition-timing-function: cubic-bezier(0.55, 0, 0.1, 1);
}
@media (min-width: 43.75em) {
  .button {
    height: 60px;
  }
}
.button .icon svg {
  max-width: 100%;
  height: auto;
}
.button .icon:last-child {
  margin-left: 0.7em;
}
.button .icon:first-child {
  margin-left: 0;
}
.button .icon:first-child + * {
  margin-left: 0.7em;
}
.button:disabled {
  cursor: default;
  user-select: none;
  pointer-events: none;
  opacity: 0.5;
  background: #cecece !important;
  border-color: transparent !important;
  color: #000 !important;
}
.button:hover,
.button:focus {
  outline: 0;
}
@media (min-width: 31.25em) {
  .button {
    display: inline-flex;
    width: auto;
  }
}
.button-label {
  margin-top: 0.2em;
  display: inline-block;
  vertical-align: middle;
}
.button-group {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.button-group > li {
  width: 100%;
}
@media (min-width: 43.75em) {
  .button-group > li {
    width: auto;
  }
}
.button-group .button {
  margin: 4px;
}
.button-group--centre {
  justify-content: center;
}
/*-----------------------------------------------------------------------------------------
	/Button variants
-----------------------------------------------------------------------------------------*/
.button--primary {
  background: #1D6A55;
  color: #fff;
}
.button--primary:hover,
.button--primary:focus {
  color: #fff;
  background: #175544;
}
.button--white {
  background: #fff;
  color: #1D6A55;
}
.button--grey {
  background: #F5F5F5;
}
.button--small {
  font-family: Kenac, Georgia, serif;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.8125rem 1.5rem;
  padding: 1.08em 1.85em;
  min-height: auto;
}
.button--link {
  font-family: Kenac, Georgia, serif;
  font-size: 1em;
  line-height: 1.4;
  color: #1D6A55;
  padding: 0.5em 0;
  min-height: auto;
}
.button--link .button-label {
  border-bottom: 1px solid transparent;
  transition: 0.15s;
}
.button--link:hover .button-label,
.button--link:focus .button-label {
  border-bottom-color: currentColor;
}
.button--white {
  background: #fff;
  color: #333;
}
.button--clear {
  color: currentColor;
}
.button--download {
  font-family: Kenac, Georgia, serif;
  font-size: 1em;
  background: #fff;
  color: #1D6A55;
  padding: 0;
  min-height: auto;
}
.button--download .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.button--download .button-label {
  padding: 1rem 1.5rem 1rem 1rem;
}
.button--download:hover,
.button--download:focus {
  background: #1D6A55;
  color: #fff;
  border-color: #1D6A55;
}
.button--download:hover .icon,
.button--download:focus .icon {
  border-right-color: rgba(255, 255, 255, 0.16);
}
@media (max-width: 43.6875em) {
  .button--compact-mobile {
    display: inline-flex;
    font-family: Kenac, Georgia, serif;
    text-transform: uppercase;
    font-size: 0.75rem;
    line-height: 1.333;
  }
}
.button--cta {
  font-family: Filson Pro, sans-serif;
  font-size: 0.875rem;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  color: currentColor;
  transition: color 0.1s;
}
.button--cta svg {
  margin-left: 10px;
  margin-top: -4px;
  transition: transform 0.35s cubic-bezier(0.55, 0, 0.1, 1);
}
.button--cta:hover,
.button--cta:focus {
  outline: 0;
}
.button--cta:hover svg,
.button--cta:focus svg {
  transform: translateX(10px);
}
.button--cta.button--cta-reversed .icon {
  transform: scaleX(-1);
}
.button--cta.button--cta-reversed svg {
  margin-left: 0;
}
.button--scroll-down {
  width: 60px;
  height: 60px;
  padding: 0;
  border: 2px solid rgba(51, 51, 51, 0.2);
  border-radius: 50%;
  color: currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s, border 0.2s, background 0.2s, transform 0.35s cubic-bezier(0.55, 0, 0.1, 1);
}
.button--scroll-down:hover,
.button--scroll-down:focus {
  border-color: #1D6A55;
  color: #1D6A55;
  transform: translateY(0.5em);
}
.button--skip {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3000;
  border-radius: 0;
}
.button--skip:focus {
  width: auto;
  height: auto;
  padding: inhert;
  margin: 0;
  overflow: hidden;
  clip: auto;
}
.article-card {
  position: relative;
  background: #fff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
}
.article-card__link {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.article-card__link:hover,
.article-card__link:focus {
  outline: 0;
}
.article-card__link:hover ~ .article-card__text .article-card__cta svg,
.article-card__link:focus ~ .article-card__text .article-card__cta svg {
  transform: translateX(10px);
}
.article-card__media {
  width: 100%;
  position: relative;
  background: gainsboro;
}
.article-card__media figure {
  width: 100%;
  height: 100%;
}
.article-card__media .img-resizer {
  padding-bottom: 66.6%;
}
.article-card__media .article-card__meta {
  position: absolute;
  z-index: 1;
  bottom: 15px;
  left: 20px;
  color: #333;
  background: #fff;
}
.article-card__text {
  padding: 25px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}
.article-card__text .article-card__meta {
  display: none;
  margin: 0 0 1em;
}
@media (min-width: 43.75em) {
  .article-card__text {
    padding: 48px 30px 40px;
  }
}
.article-card__meta {
  font-family: Filson Pro, sans-serif;
  font-size: 0.875rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  display: inline-flex;
  color: rgba(51, 51, 51, 0.7);
  background: #f5f5f5;
  border-radius: 20px;
  height: 30px;
  overflow: hidden;
}
.article-card__meta > div {
  padding: 7px 15px 3px;
  display: flex;
  align-items: center;
}
.article-card__meta-village {
  color: #fff;
  background: #1D6A55;
}
.article-card__meta-village--pakuranga {
  background: #74195B;
}
.article-card__meta-village--remuera {
  background: #899C3A;
}
.article-card__meta-village--epsom {
  background: #008A9E;
}
.article-card__meta-village--warkworth {
  background: #F04E3E;
}
.article-card__date {
  font-family: Filson Pro, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
}
.article-card__title {
  margin: 0 0 0.45em;
}
.article-card__cta {
  margin: auto 0 0;
  padding: 5.5em 0 0;
}
@media (min-width: 62.5rem) {
  .article-card--horizontal {
    flex-direction: row;
  }
  .article-card--horizontal + .article-card--horizontal {
    margin-top: 0.9375rem;
  }
  .article-card--horizontal .article-card__media {
    width: 50%;
    flex: 0 0 50%;
  }
  .article-card--horizontal .article-card__media .article-card__meta {
    display: none;
  }
  .article-card--horizontal .article-card__text {
    padding: 3em;
  }
  .article-card--horizontal .article-card__text .article-card__meta {
    display: inline-flex;
  }
}
/*-----------------------------------------------------------------------------------------
	/Page heading
-----------------------------------------------------------------------------------------*/
.page-heading {
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 3rem;
  position: relative;
  z-index: 10;
}
@media (min-width: 43.75em) {
  .page-heading {
    margin-bottom: 6rem;
  }
}
@media (min-width: 62.5rem) {
  .page-heading {
    margin-top: 0;
  }
}
.page-heading__heading:after {
  margin-right: auto;
  margin-left: auto;
}
/*-----------------------------------------------------------------------------------------
	/Page hero
-----------------------------------------------------------------------------------------*/
.page-hero .section__layout {
  align-items: flex-end;
  padding-bottom: 5rem;
}
@media (min-width: 62.5rem) {
  .page-hero .section__layout {
    padding-top: 6rem;
  }
}
@media (min-width: 80em) {
  .page-hero .section__layout {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 62.5rem) {
  .page-hero__content {
    order: -1;
  }
}
.page-hero__content .button--scroll-down {
  margin-top: 2.8rem;
}
@media (max-width: 62.4375rem) {
  .page-hero__content .button--scroll-down {
    display: none;
  }
}
.page-hero__intro {
  font-weight: 700;
}
.page-hero__media {
  margin-bottom: 2.5rem;
}
.page-hero__media figure {
  border-radius: 10px;
}
/*-----------------------------------------------------------------------------------------
	/CMS Block
-----------------------------------------------------------------------------------------*/
.cms-block-wrap + .cms-block-wrap {
  margin-top: 4em;
}
.cms-block {
  margin-bottom: 3em;
}
@media (min-width: 80em) {
  .cms-block:last-child {
    margin-bottom: 0;
  }
}
/*-----------------------------------------------------------------------------------------
	/CMS Block - Inline image
-----------------------------------------------------------------------------------------*/
.cms-block--inline-image {
  position: relative;
}
.cms-block--inline-image .caption {
  font-family: Filson Pro, sans-serif;
  font-size: 1rem;
  margin-top: 1em;
  padding-left: 1.5em;
}
.cms-block--inline-image .caption:before {
  width: 1em;
  height: 1px;
  top: 0.6em;
}
.cms-block--inline-image__img-wrap {
  position: relative;
  border-radius: 10px;
}
.cms-block--inline-image__img .img {
  width: 100%;
}
/*-----------------------------------------------------------------------------------------
	/CMS Block - Inline Video (variant of inline image block)
-----------------------------------------------------------------------------------------*/
.cms-block--inline-video {
  position: relative;
}
.cms-block--inline-video .cms-block--inline-image__img {
  display: block;
}
.cms-block--inline-video .cms-block--inline-image__img:before {
  content: "";
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 41.41%);
}
.cms-block--inline-video .cms-block--inline-image__img:hover figcaption,
.cms-block--inline-video .cms-block--inline-image__img:focus figcaption {
  box-shadow: 0px 10px 40px -20px #000000;
}
.cms-block--inline-video figcaption {
  max-width: 300px;
  background: #fff;
  border-radius: 40px;
  padding: 5px;
  position: absolute;
  z-index: 2;
  left: 15px;
  right: 15px;
  bottom: 15px;
  display: flex;
  align-items: center;
  color: currentColor;
  font-family: Filson Pro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  transition: 0.2s;
}
.cms-block--inline-video figcaption .icon {
  width: 50px;
  height: 50px;
  background: currentColor;
  border-radius: 50%;
  margin: 0 10px 0 0;
}
.cms-block--inline-video figcaption .icon svg {
  color: #fff;
}
.cms-block--inline-video figcaption:before {
  display: none;
}
@media (min-width: 43.75em) {
  .cms-block--inline-video figcaption {
    width: 100%;
    left: 30px;
    right: auto;
    bottom: 25px;
  }
}
/*-----------------------------------------------------------------------------------------
	/CMS Block - Content row (text + image)
-----------------------------------------------------------------------------------------*/
.content-row {
  position: relative;
}
.content-row + .content-row {
  margin-top: 30px;
}
@media (max-width: 62.4375rem) {
  .content-row + .content-row .section__layout {
    padding-top: 0;
  }
}
@media (max-width: 62.4375rem) {
  .content-row .section__layout {
    padding-top: 4.75rem;
    padding-bottom: 4.75rem;
  }
}
@media (max-width: 62.4375rem) and (min-width: 43.75em) {
  .content-row .section__layout {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media (max-width: 62.4375rem) and (min-width: 100em) {
  .content-row .section__layout {
    padding-top: 9.375rem;
    padding-bottom: 9.375rem;
  }
}
.content-row .deco {
  display: none;
}
.content-row .heading--section {
  margin-bottom: 1.4em;
}
.mid-bar + .content-row > .deco {
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 160px;
  height: 60px;
}
.mid-bar + .content-row > .deco svg {
  width: 100%;
  height: auto;
}
@media (min-width: 43.75em) {
  .mid-bar + .content-row > .deco {
    width: 300px;
    height: 100px;
  }
}
@media (min-width: 80em) {
  .mid-bar + .content-row > .deco {
    width: 696px;
    height: 225px;
  }
}
.mid-bar + .content-row .section__container {
  position: relative;
}
.mid-bar + .content-row .section__container:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 600px;
  background: linear-gradient(180deg, #333333 0%, rgba(51, 51, 51, 0) 100%);
  opacity: 0.05;
  pointer-events: none;
}
@media (min-width: 62.5rem) {
  .mid-bar + .content-row .content-row__image {
    border-top-right-radius: 0;
  }
}
@media (min-width: 80em) {
  .content-row:nth-child(odd) .content-row__content {
    order: -1;
  }
  .content-row:nth-child(odd) .content-row__image {
    right: auto;
    left: 0;
  }
}
.content-row__logo {
  margin-bottom: 2rem;
}
.content-row__logo img {
  max-width: 120px;
}
@media (min-width: 43.75em) {
  .content-row__logo {
    margin-bottom: 3.75rem;
  }
  .content-row__logo img {
    max-width: 100%;
  }
}
.content-row__media {
  margin-bottom: 4rem;
}
@media (min-width: 62.5rem) {
  .content-row__media {
    margin-bottom: 0;
    position: relative;
    position: sticky;
    top: 140px;
    max-height: 100vh;
    height: calc(100vh - 140px);
  }
}
.content-row__image {
  border-radius: 10px;
}
.content-row__image .img-resizer {
  padding-bottom: 100%;
}
@media (min-width: 43.75em) and (max-width: 62.4375rem) {
  .content-row__image .img-resizer {
    padding-bottom: 75%;
  }
}
@media (min-width: 62.5rem) {
  .content-row__image {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50vw;
    max-width: 900px;
  }
}
@media (min-width: 62.5rem) {
  .content-row__content {
    margin: 0 0 0 auto;
    padding: 0 calc(8.333333%);
  }
}
@media (min-width: 62.5rem) {
  .content-row__text {
    padding-top: 4.75rem;
    padding-bottom: 4.75rem;
  }
}
@media (min-width: 62.5rem) and (min-width: 43.75em) {
  .content-row__text {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media (min-width: 62.5rem) and (min-width: 100em) {
  .content-row__text {
    padding-top: 9.375rem;
    padding-bottom: 9.375rem;
  }
}
.template--home .header {
  color: currentColor;
}
@media (min-width: 62.5rem) {
  .template--home .site-search__input {
    background: #F5F5F5;
    border-color: #d6d6d6;
  }
}
.template--home .header__phone {
  color: #1D6A55;
}
/*-----------------------------------------------------------------------------------------
	/Hero
-----------------------------------------------------------------------------------------*/
.home-hero {
  position: relative;
}
.home-hero .section__layout {
  padding: 2em 0 5em;
}
@media (min-width: 43.75em) {
  .home-hero .section__layout {
    padding: 5em 0;
  }
}
@media (min-width: 62.5rem) {
  .home-hero .section__layout {
    height: 95vh;
    max-height: 1000px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.home-hero .button--scroll-down {
  margin: 1.75rem 0 0 5rem;
}
@media (min-width: 43.75em) {
  .home-hero .button--scroll-down {
    margin-left: 7.5rem;
  }
}
@media (min-width: 62.5rem) {
  .home-hero .button--scroll-down {
    margin-top: 6rem;
    border-color: #fff;
    background: #fff;
    color: #1D6A55;
  }
}
.home-hero__media .img-resizer {
  padding-bottom: 75%;
}
.home-hero__media:after {
  content: "";
  width: 100%;
  height: 83.7333333vw;
  position: absolute;
  z-index: 2;
  bottom: -1px;
  left: 0;
  right: 0;
  background: url('/images/deco/deco--home-hero-mobile.svg') no-repeat;
  background-size: 100% auto;
  background-position: bottom;
}
@media (min-width: 62.5rem) {
  .home-hero__media {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .home-hero__media:before {
    content: "";
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(78.87deg, rgba(0, 0, 0, 0.4) 8.18%, rgba(0, 0, 0, 0) 42.41%);
  }
  .home-hero__media:after {
    content: "";
    width: 100%;
    height: 237px;
    height: 9.2578125vw;
    position: absolute;
    z-index: 2;
    bottom: -1px;
    left: 0;
    right: 0;
    background: url('/images/deco/deco--home-hero.svg') no-repeat;
    background-size: 100% auto;
    background-position: bottom;
  }
}
.home-hero__content {
  max-width: 500px;
}
@media (min-width: 62.5rem) {
  .home-hero__content {
    color: #fff;
  }
}
.home-hero__heading {
  margin: 0 0 0.4em;
}
.home-hero__blurb {
  display: flex;
  font-weight: 700;
}
.home-hero__blurb:before {
  content: "";
  background: currentColor;
  width: 50px;
  height: 6px;
  margin: 5px 30px 0 0;
  flex: 0 0 auto;
}
@media (min-width: 43.75em) {
  .home-hero__blurb:before {
    width: 90px;
    height: 10px;
    margin-top: 0;
  }
}
/*-----------------------------------------------------------------------------------------
	/Villages
-----------------------------------------------------------------------------------------*/
.home-villages .section__container {
  background: #F5F5F5;
}
.home-villages .section__layout {
  margin-top: -1em;
}
@media (min-width: 100em) {
  .home-villages .section__layout {
    padding-top: 0;
  }
}
.home-villages__list {
  list-style: none;
  padding: 0;
  margin: 3.625rem 0 0;
  display: flex;
  flex-wrap: wrap;
  border-radius: 10px;
  gap: 1px 0;
  overflow: hidden;
}
@media (min-width: 31.25em) {
  .home-villages__list {
    gap: 1px;
  }
}
@media (min-width: 62.5rem) {
  .home-villages__list {
    margin: 6.25rem 0 0;
  }
}
.home-village {
  width: 100%;
}
@media (min-width: 31.25em) {
  .home-village {
    width: calc(50% - 1px);
  }
}
@media (min-width: 80em) {
  .home-village {
    width: auto;
    flex: 1;
  }
}
.home-village--pakuranga .home-village__cta {
  color: #74195B;
}
.home-village--pakuranga .home-village__link:hover,
.home-village--pakuranga .home-village__link:focus {
  background: #74195B;
}
.home-village--remuera .home-village__cta {
  color: #899C3A;
}
.home-village--remuera .home-village__link:hover,
.home-village--remuera .home-village__link:focus {
  background: #899C3A;
}
.home-village--epsom .home-village__cta {
  color: #008A9E;
}
.home-village--epsom .home-village__link:hover,
.home-village--epsom .home-village__link:focus {
  background: #008A9E;
}
.home-village--warkworth .home-village__cta {
  color: #F04E3E;
}
.home-village--warkworth .home-village__link:hover,
.home-village--warkworth .home-village__link:focus {
  background: #F04E3E;
}
.home-village__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: currentColor;
  padding: 45px 30px;
  height: 100%;
  background: #fff;
  transition: color 0.15s, background 0.15s;
}
.home-village__link:hover,
.home-village__link:focus {
  outline: 0;
  color: #fff;
  background: #1D6A55;
}
.home-village__link:hover .home-village__logo path,
.home-village__link:focus .home-village__logo path {
  fill: currentColor;
}
.home-village__link:hover .home-village__cta,
.home-village__link:focus .home-village__cta {
  color: currentColor;
}
.home-village__link:hover .home-village__cta svg,
.home-village__link:focus .home-village__cta svg {
  transform: translateX(10px);
}
.home-village__logo {
  margin: 0 auto 1.5em;
}
.home-village__logo path {
  transition: fill 0.1s;
}
.home-village__cta {
  margin: auto 0 0;
  padding: 2em 0 0;
}
/*-----------------------------------------------------------------------------------------
	/About
-----------------------------------------------------------------------------------------*/
.home-about {
  position: relative;
  background: #F5F5F5;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, #F5F5F5 66.59%);
  overflow: hidden;
}
@media (min-width: 62.5rem) {
  .home-about {
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 66.59%);
  }
}
.home-about__media figure {
  margin: 0 -10vw;
  height: 100%;
}
.home-about__media figure .img-resizer {
  padding-bottom: 75%;
}
.home-about__media figure:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #F5F5F5 0.67%, rgba(248, 245, 250, 0) 37.71%);
}
@media (min-width: 62.5rem) {
  .home-about__media figure {
    margin: 0;
  }
  .home-about__media figure:after {
    background: linear-gradient(270deg, #F8F5FA 0.67%, rgba(248, 245, 250, 0) 37.71%);
  }
}
@media (min-width: 62.5rem) {
  .home-about__media {
    position: absolute;
    width: 55%;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 0;
    padding: 0;
  }
}
.home-about__text {
  padding-top: 6rem;
  padding-bottom: 2rem;
  z-index: 1;
  order: -1;
}
@media (min-width: 62.5rem) {
  .home-about__text {
    padding-top: 10em;
    padding-bottom: 10em;
  }
}
.home-about__cta {
  margin: 2.3em 0 0;
}
/*-----------------------------------------------------------------------------------------
	/Decisions
-----------------------------------------------------------------------------------------*/
.home-decisions__list {
  margin-top: 4.6em;
  margin-bottom: -3rem;
}
.home-decision__item {
  margin-bottom: 3rem;
}
.home-decision {
  text-align: center;
  padding: 0 1em;
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
}
.home-decision img {
  margin: 0 auto 20px;
}
.home-decision h3 {
  margin: 0 0 0.3em;
}
.home-decisions__cta {
  text-align: center;
  margin: 4.5rem 0 0;
}
.template--village-detail .section__header .heading--section {
  max-width: 35.625rem;
}
/*-----------------------------------------------------------------------------------------
	/Hero
-----------------------------------------------------------------------------------------*/
.village-hero .section__layout {
  align-items: flex-end;
  padding-bottom: 5rem;
}
@media (min-width: 80em) {
  .village-hero .section__layout {
    padding-bottom: 0;
  }
}
.village-hero__media {
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5625rem;
}
.village-hero__media .button {
  position: absolute;
  right: 15px;
  bottom: 15px;
}
@media (min-width: 43.75em) {
  .village-hero__media .button {
    right: 50px;
    bottom: 40px;
  }
}
.village-hero__hero {
  border-radius: 10px;
}
.village-hero__hero .img-resizer {
  padding-bottom: 100%;
}
@media (min-width: 31.25em) {
  .village-hero__hero .img-resizer {
    padding-bottom: 75%;
  }
}
@media (min-width: 62.5rem) {
  .village-hero__content {
    order: -1;
  }
}
.village-hero__content .button--scroll-down {
  margin-top: 2.8rem;
}
@media (max-width: 79.9375em) {
  .village-hero__content .button--scroll-down {
    display: none;
  }
}
.village-hero__logo {
  margin: 0 0 1.4em;
}
/*-----------------------------------------------------------------------------------------
	/About
-----------------------------------------------------------------------------------------*/
.village-about {
  position: relative;
}
.village-about > .deco {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 160px;
  height: 60px;
  pointer-events: none;
}
.village-about > .deco svg {
  width: 100%;
  height: auto;
}
@media (min-width: 43.75em) {
  .village-about > .deco {
    width: 300px;
    height: 100px;
  }
}
@media (min-width: 80em) {
  .village-about > .deco {
    width: 696px;
    height: 225px;
  }
}
.village-about .section__container {
  position: relative;
}
.village-about .section__container:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 600px;
  background: linear-gradient(180deg, #333333 0%, rgba(51, 51, 51, 0) 100%);
  opacity: 0.05;
  pointer-events: none;
}
@media (max-width: 62.4375rem) {
  .village-about__features {
    display: none;
  }
}
.village-about__feature {
  font-weight: 700;
  font-size: 1.0555em;
  line-height: 1.0526;
  margin: 0 0 1.666em;
  max-width: 240px;
}
.village-about__feature-icon {
  width: 110px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  margin: 0 0 10px;
}
/*-----------------------------------------------------------------------------------------
	/Stories
-----------------------------------------------------------------------------------------*/
.village-stories .deco--top-wave {
  color: #F5F5F5;
  transform: scaleX(-1);
}
.village-stories .section__container {
  background: #F5F5F5;
  overflow: hidden;
}
.village-stories__header {
  margin: 0 0 5em;
}
.village-stories__list {
  display: flex;
  margin-bottom: 5rem;
}
@media (min-width: 62.5rem) {
  .village-stories__list {
    margin-bottom: 0;
  }
}
.village-stories__list .flickity-viewport {
  width: 100%;
  overflow: visible;
}
.village-stories__list .flickity-controls {
  position: absolute;
  left: 0;
  bottom: -85px;
}
@media (min-width: 62.5rem) {
  .village-stories__list .flickity-controls {
    left: auto;
    bottom: auto;
    right: 0;
    top: -5em;
    margin-top: -60px;
  }
}
.flickity-enabled .village-story {
  width: calc(100vw - 30px - 30px);
  padding-right: 15px;
}
@media (min-width: 62.5rem) {
  .flickity-enabled .village-story {
    width: 50%;
    padding-right: 30px;
  }
}
.village-story__body {
  position: relative;
}
.village-story__image {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  position: absolute;
  z-index: 2;
  left: 30px;
  top: -40px;
}
@media (min-width: 43.75em) {
  .village-story__image {
    left: 40px;
  }
}
.village-story__quote {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  padding: 130px 30px 40px;
}
@media (min-width: 43.75em) {
  .village-story__quote {
    padding: 130px 40px 48px;
  }
}
.village-story__quote .deco {
  position: absolute;
  top: 0;
  right: 0;
  width: 307px;
  height: 120px;
}
.village-story__quote footer {
  margin: 0.83em 0 0;
}
.village-story__quote footer .type {
  font-style: italic;
}
/*-----------------------------------------------------------------------------------------
	/Location
-----------------------------------------------------------------------------------------*/
.village-location__map {
  position: relative;
  margin-top: 3em;
  background: #F5F5F5;
  border-radius: 10px;
  height: 570px;
}
.village-location__map .village-map {
  position: absolute;
  width: 100%;
  height: 100%;
}
/*-----------------------------------------------------------------------------------------
	/Features
-----------------------------------------------------------------------------------------*/
.village-location + .village-features .section__layout {
  padding-top: 3em;
}
@media (min-width: 43.75em) {
  .village-features__list {
    columns: 3;
    column-gap: 30px;
  }
}
.village-feature {
  display: flex;
  align-items: center;
  font-family: Filson Pro, sans-serif;
  margin: 0 0 1.5789em;
}
.village-feature .icon {
  margin: 0 10px 0 0;
}
@media (min-width: 43.75em) {
  .village-feature {
    font-size: 1.05555em;
  }
}
/*-----------------------------------------------------------------------------------------
	/Living Options
-----------------------------------------------------------------------------------------*/
.village-options .deco--top-wave {
  color: #F5F5F5;
  transform: scaleX(-1);
}
.village-options .section__container {
  background: #F5F5F5;
}
.village-options__list {
  margin-bottom: -30px;
}
/*-----------------------------------------------------------------------------------------
	/Articles
-----------------------------------------------------------------------------------------*/
.village-articles .section__container {
  background: #F5F5F5;
}
.village-options + .village-articles .section__layout {
  padding-top: 3em;
}
.village-articles__item {
  margin-bottom: 30px;
}
@media (min-width: 62.5rem) {
  .village-articles__item {
    margin-bottom: 0;
  }
}
.village-articles__list-cta {
  background: #fff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: 40px 30px;
}
.village-articles__list-cta:hover,
.village-articles__list-cta:focus {
  outline: 0;
}
.village-articles__list-cta:hover .button--cta svg,
.village-articles__list-cta:focus .button--cta svg {
  transform: translateX(10px);
}
/*-----------------------------------------------------------------------------------------
	/Contact
-----------------------------------------------------------------------------------------*/
.village-contact__brochure {
  display: flex;
  margin-bottom: 6rem;
}
@media (min-width: 62.5rem) {
  .village-contact__brochure {
    margin-bottom: 0;
  }
}
.village-contact__brochure .media {
  width: 8rem;
  margin: 0 1.125rem 0 0;
}
@media (min-width: 43.75em) {
  .village-contact__brochure .media {
    width: 36.84%;
    margin: 0 30px 0 0;
  }
}
.village-contact__brochure .media figure {
  border-radius: 10px;
  box-shadow: 0px 10px 40px -20px rgba(0, 0, 0, 0.2);
}
.village-contact__brochure .media figure:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(83.65deg, rgba(255, 255, 255, 0) 6.75%, rgba(255, 255, 255, 0.4) 48.99%, rgba(255, 255, 255, 0) 87.06%);
}
.village-contact__brochure .media .img-resizer {
  padding-bottom: 141.42857%;
}
.village-contact__brochure .text {
  width: 100%;
  text-align: left;
}
.village-contact__brochure a {
  width: 100%;
  height: 70px;
  background: #F5F5F5;
  border-radius: 0;
}
.village-contact__brochure li:first-child a {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.village-contact__brochure li:last-child a {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.village-contact__brochure li + li a {
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}
.village-contact__enquire p {
  max-width: 24em;
}
.village-contact__ctas {
  background: #F5F5F5;
  border-radius: 10px;
  overflow: hidden;
}
@media (min-width: 62.5rem) {
  .village-contact__ctas {
    display: flex;
  }
}
.village-contact__ctas-item {
  flex: 1;
}
.village-contact__ctas-item + .village-contact__ctas-item {
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}
@media (min-width: 62.5rem) {
  .village-contact__ctas-item + .village-contact__ctas-item {
    border-top: 0;
    border-left: 1px solid rgba(51, 51, 51, 0.1);
  }
}
.village-contact__cta {
  display: flex;
  align-items: center;
  padding: 30px 40px;
  width: 100%;
  height: 100%;
}
.village-contact__cta .thumb {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 0.8em 0 0;
  flex-shrink: 0;
}
.village-contact__cta .thumb svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 100em) {
  .village-contact__cta .thumb {
    width: 80px;
    height: 80px;
  }
}
.village-contact__cta .contact-name {
  font-weight: 400;
}
.village-contact__cta .contact-role {
  font-weight: 400;
  font-size: 1rem;
  margin-top: -0.5rem;
}
.village-contact__cta .contact-phone {
  white-space: nowrap;
}
.village-contact__cta .icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.8em 0 0;
}
.village-contact__cta .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.village-contact__cta:hover,
.village-contact__cta:focus {
  outline: 0;
  background: rgba(51, 51, 51, 0.05);
}
/*-----------------------------------------------------------------------------------------
	/Theming
-----------------------------------------------------------------------------------------*/
.theme--pakuranga .theme-color,
.theme--pakuranga .deco--global {
  color: #74195B;
}
.theme--pakuranga .theme-bg,
.theme--pakuranga .button--primary {
  background-color: #74195B;
  color: #fff;
}
.theme--pakuranga .button--primary:hover,
.theme--pakuranga .button--primary:focus {
  background-color: #5d1449;
}
.theme--pakuranga .button--white:hover,
.theme--pakuranga .button--white:focus {
  background-color: #74195B;
  color: #fff;
}
.theme--pakuranga .button--scroll-down:hover,
.theme--pakuranga .button--scroll-down:focus {
  border-color: #74195B;
  color: #74195B;
}
.theme--pakuranga .flickity-prev-next-button:focus-visible {
  color: #74195B;
}
.theme--pakuranga .stories__tab-arrow svg:nth-child(2) {
  color: #74195B;
}
.theme--remuera .theme-color,
.theme--remuera .deco--global {
  color: #899C3A;
}
.theme--remuera .theme-bg,
.theme--remuera .button--primary {
  background-color: #899C3A;
  color: #fff;
}
.theme--remuera .button--primary:hover,
.theme--remuera .button--primary:focus {
  background-color: #6e7d2e;
}
.theme--remuera .button--white:hover,
.theme--remuera .button--white:focus {
  background-color: #899C3A;
  color: #fff;
}
.theme--remuera .button--scroll-down:hover,
.theme--remuera .button--scroll-down:focus {
  border-color: #899C3A;
  color: #899C3A;
}
.theme--remuera .flickity-prev-next-button:focus-visible {
  color: #899C3A;
}
.theme--remuera .stories__tab-arrow svg:nth-child(2) {
  color: #899C3A;
}
.theme--epsom .theme-color,
.theme--epsom .deco--global {
  color: #008A9E;
}
.theme--epsom .theme-bg,
.theme--epsom .button--primary {
  background-color: #008A9E;
  color: #fff;
}
.theme--epsom .button--primary:hover,
.theme--epsom .button--primary:focus {
  background-color: #006e7e;
}
.theme--epsom .button--white:hover,
.theme--epsom .button--white:focus {
  background-color: #008A9E;
  color: #fff;
}
.theme--epsom .button--scroll-down:hover,
.theme--epsom .button--scroll-down:focus {
  border-color: #008A9E;
  color: #008A9E;
}
.theme--epsom .flickity-prev-next-button:focus-visible {
  color: #008A9E;
}
.theme--epsom .stories__tab-arrow svg:nth-child(2) {
  color: #008A9E;
}
.theme--warkworth .theme-color,
.theme--warkworth .deco--global {
  color: #F04E3E;
}
.theme--warkworth .theme-bg,
.theme--warkworth .button--primary {
  background-color: #F04E3E;
  color: #fff;
}
.theme--warkworth .button--primary:hover,
.theme--warkworth .button--primary:focus {
  background-color: #c03e32;
}
.theme--warkworth .button--white:hover,
.theme--warkworth .button--white:focus {
  background-color: #F04E3E;
  color: #fff;
}
.theme--warkworth .button--scroll-down:hover,
.theme--warkworth .button--scroll-down:focus {
  border-color: #F04E3E;
  color: #F04E3E;
}
.theme--warkworth .flickity-prev-next-button:focus-visible {
  color: #F04E3E;
}
.theme--warkworth .stories__tab-arrow svg:nth-child(2) {
  color: #F04E3E;
}
.template--contact .deco--global {
  overflow: hidden;
  bottom: auto;
  height: 310px;
}
.template--contact .deco--global svg {
  width: 150%;
  height: 100%;
}
@media (min-width: 43.75em) {
  .template--contact .deco--global {
    height: 400px;
  }
}
@media (min-width: 62.5rem) {
  .template--contact .deco--global {
    height: 460px;
  }
}
@media (min-width: 80em) {
  .template--contact .deco--global {
    height: 870px;
    max-height: 80vh;
  }
}
@media (min-width: 100em) {
  .template--contact .deco--global {
    max-height: 70vh;
  }
}
.template--contact .page-hero {
  color: #fff;
}
.template--contact .page-hero .section__layout {
  padding-top: 5rem;
}
@media (min-width: 62.5rem) {
  .template--contact .page-hero .page-hero__content {
    padding-top: 5rem;
  }
}
.template--contact .section__container {
  z-index: 3;
}
.contact {
  position: relative;
}
@media (max-width: 79.9375em) {
  .contact .section__layout {
    display: block;
  }
}
@media (min-width: 80em) {
  .contact .section__layout {
    padding-bottom: 0;
  }
}
@media (max-width: 79.9375em) {
  .contact .offset-deco {
    display: none;
  }
}
.contact__main {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (min-width: 80em) {
  .contact__main {
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 80em) {
  .contact__main-body {
    padding: 7.5rem;
    background: #fff;
    border-radius: 10px;
  }
}
.contact__office {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (min-width: 80em) {
  .contact__office {
    margin-top: 0;
  }
}
@media (min-width: 80em) {
  .contact__office-body {
    margin-top: 0;
    padding: 7.5rem 0;
  }
}
.contact__office-details {
  color: #1D6A55;
  font-family: Filson Pro, sans-serif;
}
.contact__office-details a {
  color: currentColor;
  display: block;
  font-weight: 700;
}
.contact__office-details a:hover,
.contact__office-details a:focus {
  color: #333;
}
.contact__office-details div + div {
  margin-top: 0.5em;
}
.contact__office-details div + div:before {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background: currentColor;
  margin-bottom: 0.5em;
}
@media (min-width: 80em) {
  .contact__office-details {
    font-size: 0.95em;
  }
}
.contact-villages .deco--top-wave {
  color: #F5F5F5;
}
@media (min-width: 80em) {
  .contact-villages .deco--top-wave {
    display: none;
  }
}
.contact-villages .section__container {
  background: #F5F5F5;
}
.village-contacts__list {
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 5rem 0 0;
  display: flex;
  flex-wrap: wrap;
  border-radius: 10px;
  gap: 1px;
  font-family: Filson Pro, sans-serif;
  overflow: hidden;
}
@media (min-width: 100em) {
  .village-contacts__list {
    flex-wrap: nowrap;
  }
}
.village-contacts-item {
  color: currentColor;
  padding: 2.5rem 1.25rem;
  background: #fff;
  flex: 1;
  width: 100%;
}
@media (min-width: 43.75em) {
  .village-contacts-item {
    width: 49%;
    flex: 1 0 49%;
    padding: 2.5rem;
  }
}
@media (min-width: 100em) {
  .village-contacts-item {
    width: auto;
    flex: 1;
    font-size: 0.95em;
  }
}
.village-contacts-item__logo {
  margin: 0 0 1.15em;
}
.village-contacts-item__logo svg {
  display: block;
  width: auto;
  height: 75px;
  max-width: 100%;
}
.village-contacts-item__address:not(:last-child) {
  margin-bottom: 1.15em;
}
.village-contacts-item__links a {
  font-weight: 700;
  color: #333;
}
.village-contacts-item__links a:hover,
.village-contacts-item__links a:focus {
  color: #1D6A55;
}
.top-message {
  background-color: #899C3A;
  color: white;
  font-size: 0.9375rem;
}
@media (min-width: 62.5rem) {
  .top-message {
    font-size: 1rem;
  }
}
.top-message__inner {
  text-align: center;
  padding: 1rem 2rem;
}
@media (min-width: 62.5rem) {
  .top-message__inner {
    padding: 1.25rem 2rem;
  }
}
.top-message__inner a {
  color: white;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.top-message__inner a:hover,
.top-message__inner a:focus {
  border-color: white;
}
.template--landing {
  overflow-x: hidden;
}
.template--landing .section__inner {
  margin-inline: clamp(1.875rem, calc(0.612rem + 5.39vw), 6rem);
}
.template--landing .header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  overflow: visible;
}
.template--landing .header__inner {
  max-width: 100%;
}
.template--landing .header__layout {
  height: 5.625rem;
}
@media (min-width: 62.5rem) {
  .template--landing .header__layout {
    height: 8.75rem;
  }
}
@media (max-width: 62.4375rem) {
  .template--landing .header__logo img {
    height: 44px;
  }
}
.template--landing .header__phone .icon {
  color: #899C3A;
  background: #fff;
  border-radius: 50%;
}
@media (max-width: 62.4375rem) {
  .template--landing .header__phone .text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
}
.template--landing .landing-register {
  margin-right: 1.875rem;
}
@media (max-width: 43.6875em) {
  .template--landing .landing-register {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
}
.template--landing .home-hero {
  color: #899C3A;
}
.template--landing .home-hero .section__inner {
  max-width: 100%;
}
@media (max-width: 43.6875em) {
  .template--landing .home-hero .section__layout {
    padding-bottom: 3em;
  }
}
@media (min-width: 62.5rem) {
  .template--landing .home-hero .section__layout {
    max-height: none;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 8.75rem;
  }
}
@media (min-width: 62.5rem) and (min-height: 56.25em) {
  .template--landing .home-hero .section__layout {
    padding-top: calc(8.75rem + 4.375rem);
  }
}
@media (min-width: 80em) {
  .template--landing .home-hero .section__layout {
    padding-bottom: 3rem;
  }
}
@media (min-width: 62.5rem) {
  .template--landing .home-hero {
    background: #899C3A;
    color: #fff;
  }
}
.template--landing .home-hero__content {
  max-width: 100%;
}
@media (min-width: 62.5rem) {
  .template--landing .home-hero__content {
    max-width: 35.625rem;
    min-height: 70%;
    display: flex;
    flex-direction: column;
  }
}
.template--landing .home-hero__display-info {
  margin-top: 3rem;
  color: #333;
}
@media (min-width: 62.5rem) {
  .template--landing .home-hero__display-info {
    width: 20rem;
    align-self: flex-end;
    color: inherit;
  }
}
.template--landing .home-hero__display-info .heading--block {
  margin-bottom: 0.689655em;
}
@media (min-width: 62.5rem) {
  .template--landing .home-hero__display-info .display-dates {
    background-color: rgba(51, 51, 51, 0.1);
    color: inherit;
  }
  .template--landing .home-hero__display-info .display-dates > li + li {
    border-left-color: rgba(255, 255, 255, 0.1);
  }
}
@media (max-width: 62.4375rem) {
  .template--landing .home-hero__media {
    position: relative;
  }
}
.template--landing .home-hero__media .img-resizer {
  padding-bottom: 100%;
}
.template--landing .home-hero__media:before {
  display: none;
}
.template--landing .home-hero__media:after {
  content: "";
  width: 100%;
  height: 10vw;
  background: url('/images/landing/hero-deco-b.svg') no-repeat;
  background-size: 100% auto;
  background-position: bottom;
  position: absolute;
  z-index: 2;
  bottom: -1px;
  left: 0;
  right: 0;
  pointer-events: none;
}
.template--landing .home-hero__media .swiper {
  height: 100%;
}
.template--landing .home-hero__media .swiper:before {
  content: "";
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: linear-gradient(307deg, rgba(0, 0, 0, 0.4) 8.18%, rgba(0, 0, 0, 0) 42.41%);
  opacity: 0.3;
}
.template--landing .home-hero__media .swiper-slide {
  position: relative;
}
@media (max-width: 62.4375rem) {
  .template--landing .home-hero__media .swiper-slide {
    aspect-ratio: 1;
  }
}
.template--landing .home-hero__media .swiper-slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
}
.template--landing .home-hero__media .deco {
  position: absolute;
  z-index: 2;
  inset: auto;
  width: auto;
  height: auto;
  pointer-events: none;
}
.template--landing .home-hero__media .deco--tl {
  width: 24.375rem;
  top: -13rem;
  left: 0;
}
@media (min-width: 62.5rem) {
  .template--landing .home-hero__media .deco--tl {
    width: auto;
    top: 0;
  }
}
@media (min-width: 156.25em) {
  .template--landing .home-hero__media .deco--tl {
    width: 35vw;
  }
}
.template--landing .home-hero__media .deco--tr {
  top: calc(8.75rem + 4.875rem);
  right: 0;
}
@media (max-width: 62.4375rem) {
  .template--landing .home-hero__media .deco--tr {
    display: none;
  }
}
.template--landing .home-hero__media .deco--bl {
  bottom: 0.625rem;
  left: 0;
  z-index: 3;
  opacity: 0.75;
}
@media (max-width: 79.9375em) {
  .template--landing .home-hero__media .deco--bl {
    display: none;
  }
}
.template--landing .home-hero__media .deco--br {
  bottom: -1rem;
  right: 0;
  z-index: 3;
}
@media (max-width: 62.4375rem) {
  .template--landing .home-hero__media .deco--br {
    display: none;
  }
}
.template--landing .home-hero__blurb {
  max-width: 500px;
  font-family: Filson Pro, sans-serif;
  line-height: 1.3;
  font-weight: 700;
}
.template--landing .home-hero__blurb:before {
  margin-top: 2px;
}
.template--landing .home-hero__blurb > div {
  max-width: 19ch;
}
@media (min-width: 43.75em) {
  .template--landing .home-hero__blurb {
    font-size: 1.1875rem;
  }
}
.template--landing .button--scroll-down {
  color: #899C3A;
}
@media (max-width: 62.4375rem) {
  .template--landing .button--scroll-down {
    display: none;
  }
}
@media (min-width: 62.5rem) {
  .template--landing .button--scroll-down {
    margin-top: auto;
  }
}
@media (min-width: 100em) {
  .template--landing .button--scroll-down {
    margin-bottom: 3rem;
  }
}
@media (min-width: 118.75em) {
  .template--landing .button--scroll-down {
    margin-bottom: calc(3rem + 4vw);
  }
}
.template--landing .swiper-pagination {
  position: static;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 3rem;
  margin-left: 115px;
  width: auto;
}
@media (max-width: 43.6875em) {
  .template--landing .swiper-pagination {
    display: none;
  }
}
.template--landing .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  border: 2px solid #fff;
  background: transparent;
  opacity: 1;
  display: grid;
  place-items: center;
}
.template--landing .swiper-pagination-bullet:before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.2s;
}
.template--landing .swiper-pagination-bullet:is(:hover, :focus):before {
  opacity: 0.5;
}
.template--landing .swiper-pagination-bullet-active:before {
  opacity: 1;
}
.template--landing .contact {
  z-index: 200;
}
.template--landing .village-contact__cta {
  background: #F5F5F5;
  padding: 25px;
}
.template--landing .village-contact__cta + .village-contact__cta {
  border-top: 1px solid #e2e2e2;
}
.template--landing .village-contact__cta .contact-phone {
  color: #899C3A;
}
.template--landing .village-contact__cta .contact-phone:is(:hover, :focus) {
  color: #333;
}
.template--landing .village-contact__cta:first-child {
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
.template--landing .village-contact__cta:last-child {
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}
@media (min-width: 80em) {
  .template--landing .contact__office {
    margin-bottom: 0;
  }
}
.template--landing .contact__office-body {
  display: flex;
  flex-direction: column;
  row-gap: clamp(3rem, calc(1.8rem + 5.12vw), 5rem);
}
@media (min-width: 80em) {
  .template--landing .footer__logo {
    position: relative;
    top: 0.875rem;
  }
}
@media (min-width: 80em) {
  .template--landing .back-to-top {
    flex-direction: row-reverse;
    position: relative;
    top: 1.1375rem;
  }
  .template--landing .back-to-top .icon {
    margin: 0 0 0 1rem;
  }
}
.landing-content .content-row {
  margin: 0;
}
@media (min-width: 62.5rem) {
  .landing-content .content-row:first-child .section__layout {
    margin-top: clamp(4.375rem, calc(-7.083rem + 18.33vw), 11.25rem);
  }
}
.landing-content .content-row .section__layout {
  margin-bottom: 70px;
  padding-top: 0;
  padding-bottom: 0;
  row-gap: clamp(2rem, calc(0.846rem + 4.92vw), 3rem);
}
@media (min-width: 62.5rem) {
  .landing-content .content-row .section__layout {
    margin-top: clamp(4.375rem, calc(-3.958rem + 13.33vw), 9.375rem);
  }
}
.landing-content .content-row__media {
  margin-bottom: 0;
}
@media (min-width: 62.5rem) {
  .landing-content .content-row__media {
    height: auto;
    position: relative;
    top: auto;
  }
}
@media (min-width: 80em) {
  .landing-content :where(.content-row:not(.content-row--multi-image)) .content-row__image {
    min-width: calc(50vw - clamp(1.875rem, calc(0.612rem + 5.39vw), 6rem));
  }
}
@media (min-width: 100em) {
  .landing-content :where(.content-row:not(.content-row--multi-image)) .content-row__image {
    max-height: 37.5rem;
  }
}
@media (min-width: 43.75em) and (max-width: 79.9375em) {
  .landing-content :where(.content-row:not(.content-row--multi-image)) .content-row__text {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.875rem;
  }
}
@media (min-width: 80em) {
  .landing-content :where(.content-row:not(.content-row--multi-image)) .content-row__image-wrap {
    display: flex;
    justify-content: flex-end;
  }
  .landing-content :where(.content-row:not(.content-row--multi-image)):nth-child(odd) .content-row__image-wrap {
    justify-content: flex-start;
    margin-right: calc((clamp(1.875rem, calc(0.612rem + 5.39vw), 6rem) * -1) - 0.625rem);
  }
  .landing-content :where(.content-row:not(.content-row--multi-image)):nth-child(even) .content-row__image-wrap {
    margin-left: calc((clamp(1.875rem, calc(0.612rem + 5.39vw), 6rem) * -1) - 0.625rem);
  }
}
.landing-content .content-row__image {
  position: relative;
  width: 100%;
  max-width: 100%;
  background-color: #F5F5F5;
}
.landing-content .content-row__image .img-resizer {
  padding-bottom: 75%;
}
@media (min-width: 62.5rem) and (max-width: 79.9375em) {
  .landing-content .content-row__image .img-resizer {
    padding-bottom: 56.25%;
  }
}
.landing-content .content-row__text {
  padding-top: 0;
  padding-bottom: 0;
}
.landing-content .content-row__text .heading--section {
  max-width: 20ch;
}
.landing-content .content-row__text .wysiwyg {
  max-width: 42ch;
}
.landing-content .content-row__text .wysiwyg + h5 {
  margin-top: 4em;
}
.landing-content .content-row__text .village-contact__brochure {
  width: 100%;
  max-width: 28.125rem;
  margin-bottom: 0;
}
.landing-content .content-row__text .village-contact__brochure ul {
  width: 100%;
}
.landing-content .content-row__text .village-contact__brochure a {
  height: auto;
  min-height: 0;
  white-space: normal;
  line-height: 1.3;
}
.landing-content .content-row__text .village-contact__brochure .icon {
  margin-bottom: auto;
  height: 20px;
}
@media (min-width: 62.5rem) {
  .landing-content .content-row--multi-image .content-row__content {
    padding-left: 30px;
  }
}
.landing-content .content-row--multi-image .content-row__text {
  padding-top: 0;
}
.landing-content .content-row--multi-image .content-row__image-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (min-width: 62.5rem) {
  .landing-content .content-row--multi-image .content-row__image-wrap {
    height: 100%;
    width: 50vw;
    max-width: 1200px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
  }
}
.landing-content .content-row--multi-image .content-row__image {
  position: relative;
  top: auto;
  bottom: auto;
  right: auto;
  width: 100%;
}
.landing-content .content-row--multi-image .content-row__image:first-child {
  margin-bottom: 30px;
  max-width: 100%;
}
@media (min-width: 62.5rem) {
  .landing-content .content-row--multi-image .content-row__image:nth-child(2) {
    max-width: 600px;
  }
}
.landing-content .content-row--multi-image .content-row__image:nth-child(3) {
  display: none;
}
@media (min-width: 100em) {
  .landing-content .content-row--multi-image .content-row__media {
    display: flex;
    justify-content: flex-end;
  }
  .landing-content .content-row--multi-image .content-row__image-wrap {
    width: 100%;
    max-width: none;
    min-width: calc(50vw - clamp(1.875rem, calc(0.612rem + 5.39vw), 6rem));
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto;
    gap: 30px;
  }
  .landing-content .content-row--multi-image .content-row__image {
    position: relative;
    grid-row: 2;
    margin: 0 !important;
  }
  .landing-content .content-row--multi-image .content-row__image:first-child {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .landing-content .content-row--multi-image .content-row__image:nth-child(3) {
    display: block;
  }
  .landing-content .content-row--multi-image:nth-child(odd) .content-row__media {
    justify-content: flex-start;
  }
  .landing-content .content-row--multi-image:nth-child(odd) .content-row__image-wrap {
    margin-right: calc((clamp(1.875rem, calc(0.612rem + 5.39vw), 6rem) * -1) - 0.625rem);
  }
  .landing-content .content-row--multi-image:nth-child(even) .content-row__image-wrap {
    margin-left: calc((clamp(1.875rem, calc(0.612rem + 5.39vw), 6rem) * -1) - 0.625rem);
  }
}
@media (min-width: 62.5rem) and (max-width: 79.9375em) {
  .landing-content .landing-intro--has-video .section__layout {
    margin-right: -30px;
  }
  .landing-content .landing-intro--has-video .content-row__image {
    position: relative;
    width: 100%;
    max-width: 100%;
  }
  .landing-content .landing-intro--has-video .content-row__image .img-resizer {
    padding-bottom: 56.25%;
  }
}
@media (max-width: 62.4375rem) {
  .landing-content .landing-intro--has-video .section__layout {
    flex-direction: column-reverse;
  }
}
@media (min-width: 80em) {
  .landing-content .landing-intro--has-video .section__layout {
    align-items: center;
  }
}
@media (min-width: 80em) {
  .landing-content .landing-intro--has-video .content-row__text {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 62.4375rem) {
  .landing-content .landing-intro--has-video .content-row__media {
    margin-top: 3rem;
    margin-bottom: 0;
  }
}
@media (min-width: 62.5rem) {
  .landing-content .landing-intro--has-video .content-row__media {
    padding-left: 0;
  }
}
@media (max-width: 62.4375rem) {
  .landing-content .landing-intro--has-video .cms-block--inline-video {
    margin-inline: -3.5rem;
    border-radius: 0;
  }
}
@media (max-width: 62.4375rem) and (max-width: 43.6875em) {
  .landing-content .landing-intro--has-video .cms-block--inline-video {
    margin-inline: -30px;
  }
}
@media (min-width: 80em) {
  .landing-content .landing-intro--has-video .cms-block--inline-video {
    position: static;
  }
}
.landing-content .landing-intro--has-video .cms-block--inline-image__img:before {
  display: none;
}
@media (min-width: 80em) {
  .landing-content .landing-intro--has-video .content-row__image .img-resizer {
    padding-bottom: 75%;
  }
}
@media (max-width: 62.4375rem) {
  .floorplans .section__layout {
    padding-top: 0;
  }
}
@media (min-width: 62.5rem) {
  .floorplans .stories__head {
    padding-left: 0;
  }
}
.floorplans .stories__tabs {
  margin-top: 30px;
}
.floorplans .stories__tab {
  min-height: 110px;
}
.floorplans .stories__tab .rooms {
  margin-top: 0.5em;
  display: flex;
  flex-direction: column;
}
@media (min-width: 62.5rem) {
  .floorplans .stories__tab .rooms {
    display: block;
  }
}
@media (min-width: 62.5rem) {
  .floorplans .stories__tab {
    padding: 1.25rem 0.625rem 1.25rem 1.25rem;
    min-height: 85px;
  }
}
.floorplans .story__content {
  padding: 2.625rem;
}
@media (min-width: 80em) {
  .floorplans .story__content {
    padding: 0;
  }
}
.landing-cta {
  position: relative;
  scroll-margin-top: 5rem;
}
.landing-cta .deco--top-wave {
  transform: scaleX(-1);
  margin: 0;
}
.landing-cta .section__container {
  position: static;
  background: #899C3A;
  color: #fff;
}
.landing-cta .section__container a {
  color: #fff;
  font-weight: 700;
  border-color: transparent;
}
.landing-cta .section__container a:hover,
.landing-cta .section__container a:focus {
  border-color: currentColor;
}
.landing-cta .section__layout {
  position: relative;
  z-index: 100;
  padding-top: clamp(4.75rem, calc(2.834rem + 8.18vw), 9.375rem);
}
@media (min-width: 80em) {
  .landing-cta .section__layout {
    padding-bottom: 0;
  }
}
@media (min-width: 43.75em) {
  .landing-cta .section__heading-intro {
    font-size: 1.875rem;
  }
}
@media (min-width: 80em) {
  .landing-cta + .landing-contact {
    padding-top: 4.75rem;
  }
}
@media (min-width: 80em) and (min-width: 43.75em) {
  .landing-cta + .landing-contact {
    padding-top: 6rem;
  }
}
@media (min-width: 80em) and (min-width: 100em) {
  .landing-cta + .landing-contact {
    padding-top: 9.375rem;
  }
}
.landing-contact {
  position: relative;
  overflow: hidden;
}
@media (min-width: 43.75em) and (max-width: 79.9375em) {
  .landing-contact {
    margin-bottom: 4rem;
  }
}
@media (max-width: 79.9375em) {
  .landing-contact .deco--global {
    position: static;
    height: 150px;
  }
}
@media (min-width: 80em) {
  .landing-contact .deco--global {
    margin-top: -9.375rem;
    height: 620px;
  }
}
.display-dates {
  display: flex;
  background-color: #F5F5F5;
  border-radius: 5px;
}
.display-dates > li {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 1.25rem;
  padding-bottom: 1.1875rem;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
  font-family: Filson Pro, sans-serif;
}
.display-dates > li + li {
  border-left: 1px solid rgba(51, 51, 51, 0.1);
}
.display-dates .day {
  font-size: 1.8125rem;
}
.display-meta {
  font-family: Filson Pro, sans-serif;
}
* + .display-meta {
  margin-top: 1em;
}
.display-meta > li {
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  gap: 0.3125rem;
}
@media (min-width: 62.5rem) {
  .template--landing-rsvp .home-hero .section__layout {
    min-height: 68vw;
    padding-top: 2em;
  }
}
@media (min-width: 62.5rem) and (max-width: 79.375em) {
  .template--landing-rsvp .home-hero .section__layout {
    height: 100vw;
  }
}
@media (min-width: 62.5rem) {
  .template--landing-rsvp .home-hero__media:after {
    height: 452px;
    height: 28.25vw;
    background-image: url('/images/landing/hero-deco--rsvp.svg');
  }
}
@media (min-width: 80em) {
  .template--landing-rsvp .home-hero__media img {
    height: auto;
    bottom: 28vw;
  }
}
@media (min-width: 62.5rem) {
  .template--landing-rsvp .landing-contact {
    margin-top: -28.25vw;
  }
}
@media (min-width: 62.5rem) {
  .template--landing-rsvp .landing-contact .section__layout {
    background: #fff;
    border-radius: 10px;
    padding: 4rem;
  }
}
@media (min-width: 62.5rem) {
  .template--landing-rsvp .landing-contact .section__layout {
    padding: 6.875rem;
  }
}
@media (min-width: 62.5rem) {
  .template--landing-rsvp .contact__main {
    margin-top: 0;
    padding-right: 8.3%;
  }
}
@media (min-width: 62.5rem) {
  .template--landing-rsvp .contact__main-body {
    padding: 0;
  }
}
@media (min-width: 80em) {
  .template--landing-rsvp .contact__office-body {
    padding-top: 0;
  }
}
.section-404 {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.section-404__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media print {
  html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
  }
  body {
    margin: 0;
  }
  main {
    display: block;
  }
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
  }
  pre {
    font-family: monospace, monospace;
    font-size: 1em;
  }
  a {
    background-color: transparent;
  }
  abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp {
    font-family: monospace, monospace;
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  img {
    border-style: none;
  }
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
  }
  button,
  input {
    overflow: visible;
  }
  button,
  select {
    text-transform: none;
  }
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }
  legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
  }
  progress {
    vertical-align: baseline;
  }
  textarea {
    overflow: auto;
  }
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box;
    padding: 0;
  }
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  [type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
  }
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
  }
  details {
    display: block;
  }
  summary {
    display: list-item;
  }
  template {
    display: none;
  }
  [hidden] {
    display: none;
  }
  * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  *,
  *:before,
  *:after,
  p:first-letter,
  div:first-letter,
  blockquote:first-letter,
  li:first-letter,
  p:first-line,
  div:first-line,
  blockquote:first-line,
  li:first-line {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  html {
    font-size: 16px;
    margin: 0;
    padding: 0;
  }
  body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    background: #fff !important;
    color: #000 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 auto;
    text-rendering: optimizeLegibility;
  }
  p,
  blockquote,
  table,
  ul,
  ol,
  dl {
    margin-bottom: 1.5rem;
    margin-top: 0;
  }
  p:last-child,
  ul:last-child,
  ol:last-child {
    margin-bottom: 0;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: #000;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.2;
    margin-bottom: 0.75rem;
    margin-top: 0;
  }
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.75rem;
  }
  h4 {
    font-size: 1.5rem;
  }
  h5 {
    font-size: 1.25rem;
  }
  h6 {
    font-size: 1rem;
  }
  a,
  a:visited {
    color: #000;
    text-decoration: underline;
    word-wrap: break-word;
  }
  table {
    border-collapse: collapse;
  }
  thead {
    display: table-header-group;
  }
  table,
  th,
  td {
    border-bottom: 1px solid #000;
  }
  td,
  th {
    padding: 8px 16px;
    page-break-inside: avoid;
  }
  code,
  pre,
  kbd {
    border: 1px solid #bbb;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 85%;
  }
  code,
  kbd {
    padding: 3px;
  }
  pre {
    margin-bottom: 1.5rem;
    padding: 10px 12px;
  }
  pre code,
  pre kbd {
    border: 0;
  }
  ::-webkit-input-placeholder {
    color: transparent;
  }
  :-moz-placeholder {
    color: transparent;
  }
  ::-moz-placeholder {
    color: transparent;
  }
  :-ms-input-placeholder {
    color: transparent;
  }
  blockquote {
    border: 0;
    border-left: 5px solid #bbb;
    margin-left: 1px;
    padding: 12px 1.5rem;
  }
  [dir='rtl'] blockquote {
    border-left: 0;
    border-right: 5px solid #bbb;
    margin-left: 0;
    margin-right: 1px;
  }
  blockquote:first-child {
    margin-top: 0;
  }
  blockquote p:last-child,
  blockquote ul:last-child,
  blockquote ol:last-child {
    margin-bottom: 0;
  }
  blockquote footer {
    display: block;
    font-size: 80%;
  }
  img {
    border: 0;
    display: block;
    max-width: 100% !important;
    vertical-align: middle;
  }
  hr {
    border: 0;
    border-bottom: 2px solid #bbb;
    height: 0;
    margin: 2.25rem 0;
    padding: 0;
  }
  dt {
    font-weight: bold;
  }
  dd {
    margin: 0;
    margin-bottom: 0.75rem;
  }
  abbr[title],
  acronym[title] {
    border: 0;
    text-decoration: none;
  }
  table,
  blockquote,
  pre,
  code,
  figure,
  li,
  hr,
  ul,
  ol,
  a,
  tr {
    page-break-inside: avoid;
  }
  h2,
  h3,
  h4,
  p,
  a {
    orphans: 3;
    widows: 3;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
  }
  h1 + p,
  h2 + p,
  h3 + p {
    page-break-before: avoid;
  }
  img {
    page-break-after: auto;
    page-break-before: auto;
    page-break-inside: avoid;
  }
  pre {
    white-space: pre-wrap !important;
    word-wrap: break-word;
  }
  a[href^='http']:after,
  a[href^='ftp']:after {
    content: " (" attr(href) ")";
    font-size: 80%;
  }
  a[href$='.jpg']:after,
  a[href$='.jpeg']:after,
  a[href$='.gif']:after,
  a[href$='.png']:after {
    display: none;
  }
  abbr[title]:after,
  acronym[title]:after {
    content: " (" attr(title) ")";
  }
  .page-break,
  .break-before,
  .page-break-before {
    page-break-before: always;
  }
  .break-after,
  .page-break-after {
    page-break-after: always;
  }
  .avoid-break-inside {
    page-break-inside: avoid;
  }
  .no-print,
  div[class^="deco"],
  .deco,
  .deco--global,
  .deco--top-wave,
  .header__nav,
  .header__tools,
  .flickity-controls,
  .footer,
  .property-details__price-bar {
    display: none;
  }
  a.no-reformat:after {
    content: '';
  }
  abbr[title].no-reformat:after,
  acronym[title].no-reformat:after {
    content: '';
  }
  .no-reformat abbr:after,
  .no-reformat acronym:after,
  .no-reformat a:after {
    content: '';
  }
  .header__logo .paths path {
    fill: black !important;
  }
  .button {
    border: 1px solid black;
    color: black;
  }
  main > section:last-child .section__layout {
    margin: 0;
  }
  .gallery .flickity-viewport {
    height: auto !important;
  }
  .gallery .flickity-slider {
    position: relative;
    transform: none !important;
  }
  .gallery__slide {
    position: static !important;
  }
  .gallery__slide:not(:first-child) {
    display: none !important;
  }
  .property-enquiry__body {
    padding-left: 0;
    padding-right: 0;
  }
}
