@charset "UTF-8";

:root {
	--color-beige-1: 225,211,191;
	--color-beige-2: 232,222,207;
	--color-beige-3: 240,233,223;
	--color-beige-4: 247,244,239;
	--color-black: 0,0,0;
	--color-blue-1: 20,36,47;
	--color-blue-2: 81,91,99;
	--color-blue-3: 140,146,151;
	--color-blue-4: 196,199,202;
	--color-khaki-1: 173,152,84;
	--color-khaki-2: 193,178,127;
	--color-khaki-3: 214,203,169;
	--color-khaki-4: 234,229,212;
	--color-orange-1: 225,105,55;
	--color-orange-2: 222,148,114;
	--color-orange-3: 233,183,161;
	--color-orange-4: 244,219,208;
	--color-white: 255,255,255;
	--transition-duration-bt: 0.4s;
	--transition-timing-linear: linear;
	--transition-timing-ease-out: cubic-bezier(0,0.6,0.4,1);
	--transition-timing-ease-in-out: cubic-bezier(0.6,0,0.4,1);
	
	--page-margin: clamp(min(48px, (48 / 414) * 100vw), (130 / 1400) * 100vw, 130px);
	--page-margin-neg: calc(var(--page-margin) * -1);
	--page-gap: var(--page-margin);
	--page-gap-neg: var(--page-margin-neg);
	--grid-column-gap: clamp(min(24px, (24 / 414) * 100vw), (24 / 1400) * 100vw, 24px);
	--grid-column-w: calc((min(1400px, 100vw) - (var(--page-margin) * 2) - (11 * var(--grid-column-gap))) / 12);
	--header-img-h: max(360px, 100vh - (50px + var(--page-margin) + min(154px, (154 / 1400) * 100vw)));

}

html {
	height: 100%;
	font-family: classico-urw, sans-serif;
	font-weight: 400;
	font-style: normal;
}

body {
	width: 100%;
	height: 100%;
	background: rgb(var(--color-beige-4));
	overflow-x: hidden;
	overflow-y: scroll;
}

body.noscroll {
	overflow: hidden;
}

/*body.loading:after {
    content: "";
    display: block;
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    background: rgb(var(--color-black)) url("../images/) center center no-repeat;
    background-size: clamp(200px, (400 / 1920) * 100vw, 400px) auto;
    pointer-events: none;
    z-index: 10000;
}

body.loading.loaded:after {
    opacity: 0;
    transform: scale(1.2);
    transition: opacity 0.4s 0.8s linear, transform 1s 0.4s cubic-bezier(0.25,0.25,0.25,1);
}*/

.notransition {
	transition: none !important;
}

* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
}

img, iframe, video {
	display: block;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, hr, p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figure, figcaption, hgroup, menu, footer, header, nav, button, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: none;
}

ul, li {
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

button {
	background: none;
	border-radius: 0;
	cursor: pointer;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

*:focus {
    outline: 0;
}


/*************************************
	Header
 *************************************/


.ticker_old {
	/*position: sticky;
	top: 0;*/
	background: rgb(var(--color-khaki-1));
	/*clip-path: inset(calc(var(--ticker-mb) * 1px) 0 0 0);*/
	clip-path: inset(0 0 calc(var(--ticker-mb) * 1px) 0);
	color: rgb(var(--color-white));
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.4em;
	text-align: center;
	margin-bottom: calc(var(--ticker-mb) * -1px);
	padding: 0.45em var(--page-margin);
	/*transition: margin 0.6s;*/
	z-index: -1;
}

.ticker {
	background: rgb(var(--color-khaki-1));
	color: rgb(var(--color-white));
	height: 2.3em;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.4em;
	text-align: center;
	margin-bottom: calc(var(--ticker-mb) * -1px);
	z-index: -1;
}

.ticker > div {
	display: flex;
	position: absolute;
	top: 0.45em;
    animation: kf-ticker-scroll 15s linear both infinite;
}

.ticker > div > div {
	white-space: nowrap;
	padding: 0 3em;
}

@keyframes kf-ticker-scroll {
    0% {
		transform: translateX(0);
	}
    100% {
		transform: translateX(-50%);
	}
}

header.fixed .ticker {
	/*transform: translateY(100%);*/
	/*display: none;*/
	/*margin-top: clamp(16px * 2.3, ((20 * 2.3) / 1400) * 100vw, 20px * 2.3);*/
	/*margin-bottom: clamp(-20px * 2.3, ((-20 * 2.3) / 1400) * 100vw, -16px * 2.3);*/
	/*margin-bottom: calc(var(--ticker-h) * -1px);
	/*transition: none;*/
	/*margin-bottom: calc(var(--ticker-mb) * -1px);*/
}

header {
    display: block;
    position: absolute;
	width: 100%;
	left: 0;
    top: 0;
	background: rgb(var(--color-beige-4));
	margin: 0;
    padding: 0;
	transform: translateY(0);
    z-index: 200;
}

body.top header {
    position: fixed;
}

header.fixed {
    position: fixed;
	/*transform: translateY(clamp(-20px * 2.3, ((-20 * 2.3) / 1400) * 100vw, -16px * 2.3));*/
	transition: transform 0.6s;
}

header.hide {
	transform: translateY(-100%);
}

header nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
    max-width: 1400px;
    margin: 0 auto;
	padding: calc(var(--page-margin) * 0.5) var(--page-margin);
	z-index: 10;
}

/*header nav:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	left: min(0px, 700px - 50vw);
	top: 0;
	background: rgb(var(--color-beige-4));
	z-index: -1;
}*/

header nav ul,
footer nav ul {
	color: rgb(var(--color-orange-1));
	line-height: 1.4em;
	text-transform: uppercase;
}

header nav ul {
	display: flex;
}

header nav ul.main {
	min-height: 0vh;
	justify-content: space-between;
	align-items: center;
	column-gap: min(35px, (35 / 1400) * 100vw);
	font-weight: 500;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
}

header nav ul.main li.home {
	flex-grow: 1;
}

.bt-register,
.bt-virtual-tour,
.bt-reserve {
	display: inline-block;
	/*border-style: solid;
	border-width: 2px;*/
	font-weight: 500;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.4em;
	text-transform: uppercase;
	padding: 0.45em 1.75em;
	transition: background-color 0.4s linear, border-color 0.4s linear, color 0.4s linear;
}

a.bt-reserve {
	display: inline-block;
}

header .bt-register,
.choose-unit .bt-register,
.bt-reserve {
	background: rgb(var(--color-orange-1));
	/*border-color: rgb(var(--color-orange-1));*/
	color: rgb(var(--color-beige-3));
}

.bt-register:hover,
.bt-reserve:hover {
	background: rgb(var(--color-beige-3));
	color: rgb(var(--color-orange-1));	
}

.bt-virtual-tour {
	font-family: classico-urw, sans-serif;
	background: rgb(var(--color-beige-3));
	/*border-color: rgb(var(--color-orange-1));*/
	color: rgb(var(--color-orange-1));
}

.bt-virtual-tour:hover {
	background: rgb(var(--color-orange-1));
	color: rgb(var(--color-beige-3));
}

.bt-visit {
	display: block;
	position: absolute;
	top: calc(var(--top) * 1px);
	align-self: flex-start;
	/*background: rgb(var(--color-orange-1));*/
	background: rgb(var(--color-khaki-1));
	/*box-shadow: 0 0 1em 0.2em rgba(var(--color-blue-1),0.5);*/
	box-shadow: 0.2em 0.2em 1em rgba(var(--color-blue-1),0.5);
	cursor: pointer;
	/*border: solid 3px rgb(var(--color-khaki-3));*/
	color: rgb(var(--color-beige-3));
	font-family: inherit;
	font-weight: 500;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.4em;
	text-transform: uppercase;
	margin: 1em 0 0 0;
	padding: 0.45em 1.75em;
	transition: background-color 0.4s linear, color 0.4s linear;
}

.bt-visit:hover {
	background: rgb(var(--color-beige-3));
	color: rgb(var(--color-khaki-1));
}

section.header .text:has(.bt-visit) {
	z-index: 100;
}

body.loading .bt-visit {
	position: relative;
}

.bt-visit.fixed {
	position: fixed;
	top: calc(var(--top) * 1px);
}

body:not(.loading) h2:has(+ .bt-visit):after {
	content: attr(data-content);
	display: block;
	position: relative;
	/*width: 1.4em;*/
	/*height: 1.4em;*/
	/*background: rgba(255,0,0,0.25);*/
	color: rgba(255,0,0,0);
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.4em;
	text-align: center;
	margin-top: 1em;
	padding: 0.45em 1.75em;
	pointer-events: none;
}

@media screen and (max-width: 960px) {
	.bt-visit {
		width: calc(100% - (var(--page-margin) * 2));
		text-align: center;
		/*justify-content: center;*/
	}
	
	body.loading .bt-visit {
		width: 100%;
	}
}

/*.bt-register:hover + .bt-virtual-tour {
	background: rgb(var(--color-beige-1));
	color: rgb(var(--color-orange-3));
}

.choose-unit a:has(+ .bt-virtual-tour) {
	background: rgb(var(--color-beige-1));
	color: rgb(var(--color-orange-3));
}*/

.choose-unit li > div:hover a:not(:hover),
.unit-cta:hover *:not(:hover) {
	background: rgb(var(--color-beige-1));
	/*border-color: rgb(var(--color-beige-1));*/
	color: rgb(var(--color-orange-3));
}

.choose-unit .bt-register,
.choose-unit .bt-virtual-tour {
	display: block;
}

footer .bt-register {
	background: rgb(var(--color-blue-2));
	border-color: rgb(var(--color-orange-2));
	color: rgb(var(--color-orange-2));
}

header nav ul.expand {
	column-gap: min(35px, (35 / 1400) * 100vw);
	font-weight: 400;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
}

header nav ul.expand li.home {
	display: none;
}

header nav ul.expand li.lang {
	color: rgb(var(--color-blue-3));
	font-weight: 500;
}

header nav ul.expand li.active {
	color: rgb(var(--color-blue-2));
}

header nav ul.expand li a,
footer nav ul li a {
	transition: color 0.4s linear;
}

header nav ul.expand li:hover a {
	color: rgb(var(--color-blue-1));
}

footer nav ul li:hover a {
	color: rgb(var(--color-white));
}

header nav ul.main li.register {
	position: absolute;
	width: 100vw;
	left: calc(min(0px, 700px - 50vw));
	bottom: 0;
	transform: translateY(100%);
	background-color: rgba(var(--color-blue-1),0.9);
	color: rgb(var(--color-blue-4));
	overflow: hidden;
}

header nav ul.main li.register div.bckg-anim {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
	z-index: 1;
}

header nav ul.main li.register div.bckg-anim,
header nav ul.main li.register div.bckg-anim:before,
header nav ul.main li.register div.bckg-anim:after {
	background-image: url("../images/ico-w-outline.svg");
	background-position: center top calc((-60 / 1400) * 100vw);
	background-repeat: no-repeat;
	background-size: auto 1000%;
}

header nav ul.main li.register div.bckg-anim:before,
header nav ul.main li.register div.bckg-anim:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((1657 / 1097) * 100vw);
	height: 100%;
	left: calc(50vw - ((1657 / 1097) * 50vw));
	top: 0;
}

header nav ul.main li.register div.bckg-anim {
	background-image: 
		linear-gradient(rgba(var(--color-blue-1),0.35), rgba(var(--color-blue-1),0), rgba(var(--color-blue-1),0.35)),
		url("../images/ico-w-outline.svg");
	background-position: 
		center center,
		center top calc((-60 / 1400) * 100vw);
	background-size: 
		100%,
		auto 1000%;
}

header nav ul.main li.register div.bckg-anim:before {
	animation: kf-bckg-footer-slide-fwd 9s linear both infinite;
}

header nav ul.main li.register div.bckg-anim:after {
	animation: kf-bckg-footer-slide-bwd 7s linear both infinite;
}

