@charset "UTF-8";

:root {
	--color-black: 0,0,0;
	--color-blush: 250,200,220;/*#FAC8DC*/
	--color-chick: 250,228,181;/*#FAE4B5*/
	--color-crimson: 115,63,92;/*#733F5C*/
	--color-green: 111,101,74;/*#6F654A*/
	--color-pink: 227,100,145;/*#E36491*/
	--color-purple: 159,97,131;/*#9F6183*/
	--color-skin-tone: 240,190,148;/*#F0BE94*/
	--color-warm-grey: 186,177,177;/*#BAB1B1*/
	--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);
	
	--base-w: 1400;
	--max-w: 1920;
	--base-w-mobile: 414;
	/*--page-margin: clamp(min(50px, (50 / var(--base-w-mobile)) * 100vw), (130 / var(--base-w)) * 100vw, 130px);*/
	--page-margin: min(130px, (130 / var(--base-w)) * 100vw, 130px);
	/*--page-margin-neg: calc(var(--page-margin) * -1);*/
	--page-gap: var(--page-margin);
	--grid-column-gap: min(20px, (20 / var(--base-w)) * 100vw);
	--grid-column-w: calc((min(var(--base-w) * 1px, 100vw) - (var(--page-margin) * 2) - (11 * var(--grid-column-gap))) / 12);
	/*--header-img-h: max(360px, 100vh - (50px + var(--page-margin) + min(154px, (154 / var(--base-w)) * 100vw)));*/
	/*--header-img-h: min(830px, (830 / 1400) * 100vw);*/
	--header-img-h: min(940px, (940 / 1400) * 100vw);

}

html {
	height: 100%;
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/*.niconne-regular {
  font-family: "Niconne", cursive;
  font-weight: 400;
  font-style: normal;
}*/

body {
	width: 100%;
	height: 100%;
	background: rgb(var(--color-white));
	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 {
	display: block;
	position: relative;
	background: rgb(var(--color-purple));
	color: rgb(var(--color-white));
	height: 2.3em;
	font-size: clamp(16px, (20 / var(--base-w)) * 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 {
    display: block;
    position: absolute;
	width: 100%;
	left: 0;
    top: 0;
	background: rgba(var(--color-pink), 0);
	margin: 0;
    padding: 0;
	transform: translateY(0);
    z-index: 200;
}

body.top header {
    position: fixed;
}

header.fixed {
    position: fixed;
	background: rgba(var(--color-pink), 0.5);
	transition: transform 0.6s;
}

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

header nav,
footer nav {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
    max-width: calc(var(--base-w) * 1px);
	color: rgb(var(--color-white));
    margin: 0 auto;
	padding: min(70px, (70 / var(--base-w)) * 100vw) var(--page-margin);
	z-index: 10;
}

header.fixed nav {
	padding-top: min(20px, (20 / var(--base-w)) * 100vw);
	padding-bottom: min(20px, (20 / var(--base-w)) * 100vw);	
}

header:not(.fixed) nav {
	transition: padding 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

footer nav {
	grid-column: 1 / -1;
	margin: 0;
	margin-bottom: min(42px, (42 / var(--base-w)) * 100vw);
	padding: 0;
}

header nav ul,
footer nav ul {
	display: flex;
}

header.fixed nav ul.main li.home {
	height: 31px;
	overflow: hidden;
}

header nav ul.expand,
footer nav ul.expand {
	flex-grow: 1;
	justify-content: center;
	column-gap: min(40px, (40 / var(--base-w)) * 100vw);
	position: relative;
	font-weight: 300;
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: 30px;
}

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

header nav ul.expand li.lang,
footer nav ul.expand li.lang {
	position: absolute;
	right: 0;
	font-weight: 400;
	text-transform: uppercase;
}

header nav ul.expand li a,
footer nav ul.expand li a {
	display: inline-block;
	position: relative;
}

header nav ul.expand li.active a {
	font-weight: 500;
}

header nav ul.expand li a:after,
footer nav ul.expand li a:after {
	content: attr(data-text);
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	clip-path: inset(0 100% 0 0);
	color: transparent;
	text-decoration: underline;
	text-decoration-color: rgb(var(--color-white));
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	pointer-events: none;
	transition: clip-path 0.4s cubic-bezier(0.25,0.25,0.25,1);	
}

header nav ul.expand li a:hover:after,
footer nav ul.expand li a:hover:after,
header nav ul.expand li.active a:after,
footer nav ul.expand li.active a:after {
	clip-path: inset(0);
}


/*************************************
	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 + section {
	padding-top: var(--page-gap);
}

section > div {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/*grid-column-gap: min(160px, (160 / var(--base-w)) * 100vw);*/
	grid-column-gap: var(--page-margin);
	grid-row-gap: clamp(min(48px, (48 / var(--base-w-mobile)) * 100vw), (70 / var(--base-w)) * 100vw, 70px);
	max-width: calc(var(--base-w) * 1px);
	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 / var(--base-w)) * 100vw);
	}*/

/*}*/
section.cols12 > div {
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: var(--grid-column-gap);
}
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;
}

h1, 
h2, 
h3, 
h4, 
h5, 
h6,
p,
ul,
li {
	min-height: 0vh;
}

section.header h1,
section h1 {
	/*color: rgb(var(--color-white));*/
	font-weight: 300;
	font-size: clamp(36px, (50 / var(--base-w)) * 100vw, 50px);
	line-height: calc((65 / 50) * 1em);
	text-transform: uppercase;
}

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

section.header .text h2,
section:not(.header) p,
section:not(.header) li,
footer h2,
footer p {
	font-weight: 400;
	font-size: clamp(18px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((28 / 20) * 1em);
	transition: opacity 0.4s linear;
}

section.header .text h2 {
	color: rgb(var(--color-skin-tone));
}

section:not(.header) p {
	font-weight: 300;
}

section:not(.header) h2 + p,
section:not(.header) h3 + p,
section:not(.header) p + p,
section:not(.header) p + ol,
section:not(.header) p + ul,
section:not(.header) ol + p,
section:not(.header) ul + p {
	margin-top: calc((32 / 20) * 1em);
}

section:not(.header) p + h2,
section:not(.header) ol + h2,
section:not(.header) ul + h2 {
	margin-top: calc((50 / 40) * 1em);
}

section:not(.header) h2,
section.header .banner h2 {
	font-weight: 300;
	font-size: clamp(36px, (40 / var(--base-w)) * 100vw, 40px);
	line-height: calc((50 / 40) * 1em);
	text-transform: uppercase;
}

section:not(.header) h3 {
	font-weight: 400;
	font-size: clamp(27px, (30 / var(--base-w)) * 100vw, 30px);
	line-height: calc((50 / 40) * 1em);
}

section:not(.header) .icos h2 {
	font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
	line-height: calc((20 / 18) * 1em);	
}

section.bckg-white:not(.header) .icos h2 {
	color: rgb(var(--color-black));
}

section:not(.header) .icos h3 {
	font-weight: 300;
	font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
	line-height: calc((20 / 18) * 1em);	
	margin-top: calc((10 / 18) * 1em);	
}

footer h2 {
	text-transform: uppercase;
}

footer p {
	font-weight: 300;
}

footer h2 + p {
	margin-top: calc((10 / 20) * 1em);
}

section.header .banner h2 {
	font-weight: 400;
}

footer h3,
footer .social-networks{
	font-weight: 400;
	font-size: clamp(20px, (24 / var(--base-w)) * 100vw, 24px);
	line-height: calc((28 / 24) * 1em);
}


/*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 {
	color: rgb(var(--color-blue-1));
	font-weight: 500;
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: 1.4em;
	text-transform: uppercase;
	transition: opacity 0.4s linear;
}

section.bckg-crimson:has(+ section:not(.bckg-crimson)),
section.bckg-pink:has(+ section:not(.bckg-pink)),
section.bckg-white:has(+ section:not(.bckg-white)),
section:last-of-type {
	padding-bottom: var(--page-gap);
}

section.bckg-crimson:not(.header) h2,
section.bckg-pink:not(.header) h2 {
	color: rgb(var(--color-white));
}

section.bckg-crimson {
	background: rgb(var(--color-crimson));
	color: rgb(var(--color-white));
}

section.bckg-pink {
	background: rgb(var(--color-pink));
	color: rgb(var(--color-white));
}

section.bckg-pink .bt-solid {
	background: rgb(var(--color-crimson)) !important;
}

section.bckg-pink ul.unit-showcase .bt-solid {
	background: rgb(var(--color-pink)) !important;
}

section.bckg-pink form label:not(.checkbox) span:before {	
	background: rgb(var(--color-pink));
}

section.bckg-white:not(.header) h2,
section.pms h2 {
	color: rgb(var(--color-crimson));
}

section.bckg-white:not(.header) .bt {
	color: rgb(var(--color-pink));
}

section.bckg-white:not(.header) .bt:after {
	text-decoration-color: rgb(var(--color-pink));
}

section.bckg-flower {
	z-index: 10;	
}

section.bckg-flower:before {
	--bf-w: min(800px, (800 / var(--base-w)) * 100vw);
	content: "";
	display: block;
	position: absolute;
	width: var(--bf-w);
	height: calc(var(--bf-w) * 1.5);
	left: calc(var(--bf-w) * -0.3333);
	top: calc(50% - (var(--bf-w) * 0.75));
	background: url("../upload/images/photo_Agatha_bouquet_fleurs_3_blanc_LR.webp");
	background-size: 100%;
	transform: rotate(22deg);
}


/*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 p,
section ul,
#lightbox p {
	font-weight: 400;
	font-size: clamp(16px, (20 / var(--base-w)) * 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 {
	font-size: clamp(25px, (65 / var(--base-w)) * 100vw, 65px);
}

ul.list li {
	position: relative;
}

ul.list li.expandable-list {
	font-size: clamp(25px, (30 / var(--base-w)) * 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;
	color: inherit;
	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);*/
	content: "\f078";
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 1em;
	height: 1em;
    font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 0.7em;
	margin-left: 0.5em;
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

.expandable-list.active > button:after {
	transform: scaleY(-1);	
}

.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;
}

.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 / var(--base-w)) * 100vw);
}

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

