html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

*:after,
*:before {
  box-sizing: inherit;
}

img {
  max-width: 100%;
}

::-moz-selection {
  background-color: rgba(37, 37, 37, 0.77);
  color: #fff;
}

::selection {
  background-color: rgba(37, 37, 37, 0.77);
  color: #fff;
}

.white {
  color: #fff;
}

.mountainlight {
  color: #DEE4E4;
}

.mountaindark {
  color: #9CABAB;
}

.blue {
  color: #4966D9;
}

.pine {
  color: #2B4117;
}

.charcoal {
  color: #252525;
}

@font-face {
  font-family: "AkzidenzGrotesk";
  src: url("../fonts/AkzidenzGrotesk-Light.woff") format("woff"), url("../fonts/AkzidenzGrotesk-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

/*********************
Mixins
*********************/
i {
  display: block;
  position: relative;
}

i svg {
  display: block;
}

.icon-facebook svg,
.icon-twitter svg,
.icon-instagram svg,
.icon-pinterest svg {
  width: 19px;
}

@media screen and (min-width: 1024px) {

  .icon-facebook svg,
  .icon-twitter svg,
  .icon-instagram svg,
  .icon-pinterest svg {
    width: 1.32vw;
  }
}

.icon-email svg {
  width: 18px;
}

@media screen and (min-width: 1024px) {
  .icon-email svg {
    width: 1.25vw;
  }
}

.icon-linkedin svg {
  width: 17px;
}

@media screen and (min-width: 1024px) {
  .icon-linkedin svg {
    width: 1.18vw;
  }
}

.icon--bedrooms svg {
  width: 23px;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .icon--bedrooms svg {
    width: 1.6vw;
  }
}

.icon--bathrooms svg {
  width: 20px;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .icon--bathrooms svg {
    width: 1.39vw;
  }
}

.icon--sleeps svg {
  width: 23px;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .icon--sleeps svg {
    width: 1.6vw;
  }
}

.editor h1,
.h1 {
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 46px;
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

@media screen and (min-width: 1024px) {

  .editor h1,
  .h1 {
    font-size: 84px;
    line-height: 0.89;
    letter-spacing: -0.01em;
  }

  .editor h1.b,
  .h1.b {
    font-size: 93px;
    line-height: 0.96;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .editor h1,
  .h1 {
    font-size: 5.83vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {

  .editor h1,
  .h1 {
    font-size: 4.38vw;
  }
}

.editor h2,
.h2 {
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  line-height: 1.61;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {

  .editor h2,
  .h2 {
    font-size: 43px;
    line-height: 1.05;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .editor h2,
  .h2 {
    font-size: 2.99vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {

  .editor h2,
  .h2 {
    font-size: 2.24vw;
  }
}

.fd-modal__body .ff-647463f93e266b3df9f1de81__title,
.editor h3,
.h3 {
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {

  .fd-modal__body .ff-647463f93e266b3df9f1de81__title,
  .editor h3,
  .h3 {
    font-size: 26px;
    line-height: 1.08;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .fd-modal__body .ff-647463f93e266b3df9f1de81__title,
  .editor h3,
  .h3 {
    font-size: 1.81vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {

  .fd-modal__body .ff-647463f93e266b3df9f1de81__title,
  .editor h3,
  .h3 {
    font-size: 1.35vw;
  }
}

.editor h4,
.h4 {
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {

  .editor h4,
  .h4 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .editor h4,
  .h4 {
    font-size: 1.39vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {

  .editor h4,
  .h4 {
    font-size: 1.04vw;
  }
}

.editor,
.editor p,
.editor ul,
.editor ol,
.p {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0.01em;
}

.editors,
.editor ps,
.editor uls,
.editor ols,
.ps {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.01em;
}

.editorb,
.editor pb,
.editor ulb,
.editor olb,
.pb {
  font-size: 16px;
  line-height: 1.38;
  letter-spacing: 0.01em;
}

.editor p+p,
.editor p p+p,
.editor ul p+p,
.editor ol p+p,
.p p+p {
  margin-top: 1.43em;
}

.editor p+ps,
.editor p p+ps,
.editor ul p+ps,
.editor ol p+ps,
.p p+ps {
  margin-top: 2em;
}

.editor p+pb,
.editor p p+pb,
.editor ul p+pb,
.editor ol p+pb,
.p p+pb {
  margin-top: 1.38em;
}

@media screen and (min-width: 1024px) {

  .editor,
  .editor p,
  .editor ul,
  .editor ol,
  .p {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.01em;
  }

  .editors,
  .editor ps,
  .editor uls,
  .editor ols,
  .ps {
    font-size: 14px;
    line-height: 1.71;
    letter-spacing: 0.01em;
  }

  .editorb,
  .editor pb,
  .editor ulb,
  .editor olb,
  .pb {
    font-size: 18px;
    line-height: 1.44;
    letter-spacing: 0.01em;
  }

  .editor p+p,
  .editor p p+p,
  .editor ul p+p,
  .editor ol p+p,
  .p p+p {
    margin-top: 1.5em;
  }

  .editor p+ps,
  .editor p p+ps,
  .editor ul p+ps,
  .editor ol p+ps,
  .p p+ps {
    margin-top: 1.71em;
  }

  .editor p+pb,
  .editor p p+pb,
  .editor ul p+pb,
  .editor ol p+pb,
  .p p+pb {
    margin-top: 1.44em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .editor,
  .editor p,
  .editor ul,
  .editor ol,
  .p {
    font-size: 1.11vw;
  }

  .editors,
  .editor ps,
  .editor uls,
  .editor ols,
  .ps {
    font-size: 0.97vw;
  }

  .editorb,
  .editor pb,
  .editor ulb,
  .editor olb,
  .pb {
    font-size: 1.25vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {

  .editor,
  .editor p,
  .editor ul,
  .editor ol,
  .p {
    font-size: 0.83vw;
  }

  .editors,
  .editor ps,
  .editor uls,
  .editor ols,
  .ps {
    font-size: 0.73vw;
  }

  .editorb,
  .editor pb,
  .editor ulb,
  .editor olb,
  .pb {
    font-size: 0.94vw;
  }
}

.editor ul,
ul.p,
.p ul {
  list-style-type: disc;
}

.editor ol,
ol.p,
.p ol {
  list-style-type: decimal;
}

.editor ul,
ul.p,
.p ul,
.editor ol,
ol.p,
.p ol {
  padding-left: 2em;
}

.editor ul li+li,
ul.p li+li,
.p ul li+li,
.editor ol li+li,
ol.p li+li,
.p ol li+li {
  margin-top: 0.25em;
}

a.link {
  display: inline-block;
  transition: 0.5s;
}

a.link:hover {
  opacity: 0.5;
}

a.link:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.link {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 0.94;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.links {
  font-size: 14px;
  line-height: 1.14;
  letter-spacing: 0.11em;
}

@media screen and (min-width: 1024px) {
  .link {
    font-size: 21px;
    line-height: 0.95;
    letter-spacing: 0.12em;
  }

  .links {
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: 0.11em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .link {
    font-size: 1.46vw;
  }

  .links {
    font-size: 1.11vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .link {
    font-size: 1.09vw;
  }

  .links {
    font-size: 0.83vw;
  }
}

.button,
.fd-modal__body input[type=submit] {
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {

  .button,
  .fd-modal__body input[type=submit] {
    font-size: 26px;
    line-height: 1.19;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .button,
  .fd-modal__body input[type=submit] {
    font-size: 1.81vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {

  .button,
  .fd-modal__body input[type=submit] {
    font-size: 1.35vw;
  }
}

.button {
  color: #4966D9;
}

.button span {
  display: block;
}

.button i {
  display: block;
  margin-top: 18px;
}

.button i.icon--arrow-long svg {
  display: block;
  width: 40px;
  height: auto;
}

.caption .ps {
  line-height: 1;
}

.editor h1 {
  margin: 12px 0;
}

.editor h1+h2,
.editor h1+h3 {
  margin-top: 32px;
}

.editor h1+h4,
.editor h1+p,
.editor h1+ul,
.editor h1+ol {
  margin-top: 12px;
}

@media screen and (min-width: 1024px) {

  .editor h1+h2,
  .editor h1+h3 {
    margin-top: 64px;
  }
}

.editor h2 {
  margin: 32px 0 14px;
}

.editor h2+h3,
.editor h2+h4,
.editor h2+p,
.editor h2+ul,
.editor h2+ol {
  margin-top: 14px;
}

@media screen and (min-width: 1024px) {
  .editor h2 {
    margin-top: 64px;
  }
}

.editor h3 {
  margin: 32px 0 14px;
}

.editor h3+h4,
.editor h3+p,
.editor h3+ul,
.editor h3+ol {
  margin-top: 14px;
}

@media screen and (min-width: 1024px) {
  .editor h3 {
    margin-top: 64px;
  }
}

.editor h4 {
  margin: 14px 0;
}

.editor h4+p,
.editor h4+ul,
.editor h4+ol {
  margin-top: 14px;
}

.editor p,
.editor ul,
.editor ol {
  margin: 1.43em 0;
}

.editor p+h2,
.editor p+h3,
.editor p+h4,
.editor ul+h2,
.editor ul+h3,
.editor ul+h4,
.editor ol+h2,
.editor ol+h3,
.editor ol+h4 {
  margin-top: 32px;
}

.editor p+p,
.editor p+ul,
.editor p+ol,
.editor ul+p,
.editor ul+ul,
.editor ul+ol,
.editor ol+p,
.editor ol+ul,
.editor ol+ol {
  margin-top: 1.43em;
}

@media screen and (min-width: 1024px) {

  .editor p,
  .editor ul,
  .editor ol {
    margin: 1.5em 0;
  }

  .editor p+h2,
  .editor p+h3,
  .editor p+h4,
  .editor ul+h2,
  .editor ul+h3,
  .editor ul+h4,
  .editor ol+h2,
  .editor ol+h3,
  .editor ol+h4 {
    margin-top: 64px;
  }

  .editor p+p,
  .editor p+ul,
  .editor p+ol,
  .editor ul+p,
  .editor ul+ul,
  .editor ul+ol,
  .editor ol+p,
  .editor ol+ul,
  .editor ol+ol {
    margin-top: 1.5em;
  }
}

.ff-647463f93e266b3df9f1de81__title * {
  font-weight: 400;
}

html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background-color: #fff;
  color: #2B4117;
  transition: 0.5s;
}

body.noscroll {
  overflow: hidden;
}

body.is-loading {
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

body.is-done-loading {
  opacity: 1;
  transition: 0.5s;
}

.main {
  position: relative;
  z-index: 2;
  flex: 1;
}

video,
img {
  display: block;
  width: 100%;
}

a {
  color: inherit;
}

.center {
  padding-left: 6.94vw;
  padding-right: 6.94vw;
}

.center>.center {
  padding-left: 0;
  padding-right: 0;
}

@media screen and (min-width: 768px) {
  .center {
    padding-left: 4.17vw;
    padding-right: 4.17vw;
  }

  .center>.center {
    padding-left: 10.42vw;
    padding-right: 10.42vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .center>.center {
    padding-left: 19.1vw;
    padding-right: 19.1vw;
  }
}

.basic {
  padding-bottom: 9.72vw;
}

[data-scroll-direction=horizontal] .scroll[data-scroll-container] {
  display: inline-flex;
  font-size: 0;
}

img:not([src]):not([srcset]) {
  visibility: hidden;
}

.calendly-spinner {
  display: none;
}

/* Recommended styles for Splitting */
.splitting .word,
.splitting .char {
  display: inline-block;
}

/* Psuedo-element chars */
.splitting .char {
  position: relative;
}

/**
 * Populate the psuedo elements with the character to allow for expanded effects
 * Set to `display: none` by default; just add `display: block` when you want
 * to use the psuedo elements
 */
.splitting .char::before,
.splitting .char::after {
  content: attr(data-char);
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  transition: inherit;
  user-select: none;
}

/* Expanded CSS Variables */
.splitting {
  /* The center word index */
  --word-center: calc((var(--word-total) - 1) / 2);
  /* The center character index */
  --char-center: calc((var(--char-total) - 1) / 2);
  /* The center character index */
  --line-center: calc((var(--line-total) - 1) / 2);
}

.splitting .word {
  /* Pecent (0-1) of the word's position */
  --word-percent: calc(var(--word-index) / var(--word-total));
  /* Pecent (0-1) of the line's position */
  --line-percent: calc(var(--line-index) / var(--line-total));
}

.splitting .char {
  /* Percent (0-1) of the char's position */
  --char-percent: calc(var(--char-index) / var(--char-total));
  /* Offset from center, positive & negative */
  --char-offset: calc(var(--char-index) - var(--char-center));
  /* Absolute distance from center, only positive */
  --distance: calc((var(--char-offset) * var(--char-offset)) / var(--char-center));
  /* Distance from center where -1 is the far left, 0 is center, 1 is far right */
  --distance-sine: calc(var(--char-offset) / var(--char-center));
  /* Distance from center where 1 is far left/far right, 0 is center */
  --distance-percent: calc((var(--distance) / var(--char-center)));
}

/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-target {
  position: relative;
}

.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

/* Wrapper for all connect elements.
 */
.noUi-connects {
  overflow: hidden;
  z-index: 0;
}

.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -webkit-transform-style: preserve-3d;
  transform-origin: 0 0;
  transform-style: flat;
}

/* Offset direction
 */
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}

/* Give origins 0 height/width so they don't interfere with clicking the
 * connect elements.
 */
.noUi-vertical .noUi-origin {
  top: -100%;
  width: 0;
}

.noUi-horizontal .noUi-origin {
  height: 0;
}

.noUi-handle {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
}

.noUi-touch-area {
  height: 100%;
  width: 100%;
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}

.noUi-state-drag * {
  cursor: inherit !important;
}

/* Slider size and handle placement;
 */
.noUi-horizontal {
  height: 18px;
}

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  right: -17px;
  top: -6px;
}

.noUi-vertical {
  width: 18px;
}

.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  right: -6px;
  bottom: -17px;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto;
}

/* Styling;
 * Giving the connect element a border radius causes issues with using transform: scale
 */
.noUi-target {
  background: #FAFAFA;
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}

.noUi-connects {
  border-radius: 3px;
}

.noUi-connect {
  background: #3FB8AF;
}

/* Handles and cursors;
 */
.noUi-draggable {
  cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}

.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}

.noUi-active {
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}

/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #E8E7E6;
  left: 14px;
  top: 6px;
}

.noUi-handle:after {
  left: 17px;
}

.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}

.noUi-vertical .noUi-handle:after {
  top: 17px;
}

/* Disabled state;
 */
[disabled] .noUi-connect {
  background: #B8B8B8;
}

[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
  cursor: not-allowed;
}

/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-pips {
  position: absolute;
  color: #999;
}

/* Values;
 *
 */
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}

.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}

/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: #CCC;
}

.noUi-marker-sub {
  background: #AAA;
}

.noUi-marker-large {
  background: #AAA;
}

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}

.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}

/* Vertical layout;
 *
 */
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}

.noUi-value-vertical {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding-left: 25px;
}

.noUi-rtl .noUi-value-vertical {
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
}

.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}

.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}

.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}

.noUi-vertical .noUi-tooltip {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}

.noUi-horizontal .noUi-origin>.noUi-tooltip {
  -webkit-transform: translate(50%, 0);
  transform: translate(50%, 0);
  left: auto;
  bottom: 10px;
}

.noUi-vertical .noUi-origin>.noUi-tooltip {
  -webkit-transform: translate(0, -18px);
  transform: translate(0, -18px);
  top: auto;
  right: 28px;
}

#cookie-law-info-bar {
  background-color: #DEE4E4 !important;
  box-shadow: none;
  color: #2B4117;
  left: auto;
  right: 0;
  width: 100vw;
}

#cookie-law-info-bar .cli-bar-container {
  flex-direction: column;
  align-items: center;
}

#cookie-law-info-bar .cli-plugin-button,
#cookie-law-info-bar .cli-bar-message {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1.43;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  #cookie-law-info-bar .cli-plugin-button,
  #cookie-law-info-bar .cli-bar-message {
    font-size: 0.83vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {

  #cookie-law-info-bar .cli-plugin-button,
  #cookie-law-info-bar .cli-bar-message {
    font-size: 0.63vw;
  }
}

#cookie-law-info-bar .cli-bar-message {
  width: 100%;
  text-align: left;
}

#cookie-law-info-bar .cli-plugin-button {
  transition: 0.5s;
}

#cookie-law-info-bar .cli-plugin-main-button {
  background-color: #fff !important;
}

#cookie-law-info-bar .cli-plugin-main-button:hover {
  background-color: #9CABAB !important;
  color: #fff !important;
}

#cookie-law-info-bar .wt-cli-accept-all-btn:hover {
  background-color: #2B4117 !important;
}

@media screen and (min-width: 768px) {
  #cookie-law-info-bar {
    width: 50vw;
  }
}

@media screen and (min-width: 1024px) {
  #cookie-law-info-bar {
    width: 25vw;
  }

  #cookie-law-info-bar .cli-bar-btn_container {
    margin-top: 10px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  #cookie-law-info-bar {
    padding: 0.97vw 1.74vw !important;
  }

  #cookie-law-info-bar .cli-bar-btn_container {
    margin-top: 0.69vw;
  }
}

#wt-cli-accept-all-btn {
  background-color: #4966D9 !important;
}

body.single-villa .concierge {
  display: none;
}

.concierge {
  display: block;
  position: fixed;
  z-index: 2;
  bottom: 0;
  right: 0;
  width: 100%;
  background-color: #2B4117;
  color: #fff;
  overflow: hidden;
}

.concierge.is-open .activate i {
  transform: translateY(-10%) rotate(0);
}

.concierge.is-open .appear {
  height: auto;
}

.concierge.is-open .appear .text {
  transform: translateY(-2.67vw);
  opacity: 1;
  transition: 0.35s ease-out 0.15s;
}

.concierge .activate .h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5.33vw 6.4vw;
}

.concierge .activate i {
  display: block;
  transform: translateY(-10%) rotate(180deg);
  transition: 0.35s;
}

.concierge .activate i svg {
  width: 14px;
}

.concierge .activate i svg path {
  fill: currentColor;
}

.concierge .appear {
  height: 0;
}

.concierge .appear .text {
  padding: 0 6.4vw 2.67vw;
  opacity: 0;
  transition: 0.25s;
}

.concierge .appear .text a {
  display: inline-block;
  text-decoration: underline;
  transition: 0.5s;
}

.concierge .appear .text a:hover {
  opacity: 0.5;
}

.concierge .appear .text a:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.concierge .appear .text ul {
  margin-top: 16px;
}

.concierge .appear .text ul li {
  display: flex;
  align-items: center;
}

.concierge .appear .text ul li .icon+.info {
  margin-left: 4.8vw;
}

.concierge .appear .text ul li+li {
  margin-top: 24px;
}

.concierge .appear .text ul+.p {
  margin-top: 36px;
}

.concierge .icon svg {
  display: block;
  width: 28px;
}

.concierge .icon svg path {
  fill: #fff;
}

