@charset "UTF-8";

:root {
	/*--color-beige-1: 225,211,191;
	--color-beige-2: 232,222,207;
	--color-beige-3: 240,233,223;
	--color-beige-4: 247,244,239;
	--color-black: 0,0,0;
	--color-blue-1: 20,36,47;
	--color-blue-2: 81,91,99;
	--color-blue-3: 140,146,151;
	--color-blue-4: 196,199,202;
	--color-khaki-1: 173,152,84;
	--color-khaki-2: 193,178,127;
	--color-khaki-3: 214,203,169;
	--color-khaki-4: 234,229,212;
	--color-orange-1: 225,105,55;
	--color-orange-2: 222,148,114;
	--color-orange-3: 233,183,161;
	--color-orange-4: 244,219,208;
	--color-white: 255,255,255;
	--transition-duration-bt: 0.4s;
	--transition-timing-linear: linear;
	--transition-timing-ease-out: cubic-bezier(0,0.6,0.4,1);*/

	--color-black: 0,0,0;
	--color-blue: 23,43,68; /* #172B44 */
	--color-brown: 138,108,47; /* #8a6c2f */
	--color-green-dark: 58,95,45; /* #3A5F2D */
	--color-green: 203,244,111; /* #CBF46F */
	--color-grey: 227,227,229; /* #E3E3E5 */
	--color-lavender: 217,219,239; /* #D9DBEF */
	--color-orange: 252,138,97; /* #FC8A61 */
	--color-peach: 250,231,215; /* #FAE7D7 */
	--color-pink: 243,154,193; /* #f39ac1 */
	--color-purple: 152,157,208; /* #989DD0 */
	--color-red: 198,89,97; /* #C65961 */
	--color-white: 255,255,255;
	
	--transition-timing-ease-in-out: cubic-bezier(0.6,0,0.4,1);
	
	/*--page-margin: clamp(min(48px, (48 / 414) * 100vw), (100 / 1400) * 100vw, 100px);
	--page-margin-neg: calc(var(--page-margin) * -1);
	--page-gap: var(--page-margin);
	--page-gap-neg: var(--page-margin-neg);
	--grid-column-gap: clamp(min(24px, (24 / 414) * 100vw), (24 / 1400) * 100vw, 24px);
	--grid-column-w: calc((min(1400px, 100vw) - (var(--page-margin) * 2) - (11 * var(--grid-column-gap))) / 12);
	--header-img-h: max(360px, 100vh - (50px + var(--page-margin) + min(154px, (154 / 1400) * 100vw)));*/
	--base-w: 1920;
	--base-w-mobile: 414;
	--page-margin: clamp(min(20px, (20 / var(--base-w-mobile)) * 100vw), (100 / var(--base-w)) * 100vw, 100px);
	--page-margin-neg: calc(var(--page-margin) * -1);
	--page-gap: var(--page-margin);
	--page-gap-neg: var(--page-margin-neg);
	/*--page-margin-mobile: min(36px, (36 / var(--base-w-mobile)) * 100vw);*/
	--grid-column-gap: clamp(0px, (50 / var(--base-w)) * 100vw, 50px);
	--grid-column-w: calc((min(var(--base-w) * 1px, 100vw) - (var(--page-margin) * 2) - (11 * var(--grid-column-gap))) / 12);
	--grid-row-gap: clamp(0px, (56 / var(--base-w)) * 100vw, 56px);
	/*--header-img-h: min(100vh, (3 / 4) * 100vw);*/
	--header-img-h: min(100vh, (1080 / 1920) * 100vw);
}

html {
	height: 100%;
	font-family: "Bricolage Grotesque", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
}

body {
	width: 100%;
	height: 100%;
	background-color: rgb(var(--color-blue));
	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 {
	background: rgb(var(--color-khaki-1));
	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;
	margin: 0;
    padding: 0;
	transform: translateY(0);
    z-index: 200;
}

header:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: linear-gradient(rgba(var(--color-blue),1) 25%, rgba(var(--color-blue),0));
	opacity: 0;
	transition: opacity 0.4s linear;
	z-index: -1;
}

body.top header {
    position: fixed;
}

header.fixed {
    position: fixed;
	/*background: rgba(var(--color-black),0.5);*/
	/*transform: translateY(clamp(-20px * 2.3, ((-20 * 2.3) / var(--base-w)) * 100vw, -16px * 2.3));*/
	transition: transform 0.6s;
}

header.fixed:before {
	opacity: 0.75;
}

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

header nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
    max-width: calc(var(--base-w) * 1px);
    margin: 0 auto;
	padding: calc((66 / var(--base-w)) * 100vw) var(--page-margin);
	z-index: 10;
}

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

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

header nav ul.main,
footer nav ul {
	min-height: 0vh;
	justify-content: space-between;
	align-items: center;
	column-gap: min(35px, (35 / var(--base-w)) * 100vw);
	/*font-weight: 500;
	font-size: clamp(16px, (25 / var(--base-w)) * 100vw, 25px);
	letter-spacing: 0.05em;*/
}

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

header nav ul.main li.home img,
footer .logo img {
	width: auto;
	height: clamp(32px, 50px, (50 / var(--base-w))* 100vw);
}

.bt {
	background: rgb(var(--color-blue));
	border: solid 1px rgb(var(--color-white));
	border-radius: 9999px;
	color: rgb(var(--color-white));
	font-size: clamp(18px, (25 / var(--base-w)) * 100vw, 25px);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: calc((31 / 25) * 1em);
	text-transform: uppercase;
    padding: calc((10 / 25) * 1em) calc((50 / 25) * 1em);
}

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

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

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

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

.bt-virtual-tour {
	font-family: "Bricolage Grotesque", sans-serif;
	background: rgb(var(--color-beige-3));
	color: rgb(var(--color-orange-1));
}

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

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

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

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

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

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

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

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

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

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

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

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

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

header nav ul.expand,
footer nav ul {
	align-items: center;
	column-gap: min(80px, (80 / var(--base-w)) * 100vw);
	font-weight: 500;
	font-size: clamp(16px, (25 / var(--base-w)) * 100vw, 25px);
	letter-spacing: 0.05em;
}

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

header nav ul.expand li.register {
	border: solid 2px rgb(var(--color-white));
	border-radius: 9999px;
	padding: calc((5 / 25) * 1em) calc((35 / 25) * 1em);
}

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

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

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

header nav ul.expand li:not(.register) a:after,
footer nav ul li a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0;
	bottom: -1px;
	background-color: rgb(var(--color-lavender));
	transform: scaleX(0);
	transform-origin: right top;
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);	
}