.mask-wave {
	display: block;
	position: relative;
}

.mask-wave:not(.sticker),
.mask-wave.sticker:not(.fadein) img,
section:not(.header) .slider.fadein.zoomin.mask-wave .slides {
	-webkit-clip-path: var(--clip-path-url);
	clip-path: var(--clip-path-url);
}

.sticker:after {
	content: "";
	display: block;
	position: absolute;
	background-image: linear-gradient(90deg, rgb(var(--color-pink)), rgb(var(--color-crimson)));
	opacity: 0.8;
}
.sticker-lrg:after {
	width: min(300px, (300 / var(--base-w)) * 100vw);
	height: min(110px, (110 / var(--base-w)) * 100vw);
}
.sticker-sml:after {
	width: min(250px, (250 / var(--base-w)) * 100vw);
	height: min(90px, (90 / var(--base-w)) * 100vw);
}
.sticker-lt:after,
.sticker-lb:after {
	left: calc(var(--page-margin) * 0.5);
}
.sticker-rt:after,
.sticker-rb:after {
	right: calc(var(--page-margin) * 0.5);
}
.sticker-lt.sticker-lrg:after,
.sticker-rt.sticker-lrg:after {
	top: max(-55px, (-55 / var(--base-w)) * 100vw);
}
.sticker-lt.sticker-sml:after,
.sticker-rt.sticker-sml:after {
	top: max(-45px, (-45 / var(--base-w)) * 100vw);
}
.sticker-lb.sticker-lrg:after,
.sticker-rb.sticker-lrg:after {
	bottom: max(-55px, (-55 / var(--base-w)) * 100vw);
}
.sticker-lb.sticker-sml:after,
.sticker-rb.sticker-sml:after {
	bottom: max(-45px, (-45 / var(--base-w)) * 100vw);
}

/*.img-drop-shadow,
.img-reveal.show.img-drop-shadow {
	box-shadow: 0 min(30px, (30 / var(--base-w)) * 100vw) min(60px, (60 / var(--base-w)) * 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 / var(--base-w)) * 100vw) min(60px, (60 / var(--base-w)) * 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 / var(--base-w)) * 100vw) min(60px, (60 / var(--base-w)) * 100vw) rgba(var(--color-black),0);
}

div.img-mask.box-shadow.show {
	box-shadow: 0 min(30px, (30 / var(--base-w)) * 100vw) min(60px, (60 / var(--base-w)) * 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;
	position: relative;
	min-height: 0vh;
	color: inherit;
	font-family: "Niconne", cursive;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(20px, (30 / var(--base-w)) * 100vw, 30px);
	line-height: calc((37 / 30) * 1em);
}

.bt:after {
	content: attr(data-text);
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	clip-path: inset(0);
	color: transparent;
	text-decoration: underline;
	text-decoration-color: rgb(var(--color-white));
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	pointer-events: none;
	transition: clip-path 0.4s cubic-bezier(0.25,0.25,0.25,1);	
}

.bt:hover:after {
	clip-path: inset(0 100% 0 0);
    animation: kf-bt-hover 0.8s cubic-bezier(0.25,0.25,0.25,1) both;
}

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

@keyframes kf-bt-hover {
    0% {
		clip-path: inset(0);
	}
    50% {
		clip-path: inset(0 0 0 100%);
	}
	50.1% {
		clip-path: inset(0 100% 0 0);
	}
    100% {
		clip-path: inset(0);
	}
}

.bt-solid {
	background: rgb(var(--color-pink)) !important;
	border: solid 2px rgb(var(--color-pink)) !important;
	border-radius: 9999px;
    color: rgb(var(--color-white));
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
    line-height: calc((28 / 20) * 1em);
	text-transform: uppercase;
    padding: calc((11 / 20) * 1em) calc((56 / 20) * 1em);
}

/*.bt:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: calc((5 / 30) * 1em);
	background: #FF0000;
	z-index: -1;
}

section.header .bt {
	color: rgb(var(--color-white));
}*/

.grecaptcha-badge { 
    visibility: hidden;
}


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


/*section.header {
	margin-bottom: var(--page-margin);
}*/

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

section.header div.content {
	height: calc(var(--header-img-h) - min(110px, (110 / var(--base-w)) * 100vw));
}

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;
}

body.home section.header div.bckg-video:after {
	background: rgba(var(--color-crimson),0.5);
}

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;
	align-items: center;
	row-gap: min(30px, (30 / var(--base-w)) * 100vw);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	max-width: calc(var(--base-w) * 1px);
	height: 100%;
	color: rgb(var(--color-white));
	text-align: center;
	margin: 0 auto;
	padding: 0 var(--page-margin);
	padding-top: calc(min(140px, (140 / var(--base-w) * 100vw)) + 30px);
	z-index: 10;
}

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

section.header .bt-next {
	display: block;
	width: min(60px, (60 / var(--base-w)) * 100vw);
	height: min(110px, (110 / var(--base-w)) * 100vw);
	border: solid 3px rgb(var(--color-white));
	border-radius: min(30px, (30 / var(--base-w)) * 100vw);
	overflow: hidden;
}

section.header .bt-next:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../images/ico-arrow-next.svg") center center no-repeat;
	background-size: min(30px, (30 / var(--base-w)) * 100vw) min(56px, (56 / var(--base-w)) * 100vw);
	color: rgb(var(--color-white));
    animation: kf-bt-next 1.8s cubic-bezier(0.6,0,0.4,1) both infinite;
}

/*@keyframes kf-bt-next {
    0% {
        opacity: 0;
        transform: translateY(-50%);
    }
    75%, 100% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
    }
}*/

@keyframes kf-bt-next {
    0% {
        opacity: 0;
        transform: translateY(-25%);
    }
    40%, 60% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(25%);
    }
}

section.header .banner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: min(110px, (110 / var(--base-w)) * 100vw);
	background-image: linear-gradient(90deg, rgb(var(--color-pink)), rgb(var(--color-crimson)));
	color: rgb(var(--color-white));
}

.unit-showcase {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: min(20px, (20 / var(--base-w)) * 100vw);
	padding-bottom: calc((60 / 24) * clamp(16px, (24 / var(--base-w)) * 100vw, 24px));
}

.unit-showcase li {
	--cpw: min(90px, (90 / var(--base-w)) * 100vw);
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
}

.unit-showcase li div.unit-showcase-plan {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	row-gap: min(45px, (45 / var(--base-w)) * 100vw);
	width: 100%;
	background-image: linear-gradient(rgb(var(--color-pink)), rgb(var(--color-crimson)));
	padding: min(90px, (90 / var(--base-w)) * 100vw) 0;
	transition: background-color 0.2s linear;
	z-index: 10;
}

.unit-showcase li.active div.unit-showcase-plan {
	background-image: 
		linear-gradient(rgba(var(--color-crimson),0), rgba(var(--color-crimson),1)),
		linear-gradient(rgb(var(--color-pink)), rgb(var(--color-crimson)));
	background-blend-mode: multiply;
}

.unit-showcase li h3 {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	color: rgb(var(--color-white));
}

.unit-showcase li h3 span {
	display: block;
	width: 100%;
	text-align: center;
}

.unit-showcase li h3 span:nth-child(1) {
	font-size: clamp(20px, (30 / var(--base-w)) * 100vw, 30px);
	font-weight: 300;
	line-height: calc((50 / 30) * 1em);
	text-transform: uppercase;
}

.unit-showcase li h3 strong:nth-child(2) {
	display: block;
	width: min(84px, (84 / var(--base-w)) * 100vw);
	height: min(154px, (154 / var(--base-w)) * 100vw);
	border: solid 4px rgb(var(--color-white));
	border-radius: 9999px;
	font-size: min(80px, (80 / var(--base-w)) * 100vw);
	font-weight: 300;
	line-height: calc((154 / 80) * 1em);
	text-align: center;
	margin: calc((32 / 80) * 1em) 0 calc((37 / 80) * 1em) 0;
	transition: background 0.2s linear, color 0.2s linear;
}

.unit-showcase li.active h3 strong:nth-child(2) {
	background: rgb(var(--color-white));
	color: rgb(var(--color-crimson));
}

.unit-showcase li h3 span:nth-child(3) {
	font-family: "Niconne", cursive;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(20px, (50 / var(--base-w)) * 100vw, 50px);
	line-height: calc((60 / 50) * 1em);
}

.unit-showcase li img {
	/*width: auto;
	height: min(270px, (270 / var(--base-w)) * 100vw);*/
	width: 100%;
	height: auto;
}

.unit-showcase li a {
}

.unit-showcase li p {
	text-align: center;
}

.unit-showcase li p strong {
	font-weight: 400;
	font-size: calc((24 / 20) * 1em);
}

.unit-showcase li p + p {
	margin-top: calc((43 / 25) * 1em);
}