header nav ul.main li.register div.register-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	max-width: 1400px;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	margin: 0 auto;
	padding: 0.45em var(--page-margin);
	z-index: 10;
}

header nav ul.main li.register div.register-content > span {
	background: rgba(var(--color-blue-1),0.7);
	box-shadow: 0 0 2em 2em rgba(var(--color-blue-1),0.7);
}

header nav ul.main li.register div.register-content > span > span {
	display: block;
}

header nav ul.main li.register div.register-content > span > span:nth-child(1) {
	color: rgb(var(--color-white));
}

header nav ul.main li.register div.register-content > span > span:nth-child(2) {
	font-size: 0.7em;
	line-height: 1em;
}


/*************************************
	Sections
 *************************************/


.container {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 100%;
}

main {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	row-gap: var(--page-gap);
	position: relative;
}

section {
    display: block;
    position: relative;
}

section.header + section {
	margin-top: var(--page-gap-neg);
}

section > div {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: min(140px, (140 / 1400) * 100vw);
	grid-row-gap: clamp(min(48px, (48 / 414) * 100vw), (70 / 1400) * 100vw, 70px);
	max-width: 1400px;
	position: relative;
	color: rgb(var(--color-blue-2));
    margin: 0 auto;
	padding: 0 var(--page-margin);
}

/*@media screen and (min-width: 1200px) {*/
	/*section.cols4 > div {
		grid-template-columns: repeat(4, 1fr);
		grid-column-gap: min(70px, (70 / 1400) * 100vw);
	}*/

/*}*/
section.cols12 > div {
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: min(23px, (23 / 1400) * 100vw);
}
section.cols12 > div > * {
	grid-column-start: var(--grid-column-start);
	grid-column-end: var(--grid-column-end);
	grid-row-start: var(--grid-row-start);
	grid-row-end: var(--grid-row-end);
}

section:last-of-type > div {
	padding-bottom: var(--page-gap);
}

section.no-padding-bottom > div {
	padding-bottom: 0;
}

section > div > div {
	position: relative;
}

section > div > div:only-of-type {
	grid-column: 1 / -1;
}

.cols-merged {
	grid-column: 1 / -1;
}

section.header h1,
section h1 {
	min-height: 0vh;
	color: rgb(var(--color-white));
	font-weight: 500;
	font-size: clamp(36px, (60 / 1400) * 100vw, 60px);
	line-height: 1.0833em;
	text-transform: uppercase;
}

section.header h1 .small {
	display: block;
	font-weight: 400;
	font-size: 0.3333em;
	line-height: 1.0833em;
}

section h2,
#lightbox h2 {
	min-height: 0vh;
	color: rgb(var(--color-orange-1));
	font-weight: 500;
	font-size: clamp(27px, (45 / 1400) * 100vw, 45px);
	line-height: 1.1111em;
	text-transform: uppercase;
	transition: opacity 0.4s linear;
}

section h2 .small {
	display: block;
	color: rgb(var(--color-blue-1));
	font-weight: 400;
	font-size: 0.4444em;
	line-height: 1.1111em;
}

section h4,
section .h4 {
	min-height: 0vh;
	color: rgb(var(--color-blue-1));
	font-weight: 500;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.4em;
	text-transform: uppercase;
	transition: opacity 0.4s linear;
}

section h2 {
	opacity: 0;
}

section h2.show {
	opacity: 1;
}

section.header h1 {
	filter: drop-shadow(0 0 20px rgba(var(--color-blue-1),0.5));
}

section h3,
section p,
section ul,
#lightbox p {
	min-height: 0vh;
	font-weight: 400;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.4em;
}

section p + h2,
section ul + h2,
section h2 + p,
section h2 + ul,
#lightbox h2 + p {
	margin-top: 2.5em;
}

#lightbox p:has(+ form) {
	margin-bottom: 2.5em;
}

section p + h3,
section p + p,
section p + ul,
section ul + p,
#lightbox p + p {
	margin-top: 1.4em;
}

.animate-words {
    display: inline-block;
}

.animate-words span {
    display: inline-block;
}

.animate-words > span {
	clip-path: inset(-1em 0 0 0);
	white-space: nowrap;
}

.animate-words > span > span {
	opacity: 0;
    transform: translateY(100%);
}

.animate-words.show > span > span {
	opacity: 1;
    transform: translateY(0);
    transition: opacity 0.4s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--word-transition-delay));
}

.text-grp h2,
.text-grp h3,
.text-grp h4,
.text-grp .h4,
.text-grp p,
.text-grp ul,
.text-grp ul li {
	opacity: 0;
}

.text-grp h2 {
	transform: translateY(1.1111em);
}

.text-grp ul li {
	transform: translateY(0.75em);
}

.text-grp.show h2,
.text-grp.show h3,
.text-grp.show h4,
.text-grp.show .h4,
.text-grp.show p,
.text-grp.show ul,
.text-grp.show ul li {
	opacity: 1;
	transform: translate(0);
	transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc((var(--transition-delay) + (var(--transition-delay-1)) * 2));
}

.text-grp.show h3,
.text-grp.show h4,
.text-grp.show .h4,
.text-grp.show p,
.text-grp.show ul,
.text-grp.show ul li {
	transition-delay: calc((var(--transition-delay) + (var(--transition-delay-1)) * 2) + 0.2s);
}

.text-grp.show ul li {
	transition-duration: 0.4s;
	transition-delay: calc(var(--transition-delay) + var(--transition-delay-1) + var(--transition-delay-2) + 0.2s);
}

ol.ordered-list {
    counter-reset: count-ordered-list;
}

ol.ordered-list li,
ul.unordered-list li {
	position: relative;
	padding-left: 1rem;
}

ol.ordered-list li:before {
    content: counter(count-ordered-list)".";
	counter-increment: count-ordered-list;
    display: inline-block;
    position: absolute;
    left: 0;
}

ul.unordered-list li:before {
    content: "•";
    display: inline-block;
    position: absolute;
    left: 0;
}

ul.list {
	min-height: 0vh;
	font-size: clamp(25px, (65 / 1400) * 100vw, 65px);
}

ul.list li {
	position: relative;
}

