@charset "UTF-8";

:root {
	--color-beige: 243,240,234;
	--color-black: 0,0,0;
	--color-brown: 86,88,81;
	--color-charcoal: 46,45,45;
	--color-grey-44: 112,112,122;
	--color-grey-94: 240,240,240;
	--color-grey-97: 248,248,248;
	--color-white: 255,255,255;
	--transition-duration-bt: 0.4s;
	--transition-timing-linear: linear;
	--transition-timing-ease-out: cubic-bezier(0,0.6,0.4,1);
	--transition-timing-ease-in-out: cubic-bezier(0.6,0,0.4,1);
	
	--base-w: 1366;
	--base-w-mobile: 414;
	--page-margin: clamp(min(20px, (20 / var(--base-w-mobile)) * 100vw), (140 / var(--base-w)) * 100vw, 140px);
	--page-margin-neg: calc(var(--page-margin) * -1);
	--page-margin-mobile: min(20px, (20 / var(--base-w-mobile)) * 100vw);
	--grid-gap: clamp(var(--page-margin-mobile), (32 / var(--base-w)) * 100vw, 32px);
	--grid-column-w: calc((min(var(--base-w) * 1px, 100vw) - (var(--page-margin) * 2) - (11 * var(--grid-gap))) / 12);
	--logo-size: clamp(40px, (63 / var(--base-w)) * 100vw, 63px);
	/*--header-img-h: calc((675 / 1264) * 100vw);*/
	/*--header-img-h: calc((675 / 1264) * (100vw - min(100px, (100 / var(--base-w)) * 100vw)));*/
	--header-img-h: min((675 / 1264) * 1820px, (675 / 1264) * (100vw - min(100px, (100 / var(--base-w)) * 100vw)));
	--header-img-h-mobile: calc((556 / var(--base-w-mobile)) * 100vw);
	--header-small-img-h: calc((435 / 1264) * 100vw);
	--realisations-img-h: calc((500 / 1264) * 100vw);
	--realisations-img-h-mobile: calc((208 / 386) * 100vw);
}

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

