.cmplz-video.cmplz-iframe-styles{background-color:transparent}.cmplz-video.cmplz-hidden{visibility:hidden !important}.cmplz-blocked-content-notice{display:none}.cmplz-placeholder-parent{height:inherit}.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optin .cmplz-wp-video .cmplz-blocked-content-notice,.cmplz-optout .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optout .cmplz-wp-video .cmplz-blocked-content-notice{display:block}.cmplz-blocked-content-container,.cmplz-wp-video{animation-name:cmplz-fadein;animation-duration:600ms;background:#FFF;border:0;border-radius:3px;box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15);display:flex;justify-content:center;align-items:center;background-repeat:no-repeat !important;background-size:cover !important;height:inherit;position:relative}.cmplz-blocked-content-container.gmw-map-cover,.cmplz-wp-video.gmw-map-cover{max-height:100%;position:absolute}.cmplz-blocked-content-container.cmplz-video-placeholder,.cmplz-wp-video.cmplz-video-placeholder{padding-bottom:initial}.cmplz-blocked-content-container iframe,.cmplz-wp-video iframe{visibility:hidden;max-height:100%;border:0 !important}.cmplz-blocked-content-container .cmplz-custom-accept-btn:focus,.cmplz-wp-video .cmplz-custom-accept-btn:focus{border:1px dotted #cecece}.cmplz-blocked-content-container .cmplz-custom-accept-btn,.cmplz-wp-video .cmplz-custom-accept-btn{white-space:normal;text-transform:initial;cursor:pointer;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:200px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-wp-video .cmplz-blocked-content-notice{white-space:normal;text-transform:initial;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:300px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links{display:block;margin-bottom:10px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links a,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links a{color:#fff}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body{display:block}.cmplz-blocked-content-container div div{display:none}.cmplz-wp-video .cmplz-placeholder-element{width:100%;height:inherit}@keyframes cmplz-fadein{from{opacity:0}to{opacity:1}}html {
line-height: 1.15; -webkit-text-size-adjust: 100%; }  body {
margin: 0;
} main {
display: block;
} h1 {
font-size: 2em;
margin: 0.67em 0;
}  hr {
box-sizing: content-box; height: 0; overflow: visible; } pre {
font-family: monospace, monospace; font-size: 1em; }  a {
background-color: transparent;
} abbr[title] {
border-bottom: none; text-decoration: underline; text-decoration: underline dotted; } b,
strong {
font-weight: bolder;
} code,
kbd,
samp {
font-family: monospace, monospace; font-size: 1em; } small {
font-size: 80%;
} sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}  img {
border-style: none;
}  button,
input,
optgroup,
select,
textarea {
font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; } button,
input { overflow: visible;
} button,
select { text-transform: none;
} button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
} button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
} button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
} fieldset {
padding: 0.35em 0.75em 0.625em;
} legend {
box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; } progress {
vertical-align: baseline;
} textarea {
overflow: auto;
} [type="checkbox"],
[type="radio"] {
box-sizing: border-box; padding: 0; } [type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
} [type="search"] {
-webkit-appearance: textfield; outline-offset: -2px; } [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
} ::-webkit-file-upload-button {
-webkit-appearance: button; font: inherit; }  details {
display: block;
} summary {
display: list-item;
}  template {
display: none;
} [hidden] {
display: none;
}:root {
--ionic-gutter-x: 56px;
--container-width: 1460px; --container-side-padding: 56px;
--viewport-side-space: calc((100vw - 100%) / 2 + var(--container-side-padding));
}
* {
box-sizing: border-box;
}
.container {
max-width: var(--container-width);
}
.container,
.container-fluid {
width: 100%; padding-right: var(--container-side-padding);
padding-left: var(--container-side-padding);
margin-right: auto;
margin-left: auto;
}
.container-fluid { max-width: 1920px;
width: 100%;
}
.row {
display: flex;
flex-wrap: wrap;
margin-top: 0;
margin-right: calc(var(--ionic-gutter-x) * -1);
margin-left: calc(var(--ionic-gutter-x) * -1);
}
.row > * {
box-sizing: border-box;
flex-shrink: 0;
width: 100%;
max-width: 100%;
padding-right: calc(var(--ionic-gutter-x) * 1);
padding-left: calc(var(--ionic-gutter-x) * 1); }
.pt0 {
padding-top: unset !important;
}
.pb0 {
padding-bottom: unset !important;
}
.reverse {
flex-direction: row-reverse;
}
.no-gutter {
padding-right: 0;
padding-left: 0;
}
.justify-content-flex-start {
justify-content: flex-start;
}
.justify-content-center {
justify-content: center;
}
.justify-content-flex-end {
justify-content: flex-end;
}
.align-items-flex-start {
align-items: flex-start;
}
.align-items-center {
align-items: center;
}
.align-items-flex-end {
align-items: flex-end;
}
.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-auto,
.col-sm,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-auto,
.col-xs,
.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-auto,
.col-xl,
.col-xl-1,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-auto { }
.col {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
width: 100%;
}
.col-auto {
flex: 0 0 auto;
width: auto;
}
.col-1 {
flex: 0 0 auto;
width: 8.33333333%;
}
.col-2 {
flex: 0 0 auto;
width: 16.66666667%;
}
.col-3 {
flex: 0 0 auto;
width: 25%;
}
.col-4 {
flex: 0 0 auto;
width: 33.33333333%;
}
.col-5 {
flex: 0 0 auto;
width: 41.66666667%;
}
.col-6 {
flex: 0 0 auto;
width: 50%;
}
.col-7 {
flex: 0 0 auto;
width: 58.33333333%;
}
.col-8 {
flex: 0 0 auto;
width: 66.66666667%;
}
.col-9 {
flex: 0 0 auto;
width: 75%;
}
.col-10 {
flex: 0 0 auto;
width: 83.33333333%;
}
.col-11 {
flex: 0 0 auto;
width: 91.66666667%;
}
.col-12 {
flex: 0 0 auto;
width: 100%;
}
@media (min-width: 414px) {
.col-xs {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
width: 100%;
}
.col-xs-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-xs-1 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 8.333333%;
}
.col-xs-2 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 16.666667%;
}
.col-xs-3 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 25%;
}
.col-xs-4 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 33.333333%;
}
.col-xs-5 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 41.666667%;
}
.col-xs-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
width: 50%;
}
.col-xs-7 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
max-width: 58.333333%;
}
.col-xs-8 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 66.666667%;
}
.col-xs-9 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 75%;
}
.col-xs-10 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 83.333333%;
}
.col-xs-11 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 91.666667%;
}
.col-xs-12 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 100%;
}
}
@media (min-width: 576px) {
.col-sm {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
width: 100%;
}
.col-sm-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-sm-1 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 8.333333%;
}
.col-sm-2 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 16.666667%;
}
.col-sm-3 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 25%;
}
.col-sm-4 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 33.333333%;
}
.col-sm-5 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 41.666667%;
}
.col-sm-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
width: 50%;
}
.col-sm-7 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
max-width: 58.333333%;
}
.col-sm-8 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 66.666667%;
}
.col-sm-9 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 75%;
}
.col-sm-10 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 83.333333%;
}
.col-sm-11 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 91.666667%;
}
.col-sm-12 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 100%;
}
}
@media (min-width: 768px) {
.col-md {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
width: 100%;
}
.col-md-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-md-1 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 8.333333%;
}
.col-md-2 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 16.666667%;
}
.col-md-3 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 25%;
}
.col-md-4 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 33.333333%;
}
.col-md-5 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 41.666667%;
}
.col-md-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
width: 50%;
}
.col-md-7 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 58.333333%;
}
.col-md-8 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 66.666667%;
}
.col-md-9 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 75%;
}
.col-md-10 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 83.333333%;
}
.col-md-11 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 91.666667%;
}
.col-md-12 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 100%;
}
}
@media (min-width: 1024px) {
.col-lg {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
width: 100%;
}
.col-lg-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-lg-1 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 8.333333%;
}
.col-lg-2 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 16.666667%;
}
.col-lg-3 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 25%;
}
.col-lg-4 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 33.333333%;
}
.col-lg-5 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 41.666667%;
}
.col-lg-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
width: 50%;
}
.col-lg-7 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
max-width: 58.333333%;
}
.col-lg-8 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 66.666667%;
}
.col-lg-9 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 75%;
}
.col-lg-10 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 83.333333%;
}
.col-lg-11 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 91.666667%;
}
.col-lg-12 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 100%;
}
}
@media (min-width: 1200px) {
.col-xl {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
width: 100%;
}
.col-xl-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-xl-1 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 8.333333%;
}
.col-xl-2 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 16.666667%;
}
.col-xl-3 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 25%;
}
.col-xl-4 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 33.333333%;
}
.col-xl-5 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 41.666667%;
}
.col-xl-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
width: 50%;
}
.col-xl-7 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 58.333333%;
}
.col-xl-8 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 66.666667%;
}
.col-xl-9 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 75%;
}
.col-xl-10 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 83.333333%;
}
.col-xl-11 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 91.666667%;
}
.col-xl-12 {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: 100%;
}
}:root {
--main-dark-color: #543e3c;
--main-darker-color: #402f2e;
--medium-color: #ccb298;
--medium-darker-color: #b5997d;
--light-color: #fcf8f2;
--highlight-color: #ad7e44;
--base-font-size: clamp(1.8rem, 2vw, 2.2rem);
}
.main-dark-color {
background-color: var(--main-dark-color);
}
.main-darker-color {
background-color: var(--main-darker-color);
}
.medium-color {
background-color: var(--medium-color);
}
.light-color {
background-color: var(--light-color);
}
body,
html {
background-color: var(--light-color);
font-size: 62.5%;
}
html {
scroll-behavior: smooth;
}
body {
font-family: var(--wp--preset--font-family--jost);
}
body:has(.main-menu.active) {
overflow: hidden;
}
section {
padding-top: clamp(120px, 10vw, 200px);
padding-bottom: clamp(120px, 10vw, 200px);
overflow: hidden;
position: relative;
}
p {
font-size: var(--base-font-size);
line-height: 1.5;
font-weight: 300;
color: var(--main-darker-color);
margin-top: 0;
margin-bottom: 40px;
}
p:last-of-type {
margin-bottom: 0;
}
p a {
color: var(--highlight-color);
text-decoration: underline;
}
ul li {
color: var(--main-darker-color);
font-size: var(--base-font-size);
line-height: 1.5;
font-weight: 300;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: var(--wp--preset--font-family--cormorant-garamond);
font-weight: 300;
letter-spacing: -2%;
color: var(--main-dark-color);
line-height: 1.1;
margin-top: 0;
text-wrap: balance;
}
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
color: var(--medium-color);
}
.negative-text h1,
.negative-text h2,
.negative-text h3,
.negative-text h4,
.negative-text h5,
.negative-text h6,
.negative-text p,
.negative-text ul li {
color: var(--light-color) !important;
}
h1 {
font-size: clamp(5rem, 6vw, 7rem);
}
h2 { font-size: clamp(4.4rem, 6vw, 6.4rem);
}
h3 {
font-size: 5.4rem;
}
h4 {
font-size: 4rem;
}
a.cta {
position: relative;
font-size: clamp(1.8rem, 2vw, 2.4rem);
display: inline-block;
text-align: center;
margin: 6rem auto 0 auto;
padding: clamp(24px, 2.2vw, 32px) clamp(32px, 2.6vw, 40px);
text-decoration: none;
color: #333;
background-color: var(--medium-color);
border-radius: 999px; box-shadow: inset 0px 0px 0px 8px #e6d7c8; transition: all 0.2s ease-in-out;
}
a.cta:hover {
box-shadow: inset 0px 0px 0px 10px #e6d7c8;
}
.negative-text a.cta {
color: var(--light-color);
background-color: var(--main-darker-color);
box-shadow: inset 0px 0px 0px 6px rgba(255, 200, 200, 0.18);
}
.negative-text a.cta:hover {
box-shadow: inset 0px 0px 0px 10px rgba(255, 200, 200, 0.18);
}
picture {
display: block;
overflow: hidden;
font-size: 0;
border-radius: 0.8rem;
}
img {
width: 100%;
height: auto;
}
header#masthead {
--left-menu-padding-top-bottom: 6.4rem;
--left-menu-font-size: 1.6rem;
--left-menu-margin-right: 0.6rem;
--menu-elements-color: white;
display: flex;
position: fixed;
width: 100%;
height: 120px;
z-index: 100;
top: 0;
left: 0;
justify-content: space-between;
padding: 0 var(--container-side-padding);
transition: all 0.2s ease-in-out;
}
header#masthead.dark {
--menu-elements-color: var(--main-dark-color);
}
header#masthead:after {
content: "";
position: absolute;
width: 100%;
height: 400px;
top: 0;
left: 0;
background-color: black;
background: linear-gradient(0deg, rgba(89, 69, 60, 0), rgba(89, 69, 60, 1));
z-index: 1;
opacity: 0.35;
pointer-events: none;
transition: all 0.2s ease-in-out;
}
header#masthead.dark:after {
opacity: 0.15;
}
body.scroll header#masthead {
height: 88px;
--menu-elements-color: var(--main-dark-color);
background-color: rgba(255, 255, 255, 0.97); }
body.scroll header#masthead:after {
opacity: 0;
}
header#masthead > * {
z-index: 10;
}
header#masthead .site-branding {
position: absolute;
left: 50%;
top: 40px;
transform: translateX(-50%);
width: 130px;
width: clamp(80px, 12vw, 130px);
height: auto;
transition: all 0.2s ease-in-out;
}
header#masthead .logo { }
header#masthead .logo a {
display: flex;
align-items: center;
}
header#masthead .logo img {
transition: all 0.2s ease-in-out;
}
header#masthead .logo img:nth-child(2) { position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: clamp(64px, 10vw, 72px);
opacity: 0;
pointer-events: none;
transition: all 0.2s ease-in-out;
}
.scroll header#masthead .site-branding {
top: 0;
height: 100%;
}
.scroll header#masthead .logo img:nth-child(1) {
position: absolute;
top: 0;
opacity: 0;
pointer-events: none;
}
.scroll header#masthead .logo img:nth-child(2) {
opacity: 1;
pointer-events: auto;
transition: all 0.6s ease-in-out;
}
header#masthead .left-menu {
display: flex;
align-items: center;
}
header#masthead .left-menu .lang-selector {
display: none;
position: relative;
font-size: var(--left-menu-font-size);
color: var(--menu-elements-color);
margin-right: var(--left-menu-margin-right);
letter-spacing: 0.1rem;
padding: 0.8rem 1.6rem;
}
header#masthead .left-menu .lang-selector .lang-current {
display: flex;
gap: 6px;
cursor: pointer;
}
header#masthead .left-menu .lang-selector .lang-current span {
display: block;
}
header#masthead .left-menu .lang-selector .lang-current .arrow-icon {
width: 12px;
display: grid;
align-items: center;
transition: all 0.2s ease-in-out;
}
header#masthead .left-menu .lang-selector .lang-current .arrow-icon svg {
fill: var(--menu-elements-color);
}
header#masthead .left-menu .lang-selector.active .lang-current .arrow-icon {
transform: rotate(180deg);
}
header#masthead .left-menu .lang-selector .lang-menu {
position: absolute;
top: 90%;
padding: 0.8rem 0.6rem;
background-color: white;
border-radius: 0.4rem;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.05);
opacity: 0;
pointer-events: none;
transform: translateY(-0.5rem);
transition: all 0.2s ease-in-out;
}
header#masthead .left-menu .lang-selector.active .lang-menu {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
header#masthead .left-menu .lang-selector .lang-menu ul {
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
flex-wrap: wrap;
gap: 2px;
}
header#masthead .left-menu .lang-selector .lang-menu ul li {
font-size: 0;
display: block;
flex: 1;
}
header#masthead .left-menu .lang-selector .lang-menu ul li a {
display: block;
color: var(--main-darker-color);
text-transform: uppercase;
font-size: var(--left-menu-font-size);
font-weight: 400;
letter-spacing: 0.1rem;
text-decoration: none;
padding: 0.4rem 1.6rem;
border-radius: 0.4rem;
transition: all 0.2s ease-in-out;
}
header#masthead .left-menu .lang-selector .lang-menu ul li a:hover {
background-color: var(--medium-color);
color: white;
}
header#masthead .left-menu nav ul {
padding: 0;
margin: 0;
}
header#masthead .left-menu nav ul li {
font-size: 0;
display: inline-block;
margin-right: var(--left-menu-margin-right);
}
header#masthead .left-menu nav ul li:last-child {
margin-right: 0;
}
header#masthead .left-menu nav ul li a {
color: var(--menu-elements-color);
text-transform: uppercase;
font-size: var(--left-menu-font-size);
font-weight: 400;
letter-spacing: 0.1rem;
text-decoration: none;
padding: 0.8rem 1.6rem;
}
header#masthead .right-menu {
display: flex;
align-items: center;
}
header#masthead .right-menu .main-menu { display: flex;
gap: 4rem;
}
header#masthead .right-menu .main-menu a.cta-menu {
position: relative;
display: block;
text-decoration: none;
color: var(--menu-elements-color);
text-transform: uppercase;
font-size: var(--left-menu-font-size);
font-weight: 400;
letter-spacing: 0.1rem;
padding: 1rem 1.6rem;
border-radius: 99rem;
border: 2px solid var(--menu-elements-color);
overflow: hidden;
transition: all 0.15s ease-in-out;
}
header#masthead .right-menu .main-menu a.cta-menu:hover {
color: var(--main-darker-color);
}
header#masthead.dark .right-menu .main-menu a.cta-menu:hover {
color: var(--light-color);
}
body.scroll header#masthead .right-menu .main-menu a.cta-menu:hover {
color: var(--light-color);
}
header#masthead .right-menu .main-menu a.cta-menu:before {
content: "";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: var(--menu-elements-color);
z-index: -1;
transform: translateY(-100%);
transition: all 0.15s ease-in-out;
}
header#masthead .right-menu .main-menu a.cta-menu:hover:before {
transform: translateY(0);
}
header#masthead .right-menu .main-menu .hamburger {
position: relative;
display: flex;
align-items: center;
gap: 12px;
color: var(--menu-elements-color);
font-size: var(--left-menu-font-size);
cursor: pointer;
z-index: 10;
}
header#masthead .right-menu .main-menu.active .hamburger {
color: var(--main-dark-color);
}
header#masthead .right-menu .main-menu.active .hamburger .lines span {
background-color: var(--main-dark-color);
}
header#masthead .right-menu .main-menu .hamburger .lines {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 6px;
}
header#masthead .right-menu .main-menu .hamburger .lines span {
display: block;
width: 32px;
height: 1px;
background-color: var(--menu-elements-color);
transition: all 0.2s ease-in-out;
}
header#masthead .right-menu .main-menu .hamburger .lines span:nth-child(2) {
width: 40px;
}
header#masthead .right-menu .main-menu.active .hamburger .lines span:nth-child(1) {
transform: rotate(45deg) translateY(10px);
}
header#masthead .right-menu .main-menu.active .hamburger .lines span:nth-child(2) {
opacity: 0;
}
header#masthead .right-menu .main-menu.active .hamburger .lines span:nth-child(3) {
transform: rotate(-45deg) translateY(-10px);
}
header#masthead .right-menu .main-menu .main-navigation {
position: fixed;
top: 0;
right: 0;
width: 100%;
max-width: 680px;
padding: clamp(7rem, 10vw, 10rem);
padding-left: clamp(5.5rem, 10vw, 8.8rem); z-index: 9;
pointer-events: none;
transform: translateX(100%);
transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
background-color: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(50px);
}
header#masthead .right-menu .main-menu.active .main-navigation {
pointer-events: all;
transform: translateX(0);
overflow-y: scroll;
} header#masthead .right-menu .main-menu .main-navigation ul {
padding: 0;
margin: 0;
}
header#masthead .right-menu .main-menu .main-navigation ul li {
font-size: 0;
line-height: 1;
display: block;
margin-bottom: 0.6rem;
}
header#masthead .right-menu .main-menu .main-navigation ul li:last-child {
margin-bottom: 0;
}
header#masthead .right-menu .main-menu .main-navigation ul li a {
color: var(--main-dark-color);
display: block; font-size: clamp(2.6rem, 4vw, 4rem);
font-weight: 200;
letter-spacing: 0.1rem;
text-decoration: none;
padding: 0.6rem 0;
transition: all 0.5s ease-in-out;
}
header#masthead .right-menu .main-menu .main-navigation ul li a:hover { }
header#masthead .right-menu .main-menu .main-navigation ul li.book a {
position: relative;
display: flex;
align-items: center;
gap: 1.6rem;
color: var(--medium-color);
}
header#masthead .right-menu .main-menu .main-navigation ul li.book a:after {
content: "";
position: relative;
display: inline-block;
height: 40px;
width: 40px;
background: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-long-arrow.svg) no-repeat center center;
background-size: contain;
}
header#masthead .right-menu .main-menu .main-navigation ul li.book a:after svg {
height: 100%;
}
header#masthead .right-menu .main-menu .main-navigation .company-contact {
color: var(--main-dark-color);
margin-top: 5.6rem;
font-size: 2rem;
font-weight: 300;
}
header#masthead .right-menu .main-menu .main-navigation .company-contact p {
font-size: clamp(1.2rem, 8vw, 1.8rem);
margin-bottom: 16px;
}
header#masthead .right-menu .main-menu .main-navigation .company-contact a {
color: inherit;
text-decoration: underline;
display: block;
font-size: 1.8rem;
}
header#masthead .right-menu .main-menu .main-navigation .company-contact .company-email {
margin-top: 0.4rem;
}
section .small-title { font-size: clamp(1.6rem, 4vw, 2rem);
font-weight: 300;
color: var(--medium-darker-color);
text-transform: uppercase;
}
.room-page .room-intro {
position: relative;
width: 100%;
height: 85vh;
min-height: 720px;
padding-top: 0;
padding-bottom: 0;
}
.room-page .room-intro img {
object-fit: cover;
object-position: center center;
width: 100%;
height: 100%;
}
.room-page .back-to-rooms {
padding: clamp(4rem, 4vw, 4.8rem) clamp(2.4rem, 4vw, 6.4rem);
}
.room-page .back-to-rooms a {
display: block;
text-align: center;
font-size: clamp(1rem, 3.6vw, 1.8rem);
letter-spacing: 0.15rem;
color: var(--main-dark-color);
text-decoration: none;
text-transform: uppercase;
align-items: center;
gap: 1.6rem;
}
.room-page .back-to-rooms svg {
display: inline-block;
margin-right: clamp(0.6rem, 1vw, 1rem);
width: clamp(14px, 3vw, 18px);
}
.room-page .room-info {
padding-top: 0;
padding-bottom: 0;
}
.room-page h1.room-title {
text-align: center;
font-style: italic;
margin-top: clamp(2rem, 4vw, 6rem);
margin-bottom: 2rem;
}
.room-page .room-short-description {
text-align: center;
max-width: 920px;
margin: 0 auto;
}
.room-page .room-short-description p {
font-weight: 300;
text-wrap: pretty;
}
.room-page .room-prices {
position: relative;
text-align: center;
margin-bottom: clamp(6rem, 4vw, 8rem);
}
.room-page .room-prices:before {
content: "";
display: block;
position: relative;
width: 56px;
height: 1px;
left: 50%;
top: 0;
transform: translateX(-50%);
background-color: var(--main-dark-color);
margin-bottom: 8px;
}
.room-page .room-prices span {
font-weight: 500;
}
.room-page .room-details-info { margin-bottom: 24px;
}
.room-page .room-details-info ul {
padding: 0;
display: flex;
gap: 32px;
}
.room-page .room-details-info li {
list-style: none;
display: flex;
gap: 8px; }
.room-page .room-details-info .room-item__pax {
}
.room-page .room-details-info .room_item__icon {
width: 28px;
height: 28px;
}
.room-page .room-details-info .room_item__icon img {
transform: translateY(1px);
}
.room-page .room-booking {
text-align: center;
padding: 6rem 0;
}
.room-page .room-booking a.cta.cta-booking {
margin: 0;
}
.room-page .detail-image {
position: relative;
margin-top: 80px;
padding-top: 0;
padding-bottom: 0;
}
.room-page .detail-image:before {
content: "";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: linear-gradient(0deg, rgba(248, 244, 239, 0) 25%, rgba(248, 244, 239, 1));
background: linear-gradient(0deg, rgba(248, 244, 239, 0) 25%, var(--light-color));
z-index: 10;
}
.room-page .room-gallery {
padding-top: clamp(10rem, 10vw, 20rem);
padding-bottom: clamp(10rem, 10vw, 20rem);
}
.gallery-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: clamp(1rem, 2vw, 4rem);
}
.gallery-grid__item {
margin: 0;
overflow: hidden;
border-radius: 0.8rem;
}
.gallery-grid__item img {
display: block;
width: 100%;
height: 100%; object-fit: cover;
}
.gallery-grid__item.half {
grid-column: span 1;
aspect-ratio: 1 / 1;
}
.gallery-grid__item.full {
grid-column: 1 / -1;
}
.service-icons {
--services-gap: 16px;
display: flex;
flex-wrap: wrap;
gap: var(--services-gap);
row-gap: clamp(24px, 5vw, 40px);
justify-content: center;
margin-top: 10rem;
max-width: calc(5 * 120px + 4 * var(--services-gap));
margin-inline: auto;
}
.service-icons .service {
flex: 0 0 120px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
}
.service-icons .service .service-icon {
width: clamp(48px, 5vw, 64px);
height: clamp(48px, 5vw, 64px);
background-size: contain;
background-repeat: no-repeat;
background-position: center center;
}
.service-icons .service.breakfast .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-breakfast.svg);
}
.service-icons .service.wifi .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-wifi.svg);
}
.service-icons .service.single-bed .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-single-bed.svg);
}
.service-icons .service.king_size_bed .service-icon,
.service-icons .service.queen_size_bed .service-icon,
.service-icons .service.double_bed .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-double-bed.svg);
}
.service-icons .service.two_single_beds .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-single-bed.svg);
}
.service-icons .service.single_bed .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-single-bed.svg);
}
.service-icons .service.tv .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-tv.svg);
}
.service-icons .service.ac .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-ac.svg);
}
.service-icons .service.safe .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-safe.svg);
}
.service-icons .service.couch .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-couch.svg);
}
.service-icons .service.courtesy_kit .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-courtesy-kit.svg);
}
.service-icons .service.minibar .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-minibar.svg);
}
.service-icons .service.park .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-park.svg);
}
.service-icons .service.desk .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-desk.svg);
}
.service-icons .service.projector .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-projector.svg);
}
.service-icons .service.projector .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-projector.svg);
}
.service-icons .service.audio .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-audio.svg);
}
.service-icons .service.mic .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-mic.svg);
}
.service-icons .service.notebook .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-notebook.svg);
}
.service-icons .service.flipchart .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-flipchart.svg);
}
.service-icons .service.coffee .service-icon {
background-image: url(//www.primhotel.it/wp-content/themes/primhotel/assets/images/icons/icon-coffee.svg);
}
.service-icons .service .service-name {
font-size: clamp(1.4rem, 2.5vw, 1.8rem);
font-weight: 400;
text-align: center;
color: var(--main-dark-color);
margin-top: 0.8rem;
}
section.faq-widget {
overflow: unset;
}
section.faq-widget .row {
align-items: flex-start;
row-gap: 40px;
}
section.faq-widget .text {
position: -webkit-sticky;
position: sticky;
top: 160px;
flex: 1;
}
section.faq-widget .faq-item {
max-width: 1024px;
margin: 0 auto;
margin-bottom: 16px;
overflow: hidden;
border-radius: 0.8rem;
}
section.faq-widget .faq-item .faq-question {
display: flex;
gap: 40px;
align-items: center;
padding: clamp(1.8rem, 5vw, 3rem) clamp(2.4rem, 5vw, 4.8rem);
background-color: #f0ebe5;
cursor: pointer;
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); outline: none; }
section.faq-widget .faq-item .faq-question button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
background: none;
padding: 0;
cursor: pointer;
}
section.faq-widget .faq-item .faq-question .title {
flex: 1 1 0;
}
section.faq-widget .faq-item .faq-question .title h3 {
font-size: clamp(1.4rem, 5vw, 2.4rem);
font-family: var(--wp--preset--font-family--jost);
line-height: 1.3;
font-weight: 400;
letter-spacing: 0;
margin-bottom: 0;
}
section.faq-widget .faq-item .faq-question .arrow {
width: clamp(16px, 5vw, 24px);
transition: 0.3s ease-in-out;
cursor: pointer;
}
section.faq-widget .faq-item .faq-question.is-open .arrow {
transform: rotate(-180deg);
}
section.faq-widget .faq-item .faq-answer {
display: none;
padding: 0 clamp(2.4rem, 5vw, 4.8rem) clamp(1.8rem, 5vw, 3rem) clamp(2.4rem, 5vw, 4.8rem);
background-color: #f0ebe5;
font-family: "Outfit", helvetica, arial, sans-serif;
border-top: 1px solid var(--main-pale-color);
}
section.faq-widget .faq-item .faq-answer p {
font-size: clamp(0.7rem, 4vw, 2rem);
font-weight: 300;
margin-top: 0;
margin-bottom: 16px;
}
section.faq-widget .faq-item .faq-answer p:last-child {
margin-bottom: 0;
} .wpcf7-spinner { }
.wpcf7-response-output {
width: 100% !important;
padding: 24px !important;
margin-top: 24px !important;
font-size: 1.8rem !important;
text-align: center;
border-radius: 0.8rem !important;
}
section.contact.negative-text {
.contact-form form .field label {
color: var(--light-color);
}
.contact-form form .field input,
.contact-form form .field textarea,
.contact-form form .field select {
background-color: var(--main-dark-color);
color: var(--light-color);
}
.contact-form form .field textarea::placeholder {
color: rgba(255, 255, 255, 0.3);
}
.contact-form form .field.submit input[type="submit"] {
background-color: var(--medium-color);
color: var(--main-dark-color);
}
.wpcf7-response-output {
color: var(--light-color);
}
}
section.pre-footer {
background-color: var(--main-dark-color);
padding-top: 120px;
padding-bottom: 120px;
}
section.pre-footer .container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
section.pre-footer .text {
text-align: center;
max-width: 920px;
margin: 0 auto;
}
section.pre-footer .text * {
font-family: var(--wp--preset--font-family--jost);
color: var(--light-color) !important;
}
footer.site-footer {
background-color: var(--main-dark-color);
filter: brightness(0.9) saturate(0.9);
padding-top: clamp(80px, 10vw, 120px);
}
footer.site-footer .mosaic-image {
position: relative;
width: 100%;
height: 120px;
background-repeat: repeat-x;
background-position: bottom center;
background-size: auto 100%;
opacity: 0.6;
margin-top: clamp(80px, 10vw, 120px);
}
footer.site-footer .logo {
flex: 1;
}
footer.site-footer .logo img {
width: clamp(100px, 20vw, 140px);
}
footer.site-footer .site-info {
gap: 48px;
justify-content: space-between;
}
footer.site-footer .site-info,
footer.site-footer .menu-info {
display: flex;
}
footer.site-footer .block-info {
display: flex;
flex-direction: column;
gap: 48px;
}
footer.site-footer .menu-info {
column-gap: 120px;
row-gap: 40px;
flex-direction: row;
flex-wrap: wrap;
}
footer.site-footer .menu-info ul {
padding: 0;
}
footer.site-footer .menu-info ul li {
list-style: none;
display: block;
margin-bottom: 8px;
}
footer.site-footer .menu-info ul li:last-of-type {
margin-bottom: 0;
}
footer.site-footer .menu-info ul li a {
color: var(--light-color);
font-size: clamp(1.6rem, 4vw, 2rem);
text-decoration: none;
display: block;
}
footer.site-footer .hotel-info {
width: 100%;
color: white;
}
footer.site-footer .hotel-info .company-info p {
color: white;
font-size: 1.8rem;
}
footer.site-footer .hotel-info .company-info p:first-of-type {
margin-bottom: 16px;
}
footer.site-footer .hotel-info .company-info p strong { font-weight: 500; }
footer.site-footer .hotel-info .company-contact {
display: flex;
gap: 8px;
}
footer.site-footer .hotel-info .company-contact,
footer.site-footer .hotel-info .company-contact a {
color: white;
font-size: 1.8rem;
}
section.page-text {
padding-top: 280px;
}
section.confirmation {
padding-top: clamp(180px, 20vw, 380px);
text-align: center;
}
section.error-404 {
padding-top: clamp(180px, 10vw, 200px);
padding-bottom: clamp(180px, 10vw, 200px);
}
.error-404 .page-404 { display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.error-404 .page-404 h2 {
font-size: clamp(4rem, 6vw, 6rem);
color: var(--main-dark-color);
text-align: center;
}
.error-404 .page-404 img {
width: clamp(160px, 10vw, 240px);
margin-bottom: 20px;
}
.error-404 .page-404 .cta {
margin-top: 0;
}
@media screen and (max-width: 1280px) {
header#masthead {
--left-menu-padding-top-bottom: 6.4rem;
--left-menu-font-size: 1.4rem;
--left-menu-margin-right: 0.6rem;
}
header#masthead .left-menu nav ul li a {
padding: 0.8rem 1rem;
}
header#masthead .right-menu .main-menu {
gap: 2rem;
}
}
@media screen and (max-width: 1024px) {
.room-page .room-intro {
height: 50vh;
min-height: unset;
}
}
@media screen and (max-width: 980px) {
header#masthead .left-menu nav ul li:last-child {
display: none;
}
footer.site-footer .menu-info .menu,
footer.site-footer .menu-info .hotel-info {
flex: 0 0 calc(50% - 24px);
}
}
@media screen and (max-width: 768px) {
:root {
--container-side-padding: 40px;
--left-menu-font-size: 1.2rem;
}
section.faq-widget {
overflow: hidden;
}
section.faq-widget .text {
position: relative;
top: unset;
}
footer.site-footer .site-info {
flex-direction: column;
}
footer.site-footer .hotel-info .company-contact {
margin-top: 16px;
}
}
@media screen and (max-width: 620px) {
header#masthead {
padding: 24px var(--container-side-padding);
}
header#masthead .site-branding {
position: relative;
left: unset;
top: unset;
transform: unset;
}
header#masthead .left-menu {
display: none;
}
header#masthead .right-menu .main-menu a.cta-menu {
padding: 0.6rem 1rem;
border-width: 1px;
}
}
@media screen and (max-width: 576px) {
.room-page .room-details-info ul {
flex-direction: column;
align-items: center;
row-gap: 2px;
}
footer.site-footer .hotel-info .company-contact {
flex-direction: column;
gap: 4px;
}
}
@media screen and (max-width: 480px) {
:root {
--container-side-padding: 24px;
}
header#masthead .right-menu .main-menu .hamburger .menu-name {
display: none;
}
header#masthead .right-menu .main-menu .main-navigation {
width: 100vw;
height: 100svh;
}
header#masthead .right-menu .main-menu .main-navigation ul li a {
padding: 0.3rem 0;
font-weight: 300;
letter-spacing: unset;
}
footer.site-footer .mosaic-image {
height: 80px;
}
}
@media (pointer: coarse) {
body:has(.main-menu.active) {
overflow: hidden;
}
} section .title:not(.faq-question .title),
section .small-title,
section .text p,
section .text li {
visibility: hidden;
} .line-mask {
overflow: hidden !important;
display: block;
padding-bottom: 0.2em;
margin-bottom: -0.2em;
}
.line {
display: block;
will-change: transform;
} section .text ul,
section .text ol {
counter-reset: li;
}
section .text ul > li,
section .text ol > li {
list-style: none;
position: relative;
counter-increment: li;
}
section .text ul > li::before {
content: "";
position: absolute;
left: -1.4em;
top: 0.7em;
width: 0.35em;
height: 0.35em;
border-radius: 50%;
background: currentColor;
}
section .text ol > li::before {
content: counter(li) ".";
position: absolute;
right: 100%;
margin-right: 0.5em;
}
* { }