ul.list li.expandable-list {
	min-height: 0vh;
	font-size: clamp(25px, (30 / 1400) * 100vw, 30px);
	line-height: 1.2em;
	border-top: solid 1px rgb(var(--color-black));
	padding: 1em;
    transition: padding 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

ul.list li.expandable-list ul {
	padding: 0 4em 0 0;
}

ul.list li.expandable-list ul > li:first-of-type {
	padding: 1em 0 0 0;
}

.expandable-list > button {
	display: inline-block;
	position: relative;
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	text-align: left;
	margin: 0;
	padding-right: 2em;
    transition: color 0.2s linear;
}

.expandable-list > button:hover,
.expandable-list.active > button {
	color: rgb(var(--color-black));
}

.expandable-list > button:after {
	content: "";
	display: block;
	position: absolute;
	width: 0.8571em;
	height: 1em;
	right: 1em;
	top: calc(50% - 0.35em);
	font-size: 0.7em;
	background: url("../images/ico-chevron.svg") center center no-repeat;
	background-size: contain;
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

.expandable-list.active > button:after {
	transform: rotate(90deg);
}

.expandable-list ol,
.expandable-list ul {
    height: 0;
    overflow: hidden;
    transition: height 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

strong {
    font-weight: 700;
}

sup {
	display: inline-block;
	position: relative;
	font-size: 0.6em;
	vertical-align: top;
	margin-top: -0.3em;
}

.align-items-center {
    align-items: center;
}

.justify-content-center {
	justify-content: center;
}

.align-self-center {
    align-self: center;
}

.align-self-end {
	align-self: end;	
}

.text-align-left {
    text-align: left;
}

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

.text-align-right {
    text-align: right;
}

.text-decoration-underline {
	text-decoration: underline !important;
}

.text-transform-none {
	text-transform: none !important;
}

.text-transform-uppercase {
	text-transform: uppercase !important;
}

.white-space-nowrap {
	white-space: nowrap;
}

.light {
	font-weight: 400 !important;
}

.img-fit-auto,
.img-fit-contain,
.img-fit-cover {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.img-fit-auto {
	position: relative;
	height: auto;
}

.img-fit-contain {
	object-fit: contain;
}

.img-fit-cover {
	object-fit: cover;
}

.img-padding {
	padding: min(65px, (65 / 1400) * 100vw);
}

.img-valign-middle {
	top: 50%;
	transform: translateY(-50%);
}

.img-drop-shadow,
.img-reveal.show.img-drop-shadow {
	box-shadow: 0 min(30px, (30 / 1400) * 100vw) min(60px, (60 / 1400) * 100vw) rgba(var(--color-black),0.16);
}

.img-reveal.img-drop-shadow {
	box-shadow: 0 0 0 rgba(var(--color-black),0.16);
}

.img-drop-shadow-filter {
	filter: drop-shadow(0 min(30px, (30 / 1400) * 100vw) min(60px, (60 / 1400) * 100vw) rgba(var(--color-black),0.16));
}

.img-reveal {
	opacity: 0;
}

.img-reveal.show {
	opacity: 1;
	transition: opacity 0.8s linear;
	transition-delay: var(--transition-delay);
    animation: kf-img-reveal 0.8s cubic-bezier(0.25,0.25,0.25,1) both;
	animation-delay: var(--transition-delay); 
}

.img-reveal.show.img-drop-shadow {
	transition: opacity 0.8s linear, box-shadow 0.8s linear;
}

@keyframes kf-img-reveal {
    0% {
		clip-path: inset(0 0 100% 0);
	}
    99% {
		clip-path: inset(0 0 0 0);
	}
    100% {
		clip-path: none;
	}
}

div.img-mask {
    position: relative;
    opacity: 0;
    overflow: hidden;
	-webkit-mask-image: linear-gradient(rgba(0,0,0,0) 33%, rgba(0,0,0,1) 66%);
	mask-image: linear-gradient(rgba(0,0,0,0) 33%, rgba(0,0,0,1) 66%);
	-webkit-mask-position: 0 0;
	mask-position: 0 0;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 300%;
	mask-size: 100% 300%;
	transition: mask-position 1s ease-in-out;
}

div.img-mask.show {
    opacity: 1;
	animation: kf-img-mask-position 1.6s var(--transition-timing-ease-in-out) both;
}

@keyframes kf-img-mask-position {
	0% {
		-webkit-mask-position: 0 0; 
		mask-position: 0 0; 
	}
	100% {
		-webkit-mask-position: 0 100%; 
		mask-position: 0 100%; 
	}
}

div.img-mask:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
	background: rgb(var(--color-blue-1));
	mix-blend-mode: overlay;
}

div.img-mask.show:after {
	opacity: 0;
	transition: opacity 0.8s 1.6s linear;
}

div.img-mask.box-shadow {
	box-shadow: 0 min(30px, (30 / 1400) * 100vw) min(60px, (60 / 1400) * 100vw) rgba(var(--color-black),0);
}

div.img-mask.box-shadow.show {
	box-shadow: 0 min(30px, (30 / 1400) * 100vw) min(60px, (60 / 1400) * 100vw) rgba(var(--color-black),0.16);
    transition: box-shadow 0.4s 1.6s linear;
}

div.img-mask img {
    filter: grayscale(100%);
}

div.img-mask.show img {
    filter: grayscale(0%);
    transition: filter 0.8s 1.6s linear;
}

.cols-two-third {
	padding-right: calc((var(--grid-column-w) * 4) + (var(--grid-column-gap) * 4));
}

.home-footer-img picture {
	display: block;
	position: relative;
	height: calc((800 / 1200) * 100vw);
}

.home-footer-img picture img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bt {
	display: inline-block;
	min-height: 0vh;
	color: rgb(var(--color-orange-1));
	font-weight: 500;
	font-size: clamp(18px, (22 / 1400) * 100vw, 22px);
}

h3 .bt {
	text-decoration: underline;
}

.grecaptcha-badge { 
    visibility: hidden;
}


/*************************************
	Section header
 *************************************/


section.header > div {
	display: block;
	max-width: none;
	padding: 0;
	/*padding-top: min(50px + 130px, 50px + ((130 / 1400) * 100vw));*/
	/*padding-top: calc(min(50px + 130px, 50px + ((130 / 1400) * 100vw)) + clamp(16px * 2.3, ((20 * 2.3) / 1400) * 100vw, 20px * 2.3));*/
	padding-top: calc(var(--header-h) * 1px);
}

section.header div.content {
	height: var(--header-img-h);
}

section.header div.bckg-video {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
}

section.header div.bckg-video:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(var(--color-black),0.25);
	mix-blend-mode: multiply;
}

section.header div.bckg-video div.iframe-container {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

section.header div.bckg-video iframe {
    display: block;
    position: absolute;
    width: calc((16 / 9) * 100vh);
    height: 100vh;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

@media (min-aspect-ratio: 16/9) {
	section.header div.bckg-video iframe {
        width: 100vw;
        height: calc((9 / 16) * 100vw);
    }
}

section.header .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	max-width: 1400px;
	height: 100%;
	margin: 0 auto;
	padding: 0 var(--page-margin);
	z-index: 10;
}

section.header .text > * {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

section.header .bt-next {
	display: block;
	width: 100vw;
	padding: min(45px, (45 / 1400) * 100vw);
}

section.header .bt-next:after {
	content: "";
	display: block;
	width: clamp(min(18px, (18 / 414) * 100vw), (36 / 1400) * 100vw, 36px);
	height: clamp(min(32px, (32 / 414) * 100vw), (64 / 1400) * 100vw, 64px);
	background: url("../images/ico-arrow.svg") center center no-repeat;
	background-size: contain;
	margin: 0 auto;
}

.unit-showcase {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/*align-items: end;*/
	background: rgb(var(--color-khaki-2)) url("../images/bckg-unit-showcase.svg") center center no-repeat;
	background-size: cover;
	box-shadow: 0 min(30px, (30 / 1400) * 100vw) min(60px, (60 / 1400) * 100vw) rgba(var(--color-black),0.16);
	text-align: center;
	padding: min(35px, (35 / 1400) * 100vw) 0;
	margin-top: var(--page-gap);
	margin-bottom: calc(var(--padding-bottom) + min(70px, (70 / 1400) * 100vw));
}

.unit-showcase li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	row-gap: min(35px, (35 / 1400) * 100vw);
	position: relative;
}

.unit-showcase li img {
	display: inline-block;
	cursor: pointer;
}

.unit-showcase li:hover img,
.unit-showcase li.active img {
	filter: drop-shadow(0 10px 24px rgba(var(--color-blue-1),0.75));
}

/*.unit-showcase .h4 {
	margin-top: min(35px, (35 / 1400) * 100vw);
}*/

.unit-showcase .bt-virtual-tour {
	display: inline-block;
	margin: 0 auto;
}

.unit-showcase .h4:after {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	left: calc(50% - 17.5px);
	bottom: calc(-17.5px - min(35px, (35 / 1400) * 100vw));
	border-left: 17.5px solid transparent;
	border-right: 17.5px solid transparent;
	border-top: 17.5px solid rgb(var(--color-khaki-2));
	transform: translateY(-100%);
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

.unit-showcase li:hover .h4:after,
.unit-showcase li.active .h4:after {
	transform: translateY(0);
}

.unit-showcase p {
	position: absolute;
	/*bottom: max(-70px, (-70 / 1400) * 100vw);*/
	top: calc(100% + min(70px, (70 / 1400) * 100vw));
	opacity: 0;
	/*margin-top: min(70px, (70 / 1400) * 100vw);*/
	/*transform: translateY(100%);*/
	transition: opacity 0.4s linear;
}

.unit-showcase li:hover p,
.unit-showcase li.active p {
	opacity: 1;
	transition-delay: 0.2s;
}

section.bckg-beige:before,
section.bckg-blue:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

section.bckg-overflow:before {
	height: calc(100% + min(260px, (260 / 1400) * 100vw));
	top: var(--page-gap-neg);
}

section.bckg-overflow-double-top:before {
	height: calc(100% + (3 * var(--page-gap)));
	top: calc(var(--page-gap-neg) * 2);
	z-index: -1;
}

section.bckg-offset-bottom:before {
	height: 100%;
	top: var(--page-gap);
}

section.bckg-beige:before {
	background: rgb(var(--color-beige-3));
}

section.bckg-beige.gradual-opacity-bckg:before {
	background: rgba(var(--color-beige-3),calc(var(--bckg-opacity)));
}

/** Background blue **/

section.bckg-blue:before {
	background: rgb(var(--color-blue-1));
}

section.bckg-blue > div {
	color: rgb(var(--color-blue-4));
}

section.bckg-blue:not(:first-of-type) > div {
	padding-top: var(--page-gap);
	padding-bottom: var(--page-gap);
}

section.bckg-blue:last-of-type > div {
	padding-bottom: 0;
}

.overflow-top {
	margin-top: max(-70px, (-70 / 1400) * 100vw);
}

.overflow-right {
	margin-right: max(-70px, (-70 / 1400) * 100vw);
}

.overflow-bottom {
	margin-bottom: max(-70px, (-70 / 1400) * 100vw);
}

.overflow-left {
	margin-left: max(-70px, (-70 / 1400) * 100vw);
}

.no-padding-left {
	margin-left: var(--page-margin-neg);
}

.no-padding-right {
	margin-right: var(--page-margin-neg);
}

.full-width {
	grid-column: 1 / -1;
	width: 100vw;
	margin-right: calc(min(0px, 700px - 50vw) - var(--page-margin));
	margin-left: calc(min(0px, 700px - 50vw) - var(--page-margin));
}

.text-grp h2 {
	transform: translateY(1.1111em);
}

.icos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	height: 100%;
	max-width: min(750px, (750 / 1400) * 100vw);
	margin: 0 auto;
}

.icos li {
	display: grid;
	grid-template-rows: repeat(2, 1fr);
	position: relative;
	width: min(250px, (250 / 1400) * 100vw);
	height: min(225px, (225 / 1400) * 100vw);
}

.icos li picture {
	display: block;
	position: absolute;
	width: min(150px, (150 / 1400) * 100vw);
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	transform: translateY(25%);
	transform-origin: center top;
	transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

.icos li picture:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: url("../upload/images/ico-outline.svg") center center no-repeat;
	background-size: 100%;
	clip-path: polygon(50% 50%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
	opacity: 0;
}

.icos li.show picture:before {
	opacity: 1;
	animation: kf-icos-picture-reveal 0.6s cubic-bezier(0.25,0.25,0.25,1) both;
	animation-delay: calc((var(--transition-delay) * 2) + 0.4s);
	transition: opacity 0.6s linear;
	transition-delay: calc((var(--transition-delay) * 2) + 0.4s);
}

@keyframes kf-icos-picture-reveal {
	0% {
		clip-path: polygon(50% 50%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
	}
    25% {
		clip-path: polygon(50% 50%, 0% 100%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
	}
    50% {
		clip-path: polygon(50% 50%, 0% 100%, 0% 0%, 100% 0%, 100% 0%, 100% 0%);
	}
    75% {
		clip-path: polygon(50% 50%, 0% 100%, 0% 0%, 100% 0%, 100% 100%, 100% 100%);
	}
    100% {
		clip-path: polygon(50% 50%, 0% 100%, 0% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
}

@keyframes kf-icos-picture-hover {
    0% {
		clip-path: polygon(50% 50%, 0% 100%, 0% 0%, 100% 0, 100% 100%, 0% 100%);
	}
    25% {
		clip-path: polygon(50% 50%, 0% 0%, 0% 0%, 100% 0, 100% 100%, 0% 100%);
	}
    50% {
		clip-path: polygon(50% 50%, 100% 0, 100% 0, 100% 0, 100% 100%, 0% 100%);
	}
    75% {
		clip-path: polygon(50% 50%, 100% 100%, 100% 100%,100% 100%, 100% 100%, 0% 100%);
	}
    100% {
		clip-path: polygon(50% 50%, 0% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
	}
}

.icos li picture img {
	width: 100%;
	height: auto;
	opacity: 0;
	transform: scale(1.2);
}

.icos li.show picture img {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 2);
}

.icos li div {
	position: relative;
}

.icos li div:nth-of-type(2) {
	font-size: clamp(14px, (16 / 1400) * 100vw, 16px);
	line-height: 1.2em;
	text-align: center;
	opacity: 0;
	transform: translateY(-1.2em);
	transition: opacity 0.2s linear, transform 0.6s 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

@media screen and (min-width: 961px) {
	.icos li.show:hover picture {
		transform: scale(0.6667) translateY(0);
	}
	
	.icos li.show.hovered picture:before {
		animation-delay: 0.2s;
		transition-delay: 0.2s;
	}
	
	.icos li.show:hover picture:before {
		opacity: 0;
		animation: kf-icos-picture-hover 0.6s cubic-bezier(0.25,0.25,0.25,1) both;
		transition-duration: 0.6s;
		transition-delay: 0s;
	}
	
	.icos li.show:hover div:nth-of-type(2) {
		opacity: 1;
		transform: translateY(0);
		transition-duration: 0.4s, 0.6s;
		transition-delay: 0.2s;
	}
}

.choose-unit {
	grid-column: 1 / -1;
	background: rgb(var(--color-blue-1));
	width: 100vw;
	margin: 0 min(var(--page-margin-neg), calc((700px - var(--page-margin)) - 50vw));
	padding: calc(var(--grid-column-gap) * 4) 0;
	overflow: hidden;
}

.choose-unit,
.choose-unit:before,
.choose-unit:after {
	background-image: url("../images/ico-w-outline.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 250%;
}

.choose-unit:before,
.choose-unit:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((1657 / 1097) * 100vw);
	height: 100%;
	left: calc(50vw - ((1657 / 1097) * 50vw));
	top: 0;
	pointer-events: none;
}

.choose-unit {
	background-image: 
		linear-gradient(rgba(var(--color-blue-1),0.35), rgba(var(--color-blue-1),0), rgba(var(--color-blue-1),0.35)),
		url("../images/ico-w-outline.svg");
	background-size: 
		100%,
		auto 250%;
}

.choose-unit:before {
	animation: kf-bckg-footer-slide-fwd 9s linear both infinite;
}

.choose-unit:after {
	animation: kf-bckg-footer-slide-bwd 7s linear both infinite;
}

.choose-unit ul {
	display: flex;
	justify-content: center;
	column-gap: calc(var(--grid-column-gap) * 4);
	row-gap: calc(var(--grid-column-gap) * 4);
	text-align: center;
}

.choose-unit ul li {
	/*display: block;*/
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	opacity: 0;
}

.choose-unit.show ul li {
	opacity: 1;
	transition: opacity 0.4s linear;
	transition-delay: calc(var(--transition-delay-2) * 2);
}

.choose-unit h2,
.choose-unit h2 .small,
.choose-unit h3 {
	color: rgb(var(--color-white));
	opacity: 1;
}

.choose-unit h2 {
	font-size: clamp(21px, (28 / 1400) * 100vw, 28px);
}

.choose-unit h3 {
	margin-top: 0.7em;
	margin-bottom: 1.4em;
}

/*.choose-unit > div {
	align-self: center;
}*/

.choose-unit .virtual-tour,
.unit-showcase .virtual-tour {
	display: none;
}

.gallery h2 {
	transform: translateY(1.1111em);
}

.gallery.show h2 {
	opacity: 1;
	transform: translate(0);
	transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) + var(--transition-delay-1));
}

.gallery ul {
	display: grid;
	position: relative;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	grid-gap: var(--grid-column-gap);
}

.gallery ul li {
	position: relative;
}

.gallery ul li:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: calc(var(--grid-column-gap) * -0.5);
	top: calc(var(--grid-column-gap) * -0.5);
	border: solid rgba(var(--color-beige-4),0.75) calc(var(--grid-column-gap) * 0.5);
	pointer-events: none;
}

.gallery ul li div {
	display: block;
	position: relative;
	margin: calc((var(--grid-column-gap) * 0.25) * -1);
	overflow: hidden;
}

/*.gallery.show ul li a[data-iframe]:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: 
		url("../images/ico-360.svg"),
		linear-gradient(rgba(var(--color-blue-1),0.65), rgba(var(--color-blue-1),0.5));
	background-position: center center;
	background-repeat: no-repeat;
}*/

.gallery ul li picture {
	display: block;
	position: relative;
	margin: calc((var(--grid-column-gap) * 0.25));
	padding-top: 66%;
	transition: transform 1.2s cubic-bezier(0.25,0.25,0.25,1);
}

.gallery ul li:hover picture.loaded {
	transform: scale(1.1);
}

.gallery ul li picture:before {
	content: "";
	min-height: 0vh;
	display: block;
	position: absolute;
	width: 1em;
	height: 1em;
	left: calc(50% - 0.5em);
	top: calc(50% - 0.5em);
	font-size: clamp(min(30px, (30 / 414) * 100vw), (30 / 1400) * 100vw, 30px);
	background-image: 
		radial-gradient(rgba(var(--color-beige-4),1) 45%, rgba(var(--color-beige-4),0) 45%),
		conic-gradient(rgba(var(--color-blue-3),0) 25%, rgba(var(--color-blue-3),1));
	border-radius: 9999px;
	animation: kf-gallery-loading 1.2s steps(8) both infinite;
	opacity: 0;
	transition: opacity 0.2s linear;
}

.gallery.show ul li picture:before {
	opacity: 1;
	transition-delay: 0.4s;
}

.gallery.show ul li picture.loaded:before {
	opacity: 0;
	transition-delay: 0s;
}

@keyframes kf-gallery-loading {
    0% {
		transform: rotate(0deg);
	}
    100% {
		transform: rotate(360deg);
	}
}

.gallery ul li img {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
	opacity: 0;

}

.gallery.show ul li picture.loaded img {
	opacity: 1;
	transition: opacity 0.4s linear;
	transition-delay: calc(var(--transition-delay) + var(--transition-delay-1) + var(--transition-delay-2) + 0.2s);
}

.gallery.show ul li a[data-iframe] figure:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-position: center center;
	background-repeat: no-repeat;
}

.gallery.show ul li a[data-iframe*="https://player.vimeo.com/"] figure:after {
	background-image: url("../images/ico-play.svg");
}

.gallery.show ul li a[data-iframe*="https://my.matterport.com/"] figure:after {
	background-image: url("../images/ico-360.svg");
}

.gallery.show ul li a[data-iframe] figure picture:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: 
		linear-gradient(rgba(var(--color-blue-1),0.65), rgba(var(--color-blue-1),0.5));
	background-position: center center;
	background-repeat: no-repeat;
}

.gallery figcaption {
	display: block;
	position: absolute;
	width: calc(100% - (var(--grid-column-gap) * 0.5));
	left: calc(var(--grid-column-gap) * 0.25);
	bottom: calc(var(--grid-column-gap) * 0.25);
	background: rgba(var(--color-blue-1),0.75);
	color: rgb(var(--color-white));
	text-align: center;
	padding: calc(var(--grid-column-gap) * 0.5);
}


/*************************************
	Map
 *************************************/


section.map > div {
	padding-top: 0;
}

.map-container {
	height: min(768px, (768 / 1400) * 100vw);
}

div.gm-style-iw-t:after,
div.gm-style-iw {
	background: rgb(var(--color-white)) !important;
}

div.gm-style-iw-t {
	filter: drop-shadow(0 3px 10px rgba(0,0,0,0.5)) !important;
}

div.gm-style-iw-t:after {
	box-shadow: none !important;
}

div.gm-style-iw {
	border: none !important;
	box-shadow: none !important;
	color: rgb(var(--color-blue-1)) !important;
	font-family: classico-urw, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 14px !important;
	line-height: 1.2em !important;
	padding: 1.2em !important;
}

div.gm-style-iw-d {
	overflow: auto !important;
}

.poi li.expandable-list {
	position: relative;
}

.poi li.expandable-list button:before {
	content: "";
	display: block;
	position: absolute;
	width: 0.7em;
	height: 0.7em;
	left: -1.4em;
	top: calc(50% - 0.35em);
}

.poi li.expandable-list.services button:before {
	background-color: rgb(var(--color-orange-1));
}

.poi li.expandable-list.food button:before {
	background-color: rgb(var(--color-orange-3));
}

.poi li.expandable-list.parks button:before {
	background-color: rgb(var(--color-blue-1));
}

.poi li.expandable-list.shopping button:before {
	background-color: rgb(var(--color-blue-3));
}

.poi li.expandable-list.restaurants button:before {
	background-color: rgb(var(--color-khaki-1));
}

.poi li.expandable-list.sports button:before {
	background-color: rgb(var(--color-khaki-3));
}

.poi .expandable-list.active > button:after {
	transform: scaleY(-1);
}
.poi li.expandable-list li {
	cursor: pointer;
	transition: color 0.4s linear;
}

.poi li.expandable-list li:hover {
	color: rgb(var(--color-blue-1));
}

.poi li.expandable-list.property,
.poi li.expandable-list.pavilion {
	display: none;
}


/*************************************
	PMS (property management system)
 *************************************/


section.pms > div {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 0;
}

.pms-type-selector .bedrooms-selector > div {
	display: flex;
	flex-direction: column;
	row-gap: 0.6em;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	margin-top: 1.5em;
}

.pms-floor-selector {
	border-top: solid 2px rgb(var(--color-orange-2));
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	margin-top: 1.9em;
	margin-right: min(80px, (80 / 1400) * 100vw);
	padding-top: 1.5em;
}

:root {
	--pms-floor-selector-nb-cols: 7;
}

.pms-floor-selector > div {
	display: grid;
	grid-template-columns: repeat(auto-fill, 1.8em);
	grid-gap: 0.6em;
	margin-top: 1.5em;
	padding-right: calc(100% - ((var(--pms-floor-selector-nb-cols) * 1.8em)  + ((var(--pms-floor-selector-nb-cols) - 1) * 0.6em)));
}


/* -- Plans header -- */

.pms-building .building {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: var(--ratio);
    overflow: hidden;
}

.pms-building .building img,
.pms-building .building svg {
    display: none;
    position: absolute;
}

.pms-building .building.horizontal img,
.pms-building .building.horizontal svg,
.pms-building .building.vertical img,
.pms-building .building.vertical svg {
    display: block;
}

.pms-building .building.horizontal img,
.pms-building .building.horizontal svg {
    width: 100%;
    height: auto;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.pms-building .building.vertical img,
.pms-building .building.vertical svg {
    width: auto;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

.pms-building .building svg g.floor g.floor-highlight {
    fill: rgba(var(--color-blue-1), 0.25);
    mix-blend-mode: multiply;
    cursor: pointer;
    transition: fill 0.6s, mix-blend-mode 0.6s;
}

.pms-building .building svg g.floor:hover g.floor-highlight,
.pms-building .building svg g.floor.active g.floor-highlight {
    fill: rgba(var(--color-blue-1), 0.75);
}

.pms-building .building svg g.floor g.floor-num {
	cursor: pointer;
	font-size: 40px;
	transform: 
		translate(calc(var(--translate-x) - 2.75em), calc(var(--translate-y) + ((var(--floor-num) - 2) * 0.14em) - 1.5em))
		skewY(calc(((var(--floor-num) - 2) * -2.5deg) - 7deg));
}

.pms-building .building svg g.floor g.floor-num rect {
	width: 2em;
	height: 1.5em;
	fill: rgba(var(--color-orange-1),0.6);
    transition: fill 0.6s;
}

.pms-building .building svg g.floor:hover g.floor-num rect,
.pms-building .building svg g.floor.active g.floor-num rect {
	fill: rgba(var(--color-orange-1),1);
}

.pms-building .building svg g.floor g.floor-num text {
	font-family: classico-urw, sans-serif;
	font-weight: 700;
	text-anchor: middle;
	dominant-baseline: middle;
	fill: rgb(var(--color-white));
	transform: translate(1em, 0.75em);
}


/* -- Floor plan -- */

.pms-unit-selector {
	grid-column-end: span 2;
	display: none;
	background: rgb(var(--color-beige-3));
	margin: 0 var(--page-margin-neg);
	padding: var(--page-margin);
}

.pms-unit-selector:before,
.pms-unit:not(:empty):before {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	left: calc(50% - min(25px, (25 / 1400) * 100vw));
	top: 0;
	border-left: min(25px, (25 / 1400) * 100vw) solid transparent;
	border-right: min(25px, (25 / 1400) * 100vw) solid transparent;
	border-top: min(25px, (25 / 1400) * 100vw) solid rgb(var(--color-beige-4));
}

.pms-unit-selector:after {
	content: "";
	display: block;
	position: absolute;
	width: min(57px, (57 / 1400) * 100vw);
	height: min(64px, (64 / 1400) * 100vw);
	right: var(--page-margin);
	top: var(--page-margin);
	background: url("../images/ico-compass.svg") center center no-repeat;
	background-size: 100%;
}

.pms-unit-selector.show {
	display: block;
}

.pms-floor-plan label.select {
    display: none;
}

.pms-floor-plan svg {
    display: block;
    width: min(710px, (710 / 1400) * 100vw);
    height: auto;
    margin: 0 auto;
	margin: 0 var(--page-margin) 0 auto;
}

.pms-floor-plan svg g.units .unit,
.pms-floor-plan svg g.units .balcony,
.pms-floor-plan svg g.units .unit-pattern {
    transition: fill 0.6s, stroke 0.6s;
}
.pms-floor-plan svg g.floor,
.pms-floor-plan svg g.others,
.pms-floor-plan svg g.units .unit,
.pms-floor-plan svg g.units .balcony,
.pms-floor-plan svg g.units .unit-pattern,
.pms-floor-plan svg g.units .unit-stroke {
    fill: none;
    stroke: rgb(var(--color-blue-3));
}

.pms-floor-plan svg text {
    font-family: classico-urw, sans-serif;
    font-weight: 700;
    font-size: 18px;
    text-anchor: middle;
    dominant-baseline: middle; 
}

.pms-floor-plan svg text.text-anchor-end {
    text-anchor: end;
}

.pms-floor-plan svg g.units text {
    fill: rgba(var(--color-blue-2));
}


/* -- Floor plan | other -- */

.pms-floor-plan svg g.units g.other .unit {
    fill: rgb(var(--color-beige-4));
}
.pms-floor-plan svg g.units g.other .balcony {
    fill: rgba(var(--color-beige-4),0.5);
}


/* -- Floor plan | availability -- */

.pms-floor-plan svg g.units g.available,
.pms-floor-plan svg g.units g.soon {
    cursor: pointer;
}

.pms-floor-plan svg g.units g.soon.other .unit-pattern {
    stroke: rgb(var(--color-beige-4));
}

.pms-floor-plan svg g.units g.soon.match .unit-pattern {
    stroke: rgb(var(--color-khaki-3));
}

.pms-floor-plan svg g.units g.soon .unit-pattern {
    fill: url(#pattern);
    stroke-width: 10px;
}

.pms-floor-plan svg g.units g.soon.m .unit-pattern {
    fill: url(#pattern-m);
}


/* -- Floor plan | unavailable -- */

.pms-floor-plan svg g.units g.unavailable {
    pointer-events: none;
}

.pms-floor-plan svg g.units g.unavailable .unit {
    fill: rgb(var(--color-orange-3));
}

.pms-floor-plan svg g.units g.unavailable .balcony {
    fill: rgba(var(--color-orange-3), 0.5);
}

.pms-floor-plan svg g.units g.active text {
    fill: rgba(var(--color-beige-4),1);
}

.pms-floor-plan svg pattern line {
    fill: none;
    stroke: rgba(var(--color-blue-3),0.5);
    stroke-width: 2;
    stroke-miterlimit: 10;
    opacity: 0.5;
}


/* -- Floor plan | match -- */

.pms-floor-plan svg g.units g.match .unit {
    fill: rgb(var(--color-khaki-3));
}

.pms-floor-plan svg g.units g.match .balcony {
    fill: rgb(var(--color-khaki-3),0.5);
}

.pms-floor-plan svg g.units g.active .unit {
    fill: rgb(var(--color-khaki-1));
}

.pms-floor-plan svg g.units g.active .balcony {
    fill: rgb(var(--color-khaki-1),0.5);
}


/* -- Floor plan legend -- */

.pms-floor-plan-legend {
	position: absolute;
	left: var(--page-margin);
	bottom: var(--page-margin);
}

.pms-floor-plan-legend ul li {
	display: flex;
	align-items: center;
	column-gap: 0.5em;
    position: relative;
	color: rgb(var(--color-blue-2));
	font-weight: 500;
    font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
    line-height: 1.4em;
}

.pms-floor-plan-legend ul li + li {
	margin-top: 0.5em;
}

.pms-floor-plan-legend ul li:before {
    content: "";
    display: inline-block;
    position: relative;
    width: 1.5em;
    height: 1.5em;
	border: solid 1px rgb(var(--color-blue-3));
}

.pms-floor-plan-legend ul li.match:before {
    background-color: rgb(var(--color-khaki-3));
}

.pms-floor-plan-legend ul li.other:before {
    background-color: rgb(var(--color-beige-4));
}

.pms-floor-plan-legend ul li.soon:before {
    background-color: rgb(var(--color-beige-3));
}

.pms-floor-plan-legend ul li.soon:after {
	content: "";
	display: block;
    position: absolute;
    width: 1.1em;
    height: 1.1em;
	left: calc(0.2em + 1px);
	top: calc(0.2em + 1px);
    background-image: url("../images/pattern-availability-soon.svg");
	background-position: left top;
	background-repeat: repeat;
}

.pms-floor-plan-legend ul li.unavailable:before {
    background-color: rgb(var(--color-orange-3));
}

.pms-floor-plan-legend ul li.tour:before {
	content: "*";
	border: none;
	font-weight: inherit;
	font-size: 1em;
	text-align: center;
    /*background-color: rgb(var(--color-orange-3));*/
}


/* -- Unit -- */

div.pms-unit {
	grid-column: 1 / -1;
    display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: min(24px, (24 / 1400) * 100vw);
	grid-row-gap: 1em;
	color: rgb(var(--color-blue-2));
	min-height: 0vh;
	font-weight: 500;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.2em;
}

.pms-unit:not(:empty):before {
	top: max(-70px, (-70 / 1400) * 100vw);
	border-top-color: rgb(var(--color-beige-3));
}

div.pms-unit h2 {
	opacity: 1;
}

div.pms-unit h3 {
	color: inherit;
}

.unit-title,
.unit-occupancy {
	grid-column: 1 / span 12;
}

.unit-area,
.unit-global,
.unit-occupancy,
.unit-images {
	grid-column: 1 / span 7;	
}

.unit-images {
	grid-row-end: span 4;	
}

.unit-details,
.unit-cta,
.unit-tools {
	grid-column: 9 / span 4;
}

.unit-details {
	grid-row: 2 / span 5;
}

.unit-cta {
	justify-self: start;
}

.unit-cta .bt-reserve,
.unit-cta .bt-virtual-tour {
	display: block;
	text-align: center;
}

div.unit-area {
	justify-self: start;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-row-gap: 0.25em;
	width: 50%;
}

div.unit-area span > span {
    display: inline-block;
}

div.unit-area > span:nth-of-type(3n+1) > span {
    padding-right: 0.25em;
}

div.unit-area > span:nth-of-type(2n+2) {
    text-align: right;
}

div.unit-area strong {
    font-weight: 700;
	font-size: 1.125em;
}

div.unit-details {
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    position: relative;
}

div.unit-details ol {
    display: none;
	counter-reset: ud;
}

div.unit-details ol.show {
    display: block;
}

div.unit-details ol li {
    position: relative;
	padding: 0.3em 0 0 2.75em;
}

div.unit-details ol li + li {
	margin-top: 0.4em;
}

div.unit-details ol li:before {
	content: counter(ud, decimal-leading-zero);
	counter-increment: ud;
	display: block;
	position: absolute;
	min-width: 1.8em;
	left: 0;
	top: 0;
	background: rgb(var(--color-khaki-3));
	color: rgb(var(--color-beige-4));
	line-height: 1.8em;
	text-align: center;
}

div.unit-details ol li span {
	color: rgb(var(--color-blue-3));
	font-size: 0.8em;
}

section.pms div.unit-images img {
    display: none;
    width: 100%;
    height: auto;
}

section.pms div.unit-images.m img {
	transform: scaleX(-1);
}

section.pms div.unit-images img.show {
    display: block;
}

section.pms div.floors-nav {
    display: flex;
    padding-bottom: min(40px, (40 / 1280) * 100vw);
}

section.pms div.floors-nav:empty {
    display: none;
    padding-bottom: 0;
}

section.pms div.floors-nav > div {
    cursor: pointer;
}

section.pms div.floors-nav > div.active {
    font-weight: 500;
}

section.pms div.floors-nav > div + div {
    margin-left: min(20px, (20 / 1280) * 100vw);
}

div.unit-tools div.share {
    display: inline-flex;
	align-items: center;
	column-gap: 0.5em;
	margin-top: 1.4em;
}

div.unit-tools div.share > div {
	margin-right: 1em;
}

section.pms span.fa-stack {
    width: 2em;
    margin: 0;
}

section.pms span.fa-stack i:nth-of-type(1) {
    color: rgb(var(--color-blue-1));
}

section.pms span.fa-stack i:nth-of-type(2) {
    color: rgb(var(--color-beige-4));
}

.pms-reserve-unit {
	display: block;
	position: fixed;
	width: 100vw;
	max-width: none;
	height: 100vh;
	left: 0;
	top: 0;
	background: rgba(var(--color-beige-4),0);
	color: rgb(var(--color-beige-4));
	margin: 0 !important;
	padding: 0 !important;
	transition: background 0.4s 0.6s linear;
	z-index: 2000;
}

.pms-reserve-unit-form {
	min-height: 0vh;
	flex-direction: column;
	justify-content: center;
	row-gap: 0.3429em;
	position: fixed;
	height: 100vh;
	right: 0;
	top: 0;
	background: rgba(var(--color-blue-1),0.85);
	font-size: min(35px, (35 / 1400) * 100vw);
	overflow-y: auto;
	padding: min(70px, (70 / 1400) * 100vw);
	padding-right: max(130px + (50vw - 700px), (130 / 1400) * 100vw);
	transform: translate(100%);
	transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

.pms-reserve-unit-form:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(var(--color-blue-1),0.5);
	transform-origin: left top;
	transition: opacity 0s linear, transform 0s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: 0.6s;
	z-index: -1;
}

.pms-reserve-unit-form * {
	width: calc((var(--grid-column-w) * 4) + (var(--grid-column-gap) * 3));
	clip-path: inset(0 0 0 100%);
	opacity: 0;
	transition: clip-path 0.4s cubic-bezier(0.25,0.25,0.25,1), opacity 0.4s linear;
}

body.pms-reserve-unit-open {
	overflow: hidden;
}

body.pms-reserve-unit-open .pms-reserve-unit {
	background: rgba(var(--color-beige-4),0.6);
	transition-delay: 0s;
}

body.pms-reserve-unit-open .pms-reserve-unit-form {
	transform: translate(0);
}

body.pms-reserve-unit-open .pms-reserve-unit-form:before {
	transform: scaleX(0);
	transition-duration: 0.2s, 0.6s;
	transition-delay: 0.4s;
}

body.pms-reserve-unit-open .pms-reserve-unit-form * {
	clip-path: inset(0 0 0 0);
	opacity: 1;
	transition-delay: 0.8s;
}


/*************************************
	Form
 *************************************/


div.form-container {
	grid-column: 2 / span 1;
	grid-row: 1 / span 2;
}

form#form-contact,
form#pms-form-reserve-unit {
	position: relative;
	font-size: 0px;
}

form#form-contact.hide {
	height: 0 !important;
	overflow: hidden;
	transition: height 0.8s var(--transition-timing-ease-in-out);
}

form#form-contact input, 
form#form-contact textarea,
form#form-contact select,
form#form-contact label,
form#form-contact p,
form#form-contact button[type="submit"],
form[name="pms-type-selector"] input, 
form#pms-form-reserve-unit input, 
form#pms-form-reserve-unit textarea,
form#pms-form-reserve-unit select,
form#pms-form-reserve-unit label,
form#pms-form-reserve-unit p,
form#pms-form-reserve-unit button[type="submit"] {
    display: block;
    position: relative;
    min-height: 0vh;
    font-family: classico-urw, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
    line-height: 1.3333em;
    margin: 0;
}

form#form-contact input, 
form#form-contact textarea,
form#form-contact select,
form[name="pms-type-selector"] input, 
form#pms-form-reserve-unit input, 
form#pms-form-reserve-unit textarea,
form#pms-form-reserve-unit select {
    width: 100%;
    background: rgb(var(--color-beige-2));
	border: none;
	border-radius: 0;
    color: rgb(var(--color-blue-2));
    -webkit-appearance: none;
	appearance: none;
    padding: 0.5em;
}

form[name="pms-type-selector"] .pms-floor-selector > div input {
    background: rgb(var(--color-orange-2));
	color: rgb(var(--color-beige-4));
	font-weight: 700;
    font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	line-height: 1.8em;
	padding: 0;
} 

form[name="pms-type-selector"] .pms-floor-selector > div input:disabled {
	opacity: 0.25;
} 

form#form-contact label,
form[name="pms-type-selector"] label,
form#pms-form-reserve-unit label {
    color: rgb(var(--color-orange-1));
    font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	padding-left: 0.5em;
}

form#form-contact label + input,
form#form-contact label + textarea,
form#pms-form-reserve-unit label + input {
    margin-top: 0.3333em;
}

form#form-contact input:not([type="hidden"]) + label,
form#pms-form-reserve-unit input:not([type="hidden"]) + label {
    margin-top: 1.5em;
}

form#form-contact label.checkbox,
form[name="pms-type-selector"] label.checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 1em;
    align-items: center;
	color: rgb(var(--color-blue-2));
    padding: 0;
    transform: none;
}