body {
	width: 100%;
	height: 100%;
	background: rgb(var(--color-beige));
	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
 *************************************/


header {
    display: block;
    position: absolute;
	width: 100%;
	left: 0;
    top: 0;
	background: rgba(var(--color-beige),0.85);
	margin: 0;
    padding: 0;
    z-index: 200;
}

body.top header {
    position: fixed;    
}

header.fixed {
    position: fixed;
	transition: transform 0.6s;
}

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

header nav {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
	max-width: 1920px;
    margin: 0 auto;
	padding: min(40px, (40 / var(--base-w)) * 100vw) min(50px, (50 / var(--base-w)) * 100vw);
}

header nav ul {
	display: flex;
}

header nav ul.main {
	min-height: 0vh;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

header nav ul.main li {
	position: relative;
}

header nav ul.main li.home {
	transform-origin: left center;
	transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

header.fixed nav ul.main li.home {
	transform: scale(2);
	transition: none;
}

header nav ul.main li.home img {
	width: auto;
	height: var(--logo-size);
	clip-path: inset(0);
	transition: clip-path 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

header.fixed nav ul.main li.home img {
	clip-path: inset(0 calc(100% - var(--logo-size)) 0 0);
}

/*header nav ul.main li.home:after {
	content: "";
	display: block;
	position: absolute;
	width: var(--logo-size);
	height: var(--logo-size);
	left: 0;
	top: 0;
	background: url("../images/logo-embois-bloc.svg") center center no-repeat;
	background-size: 100%;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s linear;
}

header.fixed nav ul.main li.home:after {
	opacity: 1;
	transition: none;
}*/

header nav ul.main li.lang {
	display: none;
}

header nav ul.expand {
	column-gap: 1.3333em;
	color: rgb(var(--color-brown));
	font-size: clamp(15px, (18 / var(--base-w)) * 100vw, 18px);
	line-height: 1em;
	margin-bottom: clamp(8px, (12 / var(--base-w)) * 100vw, 12px);
	text-transform: uppercase;
}

header nav ul.expand li a {
	position: relative;
}

header nav ul.expand li a:after {
	content: "";
	display: inline-block;
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: -2px;
	background: rgb(var(--color-brown));
	opacity: 0;
	transform: scaleX(0);
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

header nav ul.expand li:hover a:after,
header nav ul.expand li.active a:after {
	opacity: 1;
	transform: scaleX(1);
}


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


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

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

section {
    display: block;
    position: relative;
	/*z-index: 1;*/
}

section > div,
/*section.plans .plans-results ul,*/
section.projects .projects-results ul,
footer > div {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-gap: var(--grid-gap);
	max-width: calc(var(--base-w) * 1px);
	position: relative;
	color: rgb(var(--color-brown));
}

section > div,
footer > div {
    margin: 0 auto;
	padding: min(90px, (90 / var(--base-w)) * 100vw) var(--page-margin);
}

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

section > div:has(> div:only-child > h2:only-child),
section > div:has(> div:only-child > h3:only-child) {
	padding-top: min(20px, (20 / var(--base-w)) * 100vw);
	padding-bottom: min(20px, (20 / var(--base-w)) * 100vw);
}

/*section > div > div > h2:only-child {
	background: rgba(255,0,0,0.25);
}*/

section:not(.header):not(.subnav) + section > div:before {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - (var(--page-margin) * 2));
	height: 1px;
	left: var(--page-margin);
	top: 0;
	background: rgb(var(--color-grey-44));
}

.border-v {
	border-top: solid 1px rgb(var(--color-grey-44));
	border-bottom: solid 1px rgb(var(--color-grey-44));
	padding-top: min(20px, (20 / var(--base-w)) * 100vw) !important;
	padding-bottom: min(20px, (20 / var(--base-w)) * 100vw) !important;
}

/*section > div + div {
	padding-top: 0;
}*/

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

section h2 {
	min-height: 0vh;
	font-weight: 400;
	font-size: clamp(24px, (40 / var(--base-w)) * 100vw, 40px);
	line-height: calc((48 / 40) * 1em);
	text-transform: uppercase;
}

section.header h2 {
	display: block;
	font-size: clamp(min(36px, (36 / var(--base-w-mobile))* 100vw), (50 / var(--base-w)) * 100vw, 50px);
	line-height: calc((60 / 50) * 1em);
}

section:not(.header) h2 {
	transform: scale(0.97);
	opacity: 0;
}

section:not(.header) h2.show {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.6s linear, transform 1.2s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 0.1s);
}

section h3,
section .h3 {
	min-height: 0vh;
	font-weight: 400;
	font-size: clamp(18px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((30 / 25) * 1em);
	text-transform: uppercase;
}

section h4 {
	min-height: 0vh;
	font-weight: 300;
	font-size: clamp(18px, (24 / var(--base-w)) * 100vw, 24px);
	line-height: 1.2em;
	text-transform: uppercase;
}

section p + h4,
section ul + h4 {
	margin-top: 2.5em;
}

section p,
section .text ul {
	min-height: 0vh;
	font-weight: 400;
	font-size: clamp(15px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((24 / 20) * 1em);
}

.text {
	color: rgb(var(--color-brown));
}

div:has(>.text + .text:not(.align-self-end)) .text:has(>*:last-child):has(a.bt:only-child) {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	/*color: #FF0000;*/
}

.text:has(>*:last-child):has(a.bt:only-child) > *:nth-last-child(2) {
	flex-grow: 1;
}

.text ul {
	display: block;
	list-style-type: disc;
	margin-top: 1em;
	margin-bottom: 1 em;
	margin-left: 0;
	margin-right: 0;
	padding-left: 40px;
}

.text ul li {
	display: list-item;
	list-style-type: disc;
}

.text ul li + li {
	margin-top: 0.5em;
}

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

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

section h3 + p,
section .h3 + p,
section h3 + ul,
section .h3 + ul {
	margin-top: calc((48 / 20) * 1em);
}

section p:has(picture:only-child) + h3 {
	margin-top: calc((43 / 25) * 1em);
}

section p > picture:only-child > img {
	width: auto;
	height: calc((var(--h) / 20) * 1em);
}

section p + p,
section ul + p,
section p + ul {
	margin-top: calc((16 / 20) * 1em);
}

section p + p:has(a.bt:only-child) {
	margin-top: calc((59 / 20) * 1em);
}

section h4 + p {
	margin-top: 1em;
}

section h2 + h3,
section h2 + .h3 {
	margin-top: 1.875em;
}

/*section.header .text h2 {
	margin: 0.3333em 0;
}

section.header .text h3,
section.header .text .h3 {
	margin: 0;
}*/

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

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

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

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

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

/*.text-grp h2,
.text-grp p,
.text-grp ul,
.text-grp ul li {
	opacity: 0;
}

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

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

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

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

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

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

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


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

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

ul.list {
	min-height: 0vh;
	font-size: clamp(25px, (65 / 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: "\f054";
	display: block;
	position: absolute;
	right: 1em;
	top: calc(50% - 0.35em);
    font-family: "Font Awesome 6 Free";
	font-size: 0.7em;
	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 !important;
}

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

.align-self-stretch {
	align-self: stretch !important;
}

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

.z-index {
	z-index: var(--z-index);
}

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

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

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

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

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

.bt,
.bt-drop-down > button,
.bt-plans,
.bt-visit {
	display: inline-flex;
	position: relative;
	justify-content: center;
	align-items: center;
	min-width: calc((175 / 16) * 1em);
	height: calc((42 / 16) * 1em);
	background: rgb(var(--color-beige));
	border: solid 1px rgb(var(--color-brown));
	border-radius: 9999px;
	color: rgb(var(--color-brown));
	cursor: pointer;
	font-weight: 700;
	font-size: clamp(14px, (16 / var(--base-w)) * 100vw, 16px);
	line-height: calc((19 / 16) * 1em);
	text-align: center;
	text-transform: uppercase;
	/*padding: 0 calc((45 / 16) * 1em);*/
	padding: 0 calc((28 / 16) * 1em);
	transition: background 0.2s linear, color 0.2s linear;
}

.bt:hover,
.bt.active,
.bt-drop-down > button:hover {
	background: rgb(var(--color-brown));
	color: rgb(var(--color-beige));
}

.bt-drop-down {
	display: inline-block;
	position: relative;
	z-index: 10;
}

.bt-drop-down > button {
	z-index: 10;
}

.bt-drop-down:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 50%;
	left: 0;
	top: 0;
	background: rgb(var(--color-white));
	z-index: 5;
}

.bt-drop-down > button:after {
	content: "";
	display: inline-block;
	width: 0.6667em;
	height: 2em;
	background: url("../images/ico-arrow-slideshow.svg") center center no-repeat;
	background-size: contain;
	transform: rotate(-90deg);
	transform-origin: center center;
	margin-left: 1.25em;
}

.bt-drop-down.show > button:after {
	transform: rotate(90deg);
}

.bt-drop-down > button:hover:after {
	background-image: url("../images/ico-arrow-slideshow-white.svg");
}

.bt-drop-down ul {
	display: block;
	position: absolute;
	min-width: calc(100%);
	right: 0;
	top: 20px;
	background: rgb(var(--color-white));
	border: solid 1px rgb(var(--color-charcoal));
	border-radius: 0 0 1.75em 1.75em;
	clip-path: inset(calc(100% - 20px) 0 0 0);
	color: rgb(var(--color-charcoal));
	font-weight: 400;
	font-size: 12px !important;
	line-height: 1.4em !important;
	text-align: right;
	margin: 0;
	padding: 1em 2.6667em;
	padding-top: calc(1em + 20px);
	transform: translateY(-100%);
	transition: clip-path 0.6s cubic-bezier(0.25,0.25,0.25,1), transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	z-index: 0;
}

.bt-drop-down.show ul {
	clip-path: inset(0);
	transform: translateY(0);
}

.bt-drop-down ul li {
	display: block;
	list-style-type: none;
}

.bt-drop-down ul li + li {
	margin-top: 0;
}

.bt-arr {
	text-transform: uppercase;
}

.bt-arr:before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 34px;
	background: url("../images/ico-arrow-slideshow.svg") center center no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-right: 0.75em;
}

.bt-plans {
	background: rgba(var(--color-grey-94),0.65) url("../images/ico-plans.svg") 1em center no-repeat;
	background-size: auto 1.5em;
	border: none;
	padding-left: 3.5em;
}

.bt-visit {
	background: rgba(var(--color-grey-94),0.65) url("../images/ico-visit.svg") 1em center no-repeat;
	background-size: auto 24px;
	border: none;
	padding-left: 42px;
}

.bt-visit.float {
	position: absolute;
	left: min(20px, 20 / var(--base-w) * 100vw);
	bottom: min(20px, 20 / var(--base-w) * 100vw);
}

.bt-visit:empty {
	width: 40px;
	background-position: center center;
	padding: 0;
}


.bt-price {
	width: 1.5em;
	height: 1.5em;
	background: rgba(var(--color-grey-94),0.65);
	border-radius: 0.75em;
	color: rgb(var(--color-grey-44));
	font-size: 16px;
	line-height: 1.5em;
	text-align: center;
}

.info {
	position: relative;
	background: rgb(var(--color-grey-94));
	border-radius: 0.75em;
	color: rgb(var(--color-charcoal));
	font-size: 14px;
	padding: 1.5em;
	overflow: hidden;
	transition: max-height 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

.info:after {
	content: "\f00d";
	display: block;
	position: absolute;
	right: 0.75em;
	top: 0.75em;
    font-family: "Font Awesome 6 Free";
	font-weight: 900;
	cursor: pointer;
}

.info p {
	font-size: inherit;
}

.grecaptcha-badge { 
    visibility: hidden;
}


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


section.header,
section.grid-layout:first-of-type,
/*section.plan,*/
section.projet {
	padding-top: min(var(--logo-size) + 80px, var(--logo-size) + ((80 / var(--base-w)) * 100vw));
}

section.header > div {
	display: block;
	max-width: none;
	padding: 0;
}

section.header .text {
	/*display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	height: 100%;
	color: rgb(var(--color-beige));
	text-align: right;
	padding-right: min(50px, (50 / var(--base-w)) * 100vw);
	z-index: 10;*/
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	color: rgb(var(--color-beige));
	text-align: left;
	padding: 0 0 calc((80 / var(--base-w)) * 100vw) calc((88 / var(--base-w)) * 100vw);
	z-index: 10;
}

section.header .text:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: linear-gradient(45deg, rgba(var(--color-charcoal), 0.95) 10%, rgba(var(--color-brown), 0) 66%);
}

section.header .text:has(a.bt-next:only-child):before {
	content: none;
}

section.header .bt-next {
	display: block;
	position: absolute;
	width: 0;
	height: 100%;
	left: 50%;
	bottom: calc((80 / var(--base-w)) * 100vw);
	pointer-events: none;
	padding: min(20px, (20 / var(--base-w)) * 100vw) 0;
}

section.header .bt-next:before {
	content: "";
	display: block;
	width: 100%;
	/*height: calc(100% - 40px);*/
	height: calc(100% - 20px);
}

section.header .bt-next:after {
	content: "";
	display: block;
	position: sticky;
	width: min(51px, (51 / var(--base-w)) * 100vw);
	height: 40px;
	/*bottom: min(20px, 20 / var(--base-w) * 100vw);*/
	bottom: 0;
	background: url("../images/ico-arrow-next-white.svg") center center no-repeat;
	background-size: contain;
	pointer-events: auto;
    animation: kf-bt-next 1.6s var(--transition-timing-ease-in-out) both infinite;
}

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


section.subnav {
	position: sticky;
	top: max(-21px, (-21 / var(--base-w)) * 100vw);
	background: rgba(var(--color-beige),0.85);
	padding: 0 min(50px, (50 / var(--base-w)) * 100vw);
	padding-top: min(20px, (20 / var(--base-w)) * 100vw);	
	transition: top 0.6s;
	z-index: 10;
}

body:has(header.fixed:not(.hide)) section.subnav {
	/*top: min(var(--logo-size) + 60px, var(--logo-size) + ((60 / var(--base-w)) * 100vw));*/
	top: min(var(--logo-size) + 80px, var(--logo-size) + ((80 / var(--base-w)) * 100vw));
}

section.subnav:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: min(45px, (45 / var(--base-w)) * 100vw);
	left: 0;
	bottom: max(-45px, (-45 / var(--base-w)) * 100vw);
	background: linear-gradient(rgba(var(--color-beige),0.85), rgba(var(--color-beige),0));
}

section.subnav nav {
	/*padding: min(14px, (14 / var(--base-w)) * 100vw) calc(var(--page-margin) - min(50px, (50 / var(--base-w)) * 100vw));*/
	padding: 0 calc(var(--page-margin) - min(50px, (50 / var(--base-w)) * 100vw));
}

section.subnav nav ul {
	display: flex;
	justify-content: space-between;
	color: rgb(var(--color-charcoal));
	/*font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
	line-height: calc((22 / 18) * 1em);*/
	text-transform: uppercase;
}


/*section.plans > div {
	display: block;
	max-width: calc(var(--base-w) * 1px);
}

section.plans .plans-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	row-gap: var(--grid-gap);
}

section.plans .filters-tags {
}

section.plans .filters-tags ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	column-gap: var(--grid-gap);
	row-gap: calc(var(--grid-gap) * 0.5);
}

section.plans .filters-tags .bt {
	white-space: nowrap;
}

section.plans .plans-results {
	margin-top: min(90px, (90 / var(--base-w)) * 100vw);
}

section.plans .plans-results ul li {
	grid-column-end: span 4;
	animation: kf-fade-in 0.4s linear both;
	animation-delay: calc(var(--transition-delay) * 0.1s);
}

section.plans .plans-results ul li figure picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.plans .plans-results ul li figcaption {
	min-height: 0vh;
	font-weight: 300;
	font-size: clamp(20px, (30 / var(--base-w)) * 100vw, 30px);
}

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

section.plan div.plan-header-title {
	grid-column-end: span 5;
	display: flex;
	flex-direction: column;
	justify-content: center;
	row-gap: calc(var(--grid-gap) * 0.5);
}

section.plan div.plan-header-img {
	grid-column-end: span 7;
}

section.plan div.plan-header-img img {
	width: 100%;
	height: auto;
}

section.plan div.plan-imgs {
	grid-column: 1 / -1;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	row-gap: var(--grid-gap);
}

section.plan div.plan-imgs picture {
	position: relative;
	width: min(100%, (var(--orig-w) / 2224) * 100%);
}

section.plan div.plan-imgs picture.bckg-grey:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgb(var(--color-grey-97));
	z-index: -1;
}

section.plan div.plan-imgs picture.bckg-grey + picture.bckg-grey:before {
	height: calc(100% + var(--grid-gap));
	top: calc(var(--grid-gap) * -1);
}

section.plan div.plan-imgs picture.bckg-grey img {
	mix-blend-mode: multiply;
}

section.plan div.plan-imgs picture:nth-child(odd of .justify) {
	margin-left: auto;
}

section.plan div.plan-imgs picture:nth-child(even of .justify) {
	margin-right: auto;
}

section.plan div.plan-imgs img {
	width: 100%;
	height: auto;
}

section.plan div.plan-footer {
	grid-column: 1 / -1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 1.25em;
	position: relative;
}

section.plan div.plan-footer .bt-visit {
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(calc(-100% - (var(--grid-gap) * 0.5)));
}

section.plan div.plan-footer .bt-arr {
	flex-grow: 1;
}

section.plan div.info-container {
	grid-column: 1 / -1;
	display: flex;
	justify-content: flex-end;
	height: 0;
	overflow: hidden;
	transition: height 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

section.plan div.info-container.show {
	height: var(--max-height);
}

section.plan div.info-container .info {
	max-width: calc((var(--grid-column-w) * 4) + (var(--grid-gap) * 3));
}

section.plan h1 {
	display: block;
	min-height: 0vh;
	font-weight: 300;
	font-size: clamp(60px, (80 / var(--base-w)) * 100vw, 80px);
	line-height: 1em;
	text-transform: uppercase;
}

section.plan h2 {
	display: block;
	min-height: 0vh;
	font-size: clamp(18px, (25 / var(--base-w)) * 100vw, 25px);
	text-transform: none;
}*/

section.projects > div {
	display: block;
	max-width: calc(var(--base-w) * 1px);
}

section.projects .projects-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	row-gap: var(--grid-gap);
}