header nav ul.expand li:not(.register):hover a:after,
header nav ul.expand li:not(.register).active a:after,
footer nav ul li:hover a:after,
footer nav ul li.active a:after {
	transform: scaleX(1);
	transform-origin: left top;
	transition-delay: 0.4s;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

main {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	position: relative;
}

section {
    display: block;
    position: relative;
}

section > div {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: var(--grid-column-gap);
	max-width: calc(var(--base-w) * 1px);
	position: relative;
    margin: 0 auto;
	padding: 0 var(--page-margin);
}

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

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

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

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

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

ul.list li {
	position: relative;
}

ul.list li.expandable-list {
	min-height: 0vh;
	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;
	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("../upload/images/ico-chevron.svg") center center no-repeat;
	background-size: contain;
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

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

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

strong {
    font-weight: 700;
}

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

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

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

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

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

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

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

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

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

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

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

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

.grecaptcha-badge { 
    visibility: hidden;
}


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


section.header > div {
	display: block;
	max-width: none;
	padding: 0;
	/*padding-top: calc(var(--header-h) * 1px);*/
}

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

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

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

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

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

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

section.header .text {
	/*display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	max-width: calc(var(--base-w) * 1px);
	height: 100%;
	margin: 0 auto;
	padding: 0 var(--page-margin);
	z-index: 10;*/
	display: block;
	position: absolute;
	right: max(((100vw - (var(--base-w) * 1px)) * 0.5) + var(--page-margin), var(--page-margin));
	top: min(260px, (260 / var(--base-w)) * 100vw);
	text-align: right;
	z-index: 20;
}

section.header .text h2 {
	color: rgb(var(--color-green));
	font-size: clamp(16px, (150 / var(--base-w) * 100vw), 150px);
	font-weight: 200;
	line-height: calc((150 / 150) * 1em);
	text-transform: uppercase;
}

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

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

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

section.header .bt-next {
	display: inline-block;
	position: relative;
	width: min(97px, (97 / var(--base-w)) * 100vw);
	height: min(195px, (195 / var(--base-w)) * 100vw);
	margin-top: min(55px, (55 / var(--base-w)) * 100vw);
}

section.header .bt-next:after {
	content: "";
	display: block;
	position: absolute;
	width: min(195px, (195 / var(--base-w)) * 100vw);
	height: min(195px, (195 / var(--base-w)) * 100vw);
	left: max((97 - 195) * 0.5px, (((97 - 195) * 0.5) / var(--base-w)) * 100vw);
	background: rgb(var(--color-green));
	-webkit-clip-path: url(#header-arrow);
	clip-path: url(#header-arrow);
}






section.tree-cols-full > div {
	display: block;
	padding: min(50px, (50 / var(--base-w)) * 100vw);
}

section.tree-cols-full > div > div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: min(50px, (50 / var(--base-w)) * 100vw);
}

section.tree-cols-full > div > div > div > picture {
	display: block;
	position: relative;
	padding-top: calc((725 / 592) * 100%);
}

section.tree-cols-full > div > div > div > picture > img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
}

section.tree-cols-full > div > div > div > div {
	color: rgb(var(--color-white));
	/*font-size: clamp(20px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((31 / 25) * 1em);*/
	padding: min(50px, (50 / var(--base-w)) * 100vw);
}

section.tree-cols-full > div > div > div:nth-child(1) {
	background: rgb(var(--color-red));
}

section.tree-cols-full > div > div > div:nth-child(2) {
	background: rgb(var(--color-orange));
}

section.tree-cols-full > div > div > div:nth-child(3) {
	background: rgb(var(--color-green-dark));
}

section.tree-cols-full > div > div > div > div p + p {
	margin-top: calc((19 / 25) * 1em);
}

a.bt-more {
	display: inline-block;
	text-transform: uppercase;
}

a.bt-more:after {
	content: "";
	display: block;
	position: relative;
	width: 100%;
	height: 2px;
	background: rgb(var(--color-white));
	margin-top: 2px;
}


/*************************************
	Scrolling banner
 *************************************/


section.scrolling-banner {
	width: 100vw;
	/*font-size: clamp(21px, (65 / var(--base-w) * 100vw), 65px);*/
	padding: calc((115 / var(--base-w)) * 100vw) 0 calc((150 / var(--base-w)) * 100vw) 0 ;
}

section.scrolling-banner > div {
	display: block;
	width: 100vw;
	padding: 0;
}

section.scrolling-banner > div > div {
	display: flex;
	align-items: center;
	grid-template-columns: auto;
	grid-column-gap: 0;
	position: relative;
	width: 100vw;
	height: min(340px, (340 / var(--base-w)) * 100vw);
	color: rgb(var(--color-green));
	font-family: "gloridot", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: min(400px, (400 / var(--base-w)) * 100vw);
	margin: 0;
	padding: 0;
	overflow: hidden;
}

section.scrolling-banner div.scrolling-banner-container {
	display: flex;
	flex-flow: row nowrap;
	position: absolute;
	white-space: nowrap;
	/*animation: kf-translateX 80s linear infinite both;*/
}

section.scrolling-banner div.scrolling-banner-container.animate {
	animation: kf-translateX 40s linear infinite both;
}

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


/*************************************
	???
 *************************************/


section.inclusions > div {
	display: block;
	/*max-width: none;
	margin: 0;*/
	padding: 0;
}

section.inclusions > div > div {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	position: relative;
	padding: 0;
}

section.inclusions > div > div > div {
	position: relative;
	height: min(1080px, (1080 / 960) * 50vw);
	overflow: hidden;
}

section.inclusions > div > div > div > picture:only-child img,
section.inclusions > div > div > div > object:only-child {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.inclusions > div > div > div:nth-child(2) {
	background: #a1a7d2;
}

section.inclusions > div > div > div.text {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
}

section.inclusions.accueil > div > div > div.text {
	align-items: center;
	text-align: center;
}

section.inclusions.accueil > div > div > div.text h2 {
	display: inline-block;
	border-bottom: solid rgb(var(--color-blue)) calc((6 / 100) * 1em);
	font-size: clamp(28px, (100 / var(--base-w)) * 100vw, 100px);
	font-weight: 300;
	line-height: 1em;
	text-transform: uppercase;
	padding-bottom: calc((66 / 100) * 1em);
}

section.inclusions.accueil > div > div > div.text p {
	display: inline-block;
	font-size: clamp(24px, (30 / var(--base-w)) * 100vw, 30px);
	line-height: calc((36 / 30) * 1em);
	text-transform: uppercase;
}

section.inclusions.accueil > div > div > div.text ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	column-gap: min(25px, (25 / var(--base-w)) * 100vw);
	row-gap: min(25px, (25 / var(--base-w)) * 100vw);
	/*margin: min((100 / var(--base-w)) * 100vw, 100px) -100px;*/
	margin: min((100 / var(--base-w)) * 100vw, 100px) 0;
}

section.inclusions.accueil > div > div > div.text ul > li {
	background: rgb(var(--color-grey));
	border: solid calc((3 / 30) * 1em) rgb(var(--color-blue));
	border-radius: 9999px;
	display: inline-block;
	font-size: min((30 / var(--base-w)) * 100vw, 30px);
	line-height: calc((36 / 30) * 1em);
	text-transform: uppercase;
	padding: calc((4 / 30) * 1em) calc((22 / 30) * 1em);
}

section.inclusions.projet > div > div > div.text {
	align-items: flex-start;
	padding: 0 var(--page-margin);
}

section.inclusions.projet > div > div > div.text h2,
section.lifestyle .text h2,
section.pms .text h2,
section.liste-poi .text h2,
section.contact .text h2 {
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(28px, (100 / var(--base-w)) * 100vw, 100px);
	line-height: 1em;
}

section.inclusions.projet > div > div > div.text h2,
section.liste-poi .text h2,
section.contact .text h2 {
	display: inline-block;
	padding-bottom: calc((66 / 100) * 1em);
}

/*section.tree-cols-full > div > div > div > div,
section.inclusions.projet > div > div > div.text p {
	font-size: clamp(20px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((31 / 25) * 1em);
}*/

section.inclusions.projet > div > div > div.text p {
	display: inline-block;
}

/*section.inclusions.projet > div > div > div.text p + p {
	margin-top: calc((31 / 25) * 1em);
}*/

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

section.inclusions > div > div > div.bckg-red {
	background: rgb(var(--color-red));
	color: rgb(var(--color-white));
}

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

section.caracteristiques > div {
	display: block;
	padding-top: min(200px, (200 / var(--base-w)) * 100vw);
	padding-bottom: min(200px, (200 / var(--base-w)) * 100vw);
}

section.caracteristiques > div > div > ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: var(--grid-column-gap);
	grid-row-gap: min(100px, (100 / var(--base-w)) * 100vw);
	justify-items: center;
	position: relative;
	padding: 0;
}

section.caracteristiques > div > div > ul > li {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	row-gap: calc((36 / 30) * 1em);
	color: rgb(var(--color-white));
	font-size: min((30 / var(--base-w)) * 100vw, 30px);
	line-height: calc((36 / 30) * 1em);
	text-align: center;
	padding: 0 min(50px, (50 / var(--base-w)) * 100vw);
}

section.caracteristiques > div > div > ul > li > picture > img {
	width: calc((345 / 30) * 1em);
	height: auto;
}

section.lifestyle > div,
section.universites > div {
	padding-top: min(200px, (200 / var(--base-w)) * 100vw);
	padding-bottom: min(200px, (200 / var(--base-w)) * 100vw);
}

section.lifestyle .text,
section.universites .text {
	grid-column: 7 / span 6;
	position: sticky;
	top: calc(50% - (var(--h) * 0.5px));
	color: rgb(var(--color-white));
	z-index: 20;
}

section.lifestyle .text:before,
section.universites .text:before {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% + 100px);
	height: calc(100% + 100px);
	left: -50px;
	top: -50px;
	background: rgba(var(--color-blue),0.5);
	filter: blur(50px);
	z-index: -1;
}