form#form-contact label:not(.checkbox) + label.checkbox.interests {
	margin-top: 0.5em;
}

form#form-contact label.checkbox.interests + label.checkbox.interests,
form#form-contact label.checkbox + label.checkbox {
	margin-top: 0.6em;
}

form#form-contact label.checkbox.interests + label.checkbox:not(.interests),
form#form-contact textarea + label.checkbox:not(.interests) {
	margin-top: 3em;
}

form#form-contact input[type="checkbox"],
form[name="pms-type-selector"] input[type="checkbox"] {
    align-self: start;
	width: auto;
	height: auto;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	font-size: 0;
	margin: 0;
	padding: 0;	
}

form#form-contact input[type="checkbox"]:before,
form[name="pms-type-selector"] input[type="checkbox"]:before {
	content: "";
    display: block;
    width: 1em;
    height: 1em;
    min-height: 0vh;
    background: transparent;
    font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
	margin: 0.4em;
    transition: background 0.4s linear;
}

form#form-contact input[type="checkbox"]:checked:before,
form[name="pms-type-selector"] input[type="checkbox"]:checked:before {
    background: rgb(var(--color-khaki-1));
}

form#form-contact button[type="submit"],
form#pms-form-reserve-unit button[type="submit"] {
/*a.bt-reserve {*/
    display: block;
    position: relative;
    min-height: 0vh;
    background: rgb(var(--color-orange-1));
    color: rgb(var(--color-beige-3));
    font-weight: 500;
    font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
    line-height: 1em;
    text-transform: uppercase;
    margin-top: 2.5em;
    padding: 0.75em 2em;
}