section.projects .filters-tags {
}

section.projects .filters-tags ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	column-gap: var(--grid-gap);
	row-gap: calc(var(--grid-gap) * 0.5);
}

section.projects .filters-tags .bt {
	white-space: nowrap;
}

section.projects .projects-results {
	margin-top: min(90px, (90 / var(--base-w)) * 100vw);
}

section.projects .projects-results ul li {
	grid-column-end: span 4;
	animation: kf-fade-in 0.4s linear both;
	animation-delay: calc(var(--transition-delay) * 0.1s);
}

section.projects .projects-results ul li figure picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.projects .projects-results ul li figcaption {
	font-size: clamp(18px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((30 / 25) * 1em);
	text-transform: uppercase;
	margin-top: calc((10 / 25) * 1em);
}

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

section.project div.project-header-title {
	grid-column-end: span 5;
	display: flex;
	flex-direction: column;
	justify-content: center;
	row-gap: calc(var(--grid-gap) * 0.5);
}

section.project div.project-header-img {
	grid-column-end: span 7;
}

section.project div.project-header-img img {
	width: 100%;
	height: auto;
}

section.project div.project-imgs {
	grid-column: 1 / -1;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	row-gap: var(--grid-gap);
}

section.project div.project-imgs picture {
	position: relative;
	width: min(100%, (var(--orig-w) / 2224) * 100%);
}

section.project div.project-imgs picture.bckg-grey:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgb(var(--color-grey-97));
	z-index: -1;
}