section.tree-cols-full > div > div > div > div,
section.inclusions.projet > div > div > div.text p,
section.lifestyle .text p,
section.pms p,
form[name="pms-type-selector"] label.checkbox span,
.pms-unit-selector p,
.pms-floor-plan .street-name,
.pms-unit,
section.universites .text p,
section.universites .text ul,
section.liste-poi .text p,
.poi,
.poi li.expandable-list button,
section.contact .text p,
form#form-contact h3,
form#form-contact .interests label.checkbox span,
footer > div.content h3 {
	font-size: clamp(14px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((31 / 25) * 1em);
}

section.universites .text ul li {
	position: relative;
	margin-left: calc((20 / 25) * 1em);
	padding-left: calc((20 / 25) * 1em);
}

section.universites .text ul li:before {
    content: "\25AA";
    display: inline-block;
    position: absolute;
    left: 0;
	font-size: 0.6em;
}

section.universites .text ul li + li {
	margin-top: calc((31 / 25) * 1em);
}

section.lifestyle .text h2 + p,
section.pms .text h2 + p,
section.universites .text h2 + p {
	margin-top: calc((60 / 25) * 1em);
}

section.inclusions.projet > div > div > div.text p + p,
section.lifestyle .text p + p,
section.pms p + p,
section.universites .text p + p,
section.universites .text p + ul,
section.universites .text ul + P,
section.liste-poi .text p + p,
section.contact .text p + p {
	margin-top: calc((31 / 25) * 1em);
}

section.lifestyle .polaroids,
section.universites .polaroids {
	grid-column: 1 / -1;
	overflow: hidden;
	margin: 0 var(--page-margin-neg);
	/*margin-bottom: max(-200px, (-200 / var(--base-w)) * 100vw);*/
	padding: min(100px, (100 / var(--base-w)) * 100vw);
	padding-bottom: 75vh;
	
	/*background: rgba(255,0,0,0.25);*/
}

section.lifestyle .polaroids ul,
section.universites .polaroids ul {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
}

section.lifestyle .polaroids li,
section.universites .polaroids li {
	grid-column-end: span 3;
	display: block;
	/*width: min(500px, (500 / var(--base-w)) * 100vw);
	height: min(635px, (635 / var(--base-w)) * 100vw);
	border: solid min(30px, (30 / var(--base-w)) * 100vw) rgb(var(--color-white));
	border-bottom-width: min(165px, (165 / var(--base-w)) * 100vw);
	box-shadow: min(10px, (10 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) rgba(var(--color-black),0.2);*/
}

section.lifestyle .polaroids li > div,
section.universites .polaroids li > div {
	/*grid-column-end: span 3;*/
	display: block;
	position: relative;
	width: min(500px, (500 / var(--base-w)) * 100vw);
	height: min(635px, (635 / var(--base-w)) * 100vw);
	border: solid min(30px, (30 / var(--base-w)) * 100vw) rgb(var(--color-white));
	border-bottom-width: min(165px, (165 / var(--base-w)) * 100vw);
	box-shadow: min(10px, (10 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) rgba(var(--color-black),0.2);
}

section.universites .polaroids li {
	grid-column-end: span 5;
	/*width: min(670px, (670 / var(--base-w)) * 100vw);
	height: min(880px, (880 / var(--base-w)) * 100vw);
	border-width: min(40px, (40 / var(--base-w)) * 100vw);
	border-bottom-width: min(250px, (250 / var(--base-w)) * 100vw);*/
}

section.universites .polaroids li > div {
	/*grid-column-end: span 5;*/
	width: min(670px, (670 / var(--base-w)) * 100vw);
	height: min(880px, (880 / var(--base-w)) * 100vw);
	border-width: min(40px, (40 / var(--base-w)) * 100vw);
	border-bottom-width: min(250px, (250 / var(--base-w)) * 100vw);
}

section.lifestyle .polaroids li:nth-child(4n+1) > div,
section.universites .polaroids li:nth-child(4n+1) > div {
	position: relative;
	transform: translate(calc(50% - (50% * var(--p))), calc(75% - (75% * var(--p))));
}

section.lifestyle .polaroids li:nth-child(4n+2) > div,
section.universites .polaroids li:nth-child(4n+2) > div {
	position: relative;
	transform: translate(calc(-50% - (-50% * var(--p))), calc(25% - (25% * var(--p))));
}

section.lifestyle .polaroids li:nth-child(4n+3) > div,
section.universites .polaroids li:nth-child(4n+3) > div {
	position: relative;
	transform: translate(calc(25% - (25% * var(--p))), calc(125% - (125% * var(--p))));
}

section.lifestyle .polaroids li:nth-child(4n+4) > div,
section.universites .polaroids li:nth-child(4n+4) > div {
	position: relative;
	transform: translate(calc(-25% - (-25% * var(--p))), calc(50% - (50% * var(--p))));
}

section.lifestyle .polaroids li:nth-child(1) {
	grid-column-start: 2;
	transform: rotate(-1deg);
	z-index: 10;
}

section.lifestyle .polaroids li:nth-child(2) {
	grid-column-start: 1;
	transform: translate(max(-100px, (-100 / var(--base-w)) * 100vw), max(-40px, (-40 / var(--base-w)) * 100vw));
	z-index: 9;
}

section.lifestyle .polaroids li:nth-child(3) {
	transform: rotate(2deg) translate(min(30px, (30 / var(--base-w)) * 100vw), min(60px, (60 / var(--base-w)) * 100vw));
	z-index: 8;
}

section.lifestyle .polaroids li:nth-child(4) {
	grid-column-start: 10;
	transform: translate(min(40px, (40 / var(--base-w)) * 100vw), max(-60px, (-60 / var(--base-w)) * 100vw));
	z-index: 7;
}

section.lifestyle .polaroids li:nth-child(5) {
	grid-column-start: 7;
	transform: translate(max(-40px, (-40 / var(--base-w)) * 100vw), max(-30px, (-30 / var(--base-w)) * 100vw));
	z-index: 6;
}

section.lifestyle .polaroids li:nth-child(6) {
	transform: rotate(3deg) translate(max(-50px, (-50 / var(--base-w)) * 100vw), max(-180px, (-180 / var(--base-w)) * 100vw));
	grid-column-start: 3;
	z-index: 5;
}

section.lifestyle .polaroids li:nth-child(7) {
	transform: rotate(5deg) translate(max(-60px, (-60 / var(--base-w)) * 100vw), min(60px, (60 / var(--base-w)) * 100vw));
	grid-column-start: 8;
	z-index: 4;
}

section.lifestyle .polaroids li:nth-child(8) {
	grid-column-start: 2;
	transform: rotate(1deg) translate(max(-40px, (-40 / var(--base-w)) * 100vw), max(-40px, (-40 / var(--base-w)) * 100vw));
	z-index: 3;
}

section.lifestyle .polaroids li:nth-child(9) {
	transform: rotate(-4deg) translate(max(-40px, (-40 / var(--base-w)) * 100vw), max(-40px, (-40 / var(--base-w)) * 100vw));
	grid-column-start: 10;
	z-index: 2;
}

section.universites .polaroids li:nth-child(1) {
	grid-column-start: 1;
	grid-row-start: 1;
	transform: rotate(2deg);
	z-index: 10;
}

section.universites .polaroids li:nth-child(2) {
	grid-column-start: 5;
	grid-row-start: 1;
	transform: rotate(-7deg) translateY(min(500px, (500 / var(--base-w)) * 100vw));
	z-index: 9;
}

section.universites .polaroids li:nth-child(3) {
	grid-column-start: 10;
	grid-row-start: 1;
	transform: rotate(1deg) translate(min(50px, (50 / var(--base-w)) * 100vw), min(300px, (300 / var(--base-w)) * 100vw));
	z-index: 8;
}

section.universites .polaroids li:nth-child(4) {
	grid-column-start: 3;
	grid-row-start: 2;
	transform: rotate(5deg) translate(max(-150px, (-150 / var(--base-w)) * 100vw), min(300px, (300 / var(--base-w)) * 100vw));
	z-index: 8;
}

section.universites .polaroids li:nth-child(5) {
	grid-column-start: 7;
	grid-row-start: 2;
	transform: rotate(-3deg) translate(0, min(500px, (500 / var(--base-w)) * 100vw));
	z-index: 8;
}

section.lifestyle .polaroids li figcaption,
section.universites .polaroids li figcaption {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	position: absolute;
	width: 100%;
	height: min(165px, (165 / var(--base-w)) * 100vw);
	left: 0;
	bottom: max(-165px, (-165 / var(--base-w)) * 100vw);
	color: rgb(var(--color-blue));
	font-family: "Reenie Beanie", cursive;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(16px, (50 / var(--base-w) * 100vw), 50px);
	line-height: calc((40 / 50) * 1em);
	padding: 0 min(15px, (15 / var(--base-w)) * 100vw);
}

section.universites .polaroids li figcaption {
	height: min(250px, (250 / var(--base-w)) * 100vw);
	bottom: max(-250px, (-250 / var(--base-w)) * 100vw);
	font-size: clamp(20px, (60 / var(--base-w) * 100vw), 60px);
	line-height: calc((45 / 60) * 1em);
	padding: 0 min(20px, (20 / var(--base-w)) * 100vw);
}

section.lifestyle .polaroids li img,
section.universites .polaroids li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}






section.types > div {
	display: block;
	padding: min(50px, (50 / var(--base-w)) * 100vw);
}

section.types .unit-showcase {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: min(50px, (50 / var(--base-w)) * 100vw);
}

section.types .unit-showcase li {
	--cpw: min(90px, (90 / var(--base-w)) * 100vw);
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	background: rgb(var(--color-white));
	padding-top: min(40px, (40 / var(--base-w)) * 100vw);
	transition: background-color 0.2s linear;
}

section.types .unit-showcase li.active,
section.types .unit-showcase li.active > div > div {
	background: rgb(var(--color-green));
}

section.types .unit-showcase li h3 {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	color: rgb(var(--color-blue));
	font-size: clamp(20px, (25 / var(--base-w)) * 100vw, 25px);
	font-weight: 600;
	line-height: calc((31 / 25) * 1em);
	margin-bottom: calc((60 / 25) * 1em);
}

section.types .unit-showcase li h3 span {
	display: block;
	width: 100%;
	border-bottom: solid calc((6 / 25) * 1em) rgb(var(--color-blue));
	text-align: center;
	padding: 0 calc((50 / 25) * 1em) calc((12 / 25) * 1em) calc((50 / 25) * 1em);
}

section.types .unit-showcase li h3 strong {
	display: inline-block;
	font-size: min(150px, (150 / var(--base-w)) * 100vw);
	font-weight: 300;
	line-height: calc((100 / 150) * 1em);
	margin: calc((30 / 150) * 1em) 0 calc((10 / 150) * 1em) 0;
}

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

section.types .unit-showcase li a {
	margin: min(60px, (60 / var(--base-w)) * 100vw) 0;
}

section.types .unit-showcase li p {
	font-size: clamp(16px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((31 / 25) * 1em);
	text-align: center;
	padding: 0 calc((80 / 25) * 1em);
}

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

section.types .unit-showcase li > div {
	flex-grow: 1;
	display: block;
	position: relative;
	width: 100%;
	background: rgb(var(--color-blue));
}

section.types .unit-showcase li > div > div {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	background: rgb(var(--color-white));
	clip-path: polygon(0 0, 100% 0, 100% 0, calc(50% + var(--cpw)) 0, 50% var(--cpw), calc(50% - var(--cpw)) 0, 0 0);
	/*padding-bottom: min(80px, (80 / var(--base-w)) * 100vw);*/
	padding-bottom: min(120px, (120 / var(--base-w)) * 100vw);
	transition: background-color 0.2s linear, clip-path 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

section.types .unit-showcase li.active > div > div {
	/*clip-path: polygon(0 0, 100% 0, 100% 100%, calc(50% + var(--cpw)) 100%, 50% calc(100% + var(--cpw)), calc(50% - var(--cpw)) 100%, 0 100%);*/
	clip-path: polygon(0 0, 100% 0, 100% 100%, calc(50% + var(--cpw)) 100%, 50% calc(100% - var(--cpw)), calc(50% - var(--cpw)) 100%, 0 100%);
}

section.types .unit-showcase li > div > div * {
	opacity: 0;
	transition: opacity 0.2s linear;
}

section.types .unit-showcase li.active > div > div * {
	opacity: 1;
}

section.types .unit-showcase li > div:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

section.murphy-bed > div {
	display: block;
	padding: 0;
}

section.murphy-bed > div > div {
	position: relative;
}

section.murphy-bed > div > div > picture:last-of-type {
	position: absolute;
	left: 0;
	top: 0;
	animation: kf-murphy-bed 2s linear both infinite;
}

section.murphy-bed > div > div > picture > img {
	width: min(var(--base-w) * 1px, 100vw);
	height: auto;
}

@keyframes kf-murphy-bed {
	10%, 40% {
		opacity: 0;
	}
	60%, 90% {
		opacity: 1;
	}
}


/*************************************
	Carte
 *************************************/


section.carte > div {
	display: block;
	margin: 0;
	padding: 0;
}

section.carte ul {
	--adj: calc(1920 / 1960);
	display: block;
	position: relative;
	width: min(var(--base-w) * 1px, 100vw);
	height: min(1080px, (1080 / var(--base-w)) * 100vw);
	background: url("../upload/images/carte.webp") center center no-repeat;
	background-size: cover;
	margin: 0 auto;
}

section.carte ul:before,
section.carte ul:after {
	content: "";
	display: block;
	position: absolute;
}

section.carte ul:before {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: url("../upload/images/carte-radius.svg") center center no-repeat;
	background-size: cover;
}

section.carte ul:after {
	--size: calc(min(136px, (136 / var(--base-w)) * 100vw) * var(--adj));
	width: var(--size);
	height: var(--size);
	left: calc(50% - (var(--size) * 0.5));
	top: calc(50% - (var(--size) * 0.5));
	background-image: 
		url("../upload/images/logo-4point3.svg"),
		radial-gradient(closest-side at 50%, rgba(var(--color-green),1) 65%, rgba(var(--color-green),0));
	background-position: center center;
	background-repeat: no-repeat;
	background-size:
		66%,
		100%;
}

section.carte li {
	--size: calc(min(112px, (112 / var(--base-w)) * 100vw) * var(--adj));
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	width: var(--size);
	height: var(--size);
	background: rgba(var(--color-blue),0.75) url("../upload/images/ico-ecole.svg") center center no-repeat;
	background-size: 100%;
	border-radius: 50%;
	color: rgb(var(--color-white));
	font-size: min(16px, (16 / var(--base-w)) * 100vw);
	font-weight: 600;
	text-align: center;
	opacity: 1;
	transform: scale(0.9) translate(-50%, -50%);
}

section.carte li.show {
	--td: 0s;
	opacity: 1;
	transform: scale(1) translate(-50%, -50%);
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

section.carte li:before {
	--size: calc(min(160px, (160 / var(--base-w)) * 100vw) * var(--adj));
	content: "";
	display: block;
	position: absolute;
	width: var(--size);
	height: var(--size);
	left: calc(50% - (var(--size) * 0.5));
	top: calc(50% - (var(--size) * 0.5));
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
}

section.carte li.mcgill {
	left: calc(min(870px, (870 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(220px, (220 / var(--base-w)) * 100vw) * var(--adj));
	transition-delay: calc(0 * var(--td));
}

section.carte li.concordia {
	left: calc(min(790px, (790 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(566px, (566 / var(--base-w)) * 100vw) * var(--adj));
	transition-delay: calc(1 * var(--td));
}

section.carte li.ets {
	left: calc(min(1326px, (1326 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(710px, (710 / var(--base-w)) * 100vw) * var(--adj));
	transition-delay: calc(2 * var(--td));
}

section.carte li.ctim {
	left: calc(min(1132px, (1132 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(290px, (290 / var(--base-w)) * 100vw) * var(--adj));
	font-size: min(14px, (14 / var(--base-w)) * 100vw);
	transition-delay: calc(3 * var(--td));
}

section.carte li.hec {
	left: calc(min(1290px, (1290 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(328px, (328 / var(--base-w)) * 100vw) * var(--adj));
	font-size: min(24px, (24 / var(--base-w)) * 100vw);
	transition-delay: calc(4 * var(--td));
}

section.carte li.dawson {
	left: calc(min(462px, (462 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(930px, (930 / var(--base-w)) * 100vw) * var(--adj));
	transition-delay: calc(5 * var(--td));
}

section.carte li.uqam {
	left: calc(min(1326px, (1326 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(110px, (110 / var(--base-w)) * 100vw) * var(--adj));
	font-size: min(24px, (24 / var(--base-w)) * 100vw);
	transition-delay: calc(6 * var(--td));
}

section.carte li.uqam:before {
	background-image: url("../upload/images/ico-ecole-nord.svg");
}

section.carte li.polytechnique {
	left: calc(min(110px, (110 / var(--base-w)) * 100vw) * var(--adj));
	top: calc(min(278px, (278 / var(--base-w)) * 100vw) * var(--adj));
	font-size: min(14px, (14 / var(--base-w)) * 100vw);
	transition-delay: calc(7 * var(--td));
}

section.carte li.polytechnique:before {
	background-image: url("../upload/images/ico-ecole-ouest.svg");
}


.privacy h1 {
	color: rgb(var(--color-green));
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(48px, (128 / var(--base-w)) * 100vw, 128px);
	line-height: calc((144 / 144) * 1em);
	margin-bottom: calc((128 / 128) * 1em);
}

.privacy h3 {
	color: rgb(var(--color-green));
	font-size: clamp(22px, (44 / var(--base-w)) * 100vw, 44px);
	line-height: calc((56 / 44) * 1em);
	text-decoration: underline;
	margin-top: calc((72 / 44) * 1em);
}

.privacy h4 {
	font-weight: 600;
	font-size: clamp(20px, (40 / var(--base-w)) * 100vw, 40px);
	line-height: calc((48 / 40) * 1em);
	margin-top: calc((48 / 40) * 1em);
}

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

.privacy h1 + h3 {
	margin-top: calc((52 / 44) * 1em);
}

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

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

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

.privacy > div > div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(50px, (100 / var(--base-w)) * 100vw, 100px) clamp(35px, (70 / var(--base-w)) * 100vw, 70px);
}

.privacy > div > div {
	grid-column: 2 / span 10;
	color: rgb(var(--color-white));
	margin-top: clamp(50px, (100 / var(--base-w)) * 100vw, 100px);
}

.privacy li h4 {
	margin-top: 0;
}

.privacy ol,
.privacy ul {
	display: flex;
	flex-direction: column;
	row-gap: calc((24 / 36) * 1em);
}

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

.privacy ol li,
.privacy ul li {
	position: relative;
	line-height: calc((48 / 36) * 1em);
	padding-left: 1.25em;
}

.privacy ol li:before {
    content: counter(count-ordered-list)".";
	counter-increment: count-ordered-list;
    content: "\25AA";
    display: inline-block;
    position: absolute;
    left: 0;
	font-size: 0.6em;
	color: rgb(var(--color-green));
}

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

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

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

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

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

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

/** Background blue **/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.icos li div {
	position: relative;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gallery ul li {
	position: relative;
}

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

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

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

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

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

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

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

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

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

}

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

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

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

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

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

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


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


section.map > div {
	/*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));*/
	
	display: block;
	/*max-width: calc(var(--base-w) * 1px);
	position: relative;
    margin: 0 auto;*/
	padding: 0;
}

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

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

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

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

div.gm-style-iw {
	border: none !important;
	box-shadow: none !important;
	color: rgb(var(--color-blue)) !important;
	font-family: "Bricolage Grotesque", 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;
}*/

section.liste-poi {
	background: rgb(var(--color-green-dark));
	color: rgb(var(--color-white));
	padding: min(200px, (200 / var(--base-w)) * 100vw) 0;
}

section.liste-poi .text,
section.liste-poi .map-nav {
	grid-column-end: span 6;
}

/*section.liste-poi .text h2 {
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: min(100px, (100 / var(--base-w)) * 100vw);
	line-height: 1em;
	padding-bottom: calc((66 / 100) * 1em);
}*/

/*section.liste-poi .text p {
	font-size: clamp(20px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((31 / 25) * 1em);
}*/

/*section.liste-poi .text p + p {
	margin-top: calc((31 / 25) * 1em);
}*/

.poi {
	display: flex;
	flex-flow: column nowrap;
	row-gap: calc((17 / 25) * 1em);
	/*margin-top: calc((17 / 25) * 1em);*/
	margin-top: min(50px, 50 / var(--base-w) * 100vw);
	padding-left: clamp(40px, (50 / var(--base-w)) * 100vw, 50px);
}

.poi,
.poi li.expandable-list button {
	position: relative;
	color: rgb(var(--color-white));
	/*font-size: clamp(20px, (25 / var(--base-w)) * 100vw, 25px);*/
	font-weight: 500;
	/*line-height: calc((31 / 25) * 1em);*/	
}

.poi li.expandable-list button:before {
	content: "";
	display: block;
	position: absolute;
	width: 1em;
	height: 1em;
	left: -2em;
	top: calc(50% - 0.5em);
	border-radius: 50%;
	box-shadow: 0 0 calc((10 / 25) * 1em) rgba(var(--color-black),0.5);
}

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

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

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

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

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

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

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

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

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

.poi li.expandable-list ol {
	display: flex;
	flex-flow: column nowrap;
	row-gap: calc((4 / 20) * 1em);
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((25 / 20) * 1em);
	/*margin: calc((17 / 20) * 1em) 0;*/
}

.poi li.expandable-list ol li:first-child {
	margin-top: calc((17 / 20) * 1em);
}

.poi li.expandable-list ol li:last-child {
	margin-bottom: calc((17 / 20) * 1em);
}


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


section.pms {
	color: rgb(var(--color-white));
	padding: min(200px, (200 / var(--base-w)) * 100vw) 0;
}

section.pms .text {
	grid-column: 1 / span 8;
	margin-bottom: min(200px, (200 / var(--base-w)) * 100vw);
}

.pms-type-selector {
	grid-column: 1 / span 3;
}

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

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

/*:root {
	--pms-floor-selector-nb-cols: 3;
}*/

.pms-floor-selector > div {
	display: grid;
	/*grid-template-columns: repeat(auto-fill, calc((60 / 25) * 1em));
	grid-gap: calc((25 / 25) * 1em);
	width: calc((((60 / 25) * 1em) * 3) + (((25 / 25) * 1em) * 2));*/
	margin-top: min(37px, (37 / var(--base-w) * 100vw));
	
	grid-template-columns: repeat(auto-fill, calc((60 / 20) * 1em));
	grid-gap: calc((25 / 20) * 1em);
	width: calc((((60 / 20) * 1em) * 3) + (((25 / 20) * 1em) * 2));
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((31 / 25) * 1em);
}


/* -- Plans header -- */

.pms-building {
	grid-column: 4 / span 9;
}

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

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

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

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

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

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

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

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

.pms-building .building svg g.floor g.floor-num rect {
	width: 2.2em;
	height: 2.2em;
	fill: rgba(var(--color-green),1);
	stroke: rgb(var(--color-green));
	stroke-width: 2px;
    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-green),0);
}

.pms-building .building svg g.floor g.floor-num text {
	font-family: "Bricolage Grotesque", sans-serif;
	font-weight: 500;
	text-anchor: middle;
	dominant-baseline: middle;
	fill: rgb(var(--color-blue));
	transform: translate(1.1em, 1.1em);
    transition: fill 0.6s;
}

.pms-building .building svg g.floor:hover g.floor-num text,
.pms-building .building svg g.floor.active g.floor-num text {
	fill: rgb(var(--color-green));
}


/* -- Floor plan -- */

.pms-unit-selector,
.pms-unit:not(:empty) {
	grid-column-end: span 12;
	position: relative;
	color: rgb(var(--color-blue));
	margin: 0 var(--page-margin-neg);
	padding: min(200px, (200 / var(--base-w)) * 100vw) var(--page-margin);
}

.pms-unit-selector {
	display: none;
	/*margin: min(200px, (200 / var(--base-w)) * 100vw) var(--page-margin-neg) 0 var(--page-margin-neg);*/
	background: rgb(var(--color-grey));
	margin-top: min(200px, (200 / var(--base-w)) * 100vw);
}

.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));*/
	right: var(--page-margin);
	top: 0;
	border-left: min(90px, (90 / var(--base-w)) * 100vw) solid transparent;
	border-right: min(90px, (90 / var(--base-w)) * 100vw) solid transparent;
	border-top: min(90px, (90 / var(--base-w)) * 100vw) solid rgb(var(--color-blue));
}

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

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

.pms-unit-selector h2,
.pms-unit h2,
.pms-reserve-unit h2 {
	font-weight: 300;
	font-size: clamp(28px, (80 / var(--base-w)) * 100vw, 80px);
	line-height: calc((100 / 80) * 1em);
	margin-bottom: calc((37 / 80) * 1em);
}

.pms-floor-plan {
    width: calc((var(--grid-column-w) * 10) + (var(--grid-column-gap) * 9));
	background: url("../upload/images/ico-compass.svg") right top no-repeat;
	background-size: min(146px, (146 / var(--base-w)) * 100vw);
    margin: min(70px, (70 / var(--base-w)) * 100vw) auto;
}

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

.pms-floor-plan svg {
    display: block;
    width: 100%;
    height: auto;
}

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

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

.pms-floor-plan svg text {
    font-family: "Bricolage Grotesque", sans-serif;
    font-weight: 500;
    font-size: 22px;
    text-anchor: middle;
    dominant-baseline: middle; 
}

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

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


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

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


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

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

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

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

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

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


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

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

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

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

.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-blue),0.5);
    stroke-width: 2;
    stroke-miterlimit: 10;
    opacity: 0.5;
}


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

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

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

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

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

.pms-floor-plan .street-name {
    font-weight: 500;
	text-align: center;
	margin-top: min(50px, (50 / var(--base-w)) * 100vw);
}


/* -- Floor plan legend -- */

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

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

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

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

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

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

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

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

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

.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-blue));
	min-height: 0vh;
	font-weight: 500;
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: 1.2em;
}*/
.pms-unit {
    display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: min(24px, (24 / var(--base-w)) * 100vw);
	grid-row-gap: 1em;
	min-height: 0vh;
	background: rgb(var(--color-white));
	/*font-weight: 500;
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: 1.2em;*/
}

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

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

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

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

.unit-images {
	grid-column: 2 / span 10;
}

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

.unit-details {
	grid-column: 5 / span 4;
	grid-row: 1 / span 4;
}

.unit-cta,
.unit-tools {
	grid-column: 10 / span 3;
	text-align: center;
}

/*@media screen and (max-width: 1280px) {
	.unit-details {
		grid-column: 5 / span 3;
	}

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

.unit-cta {
	grid-row: 1 / span 3;
	align-self: end;
}

.unit-tools {
	grid-row: 4 / span 1;
}

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

/*.unit-cta .bt-reserve,*/
.unit-cta .bt-virtual-tour,
.unit-tools .bt-download {
	display: block;
	text-align: center;
	text-decoration: underline;
	text-transform: uppercase;
}

div.unit-area {
	/*justify-self: start;*/
	display: grid;
	grid-template-columns: 1fr auto auto;
	grid-row-gap: 0.25em;
	position: relative;
	margin-top: min(50px, (50 / var(--base-w)) * 100vw);
	padding: min(50px, (50 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw) 0;
}

div.unit-area:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	top: 0;
	background: #707070;
}

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 > span:nth-child(3):before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 1em;
	background: rgb(var(--color-blue));
	vertical-align: middle;
	margin: 0 0.5em;
}

div.unit-area > span:nth-child(n+4) {
	display: none;
}

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

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

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

div.unit-details ol.show {
    display: flex;
	flex-flow: column nowrap;
	row-gap: 1em;
}

div.unit-details ol li {
    position: relative;
	text-transform: uppercase;
	/*padding: 0.3em 0 0 2.75em;*/
	padding: 0 0 0 5em;
}

div.unit-details ol li:before {
	/*content: counter(ud, decimal-leading-zero);*/
	content: counter(ud);
	counter-increment: ud;
	display: block;
	position: absolute;
	min-width: 2em;
	left: 0;
	top: 0;
	background: rgb(var(--color-green));
	border-radius: 50%;
	font-size: 1.2em;
	line-height: 2em;
	text-align: center;
}

div.unit-details ol li span {
	/*font-size: 0.8em;*/
	text-transform: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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-grey),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-green));
}

.pms-reserve-unit-form {
	min-height: 0vh;
	flex-direction: column;
	justify-content: center;
	row-gap: 0.3429em;
	position: fixed;
	height: 100vh;
	right: 0;
	top: 0;
	background: rgba(var(--color-blue),0.85);
	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-blue),0.5);
	transform-origin: left top;
	transition: opacity 0s linear, transform 0s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: 0.6s;
	z-index: -1;
}

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

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