@media screen and (min-width: 500px) {
  .concierge {
    right: 3.33vw;
    bottom: 3.06vw;
    width: 25.9vw;
    min-width: 373px;
  }

  .concierge.is-open .appear .text {
    transform: translateY(-0.9vw);
  }

  .concierge .activate .h3 {
    padding: 1.81vw 2.5vw;
  }

  .concierge .appear {
    position: relative;
    z-index: 2;
  }

  .concierge .appear .text {
    padding: 0 2.5vw 1.46vw;
  }

  .concierge .appear .text ul li .icon+.info {
    margin-left: 1.67vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .concierge {
    right: 48px;
    bottom: 44px;
    width: 373px;
    min-width: 373px;
  }

  .concierge.is-open .appear .text {
    transform: translateY(-13px);
  }

  .concierge .activate .h3 {
    padding: 26px 36px;
  }

  .concierge .appear {
    position: relative;
    z-index: 2;
  }

  .concierge .appear .text {
    padding: 0 36px 21px;
  }

  .concierge .appear .text ul li .icon+.info {
    margin-left: 24px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .concierge .activate h3 {
    font-size: 26px;
  }

  .concierge .appear .text .p {
    font-size: 18px;
  }
}

/* .datepickerInput {
  display: flex;
  align-items: center;
  border-bottom: 1px solid currentColor;

  > span {
    padding-left: .5em;
    padding-right: .5em;
  }

  input {
    flex: 1;
    border-bottom: 0;
  }
}

.datepicker {
  @include akzidenz-grotesk;

  &-picker {
    width: vw(351);
    min-width: 351px;
    border-radius: 0;
    box-shadow: none;
    background-color: $cpine;
    color: #fff;
  }

  .datepicker-grid {
    width: 100%;
  }
} */
.datepicker {
  display: block;
  cursor: pointer;
}

.datepicker .datepickerFakeInput {
  display: none;
}

.datepicker.is-active .activate i {
  transform: rotateX(180deg);
}

.datepicker.is-active .appear {
  transform: translateY(0);
  pointer-events: all;
  transition: 0.5s;
}

.datepicker.is-active .appear .datepickerAppear {
  opacity: 1;
  transform: rotateY(0);
}

.datepicker .appear {
  position: absolute;
  transform: translateY(20px);
  top: 100%;
  left: 0;
  margin-top: 20px;
  width: 100%;
  pointer-events: none;
  cursor: auto;
  transition: 0.5s;
  transition-delay: 0.35s;
  perspective: 4000px;
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
}

.datepicker .appear .datepickerAppear {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  transform-origin: left;
  will-change: transform;
  width: fit-content;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.datepicker .appear .datepickerUI {
  order: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #4d603c;
  padding: 20px;
  background-color: #2B4117;
  color: #fff;
}

.datepicker .appear .datepickerUI.hide-note {
  justify-content: center;
}

.datepicker .appear .datepickerUI.hide-note .note {
  display: none;
}

.datepicker .appear .datepickerUI .note {
  color: #9CABAB;
}

@media screen and (min-width: 1024px) {
  .datepicker .appear .datepickerUI .note {
    font-size: 13px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .datepicker .appear .datepickerUI .note {
    font-size: 0.9vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .datepicker .appear .datepickerUI .note {
    font-size: 0.68vw;
  }
}

.datepicker .appear .datepickerUI .button {
  color: #fff;
  transition: 0.35s;
}

.datepicker .appear .datepickerUI .button:hover {
  opacity: 0.7;
}

@media screen and (min-width: 1024px) {
  .datepicker .appear .datepickerUI .button {
    font-size: 16px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .datepicker .appear .datepickerUI .button {
    font-size: 1.11vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .datepicker .appear .datepickerUI .button {
    font-size: 0.83vw;
  }
}

.datepicker .appear .datepickerUI .button.is-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.datepicker .appear button {
  width: auto;
}

.datepicker .appear .datepickerLoader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(43, 65, 23, 0.85);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: 0.5s;
}

.datepicker .appear .datepickerLoader .text.text.text {
  color: #fff;
}

.datepicker .appear .datepickerLoader .h3 {
  padding-top: 0;
}

.datepicker .appear .datepickerLoader.show {
  opacity: 1;
  pointer-events: all;
}

.datepicker .litepicker .container__months .month-item {
  width: 24.38vw;
  min-width: 351px;
  padding: 0;
}

.litepicker {
  /* .day-item.is-start-date ~ .is-locked ~ .day-item {
    opacity: 0.5;
    color: var(--litepicker-is-locked-color);
    background-color: transparent;
    pointer-events: none;
  } */
}

.litepicker .container__tooltip {
  text-align: center;
}

.litepicker .container__tooltip span {
  display: block;
  margin-top: 0.5em;
  font-size: 0.8em;
}

.litepicker .container__months {
  flex-wrap: nowrap;
  width: auto;
  border-radius: 0;
  box-shadow: none;
  background-color: #2B4117;
  color: #fff;
}

.litepicker .container__months .month-item button {
  cursor: pointer;
  transition: 0.5s;
}

.litepicker .container__months .month-item button:hover {
  opacity: 0.5;
}

.litepicker .container__months .month-item button:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.litepicker .container__months.columns-2 {
  width: auto;
}

.litepicker .container__months.columns-2 .month-item:first-child .month-item-year {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.litepicker .container__months.columns-2 .month-item:last-child .month-item-year {
  display: none;
}

.litepicker .container__months.columns-2 .month-item:last-child .month-item-weekdays-row,
.litepicker .container__months.columns-2 .month-item:last-child .container__days {
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.litepicker .container__months.columns-2 .month-item-header {
  position: relative;
}

.litepicker .container__months .month-item {
  width: 100%;
  padding: 0;
}

.litepicker .container__months .month-item-weekdays-row,
.litepicker .container__months .container__days {
  padding-left: 12px;
  padding-right: 12px;
}

.litepicker .container__months .month-item-weekdays-row {
  padding-top: 10px;
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #fff;
}

.litepicker .container__months .month-item-weekdays-row>div {
  padding: 0;
  font-size: 1em;
}

.litepicker .container__months .month-item-header {
  padding: 22px 12px;
  color: inherit;
}

.litepicker .container__months .month-item-header button svg {
  display: block;
  width: 0.9vw;
  min-width: 13px;
}

.litepicker .container__months .month-item-header button svg path {
  fill: #fff;
}

.litepicker .container__months .month-item-header button.button-previous-month svg {
  transform: rotate(90deg);
}

.litepicker .container__months .month-item-header button.button-next-month svg {
  transform: rotate(-90deg);
}

.litepicker .container__months .month-item-header>div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.litepicker .container__months .month-item-header>div .month-item-name {
  order: 2;
  margin: 0;
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {
  .litepicker .container__months .month-item-header>div .month-item-name {
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .litepicker .container__months .month-item-header>div .month-item-name {
    font-size: 1.67vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .litepicker .container__months .month-item-header>div .month-item-name {
    font-size: 1.25vw;
  }
}

.litepicker .container__months .month-item-header>div .month-item-year {
  order: 1;
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .litepicker .container__months .month-item-header>div .month-item-year {
    font-size: 0.83vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .litepicker .container__months .month-item-header>div .month-item-year {
    font-size: 0.63vw;
  }
}

.litepicker .container__days {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  padding-top: 8px;
  padding-bottom: 20px;
  row-gap: 8px;
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.litepicker .container__days .day-item {
  width: 100%;
  padding: 4px 0 2px;
  color: #fff;
}

.litepicker .container__days .day-item.is-locked {
  opacity: 0.5;
}

.litepicker .container__days .day-item:hover {
  color: #fff;
  font-weight: 600;
}

.litepicker .container__days .day-item:hover {
  background-color: rgba(255, 255, 255, 0.16);
  box-shadow: none;
}

.litepicker .container__days .day-item.is-start-date,
.litepicker .container__days .day-item.is-in-range,
.litepicker .container__days .day-item.is-end-date {
  color: #2B4117;
  background-color: #fff;
}

.litepicker .container__days .day-item.is-start-date {
  border-top-left-radius: 100px;
  border-bottom-left-radius: 100px;
}

.litepicker .container__days .day-item.is-end-date {
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
}

body.device-mobile .datepicker .activate input {
  font-size: 16px;
}

.feature .headline {
  position: relative;
  z-index: 2;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  color: #2B4117;
}

.feature .headline .h1 {
  margin-bottom: -1.5em;
  max-width: 292px;
}

.feature .page {
  width: 100%;
}

.feature .page .pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.feature .page .pc .pe {
  width: calc(100% + 20vh);
  height: 100%;
  margin-left: -10vh;
  /* height: calc(100% + 20vh);
  margin-top: -10vh; */
}

.feature .page .video {
  position: relative;
}

.feature .page .video:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 56.2167906482%;
}

.feature .page .video picture,
.feature .page .video img,
.feature .page .video video,
.feature .page .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.feature .page .video video,
.feature .page .video img {
  object-fit: cover;
}

.feature .page .video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feature .page .image img {
  width: 100%;
}

.feature .page .text {
  margin-top: 26px;
  padding-left: 5.33vw;
  padding-right: 5.33vw;
  text-align: right;
  color: #4966D9;
}

@media screen and (min-width: 768px) {
  .feature {
    display: flex;
    padding-left: 8.06vw;
    padding-right: 8.06vw;
  }

  .feature .headline,
  .feature .page .text {
    padding-left: 0;
    padding-right: 0;
  }

  .feature .headline {
    display: flex;
    align-items: flex-end;
    width: 0;
  }

  .feature .headline .pc {
    position: absolute;
    left: 0;
    bottom: 96px;
    margin: 0;
    max-width: none;
    width: 39.86vw;
  }

  .feature .headline .h1 {
    margin-bottom: 0;
  }

  .feature .page {
    padding-left: 18.54vw;
  }

  .feature .page .text {
    margin-top: 29px;
    text-align: left;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .feature .headline .pc {
    bottom: 6.67vw;
  }

  .feature .page .text {
    margin-top: 2.01vw;
  }
}

.villaFilters {
  position: relative;
  z-index: 100;
  padding-bottom: 8px;
  cursor: pointer;
}

.villaFilters.is-active .activate i {
  transform: rotateX(180deg);
}

.villaFilters.is-active .appear {
  transform: translateY(0);
  pointer-events: all;
  transition: 0.5s;
}

.villaFilters.is-active .appear .blocks .block {
  opacity: 1;
  transform: rotateY(0);
}

.villaFilters.is-active .appear .blocks .block:nth-child(1) {
  transition-delay: 0s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(2) {
  transition-delay: 0.025s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(3) {
  transition-delay: 0.05s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(4) {
  transition-delay: 0.075s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(5) {
  transition-delay: 0.1s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(6) {
  transition-delay: 0.125s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(7) {
  transition-delay: 0.15s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(8) {
  transition-delay: 0.175s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(9) {
  transition-delay: 0.2s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(10) {
  transition-delay: 0.225s;
}

.villaFilters.is-active .appear .blocks .block:nth-child(11) {
  transition-delay: 0.25s;
}

.villaFilters .activate {
  display: flex;
  align-items: center;
  transition: 0.5s;
}

.villaFilters .activate span {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0.01em;
  color: #2B4117;
}

.villaFilters .activate i {
  margin-top: 1px;
  margin-left: 13px;
  transition: 0.5s;
}

.villaFilters .activate i svg {
  width: 10px;
  height: auto;
}

.villaFilters .activate:hover {
  opacity: 0.5;
}

.villaFilters .activate:active {
  transform: scale(0.975);
  opacity: 0.75;
  transition: 0.15s;
}

.villaFilters .appear {
  position: absolute;
  transform: translateY(20px);
  top: 100%;
  left: 0;
  pointer-events: none;
  cursor: auto;
  transition: 0.5s;
  transition-delay: 0.35s;
}

.villaFilters .appear form {
  width: 24.31vw;
  min-width: 350px;
}

.villaFilters .appear .blocks {
  perspective: 4000px;
  transform-origin: 50% 50%;
  transform: translate(0px, 0px);
  transform-style: preserve-3d;
}

.villaFilters .appear .block,
.villaFilters .appear .row,
.villaFilters .appear .input.increment {
  display: flex;
  align-items: center;
  width: 100%;
}

.villaFilters .appear .block {
  padding-top: 22px;
  padding-bottom: 25px;
  padding-left: 30px;
  padding-right: 30px;
  background-color: #2B4117;
  color: #fff;
  transform-origin: left;
  will-change: transform;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.villaFilters .appear .block--dates,
.villaFilters .appear .block--price {
  flex-wrap: wrap;
}

.villaFilters .appear .block--dates .hidden,
.villaFilters .appear .block--price .hidden {
  margin-left: -30px;
  margin-right: -30px;
  width: calc(100% + 60px);
  padding-left: 30px;
  padding-right: 30px;
}

.villaFilters .appear .block--dates .input,
.villaFilters .appear .block--price .input {
  padding-right: 10px;
}

.villaFilters .appear .block--dates .hidden .datepickerFakeInput {
  display: none;
}

.villaFilters .appear .block--dates .hidden .litepicker {
  margin-top: 29px;
}

.villaFilters .appear .block--dates .hidden .litepicker .container__months .month-item-header .button-next-month {
  display: flex;
  justify-content: flex-end;
}

.villaFilters .appear .block--dates .hidden .litepicker .container__tooltip {
  color: #2B4117;
}

.villaFilters .appear .block--dates .hidden .litepicker,
.villaFilters .appear .block--dates .hidden .container__main,
.villaFilters .appear .block--dates .hidden .container__months {
  width: 100%;
}

.villaFilters .appear .block--price .priceRange {
  width: 100%;
  margin-top: 29px;
  margin-bottom: 15px;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .villaFilters .appear .block--price .priceRange {
    margin-top: 2.01vw;
    margin-bottom: 1.04vw;
  }
}

.villaFilters .appear .block--properties {
  flex-direction: column;
  align-items: flex-start;
}

.villaFilters .appear .block--properties .label {
  width: 75%;
}

.villaFilters .appear .block--properties input {
  text-align: center;
}

.villaFilters .appear .block--properties input::-webkit-outer-spin-button,
.villaFilters .appear .block--properties input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.villaFilters .appear .block--properties input[type=number] {
  -moz-appearance: textfield;
}

.villaFilters .appear .block--properties .minus,
.villaFilters .appear .block--properties .plus {
  position: relative;
  width: 1.85em;
  transition: 0.5s;
}

.villaFilters .appear .block--properties .minus:before,
.villaFilters .appear .block--properties .plus:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.villaFilters .appear .block--properties .minus span,
.villaFilters .appear .block--properties .plus span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 0.25em;
}

.villaFilters .appear .block--properties .minus:hover,
.villaFilters .appear .block--properties .plus:hover {
  opacity: 0.5;
}

.villaFilters .appear .block--properties .minus:active,
.villaFilters .appear .block--properties .plus:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.villaFilters .appear .block--apply {
  padding: 0;
}

.villaFilters .appear .block--apply button {
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 30px;
  padding-right: 30px;
  transition: 0.5s;
}

.villaFilters .appear .block--apply button span {
  display: block;
  transition: 0.15s;
}

.villaFilters .appear .block--apply button:hover {
  background-color: rgba(255, 255, 255, 0.17);
}

.villaFilters .appear .block--apply button:active {
  background-color: rgba(255, 255, 255, 0.34);
  transition: 0.15s;
}

.villaFilters .appear .block--apply button:active span {
  transform: scale(0.975);
}

.villaFilters .appear .block--keywords {
  align-items: flex-start;
}

.villaFilters .appear .block--keywords .label {
  width: 40%;
}

.villaFilters .appear .block--keywords .input label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.villaFilters .appear .block+.block {
  margin-top: -1px;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.villaFilters .appear .row+.row {
  margin-top: 10px;
}

.villaFilters .appear .label {
  width: 50%;
}

.villaFilters .appear .input {
  flex: 1;
}

.villaFilters .appear .input input,
.villaFilters .appear .input textarea,
.villaFilters .appear .input select,
.villaFilters .appear .input button {
  width: 100%;
  border: 0;
  color: currentColor;
  appearance: none;
  background-color: transparent;
}

.villaFilters .appear .input input,
.villaFilters .appear .input textarea,
.villaFilters .appear .input select {
  padding: 0;
}

.villaFilters .appear .input input::placeholder,
.villaFilters .appear .input textarea::placeholder,
.villaFilters .appear .input select::placeholder {
  color: #fff;
  opacity: 1;
}

.villaFilters .appear .input input:-ms-input-placeholder,
.villaFilters .appear .input textarea:-ms-input-placeholder,
.villaFilters .appear .input select:-ms-input-placeholder {
  color: #fff;
  opacity: 1;
}

.villaFilters .appear .input input::-ms-input-placeholder,
.villaFilters .appear .input textarea::-ms-input-placeholder,
.villaFilters .appear .input select::-ms-input-placeholder {
  color: #fff;
  opacity: 1;
}

.villaFilters .appear .input button {
  cursor: pointer;
}

.villaFilters .appear .input input[type=text] {
  border-bottom: 1px solid currentColor;
}

.villaFilters .appear .input input[type=checkbox] {
  display: none;
}

.villaFilters .appear .input input[type=checkbox]+label {
  position: relative;
  cursor: pointer;
}

.villaFilters .appear .input input[type=checkbox]+label:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 2px;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  border-radius: 100px;
  opacity: 0;
  transition: 0.5s;
}

.villaFilters .appear .input input[type=checkbox]+label:after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 100px;
  transition: 0.15s;
}

.villaFilters .appear .input input[type=checkbox]+label:hover:before {
  opacity: 0.5;
}

.villaFilters .appear .input input[type=checkbox]+label:active:before,
.villaFilters .appear .input input[type=checkbox]+label:active:after {
  transform: scale(0.925);
  transition: 0.15s;
}

.villaFilters .appear .input input[type=checkbox]+label:active:before {
  opacity: 0.75;
}

.villaFilters .appear .input input[type=checkbox]:checked+label:before {
  opacity: 1;
}

.villaFilters .appear .input .row+.row {
  margin-top: 6px;
}

.villaFilters .priceRange {
  height: 3px;
  background-color: #9CABAB;
  border: 0;
  box-shadow: none;
}

.villaFilters .priceRange .noUi-connect {
  background-color: #fff;
}

.villaFilters .priceRange .noUi-handle {
  right: -10px;
  top: -8px;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
}

.villaFilters .priceRange .noUi-handle:before,
.villaFilters .priceRange .noUi-handle:after {
  content: none;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .villaFilters .priceRange {
    height: 0.21vw;
  }

  .villaFilters .priceRange .noUi-handle {
    right: -0.69vw;
    top: -0.56vw;
    width: 1.39vw;
    height: 1.39vw;
  }
}

/* footer {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 62px 7.2vw 40px;
  background-color: #DEE4E4;
  color: #4966D9;
}

@media screen and (min-width: 500px) {
  footer {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  footer {
    padding-top: 65px;
    padding-bottom: 50px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  footer {
    padding-top: 4.51vw;
    padding-bottom: 3.47vw;
    padding-left: 17.22vw;
    padding-right: 17.22vw;
  }
}

footer .logo {
  text-align: center;
}

footer .logo a {
  display: inline-block;
  transition: 0.5s;
}

footer .logo a:hover {
  opacity: 0.5;
}

footer .logo a:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

footer .logo img {
  display: inline-block;
  width: 46.67vw;
  height: auto;
}

@media screen and (min-width: 768px) {
  footer .logo img {
    min-width: 218px;
    width: 15.14vw;
  }
}

footer .instagram {
  margin-top: 53px;
}

footer .instagram .text {
  text-align: center;
}

footer .instagram .feed {
  margin-top: 17px;
}

footer .instagram .feed ul {
  display: grid;
  column-gap: 16px;
  row-gap: 15px;
}

footer .instagram .feed li a {
  display: block;
  position: relative;
}

footer .instagram .feed li a:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

footer .instagram .feed li a picture,
footer .instagram .feed li a img,
footer .instagram .feed li a video,
footer .instagram .feed li a iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

footer .instagram .feed li a video,
footer .instagram .feed li a img {
  object-fit: cover;
}

@media screen and (min-width: 300px) {
  footer .instagram .feed ul {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 768px) {
  footer .instagram {
    margin-top: 93px;
  }

  footer .instagram .feed {
    margin-top: 22px;
  }

  footer .instagram .feed ul {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

@media screen and (min-width: 1024px) {
  footer .instagram .feed ul {
    column-gap: 27px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  footer .instagram {
    margin-top: 6.46vw;
  }

  footer .instagram .feed {
    margin-top: 1.53vw;
  }
}

footer .newsletter {
  margin-top: 59px;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  footer .newsletter {
    margin-top: 4.1vw;
  }
}

footer .navigation-secondary * {
  text-transform: none;
}

footer .navigation {
  margin-top: 59px;
}

footer .navigation:last-child {
  margin-top: 24px;
}

footer .navigation:last-child ul li+li {
  margin-top: 12px;
}

footer .navigation:last-child .link {
  font-size: 12px;
}

footer .navigation ul {
  text-align: center;
}

footer .navigation ul li+li {
  margin-top: 32px;
}

@media screen and (min-width: 768px) {
  footer .navigation {
    width: 85%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  footer .navigation {
    margin-top: 48px;
  }

  footer .navigation:last-child {
    margin-top: 24px;
  }

  footer .navigation:last-child ul li {
    margin-left: 12px;
    margin-right: 12px;
  }

  footer .navigation:last-child ul li+li {
    margin-top: 0;
  }

  footer .navigation ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 24px;
  }

  footer .navigation ul li {
    margin-left: 24px;
    margin-right: 24px;
  }

  footer .navigation ul li+li {
    margin-top: 0;
  }
}

@media screen and (min-width: 1024px) {
  footer .navigation:last-child ul li {
    margin-left: 24px;
    margin-right: 24px;
  }

  footer .navigation ul li {
    margin-left: 39px;
    margin-right: 39px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  footer .navigation {
    margin-top: 3.33vw;
  }

  footer .navigation:last-child {
    margin-top: 1.67vw;
  }

  footer .navigation:last-child ul li {
    margin-left: 1.67vw;
    margin-right: 1.67vw;
  }

  footer .navigation:last-child .link {
    font-size: 0.83vw;
  }

  footer .navigation ul {
    row-gap: 1.67vw;
  }

  footer .navigation ul li {
    margin-left: 2.71vw;
    margin-right: 2.71vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  footer .navigation:last-child .link {
    font-size: 0.63vw;
  }
}

footer .contact {
  margin-top: 38px;
}

footer .contact ul {
  text-align: center;
}

footer .contact ul li a {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.01em;
  display: inline-block;
  transition: 0.5s;
}

footer .contact ul li a:hover {
  opacity: 0.5;
}

footer .contact ul li a:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

footer .contact ul li:first-child a span {
  font-size: 1.1em;
}

footer .contact ul li+li {
  margin-top: 5px;
}

@media screen and (min-width: 768px) {
  footer .contact {
    margin-top: 43px;
  }

  footer .contact ul {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  footer .contact ul li:first-child a {
    padding-bottom: 0.1em;
  }

  footer .contact ul li+li {
    margin-top: 0;
    margin-left: 40px;
  }
}

@media screen and (min-width: 1024px) {
  footer .contact ul li a {
    font-size: 14px;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  footer .contact {
    margin-top: 2.99vw;
  }

  footer .contact ul li a {
    font-size: 0.97vw;
  }

  footer .contact ul li+li {
    margin-left: 2.78vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  footer .contact ul li a {
    font-size: 0.73vw;
  }
}

footer .partner {
  margin-top: 24px;
  text-align: center;
}

footer .partner .image {
  display: block;
  margin: auto;
  width: 10vw;
  min-width: 100px;
}

footer .partner .text {
  margin-top: 12px;
  font-size: 12px;
}

footer .partner .text p {
  font-size: 1.1em;
}

@media screen and (min-width: 768px) {
  footer .partner {
    margin-top: 32px;
  }
}

@media screen and (min-width: 1024px) {
  footer .partner {
    margin-top: 32px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  footer .partner {
    margin-top: 2.22vw;
  }

  footer .partner .text {
    font-size: 0.69vw;
  }
}

footer .disclaimer {
  margin-top: 24px;
  text-align: center;
}

footer .disclaimer .p {
  font-size: 10px;
  line-height: 1.2;
}

footer .disclaimer .p a {
  display: inline-block;
  transition: 0.5s;
}

footer .disclaimer .p a:hover {
  opacity: 0.5;
}

footer .disclaimer .p a:active {
  transform: scale(0.975);
  opacity: 0.75;
  transition: 0.15s;
}

@media (max-width: 500px) {
  footer .disclaimer .p br {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  footer .disclaimer {
    margin-top: 24px;
  }

  footer .disclaimer .p {
    font-size: 12px;
  }
}

@media screen and (min-width: 1024px) {
  footer .disclaimer {
    margin-top: 24px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  footer .disclaimer {
    margin-top: 1.67vw;
  }

  footer .disclaimer .p {
    font-size: 0.83vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  footer .disclaimer .p {
    font-size: 0.63vw;
  }
} */

.form input,
.form button,
.form textarea,
.form select {
  width: 100%;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  outline: none;
}

.form input::placeholder,
.form button::placeholder,
.form textarea::placeholder,
.form select::placeholder {
  color: rgba(43, 65, 23, 0.42);
  opacity: 1;
}

.form input:-ms-input-placeholder,
.form button:-ms-input-placeholder,
.form textarea:-ms-input-placeholder,
.form select:-ms-input-placeholder {
  color: rgba(43, 65, 23, 0.42);
  opacity: 1;
}

.form input::-ms-input-placeholder,
.form button::-ms-input-placeholder,
.form textarea::-ms-input-placeholder,
.form select::-ms-input-placeholder {
  color: rgba(43, 65, 23, 0.42);
  opacity: 1;
}

.form select,
.form input[type=text],
.form input[type=password],
.form input[type=number],
.form input[type=email],
.form textarea {
  padding-top: 5px;
  padding-bottom: 5px;
}

.form .dropdown {
  position: relative;
  width: 100%;
  transition: 0.5s;
  cursor: pointer;
}

.form .dropdown i {
  position: absolute;
  top: 50%;
  right: 22px;
  margin-top: -2px;
  transition: 0.5s;
  pointer-events: none;
}

.form .dropdown i svg {
  width: 10px;
  height: auto;
}

.form .dropdown:hover {
  opacity: 0.5;
}

.form .underline {
  position: relative;
  width: 100%;
}

.form .underline:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #2B4117;
}

.form input[type=checkbox].radio {
  margin: 0;
  width: 0;
  height: 0;
  visibility: hidden;
}

.form input[type=checkbox].radio+label {
  align-items: center;
  position: relative;
  padding-left: 36px;
}

.form input[type=checkbox].radio+label:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #2B4117;
}

.form input[type=checkbox].radio+label:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 4px;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #2B4117;
  opacity: 0;
  transition: 0.5s;
}

.form input[type=checkbox].radio+label:hover:after {
  opacity: 0.5;
}

.form input[type=checkbox].radio+label:active:after {
  opacity: 0.75;
  transform: scale(0.9);
  transition: 0.15s;
}

.form input[type=checkbox].radio:checked+label:after {
  opacity: 1;
  transform: scale(1);
}

.guestpicker {
  z-index: 100;
  cursor: pointer;
}

.guestpicker.is-active .activate i {
  transform: rotateX(180deg);
}

.guestpicker.is-active .appear {
  transform: translateY(0);
  pointer-events: all;
  transition: 0.5s;
}

.guestpicker.is-active .appear .blocks .block {
  opacity: 1;
  transform: rotateY(0);
}

.guestpicker.is-active .appear .blocks .block:nth-child(1) {
  transition-delay: 0s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(2) {
  transition-delay: 0.025s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(3) {
  transition-delay: 0.05s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(4) {
  transition-delay: 0.075s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(5) {
  transition-delay: 0.1s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(6) {
  transition-delay: 0.125s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(7) {
  transition-delay: 0.15s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(8) {
  transition-delay: 0.175s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(9) {
  transition-delay: 0.2s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(10) {
  transition-delay: 0.225s;
}

.guestpicker.is-active .appear .blocks .block:nth-child(11) {
  transition-delay: 0.25s;
}

.guestpicker .appear {
  position: absolute;
  transform: translateY(20px);
  top: 100%;
  left: 0;
  margin-top: 20px;
  width: 100%;
  pointer-events: none;
  cursor: auto;
  transition: 0.5s;
  transition-delay: 0.35s;
}

.guestpicker .appear .blocks {
  perspective: 4000px;
  transform-origin: 50% 50%;
  transform: translate(0px, 0px);
  transform-style: preserve-3d;
}

.guestpicker .appear .block,
.guestpicker .appear .row,
.guestpicker .appear .input.increment {
  display: flex;
  align-items: center;
  width: 100%;
}

.guestpicker .appear .block {
  padding-top: 22px;
  padding-bottom: 22px;
  padding-left: 30px;
  padding-right: 30px;
  background-color: #2B4117;
  color: #fff;
  transform-origin: left;
  will-change: transform;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.guestpicker .appear .block--guests {
  flex-direction: column;
  align-items: flex-start;
}

.guestpicker .appear .block--guests .label {
  width: 75%;
}

.guestpicker .appear .block--guests input {
  text-align: center;
}

.guestpicker .appear .block--guests input::-webkit-outer-spin-button,
.guestpicker .appear .block--guests input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.guestpicker .appear .block--guests input[type=number] {
  -moz-appearance: textfield;
  border-bottom: 0;
}

.guestpicker .appear .block--guests .minus,
.guestpicker .appear .block--guests .plus {
  position: relative;
  width: 1.85em;
  transition: 0.5s;
}

.guestpicker .appear .block--guests .minus:before,
.guestpicker .appear .block--guests .plus:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.guestpicker .appear .block--guests .minus span,
.guestpicker .appear .block--guests .plus span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 0.25em;
}

.guestpicker .appear .block--guests .minus:hover,
.guestpicker .appear .block--guests .plus:hover {
  opacity: 0.5;
}

.guestpicker .appear .block--guests .minus:active,
.guestpicker .appear .block--guests .plus:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.guestpicker .appear .block--apply {
  border-top: 1px solid rgba(255, 255, 255, 0.17);
  padding: 0;
}

.guestpicker .appear .block--apply button[type=button] {
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 30px;
  padding-right: 30px;
  transition: 0.5s;
}

.guestpicker .appear .block--apply button[type=button] span {
  display: block;
  transition: 0.15s;
}

.guestpicker .appear .block--apply button[type=button]:hover {
  background-color: rgba(255, 255, 255, 0.17);
}

.guestpicker .appear .block--apply button[type=button]:active {
  background-color: rgba(255, 255, 255, 0.34);
  transition: 0.15s;
}

.guestpicker .appear .block--apply button[type=button]:active span {
  transform: scale(0.975);
}

.guestpicker .appear .block--flexible {
  padding-top: 0;
  padding-bottom: 44px;
}

.guestpicker .appear .block--flexible .input label {
  display: inline-flex;
  align-items: center;
}

.guestpicker .appear .block+.block {
  margin-top: -1px;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.guestpicker .appear .block+.block--flexible {
  border-top: 0;
}

.guestpicker .appear .row+.row {
  margin-top: 10px;
}

.guestpicker .appear .label {
  width: 50%;
}

.guestpicker .appear .input {
  flex: 1;
}

.guestpicker .appear .input input,
.guestpicker .appear .input textarea,
.guestpicker .appear .input select,
.guestpicker .appear .input button[type=button] {
  width: 100%;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
}

.guestpicker .appear .input input,
.guestpicker .appear .input textarea,
.guestpicker .appear .input select {
  padding: 0;
}

.guestpicker .appear .input input::placeholder,
.guestpicker .appear .input textarea::placeholder,
.guestpicker .appear .input select::placeholder {
  color: #fff;
  opacity: 1;
}

.guestpicker .appear .input input:-ms-input-placeholder,
.guestpicker .appear .input textarea:-ms-input-placeholder,
.guestpicker .appear .input select:-ms-input-placeholder {
  color: #fff;
  opacity: 1;
}

.guestpicker .appear .input input::-ms-input-placeholder,
.guestpicker .appear .input textarea::-ms-input-placeholder,
.guestpicker .appear .input select::-ms-input-placeholder {
  color: #fff;
  opacity: 1;
}

.guestpicker .appear .input button[type=button] {
  cursor: pointer;
}

.guestpicker .appear .input input[type=checkbox] {
  display: none;
}

.guestpicker .appear .input input[type=checkbox]+label {
  position: relative;
  cursor: pointer;
}

.guestpicker .appear .input input[type=checkbox]+label:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 2px;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  border-radius: 100px;
  opacity: 0;
  transition: 0.5s;
}

.guestpicker .appear .input input[type=checkbox]+label:before {
  content: "";
  display: block;
  margin-right: 14px;
  width: 18px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 100px;
  transition: 0.15s;
}

.guestpicker .appear .input input[type=checkbox]+label:hover:after {
  opacity: 0.5;
}

.guestpicker .appear .input input[type=checkbox]+label:active:after,
.guestpicker .appear .input input[type=checkbox]+label:active:before {
  transform: scale(0.925);
  transition: 0.15s;
}

.guestpicker .appear .input input[type=checkbox]+label:active:after {
  opacity: 0.75;
}

.guestpicker .appear .input input[type=checkbox]:checked+label:after {
  opacity: 1;
}

.guestpicker .appear .input .row+.row {
  margin-top: 6px;
}

body.device-mobile .guestpicker .activate input {
  font-size: 16px;
}

/* header {
  position: absolute;
  z-index: 7;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 57px;
  pointer-events: none;
}
header a {
  display: block;
  transition: 0.5s;
}
header a:hover {
  opacity: 0.5;
}
header a:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}
header img {
  margin: auto;
  width: 36.27vw;
  min-width: 136px;
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  header img {
    width: 13.13vw;
    min-width: 189px;
  }
} */

.locationpicker {
  position: relative;
  border-bottom: 1px solid currentColor;
}

.locationpicker.is-active .activate i {
  transform: rotateX(180deg);
}

.locationpicker.is-active .appear {
  transform: translateY(0);
  pointer-events: all;
  transition: 0.5s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption {
  opacity: 1;
  transform: rotateY(0);
  cursor: pointer;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(1) {
  transition-delay: 0s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(2) {
  transition-delay: 0.025s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(3) {
  transition-delay: 0.05s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(4) {
  transition-delay: 0.075s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(5) {
  transition-delay: 0.1s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(6) {
  transition-delay: 0.125s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(7) {
  transition-delay: 0.15s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(8) {
  transition-delay: 0.175s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(9) {
  transition-delay: 0.2s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(10) {
  transition-delay: 0.225s;
}

.locationpicker.is-active .appear .fakeSelect .fakeOption:nth-child(11) {
  transition-delay: 0.25s;
}

.locationpicker .activate {
  position: relative;
  transition: 0.5s;
  cursor: pointer;
}

.locationpicker .activate select {
  padding: 0;
}

.locationpicker .activate i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -2px;
  transition: 0.5s;
  pointer-events: none;
}

.locationpicker .activate i svg {
  width: 10px;
  height: auto;
}

.locationpicker .activate:hover {
  opacity: 0.5;
}

.locationpicker .appear {
  position: absolute;
  transform: translateY(10px);
  top: 100%;
  left: 0;
  width: 100%;
  pointer-events: none;
  cursor: auto;
  transition: 0.5s;
  transition-delay: 0.35s;
}

.locationpicker .appear .fakeSelect {
  perspective: 4000px;
  transform-origin: 50% 50%;
  transform: translate(0px, 0px);
  transform-style: preserve-3d;
}

.locationpicker .appear .fakeOption {
  display: flex;
  align-items: center;
  width: 100%;
}

.locationpicker .appear .fakeOption {
  transform-origin: left;
  will-change: transform;
  width: 100%;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.locationpicker .appear .fakeOption span {
  display: block;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  background-color: #2B4117;
  color: #fff;
  transition: 0.5s;
}

.locationpicker .appear .fakeOption:hover span {
  background-color: #4966D9;
}

.locationpicker .appear .fakeOption+.fakeOption {
  margin-top: -1px;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

body.device-mobile .locationpicker .activate select {
  font-size: 16px;
}

body.device-desktop .locationpicker .activate select {
  pointer-events: none;
}

.modals {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.modals .modal {
  display: flex;
  flex-direction: column;
  transform: scale(0.975);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  opacity: 0;
  background-color: #DEE4E4;
  pointer-events: none;
  transition: 0.5s;
}

.modals .modal[data-modal=book] .text .h2,
.modals .modal[data-modal=book] .text .p,
.modals .modal[data-modal=book] .details .h4,
.modals .modal[data-modal=book] .details .p,
.modals .modal[data-modal=book] .form .h4,
.modals .modal[data-modal=book] .form .p,
.modals .modal[data-modal=book] .submitForm,
.modals .modal[data-modal=book] .close,
.modals .modal[data-modal=message] .text .h2,
.modals .modal[data-modal=message] .text .p,
.modals .modal[data-modal=message] .details .h4,
.modals .modal[data-modal=message] .details .p,
.modals .modal[data-modal=message] .form .h4,
.modals .modal[data-modal=message] .form .p,
.modals .modal[data-modal=message] .submitForm,
.modals .modal[data-modal=message] .close {
  transform: translateY(40px);
  opacity: 0;
  transition: 0.5s;
}

.modals .modal[data-modal=book] .content .details .block+.block:before,
.modals .modal[data-modal=message] .content .details .block+.block:before {
  transform: translateY(40px);
  width: 0;
  transition: 0.5s;
}

.modals .modal[data-modal=book] .form .underline:after,
.modals .modal[data-modal=message] .form .underline:after {
  transform: translateY(40px);
  width: 0;
  transition: 0.5s;
}

.modals .modal[data-modal=book].is-active .text .h2,
.modals .modal[data-modal=book].is-active .text .p,
.modals .modal[data-modal=book].is-active .details .h4,
.modals .modal[data-modal=book].is-active .details .p,
.modals .modal[data-modal=book].is-active .form .h4,
.modals .modal[data-modal=book].is-active .form .p,
.modals .modal[data-modal=book].is-active .submitForm,
.modals .modal[data-modal=book].is-active .close,
.modals .modal[data-modal=message].is-active .text .h2,
.modals .modal[data-modal=message].is-active .text .p,
.modals .modal[data-modal=message].is-active .details .h4,
.modals .modal[data-modal=message].is-active .details .p,
.modals .modal[data-modal=message].is-active .form .h4,
.modals .modal[data-modal=message].is-active .form .p,
.modals .modal[data-modal=message].is-active .submitForm,
.modals .modal[data-modal=message].is-active .close {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.35s;
}

.modals .modal[data-modal=book].is-active .content .details .block+.block:before,
.modals .modal[data-modal=message].is-active .content .details .block+.block:before {
  transform: translateY(0);
  width: 100%;
}

.modals .modal[data-modal=book].is-active .form .underline:after,
.modals .modal[data-modal=message].is-active .form .underline:after {
  transform: translateY(0);
  width: 100%;
}

.modals .modal[data-modal=book].is-active .text .p,
.modals .modal[data-modal=message].is-active .text .p {
  transition-delay: 0.375s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(1) .h4 {
  transition-delay: 0.4s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(1) .p:nth-child(2) {
  transition-delay: 0.425s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(1) .p:nth-child(3) {
  transition-delay: 0.45s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(2):before {
  transition-delay: 0.475s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(2) .h4 {
  transition-delay: 0.475s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(2) .p:nth-child(2) {
  transition-delay: 0.5s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(2) .p:nth-child(3) {
  transition-delay: 0.525s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(3):before {
  transition-delay: 0.55s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(3) .h4 {
  transition-delay: 0.55s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(3) .p:nth-child(2) {
  transition-delay: 0.575s;
}

.modals .modal[data-modal=book].is-active .content .details .block:nth-child(3) .p:nth-child(3) {
  transition-delay: 0.6s;
}

.modals .modal[data-modal=book].is-active .form .h4 {
  transition-delay: 0.625s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(2) label {
  transition-delay: 0.65s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(2) .underline:after,
.modals .modal[data-modal=book].is-active .form .formRow:nth-child(2) input {
  transition-delay: 0.675s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(3) label {
  transition-delay: 0.7s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(3) .underline:after,
.modals .modal[data-modal=book].is-active .form .formRow:nth-child(3) input {
  transition-delay: 0.725s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(4) label {
  transition-delay: 0.75s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(4) .underline:after,
.modals .modal[data-modal=book].is-active .form .formRow:nth-child(4) select,
.modals .modal[data-modal=book].is-active .form .formRow:nth-child(4) i,
.modals .modal[data-modal=book].is-active .form .formRow:nth-child(4) input {
  transition-delay: 0.775s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(5) .p {
  transition-delay: 0.8s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(5) .choices .p {
  transition-delay: 0.825s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(6) .p {
  transition-delay: 0.85s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(6) .choices .p {
  transition-delay: 0.875s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(7) label {
  transition-delay: 0.9s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(7) .underline:after,
.modals .modal[data-modal=book].is-active .form .formRow:nth-child(7) input {
  transition-delay: 0.925s;
}

.modals .modal[data-modal=book].is-active .form .formRow:nth-child(8) label {
  transition-delay: 0.95s;
}

.modals .modal[data-modal=book].is-active .form .submitForm {
  transition-delay: 0.975s;
}

.modals .modal[data-modal=book].is-active .close {
  transition-delay: 0.975s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(1) label {
  transition-delay: 0.4s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(1) .underline:after,
.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(1) input {
  transition-delay: 0.425s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(2) label {
  transition-delay: 0.45s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(2) .underline:after,
.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(2) input {
  transition-delay: 0.475s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(3) label {
  transition-delay: 0.5s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(3) .underline:after,
.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(3) input {
  transition-delay: 0.525s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(4) label {
  transition-delay: 0.55s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(4) .underline:after,
.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(4) input {
  transition-delay: 0.575s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(5) label {
  transition-delay: 0.6s;
}

.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(5) .underline:after,
.modals .modal[data-modal=message].is-active .content .form .left .formRow:nth-child(5) input {
  transition-delay: 0.625s;
}

.modals .modal[data-modal=message].is-active .content .form .right .formRow:nth-child(1) label {
  transition-delay: 0.65s;
}

.modals .modal[data-modal=message].is-active .content .form .right .formRow:nth-child(1) .underline:after,
.modals .modal[data-modal=message].is-active .content .form .right .formRow:nth-child(1) input,
.modals .modal[data-modal=message].is-active .content .form .right .formRow:nth-child(1) textarea {
  transition-delay: 0.675s;
}

.modals .modal[data-modal=message].is-active .submitForm {
  transition-delay: 0.7s;
}

.modals .modal[data-modal=message].is-active .close {
  transition-delay: 0.7s;
}

.modals .modal.is-active {
  opacity: 1;
  transform: scale(1);
  pointer-events: all;
  overflow: hidden;
}

.modals .modal .close {
  text-align: center;
  color: #4966D9;
  border-bottom: 1px solid #9CABAB;
}

.modals .modal .close .closeModal {
  display: block;
  padding: 24px 6.67vw 20px;
}

.modals .modal .content {
  flex: 1;
  position: relative;
  overflow: auto;
}

.modals .modal .content .center {
  position: relative;
  padding: 62px 6.67vw 154px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .modals .modal .content .center {
    padding: 0;
    overflow: visible;
  }
}

.modals .modal .content .left+.right {
  margin-top: 107px;
}

@media (max-width: 1023px) {
  .modals .modal .content .h2 {
    font-size: 46px;
    line-height: 1;
    letter-spacing: -0.01em;
  }
}

@media (max-width: 1023px) {
  .modals .modal .content .h4 {
    font-size: 20px;
    line-height: 1.55;
    letter-spacing: -0.01em;
  }
}

@media (max-width: 1023px) {
  .modals .modal .content .p {
    font-size: 16px;
    line-height: 1.38;
    letter-spacing: 0.01em;
  }

  .modals .modal .content .ps {
    font-size: 14px;
    line-height: 1.43;
    letter-spacing: 0.01em;
  }
}

.modals .modal .content .text .h2+.p {
  margin-top: 9px;
}

.modals .modal .content .text+.form,
.modals .modal .content .text+.details {
  margin-top: 71px;
}

.modals .modal .content .details .block+.block {
  position: relative;
  margin-top: 29px;
  padding-top: 23px;
}

.modals .modal .content .details .block+.block:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(43, 65, 23, 0.19);
}

.modals .modal .content .details .h4+.p {
  margin-top: 11px;
}

.modals .modal .content .details .p {
  display: flex;
  justify-content: space-between;
}

.modals .modal .content .details .p+.p {
  margin-top: 9px;
}

.modals .modal .content .form form.is-submitting {
  opacity: 0.25;
  pointer-events: none;
  transition: 0.5s;
}

.modals .modal .content .form form.has-submitted {
  height: 0;
  overflow: hidden;
  position: relative;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}

.modals .modal .content .form form.has-submitted~.success {
  height: auto;
  transform: translate(0);
  opacity: 1;
  pointer-events: all;
  transition-delay: 0.5s;
}

.modals .modal .content .form form.has-submitted~.action {
  opacity: 1;
  pointer-events: all;
  transition: 0.5s;
  transition-delay: 0.5s;
}

.modals .modal .content .form .success {
  height: 0;
  overflow: hidden;
  transform: translateY(20px);
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}

.modals .modal .content .form .action {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
}

.modals .modal .content .form .action a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 6.13vw;
  background-color: #4966D9;
  cursor: pointer;
  color: #fff;
  text-align: center;
  transition: 0.5s;
}

.modals .modal .content .form .action a:hover {
  opacity: 0.5;
}

.modals .modal .content .form .action a:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.modals .modal .content .form .columns .left+.right {
  margin-top: 29px;
}

.modals .modal .content .form .h4+.formRow {
  margin-top: 17px;
}

.modals .modal .content .form .formRow {
  display: flex;
  flex-direction: column;
}

.modals .modal .content .form .formRow.choice {
  flex-direction: row;
  justify-content: space-between;
}

.modals .modal .content .form .formRow.choice .choices {
  display: flex;
}

.modals .modal .content .form .formRow.choice .choices li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 17.87vw;
  text-align: right;
}

.modals .modal .content .form .formRow.choice .choices input {
  margin: 0;
  width: 0;
  height: 0;
  visibility: hidden;
}

.modals .modal .content .form .formRow.choice .choices input+label {
  line-height: 1;
  cursor: pointer;
}

.modals .modal .content .form .formRow.choice .choices input+label span {
  display: block;
  position: relative;
}

.modals .modal .content .form .formRow.choice .choices input+label span:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #2B4117;
  transition: 0.5s;
}

.modals .modal .content .form .formRow.choice .choices input+label:active span {
  transform: scale(0.9);
  transition: 0.15s;
}

.modals .modal .content .form .formRow.choice .choices input:checked+label span:after {
  width: 100%;
}

.modals .modal .content .form .formRow.choice .choices label {
  display: inline-block;
}

.modals .modal .content .form .formRow+.formRow {
  margin-top: 29px;
}

.modals .modal .content .form .formRow+.formRow.space {
  margin-top: 45px;
}

.modals .modal .content .form .phone,
.modals .modal .content .form .dates {
  padding-right: 26.13vw;
}

.modals .modal .content .form .phone .underline,
.modals .modal .content .form .dates {
  display: flex;
  align-items: flex-end;
}

.modals .modal .content .form .submitForm {
  position: absolute;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

.modals .modal .content .form .submitForm .error.is-visible {
  padding-bottom: 20px;
}

.modals .modal .content .form .submitForm .error.is-visible p {
  display: block;
}

.modals .modal .content .form .submitForm .error p {
  display: none;
  color: #cb4646;
}

.modals .modal .content .form .submitForm button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 6.13vw;
  background-color: #2B4117;
  cursor: pointer;
  color: #fff;
  transition: 0.5s;
}

.modals .modal .content .form .submitForm button:hover {
  opacity: 0.5;
}

.modals .modal .content .form .submitForm button:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.modals .modal .content .form .submitForm button i {
  margin-top: 0;
}

.modals .modal .content .form .submitForm button i.icon--arrow {
  display: none;
}

.modals .modal .content .form .submitForm button i.icon--chevron svg {
  width: 14px;
  transform: rotate(-90deg);
}

.modals .modal .content .form .submitForm button i.icon--chevron svg path {
  fill: currentColor;
}

@media (max-width: 767px) {
  .modals .modal .datepicker .appear {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    z-index: 2;
    margin: 0;
  }

  .modals .modal .datepicker .appear .datepickerAppear {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    bottom: 0;
    top: auto;
    left: 0;
    width: 100%;
  }

  .modals .modal .datepicker .litepicker .container__months .month-item {
    width: 100vw;
  }
}

@media screen and (min-width: 768px) {
  .modals .modal .datepicker .appear {
    bottom: 0;
    left: 0;
    right: auto;
    top: auto;
    z-index: 2;
    margin: 0;
  }

  .modals .modal .datepicker .appear .datepickerAppear {
    bottom: 0;
    top: auto;
    left: 0;
  }

  .modals .modal .datepickerUI .close {
    padding-top: 0;
  }

  .modals .modal .guestpicker .appear {
    bottom: 0;
    left: 0;
    top: auto;
    right: auto;
    width: auto;
  }

  .modals .modal .close {
    padding-top: 47px;
    padding-bottom: 0;
    border-bottom: 0;
  }

  .modals .modal .content {
    flex: 1;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-top: 55px;
    padding-bottom: 111px;
  }

  .modals .modal .content .columns {
    display: flex;
    width: 100%;
  }

  .modals .modal .content .left,
  .modals .modal .content .right {
    width: 50%;
  }

  .modals .modal .content .left {
    display: flex;
    flex-direction: column;
  }

  .modals .modal .content .left .text {
    flex: 1;
  }

  .modals .modal .content .left+.right {
    margin-top: 0;
    margin-left: 5.33vw;
  }

  .modals .modal .content .form .columns .left+.right {
    margin-top: 0;
  }

  .modals .modal .content .form .columns .right {
    display: flex;
    flex-direction: column;
  }

  .modals .modal .content .form .columns .right .formRow {
    flex: 1;
  }

  .modals .modal .content .form .columns .right .formRow .underline {
    display: flex;
    flex: 1;
  }

  .modals .modal .content .form .columns .right .formRow textarea {
    flex: 1;
  }

  .modals .modal .content .form .formRow.choice .choices li {
    width: 3.26vw;
    min-width: 47px;
  }

  .modals .modal .content .form .phone,
  .modals .modal .content .form .dates {
    padding-right: 5vw;
  }

  .modals .modal .content .form .submitForm {
    position: static;
    margin-top: 45px;
    width: 100%;
  }

  .modals .modal .content .form .submitForm button {
    display: inline-flex;
    justify-content: flex-start;
    align-items: flex-end;
    width: 50%;
    padding: 0;
    background-color: transparent;
    text-align: left;
    color: #4966D9;
    transition: 0.5s;
  }

  .modals .modal .content .form .submitForm button:hover {
    opacity: 0.5;
  }

  .modals .modal .content .form .submitForm button:active {
    transform: scale(0.9);
    opacity: 0.75;
    transition: 0.15s;
  }

  .modals .modal .content .form .submitForm button i {
    margin-top: 0;
  }

  .modals .modal .content .form .submitForm button i.icon--arrow {
    display: block;
    margin-left: 0.4em;
    margin-bottom: 0.4em;
  }

  .modals .modal .content .form .submitForm button i.icon--arrow svg {
    width: 59px;
  }

  .modals .modal .content .form .submitForm button i.icon--arrow svg path {
    fill: currentColor;
  }

  .modals .modal .content .form .submitForm button i.icon--chevron {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .modals .modal .content {
    padding-left: 10.42vw;
    padding-right: 10.42vw;
  }

  .modals .modal .content .left+.right {
    margin-left: 6.94vw;
  }

  .modals .modal .content .text .h2+.p {
    margin-top: 9px;
  }

  .modals .modal .content .text+.details {
    margin-top: 71px;
  }

  .modals .modal .content .details .block+.block {
    margin-top: 29px;
    padding-top: 23px;
  }

  .modals .modal .content .details .h4+.p {
    margin-top: 11px;
  }

  .modals .modal .content .details .p+.p {
    margin-top: 12px;
  }

  .modals .modal .content .form .h4+.formRow {
    margin-top: 17px;
  }

  .modals .modal .content .form .formRow+.formRow {
    margin-top: 29px;
  }

  .modals .modal .content .form .formRow+.formRow.space {
    margin-top: 45px;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .modals .modal .content {
    padding-left: 19.1vw;
    padding-right: 19.1vw;
  }

  .modals .modal .content .left+.right {
    margin-left: 17.36vw;
  }
}

:root {
  --nav-delay: 0s;
}

body.no-transition nav .navigation .openMenu,
body.no-transition nav .navigation .sub li {
  transition-delay: 0.275s;
}

body.no-transition nav .navigation .openMenu {
  transition-delay: 0.275s;
}

body.no-transition nav .navigation .sub li {
  transition-delay: 0.275s;
}

body.no-transition nav .navigation .primary li .image,
body.no-transition nav .navigation .primary li .video,
body.no-transition nav .navigation .primary li .text {
  transition-delay: 0.275s;
}

body.no-transition nav .menu span {
  transition-delay: 0.275s;
}

body.no-transition nav .menu .blob svg {
  transition-delay: 0.275s;
}

nav.is-open {
  z-index: 11;
}

nav.is-open .navigation {
  pointer-events: all;
}

nav.is-open .navigation .openMenu,
nav.is-open .navigation .sub li {
  transform: translateY(0);
  opacity: 1;
}

nav.is-open .navigation .openMenu {
  transition-delay: 0.75s;
}

nav.is-open .navigation .sub li {
  transition-delay: var(--nav-delay);
}

nav.is-open .navigation .primary li .image,
nav.is-open .navigation .primary li .video,
nav.is-open .navigation .primary li .text {
  transform: translateY(0);
  opacity: 1;
  transition: 0.75s;
  transition-delay: var(--nav-delay);
}

nav.is-open .navigation .primary li .image img,
nav.is-open .navigation .primary li .image video,
nav.is-open .navigation .primary li .video img,
nav.is-open .navigation .primary li .video video,
nav.is-open .navigation .primary li .text img,
nav.is-open .navigation .primary li .text video {
  transform: translateY(-50%);
  transition: 0.75s;
  transition-delay: var(--nav-delay);
}

nav.is-open .navigation .primary li .icon-comingSoon {
  transform: translateX(50%) rotate(105deg);
  opacity: 1;
  transition: 0.75s;
  transition-delay: var(--nav-delay);
}

nav.is-open .menu span {
  opacity: 0;
  transition-delay: 0s;
}

nav.is-open .menu .blob svg {
  width: 100vw;
  transform: scale(10);
  transition-delay: 0s;
}

nav.is-open .menu .blob svg path {
  fill: #2B4117;
  transition-delay: 0s;
}

@media screen and (min-width: 640px) {
  nav.is-open .menu .blob svg {
    transform: scale(5);
  }
}

nav a {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 0.94;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
}

@media screen and (min-width: 1024px) {
  nav a {
    font-size: 18px;
    line-height: 0.94;
    letter-spacing: 0.12em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  nav a {
    font-size: 1.25vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  nav a {
    font-size: 0.94vw;
  }
}

nav .menu {
  position: fixed;
  z-index: 9;
  top: 0;
  right: 0;
  /* display: inline-block;
  transition: .5s;

  &:hover {
    opacity: .5;
  }

  &:active {
    transform: scale(.9);
    opacity: .75;
    transition: .15s;
  } */
}

nav .menu span {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-right: 25px;
  padding-bottom: 0.2em;
  transition: 0.35s;
  transition-delay: 0.25s;
}

@media (max-width: 499px) {
  nav .menu span {
    font-size: 14px;
    line-height: 0.93;
    letter-spacing: 0.12em;
  }
}

nav .menu .blob {
  width: 130px;
  height: 58px;
}

nav .menu .blob svg {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: auto;
  transition: 0.75s cubic-bezier(0, 0, 0.2, 1);
  transition-delay: 0.1s;
}

nav .menu .blob svg path {
  transition: 0.5s;
  transition-delay: 0.1s;
}

@media screen and (min-width: 640px) {
  nav .menu {
    width: 155px;
    height: 69px;
  }

  nav .menu span {
    padding-right: 34px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  nav .menu {
    width: 10.76vw;
    height: 4.79vw;
  }

  nav .menu span {
    padding-right: 2.36vw;
  }
}

nav .navigation {
  display: flex;
  flex-direction: column;
  position: fixed;
  z-index: 10;
  top: 0;
  width: 100%;
  height: 100%;
  padding-top: 4.55vh;
  padding-bottom: 5.91vh;
  color: #79976D;
  text-align: center;
  pointer-events: none;
}

nav .navigation .openMenu span,
nav .navigation .sub li a {
  display: inline-block;
  transition: 0.5s;
}

nav .navigation .openMenu span:hover,
nav .navigation .sub li a:hover {
  opacity: 0.5;
}

nav .navigation .openMenu span:active,
nav .navigation .sub li a:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

nav .navigation .openMenu,
nav .navigation .sub li {
  transform: translateY(20px);
  opacity: 0;
  transition: 0.75s;
  transition-delay: 0s;
}

nav .navigation .wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  overflow: auto;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

nav .navigation .wrapper::-webkit-scrollbar {
  display: none;
}

nav .navigation .primary {
  display: inline-flex;
  align-items: flex-end;
  margin: auto;
  width: 100%;
  justify-content: space-between;
}

nav .navigation .primary li.comingSoon {
  position: relative;
  pointer-events: none;
}

nav .navigation .primary li .icon-comingSoon {
  position: absolute;
  z-index: 2;
  transform: translateX(100%) rotate(45deg);
  top: 15.7384%;
  right: 0;
  width: 88px;
  height: 88px;
  opacity: 0;
  transition: 0.35s;
  transition-delay: 0s;
}

nav .navigation .primary li .icon-comingSoon svg {
  animation-name: rotate;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  display: block;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  nav .navigation .primary li .icon-comingSoon {
    width: 6.11vw;
    height: 6.11vw;
  }
}

nav .navigation .primary li .image,
nav .navigation .primary li .video {
  transform: translateY(20px);
  opacity: 0;
  transition: 0.35s;
  transition-delay: 0s;
  overflow: hidden;
}

nav .navigation .primary li .image+.text,
nav .navigation .primary li .video+.text {
  margin-top: 2.73vh;
}

nav .navigation .primary li img,
nav .navigation .primary li video {
  position: absolute;
  transform: translateY(-55%);
  top: 50%;
  left: 0;
  width: 100%;
  height: 120%;
  object-fit: cover;
  transition: 0.35s;
  transition-delay: 0s;
}

nav .navigation .primary li .text {
  transform: translateY(20px);
  opacity: 0;
  transition: 0.35s;
  transition-delay: 0s;
}

@media (max-width: 499px) {
  nav .navigation .primary li .text {
    font-size: 14px;
    line-height: 0.93;
    letter-spacing: 0.12em;
  }
}

nav .navigation .primary li:nth-child(odd) .image,
nav .navigation .primary li:nth-child(odd) .video {
  width: 48.27vw;
  height: 64.53vw;
}

nav .navigation .primary li:nth-child(even) .image,
nav .navigation .primary li:nth-child(even) .video {
  width: 36.27vw;
  height: 49.07vw;
}

nav .navigation .primary li:last-child {
  top: 63%;
}

@media (min-aspect-ratio: 2/4) {

  nav .navigation .primary li:nth-child(odd) .image,
  nav .navigation .primary li:nth-child(odd) .video {
    width: 20.57vh;
    height: 27.5vh;
  }

  nav .navigation .primary li:nth-child(even) .image,
  nav .navigation .primary li:nth-child(even) .video {
    width: 15.45vh;
    height: 20.91vh;
  }
}

nav .navigation .primary li+li {
  margin-left: 13.33vw;
}

nav .navigation .sub li+li {
  margin-top: 3.18vh;
}

@media screen and (min-width: 768px) {
  nav .navigation .primary li {
    /* @media (min-aspect-ratio: 2/4) {
      &:nth-child(odd) {
        .image,
        .video {
          width: vh(323);
          height: vh(431);
        }
      }

      &:nth-child(even) {
        .image,
        .video {
          width: vh(245);
          height: vh(332);
        }
      }
    } */
  }

  nav .navigation .primary li .image+.text,
  nav .navigation .primary li .video+.text {
    margin-top: 2.95vh;
  }

  nav .navigation .primary li:nth-child(odd) .image,
  nav .navigation .primary li:nth-child(odd) .video,
  nav .navigation .primary li:nth-child(even) .image,
  nav .navigation .primary li:nth-child(even) .video {
    width: 17.01vw;
    height: 23.06vw;
  }

  nav .navigation .primary li:not(:first-of-type) {
    margin: 0 0 0 4.58vw;
  }

  nav .navigation .primary li+li {
    margin-left: 8.33vw;
  }

  nav .navigation .sub {
    display: flex;
    justify-content: center;
  }

  nav .navigation .sub li+li {
    margin-top: 0;
    margin-left: 4.44vw;
  }
}

@media screen and (min-width: 1024px) {
  nav .navigation .sub li+li {
    margin-left: 7.5vw;
  }
}

@media screen and (max-width: 1023px) {
  nav .navigation a {
    font-size: 12px;
  }

  nav .navigation .wrapper {
    padding-top: 6.82vh;
    padding-bottom: 6.82vh;
    overflow: hidden;
  }

  nav .navigation .primary {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
  }

  nav .navigation .primary li {
    position: absolute;
  }

  nav .navigation .primary li.comingSoon {
    position: absolute;
  }

  nav .navigation .primary li .text {
    font-size: 1.1em;
  }

  nav .navigation .primary li+li {
    margin-left: 0;
  }

  nav .navigation .primary li:nth-child(1) .image,
  nav .navigation .primary li:nth-child(1) .video,
  nav .navigation .primary li:nth-child(2) .image,
  nav .navigation .primary li:nth-child(2) .video,
  nav .navigation .primary li:nth-child(3) .image,
  nav .navigation .primary li:nth-child(3) .video {
    width: auto;
  }

  nav .navigation .primary li:nth-child(1),
  nav .navigation .primary li:nth-child(3) {
    width: 40%;
  }

  nav .navigation .primary li:nth-child(1) .image,
  nav .navigation .primary li:nth-child(1) .video,
  nav .navigation .primary li:nth-child(3) .image,
  nav .navigation .primary li:nth-child(3) .video {
    height: 23.86vh;
  }

  nav .navigation .primary li:nth-child(1) {
    top: 10%;
    left: 0;
  }

  nav .navigation .primary li:nth-child(3) {
    top: 0%;
    right: 0;
  }

  nav .navigation .primary li:nth-child(2) {
    bottom: 0%;
    right: 20%;
    width: 35%;
  }

  nav .navigation .primary li:nth-child(2) .image,
  nav .navigation .primary li:nth-child(2) .video {
    height: 21.02vh;
  }

  nav .navigation .sub {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  nav .navigation .sub li+li {
    margin-top: 0;
    margin-left: 3.18vh;
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

:root {
  --observe-delay: 0s;
}

.observe[data-observe=hero] .prlx,
.observe[data-observe=image] .prlx,
.observe[data-observe=video] .prlx {
  overflow: hidden;
}

.observe[data-observe=hero] .prlx.video,
.observe[data-observe=hero] .prlx picture,
.observe[data-observe=image] .prlx.video,
.observe[data-observe=image] .prlx picture,
.observe[data-observe=video] .prlx.video,
.observe[data-observe=video] .prlx picture {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1.1);
  transition: 1.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: var(--observe-delay);
  overflow: hidden;
}

.observe[data-observe=hero] .prlx.video video,
.observe[data-observe=hero] .prlx.video img,
.observe[data-observe=hero] .prlx picture video,
.observe[data-observe=hero] .prlx picture img,
.observe[data-observe=image] .prlx.video video,
.observe[data-observe=image] .prlx.video img,
.observe[data-observe=image] .prlx picture video,
.observe[data-observe=image] .prlx picture img,
.observe[data-observe=video] .prlx.video video,
.observe[data-observe=video] .prlx.video img,
.observe[data-observe=video] .prlx picture video,
.observe[data-observe=video] .prlx picture img {
  opacity: 0;
  transform: scale(1);
  transition: none;
  transition-delay: 0s;
}

.observe[data-observe=hero].video,
.observe[data-observe=hero] picture,
.observe[data-observe=image].video,
.observe[data-observe=image] picture,
.observe[data-observe=video].video,
.observe[data-observe=video] picture {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /* &:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 2;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: $cwhite;
    transition: 1s cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: var(--observe-delay);
  } */
}

.observe[data-observe=hero].video video,
.observe[data-observe=hero].video img,
.observe[data-observe=hero] picture video,
.observe[data-observe=hero] picture img,
.observe[data-observe=image].video video,
.observe[data-observe=image].video img,
.observe[data-observe=image] picture video,
.observe[data-observe=image] picture img,
.observe[data-observe=video].video video,
.observe[data-observe=video].video img,
.observe[data-observe=video] picture video,
.observe[data-observe=video] picture img {
  will-change: filter, transform;
  opacity: 0;
  transform: scale(1);
  transition: 1.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: var(--observe-delay);
}

.observe[data-observe=hero].observed .prlx.video,
.observe[data-observe=hero].observed .prlx picture,
.observe[data-observe=image].observed .prlx.video,
.observe[data-observe=image].observed .prlx picture,
.observe[data-observe=video].observed .prlx.video,
.observe[data-observe=video].observed .prlx picture {
  opacity: 1;
  transform: scale(1.15);
}

.observe[data-observe=hero].observed.video video,
.observe[data-observe=hero].observed.video img,
.observe[data-observe=hero].observed picture video,
.observe[data-observe=hero].observed picture img,
.observe[data-observe=image].observed.video video,
.observe[data-observe=image].observed.video img,
.observe[data-observe=image].observed picture video,
.observe[data-observe=image].observed picture img,
.observe[data-observe=video].observed.video video,
.observe[data-observe=video].observed.video img,
.observe[data-observe=video].observed picture video,
.observe[data-observe=video].observed picture img {
  opacity: 1;
  transform: scale(1);
}

.observe[data-observe=hero].observed.video:after,
.observe[data-observe=hero].observed picture:after {
  height: 0;
}

.observe[data-observe=image].observed.video:after,
.observe[data-observe=image].observed picture:after,
.observe[data-observe=video].observed.video:after,
.observe[data-observe=video].observed picture:after {
  width: 0;
}

.observe[data-observe=lines] {
  transform-origin: 50% 50%;
  transform: translate(0px, 0px);
  transform-style: preserve-3d;
  perspective: 500px;
}

.splitting.lines {
  transform-origin: 50% 50%;
  transform: translate(0px, 0px);
  transform-style: preserve-3d;
  perspective: 500px;
}

.prlx {
  overflow: hidden;
}

/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
}

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
  position: fixed;
  z-index: var(--pswp-root-z-index);
  display: none;
  touch-action: none;
  outline: 0;
  opacity: 0.003;
  contain: layout style size;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
  background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
  overflow: hidden;
}

.pswp,
.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pswp {
  position: fixed;
}

.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
  cursor: zoom-out;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pswp__item {
  /* z-index for fade transition */
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}

.pswp__content>* {
  pointer-events: auto;
}

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  margin: auto;
  font-size: 1em;
  line-height: 1;
  color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
  opacity: 0.005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
  z-index: 10;
  /* always overlap slide content */
  pointer-events: none;
  /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
  position: relative;
  display: block;
  width: 50px;
  height: 60px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 0.85;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
  outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
  background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 10;
  /* allow events to pass through top bar itself */
  pointer-events: none !important;
}

.pswp__top-bar>* {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}

/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}

/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*

  "1 of 10" counter

*/
.pswp__counter {
  display: none;
}

.pswp--one-slide .pswp__counter {
  display: none;
}

.fd-modal {
  position: fixed;
  top: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  right: 48px;
  bottom: 44px;
  width: 373px;
  min-width: 373px;
}

@media screen and (min-width: 1024px) {
  .fd-modal {
    transform: translateX(0) !important;
    left: auto !important;
  }
}

.fd-modal__body,
.fd-modal__content {
  background-color: #2B4117;
}

.fd-modal__body *,
.fd-modal__content * {
  color: #fff;
}

.fd-modal__body input,
.fd-modal__body input::placeholder,
.fd-modal__body label {
  color: #fff !important;
}

.fd-modal__body label {
  top: 0 !important;
  padding: 12px 0 !important;
}

.fd-modal__body input[type=text] {
  border: unset !important;
  border-bottom: 1px solid currentColor !important;
}

@media screen and (min-width: 1024px) {
  .fd-modal__body input[type=text] {
    font-size: 1em;
  }
}

.fd-modal__body input[type=text],
.fd-modal__body label {
  font-size: 18px !important;
}

@media screen and (min-width: 1024px) {

  .fd-modal__body input[type=text],
  .fd-modal__body label {
    font-size: 1em !important;
  }
}

.fd-modal__body button {
  background-color: unset !important;
  border: unset !important;
  padding: 12px 0 !important;
  font-family: "Cinzel", sans-serif !important;
  font-size: 18px !important;
  line-height: 1;
  letter-spacing: -0.01em;
  text-align: left !important;
}

@media screen and (min-width: 1024px) {
  .fd-modal__body button {
    font-size: 16px !important;
    line-height: 1.19;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .fd-modal__body button {
    font-size: 1.11vw !important;
  }
}

.fd-modal__body .fd-form-group {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
}

.ff-647463f93e266b3df9f1de81__title {
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px !important;
  line-height: 1.11;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {
  .ff-647463f93e266b3df9f1de81__title {
    font-size: 24px !important;
    line-height: 1.25;
    letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .ff-647463f93e266b3df9f1de81__title {
    font-size: 1.67vw !important;
  }
}

.ff-647463f93e266b3df9f1de81__label.fd-form-label {
  overflow: visible !important;
  left: 0 !important;
  font-size: 13px !important;
}

@media screen and (min-width: 1024px) {
  .ff-647463f93e266b3df9f1de81__label.fd-form-label {
    font-size: 1rem !important;
  }
}

.ff-647463f93e266b3df9f1de81__subtitle {
  text-align: left !important;
}

[data-ff-el=root].ff-647463f93e266b3df9f1de81 .ff-647463f93e266b3df9f1de81__modal-dialog {
  width: 100% !important;
  max-width: unset !important;
  margin: 0 !important;
}

[data-ff-el=root].ff-647463f93e266b3df9f1de81 .ff-647463f93e266b3df9f1de81__modal {
  background-color: rgba(255, 255, 255, 0);
  pointer-events: none;
  top: auto;
  bottom: auto;
  left: auto;
  margin-right: 48px;
  margin-bottom: 44px;
}

[data-ff-el=root].ff-647463f93e266b3df9f1de81 .ff-647463f93e266b3df9f1de81__form {
  padding: 29px !important;
}

.ff-647463f93e266b3df9f1de81__control {
  height: auto !important;
  padding: 12px 0 !important;
}

.ff-647463f93e266b3df9f1de81__subtitle,
.fd-modal__body {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 13px !important;
}

@media screen and (min-width: 1024px) {

  .ff-647463f93e266b3df9f1de81__subtitle,
  .fd-modal__body {
    font-size: 1rem !important;
  }
}

[data-ff-el=root].ff-647463f93e266b3df9f1de81 .ff-647463f93e266b3df9f1de81__modal-close {
  top: 1.125rem !important;
}

@media screen and (min-width: 1024px) {
  [data-ff-el=root].ff-647463f93e266b3df9f1de81 .ff-647463f93e266b3df9f1de81__modal-close {
    top: 1.5rem !important;
  }
}

.promotion {
  position: fixed;
  z-index: 2;
  bottom: 2.67vw;
  right: 2.67vw;
  width: 33.33%;
  max-width: 303px;
  background-color: #9CABAB;
  color: #fff;
  opacity: 0;
  transition: 1.5s cubic-bezier(0.37, 0.17, 0, 0.98);
  transform: translateY(120%);
}

.promotion.is-active {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (min-width: 768px) {
  .promotion {
    bottom: 2.22vw;
    right: 1.88vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .promotion {
    /* max-width: none;
    width: vw(303); */
    bottom: 32px;
    right: 27px;
  }
}

.promotion .headline {
  text-align: center;
  padding: 2.67vw;
}

.promotion .headline .closePromotion {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 100%;
  right: 0;
  width: 32px;
  height: 32px;
  background-color: #4966D9;
  transition: 0.35s;
}

.promotion .headline .closePromotion:hover {
  background-color: #2949c6;
}

.promotion .headline .closePromotion:active {
  background-color: #2B4117;
  transition: 0.15s;
}

@media screen and (min-width: 768px) {
  .promotion .headline {
    padding: 1.39vw 1.39vw 0.97vw;
  }
}

@media screen and (min-width: 1024px) {
  .promotion .headline .closePromotion {
    top: 0;
    bottom: auto;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .promotion .headline {
    padding: 20px 20px 14px;
  }

  .promotion .headline .p {
    font-size: 18px;
  }
}

.promotion .cta {
  padding: 0 2.67vw 2.67vw;
}

.promotion .cta a {
  display: block;
  pointer-events: none;
}

.promotion .cta a .image img {
  transition: 0.5s;
}

.promotion .cta a:hover .image img {
  transform: scale(1.05);
}

.promotion .cta a:hover .action {
  background-color: #1f2e10;
}

.promotion .cta .image {
  position: relative;
  pointer-events: all;
  overflow: hidden;
}

.promotion .cta .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 114.8148148148%;
}

.promotion .cta .image picture,
.promotion .cta .image img,
.promotion .cta .image video,
.promotion .cta .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.promotion .cta .image video,
.promotion .cta .image img {
  object-fit: cover;
}

.promotion .cta .text {
  position: relative;
  z-index: 2;
}

.promotion .cta .text h3 {
  margin-top: -0.5em;
  width: 80%;
  pointer-events: all;
}

.promotion .cta .text .action {
  margin-top: 2.67vw;
  background-color: #2B4117;
  text-align: center;
  pointer-events: all;
  transition: 0.35s;
}

.promotion .cta .text .action .link {
  display: block;
  padding: 3.2vw 0;
}

@media (max-width: 768px) {
  .promotion .cta .text .action .link {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) {
  .promotion .cta {
    padding: 0 2.08vw 1.74vw;
  }

  .promotion .cta .text h3 {
    font-size: 40px;
  }

  .promotion .cta .text .action {
    margin-top: 1.74vw;
  }

  .promotion .cta .text .action .link {
    padding: 1.74vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .promotion .cta {
    padding: 0 30px 23px;
  }

  .promotion .cta .text .action {
    margin-top: 23px;
  }

  .promotion .cta .text .action .link {
    padding: 25px;
    font-size: 21px;
  }
}

.main .woocommerce {
  padding-top: 196px;
  padding-bottom: 63px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  overflow: hidden;
  /* .coupon {
    display: none;
  } */
}

@media screen and (min-width: 768px) {
  .main .woocommerce {
    padding-top: 173px;
  }
}

@media screen and (min-width: 1024px) {
  .main .woocommerce {
    padding-left: 11.11vw;
    padding-right: 11.11vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main .woocommerce {
    padding-left: 22.22vw;
    padding-right: 22.22vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main .woocommerce {
    padding-top: 12.01vw;
  }
}

.main .woocommerce a.button.alt,
.main .woocommerce button.button.alt {
  background-color: #4966D9;
  transition: 0.5s;
}

.main .woocommerce a.button.alt:hover,
.main .woocommerce button.button.alt:hover {
  background-color: #7790f0;
}

.main .woocommerce a.remove {
  font-size: 1.25em;
  line-height: 0.9;
  color: #4966D9 !important;
  transition: 0.5s;
}

.main .woocommerce a.remove:hover {
  color: #fff !important;
  background: #4966D9 !important;
}

.main .woocommerce h4 {
  margin-bottom: 30px;
}

.main .woocommerce form .form-row {
  margin: 0;
  padding: 0;
}

.main .woocommerce form .form-row label {
  line-height: 1;
  margin-bottom: 2px;
}

.main .woocommerce form .form-row .required {
  color: #4966D9;
}

.main .woocommerce form .form-row .select2-container {
  margin-top: 6px;
}

.main .woocommerce form .form-row+.form-row-wide {
  margin-top: 30px;
}

.main .woocommerce form .form-row.form-row-first,
.main .woocommerce form .form-row.form-row-last {
  margin-bottom: 30px;
}

.main .woocommerce form .form-row.address-field+#billing_address_2_field,
.main .woocommerce form .form-row.address-field+#shipping_address_2_field {
  margin-top: 10px;
}

.main .woocommerce .shipping_address {
  padding-bottom: 30px;
}

.main .woocommerce select,
.main .woocommerce input[type=text],
.main .woocommerce input[type=password],
.main .woocommerce input[type=tel],
.main .woocommerce input[type=number],
.main .woocommerce input[type=email],
.main .woocommerce textarea {
  width: 100%;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  outline: none;
  padding-top: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #2B4117;
}

.main .woocommerce select::placeholder,
.main .woocommerce input[type=text]::placeholder,
.main .woocommerce input[type=password]::placeholder,
.main .woocommerce input[type=tel]::placeholder,
.main .woocommerce input[type=number]::placeholder,
.main .woocommerce input[type=email]::placeholder,
.main .woocommerce textarea::placeholder {
  color: rgba(43, 65, 23, 0.42);
  opacity: 1;
}

.main .woocommerce select:-ms-input-placeholder,
.main .woocommerce input[type=text]:-ms-input-placeholder,
.main .woocommerce input[type=password]:-ms-input-placeholder,
.main .woocommerce input[type=tel]:-ms-input-placeholder,
.main .woocommerce input[type=number]:-ms-input-placeholder,
.main .woocommerce input[type=email]:-ms-input-placeholder,
.main .woocommerce textarea:-ms-input-placeholder {
  color: rgba(43, 65, 23, 0.42);
  opacity: 1;
}

.main .woocommerce select::-ms-input-placeholder,
.main .woocommerce input[type=text]::-ms-input-placeholder,
.main .woocommerce input[type=password]::-ms-input-placeholder,
.main .woocommerce input[type=tel]::-ms-input-placeholder,
.main .woocommerce input[type=number]::-ms-input-placeholder,
.main .woocommerce input[type=email]::-ms-input-placeholder,
.main .woocommerce textarea::-ms-input-placeholder {
  color: rgba(43, 65, 23, 0.42);
  opacity: 1;
}

.main .woocommerce input[type=checkbox],
.main .woocommerce input[type=radio] {
  /* margin: 0;
  width: 0;
  height: 0;
  visibility: hidden; */
}

.main .woocommerce input[type=checkbox]+label,
.main .woocommerce input[type=radio]+label {
  align-items: center;
  position: relative;
  padding-left: 36px;
}

.main .woocommerce input[type=checkbox]+label:before,
.main .woocommerce input[type=radio]+label:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #2B4117;
}

.main .woocommerce input[type=checkbox]+label:after,
.main .woocommerce input[type=radio]+label:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 4px;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #2B4117;
  opacity: 0;
  transition: 0.5s;
}

.main .woocommerce input[type=checkbox]+label:hover:after,
.main .woocommerce input[type=radio]+label:hover:after {
  opacity: 0.5;
}

.main .woocommerce input[type=checkbox]+label:active:after,
.main .woocommerce input[type=radio]+label:active:after {
  opacity: 0.75;
  transform: scale(0.9);
  transition: 0.15s;
}

.main .woocommerce input[type=checkbox]:checked+label:after,
.main .woocommerce input[type=radio]:checked+label:after {
  opacity: 1;
  transform: scale(1);
}

.main .woocommerce .product-quantity input {
  max-width: 64px;
}

.main .woocommerce .woocommerce-error,
.main .woocommerce .woocommerce-info,
.main .woocommerce .woocommerce-message {
  padding-left: 3.5em;
}

.main .woocommerce .woocommerce-thankyou-order-details {
  display: flex;
  padding: 0;
}

.main .woocommerce .woocommerce-thankyou-order-details:before,
.main .woocommerce .woocommerce-thankyou-order-details:after {
  content: none;
}

.main .woocommerce .woocommerce-thankyou-order-details li {
  border-right: 0;
}

@media (max-width: 767px) {
  .main .woocommerce .woocommerce-thankyou-order-details {
    flex-direction: column;
  }

  .main .woocommerce .woocommerce-thankyou-order-details li+li {
    margin-top: 6px;
    border-top: 1px dashed #d3ced2;
    padding-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .main .woocommerce .woocommerce-thankyou-order-details {
    flex-direction: row;
    justify-content: space-between;
  }

  .main .woocommerce .woocommerce-thankyou-order-details li {
    margin: 0;
    padding: 0;
  }

  .main .woocommerce .woocommerce-thankyou-order-details li+li {
    margin-top: 0;
    border-left: 1px dashed #d3ced2;
    padding-left: 1em;
  }
}

.select2-results {
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  line-height: 1.43;
  letter-spacing: 0.01em;
}

.select2-resultss {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.01em;
}

.select2-resultsb {
  font-size: 16px;
  line-height: 1.38;
  letter-spacing: 0.01em;
}

.select2-results p+p {
  margin-top: 1.43em;
}

.select2-results p+ps {
  margin-top: 2em;
}

.select2-results p+pb {
  margin-top: 1.38em;
}

@media screen and (min-width: 1024px) {
  .select2-results {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.01em;
  }

  .select2-resultss {
    font-size: 14px;
    line-height: 1.71;
    letter-spacing: 0.01em;
  }

  .select2-resultsb {
    font-size: 18px;
    line-height: 1.44;
    letter-spacing: 0.01em;
  }

  .select2-results p+p {
    margin-top: 1.5em;
  }

  .select2-results p+ps {
    margin-top: 1.71em;
  }

  .select2-results p+pb {
    margin-top: 1.44em;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .select2-results {
    font-size: 1.11vw;
  }

  .select2-resultss {
    font-size: 0.97vw;
  }

  .select2-resultsb {
    font-size: 1.25vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .select2-results {
    font-size: 0.83vw;
  }

  .select2-resultss {
    font-size: 0.73vw;
  }

  .select2-resultsb {
    font-size: 0.94vw;
  }
}

.e404 .h2+p {
  margin-top: 0.5em;
}

.e404 p+.cta {
  margin-top: 2em;
}

.main.about {
  padding-top: 196px;
  padding-bottom: 106px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .main.about {
    padding-top: 177px;
    padding-bottom: 156px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.about {
    padding-top: 12.29vw;
    padding-bottom: 10.83vw;
  }
}

.main.about .intro {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.about .intro .image {
  display: none;
}

.main.about .intro .text .p+.h1 {
  margin-top: 10px;
}

.main.about .intro .text .h1+.p {
  margin-top: 21px;
}

@media (max-width: 499px) {
  .main.about .intro .text .h1 {
    font-size: 38px;
  }
}

@media screen and (min-width: 640px) {
  .main.about .intro .image {
    display: block;
    margin-left: auto;
  }

  .main.about .intro .image img {
    width: 100%;
  }

  .main.about .intro .text {
    margin-top: 73px;
  }
}

@media screen and (min-width: 768px) {
  .main.about .intro .image {
    width: 49.24vw;
  }

  .main.about .intro .text {
    margin-top: 13px;
  }

  .main.about .intro .text .p+.h1 {
    margin-top: 32px;
  }

  .main.about .intro .text .h1+.p {
    margin-top: 21px;
  }

  .main.about .intro .text .h1 {
    width: 51.88vw;
  }

  .main.about .intro .text .p {
    width: 42.92vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.about .intro {
    padding-left: 11.18vw;
    padding-right: 12.78vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.about .intro .text {
    margin-top: 0.9vw;
  }

  .main.about .intro .text .p+.h1 {
    margin-top: 2.22vw;
  }

  .main.about .intro .text .h1+.p {
    margin-top: 1.46vw;
  }
}

.main.about .bio {
  display: flex;
  flex-direction: column;
  margin-top: 73px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.about .bio .image {
  order: 1;
}

.main.about .bio .image img {
  width: 100%;
}

.main.about .bio .text {
  order: 2;
  margin-top: 47px;
}

.main.about .bio .caption {
  margin-top: 14px;
}

@media screen and (min-width: 640px) {
  .main.about .bio {
    flex-direction: row;
    align-items: center;
  }

  .main.about .bio .image {
    width: 50%;
    order: 2;
  }

  .main.about .bio .text {
    order: 1;
    margin-top: 0;
    flex: 1;
    padding-right: 8.96vw;
  }
}

@media screen and (min-width: 768px) {
  .main.about .bio {
    margin-top: 139px;
  }
}

@media screen and (min-width: 1024px) {
  .main.about .bio {
    padding-left: 13.89vw;
    padding-right: 13.89vw;
  }

  .main.about .bio .image {
    width: 28.47vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.about .bio {
    padding-left: 18.47vw;
    padding-right: 18.47vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.about .bio {
    margin-top: 9.65vw;
  }
}

.main.about .images {
  margin-top: 115px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.about .images .image picture {
  display: block;
}

.main.about .images .image img {
  width: 100%;
}

.main.about .images .image .caption {
  margin-top: 14px;
}

.main.about .images .image+.image {
  margin-top: 44px;
}

.main.about .images .image:nth-child(1) picture {
  position: relative;
}

.main.about .images .image:nth-child(1) picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 79.7853309481%;
}

.main.about .images .image:nth-child(1) picture picture,
.main.about .images .image:nth-child(1) picture img,
.main.about .images .image:nth-child(1) picture video,
.main.about .images .image:nth-child(1) picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.about .images .image:nth-child(1) picture video,
.main.about .images .image:nth-child(1) picture img {
  object-fit: cover;
}

.main.about .images .image:nth-child(2) picture {
  position: relative;
}

.main.about .images .image:nth-child(2) picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.main.about .images .image:nth-child(2) picture picture,
.main.about .images .image:nth-child(2) picture img,
.main.about .images .image:nth-child(2) picture video,
.main.about .images .image:nth-child(2) picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.about .images .image:nth-child(2) picture video,
.main.about .images .image:nth-child(2) picture img {
  object-fit: cover;
}

@media screen and (min-width: 640px) {
  .main.about .images {
    display: flex;
    padding-left: 11.18vw;
    padding-right: 11.18vw;
  }

  .main.about .images .image:nth-child(1) {
    width: 38.82vw;
  }

  .main.about .images .image:nth-child(2) {
    width: 30.97vw;
  }

  .main.about .images .image+.image {
    margin-top: 0;
    margin-left: 7.92vw;
  }
}

@media screen and (min-width: 768px) {
  .main.about .images {
    margin-top: 160px;
  }
}

@media screen and (min-width: 1024px) {
  .main.about .images {
    padding-left: 11.18vw;
    padding-right: 11.18vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.about .images {
    margin-top: 11.11vw;
  }

  .main.about .images .image .caption {
    margin-top: 0.97vw;
  }
}

.main.about .team {
  margin-top: 93px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.about .team .text {
  text-align: center;
}

.main.about .team .text .h2+.p {
  margin-top: 12px;
}

@media screen and (min-width: 640px) {
  .main.about .team .text {
    margin: auto;
    width: 80%;
  }
}

@media screen and (min-width: 768px) {
  .main.about .team {
    margin-top: 156px;
  }
}

@media screen and (min-width: 1024px) {
  .main.about .team .text {
    width: 50.28vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.about .team {
    margin-top: 10.83vw;
  }

  .main.about .team .text .h2+.p {
    margin-top: 0.83vw;
  }
}

.main.about .destinations {
  margin-top: 104px;
}

.main.about .destinations .headline {
  position: relative;
  z-index: 2;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.about .destinations .splide {
  margin-top: -18px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  overflow: visible;
}

.main.about .destinations .splide .splide__track {
  align-items: flex-end;
  transition-timing-function: linear;
  overflow: visible;
}

.main.about .destinations .splide .splide__slide {
  width: auto;
}

.main.about .destinations .splide .splide__slide .image {
  margin: auto;
}

.main.about .destinations .splide .splide__slide .image img,
.main.about .destinations .splide .splide__slide .image video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main.about .destinations .splide .splide__slide .text {
  margin-top: 23px;
  color: #4966D9;
  text-align: center;
}

.main.about .destinations .splide .splide__slide:nth-child(odd) .image,
.main.about .destinations .splide .splide__slide:nth-child(odd) .video {
  width: 57.07vw;
  height: 76vw;
}

.main.about .destinations .splide .splide__slide:nth-child(even) .image,
.main.about .destinations .splide .splide__slide:nth-child(even) .video {
  width: 47.73vw;
  height: 63.73vw;
}

@media (max-width: 499px) {
  .main.about .destinations .headline .h1 {
    font-size: 44px;
  }
}

@media screen and (min-width: 640px) {
  .main.about .destinations .headline .h1 {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .main.about .destinations {
    margin-top: 170px;
  }

  .main.about .destinations .headline {
    padding-left: 10.76vw;
    padding-right: 10.76vw;
  }

  .main.about .destinations .splide {
    margin-top: -18px;
  }

  .main.about .destinations .splide .splide__slide .text {
    margin-top: 26px;
  }

  .main.about .destinations .splide .splide__slide:nth-child(odd) .image,
  .main.about .destinations .splide .splide__slide:nth-child(odd) .video {
    width: 22.43vw;
    height: 29.93vw;
  }

  .main.about .destinations .splide .splide__slide:nth-child(even) .image,
  .main.about .destinations .splide .splide__slide:nth-child(even) .video {
    width: 17.01vw;
    height: 23.06vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.about .destinations .headline .h1 {
    width: 70%;
  }

  .main.about .destinations .splide {
    margin-top: -34px;
    padding-left: 8.26vw;
    padding-right: 8.26vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.about .destinations .headline .h1 {
    width: 45.97vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.about .destinations {
    margin-top: 11.81vw;
  }

  .main.about .destinations .splide {
    margin-top: -2.36vw;
  }

  .main.about .destinations .splide .splide__slide .text {
    margin-top: 1.81vw;
  }
}

.main.article .builder .video iframe,
.main.article-original .builder .video iframe {
  width: 100%;
}

.main.article .builder .video .hover,
.main.article-original .builder .video .hover {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(247, 245, 243, 0.75);
  opacity: 0;
  transition: 0.5s;
}

.main.article .builder .video .hover:hover,
.main.article-original .builder .video .hover:hover {
  opacity: 1;
}

.main.article .builder .video .hover span,
.main.article-original .builder .video .hover span {
  display: none;
  position: relative;
  text-align: center;
  cursor: pointer;
  font-size: 0.66em;
  transition: 0.5s;
}

.main.article .builder .video .hover span:before,
.main.article-original .builder .video .hover span:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -50px;
  margin-top: -50px;
  width: 100px;
  height: 100px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.main.article .builder .video .hover span:hover,
.main.article-original .builder .video .hover span:hover {
  transform: scale(1.05);
}

.main.article .builder .video .hover span:active,
.main.article-original .builder .video .hover span:active {
  transform: scale(1.025);
  filter: contrast(0.25);
  transition: 0.1s;
}

.main.article .builder .video .hover span.is-active,
.main.article-original .builder .video .hover span.is-active {
  display: block;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .main.article .builder .video .hover span:before,
  .main.article-original .builder .video .hover span:before {
    width: 10.42vw;
    height: 10.42vw;
    margin-left: -5.21vw;
    margin-top: -5.21vw;
  }
}

.main.article {
  padding-top: 196px;
  padding-bottom: 63px;
  background-color: #DEE4E4;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .main.article {
    padding-top: 173px;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.article {
    padding-top: 12.01vw;
  }
}

.main.article .intro {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.article .intro .h1 {
  width: 100%;
  text-align: center;
  margin-top: -0.5em;
}

.main.article .intro>.image {
  margin-top: 60px;
  position: relative;
}

.main.article .intro>.image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 140.5466970387%;
}

.main.article .intro>.image picture,
.main.article .intro>.image img,
.main.article .intro>.image video,
.main.article .intro>.image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article .intro>.image video,
.main.article .intro>.image img {
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .main.article .intro {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .main.article .intro .intro {
    width: 100%;
  }

  .main.article .intro>.image {
    width: 50%;
    margin: auto;
  }

  .main.article .intro .pc {
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .main.article .intro {
    justify-content: space-between;
    padding-left: 16.25vw;
    padding-right: 16.25vw;
  }

  .main.article .intro .h1 {
    margin-top: -0.445em;
  }

  .main.article .intro>.image {
    width: 30.49vw;
    min-width: 439px;
  }
}

.main.article .intro.with-cta {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.article .intro.with-cta .h1 {
  width: 100%;
  text-align: center;
}

.main.article .intro.with-cta .cta {
  margin-top: 50px;
  padding-left: 8.8vw;
  padding-right: 8.8vw;
}

.main.article .intro.with-cta .cta .image {
  position: relative;
  margin-bottom: 29px;
}

.main.article .intro.with-cta .cta .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 140%;
}

.main.article .intro.with-cta .cta .image picture,
.main.article .intro.with-cta .cta .image img,
.main.article .intro.with-cta .cta .image video,
.main.article .intro.with-cta .cta .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article .intro.with-cta .cta .image video,
.main.article .intro.with-cta .cta .image img {
  object-fit: cover;
}

.main.article .intro.with-cta .cta .image+.text {
  padding-right: 26.67vw;
}

.main.article .intro.with-cta>.image {
  margin-top: 60px;
  position: relative;
}

.main.article .intro.with-cta>.image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 140.5466970387%;
}

.main.article .intro.with-cta>.image picture,
.main.article .intro.with-cta>.image img,
.main.article .intro.with-cta>.image video,
.main.article .intro.with-cta>.image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article .intro.with-cta>.image video,
.main.article .intro.with-cta>.image img {
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .main.article .intro.with-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .main.article .intro.with-cta .intro {
    width: 100%;
  }

  .main.article .intro.with-cta .cta,
  .main.article .intro.with-cta>.image {
    margin-top: 70px;
  }

  .main.article .intro.with-cta .cta {
    width: 50%;
    padding-left: 0;
    padding-right: 18.89vw;
  }

  .main.article .intro.with-cta .cta a {
    pointer-events: none;
  }

  .main.article .intro.with-cta .cta a .image,
  .main.article .intro.with-cta .cta a .text .button {
    pointer-events: initial;
  }

  .main.article .intro.with-cta .cta .image+.text {
    padding-right: 3.68vw;
  }

  .main.article .intro.with-cta>.image {
    width: 50%;
  }
}

@media screen and (min-width: 1024px) {
  .main.article .intro.with-cta {
    justify-content: space-between;
    padding-left: 16.25vw;
    padding-right: 16.25vw;
  }

  .main.article .intro.with-cta .cta {
    width: 18.06vw;
    padding-right: 0;
  }

  .main.article .intro.with-cta .cta .image {
    margin-bottom: 68px;
  }

  .main.article .intro.with-cta>.image {
    width: 30.49vw;
    min-width: 439px;
  }
}

.main.article .details {
  margin-top: 65px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.article .details .author {
  text-align: center;
}

.main.article .details .line {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main.article .details .line .tags,
.main.article .details .line .date {
  padding-top: 4px;
}

.main.article .details .line .tags {
  display: inline-flex;
}

.main.article .details .line .tags li+li {
  margin-left: 8vw;
}

.main.article .details .line .tags+.date {
  margin-left: 7.2vw;
  padding-left: 7.2vw;
  border-left: 1px solid #9CABAB;
}

.main.article .details .text {
  margin-top: 40px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .main.article .details .text {
    margin-top: 59px;
  }
}

@media screen and (min-width: 1024px) {
  .main.article .details {
    padding-left: 12.85vw;
    padding-right: 12.85vw;
  }

  .main.article .details .line .tags li+li {
    margin-left: 3.06vw;
  }

  .main.article .details .line .tags+.date {
    margin-left: 2.36vw;
    padding-left: 2.57vw;
  }

  .main.article .details .text {
    padding-left: 0vw;
    padding-right: 0vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.article .details {
    padding-left: 25.69vw;
    padding-right: 25.69vw;
  }
}

.main.article .builder {
  margin-top: 48px;
}

.main.article .builder:last-child {
  padding-bottom: 160px;
}

.main.article .builder .block+.block {
  margin-top: 80px;
}

.main.article .builder .block .text .h2+.p,
.main.article .builder .block .text .h3+.p {
  margin-top: 5px;
}

@media screen and (min-width: 1024px) {
  .main.article .builder .block .text .h2+.p {
    margin-top: 15px;
  }
}

.main.article .builder .block--hero .video iframe,
.main.article .builder .block--hero-with-text .video iframe,
.main.article .builder .block--image .video iframe {
  height: 56.25vw;
}

.main.article .builder .block--hero picture.desktop,
.main.article .builder .block--hero-with-text picture.desktop,
.main.article .builder .block--image picture.desktop {
  display: none;
}

@media (min-aspect-ratio: 1/1) {

  .main.article .builder .block--hero picture.mobile,
  .main.article .builder .block--hero-with-text picture.mobile,
  .main.article .builder .block--image picture.mobile {
    display: none;
  }

  .main.article .builder .block--hero picture.desktop,
  .main.article .builder .block--hero-with-text picture.desktop,
  .main.article .builder .block--image picture.desktop {
    display: block;
  }
}

.main.article .builder .block--image,
.main.article .builder .block--text {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.article .builder .block--hero-with-text .text {
  padding-left: 10.67vw;
  padding-right: 10.67vw;
  text-align: center;
  color: #fff;
}

.main.article .builder .block--hero-with-text .text .h1 {
  margin-top: -0.5em;
}

.main.article .builder .block--hero-with-text+.block {
  margin-top: 120px;
}

@media screen and (min-width: 768px) {
  .main.article .builder .block--hero-with-text .text {
    padding-left: 11.94vw;
    padding-right: 11.94vw;
  }
}

.main.article .builder .block--image .image+.image,
.main.article .builder .block--image .image+.video,
.main.article .builder .block--image .video+.image,
.main.article .builder .block--image .video+.video {
  margin-top: 40px;
}

@media screen and (min-width: 768px) {
  .main.article .builder .block--image {
    display: flex;
    align-items: flex-start;
  }

  .main.article .builder .block--image .image,
  .main.article .builder .block--image .video {
    flex: 1;
  }

  .main.article .builder .block--image .image+.image,
  .main.article .builder .block--image .image+.video,
  .main.article .builder .block--image .video+.image,
  .main.article .builder .block--image .video+.video {
    margin-top: 12.43vw;
    margin-left: 11.88vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.article .builder .block--image {
    padding-left: 11.11vw;
    padding-right: 11.11vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.article .builder .block--image {
    padding-left: 22.22vw;
    padding-right: 22.22vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.article .builder .block--text {
    padding-left: 12.85vw;
    padding-right: 12.85vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.article .builder .block--text {
    padding-left: 25.69vw;
    padding-right: 25.69vw;
  }
}

.main.article .shop {
  margin-top: 116px;
  padding-top: 120px;
  padding-bottom: 115px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  background-color: #fff;
}

.main.article .shop .headline {
  position: relative;
  z-index: 2;
  color: #2B4117;
}

.main.article .shop .headline .h1 {
  margin-bottom: -0.5em;
}

.main.article .shop .products {
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;
}

.main.article .shop .products .product {
  width: calc(50% - 7px);
}

.main.article .shop .products .product .image img {
  width: 100%;
}

.main.article .shop .products .product .text {
  margin-top: 12px;
  color: #2B4117;
}

.main.article .shop .products .product:first-child {
  margin-bottom: 37px;
  width: 100%;
}

.main.article .shop .products .product:first-child .image {
  padding-top: 18.93vw;
  padding-bottom: 18.93vw;
  padding-left: 17.07vw;
  padding-right: 17.07vw;
  background-color: #DEE4E4;
}

.main.article .shop .products .product:first-child picture {
  display: block;
  position: relative;
}

.main.article .shop .products .product:first-child picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 145.9016393443%;
}

.main.article .shop .products .product:first-child picture picture,
.main.article .shop .products .product:first-child picture img,
.main.article .shop .products .product:first-child picture video,
.main.article .shop .products .product:first-child picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article .shop .products .product:first-child picture video,
.main.article .shop .products .product:first-child picture img {
  object-fit: cover;
}

.main.article .shop .products .product:first-child .text {
  margin-top: 20px;
}

.main.article .shop .products .product:nth-child(2) .image picture,
.main.article .shop .products .product:nth-child(3) .image picture {
  display: block;
  position: relative;
}

.main.article .shop .products .product:nth-child(2) .image picture:before,
.main.article .shop .products .product:nth-child(3) .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 132.9787234043%;
}

.main.article .shop .products .product:nth-child(2) .image picture picture,
.main.article .shop .products .product:nth-child(2) .image picture img,
.main.article .shop .products .product:nth-child(2) .image picture video,
.main.article .shop .products .product:nth-child(2) .image picture iframe,
.main.article .shop .products .product:nth-child(3) .image picture picture,
.main.article .shop .products .product:nth-child(3) .image picture img,
.main.article .shop .products .product:nth-child(3) .image picture video,
.main.article .shop .products .product:nth-child(3) .image picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article .shop .products .product:nth-child(2) .image picture video,
.main.article .shop .products .product:nth-child(2) .image picture img,
.main.article .shop .products .product:nth-child(3) .image picture video,
.main.article .shop .products .product:nth-child(3) .image picture img {
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .main.article .shop {
    margin-top: 160px;
    padding-bottom: 122px;
    padding-left: 10.28vw;
    padding-right: 10.28vw;
  }

  .main.article .shop .headline {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
  }

  .main.article .shop .headline .h1 {
    position: absolute;
    left: 31.94vw;
    top: 0;
    margin: 0;
    width: 44.79vw;
  }

  .main.article .shop .products {
    align-items: flex-end;
    column-gap: 0;
  }

  .main.article .shop .products .product {
    width: 19.58vw;
  }

  .main.article .shop .products .product .text {
    margin-top: 1.74vw;
  }

  .main.article .shop .products .product+.product {
    margin-left: 4.38vw;
    margin-top: 8.19vw;
  }

  .main.article .shop .products .product:first-child {
    width: auto;
    flex: 1;
    margin-bottom: 0;
  }

  .main.article .shop .products .product:first-child .image {
    padding-top: 6.04vw;
    padding-bottom: 6.04vw;
    padding-left: 5.35vw;
    padding-right: 5.35vw;
  }

  .main.article .shop .products .product:first-child+.product {
    margin-left: 8.26vw;
  }
}

.main.article-original {
  padding-top: 196px;
  padding-bottom: 63px;
  background-color: #DEE4E4;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .main.article-original {
    padding-top: 184px;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.article-original {
    padding-top: 12.78vw;
  }
}

.main.article-original .intro {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.article-original .intro .h1 {
  width: 100%;
  text-align: center;
}

.main.article-original .intro .cta {
  margin-top: 50px;
  padding-left: 8.8vw;
  padding-right: 8.8vw;
}

.main.article-original .intro .cta .image {
  position: relative;
  margin-bottom: 29px;
}

.main.article-original .intro .cta .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 140%;
}

.main.article-original .intro .cta .image picture,
.main.article-original .intro .cta .image img,
.main.article-original .intro .cta .image video,
.main.article-original .intro .cta .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article-original .intro .cta .image video,
.main.article-original .intro .cta .image img {
  object-fit: cover;
}

.main.article-original .intro .cta .image+.text {
  padding-right: 26.67vw;
}

.main.article-original .intro>.image {
  margin-top: 60px;
  position: relative;
}

.main.article-original .intro>.image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 140.5466970387%;
}

.main.article-original .intro>.image picture,
.main.article-original .intro>.image img,
.main.article-original .intro>.image video,
.main.article-original .intro>.image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article-original .intro>.image video,
.main.article-original .intro>.image img {
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .main.article-original .intro {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .main.article-original .intro .intro {
    width: 100%;
  }

  .main.article-original .intro .cta,
  .main.article-original .intro>.image {
    margin-top: 70px;
  }

  .main.article-original .intro .cta {
    width: 50%;
    padding-left: 0;
    padding-right: 18.89vw;
  }

  .main.article-original .intro .cta a {
    pointer-events: none;
  }

  .main.article-original .intro .cta a .image,
  .main.article-original .intro .cta a .text .button {
    pointer-events: initial;
  }

  .main.article-original .intro .cta .image+.text {
    padding-right: 3.68vw;
  }

  .main.article-original .intro>.image {
    width: 50%;
  }
}

@media screen and (min-width: 1024px) {
  .main.article-original .intro {
    justify-content: space-between;
    padding-left: 16.25vw;
    padding-right: 16.25vw;
  }

  .main.article-original .intro .cta {
    width: 18.06vw;
    padding-right: 0;
  }

  .main.article-original .intro .cta .image {
    margin-bottom: 68px;
  }

  .main.article-original .intro>.image {
    width: 30.49vw;
    min-width: 439px;
  }
}

.main.article-original .details {
  margin-top: 65px;
}

.main.article-original .details .author {
  text-align: center;
}

.main.article-original .details .line {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
}

.main.article-original .details .line .tags,
.main.article-original .details .line .date {
  padding-top: 4px;
}

.main.article-original .details .line .tags {
  display: inline-flex;
}

.main.article-original .details .line .tags li+li {
  margin-left: 8vw;
}

.main.article-original .details .line .tags+.date {
  margin-left: 7.2vw;
  padding-left: 7.2vw;
  border-left: 1px solid #9CABAB;
}

.main.article-original .details .text {
  margin-top: 40px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .main.article-original .details {
    margin-top: 83px;
  }

  .main.article-original .details .text {
    margin-top: 59px;
  }
}

@media screen and (min-width: 1024px) {
  .main.article-original .details {
    padding-left: 16.25vw;
    padding-right: 16.25vw;
  }

  .main.article-original .details .line .tags li+li {
    margin-left: 3.06vw;
  }

  .main.article-original .details .line .tags+.date {
    margin-left: 2.36vw;
    padding-left: 2.57vw;
  }

  .main.article-original .details .text {
    padding-left: 0vw;
    padding-right: 0vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.article-original .details .text {
    padding-left: 9.44vw;
    padding-right: 9.44vw;
  }
}

.main.article-original .builder {
  margin-top: 48px;
}

.main.article-original .builder:last-child {
  padding-bottom: 160px;
}

@media screen and (min-width: 768px) {
  .main.article-original .builder {
    margin-top: 118px;
  }
}

.main.article-original .builder .block+.block {
  margin-top: 120px;
}

.main.article-original .builder .block .text .h2+.p {
  margin-top: 5px;
}

@media screen and (min-width: 1024px) {
  .main.article-original .builder .block .text .h2+.p {
    margin-top: 15px;
  }
}

.main.article-original .builder .block--hero .video iframe,
.main.article-original .builder .block--hero-with-text .video iframe,
.main.article-original .builder .block--image-text .video iframe,
.main.article-original .builder .block--image .video iframe {
  height: 56.25vw;
}

.main.article-original .builder .block--hero picture.desktop,
.main.article-original .builder .block--hero-with-text picture.desktop,
.main.article-original .builder .block--image-text picture.desktop,
.main.article-original .builder .block--image picture.desktop {
  display: none;
}

@media (min-aspect-ratio: 1/1) {

  .main.article-original .builder .block--hero picture.mobile,
  .main.article-original .builder .block--hero-with-text picture.mobile,
  .main.article-original .builder .block--image-text picture.mobile,
  .main.article-original .builder .block--image picture.mobile {
    display: none;
  }

  .main.article-original .builder .block--hero picture.desktop,
  .main.article-original .builder .block--hero-with-text picture.desktop,
  .main.article-original .builder .block--image-text picture.desktop,
  .main.article-original .builder .block--image picture.desktop {
    display: block;
  }
}

.main.article-original .builder .block--image-text,
.main.article-original .builder .block--image-text-columns,
.main.article-original .builder .block--image,
.main.article-original .builder .block--text {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.article-original .builder .block--image-text .iframe,
.main.article-original .builder .block--image-text-columns .iframe {
  position: relative;
}

.main.article-original .builder .block--image-text .iframe:before,
.main.article-original .builder .block--image-text-columns .iframe:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.main.article-original .builder .block--image-text .iframe iframe,
.main.article-original .builder .block--image-text-columns .iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article-original .builder .block--image-text .image+.text,
.main.article-original .builder .block--image-text .video+.text,
.main.article-original .builder .block--image-text-columns .image+.text,
.main.article-original .builder .block--image-text-columns .video+.text {
  margin-top: 40px;
}

.main.article-original .builder .block--image-text .text+.image,
.main.article-original .builder .block--image-text .text+.video,
.main.article-original .builder .block--image-text-columns .text+.image,
.main.article-original .builder .block--image-text-columns .text+.video {
  margin-top: 40px;
}

@media screen and (min-width: 1024px) {

  .main.article-original .builder .block--image-text .image+.text,
  .main.article-original .builder .block--image-text .video+.text,
  .main.article-original .builder .block--image-text-columns .image+.text,
  .main.article-original .builder .block--image-text-columns .video+.text {
    margin-top: 56px;
  }

  .main.article-original .builder .block--image-text .text+.image,
  .main.article-original .builder .block--image-text .text+.video,
  .main.article-original .builder .block--image-text-columns .text+.image,
  .main.article-original .builder .block--image-text-columns .text+.video {
    margin-top: 56px;
  }
}

.main.article-original .builder .block--hero-with-text .text {
  padding-left: 10.67vw;
  padding-right: 10.67vw;
  text-align: center;
  color: #fff;
}

.main.article-original .builder .block--hero-with-text .text .h1 {
  margin-top: -0.5em;
}

.main.article-original .builder .block--hero-with-text+.block {
  margin-top: 120px;
}

@media screen and (min-width: 768px) {
  .main.article-original .builder .block--hero-with-text .text {
    padding-left: 11.94vw;
    padding-right: 11.94vw;
  }
}

@media screen and (min-width: 768px) {

  .main.article-original .builder .block--image-text,
  .main.article-original .builder .block--image {
    padding-left: 22.22vw;
    padding-right: 22.22vw;
  }
}

.main.article-original .builder .block--image-text-columns .column+.column {
  margin-top: 40px;
}

@media screen and (min-width: 768px) {
  .main.article-original .builder .block--image-text-columns {
    display: flex;
    padding-left: 16.25vw;
    padding-right: 16.25vw;
  }

  .main.article-original .builder .block--image-text-columns .column {
    flex: 1;
  }

  .main.article-original .builder .block--image-text-columns .column:first-child {
    margin-top: 148px;
  }

  .main.article-original .builder .block--image-text-columns .column+.column {
    margin-top: 0;
    margin-left: 8.33vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.article-original .builder .block--image-text-columns .text {
    padding-right: 2.78vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.article-original .builder .block--image-text .text {
    width: 37.22vw;
    margin-left: auto;
  }
}

.main.article-original .builder .block--text .text {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .main.article-original .builder .block--text {
    padding-left: 25.69vw;
    padding-right: 25.69vw;
  }
}

.main.article-original .shop {
  margin-top: 116px;
  padding-top: 120px;
  padding-bottom: 115px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  background-color: #fff;
}

.main.article-original .shop .headline {
  position: relative;
  z-index: 2;
  color: #2B4117;
}

.main.article-original .shop .headline .h1 {
  margin-bottom: -0.5em;
}

.main.article-original .shop .products {
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;
}

.main.article-original .shop .products .product {
  width: calc(50% - 7px);
}

.main.article-original .shop .products .product .image img {
  width: 100%;
}

.main.article-original .shop .products .product .text {
  margin-top: 12px;
  color: #2B4117;
}

.main.article-original .shop .products .product:first-child {
  margin-bottom: 37px;
  width: 100%;
}

.main.article-original .shop .products .product:first-child .image {
  padding-top: 18.93vw;
  padding-bottom: 18.93vw;
  padding-left: 17.07vw;
  padding-right: 17.07vw;
  background-color: #DEE4E4;
}

.main.article-original .shop .products .product:first-child picture {
  display: block;
  position: relative;
}

.main.article-original .shop .products .product:first-child picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 145.9016393443%;
}

.main.article-original .shop .products .product:first-child picture picture,
.main.article-original .shop .products .product:first-child picture img,
.main.article-original .shop .products .product:first-child picture video,
.main.article-original .shop .products .product:first-child picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article-original .shop .products .product:first-child picture video,
.main.article-original .shop .products .product:first-child picture img {
  object-fit: cover;
}

.main.article-original .shop .products .product:first-child .text {
  margin-top: 20px;
}

.main.article-original .shop .products .product:nth-child(2) .image picture,
.main.article-original .shop .products .product:nth-child(3) .image picture {
  display: block;
  position: relative;
}

.main.article-original .shop .products .product:nth-child(2) .image picture:before,
.main.article-original .shop .products .product:nth-child(3) .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 132.9787234043%;
}

.main.article-original .shop .products .product:nth-child(2) .image picture picture,
.main.article-original .shop .products .product:nth-child(2) .image picture img,
.main.article-original .shop .products .product:nth-child(2) .image picture video,
.main.article-original .shop .products .product:nth-child(2) .image picture iframe,
.main.article-original .shop .products .product:nth-child(3) .image picture picture,
.main.article-original .shop .products .product:nth-child(3) .image picture img,
.main.article-original .shop .products .product:nth-child(3) .image picture video,
.main.article-original .shop .products .product:nth-child(3) .image picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.article-original .shop .products .product:nth-child(2) .image picture video,
.main.article-original .shop .products .product:nth-child(2) .image picture img,
.main.article-original .shop .products .product:nth-child(3) .image picture video,
.main.article-original .shop .products .product:nth-child(3) .image picture img {
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .main.article-original .shop {
    margin-top: 160px;
    padding-bottom: 122px;
    padding-left: 10.28vw;
    padding-right: 10.28vw;
  }

  .main.article-original .shop .headline {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
  }

  .main.article-original .shop .headline .h1 {
    position: absolute;
    left: 31.94vw;
    top: 0;
    margin: 0;
    width: 44.79vw;
  }

  .main.article-original .shop .products {
    align-items: flex-end;
    column-gap: 0;
  }

  .main.article-original .shop .products .product {
    width: 19.58vw;
  }

  .main.article-original .shop .products .product .text {
    margin-top: 1.74vw;
  }

  .main.article-original .shop .products .product+.product {
    margin-left: 4.38vw;
    margin-top: 8.19vw;
  }

  .main.article-original .shop .products .product:first-child {
    width: auto;
    flex: 1;
    margin-bottom: 0;
  }

  .main.article-original .shop .products .product:first-child .image {
    padding-top: 6.04vw;
    padding-bottom: 6.04vw;
    padding-left: 5.35vw;
    padding-right: 5.35vw;
  }

  .main.article-original .shop .products .product:first-child+.product {
    margin-left: 8.26vw;
  }
}

.main.blog {
  padding-top: 195px;
  padding-bottom: 117px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .main.blog {
    padding-top: 179px;
    padding-bottom: 141px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.blog {
    padding-top: 12.43vw;
    padding-bottom: 9.79vw;
  }
}

.main.blog .intro {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.blog .intro .text {
  text-align: center;
}

.main.blog .intro .text .p+.h1 {
  margin-top: 16px;
}

@media screen and (min-width: 500px) {
  .main.blog .intro .text {
    margin: auto;
    width: 66%;
  }
}

.main.blog .filter {
  margin-top: 18px;
}

.main.blog .filter ul {
  display: flex;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  white-space: nowrap;
  overflow: auto;
}

.main.blog .filter ul li {
  padding-top: 16px;
  padding-bottom: 16px;
  color: #4966D9;
}

.main.blog .filter ul li a {
  display: block;
  position: relative;
  padding-top: 0.1em;
  padding-bottom: 1px;
}

.main.blog .filter ul li a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.033em;
  background-color: currentColor;
  transition: 0.5s ease-out;
}

.main.blog .filter ul li a.is-active:after {
  width: 100%;
  transition: 1s ease-out;
}

.main.blog .filter ul li+li {
  margin-left: 11.73vw;
}

.main.blog .filter .form {
  margin-top: 29px;
}

.main.blog .filter .form .input {
  margin: auto;
  width: 14.38vw;
  min-width: 207px;
  color: #4966D9;
}

.main.blog .filter .form .input input {
  width: 100%;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
}

.main.blog .filter .form .input input {
  border-bottom: 1px solid currentColor;
}

.main.blog .filter .form .input input::placeholder {
  color: #4966D9;
  opacity: 1;
}

.main.blog .filter .form .input input:-ms-input-placeholder {
  color: #4966D9;
  opacity: 1;
}

.main.blog .filter .form .input input::-ms-input-placeholder {
  color: #4966D9;
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .main.blog .filter {
    margin-top: 63px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 6.53vw;
    padding-right: 6.53vw;
  }

  .main.blog .filter ul {
    padding-left: 0;
    padding-right: 0;
    overflow: initial;
  }

  .main.blog .filter ul li {
    padding-top: 0;
    padding-bottom: 0;
  }

  .main.blog .filter ul li+li {
    margin-left: 2.85vw;
  }

  .main.blog .filter ul+.form {
    margin-left: 4.86vw;
  }

  .main.blog .filter .form {
    margin-top: 0;
  }
}

.main.blog .list {
  margin-top: 41px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.blog .list ul {
  display: grid;
  row-gap: 32px;
  column-gap: 5.33vw;
}

.main.blog .list ul li.feature,
.main.blog .list ul li.shop {
  grid-column-start: 1;
  grid-column-end: 3;
}

.main.blog .list ul li.feature {
  margin-left: -6.67vw;
  margin-right: -6.67vw;
  padding-top: 44px;
  padding-bottom: 40px;
}

.main.blog .list ul li.feature .image picture.desktop {
  display: none;
}

@media (min-aspect-ratio: 1/1) {
  .main.blog .list ul li.feature .image picture.mobile {
    display: none;
  }

  .main.blog .list ul li.feature .image picture.desktop {
    display: block;
  }
}

.main.blog .list ul li.feature.reg .page .image {
  position: relative;
}

.main.blog .list ul li.feature.reg .page .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 77.3333333333%;
}

.main.blog .list ul li.feature.reg .page .image picture,
.main.blog .list ul li.feature.reg .page .image img,
.main.blog .list ul li.feature.reg .page .image video,
.main.blog .list ul li.feature.reg .page .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.blog .list ul li.feature.reg .page .image video,
.main.blog .list ul li.feature.reg .page .image img {
  object-fit: cover;
}

.main.blog .list ul li.feature.reg .page .image+.text {
  margin-top: 35px;
}

.main.blog .list ul li.feature.reg .page .text {
  text-align: left;
}

.main.blog .list ul li.feature.alt .headline .link {
  display: none;
}

.main.blog .list ul li.feature.alt .page .image {
  position: relative;
}

.main.blog .list ul li.feature.alt .page .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 77.3333333333%;
}

.main.blog .list ul li.feature.alt .page .image picture,
.main.blog .list ul li.feature.alt .page .image img,
.main.blog .list ul li.feature.alt .page .image video,
.main.blog .list ul li.feature.alt .page .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.blog .list ul li.feature.alt .page .image video,
.main.blog .list ul li.feature.alt .page .image img {
  object-fit: cover;
}

.main.blog .list ul li.feature.alt .page .image+.text {
  margin-top: 26px;
}

.main.blog .list ul li.feature .page .labels+.p,
.main.blog .list ul li.feature .page .links+.p {
  margin-top: 4px;
}

.main.blog .list ul li.feature .page .p {
  color: #2B4117;
}

.main.blog .list ul li.shop {
  padding-top: 52px;
  padding-bottom: 80px;
}

.main.blog .list ul li.shop .headline {
  position: relative;
  z-index: 2;
  color: #2B4117;
}

.main.blog .list ul li.shop .headline .h1 {
  margin-bottom: -0.5em;
}

.main.blog .list ul li.shop .products {
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;
}

.main.blog .list ul li.shop .products .product {
  width: calc(50% - 7px);
}

.main.blog .list ul li.shop .products .product .image img {
  width: 100%;
}

.main.blog .list ul li.shop .products .product .text {
  margin-top: 12px;
  color: #2B4117;
}

.main.blog .list ul li.shop .products .product:first-child {
  margin-bottom: 37px;
  width: 100%;
}

.main.blog .list ul li.shop .products .product:first-child .image {
  padding-top: 18.93vw;
  padding-bottom: 18.93vw;
  padding-left: 17.07vw;
  padding-right: 17.07vw;
  background-color: #DEE4E4;
}

.main.blog .list ul li.shop .products .product:first-child picture {
  display: block;
  position: relative;
}

.main.blog .list ul li.shop .products .product:first-child picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 145.9016393443%;
}

.main.blog .list ul li.shop .products .product:first-child picture picture,
.main.blog .list ul li.shop .products .product:first-child picture img,
.main.blog .list ul li.shop .products .product:first-child picture video,
.main.blog .list ul li.shop .products .product:first-child picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.blog .list ul li.shop .products .product:first-child picture video,
.main.blog .list ul li.shop .products .product:first-child picture img {
  object-fit: cover;
}

.main.blog .list ul li.shop .products .product:first-child .text {
  margin-top: 20px;
}

.main.blog .list ul li.shop .products .product:nth-child(2) .image picture,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture {
  display: block;
  position: relative;
}

.main.blog .list ul li.shop .products .product:nth-child(2) .image picture:before,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 132.9787234043%;
}

.main.blog .list ul li.shop .products .product:nth-child(2) .image picture picture,
.main.blog .list ul li.shop .products .product:nth-child(2) .image picture img,
.main.blog .list ul li.shop .products .product:nth-child(2) .image picture video,
.main.blog .list ul li.shop .products .product:nth-child(2) .image picture iframe,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture picture,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture img,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture video,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.blog .list ul li.shop .products .product:nth-child(2) .image picture video,
.main.blog .list ul li.shop .products .product:nth-child(2) .image picture img,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture video,
.main.blog .list ul li.shop .products .product:nth-child(3) .image picture img {
  object-fit: cover;
}

.main.blog .list ul li .tags {
  display: flex;
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: #2B4117;
}

.main.blog .list ul li .tags a+a {
  margin-left: 6.4vw;
}

.main.blog .list ul li .tags+.card {
  margin-top: 8px;
}

.main.blog .list ul li .card .image {
  position: relative;
}

.main.blog .list ul li .card .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 132.8947368421%;
}

.main.blog .list ul li .card .image picture,
.main.blog .list ul li .card .image img,
.main.blog .list ul li .card .image video,
.main.blog .list ul li .card .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.blog .list ul li .card .image video,
.main.blog .list ul li .card .image img {
  object-fit: cover;
}

.main.blog .list ul li .card .text {
  margin-top: 13px;
}

@media screen and (min-width: 300px) {
  .main.blog .list ul {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 768px) {
  .main.blog .list {
    margin-top: 66px;
  }

  .main.blog .list ul {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 3.96vw;
    row-gap: 71px;
  }

  .main.blog .list ul li .card a {
    pointer-events: none;
  }

  .main.blog .list ul li .card a .tags,
  .main.blog .list ul li .card a .headline,
  .main.blog .list ul li .card a .image,
  .main.blog .list ul li .card a .text {
    pointer-events: initial;
  }

  .main.blog .list ul li.feature,
  .main.blog .list ul li.shop {
    grid-column-start: 1;
    grid-column-end: 4;
  }

  .main.blog .list ul li.feature a {
    pointer-events: none;
  }

  .main.blog .list ul li.feature a .tags,
  .main.blog .list ul li.feature a .headline,
  .main.blog .list ul li.feature a .image,
  .main.blog .list ul li.feature a .text {
    pointer-events: initial;
  }

  .main.blog .list ul li.feature.reg .headline .h1 {
    bottom: auto;
    top: 0;
    left: 0;
    width: 47.22vw;
  }

  .main.blog .list ul li.feature.reg .page {
    margin-top: 87px;
    width: 100%;
  }

  .main.blog .list ul li.feature.reg .page .image {
    position: relative;
  }

  .main.blog .list ul li.feature.reg .page .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 57.96875%;
  }

  .main.blog .list ul li.feature.reg .page .image picture,
  .main.blog .list ul li.feature.reg .page .image img,
  .main.blog .list ul li.feature.reg .page .image video,
  .main.blog .list ul li.feature.reg .page .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.blog .list ul li.feature.reg .page .image video,
  .main.blog .list ul li.feature.reg .page .image img {
    object-fit: cover;
  }

  .main.blog .list ul li.feature.reg .page .image+.text {
    margin-top: 35px;
  }

  .main.blog .list ul li.feature.reg .page .text {
    text-align: left;
  }

  .main.blog .list ul li.feature.alt>a {
    display: flex;
    position: relative;
    width: 100%;
  }

  .main.blog .list ul li.feature.alt .headline {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    top: 83px;
    left: 0;
  }

  .main.blog .list ul li.feature.alt .headline .h1 {
    position: static;
  }

  .main.blog .list ul li.feature.alt .headline .link {
    margin-top: 46px;
    white-space: nowrap;
    color: #4966D9;
  }

  .main.blog .list ul li.feature.alt .page .image {
    position: relative;
  }

  .main.blog .list ul li.feature.alt .page .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 63.4175691937%;
  }

  .main.blog .list ul li.feature.alt .page .image picture,
  .main.blog .list ul li.feature.alt .page .image img,
  .main.blog .list ul li.feature.alt .page .image video,
  .main.blog .list ul li.feature.alt .page .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.blog .list ul li.feature.alt .page .image video,
  .main.blog .list ul li.feature.alt .page .image img {
    object-fit: cover;
  }

  .main.blog .list ul li.feature.alt .page .text {
    text-align: right;
  }

  .main.blog .list ul li.shop {
    margin-left: -6.67vw;
    margin-right: -6.67vw;
    padding-top: 55px;
    padding-bottom: 55px;
    padding-left: 10.28vw;
    padding-right: 10.28vw;
  }

  .main.blog .list ul li.shop .headline {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
  }

  .main.blog .list ul li.shop .headline .h1 {
    position: absolute;
    left: 31.94vw;
    top: 0;
    margin: 0;
    width: 44.79vw;
  }

  .main.blog .list ul li.shop .products {
    align-items: flex-end;
    column-gap: 0;
  }

  .main.blog .list ul li.shop .products .product {
    width: 19.58vw;
  }

  .main.blog .list ul li.shop .products .product .text {
    margin-top: 1.74vw;
  }

  .main.blog .list ul li.shop .products .product+.product {
    margin-left: 4.38vw;
    margin-top: 8.19vw;
  }

  .main.blog .list ul li.shop .products .product:first-child {
    width: auto;
    flex: 1;
    margin-bottom: 0;
  }

  .main.blog .list ul li.shop .products .product:first-child .image {
    padding-top: 6.04vw;
    padding-bottom: 6.04vw;
    padding-left: 5.35vw;
    padding-right: 5.35vw;
  }

  .main.blog .list ul li.shop .products .product:first-child+.product {
    margin-left: 8.26vw;
  }

  .main.blog .list ul li .tags a+a {
    margin-left: 2.29vw;
  }

  .main.blog .list ul li .tags+.card {
    margin-top: 9px;
  }

  .main.blog .list ul li .card .image {
    position: relative;
  }

  .main.blog .list ul li .card .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 133.1578947368%;
  }

  .main.blog .list ul li .card .image picture,
  .main.blog .list ul li .card .image img,
  .main.blog .list ul li .card .image video,
  .main.blog .list ul li .card .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.blog .list ul li .card .image video,
  .main.blog .list ul li .card .image img {
    object-fit: cover;
  }

  .main.blog .list ul li .card .text {
    margin-top: 12px;
  }
}

@media screen and (min-width: 1024px) {
  .main.blog .list {
    padding-left: 6.39vw;
    padding-right: 6.39vw;
  }

  .main.blog .list ul li.feature,
  .main.blog .list ul li.shop {
    margin-left: -6.39vw;
    margin-right: -6.39vw;
  }

  .main.blog .list ul li.feature.reg {
    padding-left: 14.72vw;
    padding-right: 14.72vw;
  }

  .main.blog .list ul li.feature.reg .page {
    width: 100%;
    padding-left: 26.11vw;
  }

  .main.blog .list ul li.feature.reg .page .image+.text {
    margin-top: 38px;
  }

  .main.blog .list ul li.feature.alt {
    padding-left: 10.56vw;
    padding-right: 10.56vw;
  }

  .main.blog .list ul li.feature.alt .headline .h1,
  .main.blog .list ul li.feature.alt .headline .link {
    width: 36.6vw;
  }

  .main.blog .list ul li.feature.alt .headline .link {
    display: block;
  }

  .main.blog .list ul li.feature.alt .page {
    width: 100%;
    padding-left: 21.25vw;
  }

  .main.blog .list ul li.feature.alt .page .text {
    display: none;
  }

  .main.blog .list ul li .tags {
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.01em;
  }
}

@media screen and (min-width: 768px) {
  .main.blog {
    /* .form {
      margin-top: 77px;
      padding-right: vw(68);
    } */
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.blog {
    /* .form {
      margin-top: vw(77);
    } */
  }
}

.main.contact {
  padding-top: 196px;
  padding-bottom: 106px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .main.contact {
    padding-top: 177px;
    padding-bottom: 156px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.contact {
    padding-top: 12.29vw;
    padding-bottom: 10.83vw;
  }
}

.main.contact .intro {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.contact .intro .image {
  display: none;
}

.main.contact .intro .text .p+.h1 {
  margin-top: 10px;
}

.main.contact .intro .text .h1+.p {
  margin-top: 21px;
}

@media (max-width: 499px) {
  .main.contact .intro .text .h1 {
    font-size: 38px;
  }
}

@media screen and (min-width: 640px) {
  .main.contact .intro .image {
    display: block;
    margin-left: auto;
  }

  .main.contact .intro .image img {
    width: 100%;
  }

  .main.contact .intro .text {
    margin-top: 73px;
  }
}

@media screen and (min-width: 768px) {
  .main.contact .intro .image {
    width: 49.24vw;
  }

  .main.contact .intro .text {
    margin-top: 13px;
  }

  .main.contact .intro .text .p+.h1 {
    margin-top: 32px;
  }

  .main.contact .intro .text .h1+.p {
    margin-top: 21px;
  }

  .main.contact .intro .text .h1 {
    width: 51.88vw;
  }

  .main.contact .intro .text .p {
    width: 42.92vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.contact .intro {
    padding-left: 11.18vw;
    padding-right: 12.78vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.contact .intro .text {
    margin-top: 0.9vw;
  }

  .main.contact .intro .text .p+.h1 {
    margin-top: 2.22vw;
  }

  .main.contact .intro .text .h1+.p {
    margin-top: 1.46vw;
  }
}

.main.contact .content {
  display: flex;
  flex-direction: column;
  margin-top: 73px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.contact .content .image {
  order: 1;
}

.main.contact .content .image img {
  width: 100%;
}

.main.contact .content .text {
  order: 2;
  margin-top: 47px;
}

.main.contact .content .caption {
  margin-top: 14px;
}

@media screen and (min-width: 640px) {
  .main.contact .content {
    flex-direction: row;
    align-items: center;
  }

  .main.contact .content .image {
    width: 50%;
    order: 2;
  }

  .main.contact .content .text {
    order: 1;
    margin-top: 0;
    flex: 1;
    padding-right: 8.96vw;
  }
}

@media screen and (min-width: 768px) {
  .main.contact .content {
    margin-top: 139px;
  }
}

@media screen and (min-width: 1024px) {
  .main.contact .content {
    padding-left: 13.89vw;
    padding-right: 13.89vw;
  }

  .main.contact .content .image {
    width: 28.47vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.contact .content {
    padding-left: 18.47vw;
    padding-right: 18.47vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.contact .content {
    margin-top: 9.65vw;
  }
}

.main.contact .images {
  margin-top: 115px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.contact .images .image picture {
  display: block;
}

.main.contact .images .image img {
  width: 100%;
}

.main.contact .images .image .caption {
  margin-top: 14px;
}

.main.contact .images .image+.image {
  margin-top: 44px;
}

.main.contact .images .image:nth-child(1) picture {
  position: relative;
}

.main.contact .images .image:nth-child(1) picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 79.7853309481%;
}

.main.contact .images .image:nth-child(1) picture picture,
.main.contact .images .image:nth-child(1) picture img,
.main.contact .images .image:nth-child(1) picture video,
.main.contact .images .image:nth-child(1) picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.contact .images .image:nth-child(1) picture video,
.main.contact .images .image:nth-child(1) picture img {
  object-fit: cover;
}

.main.contact .images .image:nth-child(2) picture {
  position: relative;
}

.main.contact .images .image:nth-child(2) picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.main.contact .images .image:nth-child(2) picture picture,
.main.contact .images .image:nth-child(2) picture img,
.main.contact .images .image:nth-child(2) picture video,
.main.contact .images .image:nth-child(2) picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.contact .images .image:nth-child(2) picture video,
.main.contact .images .image:nth-child(2) picture img {
  object-fit: cover;
}

@media screen and (min-width: 640px) {
  .main.contact .images {
    display: flex;
    padding-left: 11.18vw;
    padding-right: 11.18vw;
  }

  .main.contact .images .image:nth-child(1) {
    width: 38.82vw;
  }

  .main.contact .images .image:nth-child(2) {
    width: 30.97vw;
  }

  .main.contact .images .image+.image {
    margin-top: 0;
    margin-left: 7.92vw;
  }
}

@media screen and (min-width: 768px) {
  .main.contact .images {
    margin-top: 160px;
  }
}

@media screen and (min-width: 1024px) {
  .main.contact .images {
    padding-left: 11.18vw;
    padding-right: 11.18vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.contact .images {
    margin-top: 11.11vw;
  }

  .main.contact .images .image .caption {
    margin-top: 0.97vw;
  }
}

/* body.page-template-page-home {
  @include bp-medium {
    header {
      .logo {
        img {
          width: vw(276);
          min-width: 276px;
        }
      }
    }
  }
} */
.main.home {
  overflow: hidden;
}

.main.home .hero {
  height: 80vh;
}

.main.home .hero .pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.main.home .hero .pc .pe {
  height: calc(100% + 20vh);
  margin-top: -10vh;
}

.main.home .hero .video,
.main.home .hero .image {
  position: relative;
}

.main.home .hero .image {
  height: 100%;
}

.main.home .hero .video,
.main.home .hero picture {
  display: block;
  height: 100%;
}

.main.home .hero .video.desktop,
.main.home .hero picture.desktop {
  display: none;
}

.main.home .hero video,
.main.home .hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-aspect-ratio: 1/1) {
  .main.home .hero picture.mobile {
    display: none;
  }

  .main.home .hero picture.desktop {
    display: block;
  }
}

.main.home .search {
  position: relative;
  z-index: 2;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.home .search .text {
  color: #2B4117;
}

.main.home .search .text .h1 {
  margin-top: -1.5em;
}

.main.home .search .text .h1+.p {
  margin-top: 27px;
}

.main.home .search .form {
  margin-top: 85px;
}

.main.home .search .form form {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.main.home .search .form .guestpicker .appear {
  left: auto;
  right: 0;
}

@media screen and (min-width: 768px) {
  .main.home .search .form .guestpicker .appear {
    width: 24.38vw;
    min-width: 351px;
  }
}

.main.home .search .form .input input,
.main.home .search .form .input--submit button {
  width: 100%;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
}

.main.home .search .form .input input {
  border-bottom: 1px solid currentColor;
}

.main.home .search .form .input input::placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.home .search .form .input input:-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.home .search .form .input input::-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.home .search .form .input .appear input {
  border-bottom: 0;
}

.main.home .search .form .input--submit button {
  cursor: pointer;
  transition: 0.5s;
}

.main.home .search .form .input--submit button svg {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
}

.main.home .search .form .input--submit button:hover {
  opacity: 0.5;
}

.main.home .search .form .input--submit button:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.main.home .search .form .input--submit button svg {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
}

.main.home .search .form .input--location {
  width: calc(100% - 54px);
}

.main.home .search .form .input--dates,
.main.home .search .form .input--guests {
  margin-top: 40px;
  width: calc(100% - 54px);
}

.main.home .search .form .input--submit {
  margin-top: 40px;
  margin-left: 22px;
  width: 32px;
}

@media screen and (min-width: 300px) {

  .main.home .search .form .input--dates,
  .main.home .search .form .input--guests {
    margin-top: 40px;
    width: calc(50% - 38px);
  }

  .main.home .search .form .input--dates+.input,
  .main.home .search .form .input--guests+.input {
    margin-left: 22px;
  }
}

@media screen and (min-width: 768px) {
  .main.home .search {
    padding-left: 17.78vw;
    padding-right: 17.78vw;
  }

  .main.home .search .text .h1+.p {
    margin-top: 42px;
  }

  .main.home .search .text .p {
    padding-right: 8.54vw;
  }

  .main.home .search .form {
    margin-top: 77px;
    padding-right: 4.72vw;
  }

  .main.home .search .form .input--location {
    width: calc(50% - 22px);
  }

  .main.home .search .form .input--dates,
  .main.home .search .form .input--guests {
    margin-top: 0;
    width: calc(25% - 38px);
  }

  .main.home .search .form .input--submit {
    margin-top: 0;
  }

  .main.home .search .form .input+.input {
    margin-left: 22px;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.home .search {
    padding-left: 34.93vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.home .search .text .h1+.p {
    margin-top: 1.88vw;
  }

  .main.home .search .text .h1+.p {
    margin-top: 2.92vw;
  }

  .main.home .search .form {
    margin-top: 5.35vw;
  }

  .main.home .search .form .input--location {
    width: calc(50% - 1.53vw);
  }

  .main.home .search .form .input--dates,
  .main.home .search .form .input--guests {
    width: calc(25% - 2.64vw);
  }

  .main.home .search .form .input--submit {
    width: 2.22vw;
  }

  .main.home .search .form .input+.input {
    margin-left: 1.53vw;
  }
}

.main.home .slider {
  margin-top: 124px;
}

.main.home .slider .labels ul {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  white-space: nowrap;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.main.home .slider .labels ul::-webkit-scrollbar {
  display: none;
}

.main.home .slider .labels li {
  display: inline-block;
  color: #4966D9;
}

.main.home .slider .labels li .link {
  display: block;
  position: relative;
  padding-top: 0.1em;
  padding-bottom: 1px;
}

.main.home .slider .labels li .link:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.066em;
  background-color: currentColor;
  transition: 0.5s ease-out;
}

.main.home .slider .labels li .link.is-active:after {
  width: 100%;
  transition: 1s ease-out;
}

.main.home .slider .labels li+li {
  margin-left: 47px;
}

.main.home .slider .splides {
  position: relative;
  margin-top: 16px;
  height: 418px;
}

.main.home .slider .splides .splide {
  position: relative;
  pointer-events: none;
  opacity: 0;
  overflow: visible;
}

.main.home .slider .splides .splide.is-visible {
  opacity: 1;
}

.main.home .slider .splides .splide.is-visible .splide__track {
  pointer-events: all;
}

.main.home .slider .splides .splide__track {
  position: absolute;
  top: 0;
}

.main.home .slider .splides .splide__slide {
  width: auto;
}

.main.home .slider .splides .splide__slide .image img {
  height: 381px;
  width: auto;
  max-width: none;
}

.main.home .slider .splides .splide__slide .text {
  margin-top: 23px;
  color: #4966D9;
}

.main.home .slider .splides+.action {
  margin-top: 59px;
}

.main.home .slider .action {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.home .slider .action a {
  display: inline-flex;
  flex-direction: column;
  color: #4966D9;
}

@media screen and (min-width: 768px) {
  .main.home .slider {
    margin-top: 151px;
  }

  .main.home .slider .splides {
    margin-top: 24px;
    height: 570px;
  }

  .main.home .slider .splides .splide__slide .image img {
    height: 532px;
  }

  .main.home .slider .splides .splide__slide .text {
    margin-top: 24px;
  }
}

@media screen and (min-width: 1024px) {
  .main.home .slider .splides {
    height: 572px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.home .slider {
    margin-top: 10.49vw;
  }

  .main.home .slider .splides {
    margin-top: 1.67vw;
    height: 39.72vw;
  }

  .main.home .slider .splides .splide__slide .image img {
    height: 36.94vw;
  }

  .main.home .slider .splides .splide__slide .text {
    margin-top: 1.67vw;
  }

  .main.home .slider .splides+.action {
    margin-top: 4.1vw;
  }
}

.main.home .a {
  margin-top: 69px;
  padding-top: 121px;
  padding-bottom: 114px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  background-color: #DEE4E4;
}

.main.home .a .headline {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
}

.main.home .a .headline .h1 {
  margin-bottom: -0.5em;
}

.main.home .a .locations .location {
  display: flex;
  flex-direction: column;
}

.main.home .a .locations .location .video .pc,
.main.home .a .locations .location .image .pc {
  overflow: hidden;
}

.main.home .a .locations .location .video {
  position: relative;
}

.main.home .a .locations .location .video:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 57.9487179487%;
}

.main.home .a .locations .location .video picture,
.main.home .a .locations .location .video img,
.main.home .a .locations .location .video video,
.main.home .a .locations .location .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.home .a .locations .location .video video,
.main.home .a .locations .location .video img {
  object-fit: cover;
}

.main.home .a .locations .location .video .pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.home .a .locations .location .video .pc[data-pdir=h] .pe {
  width: calc(100% + 10vh);
  height: 100%;
  margin-top: 0;
  margin-left: -5vh;
}

.main.home .a .locations .location .video .pc .pe {
  height: calc(100% + 10vh);
  margin-top: -5vh;
}

.main.home .a .locations .location .video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main.home .a .locations .location .image {
  position: relative;
}

.main.home .a .locations .location .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 66.6666666667%;
}

.main.home .a .locations .location .image picture,
.main.home .a .locations .location .image img,
.main.home .a .locations .location .image video,
.main.home .a .locations .location .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.home .a .locations .location .image video,
.main.home .a .locations .location .image img {
  object-fit: cover;
}

.main.home .a .locations .location .image .pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.home .a .locations .location .image .pc[data-pdir=h] .pe {
  width: calc(100% + 10vh);
  height: 100%;
  margin-top: 0;
  margin-left: -5vh;
}

.main.home .a .locations .location .image .pc .pe {
  height: calc(100% + 10vh);
  margin-top: -5vh;
}

.main.home .a .locations .location .image img {
  width: 100%;
}

.main.home .a .locations .location .text {
  margin-top: 34px;
}

.main.home .a .locations .location .text .link {
  color: #4966D9;
}

.main.home .a .locations .location .text .link+.p {
  margin-top: 6px;
}

.main.home .a .locations .location .text .p {
  color: #2B4117;
}

.main.home .a .locations .location+.location {
  margin-top: 74px;
}

@media screen and (min-width: 768px) {
  .main.home .a {
    padding-top: 163px;
    padding-bottom: 130px;
    padding-left: 14.03vw;
    padding-right: 14.03vw;
  }

  .main.home .a .headline {
    margin: auto;
    width: 75%;
  }

  .main.home .a .locations .location {
    position: relative;
  }

  .main.home .a .locations .location .text {
    margin-top: 37px;
  }

  .main.home .a .locations .location .text .link+.p {
    margin-top: 2px;
  }

  .main.home .a .locations .location+.location {
    margin-top: 57px;
  }

  .main.home .a .locations .location:first-child {
    margin-right: 24.44vw;
  }

  .main.home .a .locations .location:first-child .text {
    position: absolute;
    top: 100%;
    left: 0;
    width: 59.6581%;
  }

  .main.home .a .locations .location:last-child {
    margin-left: 33.54vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.home .a {
    padding-left: 17.5vw;
    padding-right: 17.5vw;
  }

  .main.home .a .headline {
    width: 90%;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.home .a {
    margin-top: 4.79vw;
    padding-top: 11.32vw;
    padding-bottom: 9.03vw;
  }

  .main.home .a .locations .location .text {
    margin-top: 2.57vw;
  }

  .main.home .a .locations .location .text .link+.p {
    margin-top: 0.14vw;
  }

  .main.home .a .locations .location+.location {
    margin-top: 3.96vw;
  }
}

.main.home .feature {
  margin-top: 115px;
}

@media screen and (min-width: 768px) {
  .main.home .feature {
    margin-top: 139px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.home .feature {
    margin-top: 9.65vw;
  }
}

.main.home .c {
  margin-top: 114px;
}

.main.home .c .headline {
  position: relative;
  z-index: 2;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  color: #DEE4E4;
  text-align: center;
}

.main.home .c .headline .h1 {
  margin-bottom: -1.5em;
}

.main.home .c .location .pc {
  overflow: hidden;
}

.main.home .c .location .pc .pe {
  height: calc(100% + 20vh);
  margin-top: -10vh;
}

.main.home .c .location .video video {
  width: 100%;
}

.main.home .c .location picture {
  display: block;
  height: 100%;
}

.main.home .c .location picture.desktop {
  display: none;
}

.main.home .c .location img {
  width: 100%;
}

@media (max-width: 767px) {
  .main.home .c .location .image {
    position: relative;
  }

  .main.home .c .location .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 170.6666666667%;
  }

  .main.home .c .location .image picture,
  .main.home .c .location .image img,
  .main.home .c .location .image video,
  .main.home .c .location .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.home .c .location .image video,
  .main.home .c .location .image img {
    object-fit: cover;
  }
}

@media screen and (min-width: 768px) {
  .main.home .c {
    margin-top: 134px;
  }

  .main.home .c .headline .h1 {
    margin-left: auto;
    margin-right: auto;
    max-width: 69.44vw;
  }

  .main.home .c .location picture.mobile {
    display: none;
  }

  .main.home .c .location picture.desktop {
    display: block;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.home .c {
    margin-top: 9.31vw;
  }
}

.main.home .shop {
  margin-top: 108px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  padding-bottom: 108px;
}

.main.home .shop .headline {
  position: relative;
  z-index: 2;
  color: #2B4117;
}

.main.home .shop .headline .h1 {
  max-width: 50vw;
  margin-bottom: -0.5em;
}

.main.home .shop .headline .icon-comingSoon {
  position: absolute;
  transform: translateY(-50%) rotate(105deg);
  top: 50%;
  right: 0;
  width: 88px;
  height: 88px;
}

.main.home .shop .headline .icon-comingSoon svg {
  animation-name: rotate;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  display: block;
}

.main.home .shop .headline .icon-comingSoon svg path {
  fill: currentColor;
}

.main.home .shop .headline .icon-comingSoon svg circle {
  stroke: currentColor;
}

@media screen and (min-width: 768px) {
  .main.home .shop .headline .icon-comingSoon {
    display: none;
  }
}

.main.home .shop .products {
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;
}

.main.home .shop .products .product {
  position: relative;
  width: calc(50% - 7px);
}

.main.home .shop .products .product .icon-comingSoon {
  display: none;
}

@media screen and (min-width: 768px) {
  .main.home .shop .products .product .icon-comingSoon {
    display: block;
    position: absolute;
    transform: translateX(50%) translateY(-50%) rotate(105deg);
    top: 25%;
    right: 0;
    width: 88px;
    height: 88px;
  }

  .main.home .shop .products .product .icon-comingSoon svg {
    animation-name: rotate;
    animation-duration: 20s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    display: block;
  }

  .main.home .shop .products .product .icon-comingSoon svg path {
    fill: currentColor;
  }

  .main.home .shop .products .product .icon-comingSoon svg circle {
    stroke: currentColor;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.home .shop .products .product .icon-comingSoon {
    width: 6.11vw;
    height: 6.11vw;
  }
}

.main.home .shop .products .product .image .pc {
  position: relative;
  position: relative;
  overflow: hidden;
}

.main.home .shop .products .product .image .pc:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 145.9016393443%;
}

.main.home .shop .products .product .image .pc picture,
.main.home .shop .products .product .image .pc img,
.main.home .shop .products .product .image .pc video,
.main.home .shop .products .product .image .pc iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.home .shop .products .product .image .pc video,
.main.home .shop .products .product .image .pc img {
  object-fit: cover;
}

.main.home .shop .products .product .image .pc .pe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 10vh);
  margin-top: -5vh;
}

.main.home .shop .products .product .image img {
  width: 100%;
}

.main.home .shop .products .product .text {
  margin-top: 12px;
  color: #2B4117;
}

.main.home .shop .products .product:first-child {
  margin-bottom: 37px;
  width: 100%;
}

.main.home .shop .products .product:first-child .image {
  padding-top: 18.93vw;
  padding-bottom: 18.93vw;
  padding-left: 17.07vw;
  padding-right: 17.07vw;
  background-color: #DEE4E4;
}

.main.home .shop .products .product:first-child .image .pc .pe {
  height: calc(100% + 10vh);
  margin-top: -5vh;
}

.main.home .shop .products .product:first-child picture {
  display: block;
}

.main.home .shop .products .product:first-child .text {
  margin-top: 20px;
}

.main.home .shop .products .product:nth-child(2) .image .pc .pe,
.main.home .shop .products .product:nth-child(3) .image .pc .pe {
  width: calc(100% + 10vh);
  height: 100%;
  margin-left: -5vh;
}

@media screen and (min-width: 768px) {
  .main.home .shop {
    margin-top: 144px;
    padding-bottom: 140px;
    padding-left: 10.28vw;
    padding-right: 10.28vw;
  }

  .main.home .shop .headline {
    position: relative;
    width: 100%;
  }

  .main.home .shop .headline .text {
    position: absolute;
    left: 31.94vw;
    top: 0;
    margin: 0;
    width: 44.79vw;
  }

  .main.home .shop .headline .h1 {
    position: relative;
    width: 100%;
  }

  .main.home .shop .products {
    align-items: flex-end;
    column-gap: 0;
  }

  .main.home .shop .products .product {
    width: 19.58vw;
  }

  .main.home .shop .products .product .text {
    margin-top: 1.74vw;
  }

  .main.home .shop .products .product+.product {
    margin-left: 4.38vw;
    margin-top: 8.19vw;
  }

  .main.home .shop .products .product:first-child {
    width: auto;
    flex: 1;
    margin-bottom: 0;
  }

  .main.home .shop .products .product:first-child .image {
    padding-top: 6.04vw;
    padding-bottom: 6.04vw;
    padding-left: 5.35vw;
    padding-right: 5.35vw;
  }

  .main.home .shop .products .product:first-child+.product {
    margin-left: 8.26vw;
  }
}

.main.locationCollection {
  padding-top: 200px;
  padding-bottom: 88px;
}

@media screen and (min-width: 768px) {
  .main.locationCollection {
    padding-top: 156px;
    padding-bottom: 147px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationCollection {
    padding-top: 10.83vw;
    padding-bottom: 10.21vw;
  }
}

.main.locationCollection .search {
  position: relative;
  z-index: 2;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  /* @include bp-huge {
    padding-left: vw(503);
  } */
}

.main.locationCollection .search .text {
  color: #2B4117;
}

.main.locationCollection .search .text .h1+.p {
  margin-top: 20px;
}

.main.locationCollection .search .form {
  margin-top: 53px;
}

.main.locationCollection .search .form form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  position: relative;
}

.main.locationCollection .search .form .input input[type=text] {
  color: #2B4117;
}

.main.locationCollection .search .form .input input[type=text],
.main.locationCollection .search .form .input button[type=submit] {
  width: 100%;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
}

.main.locationCollection .search .form .input input[type=text] {
  border-bottom: 1px solid currentColor;
}

.main.locationCollection .search .form .input input[type=text]::placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.locationCollection .search .form .input input[type=text]:-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.locationCollection .search .form .input input[type=text]::-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.locationCollection .search .form .input button[type=submit] {
  cursor: pointer;
  transition: 0.5s;
}

.main.locationCollection .search .form .input button[type=submit] svg {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
}

.main.locationCollection .search .form .input button[type=submit]:hover {
  opacity: 0.5;
}

.main.locationCollection .search .form .input button[type=submit]:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.main.locationCollection .search .form .input--dates,
.main.locationCollection .search .form .input--guests {
  width: calc(100% - 54px);
}

.main.locationCollection .search .form .input--submit {
  margin-left: 22px;
  width: 32px;
}

@media screen and (min-width: 300px) {

  .main.locationCollection .search .form .input--dates,
  .main.locationCollection .search .form .input--guests {
    width: calc(50% - 38px);
  }

  .main.locationCollection .search .form .input--dates+.input,
  .main.locationCollection .search .form .input--guests+.input {
    margin-left: 22px;
  }
}

@media screen and (min-width: 500px) {
  .main.locationCollection .search .text .p {
    width: 85%;
  }
}

@media screen and (min-width: 768px) {
  .main.locationCollection .search {
    padding-left: 17.78vw;
    padding-right: 17.78vw;
    padding-left: 9.24vw;
    padding-right: 9.24vw;
  }

  .main.locationCollection .search .text .p {
    width: 51.67vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.locationCollection .search {
    display: flex;
    align-items: flex-end;
    padding-left: 9.24vw;
    padding-right: 9.24vw;
  }

  .main.locationCollection .search .text {
    flex: 1;
  }

  .main.locationCollection .search .form {
    margin-top: 0;
    width: 22.71vw;
    min-width: 327px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationCollection .search .text .h1+.p {
    margin-top: 1.39vw;
  }

  .main.locationCollection .search .form .input--dates,
  .main.locationCollection .search .form .input--guests {
    width: calc(50% - 2.64vw);
  }

  .main.locationCollection .search .form .input--submit {
    width: 2.22vw;
  }

  .main.locationCollection .search .form .input+.input {
    margin-left: 1.53vw;
  }
}

.main.locationCollection .filters {
  position: relative;
  z-index: 3;
  margin-top: 61px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.locationCollection .filters .villaFilters {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .main.locationCollection .filters {
    margin-top: 73px;
    padding-left: 9.24vw;
    padding-right: 9.24vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationCollection .filters {
    margin-top: 5.07vw;
  }

  .main.locationCollection .filters .dropdown .activate span {
    font-size: 0.97vw;
  }

  .main.locationCollection .filters .dropdown .activate i {
    margin-top: 0.07vw;
    margin-left: 0.9vw;
  }

  .main.locationCollection .filters .dropdown .activate i svg {
    width: 0.69vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .main.locationCollection .filters .dropdown .activate span {
    font-size: 0.73vw;
  }
}

.main.locationCollection .locations {
  margin-top: 6px;
}

.main.locationCollection .locations>ul {
  display: grid;
  row-gap: 56px;
}

@media (max-width: 767px) {
  .main.locationCollection .locations>ul li.empty {
    margin-top: 32px;
    padding-left: 6.67vw;
    padding-right: 6.67vw;
  }
}

.main.locationCollection .locations .location {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.locationCollection .locations .location .slider {
  position: relative;
}

.main.locationCollection .locations .location .swiper-slide {
  width: 100% !important;
}

.main.locationCollection .locations .location .swiper-slide img {
  transition: 0.35s;
}

.main.locationCollection .locations .location .swiper-slide img.swiper-lazy {
  opacity: 0;
}

.main.locationCollection .locations .location .swiper-slide img.swiper-lazy.swiper-lazy-loaded {
  opacity: 1;
}

.main.locationCollection .locations .location .swiper-button-prev,
.main.locationCollection .locations .location .swiper-button-next {
  display: none;
  position: absolute;
  top: 50%;
  margin-top: -4px;
}

.main.locationCollection .locations .location .swiper-button-prev svg,
.main.locationCollection .locations .location .swiper-button-next svg {
  width: 21px;
  height: 9px;
}

.main.locationCollection .locations .location .swiper-button-prev svg path,
.main.locationCollection .locations .location .swiper-button-next svg path {
  fill: #B7C0C0;
}

@media screen and (min-width: 768px) {

  .main.locationCollection .locations .location .swiper-button-prev,
  .main.locationCollection .locations .location .swiper-button-next {
    margin-top: -7px;
  }

  .main.locationCollection .locations .location .swiper-button-prev svg,
  .main.locationCollection .locations .location .swiper-button-next svg {
    width: 24px;
    height: 14px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .main.locationCollection .locations .location .swiper-button-prev,
  .main.locationCollection .locations .location .swiper-button-next {
    margin-top: -0.49vw;
  }

  .main.locationCollection .locations .location .swiper-button-prev svg,
  .main.locationCollection .locations .location .swiper-button-next svg {
    width: 1.67vw;
    height: 0.97vw;
  }
}

.main.locationCollection .locations .location .swiper-button-prev {
  right: 100%;
}

.main.locationCollection .locations .location .swiper-button-prev svg {
  transform: translateX(-10%) rotate(90deg);
}

@media screen and (min-width: 768px) {
  .main.locationCollection .locations .location .swiper-button-prev svg {
    transform: translateX(-40%) rotate(90deg);
  }
}

.main.locationCollection .locations .location .swiper-button-next {
  left: 100%;
}

.main.locationCollection .locations .location .swiper-button-next svg {
  transform: translateX(10%) rotate(-90deg);
}

@media screen and (min-width: 768px) {
  .main.locationCollection .locations .location .swiper-button-next svg {
    transform: translateX(40%) rotate(-90deg);
  }
}

.main.locationCollection .locations .location .image {
  position: relative;
}

.main.locationCollection .locations .location .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 68.3333333333%;
}

.main.locationCollection .locations .location .image picture,
.main.locationCollection .locations .location .image img,
.main.locationCollection .locations .location .image video,
.main.locationCollection .locations .location .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.locationCollection .locations .location .image video,
.main.locationCollection .locations .location .image img {
  object-fit: cover;
}

.main.locationCollection .locations .location .text {
  margin-top: 24px;
}

.main.locationCollection .locations .feature {
  padding-top: 59px;
  padding-bottom: 55px;
}

.main.locationCollection .locations .text .link {
  color: #4966D9;
}

.main.locationCollection .locations .text .properties {
  margin-top: 5px;
  color: #9CABAB;
}

.main.locationCollection .locations .text .properties ul {
  display: flex;
  justify-content: space-between;
}

.main.locationCollection .locations .text .properties li {
  display: flex;
  align-items: center;
}

.main.locationCollection .locations .text .properties .icon--bathrooms {
  margin-top: -0.1em;
}

.main.locationCollection .locations .text .properties p {
  margin-left: 6px;
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.01em;
}

@media (max-width: 767px) {
  .main.locationCollection .locations .feature .text .properties {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .main.locationCollection .locations {
    margin-top: 40px;
    padding-left: 9.24vw;
    padding-right: 9.24vw;
  }

  .main.locationCollection .locations>ul {
    grid-template-columns: 1fr 1fr;
    column-gap: 8.89vw;
    row-gap: 53px;
  }

  .main.locationCollection .locations .location {
    padding-left: 0vw;
    padding-right: 0vw;
  }

  .main.locationCollection .locations .feature {
    grid-column-start: 1;
    grid-column-end: 3;
    padding-left: 0vw;
    padding-right: 0vw;
    padding-top: 37px;
    padding-bottom: 37px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .main.locationCollection .locations .feature .text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 21px;
  }

  .main.locationCollection .locations .feature .text .properties {
    margin-top: 0;
    margin-right: 18px;
    width: 20.35vw;
    min-width: 293px;
  }
}

@media screen and (min-width: 1024px) {
  .main.locationCollection .locations .text {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .main.locationCollection .locations .text .properties {
    margin-top: 0;
    margin-right: 18px;
    width: 20.35vw;
    min-width: 293px;
  }
}

@media (min-width: 1024px) and (max-width: 1440px) {
  .main.locationCollection .locations .location .text .properties {
    width: auto;
    min-width: 0;
  }

  .main.locationCollection .locations .location .text .properties li+li {
    margin-left: 19px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationCollection .locations {
    margin-top: 2.78vw;
  }

  .main.locationCollection .locations>ul {
    row-gap: 3.68vw;
  }

  .main.locationCollection .locations .feature {
    padding-top: 2.57vw;
    padding-bottom: 2.57vw;
  }

  .main.locationCollection .locations .location .text {
    margin-top: 1.67vw;
  }

  .main.locationCollection .locations .text .properties {
    margin-right: 1.25vw;
  }

  .main.locationCollection .locations .text .properties p {
    margin-left: 0.42vw;
    font-size: 0.76vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .main.locationCollection .locations .text .properties p {
    font-size: 0.57vw;
  }
}

@media screen and (min-width: 768px) {
  .main.allRentals .search .text {
    max-width: 50vw;
  }
}

body.device-desktop .main.locationCollection .locations ul li.empty {
  margin-top: 32px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

@media screen and (min-width: 768px) {
  body.device-desktop .main.locationCollection .locations ul li.empty {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 1024px) {
  body.device-desktop .main.locationCollection .locations ul li.empty {
    margin-top: 54px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  body.device-desktop .main.locationCollection .locations ul li.empty {
    margin-top: 3.75vw;
  }
}

body.device-desktop .main.locationCollection .locations ul li a .slider {
  transition: 0.5s;
}

body.device-desktop .main.locationCollection .locations ul li a .slider .swiper:active {
  cursor: grabbing;
}

body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-prev,
body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-next {
  opacity: 0;
  transition: 0.5s;
}

body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-prev svg,
body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-next svg {
  transition: 0.5s;
}

body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-prev:hover svg,
body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-next:hover svg {
  opacity: 0.8;
}

body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-prev:active svg,
body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-next:active svg {
  opacity: 0.7;
  transition: 0.15s;
}

body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-prev {
  transform: translateX(40%) scale(0.9);
}

body.device-desktop .main.locationCollection .locations ul li a .slider .swiper-button-next {
  transform: translateX(-40%) scale(0.9);
}

body.device-desktop .main.locationCollection .locations ul li a:hover .slider {
  transform: scale(1.0384615);
}

body.device-desktop .main.locationCollection .locations ul li a:hover .swiper-button-prev,
body.device-desktop .main.locationCollection .locations ul li a:hover .swiper-button-next {
  /* opacity: 1;
  transform: translateX(0) scale(1);
  transition-delay: .15s; */
}

body.device-desktop .main.locationCollection .locations ul li a:hover:active .swiper-button-prev svg {
  transform: translateX(-10%) rotate(90deg) scale(0.8);
}

@media screen and (min-width: 768px) {
  body.device-desktop .main.locationCollection .locations ul li a:hover:active .swiper-button-prev svg {
    transform: translateX(-40%) rotate(90deg) scale(0.8);
  }
}

body.device-desktop .main.locationCollection .locations ul li a:hover:active .swiper-button-next svg {
  transform: translateX(10%) rotate(-90deg) scale(0.8);
}

@media screen and (min-width: 768px) {
  body.device-desktop .main.locationCollection .locations ul li a:hover:active .swiper-button-next svg {
    transform: translateX(40%) rotate(-90deg) scale(0.8);
  }
}

/* body.page-template-page-location-landing,
body.single-location {
  header {
    .logo {
      img {
        filter: grayscale(1) brightness(10);
      }
    }
  }
} */
.main.locationLanding {
  overflow: hidden;
}

.main.locationLanding .hero {
  height: 80vh;
}

.main.locationLanding .hero .image {
  height: 100%;
}

.main.locationLanding .hero .video,
.main.locationLanding .hero picture {
  display: block;
  height: 100%;
}

.main.locationLanding .hero .video.desktop,
.main.locationLanding .hero picture.desktop {
  display: none;
}

.main.locationLanding .hero video,
.main.locationLanding .hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-aspect-ratio: 1/1) {
  .main.locationLanding .hero picture.mobile {
    display: none;
  }

  .main.locationLanding .hero picture.desktop {
    display: block;
  }
}

.main.locationLanding .search {
  position: relative;
  z-index: 2;
  margin-top: 40px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.locationLanding .search .text {
  color: #2B4117;
}

.main.locationLanding .search .text .h1+.p {
  margin-top: 25px;
}

.main.locationLanding .search .form {
  position: relative;
  z-index: 2;
  margin-top: 58px;
}

.main.locationLanding .search .form form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

.main.locationLanding .search .form .input {
  /* &--guests input {
    border-bottom: 1px solid currentColor;
  } */
}

.main.locationLanding .search .form .input input,
.main.locationLanding .search .form .input--submit button {
  width: 100%;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
}

.main.locationLanding .search .form .input input {
  border-bottom: 1px solid currentColor;
}

.main.locationLanding .search .form .input input::placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.locationLanding .search .form .input input:-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.locationLanding .search .form .input input::-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.locationLanding .search .form .input .appear input {
  border-bottom: 0;
}

.main.locationLanding .search .form .input--submit button {
  cursor: pointer;
  transition: 0.5s;
}

.main.locationLanding .search .form .input--submit button:hover {
  opacity: 0.5;
}

.main.locationLanding .search .form .input--submit button:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.main.locationLanding .search .form .input--submit button svg {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
}

.main.locationLanding .search .form .input--dates,
.main.locationLanding .search .form .input--guests {
  width: calc(100% - 54px);
}

.main.locationLanding .search .form .input--submit {
  margin-left: 22px;
  width: 32px;
}

@media screen and (min-width: 300px) {

  .main.locationLanding .search .form .input--dates,
  .main.locationLanding .search .form .input--guests {
    width: calc(50% - 38px);
  }

  .main.locationLanding .search .form .input--dates+.input,
  .main.locationLanding .search .form .input--guests+.input {
    margin-left: 22px;
  }
}

@media screen and (min-width: 768px) {
  .main.locationLanding .search {
    margin-top: 85px;
    padding-left: 10.14vw;
    padding-right: 14.03vw;
  }

  .main.locationLanding .search .text {
    display: flex;
  }

  .main.locationLanding .search .text .h1 {
    width: 36.04vw;
  }

  .main.locationLanding .search .text .p {
    width: 38.26vw;
  }

  .main.locationLanding .search .text .h1+.p {
    margin-top: 60px;
    margin-left: 1.53vw;
  }

  .main.locationLanding .search .form {
    padding-left: 37.57vw;
    margin-top: 51px;
    padding-right: 15.63vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.locationLanding .search .text .h1+.p {
    margin-top: 127px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationLanding .search {
    margin-top: 5.9vw;
  }

  .main.locationLanding .search .text .h1+.p {
    margin-top: 8.82vw;
  }

  .main.locationLanding .search .form {
    margin-top: 3.54vw;
  }

  .main.locationLanding .search .form .input--dates,
  .main.locationLanding .search .form .input--guests {
    width: calc(50% - 2.64vw);
  }

  .main.locationLanding .search .form .input--submit {
    width: 2.22vw;
  }

  .main.locationLanding .search .form .input+.input {
    margin-left: 1.53vw;
  }
}

.main.locationLanding .slider {
  margin-top: 124px;
}

.main.locationLanding .slider .labels ul {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  white-space: nowrap;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.main.locationLanding .slider .labels ul::-webkit-scrollbar {
  display: none;
}

.main.locationLanding .slider .labels li {
  display: inline-block;
  color: #4966D9;
}

.main.locationLanding .slider .labels li .link {
  display: block;
  position: relative;
  padding-top: 0.1em;
  padding-bottom: 1px;
}

.main.locationLanding .slider .labels li .link:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.066em;
  background-color: currentColor;
  transition: 0.5s ease-out;
}

.main.locationLanding .slider .labels li .link.is-active:after {
  width: 100%;
  transition: 1s ease-out;
}

.main.locationLanding .slider .labels li+li {
  margin-left: 47px;
}

.main.locationLanding .slider .splides {
  position: relative;
  margin-top: 16px;
  height: 418px;
}

.main.locationLanding .slider .splides .splide {
  position: relative;
  pointer-events: none;
  opacity: 0;
  overflow: visible;
}

.main.locationLanding .slider .splides .splide.is-active {
  opacity: 1;
}

.main.locationLanding .slider .splides .splide.is-active .splide__track {
  pointer-events: all;
}

.main.locationLanding .slider .splides .splide__track {
  position: absolute;
  top: 0;
}

.main.locationLanding .slider .splides .splide__slide {
  width: auto;
}

.main.locationLanding .slider .splides .splide__slide .image img {
  height: 381px;
  width: auto;
  max-width: none;
}

.main.locationLanding .slider .splides .splide__slide .text {
  margin-top: 23px;
  color: #4966D9;
}

.main.locationLanding .slider .splides+.action {
  margin-top: 59px;
}

.main.locationLanding .slider .action {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.locationLanding .slider .action a {
  color: #4966D9;
}

@media screen and (min-width: 768px) {
  .main.locationLanding .slider {
    margin-top: 151px;
  }

  .main.locationLanding .slider .splides {
    margin-top: 24px;
    height: 570px;
  }

  .main.locationLanding .slider .splides .splide__slide .image img {
    height: 532px;
  }

  .main.locationLanding .slider .splides .splide__slide .text {
    margin-top: 24px;
  }
}

@media screen and (min-width: 1024px) {
  .main.locationLanding .slider .splides {
    height: 572px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationLanding .slider {
    margin-top: 10.49vw;
  }

  .main.locationLanding .slider .splides {
    margin-top: 1.67vw;
    height: 39.72vw;
  }

  .main.locationLanding .slider .splides .splide__slide .image img {
    height: 36.94vw;
  }

  .main.locationLanding .slider .splides .splide__slide .text {
    margin-top: 1.67vw;
  }

  .main.locationLanding .slider .splides+.action {
    margin-top: 4.1vw;
  }
}

.main.locationLanding .a {
  margin-top: 115px;
  padding-top: 121px;
  padding-bottom: 114px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  background-color: #DEE4E4;
}

.main.locationLanding .a .headline {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
}

.main.locationLanding .a .headline .h1 {
  margin-bottom: -0.5em;
}

.main.locationLanding .a .locations .location {
  display: flex;
  flex-direction: column;
}

.main.locationLanding .a .locations .location .video {
  position: relative;
}

.main.locationLanding .a .locations .location .video:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 57.9487179487%;
}

.main.locationLanding .a .locations .location .video picture,
.main.locationLanding .a .locations .location .video img,
.main.locationLanding .a .locations .location .video video,
.main.locationLanding .a .locations .location .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.locationLanding .a .locations .location .video video,
.main.locationLanding .a .locations .location .video img {
  object-fit: cover;
}

.main.locationLanding .a .locations .location .video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main.locationLanding .a .locations .location .image img {
  width: 100%;
}

.main.locationLanding .a .locations .location .text {
  margin-top: 34px;
}

.main.locationLanding .a .locations .location .text .link {
  color: #4966D9;
}

.main.locationLanding .a .locations .location .text .link+.p {
  margin-top: 6px;
}

.main.locationLanding .a .locations .location .text .p {
  color: #2B4117;
}

.main.locationLanding .a .locations .location+.location {
  margin-top: 74px;
}

@media screen and (min-width: 768px) {
  .main.locationLanding .a {
    padding-top: 163px;
    padding-bottom: 130px;
    padding-left: 14.03vw;
    padding-right: 14.03vw;
  }

  .main.locationLanding .a .headline {
    margin: auto;
    width: 75%;
  }

  .main.locationLanding .a .locations .location {
    position: relative;
  }

  .main.locationLanding .a .locations .location .text {
    margin-top: 37px;
  }

  .main.locationLanding .a .locations .location .text .link+.p {
    margin-top: 2px;
  }

  .main.locationLanding .a .locations .location+.location {
    margin-top: 57px;
  }

  .main.locationLanding .a .locations .location:first-child {
    margin-right: 24.44vw;
  }

  .main.locationLanding .a .locations .location:first-child .text {
    position: absolute;
    top: 100%;
    left: 0;
    width: 59.6581%;
  }

  .main.locationLanding .a .locations .location:last-child {
    margin-left: 33.54vw;
  }

  .main.locationLanding .a .locations .location.full {
    margin-left: 0;
    margin-right: 0;
  }
}

@media screen and (min-width: 1024px) {
  .main.locationLanding .a {
    padding-left: 17.5vw;
    padding-right: 17.5vw;
  }

  .main.locationLanding .a .headline {
    width: 90%;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationLanding .a {
    margin-top: 4.79vw;
    padding-top: 11.32vw;
    padding-bottom: 9.03vw;
  }

  .main.locationLanding .a .locations .location .text {
    margin-top: 2.57vw;
  }

  .main.locationLanding .a .locations .location .text .link+.p {
    margin-top: 0.14vw;
  }

  .main.locationLanding .a .locations .location+.location {
    margin-top: 3.96vw;
  }
}

.main.locationLanding .b {
  margin-top: 115px;
}

.main.locationLanding .b .headline {
  position: relative;
  z-index: 2;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  color: #2B4117;
}

.main.locationLanding .b .headline .h1 {
  margin-bottom: -1.5em;
  max-width: 292px;
}

.main.locationLanding .b .location .text {
  margin-top: 26px;
  padding-left: 5.33vw;
  padding-right: 5.33vw;
  text-align: right;
  color: #4966D9;
}

@media screen and (min-width: 768px) {
  .main.locationLanding .b {
    display: flex;
    margin-top: 139px;
    padding-left: 8.06vw;
    padding-right: 8.06vw;
  }

  .main.locationLanding .b .headline,
  .main.locationLanding .b .location .text {
    padding-left: 0;
    padding-right: 0;
  }

  .main.locationLanding .b .headline {
    display: flex;
    align-items: flex-end;
    width: 0;
  }

  .main.locationLanding .b .headline .h1 {
    position: absolute;
    left: 0;
    bottom: 96px;
    margin: 0;
    max-width: none;
    width: 39.86vw;
  }

  .main.locationLanding .b .location {
    padding-left: 18.54vw;
  }

  .main.locationLanding .b .location .text {
    margin-top: 29px;
    text-align: left;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationLanding .b {
    margin-top: 9.65vw;
  }

  .main.locationLanding .b .headline .h1 {
    bottom: 6.67vw;
  }

  .main.locationLanding .b .location .text {
    margin-top: 2.01vw;
  }
}

.main.locationLanding .c {
  margin-top: 114px;
}

.main.locationLanding .c .headline {
  position: relative;
  z-index: 2;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  color: #DEE4E4;
  text-align: center;
}

.main.locationLanding .c .headline .h1 {
  margin-bottom: -1.5em;
}

.main.locationLanding .c .location picture {
  display: block;
  height: 100%;
}

.main.locationLanding .c .location picture.desktop {
  display: none;
}

.main.locationLanding .c .location img {
  width: 100%;
}

@media (max-width: 767px) {
  .main.locationLanding .c .location .image {
    position: relative;
  }

  .main.locationLanding .c .location .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 170.6666666667%;
  }

  .main.locationLanding .c .location .image picture,
  .main.locationLanding .c .location .image img,
  .main.locationLanding .c .location .image video,
  .main.locationLanding .c .location .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.locationLanding .c .location .image video,
  .main.locationLanding .c .location .image img {
    object-fit: cover;
  }
}

@media screen and (min-width: 768px) {
  .main.locationLanding .c {
    margin-top: 134px;
  }

  .main.locationLanding .c .headline .h1 {
    margin-left: auto;
    margin-right: auto;
    max-width: 69.44vw;
  }

  .main.locationLanding .c .location picture.mobile {
    display: none;
  }

  .main.locationLanding .c .location picture.desktop {
    display: block;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationLanding .c {
    margin-top: 9.31vw;
  }
}

.main.locationLanding .shop {
  margin-top: 112px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  padding-bottom: 94px;
}

.main.locationLanding .shop .headline {
  position: relative;
  z-index: 2;
  color: #2B4117;
}

.main.locationLanding .shop .headline .h1 {
  margin-bottom: -0.5em;
}

.main.locationLanding .shop .headline .icon-comingSoon {
  position: absolute;
  transform: translateY(-50%) rotate(105deg);
  top: 50%;
  right: 0;
  width: 88px;
  height: 88px;
}

.main.locationLanding .shop .headline .icon-comingSoon svg {
  animation-name: rotate;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  display: block;
}

.main.locationLanding .shop .headline .icon-comingSoon svg path {
  fill: currentColor;
}

.main.locationLanding .shop .headline .icon-comingSoon svg circle {
  stroke: currentColor;
}

@media screen and (min-width: 768px) {
  .main.locationLanding .shop .headline .icon-comingSoon {
    display: none;
  }
}

.main.locationLanding .shop .products {
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;
}

.main.locationLanding .shop .products .product {
  position: relative;
  width: calc(50% - 7px);
}

.main.locationLanding .shop .products .product .icon-comingSoon {
  display: none;
}

@media screen and (min-width: 768px) {
  .main.locationLanding .shop .products .product .icon-comingSoon {
    display: block;
    position: absolute;
    transform: translateX(50%) translateY(-50%) rotate(105deg);
    top: 25%;
    right: 0;
    width: 88px;
    height: 88px;
  }

  .main.locationLanding .shop .products .product .icon-comingSoon svg {
    animation-name: rotate;
    animation-duration: 20s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    display: block;
  }

  .main.locationLanding .shop .products .product .icon-comingSoon svg path {
    fill: currentColor;
  }

  .main.locationLanding .shop .products .product .icon-comingSoon svg circle {
    stroke: currentColor;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.locationLanding .shop .products .product .icon-comingSoon {
    width: 6.11vw;
    height: 6.11vw;
  }
}

.main.locationLanding .shop .products .product .image picture {
  display: block;
  position: relative;
}

.main.locationLanding .shop .products .product .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 145.9016393443%;
}

.main.locationLanding .shop .products .product .image picture picture,
.main.locationLanding .shop .products .product .image picture img,
.main.locationLanding .shop .products .product .image picture video,
.main.locationLanding .shop .products .product .image picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.locationLanding .shop .products .product .image picture video,
.main.locationLanding .shop .products .product .image picture img {
  object-fit: cover;
}

.main.locationLanding .shop .products .product .text {
  margin-top: 12px;
  color: #2B4117;
}

.main.locationLanding .shop .products .product:first-child {
  margin-bottom: 37px;
  width: 100%;
}

.main.locationLanding .shop .products .product:first-child .image {
  padding-top: 18.93vw;
  padding-bottom: 18.93vw;
  padding-left: 17.07vw;
  padding-right: 17.07vw;
  background-color: #DEE4E4;
}

.main.locationLanding .shop .products .product:first-child .text {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .main.locationLanding .shop {
    margin-top: 144px;
    padding-bottom: 140px;
    padding-left: 10.28vw;
    padding-right: 10.28vw;
  }

  .main.locationLanding .shop .headline {
    position: relative;
    width: 100%;
  }

  .main.locationLanding .shop .headline .text {
    position: absolute;
    left: 31.94vw;
    top: 0;
    margin: 0;
    width: 44.79vw;
  }

  .main.locationLanding .shop .headline .h1 {
    position: relative;
    width: 100%;
  }

  .main.locationLanding .shop .products {
    align-items: flex-end;
    column-gap: 0;
  }

  .main.locationLanding .shop .products .product {
    width: 19.58vw;
  }

  .main.locationLanding .shop .products .product .text {
    margin-top: 1.74vw;
  }

  .main.locationLanding .shop .products .product+.product {
    margin-left: 4.38vw;
    margin-top: 8.19vw;
  }

  .main.locationLanding .shop .products .product:first-child {
    width: auto;
    flex: 1;
    margin-bottom: 0;
  }

  .main.locationLanding .shop .products .product:first-child .image {
    padding-top: 6.04vw;
    padding-bottom: 6.04vw;
    padding-left: 5.35vw;
    padding-right: 5.35vw;
  }

  .main.locationLanding .shop .products .product:first-child+.product {
    margin-left: 8.26vw;
  }
}

.main.page {
  padding-top: 202px;
  padding-bottom: 113px;
}

@media screen and (min-width: 1024px) {
  .main.page {
    padding-top: 273px;
    padding-bottom: 157px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.page {
    padding-top: 18.96vw;
    padding-bottom: 10.9vw;
  }
}

.main.page .editor {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

@media screen and (min-width: 768px) {
  .main.page .editor {
    padding-left: 12.5vw;
    padding-right: 12.5vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.page .editor {
    padding-left: 18.06vw;
    padding-right: 18.06vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.page .editor {
    padding-left: 24.1vw;
    padding-right: 24.1vw;
  }
}

.main.product~footer {
  margin-bottom: 58px;
}

@media screen and (min-width: 1024px) {
  .main.product~footer {
    margin-bottom: 0;
  }
}

.main.product .float {
  position: fixed;
  z-index: 3;
  bottom: 0;
  width: 100%;
}

.main.product .float .button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 6.13vw;
  background-color: #2B4117;
  color: #fff;
}

.main.product .float .button i {
  margin-top: 0;
}

.main.product .float .button i svg {
  width: 14px;
  transform: rotate(-90deg);
}

.main.product .float .button i svg path {
  fill: currentColor;
}

@media screen and (min-width: 1024px) {
  .main.product .float {
    display: none;
  }
}

.main.product .intro {
  position: relative;
  padding-top: 75px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.product .intro .background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 45px);
}

.main.product .intro .image {
  position: relative;
  z-index: 2;
  position: relative;
}

.main.product .intro .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 133.0152671756%;
}

.main.product .intro .image picture,
.main.product .intro .image img,
.main.product .intro .image video,
.main.product .intro .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.product .intro .image video,
.main.product .intro .image img {
  object-fit: cover;
}

.main.product .intro img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 500px) {
  .main.product .intro {
    padding-left: 13.89vw;
    padding-right: 13.89vw;
  }
}

@media screen and (min-width: 768px) {
  .main.product .intro {
    padding-left: 24.86vw;
    padding-right: 24.86vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.product .intro {
    padding-left: 31.81vw;
    padding-right: 31.81vw;
  }

  .main.product .intro .background {
    height: calc(100% - 130px);
  }
}

.main.product .details {
  display: flex;
  flex-direction: column;
  margin-top: 77px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  padding-bottom: 80px;
}

.main.product .details .h1 {
  order: 1;
}

.main.product .details .text {
  order: 2;
}

.main.product .details .images {
  order: 3;
  margin-top: 79px;
}

.main.product .details .images .image {
  position: relative;
}

.main.product .details .images .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 133.0152671756%;
}

.main.product .details .images .image picture,
.main.product .details .images .image img,
.main.product .details .images .image video,
.main.product .details .images .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.product .details .images .image video,
.main.product .details .images .image img {
  object-fit: cover;
}

.main.product .details .images .image+.image {
  margin-top: 80px;
}

.main.product .details .text {
  margin-top: 13px;
}

.main.product .details .text .p+.price {
  margin-top: 12px;
}

.main.product .details .text .price {
  font-family: "Cinzel", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 18px;
  line-height: 1.72;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.product .details .text .price {
    font-size: 1.25vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .main.product .details .text .price {
    font-size: 0.94vw;
  }
}

.main.product .details .text .add {
  display: none;
}

.main.product .details .text button {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

@media screen and (min-width: 500px) {
  .main.product .details {
    padding-left: 13.89vw;
    padding-right: 13.89vw;
  }
}

@media screen and (min-width: 768px) {
  .main.product .details {
    padding-left: 24.86vw;
    padding-right: 24.86vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.product .details {
    align-items: flex-start;
    flex-direction: row;
    position: relative;
    margin-top: 101px;
    padding-left: 4.86vw;
    padding-right: 3.68vw;
    padding-bottom: 100px;
  }

  .main.product .details .h1 {
    position: sticky;
    z-index: 2;
    top: 0;
    height: 53.82vw;
    width: 0;
    padding-top: 5.42vw;
  }

  .main.product .details .images {
    order: 2;
    width: 36.39vw;
    margin-top: 0;
    margin-left: 26.94vw;
    margin-bottom: 60px;
  }

  .main.product .details .images .image+.image {
    margin-top: 100px;
  }

  .main.product .details .text {
    align-self: flex-end;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    order: 3;
    position: sticky;
    z-index: 2;
    bottom: 0;
    flex: 1;
    height: calc(48.4vw + 60px);
    margin-top: 0;
    padding-left: 3.06vw;
    padding-bottom: 60px;
  }

  .main.product .details .text .add {
    display: block;
    margin-top: 40px;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.product .details {
    padding-left: 11.81vw;
    padding-right: 10.63vw;
  }

  .main.product .details .images {
    margin-left: 20vw;
  }
}

.main.product .artisan .left {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.product .artisan .left .image {
  padding-left: 10.67vw;
  padding-right: 10.67vw;
}

.main.product .artisan .left .image picture {
  display: block;
  position: relative;
}

.main.product .artisan .left .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 140%;
}

.main.product .artisan .left .image picture picture,
.main.product .artisan .left .image picture img,
.main.product .artisan .left .image picture video,
.main.product .artisan .left .image picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.product .artisan .left .image picture video,
.main.product .artisan .left .image picture img {
  object-fit: cover;
}

.main.product .artisan .left .text {
  margin-top: 40px;
}

.main.product .artisan .left .text .h2 {
  line-height: 0.95;
}

.main.product .artisan .left .text .h2+.p {
  margin-top: 17px;
}

.main.product .artisan .right {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
}

.main.product .artisan .right .image {
  margin-top: 61px;
  order: 2;
  position: relative;
}

.main.product .artisan .right .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 141.3333333333%;
}

.main.product .artisan .right .image picture,
.main.product .artisan .right .image img,
.main.product .artisan .right .image video,
.main.product .artisan .right .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.product .artisan .right .image video,
.main.product .artisan .right .image img {
  object-fit: cover;
}

.main.product .artisan .right .text {
  order: 1;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

@media screen and (min-width: 768px) {
  .main.product .artisan {
    display: flex;
    padding-left: 6.94vw;
    padding-right: 6.94vw;
    padding-bottom: 162px;
  }

  .main.product .artisan .left {
    flex: 1;
    margin-top: 63px;
    padding: 0;
    padding-right: 6.94vw;
  }

  .main.product .artisan .left .image {
    width: 18.06vw;
    min-width: 260px;
    padding: 0;
  }

  .main.product .artisan .left .text {
    margin-top: 84px;
  }

  .main.product .artisan .right {
    width: 50%;
    margin-top: 0;
  }

  .main.product .artisan .right .image {
    order: 1;
    margin-top: 0;
    position: relative;
  }

  .main.product .artisan .right .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 140.5466970387%;
  }

  .main.product .artisan .right .image picture,
  .main.product .artisan .right .image img,
  .main.product .artisan .right .image video,
  .main.product .artisan .right .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.product .artisan .right .image video,
  .main.product .artisan .right .image img {
    object-fit: cover;
  }

  .main.product .artisan .right .text {
    order: 2;
    margin-top: 69px;
    padding: 0;
  }

  .main.product .artisan .right .text .button {
    width: 14.38vw;
    min-width: 207px;
  }
}

@media screen and (min-width: 1024px) {
  .main.product .artisan {
    padding-left: 13.89vw;
    padding-right: 13.89vw;
  }

  .main.product .artisan .left {
    padding-right: 12.5vw;
  }

  .main.product .artisan .right {
    width: 30.49vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.product .artisan {
    padding-left: 16.32vw;
    padding-right: 16.32vw;
  }
}

body.single-project header {
  position: absolute;
}

body.single-project header .logo {
  color: #465455;
}

body.single-project.light header .logo {
  color: #C9C0B7;
}

body.single-project.dark header .logo {
  color: #fff;
}

@media screen and (min-width: 768px) {
  body.single-project header {
    padding-top: 90px;
  }

  body.single-project header .logo svg {
    width: 25.21vw;
  }

  body.single-project header .navigation {
    display: none;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  body.single-project header {
    padding-top: 6.25vw;
  }
}

body.dark .main.project {
  color: #fff;
}

body.dark .main.project .info .text {
  color: #fff;
}

body.light .main.project {
  color: #465455;
}

body.light .main.project .info .text {
  color: #465455;
}

.main.project {
  background-color: var(--var-bg);
  color: #465455;
}

.main.project~footer {
  display: none;
}

.main.project .info {
  display: flex;
  min-height: 100%;
  background-color: var(--var-bg);
}

.main.project .info .text {
  color: #465455;
}

.main.project .bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

@media (max-width: 767px) {
  .main.project .info {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-left: 7.2vw;
    padding-right: 7.2vw;
    opacity: 0;
    pointer-events: none;
  }

  .main.project .info.is-open {
    opacity: 1;
    pointer-events: all;
  }

  .main.project .info .text {
    margin: auto;
  }

  .main.project .info .h1+.p {
    margin-top: 7.73vw;
  }

  .main.project .info .p+.action {
    margin-top: 15.2vw;
  }

  .main.project .info .action {
    display: none;
  }

  .main.project .gallery img {
    width: 100%;
  }

  .main.project .gallery.desktop {
    display: none;
  }
}

@media (max-width: 767px) and (min-aspect-ratio: 1/1) {
  .main.project .gallery.desktop {
    display: block;
  }

  .main.project .gallery.mobile {
    display: none;
  }
}

@media (max-width: 767px) {
  .main.project .bar.info-open .mobile .action .openInfo {
    opacity: 0;
  }

  .main.project .bar.info-open .mobile .action .openImages {
    opacity: 1;
  }

  .main.project .bar .desktop {
    display: none;
  }

  .main.project .bar .mobile {
    padding-left: 14.4vw;
    padding-right: 14.4vw;
    padding-bottom: 9.87vw;
  }

  .main.project .bar .mobile .action {
    display: flex;
    background-color: var(--var-bg);
  }

  .main.project .bar .mobile .action a {
    flex: 1;
    padding: 15px 0 17px;
    text-align: center;
  }

  .main.project .bar .mobile .action a+a {
    position: relative;
  }

  .main.project .bar .mobile .action a+a:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -10px;
    width: 1px;
    height: 19px;
    background-color: currentColor;
  }

  .main.project .bar .mobile .action .openImages {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -60%, 0);
    opacity: 0;
  }
}

@media screen and (min-width: 768px) {
  .main.project .info {
    width: 50vw;
    white-space: normal;
  }

  .main.project .info .text {
    margin: auto;
    padding-left: 70px;
    padding-right: 70px;
  }

  .main.project .info .h1+.p {
    margin-top: 2.01vw;
  }

  .main.project .info .p+.action {
    margin-top: 3.96vw;
  }

  .main.project .gallery {
    display: inline-flex;
    height: 100%;
  }

  .main.project .gallery picture {
    display: block;
    height: 100vh;
  }

  .main.project .gallery img {
    height: 100%;
    width: auto;
    max-width: none;
  }

  .main.project .bar .mobile {
    display: none;
  }

  .main.project .bar .desktop {
    display: block;
    padding-bottom: 31px;
    padding-left: 70px;
    padding-right: 70px;
    text-align: center;
  }

  .main.project .bar .desktop .progress {
    position: relative;
    width: 100%;
  }

  .main.project .bar .desktop .progress:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: currentColor;
  }

  .main.project .bar .desktop .action {
    padding-top: 31px;
  }
}

@media screen and (min-width: 1024px) {
  .main.project .info .text {
    padding-left: 9.72vw;
    padding-right: 9.72vw;
  }

  .main.project .bar .desktop {
    padding-left: 9.72vw;
    padding-right: 9.72vw;
  }
}

body.page-template-page-projects header {
  position: absolute;
  pointer-events: none;
}

.main.projects .swiper-slide {
  background-color: var(--var-bg);
}

.main.projects .swiper-slide.dark {
  color: #fff;
}

.main.projects .swiper-slide.light {
  color: #465455;
}

.main.projects .swiper-slide a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  pointer-events: none;
}

.main.projects .swiper-slide .images img {
  pointer-events: all;
}

.main.projects .swiper-slide .text {
  margin-top: 5.33vw;
  text-align: center;
}

.main.projects .swiper-slide .h1 {
  display: inline-block;
  pointer-events: all;
}

@media (max-width: 767px) {
  .main.projects .swiper-wrapper {
    flex-direction: column;
  }

  .main.projects .swiper-slide {
    height: 100vh;
  }

  .main.projects .swiper-slide .images {
    padding-left: 10.13vw;
    padding-right: 10.13vw;
  }

  .main.projects .swiper-slide .images .left,
  .main.projects .swiper-slide .images .right {
    display: none;
  }

  .main.projects .swiper-slide .images img {
    margin: auto;
    max-height: 59.6393vh;
  }
}

@media screen and (min-width: 768px) {

  .main.projects .slides,
  .main.projects .swiper {
    height: 100vh;
    width: 100vw;
    overflow: hidden;
  }

  .main.projects .swiper-slide {
    padding-top: 1.81vw;
  }

  .main.projects .swiper-slide .images {
    display: flex;
    align-items: center;
  }

  .main.projects .swiper-slide .images .left,
  .main.projects .swiper-slide .images .center,
  .main.projects .swiper-slide .images .right {
    flex: 1;
  }

  .main.projects .swiper-slide .images .center img {
    margin: auto;
    max-height: 75vh;
    max-width: 31.94vw;
  }

  .main.projects .swiper-slide .images .right img {
    margin-left: auto;
  }

  .main.projects .swiper-slide .text {
    margin-top: 1.81vw;
  }

  .main.projects .swiper-slide:nth-child(odd) .images .left img {
    width: 19.17vw;
    max-height: 45.34vh;
  }

  .main.projects .swiper-slide:nth-child(odd) .images .right img {
    width: 23.33vw;
    max-height: 30.9vw;
  }

  .main.projects .swiper-slide:nth-child(even) .images .left img {
    width: 23.33vw;
    max-height: 30.9vw;
  }

  .main.projects .swiper-slide:nth-child(even) .images .right img {
    width: 19.17vw;
    max-height: 45.34vh;
  }
}

.main.sale {
  padding-top: 205px;
  padding-bottom: 116px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .main.sale {
    padding-top: 177px;
    padding-bottom: 172px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.sale {
    padding-top: 12.29vw;
    padding-bottom: 11.94vw;
  }
}

.main.sale .intro {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.sale .intro .image picture.desktop {
  display: none;
}

@media (min-aspect-ratio: 1/1) {
  .main.sale .intro .image picture.mobile {
    display: none;
  }

  .main.sale .intro .image picture.desktop {
    display: block;
  }
}

.main.sale .intro .text {
  margin-top: 64px;
}

.main.sale .intro .text .p+.h1 {
  margin-top: 10px;
}

.main.sale .intro .text .h1+.p {
  margin-top: 21px;
}

@media (max-width: 499px) {
  .main.sale .intro .text .h1 {
    font-size: 38px;
  }
}

@media screen and (min-width: 640px) {
  .main.sale .intro .image {
    margin-left: auto;
  }

  .main.sale .intro .image img {
    width: 100%;
  }

  .main.sale .intro .text {
    margin-top: 73px;
  }
}

@media screen and (min-width: 768px) {
  .main.sale .intro .image {
    width: 49.24vw;
  }

  .main.sale .intro .text {
    margin-top: 13px;
  }

  .main.sale .intro .text .p+.h1 {
    margin-top: 32px;
  }

  .main.sale .intro .text .h1+.p {
    margin-top: 21px;
  }

  .main.sale .intro .text .h1 {
    width: 51.88vw;
  }

  .main.sale .intro .text .p {
    width: 42.92vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.sale .intro {
    padding-left: 11.18vw;
    padding-right: 12.78vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.sale .intro .text {
    margin-top: 0.9vw;
  }

  .main.sale .intro .text .p+.h1 {
    margin-top: 2.22vw;
  }

  .main.sale .intro .text .h1+.p {
    margin-top: 1.46vw;
  }
}

.main.sale .images {
  margin-top: 106px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.sale .images .image picture {
  display: block;
}

.main.sale .images .image img {
  width: 100%;
}

.main.sale .images .image .caption {
  margin-top: 14px;
}

.main.sale .images .image+.image {
  margin-top: 44px;
}

.main.sale .images .image:nth-child(1) picture {
  position: relative;
}

.main.sale .images .image:nth-child(1) picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 79.7853309481%;
}

.main.sale .images .image:nth-child(1) picture picture,
.main.sale .images .image:nth-child(1) picture img,
.main.sale .images .image:nth-child(1) picture video,
.main.sale .images .image:nth-child(1) picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.sale .images .image:nth-child(1) picture video,
.main.sale .images .image:nth-child(1) picture img {
  object-fit: cover;
}

.main.sale .images .image:nth-child(2) picture {
  position: relative;
}

.main.sale .images .image:nth-child(2) picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.main.sale .images .image:nth-child(2) picture picture,
.main.sale .images .image:nth-child(2) picture img,
.main.sale .images .image:nth-child(2) picture video,
.main.sale .images .image:nth-child(2) picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.sale .images .image:nth-child(2) picture video,
.main.sale .images .image:nth-child(2) picture img {
  object-fit: cover;
}

@media screen and (min-width: 640px) {
  .main.sale .images {
    display: flex;
    padding-left: 11.18vw;
    padding-right: 11.18vw;
  }

  .main.sale .images .image:nth-child(1) {
    width: 38.82vw;
  }

  .main.sale .images .image:nth-child(2) {
    width: 30.97vw;
  }

  .main.sale .images .image+.image {
    margin-top: 0;
    margin-left: 7.92vw;
  }
}

@media screen and (min-width: 768px) {
  .main.sale .images {
    margin-top: 122px;
  }
}

@media screen and (min-width: 1024px) {
  .main.sale .images {
    padding-left: 11.18vw;
    padding-right: 11.18vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.sale .images {
    margin-top: 8.47vw;
  }

  .main.sale .images .image .caption {
    margin-top: 0.97vw;
  }
}

.main.sale .content {
  margin-top: 103px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.sale .content .text .h2+.p {
  margin-top: 12px;
}

@media screen and (min-width: 768px) {
  .main.sale .content {
    margin-top: 137px;
    padding-left: 13.89vw;
    padding-right: 13.89vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.sale .content {
    padding-left: 24.86vw;
    padding-right: 24.86vw;
  }

  .main.sale .content .text .h2+.p {
    margin-top: 14px;
  }
}

.main.sale .contact {
  display: flex;
  flex-direction: column;
  margin-top: 113px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.sale .contact .text {
  order: 2;
  margin-top: 108px;
}

.main.sale .contact .text .p+.cta {
  margin-top: 67px;
}

.main.sale .contact .text .cta {
  display: inline-flex;
  flex-direction: column;
}

.main.sale .contact .text .cta a {
  display: block;
  color: #4966D9;
}

.main.sale .contact .text .cta a+a {
  margin-top: 8px;
}

.main.sale .contact .image {
  order: 1;
}

@media screen and (min-width: 768px) {
  .main.sale .contact {
    flex-direction: row;
    align-items: center;
    margin-top: 156px;
  }

  .main.sale .contact .text {
    order: 1;
    flex: 1;
    margin-top: 0;
    padding-right: 13.33vw;
    padding-top: 6.46vw;
  }

  .main.sale .contact .image {
    order: 2;
    width: 45%;
  }
}

@media screen and (min-width: 1024px) {
  .main.sale .contact {
    padding-left: 16.32vw;
    padding-right: 16.32vw;
  }

  .main.sale .contact .image {
    width: 28.47vw;
  }
}

.main.shop {
  padding-top: 195px;
  padding-bottom: 117px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .main.shop {
    padding-top: 179px;
    padding-bottom: 155px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.shop {
    padding-top: 12.43vw;
    padding-bottom: 10.76vw;
  }
}

.main.shop .intro {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.shop .intro .text {
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .main.shop .intro {
    padding-left: 16.32vw;
    padding-right: 16.32vw;
  }
}

.main.shop .filter {
  margin-top: 18px;
}

.main.shop .filter ul {
  display: flex;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  white-space: nowrap;
  overflow: auto;
}

.main.shop .filter ul li {
  padding-top: 16px;
  padding-bottom: 16px;
  color: #4966D9;
}

.main.shop .filter ul li a {
  display: block;
  position: relative;
  padding-top: 0.1em;
  padding-bottom: 1px;
}

.main.shop .filter ul li a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.033em;
  background-color: currentColor;
  transition: 0.5s ease-out;
}

.main.shop .filter ul li a.is-active:after {
  width: 100%;
  transition: 1s ease-out;
}

.main.shop .filter ul li+li {
  margin-left: 11.73vw;
}

@media screen and (min-width: 768px) {
  .main.shop .filter {
    margin-top: 83px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 6.53vw;
    padding-right: 6.53vw;
  }

  .main.shop .filter ul {
    padding-left: 0;
    padding-right: 0;
    overflow: initial;
  }

  .main.shop .filter ul li {
    padding-top: 0;
    padding-bottom: 0;
  }

  .main.shop .filter ul li+li {
    margin-left: 5.9vw;
  }
}

.main.shop .list {
  margin-top: 41px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.shop .list ul {
  display: grid;
  row-gap: 34px;
  column-gap: 6.13vw;
}

.main.shop .list ul li.product .image {
  position: relative;
}

.main.shop .list ul li.product .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 131.5789473684%;
}

.main.shop .list ul li.product .image picture,
.main.shop .list ul li.product .image img,
.main.shop .list ul li.product .image video,
.main.shop .list ul li.product .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.shop .list ul li.product .image video,
.main.shop .list ul li.product .image img {
  object-fit: cover;
}

.main.shop .list ul li.product .text {
  margin-top: 12px;
}

.main.shop .list ul li.artisan {
  grid-column-start: 1;
  grid-column-end: 3;
  padding-top: 33px;
  padding-bottom: 27px;
}

.main.shop .list ul li.artisan:last-child {
  padding-bottom: 0;
}

.main.shop .list ul li.artisan .featuredProduct .image {
  background-color: #DEE4E4;
  padding: 18.93vw 16.53vw;
}

.main.shop .list ul li.artisan .featuredProduct .image picture {
  display: block;
  position: relative;
}

.main.shop .list ul li.artisan .featuredProduct .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 145.5%;
}

.main.shop .list ul li.artisan .featuredProduct .image picture picture,
.main.shop .list ul li.artisan .featuredProduct .image picture img,
.main.shop .list ul li.artisan .featuredProduct .image picture video,
.main.shop .list ul li.artisan .featuredProduct .image picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.shop .list ul li.artisan .featuredProduct .image picture video,
.main.shop .list ul li.artisan .featuredProduct .image picture img {
  object-fit: cover;
}

.main.shop .list ul li.artisan .featuredProduct .text {
  display: none;
}

.main.shop .list ul li.artisan .description {
  padding-left: 6.67vw;
  padding-right: 16.53vw;
}

.main.shop .list ul li.artisan .description .p {
  margin-top: -0.5em;
}

.main.shop .list ul li.artisan .cta {
  margin-top: 26px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.shop .list ul li.artisan .cta .image {
  display: none;
}

.main.shop .list ul li.artisan .cta .text {
  padding-right: 26.67vw;
}

@media screen and (min-width: 300px) {
  .main.shop .list ul {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 768px) {
  .main.shop .list ul {
    column-gap: 3.96vw;
    row-gap: 71px;
  }

  .main.shop .list ul li.product a {
    pointer-events: none;
  }

  .main.shop .list ul li.product a .image,
  .main.shop .list ul li.product a .text {
    pointer-events: initial;
  }

  .main.shop .list ul li.product .image {
    position: relative;
  }

  .main.shop .list ul li.product .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 133.0296127563%;
  }

  .main.shop .list ul li.product .image picture,
  .main.shop .list ul li.product .image img,
  .main.shop .list ul li.product .image video,
  .main.shop .list ul li.product .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.shop .list ul li.product .image video,
  .main.shop .list ul li.product .image img {
    object-fit: cover;
  }

  .main.shop .list ul li.product .text {
    margin-top: 23px;
  }

  .main.shop .list ul li.artisan {
    display: flex;
    align-items: flex-end;
    padding-top: 0;
  }

  .main.shop .list ul li.artisan a {
    pointer-events: none;
  }

  .main.shop .list ul li.artisan a .image,
  .main.shop .list ul li.artisan a .text {
    pointer-events: initial;
  }

  .main.shop .list ul li.artisan .featuredProduct,
  .main.shop .list ul li.artisan .cta {
    width: 50%;
  }

  .main.shop .list ul li.artisan .featuredProduct .image {
    padding: 6.25vw 5.63vw;
  }

  .main.shop .list ul li.artisan .featuredProduct .image picture {
    position: relative;
  }

  .main.shop .list ul li.artisan .featuredProduct .image picture:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 145.4873646209%;
  }

  .main.shop .list ul li.artisan .featuredProduct .image picture picture,
  .main.shop .list ul li.artisan .featuredProduct .image picture img,
  .main.shop .list ul li.artisan .featuredProduct .image picture video,
  .main.shop .list ul li.artisan .featuredProduct .image picture iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.shop .list ul li.artisan .featuredProduct .image picture video,
  .main.shop .list ul li.artisan .featuredProduct .image picture img {
    object-fit: cover;
  }

  .main.shop .list ul li.artisan .featuredProduct .text {
    display: block;
    margin-top: 24px;
  }

  .main.shop .list ul li.artisan .description {
    display: none;
  }

  .main.shop .list ul li.artisan .cta {
    margin-top: 0;
    margin-left: 3.96vw;
    padding: 0;
    padding-bottom: 46px;
  }

  .main.shop .list ul li.artisan .cta .image {
    display: block;
    padding-left: 8.06vw;
    padding-right: 5.83vw;
  }

  .main.shop .list ul li.artisan .cta .image picture {
    display: block;
    position: relative;
  }

  .main.shop .list ul li.artisan .cta .image picture:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 140.5857740586%;
  }

  .main.shop .list ul li.artisan .cta .image picture picture,
  .main.shop .list ul li.artisan .cta .image picture img,
  .main.shop .list ul li.artisan .cta .image picture video,
  .main.shop .list ul li.artisan .cta .image picture iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.shop .list ul li.artisan .cta .image picture video,
  .main.shop .list ul li.artisan .cta .image picture img {
    object-fit: cover;
  }

  .main.shop .list ul li.artisan .cta .text {
    margin-top: 54px;
    padding-right: 16.11vw;
  }
}

@media screen and (min-width: 1024px) {
  .main.shop .list {
    margin-top: 57px;
  }

  .main.shop .list ul {
    column-gap: 6.46vw;
    row-gap: 53px;
  }

  .main.shop .list ul li.artisan {
    position: relative;
  }

  .main.shop .list ul li.artisan .description {
    display: block;
    position: absolute;
    z-index: 2;
    top: 8.06vw;
    left: 42.5%;
    width: 15.28vw;
    padding: 0;
  }

  .main.shop .list ul li.artisan .description .p {
    margin-top: 0;
  }

  .main.shop .list ul li.artisan .cta {
    margin-left: 6.46vw;
  }

  .main.shop .list ul li.feature,
  .main.shop .list ul li.shop {
    margin-left: -6.39vw;
    margin-right: -6.39vw;
  }

  .main.shop .list ul li.feature.reg {
    padding-left: 14.72vw;
    padding-right: 14.72vw;
  }

  .main.shop .list ul li.feature.reg .page {
    width: 100%;
    padding-left: 26.11vw;
  }

  .main.shop .list ul li.feature.reg .page .image+.text {
    margin-top: 38px;
  }

  .main.shop .list ul li.feature.alt {
    padding-left: 10.56vw;
    padding-right: 10.56vw;
  }

  .main.shop .list ul li.feature.alt .headline .h1,
  .main.shop .list ul li.feature.alt .headline .link {
    width: 36.6vw;
  }

  .main.shop .list ul li.feature.alt .headline .link {
    display: block;
  }

  .main.shop .list ul li.feature.alt .page {
    width: 100%;
    padding-left: 21.25vw;
  }

  .main.shop .list ul li.feature.alt .page .text {
    display: none;
  }

  .main.shop .list ul li .tags {
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.01em;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.shop .list {
    padding-left: 16.32vw;
    padding-right: 16.32vw;
  }

  .main.shop .list ul {
    column-gap: 6.46vw;
    row-gap: 53px;
  }

  .main.shop .list ul li.artisan .description {
    left: 27.36vw;
    width: 14.38vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.shop .list ul li.artisan .cta {
    padding-bottom: 3.19vw;
  }
}

@media screen and (min-width: 768px) {
  .main.shop {
    /* .form {
      margin-top: 77px;
      padding-right: vw(68);
    } */
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.shop {
    /* .form {
      margin-top: vw(77);
    } */
  }
}

.page-template-page-shop .concierge,
.single-product .concierge {
  display: none;
}

.main.offers .locations {
  margin-top: 64px;
}

.main.offers .locations .location .details {
  margin-top: 32px;
}

.main.offers .locations .location .details p {
  display: flex;
  flex-wrap: wrap;
}

.main.offers .locations .location .details p .date {
  flex: 1;
}

.main.offers .locations .location .details p .price {
  display: block;
  position: relative;
}

.main.offers .locations .location .details p .price:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -5px;
  width: calc(100% + 10px);
  height: 1px;
  background-color: currentColor;
}

.main.offers .locations .location .details p .sale {
  display: block;
  margin-left: 26px;
  color: #4966D9;
}

.main.offers .locations .location .text {
  margin-top: 21px;
}

.main.offers .locations .location .text .properties {
  margin-right: 0;
}

@media (max-width: 499px) {
  .main.offers .locations .location .details p .date {
    flex: auto;
    width: 100%;
  }

  .main.offers .locations .location .details p .price,
  .main.offers .locations .location .details p .sale {
    margin-top: 10px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .main.offers .locations .location .details p .date {
    flex: auto;
    width: 100%;
  }

  .main.offers .locations .location .details p .price,
  .main.offers .locations .location .details p .sale {
    margin-top: 10px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.offers .locations {
    margin-top: 4.44vw;
  }

  .main.offers .locations .location .details {
    margin-top: 2.22vw;
  }

  .main.offers .locations .location .details p .price:after {
    left: -0.35vw;
    width: calc(100% + 0.69vw);
  }

  .main.offers .locations .location .details p .sale {
    margin-left: 1.81vw;
  }

  .main.offers .locations .location .text {
    margin-top: 1.46vw;
  }
}

body.single-villa header .logo img {
  filter: grayscale(1) brightness(10);
}

body.single-villa .ff-647463f93e266b3df9f1de81__modal,
body.single-villa .ff-647463f93e266b3df9f1de81 {
  display: none !important;
}

body.show-booker .concierge {
  transition: 0.5s;
  transform: translateY(-50%) scale(0.9);
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}

body.switching-booker .concierge {
  transition: 0.5s;
  transform: translateY(0) scale(1);
  opacity: 1;
  pointer-events: all;
  z-index: 2;
}

#instant-book {
  display: none;
}

#instant-book.is-visible {
  display: block;
}

#instant-book.is-visible+.button {
  display: none;
}

#instant-book.is-loading {
  opacity: 0.5;
  pointer-events: none;
  background-color: #DEE4E4;
}

#instant-book.is-loading+.button {
  opacity: 0.5;
  pointer-events: none;
  background-color: #DEE4E4;
}

#send-message {
  background-color: #2B4117;
}

#send-message:hover {
  background-color: #9CABAB;
}

.main.villa {
  overflow: hidden;
}

.main.villa~footer {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .main.villa~footer {
    margin-bottom: 0;
  }
}

.main.villa .hero {
  position: relative;
  height: 80vh;
}

.main.villa .hero .image {
  height: 100%;
}

.main.villa .hero .video,
.main.villa .hero picture {
  display: block;
  height: 100%;
}

.main.villa .hero .video.desktop,
.main.villa .hero picture.desktop {
  display: none;
}

.main.villa .hero video,
.main.villa .hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main.villa .hero .view-all {
  position: absolute;
  z-index: 2;
  bottom: 20px;
  right: 20px;
}

.main.villa .hero .view-all .button {
  display: flex;
  padding: 10px;
  background-color: #4966D9;
  color: #fff;
  border-radius: 10px;
}

@media screen and (min-width: 768px) {
  .main.villa .hero .view-all .button {
    padding: 15px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .hero .view-all {
    bottom: 1.39vw;
    right: 1.39vw;
  }

  .main.villa .hero .view-all .button {
    padding: 1.04vw;
    border-radius: 0.69vw;
  }
}

@media (min-aspect-ratio: 1/1) {
  .main.villa .hero picture.mobile {
    display: none;
  }

  .main.villa .hero picture.desktop {
    display: block;
  }
}

.main.villa .enquire {
  position: relative;
  z-index: 3;
  margin-top: 73px;
  /* padding-left: vw(25, 375);
  padding-right: vw(25, 375); */
}

.main.villa .enquire .text {
  color: #2B4117;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.villa .enquire .text .p {
  position: relative;
  z-index: 2;
  text-transform: uppercase;
  line-height: 0.94;
  letter-spacing: 0.12em;
}

.main.villa .enquire .text .p+.h1 {
  margin-top: 3px;
}

.main.villa .enquire .form {
  margin-top: 53px;
}

.main.villa .enquire .form form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  position: relative;
}

.main.villa .enquire .form form.can-submit .input button[type=submit] {
  opacity: 1;
  cursor: pointer;
}

.main.villa .enquire .form form.can-submit .input button[type=submit]:hover {
  opacity: 0.5;
}

.main.villa .enquire .form form.can-submit .input button[type=submit]:active {
  transform: scale(0.9);
  opacity: 0.75;
  transition: 0.15s;
}

.main.villa .enquire .form .input {
  /*  &--dates,
   &--guests {
     width: calc(100% - 54px);
   } */
  /* &--submit {
    margin-left: 22px;
    width: 32px;
  } */
}

.main.villa .enquire .form .input input[type=text] {
  color: #2B4117;
}

.main.villa .enquire .form .input input[type=text],
.main.villa .enquire .form .input button[type=submit] {
  width: 100%;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
}

.main.villa .enquire .form .input input[type=text] {
  border-bottom: 1px solid currentColor;
}

.main.villa .enquire .form .input input[type=text]::placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.villa .enquire .form .input input[type=text]:-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.villa .enquire .form .input input[type=text]::-ms-input-placeholder {
  color: #2B4117;
  opacity: 1;
}

.main.villa .enquire .form .input button[type=submit] {
  opacity: 0.25;
  transition: 0.5s;
}

.main.villa .enquire .form .input button[type=submit] svg {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
}

.main.villa .enquire .form .input--dates {
  z-index: 2;
  width: 50%;
}

.main.villa .enquire .form .input--dates+.input {
  margin-left: 22px;
}

.main.villa .enquire .form .input--guests {
  width: calc(50% - 22px);
}

@media screen and (min-width: 300px) {
  .main.villa .enquire .form .input--dates {
    width: 50%;
  }

  .main.villa .enquire .form .input--dates+.input {
    margin-left: 22px;
  }

  .main.villa .enquire .form .input--guests {
    width: calc(50% - 22px);
  }
}

@media (max-width: 767px) {
  .main.villa .enquire .form {
    margin-top: 14px;
  }

  .main.villa .enquire .form .pc .pe {
    padding-top: 39px;
  }

  .main.villa .enquire .form .pc .pe .h3 {
    padding-bottom: 12px;
    padding-left: 6.67vw;
    padding-right: 6.67vw;
  }

  .main.villa .enquire .form .pc .pe form {
    padding-left: 6.67vw;
    padding-right: 6.67vw;
  }

  .main.villa .enquire .form .pc .pe form input.p {
    font-size: 13px;
  }

  .main.villa .enquire .form .pc .pe .h3 h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .main.villa .enquire .form .pc .pe .h3 h2 i {
    opacity: 0;
    display: block;
    transform: translateY(-10%);
    transition: 0.35s;
  }

  .main.villa .enquire .form .pc .pe .h3 h2 i svg {
    width: 14px;
  }

  .main.villa .enquire .form .pc .pe .h3 h2 i svg path {
    fill: currentColor;
  }

  .main.villa .enquire .form .datepickerAppear {
    width: 100%;
  }

  .main.villa .enquire .form .datepickerAppear .container__months,
  .main.villa .enquire .form .datepickerAppear .month-item {
    width: 100%;
  }

  .main.villa .enquire .form.is-fixed {
    position: fixed;
    z-index: 10;
    left: 0;
    right: 0;
    bottom: 0;
    margin-top: 0;
    /* &.is-closing,
    &.is-opening {
      .pc {
        .pe {
          form {
            opacity: 0;
            transition: .5s;
          }

          .booker {
            .contact {
              position: absolute;
              bottom: 0;
              left: 0;
              width: 100%;
              transition: 0;
            }
          }
        }
      }
    } */
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 h2 i {
    opacity: 1;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates .appear {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .booker {
    display: block;
  }

  .main.villa .enquire .form.is-fixed .litepicker .container__months .month-item-header>div .month-item-name {
    font-size: 28px;
  }

  .main.villa .enquire .form.is-fixed .litepicker .container__tooltip {
    color: #2B4117;
  }

  .main.villa .enquire .form.is-fixed .booker {
    padding-top: 0;
  }

  .main.villa .enquire .form.is-fixed .booker .costs,
  .main.villa .enquire .form.is-fixed .booker .total,
  .main.villa .enquire .form.is-fixed .booker .submit {
    display: none;
  }

  .main.villa .enquire .form.is-fixed .booker .contact {
    margin-top: 0;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe form {
    padding-bottom: 12px;
    /* .input--dates {
      .datepickerAppear {
        top: -14px;
        bottom: auto;
      }
    } */
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe form .input--guests .appear {
    top: 42px;
    bottom: auto;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker {
    position: relative;
    opacity: 1;
    pointer-events: all;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .costs {
    padding-top: 21px;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .submit {
    display: block;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .contact {
    margin-top: 15px;
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .h3 h2 i {
    transform: translateY(-10%) rotate(180deg);
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe form {
    display: none;
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker {
    padding-top: 0;
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .submit {
    display: none;
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .contact {
    margin-top: 0;
  }

  .main.villa .enquire .form.is-fixed.is-closing,
  .main.villa .enquire .form.is-fixed.is-opening {
    overflow: hidden;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc,
  .main.villa .enquire .form.is-fixed.is-opening .pc {
    height: 100%;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe form,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe form {
    display: flex;
    opacity: 0;
    /* opacity: 0;
    transition: .5s; */
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .h3,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .h3 {
    flex: none;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker {
    position: static;
    top: auto;
    bottom: 0;
    padding: 0;
    transition: 0s;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .submit,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .submit {
    display: block;
    opacity: 0;
    transition: 0s;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .contact,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .contact {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transition: 0s;
  }

  .main.villa .enquire .form.is-fixed .costs,
  .main.villa .enquire .form.is-fixed .total {
    padding-left: 39px;
    padding-right: 39px;
  }

  .main.villa .enquire .form.is-fixed .costs p>span:last-child,
  .main.villa .enquire .form.is-fixed .total p>span:last-child {
    margin-left: 22px;
    width: calc(50% - 22px);
  }

  .main.villa .enquire .form.is-fixed .costs p+p,
  .main.villa .enquire .form.is-fixed .total p+p {
    margin-top: 8px;
  }

  .main.villa .enquire .form.is-fixed .total {
    margin-top: 32px;
    padding-top: 18px;
  }

  .main.villa .enquire .form.is-fixed .submit {
    margin-top: 39px;
    padding-left: 18px;
    padding-right: 18px;
  }

  .main.villa .enquire .form.is-fixed .submit .button {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .main.villa .enquire .form.is-fixed .contact {
    margin-top: 15px;
  }

  .main.villa .enquire .form.is-fixed .contact a {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .main.villa .enquire .form.is-fixed .contact a p+p {
    margin-top: 4px;
  }

  .main.villa .enquire .form.is-fixed .contact a p:last-child {
    letter-spacing: 2.22px;
  }

  .main.villa .enquire .form.is-fixed .pc {
    background: #2B4117;
  }

  .main.villa .enquire .form.is-fixed .pc .pe {
    padding-top: 0;
    transform: none !important;
    color: #fff;
  }

  .main.villa .enquire .form.is-fixed .pc .pe:before {
    content: none;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 {
    padding: 5.3333333333vw 6.4vw;
    font-size: 18px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form {
    padding: 0 36px 12px;
    padding-bottom: 36px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p {
    font-size: 13px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p::placeholder {
    color: #fff;
    opacity: 1;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p:-ms-input-placeholder {
    color: #fff;
    opacity: 1;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p::-ms-input-placeholder {
    color: #fff;
    opacity: 1;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates {
    width: 53%;
    z-index: 2;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates.is-active {
    z-index: 3;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates .appear {
    margin: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates .datepickerAppear {
    top: auto;
    bottom: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates+.input {
    margin-left: 22px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests {
    width: calc(47% - 22px);
    z-index: 2;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests.is-active {
    z-index: 3;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests .appear {
    top: auto;
    bottom: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests .appear .h3 {
    padding: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .p {
    font-size: 13px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .booker {
    /* left: 0;
    right: 0;
    top: 0;
    transition: 0s;

    position: absolute;
    opacity: 0;
    pointer-events: none; */
  }

  .main.villa .enquire .form.can-submit .input input[type=text]::placeholder,
  .main.villa .enquire .form.can-submit .input button[type=submit]::placeholder {
    color: currentColor;
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .input input[type=text]:-ms-input-placeholder,
  .main.villa .enquire .form.can-submit .input button[type=submit]:-ms-input-placeholder {
    color: currentColor;
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .input input[type=text]::-ms-input-placeholder,
  .main.villa .enquire .form.can-submit .input button[type=submit]::-ms-input-placeholder {
    color: currentColor;
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .litepicker .container__tooltip {
    color: #2B4117;
  }

  .main.villa .enquire .form.can-submit .pc .pe {
    background-color: #2B4117;
    color: #fff;
  }

  .main.villa .enquire .form.can-submit .pc .pe:before {
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .pc .pe .booker {
    display: block;
    opacity: 1;
    pointer-events: all;
  }

  .main.villa .enquire .form.can-submit .pc .pe .datepicker .appear,
  .main.villa .enquire .form.can-submit .pc .pe .guestpicker.is-active .appear {
    z-index: 2;
  }

  .main.villa .enquire .form.can-submit .pc .pe .guestpicker.is-active .appear,
  .main.villa .enquire .form.can-submit .pc .pe .datepickerAppear {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.25);
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 73px;
    padding-left: 7.64vw;
    padding-right: 8.13vw;
  }

  .main.villa .enquire .text .h1 {
    width: 43.54vw;
    padding-right: 27px;
  }

  .main.villa .enquire .text .p+.h1 {
    margin-top: 7px;
  }

  .main.villa .enquire form {
    padding-bottom: 11px;
  }

  .main.villa .enquire .form .pc .pe .h3 {
    padding-top: 1.39vw;
    padding-bottom: 1.39vw;
    /* flex: 1;
    display: flex; */
  }

  .main.villa .enquire .form.can-submit .input input[type=text]::placeholder,
  .main.villa .enquire .form.can-submit .input button[type=submit]::placeholder {
    color: currentColor;
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .input input[type=text]:-ms-input-placeholder,
  .main.villa .enquire .form.can-submit .input button[type=submit]:-ms-input-placeholder {
    color: currentColor;
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .input input[type=text]::-ms-input-placeholder,
  .main.villa .enquire .form.can-submit .input button[type=submit]::-ms-input-placeholder {
    color: currentColor;
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .litepicker .container__tooltip {
    color: #2B4117;
  }

  .main.villa .enquire .form.can-submit .pc .pe {
    color: #fff;
  }

  .main.villa .enquire .form.can-submit .pc .pe:before {
    opacity: 1;
  }

  .main.villa .enquire .form.can-submit .pc .pe .booker {
    opacity: 1;
    pointer-events: all;
  }

  .main.villa .enquire .form.can-submit .pc .pe .datepicker .appear,
  .main.villa .enquire .form.can-submit .pc .pe .guestpicker.is-active .appear {
    z-index: 2;
  }

  .main.villa .enquire .form.can-submit .pc .pe .guestpicker.is-active .appear,
  .main.villa .enquire .form.can-submit .pc .pe .datepickerAppear {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.25);
  }

  .main.villa .enquire .form.is-fixed {
    position: fixed;
    right: 48px;
    bottom: 44px;
    width: 373px;
    min-width: 373px;
  }

  .main.villa .enquire .form.is-fixed .datepicker .litepicker .container__months .month-item {
    width: 351px;
  }

  .main.villa .enquire .form.is-fixed .litepicker .container__months .month-item-header>div .month-item-name {
    font-size: 28px;
  }

  .main.villa .enquire .form.is-fixed .litepicker .container__tooltip {
    color: #2B4117;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form {
    padding-bottom: 12px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .booker {
    padding-top: 0;
    position: relative;
    left: 0;
    right: 0;
    opacity: 1;
    pointer-events: all;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed .pc .pe .booker .submit {
    display: none;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .booker .contact {
    margin-top: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 {
    flex: 1;
    display: flex;
    cursor: pointer;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 h2 {
    justify-content: space-between;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 h2 i {
    display: block;
    transform: translateY(-10%);
    transition: 0.35s;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 h2 i svg {
    width: 14px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 h2 i svg path {
    fill: currentColor;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe form {
    padding-bottom: 12px;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe form .input--dates .datepickerAppear {
    top: -14px;
    bottom: auto;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe form .input--guests .appear {
    top: 42px;
    bottom: auto;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .costs {
    padding-top: 21px;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .submit {
    display: block;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .contact {
    margin-top: 15px;
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .costs {
    padding-top: 1.46vw;
  }

  .main.villa .enquire .form.is-fixed.can-submit .pc .pe .booker .contact {
    margin-top: 1.04vw;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .h3 h2 i {
    transform: translateY(-10%) rotate(180deg);
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe form {
    display: none;
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker {
    padding-top: 0;
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .submit {
    display: none;
  }

  .main.villa .enquire .form.is-fixed.is-closed .pc .pe .booker .contact {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {

  .main.villa .enquire .form.is-fixed.is-closing,
  .main.villa .enquire .form.is-fixed.is-opening {
    overflow: hidden;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe form,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe form {
    display: flex;
    opacity: 0;
    /* opacity: 0;
    transition: .5s; */
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .h3,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .h3 {
    flex: none;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker {
    position: static;
    top: auto;
    bottom: 0;
    padding: 0;
    transition: 0s;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .submit,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .costs,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .total,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .submit {
    display: block;
    opacity: 0;
    transition: 0s;
  }

  .main.villa .enquire .form.is-fixed.is-closing .pc .pe .booker .contact,
  .main.villa .enquire .form.is-fixed.is-opening .pc .pe .booker .contact {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transition: 0s;
  }
}

@media screen and (min-width: 768px) {

  .main.villa .enquire .form.is-fixed .costs,
  .main.villa .enquire .form.is-fixed .total {
    padding-left: 39px;
    padding-right: 39px;
  }

  .main.villa .enquire .form.is-fixed .costs p>span:last-child,
  .main.villa .enquire .form.is-fixed .total p>span:last-child {
    margin-left: 22px;
    width: calc(50% - 22px);
  }

  .main.villa .enquire .form.is-fixed .costs p+p,
  .main.villa .enquire .form.is-fixed .total p+p {
    margin-top: 8px;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form.is-fixed .total {
    margin-top: 32px;
    padding-top: 18px;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form.is-fixed .submit {
    margin-top: 39px;
    padding-left: 18px;
    padding-right: 18px;
  }

  .main.villa .enquire .form.is-fixed .submit .button {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form.is-fixed .contact {
    margin-top: 15px;
  }

  .main.villa .enquire .form.is-fixed .contact a {
    padding-top: 12px;
    padding-bottom: 16px;
  }

  .main.villa .enquire .form.is-fixed .contact a p+p {
    margin-top: 8px;
  }

  .main.villa .enquire .form.is-fixed .contact a p:last-child {
    letter-spacing: 2.22px;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form.is-fixed .pc {
    background: #2B4117;
  }

  .main.villa .enquire .form.is-fixed .pc .pe {
    transform: none !important;
    color: #fff;
  }

  .main.villa .enquire .form.is-fixed .pc .pe:before {
    content: none;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .h3 {
    padding: 30px 36px;
    font-size: 28px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form {
    padding: 0 36px 12px;
    padding-bottom: 36px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p {
    font-size: 13px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p::placeholder {
    color: #fff;
    opacity: 1;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p:-ms-input-placeholder {
    color: #fff;
    opacity: 1;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form input.p::-ms-input-placeholder {
    color: #fff;
    opacity: 1;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates {
    width: 53%;
    z-index: 2;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates.is-active {
    z-index: 3;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates .appear {
    margin: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates .datepickerAppear {
    top: auto;
    bottom: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--dates+.input {
    margin-left: 22px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests {
    width: calc(47% - 22px);
    z-index: 2;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests.is-active {
    z-index: 3;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests .appear {
    top: auto;
    bottom: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe form .input--guests .appear .h3 {
    padding: 0;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .p {
    font-size: 16px;
  }

  .main.villa .enquire .form.is-fixed .pc .pe .booker {
    /* left: 0;
    right: 0;
    top: 0;
    transition: 0s;

    position: absolute;
    opacity: 0;
    pointer-events: none; */
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form .pc {
    height: 100%;
  }

  .main.villa .enquire .form .pc .pe {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: 0.5s;
  }

  .main.villa .enquire .form .pc .pe:before {
    content: "";
    display: block;
    position: absolute;
    top: -12px;
    left: -39px;
    right: -39px;
    bottom: 0;
    background-color: #2B4117;
    opacity: 0;
    transition: 0.5s;
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .enquire .form .pc .pe:before {
    top: -0.83vw;
    left: -2.71vw;
    right: -2.71vw;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form .pc .pe h2 {
    flex: 1;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form .pc .pe .guestpicker .appear {
    transition-delay: 0s;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .enquire .form .booker {
    opacity: 0;
    pointer-events: none;
    transition: 0.5s;
  }

  .main.villa .enquire .form .booker .contact a {
    transition: all 0.35s, font-size 0s;
  }
}

@media screen and (min-width: 1024px) {
  .main.villa .enquire .form {
    margin-top: 0;
  }

  .main.villa .enquire .form {
    margin-top: 0;
    width: 22.71vw;
    min-width: 327px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .enquire {
    margin-top: 5.07vw;
  }

  .main.villa .enquire .text .p+.h1 {
    margin-top: 0.49vw;
  }

  .main.villa .enquire .form {
    margin-top: 0;
  }

  .main.villa .enquire .form form {
    padding-bottom: 0.76vw;
  }

  .main.villa .enquire .form .input--guests {
    width: calc(50% - 1.53vw);
  }

  .main.villa .enquire .form .input--submit {
    width: 2.22vw;
  }

  .main.villa .enquire .form .input+.input {
    margin-left: 1.53vw;
  }
}

.main.villa .password {
  margin-top: 87px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  padding-bottom: 97px;
}

.main.villa .password input[type=text] {
  border-bottom: 1px solid #2B4117;
}

@media screen and (min-width: 768px) {
  .main.villa .password {
    margin-top: 103px;
    padding-left: 7.92vw;
    padding-right: 7.92vw;
    padding-bottom: 140px;
  }
}

@media screen and (min-width: 1024px) {
  .main.villa .password .form {
    margin-top: -7px;
    margin-right: 18px;
    width: 20.35vw;
    min-width: 320px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .password {
    margin-top: 7.15vw;
    padding-bottom: 9.72vw;
  }

  .main.villa .password .form {
    margin-top: -0.49vw;
    margin-right: 1.25vw;
  }
}

.main.villa .details {
  margin-top: 87px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.villa .details .properties {
  color: #9CABAB;
}

.main.villa .details .properties ul {
  display: flex;
  justify-content: space-between;
}

.main.villa .details .properties li {
  display: flex;
  align-items: center;
}

.main.villa .details .properties .icon--bathrooms {
  margin-top: -0.1em;
}

.main.villa .details .properties p {
  margin-left: 6px;
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.01em;
}

.main.villa .details .images {
  margin-top: 23px;
}

.main.villa .details .images .image+.image {
  margin-top: 40px;
}

.main.villa .details .images img {
  width: 100%;
}

.main.villa .details .text {
  margin-top: 52px;
}

.main.villa .details .text>.p p:first-child {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.main.villa .details .text>.p+.columns {
  margin-top: 64px;
}

.main.villa .details .text .columns {
  display: grid;
  row-gap: 49px;
}

.main.villa .details .text .column .h4 {
  line-height: 1.72;
}

.main.villa .details .text .column .h4+.p {
  margin-top: 8px;
}

.main.villa .details .text .license {
  margin-top: 39px;
}

@media screen and (min-width: 640px) {
  .main.villa .details .properties ul {
    justify-content: flex-start;
  }

  .main.villa .details .properties li+li {
    margin-left: 27px;
  }

  .main.villa .details .images {
    display: flex;
  }

  .main.villa .details .images .image+.image {
    margin-top: 0;
    margin-left: 2.71vw;
  }

  .main.villa .details .images .image:first-child {
    position: relative;
    width: 64.54%;
  }

  .main.villa .details .images .image:first-child:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 66.5511265165%;
  }

  .main.villa .details .images .image:first-child picture,
  .main.villa .details .images .image:first-child img,
  .main.villa .details .images .image:first-child video,
  .main.villa .details .images .image:first-child iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.villa .details .images .image:first-child video,
  .main.villa .details .images .image:first-child img {
    object-fit: cover;
  }

  .main.villa .details .images .image:last-child {
    flex: 1;
    position: relative;
  }

  .main.villa .details .images .image:last-child:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 138.1294964029%;
  }

  .main.villa .details .images .image:last-child picture,
  .main.villa .details .images .image:last-child img,
  .main.villa .details .images .image:last-child video,
  .main.villa .details .images .image:last-child iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .main.villa .details .images .image:last-child video,
  .main.villa .details .images .image:last-child img {
    object-fit: cover;
  }

  .main.villa .details .text {
    margin-top: 41px;
    padding-left: 14.17vw;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .details {
    margin-top: 103px;
    padding-left: 7.92vw;
    padding-right: 7.92vw;
  }

  .main.villa .details .text>.p+.columns {
    margin-top: 97px;
  }

  .main.villa .details .text .columns {
    grid-template-columns: 1fr 1fr;
    column-gap: 4.38vw;
  }

  .main.villa .details .text .column:nth-child(even) {
    margin-top: 299px;
  }

  .main.villa .details .text .license {
    margin-top: 72px;
  }
}

@media screen and (min-width: 1024px) {
  .main.villa .details .properties {
    margin-top: -7px;
    margin-right: 18px;
    width: 20.35vw;
    min-width: 360px;
  }

  .main.villa .details .images {
    margin-top: 30px;
    padding-right: 11.04vw;
  }

  .main.villa .details .text>.p {
    padding-right: 11.04vw;
  }

  .main.villa .details .text>.p p:first-child {
    font-size: 18px;
    line-height: 1.44;
    letter-spacing: 0.01em;
  }

  .main.villa .details .text .columns {
    row-gap: 63px;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.villa .details .images {
    padding-right: 22.08vw;
  }

  .main.villa .details .text>.p {
    padding-right: 22.08vw;
  }

  .main.villa .details .text .columns {
    padding-right: 17.15vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .details .properties {
    margin-top: -0.49vw;
    margin-right: 1.25vw;
  }

  .main.villa .details .properties p {
    margin-left: 0.42vw;
    font-size: 0.76vw;
  }

  .main.villa .details .images {
    margin-top: 2.08vw;
  }

  .main.villa .details .text {
    margin-top: 2.85vw;
  }

  .main.villa .details .text>.p p:first-child {
    font-size: 1.25vw;
  }

  .main.villa .details .text>.p+.columns {
    margin-top: 6.74vw;
  }

  .main.villa .details .text .columns {
    row-gap: 4.38vw;
  }

  .main.villa .details .text .column:nth-child(even) {
    margin-top: 20.76vw;
  }

  .main.villa .details .text .license {
    margin-top: 5vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .details .properties p {
    font-size: 0.57vw;
  }

  .main.villa .details .text>.p p:first-child {
    font-size: 0.94vw;
  }
}

.main.villa .slider {
  margin-top: 116px;
}

.main.villa .slider .splide .splide__slide {
  width: auto;
}

.main.villa .slider .splide .splide__slide .image img {
  height: 381px;
  width: auto;
  max-width: none;
}

@media screen and (min-width: 768px) {
  .main.villa .slider {
    margin-top: 111px;
  }

  .main.villa .slider .splide .splide__slide .image img {
    height: 799px;
    max-height: 60vh;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .slider {
    margin-top: 7.71vw;
  }

  .main.villa .slider .splide .splide__slide .image img {
    height: 55.49vw;
    max-height: 80vh;
  }
}

.main.villa .a {
  margin-top: 124px;
}

.main.villa .a .tabs ul {
  padding-left: 4.27vw;
  padding-right: 4.27vw;
  white-space: nowrap;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.main.villa .a .tabs ul::-webkit-scrollbar {
  display: none;
}

.main.villa .a .tabs li {
  display: inline-block;
  color: #4966D9;
}

.main.villa .a .tabs li .link {
  display: block;
  padding-top: 0.1em;
}

.main.villa .a .tabs li+li {
  margin-left: 47px;
}

.main.villa .a .tabs a {
  display: block;
  position: relative;
  padding-top: 0.1em;
  padding-bottom: 1px;
  /* &.is-active {
    text-decoration: underline;
  } */
}

.main.villa .a .tabs a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.066em;
  background-color: currentColor;
  transition: 0.5s ease-out;
}

.main.villa .a .tabs a.is-active:after {
  width: 100%;
  transition: 1s ease-out;
}

.main.villa .a .screens {
  position: relative;
  overflow: hidden;
}

.main.villa .a .screen {
  visibility: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  padding: 50px 6.67vw 125px;
}

.main.villa .a .screen.is-active {
  position: relative;
  visibility: visible;
}

.main.villa .a .screen.is-active .categories {
  opacity: 1;
}

.main.villa .a .screen.is-active .surroundings .surrounding.is-active {
  visibility: visible;
}

.main.villa .a .screen[data-screen=features] .content {
  display: grid;
  row-gap: 27px;
  margin-top: 27px;
}

.main.villa .a .screen[data-screen=features] .content .list .h4+.p {
  margin-top: 16px;
}

.main.villa .a .screen[data-screen=bedrooms] .content {
  margin-top: 67px;
}

.main.villa .a .screen[data-screen=bedrooms] .content ul {
  display: grid;
  row-gap: 50px;
}

.main.villa .a .screen[data-screen=bedrooms] .content .image {
  position: relative;
}

.main.villa .a .screen[data-screen=bedrooms] .content .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 68.5714285714%;
}

.main.villa .a .screen[data-screen=bedrooms] .content .image picture,
.main.villa .a .screen[data-screen=bedrooms] .content .image img,
.main.villa .a .screen[data-screen=bedrooms] .content .image video,
.main.villa .a .screen[data-screen=bedrooms] .content .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.villa .a .screen[data-screen=bedrooms] .content .image video,
.main.villa .a .screen[data-screen=bedrooms] .content .image img {
  object-fit: cover;
}

.main.villa .a .screen[data-screen=bedrooms] .content .text {
  margin-top: 27px;
}

.main.villa .a .screen[data-screen=bedrooms] .content .text .h4+.p {
  margin-top: 10px;
}

.main.villa .a .screen[data-screen=floor-plan] {
  padding-left: 0;
  padding-right: 0;
}

.main.villa .a .screen[data-screen=floor-plan] .h1 {
  padding-left: 6.67vw;
  padding-right: 6.67vw;
}

.main.villa .a .screen[data-screen=floor-plan] .content {
  margin-top: 39px;
}

.main.villa .a .screen[data-screen=floor-plan] .image img {
  width: 100%;
}

.main.villa .a .screen[data-screen=your-surroundings].is-active .categories {
  opacity: 1;
}

.main.villa .a .screen[data-screen=your-surroundings].is-active .surroundings .surrounding.is-active {
  visibility: visible;
}

.main.villa .a .screen[data-screen=your-surroundings] .content {
  margin-top: 29px;
}

@media (max-width: 499px) {
  .main.villa .a .screen[data-screen=your-surroundings] .h1 {
    font-size: 40px;
  }
}

.main.villa .a .screen[data-screen=your-surroundings] .map {
  /* img {
    width: 100%;
  } */
}

.main.villa .a .screen[data-screen=your-surroundings] .map #map-container {
  height: 50vh;
}

.main.villa .a .screen[data-screen=your-surroundings] .categories {
  margin-top: 33px;
  opacity: 0;
}

.main.villa .a .screen[data-screen=your-surroundings] .categories ul {
  white-space: nowrap;
  overflow: auto;
  display: flex;
}

@media (max-width: 499px) {
  .main.villa .a .screen[data-screen=your-surroundings] .categories ul {
    margin-left: -6.67vw;
    margin-right: -6.67vw;
    padding-left: 6.67vw;
    padding-right: 6.67vw;
  }
}

@media screen and (min-width: 500px) {
  .main.villa .a .screen[data-screen=your-surroundings] .categories ul {
    justify-content: center;
  }
}

.main.villa .a .screen[data-screen=your-surroundings] .categories li {
  display: inline-block;
  color: #4966D9;
}

@media (max-width: 499px) {
  .main.villa .a .screen[data-screen=your-surroundings] .categories li {
    margin: auto;
  }
}

.main.villa .a .screen[data-screen=your-surroundings] .categories li .link {
  display: block;
  position: relative;
  padding-top: 0.1em;
}

.main.villa .a .screen[data-screen=your-surroundings] .categories li .link:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.066em;
  background-color: currentColor;
  transition: 0.5s ease-out;
}

.main.villa .a .screen[data-screen=your-surroundings] .categories li .link.is-active:after {
  width: 100%;
  transition: 1s ease-out;
}

.main.villa .a .screen[data-screen=your-surroundings] .categories li+li {
  margin-left: 46px;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings {
  position: relative;
  margin-top: 35px;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .surrounding {
  visibility: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .surrounding.is-active {
  position: relative;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings ul {
  display: grid;
  row-gap: 41px;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings ul li {
  position: relative;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings ul li.is-hidden {
  display: none;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings ul li.is-active .num {
  background-color: #768ff0;
  color: #fff;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .num {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 2;
  top: -20px;
  left: -20px;
  width: 40px;
  height: 40px;
  border: 1px solid #000;
  border-radius: 100px;
  background: #fff;
  font-family: "AkzidenzGrotesk", serif;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  cursor: pointer;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .num:hover {
  background-color: #DEE4E4;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .image img {
  width: 35.47vw;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .text {
  margin-top: 21px;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .text .h4+.p {
  margin-top: 9px;
}

.main.villa .a .screen[data-screen=your-surroundings] .surroundings .action a {
  color: #4966D9;
}

.main.villa .a .screen[data-screen=extra-services] .content {
  display: grid;
  row-gap: 27px;
  margin-top: 27px;
}

.main.villa .a .screen[data-screen=extra-services] .content .list .h4+.p {
  margin-top: 16px;
}

@media screen and (min-width: 500px) {
  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings {
    margin-top: 66px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul {
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 47px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings .image img {
    width: 9.24vw;
    min-width: 133px;
  }
}

@media screen and (min-width: 640px) {
  .main.villa .a .screen[data-screen=features] .content {
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 47px;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content ul {
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 47px;
  }

  .main.villa .a .screen[data-screen=extra-services] .content {
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 47px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .map {
    /* @include imgcover(596, 1212);

    #map-container {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    } */
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .categories ul {
    justify-content: center;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .categories li+li {
    margin-left: 46px;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .a {
    margin-top: 150px;
  }

  .main.villa .a .tabs ul {
    display: flex;
    justify-content: space-between;
  }

  .main.villa .a .tabs li+li {
    margin-left: 0;
  }

  .main.villa .a .screen {
    padding: 67px 7.92vw 106px;
  }

  .main.villa .a .screen[data-screen=features] .content {
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 47px;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content ul {
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 47px;
  }

  .main.villa .a .screen[data-screen=floor-plan] .h1,
  .main.villa .a .screen[data-screen=floor-plan] .content {
    padding: 0 7.92vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .categories {
    margin-top: 30px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 6.39vw;
    row-gap: 42px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul li.is-hidden {
    display: block;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul li.more {
    display: none;
  }

  .main.villa .a .screen[data-screen=extra-services] .content {
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 47px;
  }
}

@media (min-width: 960px) {
  .main.villa .a .tabs ul {
    justify-content: center;
  }

  .main.villa .a .tabs li+li {
    margin-left: 47px;
  }

  .main.villa .a .screen[data-screen=features] .content {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 9.03vw;
    row-gap: 71px;
    margin-top: 45px;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content {
    margin-top: 43px;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content ul {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 5.63vw;
    row-gap: 66px;
  }

  .main.villa .a .screen[data-screen=floor-plan] .content {
    margin-top: 70px;
  }

  .main.villa .a .screen[data-screen=floor-plan] .content .image {
    margin: auto;
    width: 59.58vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .h1 {
    width: 50%;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content {
    margin-top: 49px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .categories {
    margin-top: 30px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 6.39vw;
    row-gap: 42px;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul li.is-hidden {
    display: block;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul li.more {
    display: none;
  }

  .main.villa .a .screen[data-screen=extra-services] .h1 {
    width: 25%;
  }

  .main.villa .a .screen[data-screen=extra-services] .content {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 6.25vw;
    row-gap: 67px;
    margin-top: 45px;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.villa .a .tabs li+li {
    margin-left: 74px;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .a {
    margin-top: 10.42vw;
  }

  .main.villa .a .tabs li+li {
    margin-left: 5.14vw;
  }

  .main.villa .a .screen {
    padding-top: 4.65vw;
    padding-bottom: 7.36vw;
  }

  .main.villa .a .screen[data-screen=features] .content {
    row-gap: 4.93vw;
    margin-top: 3.13vw;
  }

  .main.villa .a .screen[data-screen=features] .content .list .h4+.p {
    margin-top: 1.11vw;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content {
    margin-top: 2.99vw;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content ul {
    row-gap: 4.58vw;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content .text {
    margin-top: 1.88vw;
  }

  .main.villa .a .screen[data-screen=bedrooms] .content .text .h4+.p {
    margin-top: 0.69vw;
  }

  .main.villa .a .screen[data-screen=floor-plan] .content {
    margin-top: 4.86vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content {
    margin-top: 3.4vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .categories {
    margin-top: 2.08vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings {
    margin-top: 4.58vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings ul {
    row-gap: 2.92vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings .text {
    margin-top: 1.46vw;
  }

  .main.villa .a .screen[data-screen=your-surroundings] .content .surroundings .text .h4+.p {
    margin-top: 0.63vw;
  }

  .main.villa .a .screen[data-screen=extra-services] .content {
    row-gap: 4.65vw;
    margin-top: 3.13vw;
  }

  .main.villa .a .screen[data-screen=extra-services] .content .list .h4+.p {
    margin-top: 1.11vw;
  }
}

.main.villa .collage {
  padding-top: 111px;
  padding-left: 6.67vw;
  padding-right: 6.67vw;
  padding-bottom: 97px;
  background-color: #DEE4E4;
}

.main.villa .collage .headline {
  position: relative;
  z-index: 2;
  color: #2B4117;
  text-align: center;
}

.main.villa .collage .headline .h1 {
  margin-bottom: -0.5em;
}

.main.villa .collage .cards {
  display: flex;
  flex-wrap: wrap;
  column-gap: 14px;
}

.main.villa .collage .cards .card {
  width: 100%;
}

.main.villa .collage .cards .card .image img {
  width: 100%;
}

.main.villa .collage .cards .card .action {
  margin-top: 33px;
}

.main.villa .collage .cards .card:first-child {
  order: 1;
  width: 100%;
}

.main.villa .collage .cards .card:first-child .image {
  padding-top: 18.93vw;
  padding-bottom: 18.93vw;
  padding-left: 17.07vw;
  padding-right: 17.07vw;
  background-color: #fff;
}

.main.villa .collage .cards .card:first-child picture {
  display: block;
  position: relative;
}

.main.villa .collage .cards .card:first-child picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 145.9016393443%;
}

.main.villa .collage .cards .card:first-child picture picture,
.main.villa .collage .cards .card:first-child picture img,
.main.villa .collage .cards .card:first-child picture video,
.main.villa .collage .cards .card:first-child picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.villa .collage .cards .card:first-child picture video,
.main.villa .collage .cards .card:first-child picture img {
  object-fit: cover;
}

.main.villa .collage .cards .card:nth-child(2),
.main.villa .collage .cards .card:nth-child(3) {
  margin-left: 10.67vw;
  margin-right: 10.67vw;
}

.main.villa .collage .cards .card:nth-child(2) {
  order: 3;
  margin-top: 71px;
}

.main.villa .collage .cards .card:nth-child(2) picture {
  display: block;
  position: relative;
}

.main.villa .collage .cards .card:nth-child(2) picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 140.5857740586%;
}

.main.villa .collage .cards .card:nth-child(2) picture picture,
.main.villa .collage .cards .card:nth-child(2) picture img,
.main.villa .collage .cards .card:nth-child(2) picture video,
.main.villa .collage .cards .card:nth-child(2) picture iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main.villa .collage .cards .card:nth-child(2) picture video,
.main.villa .collage .cards .card:nth-child(2) picture img {
  object-fit: cover;
}

.main.villa .collage .cards .card:nth-child(3) {
  order: 2;
  margin-top: 36px;
}

@media screen and (min-width: 640px) {
  .main.villa .collage .headline {
    margin: auto;
    width: 60%;
  }

  .main.villa .collage .cards {
    align-items: center;
  }

  .main.villa .collage .cards .card:nth-child(1) {
    order: initial;
  }

  .main.villa .collage .cards .card:nth-child(2),
  .main.villa .collage .cards .card:nth-child(3) {
    order: initial;
    margin: 36px 0 0;
    width: calc(50% - 7px);
  }

  .main.villa .collage .cards .card:nth-child(3) {
    padding-left: 23px;
    padding-right: 23px;
  }
}

@media screen and (min-width: 768px) {
  .main.villa .collage {
    padding-bottom: 140px;
    padding-left: 10.28vw;
    padding-right: 10.28vw;
  }

  .main.villa .collage .headline {
    width: 44.79vw;
    text-align: center;
  }

  .main.villa .collage .cards {
    align-items: flex-start;
    column-gap: 0;
  }

  .main.villa .collage .cards .card {
    width: 19.58vw;
  }

  .main.villa .collage .cards .card:first-child {
    width: 30.49vw;
    margin-bottom: 0;
  }

  .main.villa .collage .cards .card:first-child .image {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw;
    padding-left: 5.63vw;
    padding-right: 5.63vw;
  }

  .main.villa .collage .cards .card:nth-child(2),
  .main.villa .collage .cards .card:nth-child(3) {
    margin: 0;
    width: auto;
  }

  .main.villa .collage .cards .card:nth-child(2) {
    width: 16.6vw;
  }

  .main.villa .collage .cards .card:nth-child(3) {
    flex: 1;
    padding-left: 0;
    padding-right: 0;
  }

  .main.villa .collage .cards .card:nth-child(3) .text {
    margin-top: 0;
  }

  .main.villa .collage .cards .card+.card {
    margin-top: 10.9vw;
    margin-left: 31px;
  }
}

@media screen and (min-width: 1024px) {
  .main.villa .collage {
    padding-top: 122px;
    padding-bottom: 90px;
  }

  .main.villa .collage .headline {
    width: 43.33vw;
    min-width: 624px;
  }

  .main.villa .collage .cards .card+.card {
    margin-left: 4.31vw;
  }
}

@media screen and (min-width: 1280px) and (min-height: 560px) {
  .main.villa .collage .cards .card .action {
    margin-top: 3.75vw;
  }

  .main.villa .collage .cards .card:nth-child(3) {
    padding-left: 1.53vw;
    padding-right: 0.42vw;
  }

  .main.villa .collage .cards .card:nth-child(3) .p {
    margin-top: -0.63vw;
    font-size: 1.25vw;
    line-height: 1.56;
    letter-spacing: 0.01em;
  }

  .main.villa .collage .cards .card+.card {
    margin-left: 6.46vw;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.villa .collage {
    padding-top: 8.47vw;
    padding-bottom: 6.25vw;
  }
}

@media screen and (min-width: 1920px) and (min-height: 560px) {
  .main.villa .collage .cards .card:nth-child(3) .p {
    font-size: 0.94vw;
  }
}

#map-container {
  width: 100%;
  height: 100%;
  position: relative;
  font-family: "Roboto", sans-serif;
  box-sizing: border-box;
}

#map-container button {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  font-size: inherit;
  cursor: pointer;
}

#map {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

#locations-panel {
  position: absolute;
  left: 0;
  width: 22em;
  top: 0;
  bottom: 0;
  overflow-y: auto;
  background: white;
  padding: 0.5em;
  box-sizing: border-box;
}

@media only screen and (max-width: 876px) {
  #locations-panel {
    top: 50%;
    right: 0;
    width: unset;
  }
}

#locations-panel-list>header {
  padding: 1.4em 1.4em 0 1.4em;
}

#locations-panel-list h1.search-title {
  font-size: 1em;
  font-weight: 500;
  margin: 0;
}

#locations-panel-list h1.search-title>img {
  vertical-align: bottom;
  margin-top: -1em;
}

#locations-panel-list .search-input {
  width: 100%;
  margin-top: 0.8em;
  position: relative;
}

#locations-panel-list .search-input input {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3em;
  height: 2.2em;
  box-sizing: border-box;
  padding: 0 2.5em 0 1em;
  font-size: 1em;
}

#locations-panel-list .search-input-overlay {
  position: absolute;
}

#locations-panel-list .search-input-overlay.search {
  right: 2px;
  top: 2px;
  bottom: 2px;
  width: 2.4em;
}

#locations-panel-list .search-input-overlay.search button {
  width: 100%;
  height: 100%;
  border-radius: 0.2em;
  color: black;
  background: transparent;
}

#locations-panel-list .search-input-overlay.search .icon {
  margin-top: 0.05em;
  vertical-align: top;
}

#locations-panel-list .section-name {
  font-weight: 500;
  font-size: 0.9em;
  margin: 1.8em 0 1em 1.5em;
}

#locations-panel-list .location-result {
  position: relative;
  padding: 0.8em 3.5em 0.8em 1.4em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  cursor: pointer;
}

#locations-panel-list .location-result:first-of-type {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

#locations-panel-list .location-result:last-of-type {
  border-bottom: none;
}

#locations-panel-list .location-result.selected {
  outline: 2px solid #4285f4;
}

#locations-panel-list button.select-location {
  margin-bottom: 0.6em;
  text-align: left;
}

#locations-panel-list .location-result h2.name {
  font-size: 1em;
  font-weight: 500;
  margin: 0;
}

#locations-panel-list .location-result .address {
  font-size: 0.9em;
  margin-bottom: 0.5em;
}

#locations-panel-list .location-result .distance {
  position: absolute;
  top: 0.9em;
  right: 0;
  text-align: center;
  font-size: 0.9em;
  width: 5em;
}

#location-results-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.booker {
  position: absolute;
  top: 100%;
  left: -39px;
  right: -39px;
  padding-top: 21px;
  color: #fff;
  background-color: #2B4117;
}

.booker .costs,
.booker .total {
  padding-left: 39px;
  padding-right: 39px;
}

.booker .costs p,
.booker .total p {
  display: flex;
  justify-content: space-between;
}

.booker .costs p>span:first-child,
.booker .total p>span:first-child {
  width: 50%;
}

.booker .costs p>span:first-child.has-tooltip,
.booker .total p>span:first-child.has-tooltip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.booker .costs p>span:first-child.has-tooltip:hover .tooltip,
.booker .total p>span:first-child.has-tooltip:hover .tooltip {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}

.booker .costs p>span:first-child.has-tooltip .tooltip,
.booker .total p>span:first-child.has-tooltip .tooltip {
  position: absolute;
  top: 100%;
  background-color: #4966d9;
  padding: 10px;
  z-index: 10;
  width: 100%;
  font-size: 0.7em;
  margin-top: 1em;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.25);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: 0.5s;
}

.booker .costs p>span:first-child.has-tooltip .i-chevron svg,
.booker .total p>span:first-child.has-tooltip .i-chevron svg {
  width: 14px;
}

.booker .costs p>span:first-child.has-tooltip .i-chevron svg path,
.booker .total p>span:first-child.has-tooltip .i-chevron svg path {
  fill: currentColor;
}

@media screen and (min-width: 1440px) and (min-height: 560px) {

  .booker .costs p>span:first-child.has-tooltip .tooltip,
  .booker .total p>span:first-child.has-tooltip .tooltip {
    padding: 0.69vw;
  }

  .booker .costs p>span:first-child.has-tooltip .tooltip .i-chevron svg,
  .booker .total p>span:first-child.has-tooltip .tooltip .i-chevron svg {
    width: 0.97vw;
  }
}

.booker .costs p>span:last-child,
.booker .total p>span:last-child {
  margin-left: 22px;
  width: calc(50% - 22px);
  text-align: center;
}

.booker .costs p+p,
.booker .total p+p {
  margin-top: 8px;
}

.booker .total {
  position: relative;
  margin-top: 32px;
  padding-top: 18px;
}

.booker .total:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  opacity: 0.16;
}

.booker .total .p {
  position: relative;
}

.booker .total .p p {
  transition: 0.35s;
}

.booker .total .p p.error {
  transform: translateY(10px);
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}

.booker .total .p.has-error p {
  opacity: 0;
}

.booker .total .p.has-error p.error {
  transform: translateY(0);
  opacity: 1;
  transition: 0.5s;
}

.booker .submit {
  margin-top: 39px;
  padding-left: 18px;
  padding-right: 18px;
}

.booker .submit .button {
  display: block;
  padding-top: 28px;
  padding-bottom: 28px;
  text-align: center;
  color: currentColor;
  background-color: #4966D9;
  transition: 0.35s;
}

.booker .submit .button:hover {
  background-color: #9CABAB;
}

.booker .submit .button:active {
  transform: scale(0.95);
  transition: 0.15s;
}

.booker .contact {
  position: relative;
  margin-top: 15px;
}

.booker .contact:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  opacity: 0.16;
}

.booker .contact a {
  display: block;
  padding-top: 12px;
  padding-bottom: 16px;
  text-align: center;
  transition: 0.35s;
}

.booker .contact a:hover {
  background-color: #9CABAB;
}

.booker .contact a:active p {
  transform: scale(0.95);
  transition: 0.15s;
}

.booker .contact a p {
  transition: 0.35s;
}

.booker .contact a p+p {
  margin-top: 8px;
}

.booker .contact a p:last-child {
  letter-spacing: 2.22px;
}

@media (max-width: 767px) {
  .booker {
    display: none;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 1440px) and (min-height: 560px) {
  .booker {
    padding-top: 1.46vw;
    left: -2.71vw;
    right: -2.71vw;
    padding-top: 1.46vw;
  }

  .booker .costs,
  .booker .total {
    padding-left: 2.71vw;
    padding-right: 2.71vw;
  }

  .booker .costs p,
  .booker .total p {
    position: relative;
  }

  .booker .costs p>span:last-child,
  .booker .total p>span:last-child {
    margin-left: 1.53vw;
    width: calc(50% - 1.53vw);
  }

  .booker .costs p+p,
  .booker .total p+p {
    margin-top: 0.56vw;
  }

  .booker .total {
    margin-top: 2.22vw;
    padding-top: 1.25vw;
  }

  .booker .submit {
    margin-top: 2.71vw;
    padding-left: 1.25vw;
    padding-right: 1.25vw;
  }

  .booker .submit .button {
    padding-top: 1.94vw;
    padding-bottom: 1.94vw;
  }

  .booker .contact {
    margin-top: 1.04vw;
  }

  .booker .contact a {
    padding-top: 0.83vw;
    padding-bottom: 1.11vw;
  }

  .booker .contact a p+p {
    margin-top: 0.56vw;
  }

  .booker .contact a p:last-child {
    letter-spacing: 0.15vw;
  }
}










































/**
 * Swiper 11.0.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 22, 2023
 */

@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
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0)
}

.swiper-horizontal {
  touch-action: pan-y
}

.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.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
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d
}

.swiper-3d {
  perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
  transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
  scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
  scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
  scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  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, .15)
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(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, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(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, .5), rgba(0, 0, 0, 0))
}

.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-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .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)
  }
}

.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-button-next,
.swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 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-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
  display: none !important
}

.swiper-button-next svg,
.swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto
}

.swiper-button-lock {
  display: none
}

.swiper-button-next:after,
.swiper-button-prev: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:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev'
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next'
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: .3s 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
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(.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(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.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: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .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-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: .2s transform, .2s 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: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(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-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-lock {
  display: none
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(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: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
  border-radius: var(--swiper-scrollbar-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>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none
}

.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 {
  pointer-events: auto
}

.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 {
  pointer-events: auto;
  visibility: visible
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: .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-cube .swiper-slide-next+.swiper-slide {
  pointer-events: auto;
  visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.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-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  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
}