a.bt-reserve {
	display: inline-block;
}

form#form-contact input:-webkit-autofill,
form#form-contact input:-webkit-autofill:hover, 
form#form-contact input:-webkit-autofill:focus, 
form#form-contact input:-webkit-autofill:active,
form#pms-form-reserve-unit input:-webkit-autofill,
form#pms-form-reserve-unit input:-webkit-autofill:hover, 
form#pms-form-reserve-unit input:-webkit-autofill:focus, 
form#pms-form-reserve-unit input:-webkit-autofill:active {
    -webkit-text-fill-color: rgb(var(--color-blue-2));
	-webkit-box-shadow: 0 0 0 60px rgb(var(--color-beige-2)) inset !important;
	box-shadow: 0 0 0 60px rgb(var(--color-beige-2)) inset !important;
}

form#form-contact p {
	color: rgb(var(--color-blue-3));
}

form#form-contact button[type="submit"] + p {
	margin-top: 4.5em;
}

form#form-contact p small {
	font-size: 0.7em;
    line-height: 1.2em;
}

.span1 {
	grid-column-end: span 1 !important;
}

.span2 {
	grid-column-end: span 2 !important;
}

.span3 {
	grid-column-end: span 3 !important;
}

.span4 {
	grid-column-end: span 4 !important;
}