body.pms-reserve-unit-open .pms-reserve-unit {
	background: rgba(var(--color-grey),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;
}


/*************************************
	Contact
 *************************************/


section.contact {
	background: rgb(var(--color-white));
	color: rgb(var(--color-blue));
}

section.contact > div {
	grid-row-gap: min(150px, (150 / var(--base-w) * 100vw));
	padding-top: min(150px, (150 / var(--base-w) * 100vw));
}

section.contact .text,
section.contact .img {
	grid-column: 1 / span 6;
}

section.contact .text h3 {
	font-weight: 500;
	font-size: clamp(18px, (32 / var(--base-w)) * 100vw, 32px);
	line-height: calc((31 / 25) * 1em);
}

section.contact .text p + h3 {
	margin-top: calc((60 / 32) * 1em);
}

section.contact .img {
	grid-column: 1 / span 6;
}

section.contact .img {
	position: relative;
	margin-left: var(--page-margin-neg);
}

section.contact .img picture img {
	width: 100%;
	height: auto;
}

section.contact .form-container {
	grid-column: 9 / span 4;
	grid-row: 1 / span 2;
}


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


form#form-contact,
form#form-contact .interests,
form#form-footer,
form#pms-form-reserve-unit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: min(25px, (25 / var(--base-w) * 100vw));
	position: relative;
	font-size: 0px;
}