.unit-showcase li > div.unit-showcase-details {
	flex-grow: 1;
	display: block;
	position: relative;
	width: 100%;
	background: rgb(var(--color-white));
	color: rgb(var(--color-black));
	padding: min(35px, (35 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) min(43px, (43 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw);
	transform: translateY(calc(-100% + 10px));
	transition: clip-path 0.4s cubic-bezier(0.25,0.25,0.25,1), transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

.unit-showcase li.active > div.unit-showcase-details {
	transform: translateY(0);
}

.unit-showcase li > div.unit-showcase-details:before,
.unit-showcase li > div.unit-showcase-details:after {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	height: calc((60 / 24) * 1em);
	bottom: calc((-60 / 24) * 1em);
	font-size: clamp(16px, (24 / var(--base-w)) * 100vw, 24px);
}

.unit-showcase li > div.unit-showcase-details:before {
	content: "";
	width: calc((64 / 24) * 1em);
	left: calc(50% - ((32 / 24) * 1em));
	background: rgb(var(--color-white));
	border-radius: 0 0 50% 50%;
}

.unit-showcase li > div.unit-showcase-details:after {
	content: "\2715";
	width: calc((60 / 24) * 1em);
	left: calc(50% - ((30 / 24) * 1em));
	bottom: calc((-60 / 24) * 1em);
	color: rgb(var(--color-crimson));
	transform: rotate(45deg);
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

.unit-showcase li.active > div.unit-showcase-details:after {
	transform: rotate(0deg);
}

.overflow-top {
	margin-top: calc(var(--page-margin) * -0.5);
}

.overflow-right {
	margin-right: calc(var(--page-margin) * -0.5);
}

.overflow-bottom {
	margin-bottom: calc(var(--page-margin) * -0.5);
}

.overflow-left {
	margin-left: calc(var(--page-margin) * -0.5);
}

/*.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));
}

section:has(.full-width:only-child) {
	padding-top: 0;	
	padding-bottom: 0;	
}

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

.icos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: center;
	column-gap: min(35px, (35 / var(--base-w)) * 100vw);
	row-gap: min(35px, (35 / var(--base-w)) * 100vw);
	margin: 0 auto;
}

.icos li {
	display: flex;
	flex-direction: column;
	row-gap: min(25px, (25 / var(--base-w)) * 100vw);
	position: relative;
	width: min(185px, (185 / var(--base-w)) * 100vw);
	color: rgb(var(--color-black));
}

.icos:not(.lrg) li:nth-last-child(2) {
	margin-left: auto;
}

.icos:not(.lrg) li:last-child {
	margin-right: auto;
}

.icos.lrg li {
	width: min(230px, (230 / var(--base-w)) * 100vw);
}

.icos li picture {
	display: block;
	position: relative;
	width: 100%;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	transform-origin: center top;
	transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

.icos.lrg li picture {
	width: min(200px, (200 / var(--base-w)) * 100vw);
}

.icos li picture:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: linear-gradient(135deg, rgb(var(--color-pink)) 25%, #ae5379 70%, rgb(var(--color-crimson)) 85%);
	background-size: 100%;
	border-radius: 9999px;
}

.icos li h3 {
	display: block;
	position: absolute;
	clip-path: inset(0 0 100% 0);
	opacity: 0;
	transition: clip-path 0.6s cubic-bezier(0.25,0.25,0.25,1), opacity 0.4s linear;
}

.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 / var(--base-w)) * 100vw, 16px);
	line-height: 1.2em;
	text-align: center;
	transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

@media screen and (min-width: 961px) {
	.icos li.show:has(h3):hover picture {
		transform: scale(0.6667) translateY(0);
	}
	
	.icos li.show:has(h3):hover div:nth-of-type(2) {
		transform: translateY(calc(min(185px, (185 / var(--base-w)) * 100vw) * -0.3333));
	}

	.icos.lrg li.show:has(h3):hover div:nth-of-type(2) {
		transform: translateY(calc(min(200px, (200 / var(--base-w)) * 100vw) * -0.3333));
	}

	.icos li.show:hover h3 {
		clip-path: inset(0);
		opacity: 1;
	}
}

/*.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: 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 / var(--base-w)) * 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 {
	margin: calc((16 / 40) * 1em) 0 calc((48 / 40) * 1em) 0;
	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 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 / var(--base-w-mobile)) * 100vw), (30 / var(--base-w)) * 100vw, 30px);
	background-image: 
		radial-gradient(rgba(var(--color-white),1) 45%, rgba(var(--color-white),0) 45%),
		conic-gradient(rgba(var(--color-crimson),0) 25%, rgba(var(--color-crimson),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-pink),0.65), rgba(var(--color-pink),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-pink),0.75);
	color: rgb(var(--color-white));
	text-align: center;
	padding: calc(var(--grid-column-gap) * 0.5);
}


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


section.map {
	padding-top: 0;
	padding-bottom: 0;
}

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

gmp-map,
.map-container {
	height: min(768px, (768 / var(--base-w)) * 100vw);
}

/*img[src*="gstatic.com/"],
img[src*="googleapis.com/"] {
    max-width: none !important;
}*/

.gm-style-iw span {
    background-color: black; /* Or another visible color */
}

.pin-property,
.pin-pavilion,
.pin-services,
.pin-food,
.pin-parks,
.pin-shopping,
.pin-restaurants,
.pin-sports {
	display: block;
	position: relative;
}

.pin-services,
.pin-food,
.pin-parks,
.pin-shopping,
.pin-restaurants,
.pin-sports {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 16px;
	height: 16px;
	border: solid 1px rgb(var(--color-white));
	border-radius: 9999px;
	color: rgb(var(--color-white));
	font-family: "Josefin Sans", sans-serif;
	font-weight: 500;
	font-size: 10px;
}

.pin-property,
.pin-pavilion {
	width: 32px;
	height: 67px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.pin-property {
	background-image: url("../images/ico-agatha-property-marker.svg");
}

.pin-pavilion {
	background-image: url("../images/ico-agatha-pavilion-marker.svg");
}

.pin-services {
	background: rgb(var(--color-blush));
}

.pin-food {
	background: rgb(var(--color-purple));
}

.pin-parks {
	background: rgb(var(--color-pink));
}

.pin-shopping {
	background: rgb(var(--color-chick));
}

.pin-restaurants {
	background: rgb(var(--color-skin-tone));
}

.pin-sports {
	background: rgb(var(--color-green));
}

.infowindow-content {
	font-family: "Josefin Sans", sans-serif;
}

.infowindow-title {
	font-weight: 500;
}

/*.price-tag {
    background-color: #4285f4;
    border-radius: 8px;
    color: #ffffff;
    font-size: 14px;
    padding: 10px 15px;
    position: relative;
    transform: translateY(-8px);
}

.price-tag::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #4285f4;
}*/

/*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);
	border-radius: 50%;
}

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

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

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

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

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

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

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

.poi ol li:before {
	content: counter(poi, decimal-leading-zero) " - ";
	counter-increment: poi;
}

.poi li.expandable-list li:hover,
.poi li.expandable-list li.active {
	color: rgb(var(--color-blush));
}

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

button.bt-view-all {
	margin-top: calc((32 / 20) * 1em);
}

button.bt-view-all:disabled {
	opacity: 0.25;
	/*pointer-events: none;*/
}


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


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

.pms-property-selector {
	display: none;
}

.pms-type-selector {
	align-self: end;
	margin: 0;
}

.pms-type-selector > form {
	display: block;
}

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

.pms-type-selector .bedrooms-selector > p,
.pms-floor-selector > p {
	margin-bottom: calc((45 / 20) * 1em);
}

.pms-floor-selector {
	display: block;
	width: 100%;
	border-top: solid 2px rgb(var(--color-crimson));
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	/*font-size: min(44px, (44 / var(--base-w)) * 100vw);
	margin-top: 1.9em;
	margin-right: min(80px, (80 / var(--base-w)) * 100vw);
	padding-top: 1.5em;*/
	margin: 0;
	margin-top: calc((80 / 20) * 1em);
	padding-top: calc((80 / 20) * 1em);
}

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

.pms-floor-selector > div {
	display: grid;
	grid-template-columns: repeat(auto-fill, calc((44 / 20) * 1em));
	grid-gap: calc((15 / 20) * 1em);
	/*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,
.pms-building .building {
	min-height: calc((min(var(--base-w) * 0.5px, 50vw) - (var(--page-margin) * 0.5)) * var(--ratio));
}

.pms-building .building {
    position: relative;
    width: calc(100% + var(--page-margin));
	/*height: calc((min(var(--base-w) * 0.5px, 50vw) - (var(--page-margin) * 0.5)) * var(--ratio));*/
	height: 100%;
	margin-right: calc(var(--page-margin) * -0.5);
	margin-left: calc(var(--page-margin) * -0.5);
    padding-top: calc(var(--ratio) * 100%);
    overflow: hidden;
}

/*.pms-building .building picture {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}*/

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

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

.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-pink), 0.5);
    mix-blend-mode: multiply;
    cursor: pointer;
    /*transition: fill 0.6s, mix-blend-mode 0.6s;*/
    transition: fill 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-pink), 0.85);
}

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

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

.pms-building .building svg g.floor g.floor-num circle {
	r: 0.75em;
	cx: 0.75em;
	cy: 0.75em;
	fill: rgba(var(--color-blush),1);
	fill: rgba(var(--color-pink),1);
    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-pink),1);
}

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


/* -- Floor plan -- */

.pms-unit-selector {
	grid-column-end: span 2;
	display: none;
	background: rgb(var(--color-crimson));
	color: rgb(var(--color-white));
	margin: 0 calc(var(--page-margin) * -0.5);
	padding: calc(var(--page-margin) * 0.5);
}

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

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

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

.pms-unit-selector h2 {
	color: rgb(var(--color-white)) !important;
}

.pms-floor-plan {
	margin-top: calc(var(--page-margin) * 0.5);
}

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

.pms-floor-plan svg {
    display: block;
    width: min((var(--base-w) * 1px) - (var(--page-margin) * 4), 100vw - (var(--page-margin) * 4));
    height: auto;
    margin: 0 auto;
	margin: 0 var(--page-margin) 0 auto;
	/*padding-right: 3px;*/
}

.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-pink));
}*/

.pms-floor-plan svg g.units .unit-pattern,
.pms-floor-plan svg g.units .unit-stroke {
    fill: none;
}

.pms-floor-plan svg g.floor-outline {
	/*stroke: rgb(var(--color-purple));
	stroke-width: 6px;*/
	fill: none;
}

.pms-floor-plan svg g.floor {
	fill: rgb(var(--color-crimson));
}

.pms-floor-plan svg g.others {
	/*fill: rgb(var(--color-crimson));*/
	fill: rgb(var(--color-purple));
}

.pms-floor-plan svg text {
    font-family: "Josefin Sans", sans-serif;
    font-weight: 400;
    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: rgb(var(--color-crimson));
}


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

.pms-floor-plan svg g.units g.other .unit {
    fill: rgb(var(--color-blush));
}
.pms-floor-plan svg g.units g.other .balcony {
    fill: rgba(var(--color-blush),0.5);
	/*fill: #b0869b;*/
}


/* -- 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-blush));
}

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

.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-white));
}

.pms-floor-plan svg g.units g.unavailable .balcony {
	fill: rgba(var(--color-white), 0.5);
	/*fill: #b6a1ad;*/
}

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