.span6 {
	grid-column-end: span 6 !important;
}

form input.error,
form p.error {
	color: #FF0000;
}

form p.error {
	grid-column: 1 / -1;
}

input.error,
select.error {
    background: #f2bebe;
}

.takk {
	display: block;
	position: relative;
	animation: kf-fade-in 0.4s linear both;
}


/*************************************
	Burst
 *************************************/


.burst {
	display: block;
	position: sticky;
	width: min(1400px, 100vw);
	bottom: 0;
	font-size: 0;
	margin: 0 auto;
	z-index: 100;
}
.burst > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	width: 7em;
	height: 7em;
	right: 1.5em;
	bottom: 1.5em;
	cursor: pointer;
	color: rgb(var(--color-white));
	font-weight: 500;
	font-size: clamp(21px, (32 / 1400) * 100vw, 32px);
	line-height: calc((28 / 32) * 1em);
	text-transform: uppercase;
	text-align: center;
	filter: drop-shadow(5px 5px 15px rgba(var(--color-blue-1),0.3));
}
.burst > div small {
	display: block;
	font-size: 0.6em;
	line-height: 1em;
}
.burst > div h3 {
	display: inline-block;
	font-size: 0.8em;
	line-height: 1em;
	color: rgb(var(--color-orange-1));
	margin-top: 0.4em;
}
.burst > div h3:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: rgb(var(--color-orange-1));
}
.burst .burst-outline,
.burst .burst-bckg2,
.burst .burst-bckg {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	-webkit-clip-path: url(#path);
	clip-path: url(#path);
	overflow: hidden;
	z-index: -1;
}
.burst .burst-outline {
	background: rgb(var(--color-white));
	transform: scale(104%);
}
.burst .burst-bckg2 {
	background: rgb(var(--color-orange-1));
	-webkit-clip-path: url(#path2);
	clip-path: url(#path2);
	animation: kf-burst-bckg2 2s linear both infinite;
}
.burst .burst-bckg {
	background-image: 
		url("../images/ico-w-outline.svg"),
		url("../images/ico-w-outline.svg"),
		linear-gradient(150deg, rgba(var(--color-blue-1),1), rgba(var(--color-blue-1),1));
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 
		auto 130%,
		auto 130%,
		100%;
}
.burst .burst-bckg:before,
.burst .burst-bckg:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((1657 / 1097) * 200%);
	height: 100%;
	left: calc(100% - ((1657 / 1097) * 100%));
	top: 0;
	background-image: 
		url("../images/ico-w-outline.svg"),
		url("../images/ico-w-outline.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 
		auto 130%,
		auto 130%;
}
.burst .burst-bckg:before {
	animation: kf-bckg-footer-slide-fwd 9s linear both infinite;
}
.burst .burst-bckg:after {
	animation: kf-bckg-footer-slide-bwd 7s linear both infinite;
}
svg clipPath#path path {
	transform-box: fill-box;
	transform-origin: center;
	animation: kf-burst-bckg 2s cubic-bezier(0.5,0.5,0.65,1) both infinite;
}
@keyframes kf-burst-bckg {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(18deg);
	}
}
@keyframes kf-burst-bckg2 {
	0% {
		opacity: 1;
		transform: rotate(9.5deg) scale(1.04);
	}
	30% {
		opacity: 0;
		transform: rotate(9.5deg) scale(0.75);
	}
	80%, 100% {
		opacity: 1;
		transform: rotate(9.5deg) scale(1.04);
	}
}


/*************************************
	Footer
 *************************************/


footer {
	display: block;
	position: relative;
	background-color: rgb(var(--color-blue-1));
	color: rgb(var(--color-blue-4));
}

footer div.bckg-anim {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
	z-index: 1;
}

footer div.bckg-anim,
footer div.bckg-anim:before,
footer div.bckg-anim:after {
	background-image: url("../images/ico-w-outline.svg");
	background-position: center top calc((-60 / 1400) * 100vw);
	background-repeat: no-repeat;
	background-size: auto 130%;
}

footer div.bckg-anim:before,
footer div.bckg-anim:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((1657 / 1097) * 100vw);
	height: 100%;
	left: calc(50vw - ((1657 / 1097) * 50vw));
	top: 0;
}

footer div.bckg-anim {
	background-image: 
		linear-gradient(rgba(var(--color-blue-1),0.75), rgba(var(--color-blue-1),0), rgba(var(--color-blue-1),0.75)),
		url("../images/ico-w-outline.svg");
	background-position: 
		center center,
		center top calc((-60 / 1400) * 100vw);
	background-size: 
		100%,
		auto 130%;
}

footer div.bckg-anim:before {
	animation: kf-bckg-footer-slide-fwd 9s linear both infinite;
}

footer div.bckg-anim:after {
	animation: kf-bckg-footer-slide-bwd 7s linear both infinite;
}

@keyframes kf-bckg-footer-slide-fwd {
	0% {
		opacity: 0;
		transform: translateX(0);
	}
	10% {
		opacity: 0.66;
	}
    50% {
		opacity: 0.66;
	}
	100% {
		opacity: 0;
		transform: translateX(15vw);
	}
}

@keyframes kf-bckg-footer-slide-bwd {
    0% {
		opacity: 0;
		transform: translateX(0);
	}
    10% {
		opacity: 0.33;
	}
    50% {
		opacity: 0.33;
	}
	100% {
		opacity: 0;
		transform: translateX(-15vw);
	}
}

footer > div.content {
	display: grid;
	position: relative;
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: min(24px, (24 / 1400) * 100vw);
	grid-row-gap: clamp(min(24px, (24 / 414) * 100vw), (35 / 1400) * 100vw, 35px);
	max-width: 1400px;
	margin: 0 auto;
	padding: calc(var(--page-margin) * 0.5) var(--page-margin);
	z-index: 10;
}

footer div.logo {
	grid-column: 1 / span 6;
	grid-row: 1 / span 2;
}

footer div.logo img {
	/*width: 200px;*/
	width: min(200px, (200 / 1400) * 100vw);
	height: auto;
}

footer div.back-to-top {
	grid-column: 7 / span 6;
	grid-row: 1 / span 1;
	justify-self: end;
}

footer div.back-to-top a:after {
	content: "";
	display: block;
	width: clamp(min(18px, (18 / 414) * 100vw), (36 / 1400) * 100vw, 36px);
	height: clamp(min(32px, (32 / 414) * 100vw), (64 / 1400) * 100vw, 64px);
	background: url("../images/ico-arrow.svg") center center no-repeat;
	background-size: contain;
	transform: scaleY(-1);
}

/*footer div.address,
footer div.opening-hours,
footer div.footer-form-instructions,
footer div.footer-form h2 {
	min-height: 0vh;
	font-size: clamp(14px, (18 / 1400) * 100vw, 18px);
	line-height: 1.4em;
}

footer div.address h2,
footer div.opening-hours h2,
footer div.footer-form h2 {
	font-weight: 500;
	text-transform: uppercase;
}

footer div.address {
	grid-column: 1 / span 3;
}

footer div.address a {
	font-weight: 700;
	font-size: 1.1111em;
}

footer div.opening-hours {
	grid-column: 4 / span 4;
}*/

footer div.address1,
footer div.address2,
footer div.contact,
footer div.opening-hours,
footer div.free-visits,
footer div.footer-form-instructions,
footer div.footer-form h2 {
	min-height: 0vh;
	font-size: clamp(14px, (18 / 1400) * 100vw, 18px);
	line-height: 1.4em;
}

footer div.address1 h2,
footer div.address2 h2,
footer div.contact h2,
footer div.opening-hours h2,
footer div.free-visits h2,
footer div.footer-form h2 {
	font-weight: 500;
	text-transform: uppercase;
}

/*footer div.address1,
footer div.address2,
footer div.contact,
footer div.opening-hours,
footer div.free-visits {
	grid-column-end: span 3;
}*/

footer div.logo img,
footer nav
,
footer div.address1,
footer div.address2,
footer div.contact,
footer div.opening-hours,
footer div.free-visits,
footer div.copyright {
	grid-column-end: span 3;
	background: rgba(var(--color-blue-1),0.7);
	box-shadow: 0 0 20px 20px rgba(var(--color-blue-1),0.7);
}

footer div.opening-hours,
footer div.social-networks {
	grid-column-end: span 3;
}

footer div.social-networks {
	display: flex;
	column-gap: calc((9 / 27) * 1em);
	font-size: clamp(21px, (27 / 1400) * 100vw, 27px);
}

footer div.address1 a,
footer div.address2 a,
footer div.contact a {
	font-weight: 700;
	font-size: 1.1111em;
}

footer hr {
	grid-column: 1 / -1;
	width: 100%;
	height: 1px;
	/*background: rgba(var(--color-orange-1),0.5);*/
	/*background: rgba(var(--color-beige-3),0.25);*/
	/*background: rgba(var(--color-blue-4),0.5);*/
	background-image: linear-gradient(90deg, 
		rgba(var(--color-blue-4),0.1), 
		rgba(var(--color-blue-4),0.5) 25%, 
		rgba(var(--color-blue-4),0.5) 75%, 
		rgba(var(--color-blue-4),0.1)
	);
	/*background: rgba(var(--color-blue-4),0.5);*/
	margin: clamp(min(24px, (24 / 414) * 100vw), (35 / 1400) * 100vw, 35px) 0;
}

footer div.footer-form-instructions {
	grid-column: 4 / span 3;
}

/*footer div.footer-form {
	grid-column: 4 / span 6;
	position: relative;
}*/

footer div.footer-form {
	grid-column: 4 / span 6;
	/*grid-row: 2 / span 1;*/
	grid-row: 1 / span 2;
	position: relative;
	padding-top: min(6px, (6 / 1400) * 100vw);
}

footer div.footer-form:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(var(--color-blue-1),0.7);
	box-shadow: 0 0 20px 20px rgba(var(--color-blue-1),0.7);
	z-index: -1;
}

footer div.footer-form h2 {
	color: rgb(var(--color-white));
}

footer nav {
	grid-column: 11 / span 2;
	justify-self: end;
	color: rgb(var(--color-orange-1));
	font-size: clamp(clamp(14px, (18 / 1400) * 100vw, 18px), (18 / 1400) * 100vw, 18px);
	text-align: right;
}

footer nav li.active {
	color: rgb(var(--color-orange-2));
}

footer nav li.lang {
	display: block;
	position: relative;
	overflow: hidden;
	margin-top: 0.7em;
	padding-top: 0.7em;
}

footer nav li.lang:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	top: 0;
	background: rgba(var(--color-orange-1),0.5);
}