form#form-contact {
	position: sticky;
	top: min(150px, (150 / var(--base-w) * 100vw));
	padding-bottom: min(150px, (150 / var(--base-w) * 100vw));
}

form#form-footer {
	margin-top: min(58px, (58 / var(--base-w)) * 100vw, 58px);
}

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

form#form-contact input, 
form#form-contact textarea,
form#form-contact select,
form#form-contact label,
form#form-contact p,
/*form#form-contact button[type="submit"],*/
form#form-footer input, 
form#form-footer label,
form#form-footer p,
form[name="pms-type-selector"] input, 
form#pms-form-reserve-unit input, 
form#pms-form-reserve-unit textarea,
form#pms-form-reserve-unit select,
form#pms-form-reserve-unit label,
form#pms-form-reserve-unit p {
    display: block;
    position: relative;
    min-height: 0vh;
    font-family: "Bricolage Grotesque", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((24 / 20) * 1em);
    margin: 0;
	padding: 0;
}

form#form-contact button[type="submit"],
form#form-footer button,
form#pms-form-reserve-unit button {
    font-family: "Bricolage Grotesque", sans-serif;
	font-style: normal;	
}

form#form-footer button {
	font-weight: 300;
}

form#form-contact input, 
form#form-contact textarea,
form#form-contact select,
form#form-footer input,
form[name="pms-type-selector"] input, 
form#pms-form-reserve-unit input, 
form#pms-form-reserve-unit textarea,
form#pms-form-reserve-unit select {
    width: 100%;
    background: transparent;
	border: solid 3px rgb(var(--color-blue));
    border-radius: calc(((24 / 20) * 1em) + 3px);
    -webkit-appearance: none;
	appearance: none;
    transition: min-height 0.4s var(--transition-timing-ease-in-out);
}