.pms-floor-plan svg pattern line {
    fill: none;
    stroke: rgba(var(--color-white),1);
    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-pink));
}

.pms-floor-plan svg g.units g.match .balcony {
    fill: rgb(var(--color-pink),0.5);
	/*fill: #a15775;*/
}

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

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


/* -- Floor plan legend -- */

.pms-floor-plan-legend {
	/*position: absolute;
	left: var(--page-margin);
	bottom: var(--page-margin);*/
	margin-top: calc(var(--page-margin) * 0.5);
}

.pms-floor-plan-legend ul li {
	display: flex;
	align-items: center;
	column-gap: 0.5em;
    position: relative;
	color: rgb(var(--color-white));
	font-weight: 300;
    font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
    line-height: calc((28 / 20) * 1em);
}

.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));*/
	border-radius: 50%;
}

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

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

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

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

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

.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 / var(--base-w)) * 100vw);
	grid-row-gap: 1em;
	color: rgb(var(--color-black));
	min-height: 0vh;
	font-weight: 300;
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((28 / 20) * 1em);
}

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

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 4;
}

.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;
	padding-bottom: calc(var(--page-margin) * 0.5);
}

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

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

div.unit-details ol li {
    position: relative;
	font-weight: 300;
	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: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: calc((35 / 20) * 1em);
	height: calc((35 / 20) * 1em);
	left: 0;
	top: 0;
	background: rgb(var(--color-crimson));
	border-radius: 50%;
	color: rgb(var(--color-white));
	font-weight: 400;
}

div.unit-details ol li span {
	color: rgb(var(--color-pink));
	font-size: calc((16 / 20) * 1em);
}

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);
}

.pms-unit .bt {
	color: rgb(var(--color-pink));
}
.pms-unit .bt:after {
	text-decoration-color: rgb(var(--color-pink));
}

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-black));
}

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

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

.pms-reserve-unit h2 {
	color: rgb(var(--color-white)) !important;
}

.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-crimson),1);
	font-size: min(35px, (35 / var(--base-w)) * 100vw);
	overflow-y: auto;
	padding: min(70px, (70 / var(--base-w)) * 100vw);
	padding-right: max(130px + (50vw - 700px), (130 / var(--base-w)) * 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-pink),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;*/
}

.pms-reserve-unit-form > * {
	width: calc((var(--grid-column-w) * 4) + (var(--grid-column-gap) * 3));
	opacity: 0;
	transition: opacity 0.4s linear;
}

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

body.pms-reserve-unit-open .pms-reserve-unit {
	background: rgba(var(--color-white),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 > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: calc((18 / 20) * clamp(16px, (20 / var(--base-w)) * 100vw, 20px));
	position: relative;
	font-size: 0px;
}

form > div {
	margin: calc(((18 / 20) * clamp(16px, (20 / var(--base-w)) * 100vw, 20px)) * 2) 0;
}

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

form#form-footer {
	margin-top: calc((36 / var(--base-w)) * 100vw);
}

form input, 
form textarea,
form select,
form label,
form p,
form button[type="submit"] {
	display: block;
    position: relative;
    min-height: 0vh;
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;	
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
    line-height: calc((28 / 20) * 1em);
    margin: 0;
}

form input, 
form textarea,
form select,
form button[type="submit"] {
    width: 100%;
    background: transparent;
	border: solid 2px rgb(var(--color-white));
	border-radius: 9999px;
    color: rgb(var(--color-white));
    -webkit-appearance: none;
	appearance: none;
    padding: calc((11 / 20) * 1em) calc((28 / 20) * 1em);
}

form[name="pms-type-selector"] .pms-floor-selector > div input {
	width: calc((44 / 20) * 1em);
	height: calc((44 / 20) * 1em);
	background: rgb(var(--color-pink));
	border-color: rgb(var(--color-pink));
	color: rgb(var(--color-white));
	padding: 0;
	transition: background-color 0.2s linear, border-color 0.2s linear;
}

form[name="pms-type-selector"] .pms-floor-selector > div input:hover,
form[name="pms-type-selector"] .pms-floor-selector > div input.active {
	background: rgb(var(--color-crimson));
	border-color: rgb(var(--color-crimson));
}

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

form label {
	width: 100%;
	transition: padding 0.4s var(--transition-timing-ease-in-out);
}

form label:not(.checkbox) span {
	display: inline-block;
	position: absolute;
	border: solid 2px rgba(0,0,0,0);
    margin: calc((11 / 20) * 1em) calc((24 / 20) * 1em);
    padding: 0 calc((4 / 20) * 1em);
	transform-origin: left bottom;
	transition: color 0.4s linear, transform 0.4s var(--transition-timing-ease-in-out);
	z-index: 10;
}

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

form label:not(.checkbox) span:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgb(var(--color-crimson));
	opacity: 0;
	transform: scale(0, 0.8) translateY(-115%);
	transform-origin: left center;
    transition: opacity 0.2s 0.2s linear, transform 0.4s var(--transition-timing-ease-in-out);
	z-index: -1;
}

form label.focus-in span:before {
	opacity: 1;
    transform: scale(1, 1) translateY(0);
    transition: opacity 0.2s linear, transform 0.4s 0.2s var(--transition-timing-ease-in-out);
}

form input:-webkit-autofill,
form input:-webkit-autofill:hover, 
form input:-webkit-autofill:focus, 
form input:-webkit-autofill:active {
    -webkit-text-fill-color: rgb(var(--color-white));
	-webkit-box-shadow: 0 0 0 60px rgb(var(--color-pink)) inset !important;
	box-shadow: 0 0 0 60px rgb(var(--color-pink)) inset !important;
}

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-box-shadow: 0 0 0 60px rgb(var(--color-crimson)) inset !important;
	box-shadow: 0 0 0 60px rgb(var(--color-crimson)) inset !important;
}

form label.checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 1em;
    align-items: center;
	/*width: calc(100% - 2em);*/
	width: 100%;
	margin-right: 1em;
	margin-left: 1em;
    padding: 0;
    transform: none;
}

form#form-contact label.checkbox,
form#form-footer label.checkbox {
    width: calc(100% - 2em);
}

form 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 input[type="checkbox"]:before,
form input[type="checkbox"]:after {
	content: "";
    display: block;
    min-height: 0vh;
	font-size: calc((28 / 20) * clamp(16px, (20 / var(--base-w)) * 100vw, 20px));
	line-height: 1em;
}

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

form input[type="checkbox"]:after {
	content: "\2715";
	position: absolute;
    width: calc(1em - 6px);
    height: calc(1em - 6px);
	left: 5px;
	top: 5px;
	opacity: 0;
    transition: opacity 0.2s linear;
}

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

form[name="pms-type-selector"] label.checkbox {
	color: rgb(var(--color-crimson));
	margin-left: 0;
}

form[name="pms-type-selector"] input[type="checkbox"]:before,
form[name="pms-type-selector"] input[type="checkbox"]:after {
	border-radius: 50%;
    font-size: min(50px, (50 / var(--base-w)) * 100vw);
}

form[name="pms-type-selector"] input[type="checkbox"]:before {
	border: solid 2px rgb(var(--color-crimson));
}

form[name="pms-type-selector"] input[type="checkbox"]:after {
	content: "";
    width: calc((32 / 50) * 1em);
    height: calc((32 / 50) * 1em);
	left: calc(((9 / 50) * 1em) + 2px);
	top: calc(((9 / 50) * 1em) + 2px);
    background: rgba(var(--color-pink),0.91);
	border-radius: 50%;
}

form button[type="submit"] {
	width: auto;
}

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

/*.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;
}


.box-reveal {
	--br-h: calc(100vh - (var(--page-margin) * 2));
	height: var(--br-h);
	margin: var(--page-margin) 0 0 0;
	padding: 0 0 var(--page-margin) 0;
	overflow: hidden;
    transition: height 0.6s cubic-bezier(0.5,0,0.5,1);
}

.box-reveal:after {
	--bra-h: calc(var(--page-margin));
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: var(--bra-h);
	left: 0;
	bottom: 0;
	background-image: 
		linear-gradient(rgba(var(--color-white),0.5), rgba(var(--color-white),0.5)),
		linear-gradient(rgba(var(--color-pink),0), rgba(var(--color-pink),1) calc(var(--page-margin) - (((37 / 30) * 1em) * 1.5)));
	background-position: 
		left calc(var(--page-margin) - (((37 / 30) * 1em) * 1.5)),
		left top;
	background-repeat: no-repeat;
	background-size: 
		100% 1px,
		100% 100%;
	font-size: clamp(20px, (30 / var(--base-w)) * 100vw, 30px);
}

.box-reveal button {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: 10;
}

.story img.img-fit-auto {
	display: block;
	position: sticky !important;
	top: calc(50vh - (min(635px, (635 / var(--base-w)) * 100vw) * ((2458 / 1270) / 2))) !important;
	mix-blend-mode: screen;
	opacity: 0.75;
}



/*section.privacy {
	background-image: linear-gradient(90deg, rgb(var(--color-pink)) 15%, rgb(var(--color-purple)) 85%);
	color: rgb(var(--color-white));
	padding-bottom: calc((160 / 1960) * 100vw);
}

section.privacy h2 {
	font-weight: 300;
	font-size: clamp(36px, (144 / var(--base-w)) * 100vw, 144px);
	line-height: calc((144 / 144) * 1em);
}

section.privacy h3 {
	font-weight: 700;
	font-size: clamp(22px, (44 / var(--base-w)) * 100vw, 44px);
	line-height: calc((24 / 22) * 1em);
}

section.privacy p,
section.privacy ol,
section.privacy ul {
	font-size: clamp(18px, (36 / var(--base-w)) * 100vw, 36px);
	line-height: calc((24 / 18) * 1em);
}

section.privacy h2 + p {
	margin-top: calc((8 / 18) * 1em);
}

section.privacy h3 + p {
	margin-top: calc((27 / 18) * 1em);
}

section.privacy p + h3,
section.privacy ol + h3,
section.privacy ul + h3 {
	margin-top: calc((21 / 22) * 1em);
}

section.privacy p + p,
section.privacy p + ol,
section.privacy ol + p,
section.privacy p + ul,
section.privacy ul + p {
	margin-top: calc((25 / 18) * 1em);
}*/

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