section.project div.project-imgs picture.bckg-grey + picture.bckg-grey:before {
	height: calc(100% + var(--grid-gap));
	top: calc(var(--grid-gap) * -1);
}

section.project div.project-imgs picture.bckg-grey img {
	mix-blend-mode: multiply;
}

section.project div.project-imgs picture:nth-child(odd of .justify) {
	margin-left: auto;
}

section.project div.project-imgs picture:nth-child(even of .justify) {
	margin-right: auto;
}

section.project div.project-imgs img {
	width: 100%;
	height: auto;
}

section.project div.project-footer {
	grid-column: 1 / -1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 1.25em;
	position: relative;
}

section.project div.project-footer .bt-visit {
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(calc(-100% - (var(--grid-gap) * 0.5)));
}

section.project div.project-footer .bt-arr {
	flex-grow: 1;
}

section.project div.info-container {
	grid-column: 1 / -1;
	display: flex;
	justify-content: flex-end;
	height: 0;
	overflow: hidden;
	transition: height 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

section.project div.info-container.show {
	height: var(--max-height);
}

section.project div.info-container .info {
	max-width: calc((var(--grid-column-w) * 4) + (var(--grid-gap) * 3));
}

section.project h1 {
	display: block;
	min-height: 0vh;
	font-weight: 300;
	font-size: clamp(60px, (80 / var(--base-w)) * 100vw, 80px);
	line-height: 1em;
	text-transform: uppercase;
}

section.project h2 {
	display: block;
	min-height: 0vh;
	font-size: clamp(18px, (25 / var(--base-w)) * 100vw, 25px);
	text-transform: none;
}

section.realisations > div {
	display: block;
	max-width: 1920px;
	padding-top: min(var(--logo-size) + 80px, var(--logo-size) + ((80 / var(--base-w)) * 100vw));
	padding-right: min(50px, (50 / var(--base-w)) * 100vw);
	padding-left: min(50px, (50 / var(--base-w)) * 100vw);
}

section.realisations ul {
	display: flex;
	flex-direction: column;
	row-gap: min(50px, (50 / var(--base-w)) * 100vw);
	margin: 0 auto;
}

section.realisations ul li {
	position: relative;
}

section.realisations ul li:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(var(--color-charcoal),0.9);
	mix-blend-mode: overlay;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s linear;
}

section.realisations ul li:hover:after {
	opacity: 1;
}

section.realisations ul li > a {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

section.realisations ul li figure {
	position: relative;
}

section.realisations ul li figure picture {
	display: block;
    height: var(--realisations-img-h);
}

section.realisations ul li figure picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.realisations ul li figure figcaption {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	color: rgb(var(--color-white));
	padding: min(50px, (50 / var(--base-w)) * 100vw);
}

section.realisations ul li.invert figure figcaption {
	color: rgb(var(--color-charcoal));
}

section.realisation h1 {
	display: block;
	/*min-height: 0vh;*/
	font-weight: 300;
	font-size: clamp(45px, (60 / var(--base-w)) * 100vw, 60px);
	text-transform: uppercase;
}

section.realisation h2 {
	display: block;
	min-height: 0vh;
	font-size: clamp(18px, (25 / var(--base-w)) * 100vw, 25px);
	text-transform: none;
}

section.masonry > div,
section.realisation > div {
	/*grid-auto-rows: min(8px, (8 / var(--base-w)) * 100vw);*/
	grid-auto-rows: minmax(min(8px, (8 / var(--base-w)) * 100vw), max-content);
	grid-auto-flow: row dense;
	grid-row-gap: 0;
}

section.masonry > div > *,
section.realisation > div > * {
	display: block;
	position: relative;
	grid-column-end: span calc(var(--col-end));
	grid-row-end: span calc(var(--row-end) + 4);
	margin-bottom: var(--grid-gap);
}

section.masonry > div > div:not(.video),
section.realisation > div > div:not(.video) {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: flex-start;
	grid-column-end: span 6;
	row-gap: calc(var(--grid-gap) * 0.5);
	grid-row-end: span 38;
}

section.masonry > div > div:not(.video) {
	grid-row-end: span 88;
}

section.masonry > div > div.full-width {
	grid-column: 1 / -1;
	/*grid-row-end: span 42;*/
	grid-row-end: span 1;
}

section.masonry > div > div.half {
	grid-row-end: span 42;
}

section.masonry > div > div.project-details {
	justify-content: flex-start;
	row-gap: 0;
}

section.masonry > div > div.project-details h1 {
	display: block;
	width: 100%;
	border-bottom: solid 1px rgb(var(--color-brown));
	font-size: clamp(24px, (40 / var(--base-w)) * 100vw, 40px);
	line-height: calc((48 / 40) * 1em);
	text-transform: uppercase;
	margin-bottom: calc((42 / 40) * 1em);
	padding-bottom: calc((42 / 40) * 1em);
}

section.masonry > div > div.project-details h1:has(+ p) {
	border-bottom: 0;
	margin-bottom: 0;
}

section.masonry > div > div.project-details ul {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	row-gap: calc((16 / 20) * 1em);
	font-size: clamp(15px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((24 / 20) * 1em);
}

section.masonry > div > div.project-details p {
	display: block;
	width: 100%;
}

section.masonry > div > div.project-details p:first-of-type {
	border-top: solid 1px rgb(var(--color-brown));
	padding-top: calc((30 / 20) * 1em);
}

section.masonry > div > div.project-details p:last-of-type {
	border-bottom: solid 1px rgb(var(--color-brown));
	padding-bottom: calc((30 / 20) * 1em);
}

section.masonry > div > div.project-back {
	grid-row-end: span 1;
}

section.realisation > div > div:not(.video):last-of-type {
	justify-content: space-between;
	grid-row-end: span 17;
}

section.masonry > div > picture > img,
section.realisation > div > picture > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.grid-layout > div {
	grid-auto-rows: min-content;
	align-items: start;
}

/*section.grid-layout + section.grid-layout:not(.border-top) > div,
section.grid-layout:first-of-type > div {
	padding-top: 0;
}*/

section.grid-layout > div > * {
	grid-column-start: var(--grid-column-start);
	grid-column-end: var(--grid-column-end);
	grid-row-end: var(--grid-row-end);
}

section.grid-layout > div > div.text:nth-child(1) {
	align-self: center;
}

section.grid-layout > div > div.text {
	padding: calc(var(--grid-gap) * 0.25);
}

section.grid-layout > div > div.text,
section.masonry > div > div,
section.realisation > div > div/*,
section.partners picture*/ {
	transform: scale(0.975);
	opacity: 0;
}

section.grid-layout > div > div.text:first-child:has(+ picture) {
	align-self: end
}

section.grid-layout > div > div.text.show,
section.masonry > div > div.show,
section.realisation > div > div.show/*,
section.partners picture.show*/ {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.6s linear, transform 1.2s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 0.1s);
}

section.grid-layout > div > picture {
	position: relative;
	background: rgb(var(--color-grey-97));
	overflow: hidden;
}

section.grid-layout > div > picture:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - min(80px, (80 / var(--base-w-mobile)) * 100vw));
	height: calc(100% - min(80px, (80 / var(--base-w-mobile)) * 100vw));
	left: 0;
	top: 0;
	border: solid min(40px, (40 / var(--base-w-mobile)) * 100vw) rgb(var(--color-grey-97));
	pointer-events: none;
}