form#form-contact input,
/*form#form-contact textarea,*/
form#form-contact label:not(.checkbox) span,
form#form-footer input,
form#form-footer label:not(.checkbox) span,
form#pms-form-reserve-unit input,
form#pms-form-reserve-unit label:not(.checkbox) span {
    padding: calc((12 / 20) * 1em) calc((24 / 20) * 1em);
}

form#form-footer input,
form#pms-form-reserve-unit input {
	border-color: rgb(var(--color-white));
	color: rgb(var(--color-white));
}

form#form-contact textarea {
	min-height: calc((48 / 20) * 1em);
	padding: 0;
}

form#form-contact textarea.focus-in {
    min-height: calc(((9 * 24) / 20) * 1em);
    padding: calc((12 / 20) * 1em) calc((24 / 20) * 1em);
}

form#form-contact label,
form#form-footer label,
form#pms-form-reserve-unit label {
	width: 100%;
}

/*form#form-footer input, 
form#form-footer label,
form#form-footer button,
form#form-footer p {
	color: rgb(var(--color-white));
}

form#form-footer input, 
form#form-footer label,
form#form-footer p {
    display: block;
    position: relative;
	width: 100%;
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((24 / 20) * 1em);
    margin: 0;
	padding: 0;
}*/

form#form-contact label:not(.checkbox),
form#form-footer label:not(.checkbox),
form#pms-form-reserve-unit label:not(.checkbox) {
	text-transform: uppercase;
	transition: padding 0.4s var(--transition-timing-ease-in-out);
}






form[name="pms-type-selector"] .pms-floor-selector > div input {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc((60 / 25) * 1em);
	height: calc((60 / 25) * 1em);
    background: rgb(var(--color-green));
	border: solid 3px rgb(var(--color-green));
	border-radius: calc((12 / 25) * 1em);
	color: rgb(var(--color-blue));
	font-weight: 500;
	padding: 0;
} 

form[name="pms-type-selector"] .pms-floor-selector > div input:disabled {
    background: rgb(var(--color-blue));
	color: rgb(var(--color-green));
} 

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

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

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

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

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

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

form#form-contact .interests {
	margin: min(30px, (30 / var(--base-w) * 100vw)) 0;
}

form#form-contact .interests label.checkbox span {
	font-weight: 500;
	text-transform: uppercase;
}

form[name="pms-type-selector"] label.checkbox span {
	color: rgb(var(--color-green));
	font-weight: 500;
	text-transform: uppercase;
}

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

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

form#form-footer label.checkbox {
	margin-top: min(30px, (30 / var(--base-w)) * 100vw, 30px);	
}

form#form-contact input[type="checkbox"]:before,
form#form-contact input[type="checkbox"]:after,
form#form-footer input[type="checkbox"]:before,
form#form-footer input[type="checkbox"]:after,
form[name="pms-type-selector"] input[type="checkbox"]:before,
form[name="pms-type-selector"] input[type="checkbox"]:after {
	content: "";
    display: block;
    min-height: 0vh;
	font-size: clamp(36px, (48 / var(--base-w)) * 100vw, 48px);
}

form[name="pms-type-selector"] input[type="checkbox"]:before,
form[name="pms-type-selector"] input[type="checkbox"]:after {
	font-size: clamp(36px, (46 / var(--base-w)) * 100vw, 46px);
}

form#form-contact input[type="checkbox"]:before,
form#form-footer input[type="checkbox"]:before,
form[name="pms-type-selector"] input[type="checkbox"]:before {
	width: 1em;
    height: 1em;
    background: transparent;
	border: solid 3px rgb(var(--color-blue));
	border-radius: 50%;
}

form[name="pms-type-selector"] input[type="checkbox"]:before {
	border-width: 2px;
}

form#form-footer input[type="checkbox"]:before,
form[name="pms-type-selector"] input[type="checkbox"]:before {
	border-color: rgb(var(--color-white));
}

form#form-contact input[type="checkbox"]:after,
form#form-footer input[type="checkbox"]:after,
form[name="pms-type-selector"] input[type="checkbox"]:after {
	position: absolute;
    width: calc(1em - 12px);
    height: calc(1em - 12px);
	left: 9px;
	top: 9px;
    background: rgb(var(--color-purple));
	border-radius: 50%;
	opacity: 0;
    transition: opacity 0.2s linear;
}

form[name="pms-type-selector"] input[type="checkbox"]:after {
	left: 8px;
	top: 8px;
}

form#form-footer input[type="checkbox"]:after {
    background-color: rgb(var(--color-white));
}

form[name="pms-type-selector"] input[type="checkbox"]:after {
    background-color: rgb(var(--color-green));
}

form#form-contact input[type="checkbox"]:checked:after,
form#form-footer input[type="checkbox"]:checked:after,
form[name="pms-type-selector"] input[type="checkbox"]:checked:after {
    opacity: 1;
}

form#form-contact button[type="submit"] {
	margin-top: min(30px, (30 / var(--base-w) * 100vw));
}

form#form-footer button[type="submit"] {
	background: rgb(var(--color-green));
	border-color: rgb(var(--color-blue));
	color: rgb(var(--color-blue));
	font-weight: 600;
	margin-top: calc((30 / 25) * 1em);
}

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

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

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

form#form-contact input:-webkit-autofill,
form#form-contact input:-webkit-autofill:hover, 
form#form-contact input:-webkit-autofill:focus, 
form#form-contact input:-webkit-autofill:active {
    -webkit-text-fill-color: rgb(var(--color-blue));
	-webkit-box-shadow: 0 0 0 60px rgb(var(--color-white)) inset !important;
	box-shadow: 0 0 0 60px rgb(var(--color-white)) 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,
form#pms-form-reserve-unit input:-webkit-autofill,
form#pms-form-reserve-unit input:-webkit-autofill:hover, 
form#pms-form-reserve-unit input:-webkit-autofill:focus, 
form#pms-form-reserve-unit input:-webkit-autofill:active {
    -webkit-text-fill-color: rgb(var(--color-white));
	-webkit-box-shadow: 0 0 0 60px rgb(var(--color-blue)) inset !important;
	box-shadow: 0 0 0 60px rgb(var(--color-blue)) inset !important;
}

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

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

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

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

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

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

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

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

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

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

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

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


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


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

footer > div.content {
	display: grid;
	position: relative;
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: var(--grid-column-gap);
	grid-row-gap: min(70px, (70 / var(--base-w)) * 100vw, 70px);
	max-width: calc(var(--base-w) * 1px);
	font-size: clamp(14px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((24 / 20) * 1em);
	margin: 0 auto;
	padding: min(70px, (70 / var(--base-w)) * 100vw) var(--page-margin) min(140px, (140 / var(--base-w)) * 100vw) var(--page-margin);
	z-index: 10;
}

footer > div.content h2 {
	font-size: clamp(24px, (30 / var(--base-w)) * 100vw, 30px);
	line-height: calc((36 / 30) * 1em);
	text-transform: uppercase;
}

footer > div.content h3 {
	font-weight: 600;
}

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

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

footer nav {
	grid-column: 4 / span 9;
	justify-self: end;
}

footer nav li.active {
}

footer div.address,
footer div.opening-hours,
footer div.contact {
	grid-column-end: span 5;
}

footer div.footer-form {
	grid-column: 9 / span 4;
	grid-row: 2 / span 5;
	position: relative;
}

footer div.copyright {
	grid-column: 1 / -1;
	text-align: center;
	margin-top: min(75px, (75 / var(--base-w)) * 100vw, 75px);
}

footer div.copyright img {
	display: inline-block;
	width: calc((285 / 20) * 1em);
	height: auto;
	margin-bottom: calc((55 / 20) * 1em);
}


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


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

#lightbox {
	z-index: 2000;
}

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

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

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

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

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

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

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

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

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