section.privacy ol li,
section.privacy ul li {
	position: relative;
	padding-left: 1em;
}

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

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

section.privacy a {
	text-decoration: underline;
}


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


/*.burst {
	display: block;
	position: sticky;
	width: min(calc(var(--base-w) * 1px), 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 / var(--base-w)) * 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
 *************************************/


div.book-an-appointment {
	display: flex;
	justify-content: center;
	position: sticky;
	bottom: calc(var(--page-margin) * -0.125);
	background: rgba(var(--color-crimson),0.9);
	color: rgb(var(--color-white));
	padding: calc(var(--page-margin) * 0.125) 0;
	padding-bottom: calc(var(--page-margin) * 0.25);
	transition: background-color 0.2 linear;
	z-index: 100;
}

body.footer div.book-an-appointment {
	background: rgba(var(--color-crimson),1);
}

div.book-an-appointment a:before {
	--baa-w: min((var(--base-w) * 1px) - (var(--page-margin) * 2), 100vw - (var(--page-margin) * 2));
	content: "";
	display: block;
	position: absolute;
	width: var(--baa-w);
	height: 1px;
	left: calc(50% - (var(--baa-w) * 0.5));
	bottom: calc(var(--page-margin) * -0.25);
	background: rgba(var(--color-white), 0.4);
	opacity: 0;
	transform: scaleX(0);
}

body.footer div.book-an-appointment a:before {
	opacity: 1;
	transform: scaleX(1);
	transition: opacity 0.2s linear, transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

div.back-to-top {
	--baa-h: calc((var(--page-margin) * 0.25) + ((37 / 30) * clamp(20px, (30 / var(--base-w)) * 100vw, 30px)));
	display: none;
	position: sticky;
	/*bottom: calc(min(56px, (56 / var(--base-w)) * 100vw) + (var(--page-margin) * 0.5));*/
	bottom: calc(min(66px, (66 / var(--base-w)) * 100vw) + max(-20px, (-20 / var(--base-w)) * 100vw) + (var(--page-margin) * 1) + var(--baa-h));
	z-index: 200;
}

body:has(header.fixed) div.back-to-top {
	display: block;
}

/*div.back-to-top a {
	display: block;
	position: absolute;
	width: min(40px, (40 / var(--base-w)) * 100vw);
	height: min(66px, (66 / var(--base-w)) * 100vw);
	right: calc(max(-20px, (-20 / var(--base-w)) * 100vw) + (var(--page-margin) * 0.5));
	top: calc(var(--page-margin) * 0.5);
	background: rgba(var(--color-crimson),1) url("../images/ico-arrow-next.svg") center center no-repeat;
	background-size: calc(min(30px, (30 / var(--base-w)) * 100vw) * (2 / 3)) calc(min(56px, (56 / var(--base-w)) * 100vw) * (2 / 3));
	border: solid 2px rgb(var(--color-white));
	border-radius: 9999px;
	transform: scaleY(-1);
}*/

div.back-to-top a {
	display: block;
	position: absolute;
	width: min(40px, (40 / var(--base-w)) * 100vw);
	height: min(66px, (66 / var(--base-w)) * 100vw);
	right: calc(max(-20px, (-20 / var(--base-w)) * 100vw) + (var(--page-margin) * 0.5));
	top: calc(var(--page-margin) * 0.5);
	background: rgba(var(--color-crimson),1);
	border-radius: 9999px;
}

div.back-to-top a:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	left: 2px;
	top: 2px;
	background: url("../images/ico-arrow-next.svg") center center no-repeat;
	background-size: calc(min(30px, (30 / var(--base-w)) * 100vw) * (2 / 3)) calc(min(56px, (56 / var(--base-w)) * 100vw) * (2 / 3));
	border: solid 2px rgb(var(--color-white));
	border-radius: 9999px;
	transform: scaleY(-1);
}

footer {
	display: block;
	position: relative;
	background-color: rgb(var(--color-crimson));
	color: rgb(var(--color-white));
}

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

footer .social-networks {
	display: flex;
	column-gap: calc((8 / 24) * 1em);
}

@media screen and (min-width: 961px) {
	footer div.footer-form {
		grid-column: 2 / span 1;
		grid-row: 2 / span 6;
	}
}

footer div.copyright {
	grid-column: 1 / -1;
	color: rgb(var(--color-warm-grey));
	font-weight: 300;
	font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
	line-height: calc((28 / 18) * 1em);
	text-align: center;
	margin-top: min(50px, (50 / var(--base-w)) * 100vw);
}

footer div.copyright span {
	font-weight: 400;
	font-size: clamp(12px, (16 / var(--base-w)) * 100vw, 16px);
	text-transform: uppercase;
}


/*************************************
	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-white),0.75);
}

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

#lightbox button.bt-close,
.pms-reserve-unit-form button.bt-close {
	position: absolute;
	/*width: calc((150 / 80) * 1em);*/
	/*width: calc((120 / 80) * 1em);*/
	width: calc((60 / 40) * 1em);
	height: 1em;
	right: 0;
	top: -1.25em;
	border-radius: 9999px;
	/*font-size: clamp(min(36px, (36 / var(--base-w-mobile)) * 100vw), (45 / var(--base-w)) * 100vw, 45px);*/
	/*font-size:  min(80px, (80 / var(--base-w)) * 100vw);*/
	font-size:  min(40px, (40 / var(--base-w)) * 100vw);
	background: rgba(var(--color-pink),1) url("../images/ico-close.svg") center center no-repeat;
	background-size: auto 0.5em;
}

.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 / var(--base-w-mobile)) * 100vw) min(60px, (60 / var(--base-w-mobile)) * 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: calc((var(--base-w) * 1px) - (var(--page-margin) * 2) + min(150px, (150 / var(--base-w)) * 100vw));*/
	width: min((var(--base-w) * 1px) - (var(--page-margin) * 2) + min(75px, (75 / var(--base-w)) * 100vw), 100vw - (var(--page-margin) * 2) + min(75px, (75 / var(--base-w)) * 100vw));
	left: 50%;
	top: 50%;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

#lightbox div.lightbox-content.gallery .ctrl-arr button {
	display: block;
	/*width: min(150px, (150 / var(--base-w)) * 100vw);
	height: min(80px, (80 / var(--base-w)) * 100vw);*/
	width: min(75px, (75 / var(--base-w)) * 100vw);
	height: min(40px, (40 / var(--base-w)) * 100vw);
	background: rgba(var(--color-pink),1) url("../images/ico-arrow-slideshow.svg") center center no-repeat;
	background-size: 50% auto;
	border-radius: 9999px;
	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,
	.pms-reserve-unit-form button.bt-close {
		font-size:  min(40px, (40 / var(--base-w-mobile)) * 100vw);
	}
	
	#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));
	}
	
	#lightbox div.lightbox-content.gallery .ctrl-arr {
		width: min((var(--base-w-mobile) * 1px) - (var(--page-margin) * 2) + min(75px, (75 / var(--base-w-mobile)) * 100vw), 100vw - (var(--page-margin) * 2) + min(75px, (75 / var(--base-w-mobile)) * 100vw));
	}

	#lightbox div.lightbox-content.gallery .ctrl-arr button {
		width: min(75px, (75 / var(--base-w-mobile)) * 100vw);
		height: min(40px, (40 / var(--base-w-mobile)) * 100vw);
	}
}


/****  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);
	}
}


/****  Promo 2 mois gratuits  ****/


#lightbox .lightbox-content.lb-promo-2-mois-gratuits {
	display: grid;
	background: rgb(var(--color-pink));
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits img {
	width: min(490px, (490 / 980) * var(--f));
	height: auto;
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits .promo {
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	row-gap: min(30px, (30 / 980) * var(--f));
	color: rgb(var(--color-white));
    padding: min(30px, (30 / 980) * var(--f));
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits h2,
#lightbox .lightbox-content.lb-promo-2-mois-gratuits h3 {
	/*font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;*/
	text-align: center;
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits h2 {
	color: rgb(var(--color-white));
	font-size: min(48px, (48 / 980) * var(--f));
	line-height: 1em;
	text-transform: uppercase;
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits h3 {
	/*color: rgb(var(--color-green));*/
	font-size: min(32px, (32 / 980) * var(--f));
	line-height: calc((32 / 32) * 1em);
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits a.bt-solid {
    display: inline-block;
    text-align: center;
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits form {
	padding: 0 min(60px, (60 / 980) * var(--f));
}

/*form#form-lb {
	row-gap: min(10px, (10 / 980) * var(--f));
}*/

form#form-lb label:not(.checkbox) span:before {
	background: rgb(var(--color-pink));
}

/*form#form-lb input, 
form#form-lb label,
form#form-lb button,
form#form-lb p {
	font-size: min(20px, (20 / 980) * var(--f));
}*/

#lightbox .lightbox-content.lb-promo-2-mois-gratuits p {
	color: rgb(var(--color-white));
	font-size: min(12px, (12 / 980) * var(--f));
	line-height: calc((14 / 12) * 1em);
	text-align: center;
	margin-top: min(15px, (15 / 980) * var(--f));
}

#lightbox .lightbox-content.lb-promo-2-mois-gratuits .bt-solid {
	background: rgb(var(--color-crimson)) !important;
}

@media screen and (orientation : landscape) {
	#lightbox .lightbox-content.lb-promo-2-mois-gratuits {
		--f: 85vw;
		grid-template-columns: repeat(2, 1fr);
		width: min(980px, var(--f));
		height: min(520px, (520 / 980) * var(--f));
	}	
}

@media screen and (orientation : portrait) {
	#lightbox .lightbox-content.lb-promo-2-mois-gratuits {
		--f: 75vh;
		grid-template-columns: auto;
		grid-template-rows: repeat(2, 1fr);
		width: min(490px, (490 / 980) * var(--f));
		height: min(980px, var(--f));
	}
}