section.grid-layout > div > picture.show:after {
	width: 100%;
	height: 100%;
	border-width: 0;
	transition: width 1.2s cubic-bezier(0.25,0.25,0.25,1), height 1.2s cubic-bezier(0.25,0.25,0.25,1), border 1.2s cubic-bezier(0.25,0.25,0.25,1);
}

section.grid-layout > div > picture img,
/*div.plan-imgs picture img,*/
div.project-imgs picture img,
section.masonry > div > picture img,
section.realisation > div > picture img {
	position: relative;
	opacity: 0;
	transform: translateY(10%);
}

section.grid-layout > div > picture img {
	transform: translateY(min(40px, (40 / var(--base-w-mobile)) * 100vw));
}

section.grid-layout > div > picture.show img,
/*div.plan-imgs picture.show img,*/
div.project-imgs picture.show img,
section.masonry > div > picture.show img,
section.realisation > div > picture.show img {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.6s linear, transform 1.2s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 0.1s);
}

section.grid-layout > div > div.video,
section.masonry > div > div.video,
section.realisation > div > div.video {
	position: relative;
	padding: 0;
}

section.grid-layout > div > div.video {
	padding-top: 42.5%;
}

section.grid-layout > div > div.video iframe,
section.masonry > div > div.video iframe,
section.realisation > div > div.video iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

section.grid-layout > div > picture img {
	width: 100%;
	height: auto;
}

/*section.partners,*/
section.border-top {
	border-top: solid 1px rgb(var(--color-charcoal));
}

section.instagram-projects {
	z-index: 0;
}

section.instagram-projects > div {
	padding-top: min(45px, (45 / var(--base-w)) * 100vw);
	padding-bottom: 0;
}

section.instagram-projects h2 {
	font-size: clamp(24px, (40 / var(--base-w)) * 100vw, 40px);
}

/*section.partners > div {
	justify-items: center;
	align-items: center;
}

section.partners > div > * {
	grid-column-end: span 4;
}

section.partners > div > h2 {
	grid-column: 1 / -1;
	place-self: start start;
}

section.partners picture {
	width: 100%;
}

section.partners picture img {
	width: 100%;
	height: auto;
}*/

.reveal,
.img-reveal-a,
.img-reveal-b,
.reveal img {
	width: 100%;
	height: 100%;
}

.reveal {
	position: relative;
	height: min(815px, (815 / var(--base-w)) * 100vw);
	padding: 0 45px;
	/*padding-top: calc((815 / 1086) * 100%);*/
}

.img-reveal-a,
.img-reveal-b {
	position: absolute;
	left: 0;
	top: 0;
	overflow: hidden;
	pointer-events: none;
}

.reveal img {
	width: min(1088px, (1088 / var(--base-w) * 100vw));
	object-fit: cover;
}

.reveal .handle {
    position: absolute;
	width: 0;
    height: 100%;
    top: 0;
    left: 50%;
}

.reveal .handle:before,
.reveal .handle:after {
	content: "";
	display: block;
	position: absolute;
}

.reveal .handle:before {
	width: 2px;
	height: 100%;
	left: 50%;
	top: 0;
	background: rgb(var(--color-white));
	transform: translateX(-50%);
}

.reveal .handle:after {
	width: 90px;
	height: 76px;
	left: 0;
	top: 50%;
	/*background: url("../images/icon-reveal-handle.svg") center center no-repeat;*/
	background: rgba(var(--color-grey-97),1) url("../images/ico-handle.svg") center center no-repeat;
	background-size: 48px 26px;
	border-radius: 20px;
	transform: translate(-50%, -50%);
}

section.team figure {
	grid-column-end: span 4;
	display: block;
	position: relative;
	opacity: 0;
}

section.team.show figure {
	opacity: 1;
	transition: opacity 0.2s linear;
	transition-delay: calc(var(--transition-delay-2) * 0.1s);
}

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

section.team figcaption {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	color: rgb(var(--color-white));
	padding: min(30px, (30 / var(--base-w)) * 100vw);
	z-index: 0;
}

section.team figcaption:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(var(--color-brown),0.95);
	opacity: 0;
	transition: opacity 0.2s linear;
	z-index: 0;
}

section.team figure:hover figcaption:before,
section.team figure.active figcaption:before {
	opacity: 1;
}

section.team h2 {
	font-size: clamp(18px, (25 / var(--base-w)) * 100vw, 25px);
	line-height: calc((30 / 25) * 1em);
	text-transform: none;
	transform: none;
	transition-delay: 0s !important;
}

section.team h3 {
	border-bottom: solid 1px rgb(var(--color-white));
	font-size: clamp(16px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: calc((24 / 20) * 1em);
	text-transform: none;
	margin: calc((8 / 20) * 1em) 0 calc((24 / 20) * 1em) 0;
	padding: 0 0 calc((12 / 20) * 1em) 0;
	transition-delay: 0.1s !important;
}

section.team p {
	transition-delay: 0.2s !important;
}

section.team h3 + p {
	margin: 0;
}

section.team figcaption > * {
	position: relative;
	opacity: 0 !important;
	pointer-events: none;
	transition: opacity 0.2s linear;
	transition-duration: 0.2s !important;
	z-index: 1;
}

section.team figure:hover figcaption > *,
section.team figure.active figcaption > * {
	opacity: 1 !important;
	pointer-events: auto;
}

picture.logo-header  {
	--pt: 0;
	--pb: 0;
	display: block;
	border-top: solid 1px rgb(var(--color-grey-44));
	border-bottom: solid 1px rgb(var(--color-grey-44));
	margin:  0 0 calc(var(--grid-gap) * 1.5) 0;
	padding: min(var(--pt) * 1px, (var(--pt) / var(--base-w)) * 100vw) 0 min(var(--pb) * 1px, (var(--pb) / var(--base-w)) * 100vw) 0;
	/*padding:  0 0 calc(var(--grid-gap) * 1) 0;*/
}

picture.logo-header img  {
	width: 75%;
	height: auto;
	max-height: min(120px, (120 / var(--base-w)) * 100vw);
	margin: 0 auto;
}


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


.form-container form,
.form-container .takk {
	grid-column: 1 / -1;
}

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

form#form-contact {
	row-gap: clamp(30px, (36 / var(--base-w)) * 100vw, 36px);
	margin-bottom: min(80px, (80 / var(--base-w)) * 100vw);
}

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

form input, 
form textarea,
form label,
form button,
form p {
    font-family: "anth", sans-serif;
	font-weight: 400;
	font-style: normal;
}

form input, 
form textarea,
form label,
form p {
    display: block;
    position: relative;
	width: 100%;
	color: rgb(var(--color-brown));
	/*font-size: clamp(15px, (20 / var(--base-w)) * 100vw, 20px);*/
	font-size: clamp(15px, (18 / var(--base-w)) * 100vw, 18px);
	line-height: 1.2222em;
    margin: 0;
	padding: 0;
}

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

/*form label + label {
	margin-top: 3em;
}*/

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

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

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

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

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

form textarea {
	height: 2.5em;
	min-height: 2.5em;
	transition: min-height 0.4s var(--transition-timing-ease-in-out);
}