footer h2 + p {
	margin-top: 0.3333em;
}

footer p + h2,
footer p + p {
	margin-top: 1.4em;
}


form#form-footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	font-size: 0px;
}

form#form-footer.hide {
	height: 0 !important;
	overflow: hidden;
	transition: height 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

form#form-footer input, 
form#form-footer label,
form#form-footer button,
form#form-footer p {
    font-family: classico-urw, sans-serif;
	font-weight: 400;
	font-style: normal;
}

form#form-footer input, 
form#form-footer label,
form#form-footer p {
    display: block;
    position: relative;
	width: 100%;
	font-size: clamp(14px, (18 / 1400) * 100vw, 18px);
	line-height: 1.4em;
    margin: 0;
	padding: 0;
}

form#form-footer label {
	transition: padding 0.4s var(--transition-timing-ease-in-out);
}

form#form-footer label + label {
	margin-top: 0.3em;
}

form#form-footer input {
    width: 100%;
    min-height: 0;
	background: transparent;
	border: none;
	border-bottom: solid 1px rgb(var(--color-orange-2));
    border-radius: 0;
	color: rgb(var(--color-orange-2));
    -webkit-appearance: none;
	appearance: none;
    padding: 0.25em;
    transition: min-height 0.4s var(--transition-timing-ease-in-out);
}

form#form-footer input:-webkit-autofill,
form#form-footer input:-webkit-autofill:hover, 
form#form-footer input:-webkit-autofill:focus, 
form#form-footer input:-webkit-autofill:active {
    -webkit-text-fill-color: rgb(var(--color-orange-2));
	-webkit-box-shadow: 0 0 0 60px rgb(var(--color-blue-1)) inset !important;
	box-shadow: 0 0 0 60px rgb(var(--color-blue-1)) inset !important;
}

form#form-footer label.focus-in {
	padding-top: 1.4em;
	transition-delay: 0s;
}

form#form-footer label:not(.checkbox) span {
	position: absolute;
	border: solid 1px rgba(0,0,0,0);
    padding: 0.25em;
	transform-origin: left bottom;
	transition: color 0.4s linear, transform 0.4s var(--transition-timing-ease-in-out);
}

form#form-footer label.focus-in span {
    transform: scale(0.8) translateY(-100%);
    transition: color 0.4s 0.2s linear, transform 0.4s 0.2s var(--transition-timing-ease-in-out);
}

form#form-footer label.checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 1em;
    align-items: center;
	margin-top: 0.6em;
    padding: 0;
    transform: none;
}

form#form-footer input[type="checkbox"] {
    align-self: start;
	width: auto;
	height: auto;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	font-size: 0;
	margin: 0;
	padding: 0;	
}

form#form-footer input[type="checkbox"]:before,
form#form-footer input[type="checkbox"]:after {
	content: "";
    display: block;
    min-height: 0vh;
	font-size: clamp(14px, (18 / 1400) * 100vw, 18px);
}

form#form-footer input[type="checkbox"]:before {
	width: 1em;
    height: 1em;
    background: transparent;
	border: solid 1px rgb(var(--color-orange-2));
}

form#form-footer input[type="checkbox"]:after {
	position: absolute;
    width: calc(1em - 6px);
    height: calc(1em - 6px);
	left: 4px;
	top: 4px;
    background: rgb(var(--color-orange-2));
	opacity: 0;
    transition: opacity 0.2s linear;
}

form#form-footer input[type="checkbox"]:checked:after {
    opacity: 1;
}

form#form-footer button[type="submit"] {
	margin-top: 0.6em;
}

form#form-footer button[type="submit"]:disabled {
	opacity: 0.25;
}

footer div.copyright {
	grid-column: 1 / -1;
	color: rgb(var(--color-blue-3));
	font-weight: 500;
	font-size: clamp(12px, (16 / 1400) * 100vw, 16px);
	line-height: 1.4em;
}


/*************************************
	Lightbox
 *************************************/


#lightbox,
#lightbox .lightbox_bckg {
	position: fixed;
	display: none;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}

#lightbox {
	z-index: 2000;
}

#lightbox.show {
	display: block;
	animation: kf-fade-in 0.2s linear 0s forwards;
}

#lightbox .lightbox_bckg {
	display: block;
	background: rgba(var(--color-beige-4),0.6);
}

#lightbox .lightbox_bckg.lightbox_bckg_dark {
	background: rgba(var(--color-blue-1),0.8);
}

#lightbox button.bt-close,
.pms-reserve-unit-form button.bt-close {
	position: absolute;
	width: 1em;
	height: 1em;
	right: 0;
	top: -1.25em;
	font-size: clamp(min(36px, (36 / 414) * 100vw), (45 / 1400) * 100vw, 45px);
	background: rgba(var(--color-orange-2),0.8) url("../images/ico-close.svg") center center no-repeat;
	background-size: auto 0.6em;
}

.pms-reserve-unit-form button.bt-close {
	display: block;
	position: relative;
	top: auto;
	right: auto;
	margin: 0 0 0.5em auto;
}

@media screen and (max-width: 960px) {
	.pms-reserve-unit-form button.bt-close {
		position: absolute;
		right: var(--page-margin);
		z-index: 10;
	}
}

#lightbox div.lightbox-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
    pointer-events: none;
}

#lightbox div.lightbox-content {
	display: block;
	position: relative;
    pointer-events: auto;
}

#lightbox div.lightbox-content.gallery {
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto;
	height: auto;
}

#lightbox div.lightbox-content.gallery iframe,
#lightbox div.lightbox-content.gallery img {
	border: solid var(--grid-column-gap) rgb(var(--color-white));
	box-shadow: 0 min(30px, (30 / 414) * 100vw) min(60px, (60 / 414) * 100vw) rgba(var(--color-black),0.35);	
	animation: kf-fade-in 0.8s linear 0s forwards;
}

#lightbox div.lightbox-content.gallery img {
	width: auto;
	height: auto;
	max-width: calc((var(--grid-column-w) * 10) + (var(--grid-column-gap) * 9));
	max-height: calc(100vh - ((var(--grid-column-w) * 2) + (var(--grid-column-gap) * 2)));
}

#lightbox div.lightbox-content.gallery iframe {
	width: 100vw;
	height: 100vh;
	max-width: calc((var(--grid-column-w) * 10) + (var(--grid-column-gap) * 9));
	max-height: calc((480 / 853) * ((var(--grid-column-w) * 10) + (var(--grid-column-gap) * 9)));
	background: rgb(var(--color-black));
}

#lightbox div.lightbox-content.gallery .ctrl-arr {
	display: flex;
	justify-content: space-between;
	position: absolute;
	width: min(1400px - (var(--page-margin) * 2), 100vw - (var(--page-margin) * 2));
	left: 50%;
	top: 50%;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

#lightbox div.lightbox-content.gallery .ctrl-arr button {
	display: block;
	width: clamp(min(36px, (36 / 414) * 100vw), (80 / 1400) * 100vw, 80px);
	height: clamp(min(27px, (27 / 414) * 100vw), (60 / 1400) * 100vw, 60px);
	background: rgba(var(--color-blue-1),1) url("../images/ico-arrow-slideshow.svg") center center no-repeat;
	background-size: clamp(min(24px, (24 / 414) * 100vw), (50 / 1400) * 100vw, 50px) auto;
	opacity: 0.2;
	pointer-events: none;
}

#lightbox div.lightbox-content.gallery .ctrl-arr button[data-dir="next"] {
    transform: scaleX(-100%);
}

#lightbox div.lightbox-content.gallery div.ctrl-arr button.show {
	opacity: 1;
	pointer-events: auto;
}

@media screen and (max-width: 960px) {
	#lightbox button.bt-close {
		right: 0.25em;
	}
	
	#lightbox div.lightbox-content.gallery img {
		max-width: 100vw;
		max-height: 100vh;
	}
	
	#lightbox div.lightbox-content.gallery iframe {
		max-width: calc((var(--grid-column-w) * 14) + (var(--grid-column-gap) * 13));
		max-height: calc((var(--grid-column-w) * 14) + (var(--grid-column-gap) * 13));
	}
}


/****  Lancement 4 dédembre 2023  ****/


@media screen and (orientation : landscape) {
	#lightbox .lightbox-content.lb-lancement-4-decembre,
	#lightbox .lightbox-content.lb-lancement-4-decembre img {
		width: min(980px, 85vw);
		height: min(520px, (520 / 980) * 85vw);
	}
}

@media screen and (orientation : portrait) {
	#lightbox button.bt-close {
		right: 0;
	}
	
	#lightbox .lightbox-content.lb-lancement-4-decembre,
	#lightbox .lightbox-content.lb-lancement-4-decembre img {
		width: min(490px, (490 / 980) * 75vh);
		height: min(980px, 75vh);
	}
}


/****  Fêtes 2023  ****/


@media screen and (orientation : landscape) {
	#lightbox .lightbox-content.lb-fetes-2023,
	#lightbox .lightbox-content.lb-fetes-2023 img {
		width: min(980px, 85vw);
		height: min(520px, (520 / 980) * 85vw);
	}
}

@media screen and (orientation : portrait) {
	#lightbox .lightbox-content.lb-fetes-2023,
	#lightbox .lightbox-content.lb-fetes-2023 img {
		width: min(490px, (490 / 980) * 75vh);
		height: min(980px, 75vh);
	}
}


/****  Événement Brunch 2024  ****/


@media screen and (orientation : landscape) {
	#lightbox .lightbox-content.lb-evenement-brunch-2024,
	#lightbox .lightbox-content.lb-evenement-brunch-2024 img {
		width: min(980px, 85vw);
		height: min(520px, (520 / 980) * 85vw);
	}
}

@media screen and (orientation : portrait) {
	#lightbox .lightbox-content.lb-evenement-brunch-2024,
	#lightbox .lightbox-content.lb-evenement-brunch-2024 img {
		width: min(490px, (490 / 980) * 75vh);
		height: min(980px, 75vh);
	}
}


/****  Fêtes 2025  ****/


/*#lightbox .lightbox-content.lb-fetes-2025 button.bt-close {
	width: calc((40 / 40) * 1em);
	background: url("../images/ico-close.svg") center center no-repeat;
	background-size: auto 0.5em;
}*/

@media screen and (orientation : landscape) {
	#lightbox .lightbox-content.lb-fetes-2025,
	#lightbox .lightbox-content.lb-fetes-2025 img {
		width: min(980px, 85vw);
		height: min(520px, (520 / 980) * 85vw);
	}
}

@media screen and (orientation : portrait) {
	#lightbox .lightbox-content.lb-fetes-2025,
	#lightbox .lightbox-content.lb-fetes-2025 img {
		width: min(490px, (490 / 980) * 75vh);
		height: min(980px, 75vh);
	}
}


/****  Form visit model units  ****/


#lightbox .lightbox-content.lb-form-visit-model-units {
	max-height: calc(100vh - (var(--page-margin) * 0.5));
	background: rgb(var(--color-beige-4));
	box-shadow: 0 0 10px rgba(var(--color-blue-1));
	padding: calc(var(--page-margin) * 0.5);
	overflow: auto;
}

#lightbox .lightbox-content.lb-form-visit-model-units button.bt-close {
	right: calc(var(--page-margin) * 0.5);
	top: calc(var(--page-margin) * 0.5);
}

#lightbox .lightbox-content.lb-form-visit-model-units h2 {
	padding-right: calc(clamp(min(36px, (36 / 414) * 100vw), (45 / 1400) * 100vw, 45px) * 2);
}

@keyframes kf-fade-in {
    0%   {opacity: 0;}
    100%  {opacity: 1;}
}

@keyframes kf-show-nav {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(0);
	}
}

.bp-960,
.bp-640 {
	display: none;
}

.bp-1400 {
	display: inline-block;
}