/****  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 / var(--base-w-mobile)) * 100vw), (45 / var(--base-w)) * 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) {
	:root {
		--page-margin: calc((50 / var(--base-w-mobile)) * 100vw);
		--grid-column-gap: calc(var(--page-margin) * 0.5);
		--header-img-h: 100vw;
	}
	
	.bp-1400 {
		display: none;
	}
	
	.bp-960 {
		display: inline-block;
	}
	
	header nav {
		display: block;
		/*display: flex;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
		max-width: calc(var(--base-w) * 1px);
		color: rgb(var(--color-white));
		margin: 0 auto;*/
		padding: calc(var(--page-margin) * 0.5) var(--page-margin);
		/*z-index: 10;*/
	}
	
	footer nav {
		display: block;
		margin-bottom: calc(var(--page-margin) * 0.5);
	}
	
	header.fixed nav {
		padding-top: calc(var(--page-margin) * 0.5);
		padding-bottom: calc(var(--page-margin) * 0.5);
	}

	header.fixed nav ul.main li.home {
		height: calc((21 / var(--base-w-mobile)) * 100vw);
	}
	
	header nav ul.main {
		justify-content: space-between;
	}
	
	header nav ul.main li.home img {
		width: auto;
		height: calc((38 / var(--base-w-mobile)) * 100vw);
	}
	
	footer nav ul.main {
		justify-content: center;
		margin-bottom: calc(var(--page-margin) * 1);
	}

	
	/*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: 0;
		background: rgba(var(--color-pink),0.85);
		font-size: clamp(min(24px, (24 / var(--base-w-mobile)) * 100vw), (35 / var(--base-w)) * 100vw, 35px);
		padding: 0 2em;
		padding-right: max(200px + (50vw - 700px), (200 / var(--base-w)) * 100vw);
		transform: translate(100%);
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}*/
	
	header nav ul.expand {
		flex-direction: column;
		justify-content: center;
		position: absolute;
		height: 100vh;
		left: min(0px, (700px - 50vw));
		top: 0;
		background: rgba(var(--color-pink),0.85);
		font-size: calc((40 / var(--base-w-mobile)) * 100vw);
		line-height: calc((60 / 40) * 1em);
		/*padding: 0;
		padding-right: max(200px + (50vw - 700px), (200 / var(--base-w)) * 100vw);*/
		transform: translate(100%);
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}
	
	footer nav ul.expand {
		/*justify-content: space-between;*/
		flex-direction: column;
		column-gap: 0;
		row-gap: calc((12 / 20) * 1em);
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
		line-height: calc((24 / 20) * 1em);
		/*margin: 0 calc(var(--page-margin) * -0.5);*/
	}
	
	header nav ul.expand li.lang,
	footer nav ul.expand li.lang {
		position: relative;
		right: auto;
	}

	/*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: calc((21 / var(--base-w-mobile)) * 100vw);
		height: calc((21 / var(--base-w-mobile)) * 100vw);
	}

	header .ico span {
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background: rgb(var(--color-white));
		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-white));
		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-white),1);
		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 div.content {
		height: calc(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;
	}

	body.home section.header div.bckg-video:after {
		background: rgba(var(--color-crimson),0.5);
	}

	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 {
		row-gap: calc((15 / var(--base-w-mobile)) * 100vw);
		padding-top: calc((71 / var(--base-w-mobile)) * 100vw);
	}

	section.header .bt-next {
		width: calc((30 / var(--base-w-mobile)) * 100vw);
		height: calc((60 / var(--base-w-mobile)) * 100vw);
		border-width: 2px;
		border-radius: calc((15 / var(--base-w-mobile)) * 100vw);
	}

	section.header .bt-next:after {
		background: url("../images/ico-arrow-next.svg") center center no-repeat;
		background-size: calc((15 / var(--base-w-mobile)) * 100vw) calc((28 / var(--base-w-mobile)) * 100vw);
	}
	
	section.header .banner {
		height: calc((75 / var(--base-w-mobile)) * 100vw);
	}
		
	/*section.header + section {
		margin-top: 0;
	}
	
	section > div {
		padding-top: min(48px, (48 / var(--base-w-mobile)) * 100vw);
		padding-bottom: min(48px, (48 / var(--base-w-mobile)) * 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;
	}*/
	
	
	
	
	section.header h1,
	section h1 {
		font-size: calc((25 / var(--base-w-mobile)) * 100vw);
		line-height: calc((32.5 / 25) * 1em);
	}
	
	section.header .text h2,
	section:not(.header) .icos h3,
	section:not(.header) p,
	section:not(.header) li,
	footer h2,
	footer p {
		font-size: calc((14 / var(--base-w-mobile)) * 100vw);
		line-height: calc((20 / 14) * 1em);
	}

	/*section:not(.header) p,
	section:not(.header) li,
	footer h2,
	footer p {
		font-size: calc((12 / var(--base-w-mobile)) * 100vw);
		line-height: calc((18 / 12) * 1em);
	}*/

	/*section:not(.header) h2 + p,
	section:not(.header) h3 + p,
	section:not(.header) p + p,
	section:not(.header) p + ol,
	section:not(.header) p + ul,
	section:not(.header) ol + p,
	section:not(.header) ul + p {
		margin-top: calc((32 / 20) * 1em);
	}

	section:not(.header) p + h2,
	section:not(.header) ol + h2,
	section:not(.header) ul + h2 {
		margin-top: calc((50 / 40) * 1em);
	}*/
	
	section:not(.header) h2,
	section.header .banner h2,
	footer .footer-form h2 {
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
		line-height: calc((24 / 20) * 1em);
	}

	/*section:not(.header) h3 {
		font-weight: 400;
		font-size: clamp(27px, (30 / var(--base-w)) * 100vw, 30px);
		line-height: calc((50 / 40) * 1em);
	}

	section:not(.header) .icos h2 {
		font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
		line-height: calc((20 / 18) * 1em);	
	}

	section.bckg-white:not(.header) .icos h2 {
		color: rgb(var(--color-black));
	}

	section:not(.header) .icos h3 {
		font-weight: 300;
		font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
		line-height: calc((20 / 18) * 1em);	
		margin-top: calc((10 / 18) * 1em);	
	}

	footer h2 {
		text-transform: uppercase;
	}

	footer p {
		font-weight: 300;
	}

	footer h2 + p {
		margin-top: calc((10 / 20) * 1em);
	}

	section.header .banner h2 {
		font-weight: 400;
	}

	footer h3,
	footer .social-networks{
		font-weight: 400;
		font-size: clamp(20px, (24 / var(--base-w)) * 100vw, 24px);
		line-height: calc((28 / 24) * 1em);
	}

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

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

	.text-align-right-mobile {
		text-align: right;
	}
	
	.sticker-lrg:after,
	.sticker-sml:after {
		width: calc((90 / var(--base-w-mobile)) * 100vw);
		height: calc((30 / var(--base-w-mobile)) * 100vw);
	}
	
	.sticker-lt.sticker-lrg:after,
	.sticker-rt.sticker-lrg:after,
	.sticker-lt.sticker-sml:after,
	.sticker-rt.sticker-sml:after {
		top: calc((-15 / var(--base-w-mobile)) * 100vw);
	}
	
	.sticker-lb.sticker-lrg:after,
	.sticker-rb.sticker-lrg:after,
	.sticker-lb.sticker-sml:after,
	.sticker-rb.sticker-sml:after {
		bottom: calc((-15 / var(--base-w-mobile)) * 100vw);
	}
	
	/*.sticker:after {
		content: "";
		display: block;
		position: absolute;
		background-image: linear-gradient(90deg, rgb(var(--color-pink)), rgb(var(--color-crimson)));
		opacity: 0.8;
	}
	.sticker-lrg:after {
		width: min(300px, (300 / var(--base-w)) * 100vw);
		height: min(110px, (110 / var(--base-w)) * 100vw);
	}
	.sticker-sml:after {
		width: min(250px, (250 / var(--base-w)) * 100vw);
		height: min(90px, (90 / var(--base-w)) * 100vw);
	}
	.sticker-lt:after,
	.sticker-lb:after {
		left: calc(var(--page-margin) * 0.5);
	}
	.sticker-rt:after,
	.sticker-rb:after {
		right: calc(var(--page-margin) * 0.5);
	}
	.sticker-lt.sticker-lrg:after,
	.sticker-rt.sticker-lrg:after {
		top: max(-55px, (-55 / var(--base-w)) * 100vw);
	}
	.sticker-lt.sticker-sml:after,
	.sticker-rt.sticker-sml:after {
		top: max(-45px, (-45 / var(--base-w)) * 100vw);
	}
	.sticker-lb.sticker-lrg:after,
	.sticker-rb.sticker-lrg:after {
		bottom: max(-55px, (-55 / var(--base-w)) * 100vw);
	}
	.sticker-lb.sticker-sml:after,
	.sticker-rb.sticker-sml:after {
		bottom: max(-45px, (-45 / var(--base-w)) * 100vw);
	}*/
	
	.bt {
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
		line-height: calc((24 / 20) * 1em);
	}
	
	/*.bt {
		display: inline-block;
		position: relative;
		min-height: 0vh;
		color: inherit;
		font-family: "Niconne", cursive;
		font-weight: 400;
		font-style: normal;
		font-size: clamp(20px, (30 / var(--base-w)) * 100vw, 30px);
		line-height: calc((37 / 30) * 1em);
	}

	.bt:after {
		content: attr(data-text);
		display: inline-block;
		position: absolute;
		left: 0;
		top: 0;
		clip-path: inset(0);
		color: transparent;
		text-decoration: underline;
		text-decoration-color: rgb(var(--color-white));
		text-decoration-thickness: 1px;
		text-underline-offset: 2px;
		pointer-events: none;
		transition: clip-path 0.4s cubic-bezier(0.25,0.25,0.25,1);	
	}

	.bt:hover:after {
		clip-path: inset(0 100% 0 0);
		animation: kf-bt-hover 0.8s cubic-bezier(0.25,0.25,0.25,1) both;
	}

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

	@keyframes kf-bt-hover {
		0% {
			clip-path: inset(0);
		}
		50% {
			clip-path: inset(0 0 0 100%);
		}
		50.1% {
			clip-path: inset(0 100% 0 0);
		}
		100% {
			clip-path: inset(0);
		}
	}

	.bt-solid {
		background: rgb(var(--color-pink)) !important;
		border: solid 2px rgb(var(--color-pink)) !important;
		border-radius: 9999px;
		color: rgb(var(--color-white));
		font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
		line-height: calc((28 / 20) * 1em);
		text-transform: uppercase;
		padding: calc((11 / 20) * 1em) calc((56 / 20) * 1em);
	}*/
	
	/*.bt-solid {
		font-size: calc((16 / var(--base-w-mobile)) * 100vw);
		line-height: 1em;
		padding: 0;
	}*/
	
	.cols-merged-mobile {
		grid-column: 1 / -1;
	}
	
	.grid-row-start-mobile {
		grid-row-start: var(--grid-row-start);
	}
	
	.no-overflow-mobile {
		margin: 0;
	}
	
	.full-width-mobile {
		grid-column: 1 / -1;
		width: 100vw;
	}
	
	.map.full-width-mobile,
	.map.full-width-mobile > div {
		margin: 0;
		padding: 0;
	}
	
	.map.full-width-mobile div.full-width {
		margin: 0;
	}
	
	.cols-two-third {
		padding-right: 0;
	}
	
	.unit-showcase {
		grid-template-columns: auto;
		padding-bottom: calc((60 / 20) * ((24 / var(--base-w-mobile)) * 100vw));
	}
	
	.unit-showcase li {
		margin-top: calc((60 / 20) * ((24 / var(--base-w-mobile)) * 100vw));
	}
	
	.unit-showcase li h3 span:nth-child(1) {
		font-size: calc((30 / var(--base-w-mobile)) * 100vw);
	}
	
	.unit-showcase li h3 strong:nth-child(2) {
		width: calc((70 / var(--base-w-mobile)) * 100vw);
		height: calc((132 / var(--base-w-mobile)) * 100vw);
		font-size: calc((69 / var(--base-w-mobile)) * 100vw);
		line-height: calc((132 / 70) * 1em);
		margin: calc((32 / 70) * 1em) 0;
	}

	.unit-showcase li h3 span:nth-child(3) {
		font-size: calc((50 / var(--base-w-mobile)) * 100vw);
	}
	
	.unit-showcase li p {
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
		line-height: calc((28 / 20) * 1em);
	}
	
	.unit-showcase li p strong {
		font-size: calc((24 / 20) * 1em);
	}

	.unit-showcase li p + p {
		margin-top: calc((28 / 20) * 1em);
	}
	
	.unit-showcase li div.unit-showcase-plan {
		row-gap: calc((45 / var(--base-w-mobile)) * 100vw);
		padding: calc((90 / var(--base-w-mobile)) * 100vw) 0;
	}
	
	.unit-showcase li > div.unit-showcase-details {
		padding: calc(var(--page-margin) * 0.5);
	}

	.unit-showcase li > div.unit-showcase-details:before,
	.unit-showcase li > div.unit-showcase-details:after {
		height: calc((60 / 20) * 1em);
		bottom: calc((-60 / 20) * 1em);
		font-size: calc((24 / var(--base-w-mobile)) * 100vw);
	}

	.unit-showcase li > div.unit-showcase-details:before {
		width: calc((60 / 20) * 1em);
		left: calc(50% - ((30 / 20) * 1em));
	}

	.unit-showcase li > div.unit-showcase-details:after {
		width: calc((60 / 20) * 1em);
		left: calc(50% - ((30 / 20) * 1em));
		bottom: calc((-60 / 20) * 1em);
	}


	/*.unit-showcase {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: min(20px, (20 / var(--base-w)) * 100vw);
		padding-bottom: calc((60 / 24) * clamp(16px, (24 / var(--base-w)) * 100vw, 24px));
	}

	.unit-showcase li {
		--cpw: min(90px, (90 / var(--base-w)) * 100vw);
		display: flex;
		flex-flow: column nowrap;
		align-items: center;
	}

	.unit-showcase li div.unit-showcase-plan {
		display: flex;
		flex-flow: column nowrap;
		align-items: center;
		row-gap: min(45px, (45 / var(--base-w)) * 100vw);
		width: 100%;
		background-image: linear-gradient(rgb(var(--color-pink)), rgb(var(--color-crimson)));
		padding: min(90px, (90 / var(--base-w)) * 100vw) 0;
		transition: background-color 0.2s linear;
		z-index: 10;
	}

	.unit-showcase li.active div.unit-showcase-plan {
		background-image: 
			linear-gradient(rgba(var(--color-crimson),0), rgba(var(--color-crimson),1)),
			linear-gradient(rgb(var(--color-pink)), rgb(var(--color-crimson)));
		background-blend-mode: multiply;
	}

	.unit-showcase li h3 {
		display: flex;
		flex-flow: column nowrap;
		align-items: center;
		color: rgb(var(--color-white));
	}

	.unit-showcase li h3 span {
		display: block;
		width: 100%;
		text-align: center;
	}

	.unit-showcase li h3 span:nth-child(1) {
		font-size: clamp(20px, (30 / var(--base-w)) * 100vw, 30px);
		font-weight: 300;
		line-height: calc((50 / 30) * 1em);
		text-transform: uppercase;
	}

	.unit-showcase li h3 strong:nth-child(2) {
		display: block;
		width: min(84px, (84 / var(--base-w)) * 100vw);
		height: min(154px, (154 / var(--base-w)) * 100vw);
		border: solid 4px rgb(var(--color-white));
		border-radius: 9999px;
		font-size: min(80px, (80 / var(--base-w)) * 100vw);
		font-weight: 300;
		line-height: calc((154 / 80) * 1em);
		text-align: center;
		margin: calc((32 / 80) * 1em) 0 calc((37 / 80) * 1em) 0;
		transition: background 0.2s linear, color 0.2s linear;
	}

	.unit-showcase li.active h3 strong:nth-child(2) {
		background: rgb(var(--color-white));
		color: rgb(var(--color-crimson));
	}

	.unit-showcase li h3 span:nth-child(3) {
		font-family: "Niconne", cursive;
		font-weight: 400;
		font-style: normal;
		font-size: clamp(20px, (50 / var(--base-w)) * 100vw, 50px);
		line-height: calc((60 / 50) * 1em);
	}*/

	.unit-showcase li img {
		display: none;
	}

	/*.unit-showcase li a {
	}

	.unit-showcase li p {
		text-align: center;
	}

	.unit-showcase li p strong {
		font-weight: 400;
		font-size: calc((24 / 20) * 1em);
	}

	.unit-showcase li p + p {
		margin-top: calc((43 / 25) * 1em);
	}

	.unit-showcase li > div.unit-showcase-details {
		flex-grow: 1;
		display: block;
		position: relative;
		width: 100%;
		background: rgb(var(--color-white));
		color: rgb(var(--color-black));
		padding: min(35px, (35 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) min(43px, (43 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw);
		transform: translateY(calc(-100% + 10px));
		transition: clip-path 0.4s cubic-bezier(0.25,0.25,0.25,1), transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	}

	.unit-showcase li.active > div.unit-showcase-details {
		transform: translateY(0);
	}

	.unit-showcase li > div.unit-showcase-details:before,
	.unit-showcase li > div.unit-showcase-details:after {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		height: calc((60 / 24) * 1em);
		bottom: calc((-60 / 24) * 1em);
		font-size: clamp(16px, (24 / var(--base-w)) * 100vw, 24px);
	}

	.unit-showcase li > div.unit-showcase-details:before {
		content: "";
		width: calc((64 / 24) * 1em);
		left: calc(50% - ((32 / 24) * 1em));
		background: rgb(var(--color-white));
		border-radius: 0 0 50% 50%;
	}

	.unit-showcase li > div.unit-showcase-details:after {
		content: "\2715";
		width: calc((60 / 24) * 1em);
		left: calc(50% - ((30 / 24) * 1em));
		bottom: calc((-60 / 24) * 1em);
		color: rgb(var(--color-crimson));
		transform: rotate(45deg);
		transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	}

	.unit-showcase li.active > div.unit-showcase-details:after {
		transform: rotate(0deg);
	}*/
	
	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 / var(--base-w)) * 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;
	}*/
	
	.icos {
		column-gap: calc((35 / var(--base-w-mobile)) * 100vw);
		row-gap: calc((35 / var(--base-w-mobile)) * 100vw);
	}
	
	.icos li,
	.icos.lrg li,
	.icos.lrg li picture {
		width: calc((126 / var(--base-w-mobile)) * 100vw);
	}
	
	.icos li,
	.icos.lrg li {
		/*row-gap: calc((35 / var(--base-w)) * 100vw);*/
	}
	
	
	/*.icos {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-content: center;
		column-gap: min(35px, (35 / var(--base-w)) * 100vw);
		row-gap: min(35px, (35 / var(--base-w)) * 100vw);
		margin: 0 auto;
	}

	.icos li {
		display: flex;
		flex-direction: column;
		row-gap: min(25px, (25 / var(--base-w)) * 100vw);
		position: relative;
		width: min(185px, (185 / var(--base-w)) * 100vw);
		color: rgb(var(--color-black));
	}

	.icos:not(.lrg) li:nth-last-child(2) {
		margin-left: auto;
	}

	.icos:not(.lrg) li:last-child {
		margin-right: auto;
	}

	.icos.lrg li {
		width: min(230px, (230 / var(--base-w)) * 100vw);
	}

	.icos li picture {
		display: block;
		position: relative;
		width: 100%;
		left: 0;
		right: 0;
		top: 0;
		margin: 0 auto;
		transform-origin: center top;
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}

	.icos.lrg li picture {
		width: min(200px, (200 / var(--base-w)) * 100vw);
	}

	.icos li picture:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background-image: linear-gradient(135deg, rgb(var(--color-pink)) 25%, #ae5379 70%, rgb(var(--color-crimson)) 85%);
		background-size: 100%;
		border-radius: 9999px;
	}

	/*.icos li h3 {
		display: block;
		position: absolute;
		clip-path: inset(0 0 100% 0);
		opacity: 0;
		transition: clip-path 0.6s cubic-bezier(0.25,0.25,0.25,1), opacity 0.4s linear;
	}*/
	
	.icos li h3 {
		position: relative;
		clip-path: none;
		opacity: 1;
	}

	.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 / var(--base-w)) * 100vw, 16px);
		line-height: 1.2em;
		text-align: center;
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}
	
	/*.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-type-selector label.checkbox span {
		display: block;
	}*/
	
	.pms-building {
		grid-column: 1 / -1;	
	}
	
	.pms-unit-selector:before,
	.pms-unit:not(:empty):before {
		left: calc(50% - min(25px, (25 / var(--base-w-mobile)) * 100vw));
		border-left-width: min(25px, (25 / var(--base-w-mobile)) * 100vw);
		border-right-width: min(25px, (25 / var(--base-w-mobile)) * 100vw);
		border-top-width: min(25px, (25 / var(--base-w-mobile)) * 100vw);
	}
	
	.pms-unit:not(:empty):before {
		top: max(-70px, (-70 / var(--base-w)) * 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;
	}
	
	form#form-footer {
		margin-top: calc((36 / var(--base-w-mobile)) * 100vw);
		margin-bottom: calc(var(--page-margin) * 0.5);
	}
	
	.bt-solid,
	form input, 
	form textarea,
	form select,
	form label,
	form p,
	form button[type="submit"],
	form input[type="checkbox"]:before,
	form input[type="checkbox"]:after {
		font-size: calc((14 / var(--base-w-mobile)) * 100vw);
		line-height: calc((20 / 14) * 1em);
	}
	
	form input[type="checkbox"]:before,
	form input[type="checkbox"]:after {
		line-height: 1em;
	}
	
	form input[type="checkbox"]:after {
		content: "\2715";
		display: block;
		position: absolute;
		width: calc((14 / var(--base-w-mobile)) * 100vw);
		height: calc((14 / var(--base-w-mobile)) * 100vw);
		left: 2px;
		top: 2px;
		font-family: Arial, sans-serif;
		text-align: center;
		font-size: calc((10 / var(--base-w-mobile)) * 100vw);
		line-height: calc((14 / var(--base-w-mobile)) * 100vw);
	}
	
	/*form label:not(.checkbox) span {
		display: inline-block;
		position: absolute;
		border: solid 2px rgba(0,0,0,0);
		margin: calc((11 / 20) * 1em) calc((24 / 20) * 1em);
		padding: 0 calc((4 / 20) * 1em);
		transform-origin: left bottom;
		transition: color 0.4s linear, transform 0.4s var(--transition-timing-ease-in-out);
		z-index: 10;
	}

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

	form label:not(.checkbox) span:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background: rgb(var(--color-crimson));
		opacity: 0;
		transform: scale(0, 0.8) translateY(-115%);
		transform-origin: left top;
		transition: opacity 0.2s 0.2s linear, transform 0.4s var(--transition-timing-ease-in-out);
		z-index: -1;
	}

	form label.focus-in span:before {
		opacity: 1;
		transform: scale(1, 1) translateY(0);
		transition: opacity 0.2s linear, transform 0.4s 0.2s var(--transition-timing-ease-in-out);
	}

	form input:-webkit-autofill,
	form input:-webkit-autofill:hover, 
	form input:-webkit-autofill:focus, 
	form input:-webkit-autofill:active {
		-webkit-text-fill-color: rgb(var(--color-white));
		-webkit-box-shadow: 0 0 0 60px rgb(var(--color-crimson)) inset !important;
		box-shadow: 0 0 0 60px rgb(var(--color-crimson)) inset !important;
	}

	form label.checkbox {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-gap: 1em;
		align-items: center;
		width: calc(100% - 2em);
		margin-right: 1em;
		margin-left: 1em;
		padding: 0;
		transform: none;
	}

	form 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 input[type="checkbox"]:before,
	form input[type="checkbox"]:after {
		content: "";
		display: block;
		min-height: 0vh;
		font-size: calc((28 / 20) * clamp(16px, (20 / var(--base-w)) * 100vw, 20px));
		line-height: 1em;
	}

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

	form input[type="checkbox"]:after {
		content: "\2715";
		position: absolute;
		width: calc(1em - 6px);
		height: calc(1em - 6px);
		left: 5px;
		top: 5px;
		opacity: 0;
		transition: opacity 0.2s linear;
	}*/
	
	
	.box-reveal {
		--br-h: calc(100vh - (var(--page-margin) * 4));
		margin-top: calc(var(--page-margin) * 2);
		padding-bottom: 0;
	}

	.box-reveal:after {
		--bra-h: calc(var(--page-margin) * 2);
		height: var(--bra-h);
		background-image: 
			linear-gradient(rgba(var(--color-white),0.5), rgba(var(--color-white),0.5)),
			linear-gradient(rgba(var(--color-pink),0), rgba(var(--color-pink),1) calc((var(--page-margin) * 2) - (((24 / 20) * 1em) * 1.5)));
		background-position: 
			left calc((var(--page-margin) * 2) - (((24 / 20) * 1em) * 1.5)),
			left top;
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
	}
	
	.story > div > div {
		grid-column: 1 / -1;
		grid-row-start: 1;	
	}
	
	.story img.img-fit-auto {
		top: calc(50vh - (((364 / var(--base-w-mobile)) * 100vw) * ((2458 / 1270) / 2))) !important;
		opacity: 0.2;
	}
	
	/*.story img.img-fit-auto {
		display: block;
		position: sticky !important;
		top: calc(50vh - (min(635px, (635 / var(--base-w)) * 100vw) * ((2458 / 1270) / 2))) !important;
		mix-blend-mode: screen;
		opacity: 0.75;
	}*/
	
	div.book-an-appointment {
		bottom: calc(var(--page-margin) * -0.25);
		padding: calc(var(--page-margin) * 0.25) 0;
		padding-bottom: calc(var(--page-margin) * 0.5);
	}

	div.book-an-appointment a:before {
		--baa-w: min((var(--base-w) * 1px) - (var(--page-margin) * 2), 100vw - (var(--page-margin) * 2));
		bottom: calc(var(--page-margin) * -0.5);
	}
	
	div.back-to-top {
		--baa-h: calc((var(--page-margin) * 0.25) + ((37 / 30) * ((30 / var(--base-w-mobile)) * 100vw)));
		bottom: calc(((66 / var(--base-w-mobile)) * 100vw) + ((-20 / var(--base-w-mobile)) * 100vw) + (var(--page-margin) * 1) + var(--baa-h));
	}
	
	div.back-to-top a {
		width: calc((40 / var(--base-w-mobile)) * 100vw);
		height: calc((66 / var(--base-w-mobile)) * 100vw);
		right: calc(((-20 / var(--base-w-mobile)) * 100vw) + (var(--page-margin) * 0.5));
		top: calc(var(--page-margin) * 0.5);
	}
	
	div.back-to-top a:after {
		background-size: calc(((30 / var(--base-w-mobile)) * 100vw) * (2 / 3)) calc(((56 / var(--base-w-mobile)) * 100vw) * (2 / 3));
	}
	/*div.back-to-top {
		--baa-h: calc((var(--page-margin) * 0.25) + ((37 / 30) * clamp(20px, (30 / var(--base-w)) * 100vw, 30px)));
		display: none;
		position: sticky;
		bottom: calc(min(66px, (66 / var(--base-w)) * 100vw) + max(-20px, (-20 / var(--base-w)) * 100vw) + (var(--page-margin) * 1) + var(--baa-h));
		z-index: 200;
	}

	body:has(header.fixed) div.back-to-top {
		display: block;
	}

	div.back-to-top a {
		display: block;
		position: absolute;
		width: min(40px, (40 / var(--base-w)) * 100vw);
		height: min(66px, (66 / var(--base-w)) * 100vw);
		right: calc(max(-20px, (-20 / var(--base-w)) * 100vw) + (var(--page-margin) * 0.5));
		top: calc(var(--page-margin) * 0.5);
		background: rgba(var(--color-crimson),1);
		border-radius: 9999px;
	}

	div.back-to-top a:after {
		content: "";
		display: block;
		position: absolute;
		width: calc(100% - 8px);
		height: calc(100% - 8px);
		left: 2px;
		top: 2px;
		background: url("../images/ico-arrow-next.svg") center center no-repeat;
		background-size: calc(min(30px, (30 / var(--base-w)) * 100vw) * (2 / 3)) calc(min(56px, (56 / var(--base-w)) * 100vw) * (2 / 3));
		border: solid 2px rgb(var(--color-white));
		border-radius: 9999px;
		transform: scaleY(-1);
	}*/
	
	
	
	footer > div.content {
		grid-template-columns: auto;
		grid-column-gap: var(--page-margin);
		grid-row-gap: calc(var(--page-margin) * 0.5);
	}
	
	footer > div.content > *:not(.footer-form),
	footer .footer-form h2{
		text-align: center;
	}
	
	footer .footer-form button[type="submit"] {
		margin: 0 auto;
	}
	
	footer .social-networks {
		justify-content: center;
		column-gap: 1em;
		font-size: 1.5em;
	}
	
	footer div.copyright {
		font-size: calc((12 / var(--base-w-mobile)) * 100vw);
		line-height: calc((18 / 12) * 1em);
		margin-top: calc(var(--page-margin) * 0.5);
	}
	
	
	/*footer {
		display: block;
		position: relative;
		background-color: rgb(var(--color-crimson));
		color: rgb(var(--color-white));
	}

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

	footer .social-networks {
		display: flex;
		column-gap: calc((8 / 24) * 1em);
	}

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

	footer div.copyright {
		grid-column: 1 / -1;
		color: rgb(var(--color-warm-grey));
		font-weight: 300;
		font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
		line-height: calc((28 / 18) * 1em);
		text-align: center;
		margin-top: min(50px, (50 / var(--base-w)) * 100vw);
	}

	footer div.copyright span {
		font-weight: 400;
		font-size: clamp(12px, (16 / var(--base-w)) * 100vw, 16px);
		text-transform: uppercase;
	}*/
	
	.animate-words.no-br br {
		display: none !important;
	}
}

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