form textarea.focus-in {
    min-height: 6.1111em;
}

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

form label.checkbox span {
	align-self: center;
	text-transform: none;
}

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

form input[type="checkbox"]:before,
form input[type="checkbox"]:after {
	content: "";
    display: block;
    width: 1em;
    height: 1em;
    min-height: 0vh;
    border: solid 1px rgb(var(--color-brown));
	border-radius: 9999px;
	font-size: clamp(18px, (24 / var(--base-w)) * 100vw, 24px);
	margin: 0;
}

form input[type="checkbox"]:after {
	position: absolute;
	width: 0.6667em;
	height: 0.6667em;
	left: 0.1667em;
	top: 0.1667em;
    background: rgb(var(--color-brown));
	opacity: 0;
    transition: opacity 0.4s linear;
}

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

/*form#form-contact button[type="submit"] {
	align-self: flex-end;
	display: flex;
	align-items: center;
	height: 40px;
	border-radius: 9999px;
	background: rgb(var(--color-charcoal));
	color: rgb(var(--color-white));
	font-weight: 400;
	font-size: clamp(12px, (15 / var(--base-w)) * 100vw, 15px);
	line-height: 1em;
	text-transform: uppercase;
	margin-top: 2.6667em;
	padding: 0 2.6667em;
}*/

form#form-contact button[type="submit"] {
	position: absolute;
	right: 0;
	bottom: calc((-6 / 16) * 1em);
}

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

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;
	/*background-image: url("../images/bckg-footer.jpg");
	background-image: -webkit-image-set(
		url("../images/bckg-footer.webp") type("image/webp"),
		url("../images/bckg-footer.jpg") type("image/jpeg")
	);
	background-image: image-set(
		url("../images/bckg-footer.webp") type("image/webp"),
		url("../images/bckg-footer.jpg") type("image/jpeg")
	);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;*/
	color: rgb(var(--color-brown));
}

footer > div {
	padding-bottom: min(30px, (30 / var(--base-w)) * 100vw);
}

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

footer img.logo {
	width: auto;
	height: calc((38 / 20) * 1em);
}

footer div.address {
	min-height: 0vh;
	font-size: clamp(15px, (20 / var(--base-w)) * 100vw, 20px);
	line-height: 1.2em;
}

section.subnav nav,
footer div.social-networks {
	border-top: solid 1px rgb(var(--color-grey-44));
	border-bottom: solid 1px rgb(var(--color-grey-44));
	font-size: clamp(14px, (18 / var(--base-w)) * 100vw, 18px);
	text-transform: uppercase;
	padding-top: calc((13 / 18) * 1em);
	padding-bottom: calc((13 / 18) * 1em);
}

footer div.social-networks {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	column-gap: calc((43 / 18) * 1em);
	margin-bottom: min(40px, (40 / var(--base-w)) * 100vw);
}

footer div.social-networks a i {
	display: none;
}

footer p + p {
	margin-top: 1.2em;
}

footer div.contact-form {
	grid-column: 5 / span 8;
}

footer div.newsletter-form {
	grid-column: 6 / span 7;
}

footer div.newsletter-form h2 {
	min-height: 0vh;
	font-weight: 400;
	font-size: clamp(20px, (40 / var(--base-w)) * 100vw, 40px);
	text-transform: uppercase;
	margin-bottom: 1.5em;
}

/*form#form-newsletter input, 
form#form-newsletter label {
	color: rgb(var(--color-brown));
	font-weight: 400;
	font-size: clamp(15px, (18 / var(--base-w)) * 100vw, 18px);
}

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

form#form-newsletter label.focus-in {
	padding-top: 0;
}*/

form#form-newsletter button[type="submit"] {
	align-self: flex-end;
	height: 47px;
	color: rgb(var(--color-brown));
	font-size: clamp(22px, (30 / var(--base-w)) * 100vw, 30px);
	transform: translateY(-100%);
}

footer div.copyright {
	grid-column: 1 / -1;
	font-size: clamp(12px, (15 / var(--base-w)) * 100vw, 15px);
}


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

#lightbox button.bt-close,
.pms-reserve-unit-form button.bt-close {
	position: absolute;
	width: 1em;
	height: 1em;
	right: 0;
	top: -1.25em;
	font-size: clamp(min(36px, (36 / 414) * 100vw), (45 / 1400) * 100vw, 45px);
	background: 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 {
	animation: kf-fade-in 0.8s linear 0s forwards;
}

#lightbox div.lightbox-content.gallery img {
	max-width: calc((var(--grid-column-w) * 10) + (var(--grid-gap) * 9));
	max-height: calc(100vh - ((var(--grid-column-w) * 2) + (var(--grid-gap) * 2)));
	width: auto;
	height: auto;
	border: solid var(--grid-gap) rgb(var(--color-white));
	box-shadow: 0 min(30px, (30 / 414) * 100vw) min(60px, (60 / 414) * 100vw) rgba(var(--color-black),0.35);	
}

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

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

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

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

@media screen and (min-width: 961px) {
	.no-padding-top {
		padding-top: 0 !important;
	}

	.no-padding-right {
		padding-right: 0 !important;
	}

	.no-padding-bottom {
		padding-bottom: 0 !important;
	}

	.no-padding-left {
		padding-left: 0 !important;
	}
}

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

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

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

/*.bp-1366 {
	display: inline-block;
}*/

.bp-960 {
	display: none;
}