#lightbox div.lightbox-content.gallery iframe,
#lightbox div.lightbox-content.gallery img {
	border: solid var(--grid-column-gap) rgb(var(--color-white));
	box-shadow: 0 min(30px, (30 / 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: min((var(--base-w) * 1px) - (var(--page-margin) * 2), 100vw - (var(--page-margin) * 2));
	left: 50%;
	top: 50%;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

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

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

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

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


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


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

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


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


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

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


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


/*#lightbox .lightbox-content.lb-fetes-2023 button.bt_close {
    filter: drop-shadow(0 0 8px rgba(0,0,0,0.5));
}*/

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

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


/****  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: clamp(min(20px, (20 / var(--base-w-mobile)) * 100vw), (100 / var(--base-w)) * 100vw, 100px);*/
		--page-margin: calc((30 / var(--base-w-mobile)) * 100vw);
		--header-img-h: 100vw;
	}
	
	.bp-1400 {
		display: none;
	}
	
	.bp-960 {
		display: inline-block;
	}
	
	header nav {
		display: block;
		padding: 0;
	}
	
	header nav ul.main {
		padding: calc(var(--page-margin) * 0.5) var(--page-margin);
		z-index: 20;
	}
	
	header nav ul.expand {
		min-height: 0vh;
		flex-direction: column;
		justify-content: center;
		row-gap: 0.3429em;
		position: absolute;
		/*height: var(--header-img-h);*/
		height: 100vh;
		right: min(0px, (700px - 50vw));
		/*top: min(50px + 130px, 50px + var(--page-margin));*/
		top: 0;
		background: rgba(var(--color-blue),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);
		z-index: 10;
	}

	header nav ul.expand:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background: rgba(var(--color-blue),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-green));
	}

	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.main {
		position: fixed;
		width: 100vw;
		left: 0;
		top: 0;
	}
	
	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: 28px;
		height: 21px;
	}

	header .ico span {
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background: rgb(var(--color-green));
		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;
		margin-top: 0.5em;
		padding-top: 0.5em;
	}
	
	header nav ul.expand li.lang:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		left: 0;
		top: 0;
		background: rgb(var(--color-white));
		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;
	}

	main {
		row-gap: 0;
	}
	
	/*section.header div.content:has(div.bckg-video) {
		height: 100vw;
	}
	
	section.header div.bckg-video iframe {
		width: calc((16 / 9) * 100vw);
		height: 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.header .text {
		/*display: flex;
		flex-direction: column;
		justify-content: center;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		max-width: calc(var(--base-w) * 1px);
		height: 100%;
		margin: 0 auto;
		padding: 0 var(--page-margin);
		z-index: 10;*/
		
		/*display: block;
		position: absolute;
		right: max(((100vw - (var(--base-w) * 1px)) * 0.5) + var(--page-margin), var(--page-margin));
		top: min(260px, (260 / var(--base-w)) * 100vw);
		text-align: right;
		z-index: 20;*/
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-end;
		position: absolute;
		right: var(--page-margin);
		top: 0;
		height: 100%;
	}
	
	
	section.tree-cols-full > div {
		padding: min(30px, (30 / var(--base-w-mobile)) * 100vw);
	}

	section.tree-cols-full > div > div {
		grid-template-columns: auto;
		grid-row-gap: min(30px, (30 / var(--base-w-mobile)) * 100vw);
	}

	section.tree-cols-full > div > div > div > picture {
		padding-top: calc((3 / 4) * 100%);
	}

	section.tree-cols-full > div > div > div > div {
		padding: min(30px, (30 / var(--base-w-mobile)) * 100vw);
	}

	section.tree-cols-full > div > div > div > div p + p {
		margin-top: calc((19 / 25) * 1em);
	}
	
	
	
	
	section.inclusions > div > div {
		grid-template-columns: auto;
	}

	section.inclusions > div > div > div {
		/*position: relative;
		height: min(1080px, (1080 / 960) * 50vw);
		overflow: hidden;*/
		height: calc((3 / 4) * 100vw);
	}

	section.inclusions.accueil > div > div > div.text {
		/*align-items: center;
		text-align: center;*/
		padding: 0 var(--page-margin);
	}

	section.inclusions.accueil > div > div > div.text h2 {
		/*display: inline-block;
		border-bottom: solid rgb(var(--color-blue)) calc((6 / 100) * 1em);
		font-size: min(100px, (100 / var(--base-w)) * 100vw);
		font-weight: 300;
		line-height: 1em;
		text-transform: uppercase;
		padding-bottom: calc((66 / 100) * 1em);*/
		font-size: calc((24 / var(--base-w-mobile)) * 100vw);		
	}

	section.inclusions.accueil > div > div > div.text p {
		/*display: inline-block;
		font-size: clamp(24px, (30 / var(--base-w)) * 100vw, 30px);
		line-height: calc((36 / 30) * 1em);
		text-transform: uppercase;*/
		font-size: max(12px, (16 / var(--base-w-mobile)) * 100vw);		
	}

	section.inclusions.accueil > div > div > div.text ul {
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		column-gap: min(25px, (25 / var(--base-w)) * 100vw);
		row-gap: min(25px, (25 / var(--base-w)) * 100vw);
		margin: min((100 / var(--base-w)) * 100vw, 100px) 0;
	}

	section.inclusions.accueil > div > div > div.text ul > li {
		/*background: rgb(var(--color-grey));
		border: solid calc((3 / 30) * 1em) rgb(var(--color-blue));
		border-radius: 9999px;
		display: inline-block;
		font-size: min((30 / var(--base-w)) * 100vw, 30px);
		line-height: calc((36 / 30) * 1em);
		text-transform: uppercase;
		padding: calc((4 / 30) * 1em) calc((22 / 30) * 1em);*/
		font-size: calc((12 / var(--base-w-mobile)) * 100vw);
	}

	/*section.inclusions.projet > div > div > div.text {
		align-items: flex-start;
		padding: 0 var(--page-margin);
	}

	section.inclusions.projet > div > div > div.text h2,
	section.lifestyle .text h2,
	section.pms .text h2,
	section.liste-poi .text h2,
	section.contact .text h2 {
		font-family: "EB Garamond", serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
		font-size: min(100px, (100 / var(--base-w)) * 100vw);
		line-height: 1em;
	}

	section.inclusions.projet > div > div > div.text h2,
	section.liste-poi .text h2,
	section.contact .text h2 {
		display: inline-block;
		padding-bottom: calc((66 / 100) * 1em);
	}*/

	/*section.tree-cols-full > div > div > div > div,
	section.inclusions.projet > div > div > div.text p {
		font-size: clamp(20px, (25 / var(--base-w)) * 100vw, 25px);
		line-height: calc((31 / 25) * 1em);
	}*/

	section.inclusions.projet > div > div > div.text {
		height: auto;
		min-height: calc((3 / 4) * 100vw);
		padding: var(--page-margin);
	}
	
	section.inclusions.projet > div > div > div.text p {
		display: inline-block;
	}

	/*section.inclusions.projet > div > div > div.text p + p {
		margin-top: calc((31 / 25) * 1em);
	}*/

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

	section.inclusions > div > div > div.bckg-red {
		background: rgb(var(--color-red));
		color: rgb(var(--color-white));
	}

	section.inclusions > div > div > div.bckg-lavender {
		background: rgb(var(--color-lavender));
		color: rgb(var(--color-blue));
	}
	
	
	
	section.caracteristiques > div {
		display: block;
		padding-top: var(--page-margin);
		padding-bottom: var(--page-margin);
	}

	section.caracteristiques > div > div > ul {
		/*display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: var(--grid-column-gap);
		grid-row-gap: min(100px, (100 / var(--base-w)) * 100vw);
		justify-items: center;
		position: relative;
		padding: 0;*/
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: var(--page-margin);
		grid-row-gap: var(--page-margin);
	}

	section.caracteristiques > div > div > ul > li {
		/*display: flex;
		flex-flow: column nowrap;
		align-items: center;
		row-gap: calc((36 / 30) * 1em);
		color: rgb(var(--color-white));
		font-size: min((30 / var(--base-w)) * 100vw, 30px);
		line-height: calc((36 / 30) * 1em);
		text-align: center;
		padding: 0 min(50px, (50 / var(--base-w)) * 100vw);*/
		font-size: max(14px, (14 / var(--base-w-mobile)) * 100vw);
		padding: 0;
	}

	section.caracteristiques > div > div > ul > li > picture > img {
		/*width: calc((150 / 14) * 1em);*/
		width: 100%;
		height: auto;
	}
	
	
	
	section.lifestyle > div,
	section.universites > div {
		padding-top: calc((150 / var(--base-w-mobile)) * 100vw);
		padding-bottom: calc((150 / var(--base-w-mobile)) * 100vw);
	}

	section.lifestyle .text,
	section.universites .text {
		grid-column: 2 / span 10;
	}
	


	section.carte ul {
		width: 100vw;
		height: 100vw;
	}
	
	section.carte ul:after {
		--size: calc((60 / var(--base-w-mobile)) * 100vw);
	}

	section.carte li {
		--size: calc((60 / var(--base-w-mobile)) * 100vw);
		font-size: calc((9 / var(--base-w-mobile)) * 100vw);
	}
	
	section.carte li:before {
		--size: calc((86 / var(--base-w-mobile)) * 100vw);
	}
	
	section.carte li.mcgill {
		left: calc((172 / var(--base-w-mobile)) * 100vw);
		top: calc((86 / var(--base-w-mobile)) * 100vw);
	}

	section.carte li.concordia {
		left: calc((141 / var(--base-w-mobile)) * 100vw);
		top: calc((218 / var(--base-w-mobile)) * 100vw);
	}

	section.carte li.ets {
		left: calc((348 / var(--base-w-mobile)) * 100vw);
		top: calc((274 / var(--base-w-mobile)) * 100vw);
	}

	section.carte li.ctim {
		left: calc((272 / var(--base-w-mobile)) * 100vw);
		top: calc((113 / var(--base-w-mobile)) * 100vw);
		font-size: calc((7 / var(--base-w-mobile)) * 100vw);
	}

	section.carte li.hec {
		left: calc((334 / var(--base-w-mobile)) * 100vw);
		top: calc((128 / var(--base-w-mobile)) * 100vw);
		font-size: calc((18 / var(--base-w-mobile)) * 100vw);
	}

	section.carte li.dawson {
		left: calc((50 / var(--base-w-mobile)) * 100vw);
		top: calc((358 / var(--base-w-mobile)) * 100vw);
	}
	
	section.carte li.dawson:before {
		background-image: url("../upload/images/ico-ecole-ouest.svg");
	}

	section.carte li.uqam {
		left: calc((346 / var(--base-w-mobile)) * 100vw);
		top: calc((50 / var(--base-w-mobile)) * 100vw);
		font-size: calc((16 / var(--base-w-mobile)) * 100vw);
	}

	section.carte li.polytechnique {
		left: calc((50 / var(--base-w-mobile)) * 100vw);
		top: calc((108 / var(--base-w-mobile)) * 100vw);
		font-size: calc((7 / var(--base-w-mobile)) * 100vw);
	}
	
	
	section.lifestyle .polaroids li > div {
		--mw : 150;
		width: calc((var(--mw) / var(--base-w-mobile)) * 100vw);
		height: calc((((635 / 500) * var(--mw)) / var(--base-w-mobile)) * 100vw);
		border-width: calc((((30 / 500) * var(--mw)) / var(--base-w-mobile)) * 100vw);
		border-bottom-width: calc((((165 / 500) * var(--mw)) / var(--base-w-mobile)) * 100vw);
	}
	
	
	section.universites .polaroids li > div {
		/*144 x 90*/
		--mw : 200;
		width: calc((var(--mw) / var(--base-w-mobile)) * 100vw);
		height: calc((((880 / 670) * var(--mw)) / var(--base-w-mobile)) * 100vw);
		border-width: calc((((40 / 670) * var(--mw)) / var(--base-w-mobile)) * 100vw);
		border-bottom-width: calc((((250 / 670) * var(--mw)) / var(--base-w-mobile)) * 100vw);
	}
	
	
	
	section.types > div {
		padding: var(--page-margin);
	}

	section.types .unit-showcase {
		grid-template-columns: auto;
		grid-row-gap: var(--page-margin);
	}

	section.types .unit-showcase li {
		--cpw: calc((50 / var(--base-w-mobile)) * 100vw);
		padding-top: var(--page-margin);
		height: calc(((var(--container-h) - var(--reveal-h)) * 1px) + var(--cpw));
		overflow: hidden;
		transition: height 0.4s cubic-bezier(0.25,0.25,0.25,1);
	}

	section.types .unit-showcase li.active {
		height: calc(var(--container-h) * 1px);
	}

	section.types .unit-showcase li.resize {
		height: auto;
	}
	
	section.types .unit-showcase li h3 strong {
		font-size: calc((100 / var(--base-w-mobile)) * 100vw);
	}
	
	section.types .unit-showcase li img {
		height: 40vw;
	}

	section.types .unit-showcase li a {
		margin: var(--page-margin) 0;
	}

	section.types .unit-showcase li > div > div {
		padding-bottom: calc(var(--page-margin) + var(--cpw));
	}

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

	section.liste-poi .text,
	section.liste-poi .map-nav {
		grid-column-end: span 12
	}
	
	
	
	section.contact > div {
		grid-row-gap: var(--page-margin);
		padding-top: var(--page-margin);
	}

	section.contact .text,
	section.contact .img {
		grid-column: 1 / span 12;
	}

	section.contact .img {
		margin-right: var(--page-margin-neg);
	}

	section.contact .img picture img {
		width: 100%;
		height: auto;
	}
	
	section.contact .form-container {
		grid-column: 1 / span 12;
		grid-row: 2 / span 1;
	}
	
	
	form#form-contact,
	form#form-contact .interests,
	form#form-footer,
	form#pms-form-reserve-unit {
		row-gap: calc(var(--page-margin) * 0.5);
	}

	form#form-contact {
		padding-bottom: 0;
	}



	
	footer > div.content {
		/*display: grid;
		position: relative;
		grid-template-columns: repeat(12, 1fr);
		grid-column-gap: var(--grid-column-gap);
		grid-row-gap: min(70px, (70 / var(--base-w)) * 100vw, 70px);
		max-width: calc(var(--base-w) * 1px);
		font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
		line-height: calc((24 / 20) * 1em);
		margin: 0 auto;
		padding: min(70px, (70 / var(--base-w)) * 100vw) var(--page-margin) min(140px, (140 / var(--base-w)) * 100vw) var(--page-margin);
		z-index: 10;*/
		grid-row-gap: var(--page-margin);
		max-width: none;
		padding: var(--page-margin);
	}

	/*footer > div.content h2 {
		font-size: clamp(24px, (30 / var(--base-w)) * 100vw, 30px);
		line-height: calc((36 / 30) * 1em);
		text-transform: uppercase;
	}

	footer > div.content h3 {
		font-weight: 600;
	}

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

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

	footer nav {
		grid-column: 4 / span 9;
		justify-self: end;
	}

	footer nav li.active {
	}

	footer div.address,
	footer div.opening-hours,
	footer div.contact {
		grid-column-end: span 5;
	}

	footer div.footer-form {
		grid-column: 9 / span 4;
		grid-row: 2 / span 5;
		position: relative;
	}

	footer div.copyright {
		grid-column: 1 / -1;
		text-align: center;
		margin-top: min(75px, (75 / var(--base-w)) * 100vw, 75px);
	}

	footer div.copyright img {
		display: inline-block;
		width: calc((285 / 20) * 1em);
		height: auto;
		margin-bottom: calc((55 / 20) * 1em);
	}*/
	
	footer div.logo {
		grid-column: 1 / -1;
	}
	
	footer nav {
		grid-column: 7 / span 6;
		grid-row: 3 / span 5;
		justify-self: end;
	}
	
	footer nav ul {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		row-gap: 0.7em;
	}
	
	footer div.footer-form {
		grid-column: 1 / -1;
		grid-row: 2 / span 1;
		margin: var(--page-margin) 0;
	}
	
	footer div.address,
	footer div.opening-hours,
	footer div.contact {
		grid-column: 1 / span 6;
	}
	
	/*footer div.address:nth-child(3) {
		grid-column: 1 / -1;
		grid-row: 2 / span 1;
	}*/
	
	
	/*section.cols12 > div > * {
		grid-column-start: var(--grid-column-start-mobile);
		grid-column-end: var(--grid-column-end-mobile);
		grid-row-start: var(--grid-row-start-mobile);
		grid-row-end: var(--grid-row-end-mobile);
	}
	
	section.no-padding-top-mobile > div {
		padding-top: 0 !important;
	}

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

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

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

	section.bckg-beige:last-of-type > div {
		padding-bottom: 0;
	}
	
	section.bckg-offset-bottom:before {
		top: 0;
	}
	
	.icos {
		flex-direction: column;
		flex-wrap: nowrap;
		row-gap: var(--page-margin);
		max-width: none;
		height: auto;
	}
	
	.icos li {
		grid-template: none;
		grid-row-gap: calc(var(--page-margin) * 0.5);
		width: auto;
		height: auto;
	}
	
	.icos li picture {
		position: relative;
		width: 25vw;
		left: auto;
		right: auto;
		top: auto;
		margin: 0 auto;
		transform: none;
	}
	
	.icos li div:nth-of-type(2) {
		font-size: clamp(16px, (20 / 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;
	}
	
	.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;
	}*/
	
	section.pms {
		padding: var(--page-margin) 0;
	}

	section.pms .text {
		grid-column: 1 / span 12;
		/*margin-bottom: calc(var(--page-margin) * 2);*/
		margin-bottom: 0;
	}
	
	.pms-type-selector {
		grid-column: 1 / -1;
	}
	
	.pms-type-selector .pms-type-selector {
		border-top: solid 1px rgb(var(--color-white));
		margin-top: var(--page-margin);
		padding-top: var(--page-margin);
	}
	
	.pms-floor-selector {
		margin-top: var(--page-margin);
		padding-top: var(--page-margin);
	}
	
	.pms-building {
		grid-column: 1 / -1;	
		margin-top: var(--page-margin);
	}
	
	.pms-unit-selector,
	.pms-unit:not(:empty) {
		padding: var(--page-margin);
	}
	
	.pms-floor-plan {
		width: 100%;
		background: url("../upload/images/ico-compass.svg") right top no-repeat;
		background-size: min(146px, (146 / var(--base-w)) * 100vw);
		margin: var(--page-margin) 0;
	}
	
	/*.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-title,
	.unit-area,
	.unit-details,
	.unit-global,
	.unit-occupancy,
	.unit-images,
	.unit-cta,
	.unit-tools {
		grid-column: 1 / -1;	
	}
	
	.unit-details {
		grid-row: auto;
	}
	
	div.unit-details ol.show {
		display: block;
		/*flex-flow: column nowrap;
		row-gap: 1em;*/
	}
	
	/*div.unit-details ol.show {
		display: flex;
		flex-flow: column nowrap;
		row-gap: 1em;
	}

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

	div.unit-details ol li:before {
		content: counter(ud);
		counter-increment: ud;
		display: block;
		position: absolute;
		min-width: 2em;
		left: 0;
		top: 0;
		background: rgb(var(--color-green));
		border-radius: 50%;
		font-size: 1.2em;
		line-height: 2em;
		text-align: center;
	}*/
	
	div.unit-details ol {
		column-count: 2;
		column-fill: balance;
		-moz-column-fill: balance;
		counter-reset: ud;
	}

	div.unit-details ol li {
		display: inline-block;
		position: relative;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid-column;
		-webkit-backface-visibility: hidden;
		padding: 0 0 0 3.5em;
	}
	
	/*div.unit-details ol li:has(+ li):not(:last-of-type) {
		padding-bottom: 1em;
	}*/
	
	div.unit-details ol li:has(+ li) {
		margin-bottom: 1em;
	}
	
	.unit-cta,
	.unit-tools {
		grid-row: auto;
		text-align: center;
	}
	
	/*.unit-cta {
		justify-self: center;
	}*/

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

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