@media screen and (max-width: 960px) {
	.bp-1400 {
		display: none;
	}
	
	.bp-960 {
		display: inline-block;
	}
	
	header nav {
		display: block;
		padding: 0;
	}
	
	header nav ul.main {
		padding: calc(var(--page-margin) * 0.5) var(--page-margin);
	}
	
	header nav ul.expand {
		min-height: 0vh;
		flex-direction: column;
		justify-content: center;
		row-gap: 0.3429em;
		position: absolute;
		height: var(--header-img-h);
		right: min(0px, (700px - 50vw));
		top: min(50px + 130px, 50px + var(--page-margin));
		background: rgba(var(--color-blue-1),0.85);
		font-size: clamp(min(24px, (24 / 414) * 100vw), (35 / 1400) * 100vw, 35px);
		padding: 0 2em;
		padding-right: max(200px + (50vw - 700px), (200 / 1400) * 100vw);
		transform: translate(100%);
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background: rgba(var(--color-blue-1),0.5);
		transform-origin: left top;
		transition: opacity 0s linear, transform 0s cubic-bezier(0.25,0.25,0.25,1);
		transition-delay: 0.6s;
		z-index: -1;
	}

	header nav ul.expand li {
		opacity: 0;
		transform: translate(50%);
		transition: opacity 0s linear, transform 0s cubic-bezier(0.25,0.25,0.25,1);
		transition-delay: 0.6s;
	}

	header nav ul.expand li.active {
		color: rgb(var(--color-orange-2));
	}

	header nav ul.expand li:hover a {
		color: rgb(var(--color-white));
	}

	header:not(.top) nav ul.expand {
		height: max(360px, 100vh - (50px + var(--page-gap)));
	}
	
	/*--  nav-open  --*/

	body.nav-open {
		overflow: hidden;
	}

	body.nav-open header {
		position: fixed;
	}

	body.nav-open header nav ul.expand {
		transform: translate(0);
	}

	body.nav-open header nav ul.expand:before {
		transform: scaleX(0);
		transition-duration: 0.2s, 0.6s;
		transition-delay: 0.4s;
	}

	body.nav-open header nav ul.expand li {
		opacity: 1;
		transform: translate(0);
		transition-duration: 0.2s, 0.4s;
		transition-delay: calc(var(--transition-delay) + 0.8s);
	}


	/*--  nav ico  --*/

	header .ico {
		display: block;
		cursor: pointer;
		pointer-events: auto;
		transition: background-color 0.2s linear;
		z-index: 20;
	}

	header .ico > div {
		display: block;
		position: relative;
		width: 40px;
		height: 30px;
	}

	header .ico span {
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background: rgb(var(--color-orange-1));
		border-radius: 9999px;
		transition: width 0s 0.3s, background 0.3s 0.3s, opacity 0.3s 0.3s, top 0.3s 0.3s, transform 0.3s;
	}

	body.nav-open header .ico span {
		transition: width 0s 0.3s, background 0.3s, opacity 0.3s, top 0.3s, transform 0.3s 0.3s;
	}

	header .ico span:nth-child(1) {
		top: 0px;
	}

	header .ico span:nth-child(2) {
		top: calc(50% - 1px);
	}

	header .ico span:nth-child(3) {
		top: calc(100% - 2px);
		right: 0;
	}

	body.nav-open header .ico span:nth-child(1) {
		top: calc(50% - 1px);
		transform: rotate(45deg);
	}

	body.nav-open header .ico span:nth-child(2) {
		opacity: 0;
	}

	body.nav-open header .ico span:nth-child(3) {
		top: calc(50% - 1px);
		width: 100%;
		transform: rotate(-45deg);
	}
	
	header nav ul.expand {
		width: 100vw;
		padding: 0 var(--page-margin);
	}
	
	header nav ul.expand li.home {
		display: block;
	}
	
	header nav ul.expand li.lang {
		display: block;
		color: rgb(var(--color-orange-1));
		overflow: hidden;
		padding-top: 0.3429em;
	}
	
	header nav ul.expand li.lang:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 1px;
		left: 0;
		top: 0;
		background: rgba(var(--color-orange-1),0.5);
		opacity: 0;
		transform: scaleX(0);
		transform-origin: left top;
		transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
		transition-delay: 0.6s;
	}
	
	body.nav-open header nav ul.expand li.lang:before {
		opacity: 1;
		transform: scaleX(1);
		transition-delay: calc(var(--transition-delay) + 1.2s);
	}
	
	header nav ul.expand li.lang > a {
		display: block;
		opacity: 0;
		transform: translateY(-100%);
		transition: color 0.4s linear, opacity 0.4s linear, transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
		transition-delay: 0.6s;
	}
	
	body.nav-open header nav ul.expand li.lang > a {
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0s, calc(var(--transition-delay) + 1.6s), calc(var(--transition-delay) + 1.6s);
	}
	
	header nav ul.main li.register .bt-register {
		padding: 0.45em;
		white-space: nowrap;
	}
	
	header nav ul.main li.register div.register-content {
		padding: 0.45em;
	}
	
	header nav ul.main li.register div.register-content > span {
        max-width: 170px;
		background: transparent;
		box-shadow: none;
		line-height: 1em;
	}

	footer nav ul {
		display: flex;
		flex-direction: column;
		row-gap: 0.7em;
	}	
	
	footer nav li.lang {
		padding-top: 1.4em;
	}
	
	main {
		row-gap: 0;
	}
	
	section.header div.content:has(div.bckg-video) {
		/*height: calc((9 / 16) * 100vw);*/
		height: 100vw;
	}
	
	section.header div.bckg-video iframe {
        /*width: 100vw;
        height: calc((9 / 16) * 100vw);*/
		width: calc((16 / 9) * 100vw);
		height: 100vw;
    }
	
	section.header + section {
		margin-top: 0;
	}
	
	section > div {
		padding-top: min(48px, (48 / 414) * 100vw);
		padding-bottom: min(48px, (48 / 414) * 100vw);
	}
	
	section.cols12 > div > * {
		grid-column-start: var(--grid-column-start-mobile);
		grid-column-end: var(--grid-column-end-mobile);
		grid-row-start: var(--grid-row-start-mobile);
		grid-row-end: var(--grid-row-end-mobile);
	}
	
	section.no-padding-top-mobile > div {
		padding-top: 0 !important;
	}

	section.no-padding-bottom-mobile > div {
		padding-bottom: 0 !important;
	}
	
	.cols-merged-mobile {
		grid-column: 1 / -1;
	}
	
	.full-width-mobile {
		grid-column: 1 / -1;
		width: 100vw;
		margin-right: var(--page-margin-neg);
		margin-left: var(--page-margin-neg);
	}
	
	.map.full-width-mobile,
	.map.full-width-mobile > div {
		margin: 0;
		padding: 0;
	}
	
	.cols-two-third {
		padding-right: 0;
	}

	.unit-showcase {
		display: flex;
		flex-direction: column;
		align-items: center;
		row-gap: var(--page-gap);
		margin-bottom: 0;
		padding: var(--page-gap);
	}
	
	.unit-showcase p {
		position: relative;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}
	
	.unit-showcase li.active p {
		max-height: 50vh;
	}
	
	section.bckg-overflow:before {
		height: 100%;
		top: 0;
	}

	section.bckg-overflow-double-top:before {
		height: 100%;
		top: 0;
	}
	
	section.bckg-beige:not(:first-of-type) > div {
		padding-top: var(--page-gap);
		padding-bottom: var(--page-gap);
	}

	section.bckg-beige:last-of-type > div {
		padding-bottom: 0;
	}
	
	section.bckg-offset-bottom:before {
		top: 0;
	}
	
	.icos {
		flex-direction: column;
		flex-wrap: nowrap;
		row-gap: var(--page-margin);
		max-width: none;
		height: auto;
	}
	
	.icos li {
		grid-template: none;
		grid-row-gap: calc(var(--page-margin) * 0.5);
		width: auto;
		height: auto;
	}
	
	.icos li picture {
		position: relative;
		width: 25vw;
		left: auto;
		right: auto;
		top: auto;
		margin: 0 auto;
		transform: none;
	}
	
	.icos li div:nth-of-type(2) {
		font-size: clamp(16px, (20 / 1400) * 100vw, 20px);
		line-height: 1.4em;
	}
	
	.icos li.show div:nth-of-type(2) {
		opacity: 1;
		transform: translateY(0);
		transition-duration: 0.4s, 0.6s;
		transition-delay: 0.2s;
	}
	
	.choose-unit {
		padding: calc(var(--grid-column-gap) * 3) 0;
	}
	
	.choose-unit,
	.choose-unit:before,
	.choose-unit:after {
		background-size: auto 150%;
	}

	.choose-unit {
		background-size: 
			100%,
			auto 150%;
	}
	
	.choose-unit ul {
		flex-direction: column;
	}
	
	.choose-unit ul li + li:before {
		width: 25%;
		height: 1px;
		left: 37.5%;
		top: calc((var(--grid-column-gap) * 2) * -1);
	}
	
	.gallery ul li picture {
		padding-top: 0;
	}

	.gallery ul li img {
		position: relative;
		height: auto;
		left: auto;
		top: auto;
	}
	
	.map-nav {
		grid-column: 1 / -1;
		grid-row-start: 2;
	}
	
	.map-container {
		height: 100vw;
	}
	
	.pms-type-selector {
		grid-column: 1 / -1;
	}
	
	.pms-building {
		grid-column: 1 / -1;	
	}
	
	.pms-unit-selector:before,
	.pms-unit:not(:empty):before {
		left: calc(50% - min(25px, (25 / 414) * 100vw));
		border-left-width: min(25px, (25 / 414) * 100vw);
		border-right-width: min(25px, (25 / 414) * 100vw);
		border-top-width: min(25px, (25 / 414) * 100vw);
	}
	
	.pms-unit:not(:empty):before {
		top: max(-70px, (-70 / 1400) * 100vw);
		top: calc(var(--page-gap) * -1);
	}
	
	.pms-floor-plan {
		padding: var(--page-gap) 0;
	}

	.pms-floor-plan svg {
		width: 100%;
	}
	
	.pms-floor-plan-legend {
		position: relative;
		left: auto;
		bottom: auto;
	}
	
	.unit-area,
	.unit-details,
	.unit-global,
	.unit-occupancy,
	.unit-images,
	.unit-cta,
	.unit-tools {
		grid-column: 1 / -1;	
	}
	
	.unit-details {
		grid-row: auto;
	}
	
	.unit-details ol {
		column-count: 2;
		column-fill: auto;
		-moz-column-fill: balance;
		counter-reset: ud;
	}

	.unit-details ol li {
		position: relative;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid-column;
	}
	
	.unit-cta,
	.unit-tools {
		text-align: center;
	}
	
	.unit-cta {
		justify-self: center;
	}

	.pms-reserve-unit-form {
		width: 100vw;
		row-gap: 0;
		padding: var(--page-margin);
	}
	
	.pms-reserve-unit-form * {
		width: 100%;
	}
	
	div.form-container {
		grid-column: 1 / -1;
		grid-row: 2 / span 1;
	}
	
	footer div.logo img {
		width: 100%;
		height: auto;
	}
	
	/*footer div.address {
		grid-column: 1 / span 8;
	}
		
	footer div.opening-hours {
		grid-column: 8 / span 5;
	}*/
	
	footer div.address1,
	footer div.address2,
	footer div.contact,
	footer div.opening-hours,
	footer div.free-visits {
		grid-column: 1 / span 8;
	}
	
	footer div.contact h2 {
		display: none;
	}
	
	footer nav {
		grid-row: 3 / span 4;
	}
	
	footer hr:first-of-type {
		display: none;
	}
	
	footer div.footer-form {
		grid-column: 1 / -1;
		grid-row: 2 / span 1;
		padding: min(24px, (24 / 414) * 100vw) 0;
	}
	
	form#form-footer label + label {
		margin-top: 0.6em;
	}
	
	form#form-footer label.checkbox {
		margin-top: 1.2em;
	}
	
	.animate-words.no-br br {
		display: none !important;
	}
}

.body-preload,
.preload {
	display: none !important;
}