@media screen and (max-width: 960px) {
	.bp-1366 {
		display: none;
	}
	
	.bp-960 {
		display: inline-block;
	}
	
	header {
		background: transparent;		
	}
	
	header nav {
		display: block;
		padding: 0;
	}
	
	header nav ul.main {
		column-gap: min(20px, (20 / var(--base-w-mobile) * 100vw));
		background: rgba(var(--color-beige),0.85);
		padding: min(20px, (20 / var(--base-w-mobile) * 100vw));
		transition: background-color 0.4s 0.2s linear;
		z-index: 200;
	}
	
	header nav ul.main li.home {
		flex-grow: 1;
	}
	
	header nav ul.main li.lang {
		display: block;
		font-weight: 300;
		font-size: 20px;
		text-transform: uppercase;
	}
	
	header nav ul.expand {
		min-height: 0vh;
		flex-direction: column;
		justify-content: center;
		row-gap: 1em;
		position: absolute;
		height: 100vh;
		right: min(0px, (700px - 50vw));
		top: 0;
		background: rgba(var(--color-charcoal),0.85);
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
		color: rgb(var(--color-white));
		padding: 0 2em;
		padding-right: max(200px + (50vw - 700px), (200 / 1400) * 100vw);
		transform: translate(100%);
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
		z-index: 100;
	}

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

	body.nav-open {
		overflow: hidden;
	}

	body.nav-open header {
		position: fixed;
	}
	
	body.nav-open header nav ul.main {
		background: rgba(var(--color-white),1);
		transition-delay: 0s;
	}

	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.1s) + 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: 22px;
		height: 15px;
	}

	header .ico span {
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background: rgb(var(--color-charcoal));
		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.fixed nav ul.main li.home {
		transform: scale(1.75);
	}
	
	header nav ul.expand li.lang {
		display: block;
		overflow: hidden;
		padding-top: 1em;
	}
	
	header nav ul.expand li a:after {
		background: rgb(var(--color-white));
	}
	
	header nav ul.expand li.lang:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 1px;
		left: 0;
		top: 0;
		background: rgba(var(--color-white),1);
		opacity: 0;
		transform: scaleX(0);
		transform-origin: left top;
		transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
		transition-delay: 0.6s;
	}
	
	body.nav-open header nav ul.expand li.lang:before {
		opacity: 1;
		transform: scaleX(1);
		transition-delay: calc((var(--transition-delay) * 0.1s) + 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) * 0.1s) + 1.6s), calc((var(--transition-delay) * 0.1s) + 1.6s);
	}
	
	section > div {
		padding: min(40px, (40 / var(--base-w-mobile)) * 100vw) var(--page-margin-mobile);
	}

	section > div + div {
		padding-top: 0;
	}
	
	section h2 {
		font-size: min(36px, (36 / var(--base-w-mobile)) * 100vw);
		line-height: 1.2222em;
	}
	
	section h3,
	section .h3 {
		font-size: min(20px, (20 / var(--base-w-mobile)) * 100vw);
	}
	
	section.header .h3 {
		font-size: min(16px, (16 / var(--base-w-mobile)) * 100vw);
	}
	
	section p,
	section .text ul {
		font-size: min(20px, (20 / var(--base-w-mobile)) * 100vw);
		line-height: 1.2em;
	}
	
	section h2 + p,
	section .text h2 + ul {
		margin-top: 1.8em;
	}
	
	section h2 + h3,
	section h2 + .h3 {
		margin-top: 0.2em;
	}
	
	section.header .text h2 {
		margin: 0.2em 0;
	}
	
	.no-padding-top-mobile {
		padding-top: 0 !important;
	}

	.no-padding-right-mobile {
		padding-right: 0 !important;
	}

	.no-padding-bottom-mobile {
		padding-bottom: 0 !important;
	}

	.no-padding-left-mobile {
		padding-left: 0 !important;
	}
	
	.z-index {
		z-index: var(--z-index-mobile);
	}

	.bt-visit.float {
		left: min(20px, (20 / var(--base-w-mobile)) * 100vw);
		bottom: min(20px, (20 / var(--base-w-mobile)) * 100vw);
	}
	
	section.header .text .bt-visit.float {
		bottom: auto;
		top: max(-20px, (-20 / var(--base-w-mobile)) * 100vw);
		transform: translateY(-100%);
	}

	.bt-price {
		order: 1;
	}
	
	section.header,
	/*section.plan,*/
	section.project {
		padding-top: min(var(--logo-size) + 40px, var(--logo-size) + ((40 / var(--base-w-mobile)) * 100vw));
	}
	
	/*section.header .text {
		position: relative;
		width: auto;
		left: auto;
		top: auto;
		height: auto;
		color: rgb(var(--color-charcoal));
		text-align: left;
		padding: calc(var(--page-margin-mobile) * 2);
		padding-bottom: var(--page-margin-mobile);
	}
	
	section.header .text:has(a:only-child) {
		padding: 0;
	}*/
	
	section.header .bt-next {
		height: var(--header-img-h-mobile);
		top: calc(var(--header-img-h-mobile) * -1);
		padding: var(--page-margin-mobile) 0;
	}

	section.header .bt-next:after {
		width: min(51px, (51 / var(--base-w-mobile)) * 100vw);
		bottom: var(--page-margin-mobile);
	}
	
	/*section.subnav {
		position: sticky;
		top: max(-21px, (-21 / var(--base-w)) * 100vw);
		background: rgba(var(--color-beige),0.85);
		padding: 0 min(50px, (50 / var(--base-w)) * 100vw);
		padding-top: min(20px, (20 / var(--base-w)) * 100vw);	
		transition: top 0.6s;
		z-index: 10;
	}

	body:has(header.fixed:not(.hide)) section.subnav {
		top: min(var(--logo-size) + 80px, var(--logo-size) + ((80 / var(--base-w)) * 100vw));
	}

	section.subnav:after {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: min(45px, (45 / var(--base-w)) * 100vw);
		left: 0;
		bottom: max(-45px, (-45 / var(--base-w)) * 100vw);
		background: linear-gradient(rgba(var(--color-beige),0.85), rgba(var(--color-beige),0));
	}

	section.subnav nav {
		padding: 0 calc(var(--page-margin) - min(50px, (50 / var(--base-w)) * 100vw));
	}

	section.subnav nav ul {
		display: flex;
		justify-content: space-between;
		color: rgb(var(--color-charcoal));
		text-transform: uppercase;
	}*/
	
	section.subnav {
		top: 0;
		padding: var(--page-margin-mobile);
		padding-bottom: 0;
	}
	
	body:has(header.fixed:not(.hide)) section.subnav {
		top: min(var(--logo-size) + 40px, var(--logo-size) + ((40 / var(--base-w-mobile)) * 100vw));
	}
	
	section.subnav:after {
		height: var(--page-margin-mobile);
		left: 0;
		bottom: calc(var(--page-margin-mobile) * -1);
	}
	
	section.subnav nav {
		padding: calc(var(--page-margin-mobile) * 0.5) 0;
	}
	
	section.subnav nav ul {
		flex-wrap: wrap;
		justify-content: center;
		column-gap: calc(var(--page-margin-mobile) * 1.5);
		row-gap: calc(var(--page-margin-mobile) * 0.5);
	}
	
	/*section.plans .filters-tags ul {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	section.plans .plans-results ul li {
		grid-column-end: span 12;
	}
	
	section.plan div.plan-header-title {
		grid-column-end: span 6;
	}
	
	section.plan div.plan-header-img {
		grid-column-end: span 6;
	}
	
	section.plan div.plan-imgs picture:not(.split-one-third):not(.split-two-third) {
		width: 100%;
	}
	
	section.plan div.plan-imgs picture.split-one-third,
	section.plan div.plan-imgs picture.split-two-third {
		width: calc(((var(--orig-w) / 2224) * 100%) + var(--page-margin-mobile));
		margin: 0 calc(var(--page-margin-mobile) * -1);
	}
	
	section.plan div.plan-imgs picture:nth-child(odd of .justify) {
		margin-right: calc(var(--page-margin-mobile) * -1);
	}

	section.plan div.plan-imgs picture:nth-child(even of .justify) {
		margin-left: calc(var(--page-margin-mobile) * -1);
	}
	
	section.plan div.plan-footer {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 1.25em;
	}
	
	section.plan div.plan-footer .bt-visit {
		transform: translateY(calc(-100% - (var(--grid-gap) * 1)));
	}

	section.plan div.info-container .info {
		max-width: none;
	}
	
	section.plan h1,
	section.realisation h1 {
		font-size: min(36px, (36 / var(--base-w-mobile)) * 100vw);
		line-height: 1em;
	}*/
	
	section.projects .filters-tags ul {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	section.projects .projects-results {
		margin-top: min(40px, (40 / var(--base-w-mobile)) * 100vw);
	}

	section.projects .projects-results ul li {
		grid-column-end: span 12;
	}
	
	section.project div.project-header-title {
		grid-column-end: span 6;
	}
	
	section.project div.project-header-img {
		grid-column-end: span 6;
	}
	
	section.project div.project-imgs picture:not(.split-one-third):not(.split-two-third) {
		width: 100%;
	}
	
	section.project div.project-imgs picture.split-one-third,
	section.project div.project-imgs picture.split-two-third {
		width: calc(((var(--orig-w) / 2224) * 100%) + var(--page-margin-mobile));
		margin: 0 calc(var(--page-margin-mobile) * -1);
	}
	
	section.project div.project-imgs picture:nth-child(odd of .justify) {
		margin-right: calc(var(--page-margin-mobile) * -1);
	}

	section.project div.project-imgs picture:nth-child(even of .justify) {
		margin-left: calc(var(--page-margin-mobile) * -1);
	}
	
	section.project div.project-footer {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 1.25em;
	}
	
	section.project div.project-footer .bt-visit {
		transform: translateY(calc(-100% - (var(--grid-gap) * 1)));
	}

	section.project div.info-container .info {
		max-width: none;
	}
	
	section.project h1,
	section.realisation h1 {
		font-size: min(36px, (36 / var(--base-w-mobile)) * 100vw);
		line-height: 1em;
	}

	section.realisations > div {
		padding-top: min(var(--logo-size) + 40px, var(--logo-size) + ((40 / var(--base-w-mobile)) * 100vw));
		padding-right: var(--page-margin-mobile);
		padding-left: var(--page-margin-mobile);
	}
	
	section.realisations ul {
		row-gap: var(--page-margin-mobile);
	}
	
	section.realisations ul li figure picture {
		height: var(--realisations-img-h-mobile);
	}
	
	section.masonry > div,
	section.realisation > div {
		grid-auto-rows: minmax(min(8px, (8 / var(--base-w)) * 100vw), auto);
		padding: var(--page-margin-mobile);
	}
	
	section.masonry > div > div,
	section.realisation > div > div {
		padding: var(--page-margin-mobile);
	}
	
	section.realisation > div > div:last-of-type {
		grid-column-end: span 12;
	}
	
	section.masonry > div > div.text,
	section.masonry > div > div.text + picture[style*="--col-end: 6;"] {
		grid-column-end: span 12;
	}
	
	section.masonry > div > div.text + picture[style*="--col-end: 6;"] {
		grid-row-start: 1;
	}
	
	section.masonry > div > div.video,
	section.realisation > div > div.video {
		grid-row-end: span calc(var(--row-end) + 16);
	}
		
	section.masonry > div > div.project-details,
	section.masonry > div > div.project-details + picture[style*="--col-end: 6;"],
	section.masonry > div > div.project-details + picture[style*="--col-end: 6;"] + picture[style*="--col-end: 6;"],
	section.masonry > div > div.project-back {
		grid-column: 1 / -1;
	}
	
	section.grid-layout > div {
		padding-top: var(--page-margin-mobile);
	}
	
	section.grid-layout > 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.grid-layout > div > *.overflow-mobile {
		margin-right: calc(var(--page-margin-mobile) * -1);
		margin-left: calc(var(--page-margin-mobile) * -1);
	}

	section.grid-layout > div > *.innerflow-mobile {
		margin-right: var(--page-margin-mobile);
		margin-left: var(--page-margin-mobile);
	}
	
	section.grid-layout > div > div.text {
		padding: var(--page-margin-mobile);
	}
	
	section.instagram-projects > div {
		padding: 0;
	}
	
	section.instagram-projects h2 {
		font-size: min(24px, (24 / var(--base-w-mobile)) * 100vw);
	}

	section.instagram-projects p {
		text-align: center;
	}
	
	section.instagram-projects a.bt {
		margin: calc(var(--page-margin-mobile) * 1.5) calc(var(--page-margin-mobile) * 2);
	}
	
	/*section.partners > div > * {
		grid-column-end: span 6;
	}*/
	
	/*.reveal,
	.img-reveal-a,
	.img-reveal-b,
	.reveal img {
		width: 100%;
		height: 100%;
	}

	.reveal {
		position: relative;
		height: min(815px, (815 / var(--base-w)) * 100vw);
		padding: 0 45px;
	}

	.img-reveal-a,
	.img-reveal-b {
		position: absolute;
		left: 0;
		top: 0;
		overflow: hidden;
		pointer-events: none;
	}

	.reveal img {
		width: min(1088px, (1088 / var(--base-w) * 100vw));
		object-fit: cover;
	}

	.reveal .handle {
		position: absolute;
		width: 0;
		height: 100%;
		top: 0;
		left: 50%;
	}

	.reveal .handle:before,
	.reveal .handle:after {
		content: "";
		display: block;
		position: absolute;
	}

	.reveal .handle:before {
		width: 2px;
		height: 100%;
		left: 50%;
		top: 0;
		background: rgb(var(--color-white));
		transform: translateX(-50%);
	}

	.reveal .handle:after {
		width: 90px;
		height: 76px;
		left: 0;
		top: 50%;
		background: rgba(var(--color-grey-97),1) url("../images/ico-handle.svg") center center no-repeat;
		background-size: 48px 26px;
		border-radius: 20px;
		transform: translate(-50%, -50%);
	}*/
	
	.reveal {
		position: relative;
		width: 100vw;
		height: calc((815 / 1086) * 100vw);
		margin: 0 calc(var(--page-margin-mobile) * -1);
		padding: 0 22.5px;
	}
	
	.reveal img {
		width: 100vw;
	}
	
	.reveal .handle:after {
		width: 45px;
		height: 38px;
		background-size: 24px 13px;
		border-radius: 10px;
	}
	
	section.team figure {
		grid-column-end: span 12;
	}
	
	section.team figcaption {
		padding: var(--page-margin-mobile);
	}

	
	picture.logo-header img  {
		max-height: min(120px, (120 / var(--base-w-mobile)) * 100vw);
	}

	.form-container {
		padding: calc(var(--page-margin-mobile) * 2);
	}
	
	/*footer {
		background-image: url("../images/bckg-footer-mobile.jpg");
		background-image: -webkit-image-set(
			url("../images/bckg-footer-mobile.webp") type("image/webp"),
			url("../images/bckg-footer-mobile.jpg") type("image/jpeg")
		);
		background-image: image-set(
			url("../images/bckg-footer-mobile.webp") type("image/webp"),
			url("../images/bckg-footer-mobile.jpg") type("image/jpeg")
		);
	}*/

	footer > div {
		padding: min(40px, (40 / var(--base-w-mobile)) * 100vw);
	}

	/*footer div.logo {
		grid-column: 1 / span 4;
	}
	
	footer div.logo img {
		width: 100%;
		height: auto;
	}*/
	
	footer div.address,
	footer div.social-networks {
		grid-column: 1 / -1;
	}
	
	footer div.social-networks {
		/*justify-content: space-between;
		column-gap: normal;*/
		font-size: min(21px, (21 / var(--base-w-mobile)) * 100vw);
	}
	
	footer div.social-networks a span {
		display: none;
	}

	footer div.social-networks a i {
		display: block;
	}
	
	footer div.address br + a {
		display: block;
		margin-top: 1.2em;
	}
	
	footer div.contact-form,
	footer div.newsletter-form {
		grid-column: 1 / -1;
		grid-row: 2 / span 1;
		align-self: center;
	}
	
	footer div.newsletter-form h2 {
		margin-bottom: 1em;
	}
	
	form#form-contact button[type="submit"] {
		position: relative;
		right: auto;
		bottom: auto;
	}
	
	form#form-newsletter button[type="submit"] {
		width: 48px;
		height: 48px;
		margin-right: -12px;
		margin-bottom: -8px;
	}
}

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