@charset "UTF-8";

:root {
	--color-aqua: 40,196,231;
	--color-black: 0,0,0;
	--color-blue: 0,71,186;
	--color-blue-dark: 0,31,135;
	--color-marine: 13,40,80;
	--color-marine-dark: 9,30,60;
	--color-grey-22: 57,57,57;
	--color-grey-29: 74,74,74;
	--color-grey-54: 137,137,137;
	--color-grey-73: 187,187,187;
	--color-grey-87: 223,223,223;
	--color-grey-91: 231,231,231;
	--color-grey-97: 248,248,248;
	--color-white: 255,255,255;
	
	--base-w: 1440; /*1320;*/
	--base-w-mobile: 375;
	--page-margin: calc((60 / var(--base-w)) * 100vw);
	--page-margin-neg: calc(var(--page-margin) * -1);
	--grid-column-gap: calc((30 / var(--base-w)) * 100vw);
	/*--grid-column-w: calc((min(var(--base-w) * 1px, 100vw) - (var(--page-margin) * 2) - (11 * var(--grid-column-gap))) / 12);*/
	--grid-column-w: calc((100vw - (var(--page-margin) * 2) - (11 * var(--grid-column-gap))) / 12);
}

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

/*body {
	width: 100%;
	height: 100%;
	background-image: 
		radial-gradient(closest-side at 50%, rgba(var(--color-grey-54),0.11), rgba(var(--color-grey-54),0)),
		linear-gradient(rgb(var(--color-grey-97)), rgb(var(--color-grey-97)));
	background-position: 
		calc((-538 / var(--base-w)) * 100vw) calc((-675 / var(--base-w)) * 100vw),
		left top;
	background-repeat: no-repeat;
	background-size: 
		calc((1100 / var(--base-w)) * 100vw) calc((1100 / var(--base-w)) * 100vw),
		100vw 100vh;
	overflow-y: scroll;
}*/

/*body {
	background: rgb(var(--color-grey-97));
	overflow-y: scroll;
}*/

body.noscroll,
body.nav-open {
	overflow: hidden;
}

.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: normal;
	margin: 0;
}

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

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

*:focus {
    outline: 0;
}


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


header {
	--nav-open-spd: 0.8s;
	--nav-open-height: 100vh;
	
    display: block;
    position: absolute;
	width: 100%;
	left: 0;
    top: 0;
    z-index: 200;
}

header:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	/*height: min(154px, (154 / var(--base-w)) * 100vw);*/
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(var(--color-grey-97),1);
	opacity: 0;
	transition: opacity 0.4s linear;
	z-index: 10;
}

body.top header {
    position: fixed;    
}

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

body:not(.top) header.fixed:before {
    opacity: 1;
	transition-duration: 0s;
}

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

header nav {
	position: relative;
	width: 100%;
	z-index: 30;
}

/*header nav ul.main {
	align-items: center;
	padding-top: calc((28 / var(--base-w)) * 100vw) !important;
	padding-bottom: calc((28 / var(--base-w)) * 100vw) !important;
}*/

header nav .logo {
	grid-column: 1 / span 2;
	position: relative;
	font-size: calc((72 / var(--base-w)) * 100vw);
	padding-bottom: calc((24 / var(--base-w)) * 100vw);
	transition: opacity 0.2s 0.3s linear;
}

footer .logo {
	font-size: calc((51 / var(--base-w)) * 100vw);
}

header nav .logo img,
footer .logo img {
	width: auto;
	height: 1em;
}

svg.arrow {	
	width: calc(var(--h) * 1.5);
	height: var(--h);
	overflow: visible;
}

svg.arrow g:has(circle) {
	height: 100%;
}

svg.arrow circle {
	cx: 66.6667%;
	cy: 50%;
	r: 39%;
	transform-origin: center;
}

svg.arrow rect {
	width: calc(((2 / 3) * 100%) + 2px);
	height: 1px;
	y: calc(50% - 0.5px);
}

svg.arrow path {
	transform: translate(calc(((2 / 3) * 100%) + 3px), calc(50% - 4px));
}

@media screen and (min-width: 981px) {
	header nav {
		display: flex;
		padding: calc((28 / var(--base-w)) * 100vw) var(--page-margin);
	}
	
	header nav .logo {
		padding-right: calc((151 / 72) * 1em);
	}
	
	.bt-demande-de-pret {
		display: none;
		/*grid-column: 9 / span 3;
		margin-left: calc((-40 / var(--base-w)) * 100vw);*/
	}
	
	header nav ul.expand {
		display: flex;
		flex-grow: 1;
		justify-content: space-between;
		align-items: center;
	}
	
	header nav ul.expand li {
		position: relative;
		font-weight: 500;
		font-size: max(14px, (19 / var(--base-w)) * 100vw);
		letter-spacing: 0.03em;
		line-height: calc((23 / 19) * 1em);
		text-transform: uppercase;
		transition: color 0.2s linear;
	}
	
	header nav ul.expand li:hover,
	header nav ul.expand li.current-menu-item {
		color: rgb(var(--color-aqua));
	}
	
	header nav ul.expand li.wpml-ls-item span[lang="en"],
	header nav ul.expand li.wpml-ls-item span[lang="fr"] {
		display: none;
	}
	
	header nav ul.expand li.wpml-ls-item a:has(span[lang="en"]):after {
		content: "EN";
	}

	header nav ul.expand li.wpml-ls-item a:has(span[lang="fr"]):after {
		content: "FR";
	}
	
	header nav ul.expand li:not(.bt-contact) svg {
		display: none;
	}
	
	/*header nav ul.expand li a {
		display: block;
		position: relative;
		transform: translateY(110%);
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}
	
	header nav ul.expand li a svg.arrow {
		--h: calc((132 / 51) * 1em);
		position: absolute;
		left: calc((var(--h) * -1) - ((25 / 51) * 1em));
		top: calc(50% - (var(--h) * 0.5));
	}

	header nav ul.expand li a svg.arrow * {
		fill: rgb(var(--color-aqua));
	}

	header nav ul.expand li a svg.arrow circle {
		fill: rgba(var(--color-blue),0.09);
		opacity: 0;
		transform: scale(0);
		transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1.25);
	}

	header nav ul.expand li:hover a svg.arrow circle {
		opacity: 1;
		transform: scale(1);
	}

	header nav ul.expand li a svg.arrow g.g-arrow {
		opacity: 0;
		transform: translateX(-20%);
		transition: opacity 0.2s linear, transform 0.4s 0.2s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand li:hover a svg.arrow g.g-arrow {
		opacity: 1;
		transform: translateX(0);
		transition-delay: 0s;
	}*/
}



/*header nav ul.expand {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	position: absolute;
	width: 100vw;
	height: 100vh;
	left: 0;
	top: 0;
	background-image: linear-gradient(65deg, rgb(var(--color-blue)), rgb(var(--color-blue-dark)));
	-webkit-clip-path: url(#nav-expand-path);
	clip-path: url(#nav-expand-path);
	color: rgb(var(--color-white));
	padding: 0 calc(var(--page-margin) + var(--grid-column-w));
	z-index: -1;
}

svg clipPath#nav-expand-path circle {
	--r : calc((35 / 15) * 1em);
	cx: calc((var(--clip-left) * 1px) + var(--r));
	cy: calc((var(--clip-top) * 1px) + var(--r));
	r: var(--r);
	r: 0;
	font-size: calc((15 / var(--base-w)) * 100vw);
	transition: r 0.3s cubic-bezier(0.25,0.25,0.25,1);
}

@media screen and (min-width: 641px) {
	body:not(.nav-open):has(.bt-expand:hover) svg clipPath#nav-expand-path circle {
		r: var(--r);
		transition: r 0.2s cubic-bezier(0.25,0.25,0.25,1);
	}
}

header nav ul.expand li {
	position: relative;
	font-weight: 700;
	font-size: calc((51 / var(--base-w)) * 100vw);
	line-height: calc((63 / 51) * 1em);
	text-align: right;
	overflow: hidden;
	transition: color 0.2s linear;
}

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

header nav ul.expand li:nth-child(1) {
	margin-top: 5%;
}

header nav ul.expand li.lang,
header nav ul.expand li.wpml-ls-item {
	font-weight: 500;
	font-size: calc((21 / var(--base-w)) * 100vw);
	letter-spacing: 0.05em;
	line-height: calc((23 / 21) * 1em);
	text-transform: uppercase;
	margin-top: 10%;
}

header nav ul.expand li a {
	display: block;
	position: relative;
	transform: translateY(110%);
	transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
}

header nav ul.expand li a svg.arrow {
	--h: calc((132 / 51) * 1em);
	position: absolute;
	left: calc((var(--h) * -1) - ((25 / 51) * 1em));
	top: calc(50% - (var(--h) * 0.5));
}

header nav ul.expand li a svg.arrow * {
	fill: rgb(var(--color-aqua));
}

header nav ul.expand li a svg.arrow circle {
	fill: rgba(var(--color-white),0.09);
	opacity: 0;
	transform: scale(0);
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1.25);
}

header nav ul.expand li:hover a svg.arrow circle {
	opacity: 1;
	transform: scale(1);
}

header nav ul.expand li a svg.arrow g.g-arrow {
	opacity: 0;
	transform: translateX(-20%);
	transition: opacity 0.2s linear, transform 0.4s 0.2s cubic-bezier(0.25,0.25,0.25,1);
}

header nav ul.expand li:hover a svg.arrow g.g-arrow {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0s;
}*/


/*--  nav-open  --*/


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

body.nav-open .logo,
body.nav-open .bt-demande-de-pret {
	opacity: 0;
	pointer-events: none;
	transition-duration: 0.1s;
	transition-delay: 0s;
}

body.nav-open clipPath#nav-expand-path circle {
	transition: r 1.2s cubic-bezier(0.25,0.25,0.25,1);
}

@media screen and (orientation : landscape) {
	body.nav-open clipPath#nav-expand-path circle {
		r: 150vw;
	}
}

@media screen and (orientation : portrait) {
	body.nav-open clipPath#nav-expand-path circle {
		r: 150vh;
	}
}

body.nav-open header nav ul.expand li {
	animation: kf-remove-overflow 0.6s linear both;
	animation-delay: calc(0.4s + (var(--dly) * 0.1s));
}

@keyframes kf-remove-overflow {
    0%, 99%   {overflow: hidden;}
    100%  {overflow: visible;}
}

body.nav-open header nav ul.expand li a {
	transform: translateY(0);
	transition-delay: calc(0.4s + (var(--dly) * 0.05s));
}


/*--  nav ico  --*/


header nav .bt-expand {
	display: none;
	grid-column: 12 / span 1;
	justify-self: end;
}

@media screen and (min-width: 981px) {
	body:not(.nav-open) .bt-expand:hover div.ico span {
		background: rgb(var(--color-white));
		transition: width 0s 0.3s, background 0.3s 0s, opacity 0.3s 0.3s, top 0.3s 0.3s, transform 0.3s;
	}
}

header div.ico {
    display: flex;
	justify-content: center;
	align-items: center;
    cursor: pointer;
	width: calc((70 / 15) * 1em);
	height: calc((70 / 15) * 1em);
	font-size: calc((15 / var(--base-w)) * 100vw);
	pointer-events: auto;
	margin-right: calc((((44 - 70) * 0.5) / 15) * 1em);
	transition: background-color 0s 0.7s linear;
    z-index: 20;
}

header div.ico > div {
    display: block;
    position: relative;
	width: calc((44 / 15) * 1em);
	height: calc((17 / 15) * 1em);
}

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

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

header div.ico span:nth-child(2) {
	width: calc((29 / 44) * 100%);
    top: calc(50% - 1px);
}

header div.ico span:nth-child(3) {
	width: calc((36 / 44) * 100%);
    top: calc(100% - 2px);
    /*right: 0;*/
}

body.nav-open header div.ico span {
	background: rgb(var(--color-white));
	transition: width 0.3s 0s, border-radius 0s 0.3s, background 0.3s, opacity 0.3s, top 0.3s, transform 0.3s 0.3s;
}

body.nav-open header div.ico span:nth-child(1),
body.nav-open header div.ico span:nth-child(2),
body.nav-open header div.ico span:nth-child(3) {
	width: 100%;
}

body.nav-open header div.ico span:nth-child(1),
body.nav-open header div.ico span:nth-child(3) {
    top: calc(50% - 1px);
}

body.nav-open header div.ico span:nth-child(1) {
    transform: rotate(45deg);
}

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

body.nav-open header div.ico span:nth-child(3) {
    transform: rotate(-45deg);
}


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


body.home .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 7) + (var(--grid-column-gap) * 6));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 8) + (var(--grid-column-gap) * 8));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 10) + (var(--grid-column-gap) * 9));
}

body.prets .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 9) + (var(--grid-column-gap) * 9));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 9) + (var(--grid-column-gap) * 9));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 11) + (var(--grid-column-gap) * 11));
}

body.briva-en-3-mots .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 3) + (var(--grid-column-gap) * 3));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 9) + (var(--grid-column-gap) * 9));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 11) + (var(--grid-column-gap) * 11));
}

body.pourquoi-briva .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 1) + (var(--grid-column-gap) * 0));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 5) + (var(--grid-column-gap) * 4));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 7) + (var(--grid-column-gap) * 6));
}

body.equipe .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 2) + (var(--grid-column-gap) * 1));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 8) + (var(--grid-column-gap) * 7));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 10) + (var(--grid-column-gap) * 9));
}

body.expert .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 2) + (var(--grid-column-gap) * 2));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 8) + (var(--grid-column-gap) * 8));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 10) + (var(--grid-column-gap) * 10));
}

body.nouvelles .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 5) + (var(--grid-column-gap) * 5));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 7) + (var(--grid-column-gap) * 7));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 9) + (var(--grid-column-gap) * 9));
}

body.contact .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 2) + (var(--grid-column-gap) * 1));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 4) + (var(--grid-column-gap) * 3));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 6) + (var(--grid-column-gap) * 5));
}

body.politique .bckg {
	--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 2) + (var(--grid-column-gap) * 1));
	--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 4) + (var(--grid-column-gap) * 3));
	--stop3: calc(var(--page-margin) + (var(--grid-column-w) * 6) + (var(--grid-column-gap) * 5));
}

.bckg {
	--c1: var(--color-grey-97);
	--c2: var(--color-grey-91);

	display: block;
	position: fixed;
	width: 100vw;
	height: 100vh;
	left: 0;
	top: 0;
	background-image: 
		linear-gradient(90deg, 
			rgb(var(--c1)) var(--stop1), rgb(var(--c2)) var(--stop1), rgb(var(--c2)) calc(var(--stop1) + 1px), rgb(var(--c1)) calc(var(--stop1) + 1px),
			rgb(var(--c1)) var(--stop2), rgb(var(--c2)) var(--stop2), rgb(var(--c2)) calc(var(--stop2) + 1px), rgb(var(--c1)) calc(var(--stop2) + 1px),
			rgb(var(--c1)) var(--stop3), rgb(var(--c2)) var(--stop3), rgb(var(--c2)) calc(var(--stop3) + 1px), rgb(var(--c1)) calc(var(--stop3) + 1px)
		);
	background-position: 
		left top;
	background-repeat: no-repeat;
	background-size: 
		100vw 100vh;
}
.container {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 100%;
}

main {
	flex: 1 0 auto;
	display: block;
	position: relative;
}

main:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: radial-gradient(closest-side at 50%, rgba(var(--color-grey-54),0.11), rgba(var(--color-grey-54),0));
	background-position: calc((-538 / var(--base-w)) * 100vw) calc((-675 / var(--base-w)) * 100vw);
	background-repeat: no-repeat;
	background-size: calc((1100 / var(--base-w)) * 100vw) calc((1100 / var(--base-w)) * 100vw);
}

section {
    display: block;
    position: relative;
}

/*header nav ul.main,*/
section > div,
.news-archive-header article,
footer > div {
    display: grid;
	position: relative;
    grid-template-columns: repeat(12, 1fr);
	grid-column-gap: var(--grid-column-gap);
	width: 100%;
	padding: 0 var(--page-margin);
}

section:nth-child(1) {
	margin-top: calc((200 / var(--base-w)) * 100vw);
}

@media screen and (min-width: 641px) {
	.char-style-baskerville-91pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((91 / var(--base-w)) * 100vw);
		line-height: calc((107 / 91) * 1em);
	}

	.char-style-baskerville-75pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((75 / var(--base-w)) * 100vw);
		line-height: calc((91 / 75) * 1em);
	}

	.char-style-baskerville-71pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((71 / var(--base-w)) * 100vw);
		line-height: calc((107 / 75) * 1em);
	}

	.char-style-baskerville-51pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((51 / var(--base-w)) * 100vw);
		line-height: calc((79 / 51) * 1em);
	}

	.char-style-baskerville-47pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((47 / var(--base-w)) * 100vw);
		line-height: calc((79 / 47) * 1em);
	}

	.char-style-baskerville-43pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((43 / var(--base-w)) * 100vw);
		line-height: calc((53 / 43) * 1em);
	}

	.char-style-baskerville-41pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((41 / var(--base-w)) * 100vw);
		line-height: 1.2em;
	}

	.char-style-baskerville-36pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((36 / var(--base-w)) * 100vw);
		line-height: calc((44 / 36) * 1em);
	}

	.char-style-baskerville-31pt,
	.news-archive-header h2 {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((31 / var(--base-w)) * 100vw);
		line-height: calc((41 / 31) * 1em);
	}

	.char-style-baskerville-23pt,
	.news-archive h2 {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((23 / var(--base-w)) * 100vw);
		line-height: calc((33 / 23) * 1em);
	}

	.char-style-baskerville-17pt {
		font-family: "Libre Baskerville", serif;
	}

	.char-style-baskerville-15pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 400;
		font-style: normal;
		font-size: calc((15 / var(--base-w)) * 100vw);
		line-height: calc((23 / 15) * 1em);
	}

	.char-style-poppins-39pt {
		font-weight: 700;
		font-size: calc((39 / var(--base-w)) * 100vw);
		line-height: 1.2em;
	}

	.char-style-poppins-33pt {
		font-weight: 600;
		font-size: calc((33 / var(--base-w)) * 100vw);
		line-height: 1.2em;
	}

	.char-style-poppins-27pt {
		font-weight: 400;
		font-size: calc((27 / var(--base-w)) * 100vw);
		line-height: calc((39 / 27) * 1em);
	}

	.char-style-poppins-24pt {
		font-weight: 700;
		font-size: calc((24 / var(--base-w)) * 100vw);
		/*line-height: calc((59 / 24) * 1em);*/
		line-height: calc((33 / 24) * 1em);
	}

	.char-style-poppins-23pt {
		font-weight: 400;
		font-size: calc((23 / var(--base-w)) * 100vw);
		line-height: calc((29 / 23) * 1em);
	}

	.char-style-poppins-21pt {
		font-weight: 400;
		font-size: calc((21 / var(--base-w)) * 100vw);
		line-height: 1.2em;
	}

	.char-style-poppins-19pt {
		font-weight: 400;
		font-size: calc((19 / var(--base-w)) * 100vw);
		line-height: 1em;
	}

	.char-style-baskerville-17pt,
	.char-style-poppins-17pt,
	.equipe-single p,
	.news-single p,
	.news-single blockquote,
	.form-demande-pret p {
		font-weight: 400;
		font-size: calc((17 / var(--base-w)) * 100vw);
		line-height: calc((23 / 17) * 1em);
	}

	.char-style-poppins-17pt small {
		display: block;
		font-size: calc((13 / 17) * 1em);
		line-height: calc((23 / 17) * 1em);
	}

	.char-style-poppins-17-27pt {
		font-weight: 400;
		font-size: calc((17 / var(--base-w)) * 100vw);
		line-height: calc((27 / 17) * 1em);
	}

	.char-style-poppins-15pt,
	.news-archive-header p,
	.news-archive p {
		font-weight: 400;
		font-size: calc((15 / var(--base-w)) * 100vw);
		line-height: 1.2em;
	}

	.char-style-poppins-15pt strong,
	.news-archive-header p strong,
	.news-archive p strong {
		font-weight: 600;
	}

	.char-style-poppins-15-24pt {
		font-weight: 400;
		font-size: calc((15 / var(--base-w)) * 100vw);
		line-height: calc((24 / 15) * 1em);
	}

	.char-style-baskerville-51pt + .char-style-poppins-23pt,
	div:has(.char-style-poppins-24pt) + div:has( > .char-style-poppins-23pt:nth-child(1)),
	div:has(.char-style-poppins-24pt) + div:has( > .char-style-poppins-27pt:nth-child(1)) {
		margin-top: calc((27 / 23) * 1em);	
	}

	.char-style-baskerville-47pt + .char-style-poppins-23pt {
		margin-top: calc((7 / 23) * 1em);	
	}

	picture + .char-style-baskerville-47pt,
	.iframe + .char-style-baskerville-47pt {
		margin-top: calc((47 / 47) * 1em);	
	}

	.char-style-baskerville-43pt + .char-style-poppins-17pt,
	.char-style-poppins-23pt + .char-style-poppins-17pt {
		margin-top: calc((36 / 17) * 1em);
	}

	.char-style-baskerville-41pt + .char-style-poppins-21pt {
		margin-top: calc((5 / 21) * 1em);
	}

	.char-style-baskerville-36pt:has(+ ul.unordered-list) {
		position: relative;
		margin: 0 0 calc((34 / var(--base-w)) * 100vw) calc((27 / var(--base-w)) * 100vw);
		padding-bottom: calc((42 / var(--base-w)) * 100vw);
	}

	.char-style-baskerville-36pt:has(+ ul.unordered-list):before {
		content: "";
		display: inline-block;
		position: absolute;
		width: calc((11 / var(--base-w)) * 100vw);
		height: calc((11 / var(--base-w)) * 100vw);
		left: calc((-25 / var(--base-w)) * 100vw);
		top: calc((14 / var(--base-w)) * 100vw);
		background: rgb(var(--color-blue));
		-webkit-clip-path: url(#ico-list-arrow);
		clip-path: url(#ico-list-arrow);
	}

	.char-style-baskerville-36pt:has(+ ul.unordered-list):after {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 1px;
		left: 0;
		bottom: 0;
		background: rgb(var(--color-black));
	}

	.char-style-baskerville-31pt + .char-style-poppins-23pt {
		margin-top: calc((20 / 23) * 1em);
	}

	.char-style-baskerville-31pt + .char-style-poppins-21pt {
		margin-top: calc((5 / 21) * 1em);
	}

	.char-style-baskerville-31pt + .char-style-poppins-17pt,
	.news-single .char-style-baskerville-31pt + p {
		margin-top: calc((53 / 21) * 1em);
	}

	.char-style-baskerville-31pt + .char-style-poppins-15pt,
	.news-archive-header h2 + p {
		margin-top: calc((38 / 15) * 1em);		
	}

	.char-style-baskerville-23pt + .char-style-poppins-23pt {
		margin-top: calc((18 / 23) * 1em);	
	}

	.char-style-baskerville-23pt + .char-style-poppins-15pt,
	.news-archive h2 + p {
		margin-top: calc((22 / 15) * 1em);	
	}

	.char-style-poppins-39pt + .char-style-poppins-21pt {
		margin-top: calc((5 / 21) * 1em);
	}

	.char-style-poppins-33pt + .char-style-poppins-19pt {
		margin-top: calc((13 / 19) * 1em);
	}

	.char-style-poppins-33pt + .char-style-poppins-17pt {
		margin-top: calc((46 / 17) * 1em);
	}

	.char-style-poppins-27pt + .char-style-poppins-27pt {
		margin-top: calc((39 / 27) * 1em);
	}

	.char-style-poppins-24pt + .char-style-poppins-17-27pt {
		margin-top: calc((27 / 17) * 1em);	
	}

	.char-style-poppins-24pt + .char-style-baskerville-31pt {
		margin-top: calc((19 / 31) * 1em);	
	}

	div:has(.char-style-poppins-24pt) + div:has( > .char-style-poppins-17pt:nth-child(1)),
	div:has(.char-style-poppins-24pt) + div:has( > .char-style-poppins-17-27pt:nth-child(1)) {
		margin-top: calc((27 / var(--base-w)) * 100vw);
	}

	.char-style-poppins-24pt + .char-style-baskerville-71pt {
		margin-top: calc((17 / 71) * 1em);	
	}

	.char-style-poppins-21pt + .char-style-poppins-15pt {
		margin-top: calc((13 / 15) * 1em);
	}

	.char-style-poppins-24pt + .char-style-poppins-17pt,
	.char-style-poppins-21pt + .char-style-poppins-17pt {
		margin-top: calc((30 / 17) * 1em);	
	}

	.char-style-poppins-24pt:has(+ ul.list-arrow) {
		padding-left: calc((32 / var(--base-w)) * 100vw);	
	}

	.char-style-poppins-23pt + .char-style-poppins-23pt {
		margin-top: calc((14 / 23) * 1em);
	}

	.char-style-poppins-17pt + .char-style-poppins-17pt,
	.equipe-single p + p,
	.news-single p + p,
	.news-single p + blockquote,
	.news-single blockquote + p,
	.news-single blockquote + blockquote {
		margin-top: calc((25 / 17) * 1em);	
	}

	.char-style-poppins-17pt + .char-style-poppins-17-27pt {
		margin-top: calc((66 / 17) * 1em);	
	}

	.char-style-poppins-17-27pt + .char-style-poppins-15-24pt {
		margin-top: calc((4 / 15) * 1em);		
	}

	.unordered-list.char-style-poppins-17-27pt li + li {
		margin-top: calc((10 / 17) * 1em);		
	}

	.char-style-poppins-15pt + .char-style-baskerville-31pt,
	.news-archive-header p + h2 {
		margin-top: calc((20 / 31) * 1em);		
	}

	.char-style-poppins-15pt + .char-style-baskerville-23pt,
	.news-archive p + h2 {
		margin-top: calc((21 / 23) * 1em);		
	}

	.char-style-poppins-15pt + .char-style-baskerville-41pt,
	div:has(*.char-style-poppins-15pt:last-child) + div > *.char-style-baskerville-41pt:first-child {
		margin-top: calc((63 / var(--base-w)) * 100vw);
	}

	.char-style-poppins-15pt + p:has( > a.bt) {
		margin-top: calc((80 / var(--base-w)) * 100vw);
	}

	.char-style-poppins-15-24pt + .char-style-poppins-17-27pt {
		margin-top: calc((25 / 17) * 1em);		
	}

	.char-style-poppins-15-24pt + .char-style-poppins-15-24pt {
		margin-top: calc((5 / 15) * 1em);		
	}
}

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

ol.ordered-list li,
ul.unordered-list li {
	position: relative;
	padding-left: calc((27 / var(--base-w)) * 100vw);
}

ul.unordered-list.list-arrow li {
	padding-left: calc((32 / var(--base-w)) * 100vw);
}

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.unordered-list.list-arrow > li:before {
    content: "";
	width: calc((21 / var(--base-w)) * 100vw);
	height: 9px;
	top: calc((((27 - 9) * 0.5) / var(--base-w)) * 100vw);
	background: rgb(var(--color-aqua));
	-webkit-clip-path: url(#clip-list-arrow);
	clip-path: url(#clip-list-arrow);
}

.show-grp .ordered-list li,
.show-grp .unordered-list li {
	opacity: 0;
}

.show-grp.show .ordered-list li,
.show-grp.show .unordered-list li {
	opacity: 1;
	transition: opacity 0.2s linear;
}

.show-grp:has(.unordered-list) .char-style-poppins-24pt,
.show-grp:has(.unordered-list) .char-style-baskerville-36pt {
	opacity: 0;
}

.show-grp:has(.unordered-list).show .char-style-poppins-24pt,
.show-grp:has(.unordered-list).show .char-style-baskerville-36pt {
	opacity: 1;
	transition: opacity 0.2s linear;
	transition-delay: calc((var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s));
}

.show-grp .unordered-list.list-arrow > li:before,
.show-grp:has(.unordered-list) .char-style-baskerville-36pt:before {
	opacity: 0;
	transform: translateX(-100%);
}

.show-grp.show .unordered-list.list-arrow > li:before,
.show-grp:has(.unordered-list).show .char-style-baskerville-36pt:before {
	opacity: 1;
	transform: translateX(0);
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	/*transition-delay: calc(0.2s + (var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s));*/
	transition-delay: calc((var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s));
}

.show-grp.show .unordered-list.list-arrow > li:before {
	transition-delay: calc(0.8s + (var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s) + (var(--transition-delay-2) * 0.1s));
}

.show-grp:has(.unordered-list) .char-style-baskerville-36pt:after {
	transform: scaleX(0);
	transform-origin: left top;
}

.show-grp:has(.unordered-list).show .char-style-baskerville-36pt:after {
	transform: scaleX(1);
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	/*transition-delay: calc(0.4s + (var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s));*/
	transition-delay: calc(0s + (var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s));
}

/*.show-grp:has(.ordered-list).show .char-style-poppins-24pt + ol.ordered-list > li,*/
.show-grp.show .char-style-poppins-24pt + ul.unordered-list > li,
.show-grp.show .char-style-baskerville-36pt + ul.unordered-list > li {
	/*transition-delay: calc(0.6s + (var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s) + (var(--transition-delay-2) * 0.1s));*/
	transition-delay: calc(0s + (var(--grp-transition-delay) * 0.6s) + (var(--transition-delay-1) * 0.1s) + (var(--transition-delay-2) * 0.1s));
}

/*ul.unordered-list.list-arrow > li:before {
    content: "";
	width: calc((21 / var(--base-w)) * 100vw);
	height: 9px;
	top: calc((((27 - 9) * 0.5) / var(--base-w)) * 100vw);
	background: rgb(var(--color-aqua));
	-webkit-clip-path: url(#clip-list-arrow);
	clip-path: url(#clip-list-arrow);
}*/


#clip-list-arrow rect {
	width: calc((21 / var(--base-w)) * 100vw);
	height: 1px;
	y: 4px;
}
#clip-list-arrow path {
	transform: translate(calc((21 / var(--base-w)) * 100vw), 0);
}

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

.bckg-grey-91 {
	background: rgb(var(--color-grey-91));
}

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

/*.bckg-radial-cc:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: radial-gradient(circle farthest-side at 42%, rgb(var(--color-blue),1) 99.9%, rgba(var(--color-blue),0) 99.9%);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100%;
	mix-blend-mode: multiply;
}*/

/*section[class*="bckg-radial"]:before {*/

.bckg-radial-cc {
	overflow-x: hidden;
}
.bckg-radial-cc:before {
	content: "";
	display: block;
	position: absolute;
	/*width: calc((1900 / var(--base-w)) * 100vw);
	height: calc((1900 / var(--base-w)) * 100vw);
	left: calc((-300 / var(--base-w)) * 100vw);*/
	width: calc((1400 / var(--base-w)) * 100vw);
	height: calc((1400 / var(--base-w)) * 100vw);
	left: calc((-80 / var(--base-w)) * 100vw);
	top: 0;
	background-color: rgb(var(--color-blue));
	border-radius: 50%;
	/*background-image: radial-gradient(circle farthest-side at 42%, rgb(var(--color-blue),1) 99.9%, rgba(var(--color-blue),0) 99.9%);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100%;
	mix-blend-mode: multiply;*/
}

.anim-bckg.bckg-radial-cc:before {
	transform: scale(0%);
}

.anim-bckg.bckg-radial-cc.show:before {
	transform: scale(100%);
	transition: opacity 0.4s linear, transform 0.8s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 0.2s);
}

.bckg-radial-cc.bckg-blue {
	background-color: transparent;
}

section:has( + .section-percent) {
	z-index: 10;
}

section:has( + .section-percent + .section-percent) {
	z-index: 20;
}

section.section-percent:before {
	content: "";
	display: block;
	position: absolute;
	width: min(var(--w), 100vw);
	height: calc(100% + var(--w));
	top: calc(var(--w) * -0.5);
	background-image: radial-gradient(circle closest-side at 50%, rgba(var(--color), var(--opacity)) var(--blur), rgba(var(--color),0));
	background-repeat: no-repeat;
	background-size: 100% var(--w);
}

.bckg-radial-lb:before,
.bckg-radial-lb2:before,
.bckg-radial-lb3:before,
.bckg-radial-lc:before,
.bckg-radial-lc2:before,
.bckg-radial-lc3:before,
.bckg-radial-lt:before {
	left: 0;
	background-position: left calc((var(--offset) / var(--base-w)) * 100vw) top calc(var(--section-ty) * 1px);
}

.bckg-radial-rb:before,
.bckg-radial-rb2:before,
.bckg-radial-rc:before,
.bckg-radial-rc2:before,
.bckg-radial-rc3:before,
.bckg-radial-rt:before,
.bckg-radial-rt2:before {
	right: 0;
	background-position: right calc((var(--offset) / var(--base-w)) * 100vw) top calc(var(--section-ty) * 1px);
}

.bckg-radial-lb:before {
	--w: calc((925 / var(--base-w)) * 100vw);
	--offset: -460;
	--color: var(--color-blue);
	--opacity: 0.15;
	--blur: 52%;
}

.bckg-radial-lb2:before {
	--w: calc((825 / var(--base-w)) * 100vw);
	--offset: -350;
	--color: var(--color-grey-29);
	--opacity: 0.15;
	--blur: 47%;
}

.bckg-radial-lb3:before {
	--w: calc((900 / var(--base-w)) * 100vw);
	--offset: -220;
	--color: var(--color-black);
	--opacity: 0.03;
	--blur: 99.9%;
}

.bckg-radial-lc:before {
	--w: calc((1060 / var(--base-w)) * 100vw);
	--offset: -235;
	--color: var(--color-black);
	--opacity: 0.03;
	--blur: 99.9%;
}

.bckg-radial-lc2:before {
	--w: calc((480 / var(--base-w)) * 100vw);
	--offset: -255;
	--color: var(--color-blue);
	--opacity: 0.15;
	--blur: 53%;
}

.bckg-radial-lc3:before {
	--w: calc((1100 / var(--base-w)) * 100vw);
	--offset: -175;
	--color: var(--color-black);
	--opacity: 0.03;
	--blur: 99.9%;
}

.bckg-radial-lt:before {
	--w: calc((1100 / var(--base-w)) * 100vw);
	--offset: -515;
	--color: var(--color-grey-54);
	--opacity: 0.25;
	--blur: 60%;
}

.bckg-radial-rb:before {
	--w: calc((1010 / var(--base-w)) * 100vw);
	--offset: -300;
	--color: var(--color-blue);
	--opacity: 0.15;
	--blur: 57%;
}

.bckg-radial-rb2:before {
	--w: calc((1010 / var(--base-w)) * 100vw);
	--offset: -350;
	--color: var(--color-grey-29);
	--opacity: 0.15;
	--blur: 57%;
}

.bckg-radial-rc:before {
	--w: calc((1120 / var(--base-w)) * 100vw);
	--offset: -195;
	--color: var(--color-black);
	--opacity: 0.03;
	--blur: 99.9%;
}

.bckg-radial-rc2:before {
	--w: calc((1060 / var(--base-w)) * 100vw);
	--offset: -350;
	--color: var(--color-black);
	--opacity: 0.03;
	--blur: 99.9%;
}

.bckg-radial-rc3:before {
	--w: calc((768 / var(--base-w)) * 100vw);
	--offset: -86;
	--color: var(--color-grey-54);
	--opacity: 0.15;
	--blur: 72%;
}

.bckg-radial-rt:before {
	--w: calc((870 / var(--base-w)) * 100vw);
	--offset: -180;
	--color: var(--color-grey-54);
	--opacity: 0.25;
	--blur: 50%;
}

.bckg-radial-rt2:before {
	--w: calc((410 / var(--base-w)) * 100vw);
	--offset: 0;
	--color: var(--color-blue);
	--opacity: 0.15;
	--blur: 45%;

	right: calc((80 / var(--base-w)) * 100vw);
}

.shade-marine {
	position: relative;
}

.shade-marine:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgb(var(--color-marine));
	opacity: 0.3;
}

.color-aqua {
	color: rgb(var(--color-aqua));
}

.color-blue {
	color: rgb(var(--color-blue));
}

.color-grey-22 {
	color: rgb(var(--color-grey-22));
}

.color-grey-54 {
	color: rgb(var(--color-grey-54));	
}

.color-grey-73 {
	color: rgb(var(--color-grey-73));
}

.color-marine {
	color: rgb(var(--color-marine));
}

.color-white {
	color: rgb(var(--color-white));
}

.grid-column-start {
	grid-column-start: var(--grid-column-start) !important;
}

.grid-column-end {
	grid-column-end: var(--grid-column-end) !important;
}

.grid-row-start {
	grid-row-start: var(--grid-row-start) !important;
}

.grid-row-end {
	grid-row-end: var(--grid-row-end) !important;
}

.half-column-r {
	padding-right: calc(var(--grid-column-w) * 0.5);
}

.half-column-l {
	padding-left: calc(var(--grid-column-w) * 0.5) !important;
}

.half-column-l:nth-child(n+3):has(ul.unordered-list),
.half-column-r:nth-child(n+3):has(ul.unordered-list) {
	margin-top: calc((128 / var(--base-w)) * 100vw);
}

picture:has(img.img-fit-auto) {
	display: block;
	position: relative;
}

.img-fit-auto,
.img-fit-contain,
.img-fit-cover {
	width: 100%;
	height: 100%;
}

.img-fit-contain,
.img-fit-cover {
	position: absolute;
	left: 0;
	top: 0;
}

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

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

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

.img-fit-ratio {
	display: block;
	position: relative;
	width: 100%;
	padding-top: calc(100% * var(--ratio));
}

.img-fit-ratio img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
}

.img-fit-responsive {
	width: auto;
	height: calc((var(--h) / var(--base-w)) * 100vw);
}

.iframe iframe.loading {
	pointer-events: none;
}

.iframe.mute > div:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	/*background: rgba(255,0,0,0.25);*/
	background-image: 
		url("../images/ico-muted.svg"),
		radial-gradient(circle closest-side at 50%, rgba(var(--color-black),0.5) 99.9%, rgba(var(--color-black),0) 99.9%);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 
		calc((48 / var(--base-w)) * 100vw),
		calc((96 / var(--base-w)) * 100vw);
	cursor: pointer;
	opacity: 0.75;
	z-index: 100;
}

.full-width {
	margin: 0 calc(var(--page-margin) * -1);
}

.link {
	color: rgb(var(--color-aqua));
	font-weight: 600;
	text-decoration: underline;
}

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

.text-split-clip {
	display: block;
	position: relative;
}

.text-split-clip:after {
	content: attr(aria-label);
	display: block;
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	clip-path: inset(0 0 0 calc(((var(--grid-column-w) + var(--grid-column-gap)) * var(--col-n))));
	color: rgb(var(--color-white));
}

.bt {
	--h: calc((70 / 15) * 1em);
	--td: 0.3s;
	display: inline-flex;
	align-items: center;
	column-gap: calc((5 / 15) * 1em);
	position: relative;
	color: rgb(var(--color-aqua));
	font-weight: 700;
	font-size: calc((15 / var(--base-w)) * 100vw);
	letter-spacing: 0.075em;
	line-height: 1em;
	text-transform: uppercase;
	transition: color calc(var(--td) * 0.5) linear;
	z-index: 0;
}

.bt:not(.bt-rotate) {
	padding-left: calc(var(--h) * 0.5);
	transition-delay: 0s;
}

.bt:not(.bt-rotate):hover {
	color: rgb(var(--color-white));
	transition-delay: calc(var(--td) * 0.5);
}

.bt:before {
	content: "";
	display: block;
	position: absolute;
	width: var(--h);
	height: 100%;
	right: 0;
	top: 0;
	background: rgb(var(--color-grey-91));
	border-radius: 9999px;
	transform: scale(0);
	z-index: -1;
}

.bt.darker:before {
	/*background: rgb(var(--color-grey-87));*/
	background: #D8D8D8;
}

.bt.show:before {
	transform: scale(1);
	transition: 
		left var(--td) cubic-bezier(0.25,0.25,0.25,1),
		width var(--td) cubic-bezier(0.25,0.25,0.25,1),
		background-color calc(var(--td) * 0.5) var(--td) linear,
		transform calc(var(--td) * 2) cubic-bezier(0.25,0.25,0.25,1.25);
	transition-duration: 
		calc(var(--td) * 0.66),
		calc(var(--td) * 0.66),
		calc((var(--td) * 0.5) * 0.66),
		calc((var(--td) * 2) * 0.66);
	transition-delay: 
		0s,
		0s,
		calc(var(--td) * 0.66),
		0s;
}

.bt:not(.bt-rotate):hover:before {
	width: 100%;
	background: rgb(var(--color-blue));
	transition-duration: 
		var(--td),
		var(--td),
		calc(var(--td) * 0.5),
		calc(var(--td) * 2);
	transition-delay: 
		calc(var(--td) * 0.5), 
		calc(var(--td) * 0.5), 
		0s,
		0s;
}

.bt svg.arrow .g-arrow * {
	fill: rgb(var(--color-aqua));
}

.bt svg.arrow .g-arrow {
	opacity: 0;
	transform: translateX(-50%);
}

.bt.show svg.arrow .g-arrow {
	opacity: 1;
	transform: translateX(0);
	transition:
		opacity calc(var(--td) * 0.5) linear,
		transform var(--td) cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: var(--td);
}

.bt.show.hovered svg.arrow .g-arrow {
	transition-delay: 0s;
}

.bt-rotate {
	margin-top: calc((58 / 15) * 1em);
}

.bt-rotate svg.arrow {
	margin-left: calc((var(--h) * -.5) + ((12 / 15) * 1em));
	transform: rotate(90deg);
	transform-origin: 66% 50%;
}

.bt-rotate:has(svg.arrow + span):before {
	right: auto;
	left: calc(var(--h) * 0.5);
}

.bt-rotate:has(svg.arrow + span) svg.arrow {
	margin-left: 0;
}

.bt.bt-rotate > svg + span {
	margin-left: 0;
	text-align: left;
}

.bt.bt-rotate:hover {
	color: rgb(var(--color-blue));
}

.bt.bt-rotate:hover:before {
	transform: scale(1.1);
}

.bt.bt-rotate svg.arrow .g-arrow > * {
	transition: fill calc(var(--td) * 0.5) linear;
}

.bt.bt-rotate:hover svg.arrow .g-arrow > * {
	fill: rgb(var(--color-blue));
}

.bt.bt-rotate:hover svg.arrow .g-arrow {
	transition-delay: 0s;
}

.bt.bt-rotate:hover svg.arrow .g-arrow {
	transform: translateX(var(--h));
}

.bt-large {
	--h: calc((82 / 29) * 1em);
	font-size: calc((29 / var(--base-w)) * 100vw);
}

.bt.color-blue {
	color: rgb(var(--color-blue));
}

.bt.color-blue svg.arrow .g-arrow > * {
	fill: rgb(var(--color-blue));
	transition: fill calc(var(--td) * 0.5) var(--td) linear;
}

.bt.color-blue:hover svg.arrow .g-arrow > * {
	fill: rgb(var(--color-aqua));
	transition-delay: 0s;
}

.bt > svg + span {
	margin-left: calc((-21 / 15) * 1em);
}

.bt:not(.bt-rotate):has( > svg + span):before {
	right: auto;
	left: calc(((40 / var(--base-w)) * 100vw) + (var(--h) * 0.5));
}

.bt:not(.bt-rotate):has( > svg + span):hover:before {
	left: 0;
}

.bt:not(.bt-rotate):has(svg.arrow + span) {
	padding-right: calc((40 / var(--base-w)) * 100vw);
}

@media screen and (min-width: 981px) {
	.bt-contact a {
		--h: calc((70 / 19) * 1em);
		--td: 0.3s;
		display: inline-flex;
		align-items: center;
		column-gap: calc((5 / 19) * 1em);
		position: relative;
		color: rgb(var(--color-blue));
		font-weight: 700;
		/*font-size: calc((15 / var(--base-w)) * 100vw);*/
		letter-spacing: 0.075em;
		line-height: 1em;
		text-transform: uppercase;
		margin-left: calc(var(--h) * -0.35);
		padding-left: calc(var(--h) * 0.35);
		transition: color calc(var(--td) * 0.5) linear;
		transition-delay: 0s;
		z-index: 0;
	}

	.bt-contact a:hover {
		color: rgb(var(--color-white));
		transition-delay: calc(var(--td) * 0.5);
	}

	.bt-contact a:before {
		content: "";
		display: block;
		position: absolute;
		width: var(--h);
		height: 100%;
		right: 0;
		top: 0;
		background: rgb(var(--color-grey-91));
		border-radius: 9999px;
		transition: 
			left var(--td) cubic-bezier(0.25,0.25,0.25,1),
			width var(--td) cubic-bezier(0.25,0.25,0.25,1),
			background-color calc(var(--td) * 0.5) var(--td) linear;
		transition-duration: 
			calc(var(--td) * 0.66),
			calc(var(--td) * 0.66),
			calc((var(--td) * 0.5) * 0.66);
		transition-delay: 
			0s,
			0s,
			calc(var(--td) * 0.66);
		z-index: -1;
	}

	.bt-contact a:hover:before {
		width: 100%;
		background: rgb(var(--color-blue));
		transition-duration: 
			var(--td),
			var(--td),
			calc(var(--td) * 0.5);
		transition-delay: 
			calc(var(--td) * 0.5), 
			calc(var(--td) * 0.5)
			0s;
	}
	
	.bt-contact svg.arrow {
		order: 2;
	}
	
	.bt-contact svg.arrow circle {
		display: none;
	}
	
	.bt-contact svg.arrow .g-arrow > * {
		fill: rgb(var(--color-blue));
		transition: fill calc(var(--td) * 0.5) var(--td) linear;
	}

	.bt-contact:hover svg.arrow .g-arrow > * {
		fill: rgb(var(--color-aqua));
		transition-delay: 0s;
	}
}

.box {
	background: rgb(var(--color-grey-97));
	box-shadow: 0 calc((4 / var(--base-w)) * 100vw) calc((51 / var(--base-w)) * 100vw) 0 rgba(0,0,0,0.1);
	padding: calc((36 / var(--base-w)) * 100vw);
}

.box + .box {
	margin-top: calc((43 / var(--base-w)) * 100vw);
}

.margin-page-margin {
	margin: var(--page-margin) 0;
}

.padding-responsive {
	--t: 0;
	--r: 0;
	--b: 0;
	--l: 0;
	padding: calc((var(--t) / var(--base-w)) * 100vw) calc((var(--r) / var(--base-w)) * 100vw) calc((var(--b) / var(--base-w)) * 100vw) calc((var(--l) / var(--base-w)) * 100vw);
}

.home-scroll-down {
	grid-column: 1 / -1;
	position: sticky;
	bottom: 0;
	text-align: center;
	margin: calc((60 / var(--base-w)) * 100vw) 0;
	padding: calc((30 / var(--base-w)) * 100vw) 0;
}

.home-scroll-down a {
	display: inline-block;
	position: relative;
	width: calc((18 / var(--base-w)) * 100vw);
	height: calc((38 / var(--base-w)) * 100vw);
	background: rgb(var(--color-grey-97));
	border: solid 1px rgb(var(--color-grey-54));
	border-radius: 9999px;
}

.home-scroll-down a:before {
	content: "";
	display: block;
	position: absolute;
	width: calc((10 / var(--base-w)) * 100vw);
	height: calc((10 / var(--base-w)) * 100vw);
	left: calc((3 / var(--base-w)) * 100vw);
	top: calc((3 / var(--base-w)) * 100vw);
	background: rgb(var(--color-grey-54));
	border-radius: 50%;
	animation: kf-home-scroll-down 2s linear infinite both;
}

@keyframes kf-home-scroll-down {
    0% {
		opacity: 0;
		transform: translateY(0);
	}
	20% {
		opacity: 1;
		transform: translateY(0);
		animation-timing-function: cubic-bezier(0.25,0.25,0.25,1);
	}
    80% {
		opacity: 1;
		transform: translateY(calc((20 / var(--base-w)) * 100vw));
	}
    100% {
		opacity: 0;
		transform: translateY(calc((20 / var(--base-w)) * 100vw));
	}
}

*:has(.ico-before) {
	position: relative;
}

.ico-before {
	position: absolute;
	width: calc((72 / 41) * 1em);
	height: calc((36 / 41) * 1em);
	left: calc((var(--grid-column-w) + var(--grid-column-gap)) * -1);
	top: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
	vertical-align: middle;
}

.ico-before.rapidite {
	background-image: url("../images/ico-rapidite.svg");
}

.ico-before.flexibilite {
	background-image: url("../images/ico-flexibilite.svg");
}

.ico-before.flexibilite-inv {
	background-image: url("../images/ico-flexibilite-inv.svg");
}

.ico-before.experience {
	background-image: url("../images/ico-experience.svg");
}

.anim-fade-in {
	opacity: 0;
}

.anim-fade-in.show {
	opacity: 1;
	transition: opacity 0.3s linear;
	transition-delay: calc(var(--transition-delay) * 0.1s);
}

.anim-scale-in.anim-percent {
	transform: scale(calc((var(--percent) * 0.25) + 0.75));
	transform-origin: center center;
	transition: transform 0.1s cubic-bezier(0.25,0.25,0.25,1);
}

.anim-translate-in.anim-percent {
	transform: translateY(calc(((var(--percent) * -1) + 1) * 25%));
	transition: transform 0.1s cubic-bezier(0.25,0.25,0.25,1);
}

.anim-bckg .anim-fade-in.show {
	transition-delay: calc((var(--transition-delay) * 0.1s) + 0.8s);	
}

/*.anim-translate-in {
	transform: translateY(15%);
}

.anim-translate-in.show {
	transform: translateY(0);
	transition: transform 0.8s cubic-bezier(0.25,0.25,0.25,1);
}

.anim-fade-in.anim-translate-in.show {
	transition: opacity 0.3s linear, transform 0.8s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 0.1s);
}*/

.parallax picture.init {
	display: block;
	position: relative;
}

.parallax picture.init img {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

ul.equipe {
	display: flex;
	flex-direction: column;
	row-gap: calc((140 / var(--base-w)) * 100vw);
}

ul.equipe li {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	grid-column-gap: var(--grid-column-gap);
	align-items: center;
	position: relative;
}

ul.equipe li {
	opacity: 0;
}

ul.equipe li.show {
	opacity: 1;
	transition: opacity 0.3s linear;
	transition-delay: calc(var(--transition-delay) * 0.1s);
}

ul.equipe li > div {
	grid-column: 1 / span 4;
	flex-grow: 1;
}

ul.equipe li > div > h2,
.equipe-single h2 {
	color: rgb(var(--color-marine));
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	font-style: normal;
	font-size: calc((31 / var(--base-w)) * 100vw);
	line-height: calc((41 / 31) * 1em);
}

ul.equipe li > div > h2 small,
.equipe-single h2 small {
	display: inline-block;
	font-size: 0.55em;
}

ul.equipe li > div > h3,
ul.equipe li > div > h4,
.equipe-single h3,
.equipe-single h4 {
	font-size: calc((21 / var(--base-w)) * 100vw);
	line-height: calc((31 / 21) * 1em);
}

ul.equipe li > div > h3,
.equipe-single h3 {
	color: rgb(var(--color-blue));
	font-weight: 500;
}

ul.equipe li > div > h3,
.equipe-single h2 + h3 {
	text-transform: uppercase;
}

ul.equipe li > div > h4,
.equipe-single h4 {
	color: rgb(var(--color-marine));
}

.equipe-single p,
.news-single p,
.news-single blockquote {
	color: rgb(var(--color-marine));
}

.news-single a {
	text-decoration: underline;
}

.equipe-single h3 + p,
.equipe-single h3 + .timeline {
	margin-top: calc((28 / 17) * 1em);
}

ul.equipe li > div > h2 + h3,
.equipe-single h2 + h3 {
	margin-top: calc((7 / 21) * 1em);
}

ul.equipe li > div > h3 + h4,
.equipe-single h3 + h4 {
	margin-top: calc((15 / 21) * 1em);
}

ul.equipe li > div a,
.equipe-single a {
	transition: color 0.2s linear;
}

ul.equipe li > div a:hover,
.equipe-single a:hover {
	color: rgb(var(--color-blue));
}

ul.equipe li > picture {
	grid-column: 6 / span 1;
	justify-self: end;
	position: relative;
	width: 0;
	height: 0;
}

/*ul.equipe li > picture {
	transform: scale(0.5);
}

/*ul.equipe li.show > picture {
	transform: scale(1);
	transition: opacity 0.3s linear, transform 0.8s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(0.3s + (var(--transition-delay) * 0.1s));
}*/

ul.equipe li > picture a {
	display: block;
	position: absolute;
	width: calc((225 / var(--base-w)) * 100vw);
	height: calc((225 / var(--base-w)) * 100vw);
	left: calc(((-225 / 2) / var(--base-w)) * 100vw);
	top: calc(((-225 / 2) / var(--base-w)) * 100vw);
	opacity: 0;
	transform: translateY(25%);
}

ul.equipe li.show > picture a {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.3s linear, transform 0.8s cubic-bezier(0.25,0.25,0.25,1);
	/*transition-delay: calc(0.3s + (var(--transition-delay) * 0.1s));*/
	transition-delay: calc(0s + (var(--transition-delay) * 0.1s));
}

ul.equipe li > picture img {
	position: absolute;
	/*width: calc((225 / var(--base-w)) * 100vw);
	height: calc((225 / var(--base-w)) * 100vw);
	left: calc(((-225 / 2) / var(--base-w)) * 100vw);
	top: calc(((-225 / 2) / var(--base-w)) * 100vw);*/
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
	border-radius: 50%;
	filter: grayscale(1);
	transition: filter 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

.equipe-single div:has(picture) {
	position: relative;
}
.equipe-single picture {
	position: absolute;
	width: 100%;
	padding-top: 100%;
}

.equipe-single picture img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
	border-radius: 50%;
}

ul.equipe li > picture a:hover img,
ul.equipe li:has( > div > h2 a:hover) picture img,
ul.equipe li:has( > p a:hover) picture img {
	filter: grayscale(0);
	transform: scale(1.16);
}

ul.equipe li > p {
	grid-column: 8 / span 1;
	justify-self: end;
	position: relative;
}

ul.equipe li > p a {
	display: block;
	position: absolute;
	width: calc((48 / var(--base-w)) * 100vw);
	height: calc((48 / var(--base-w)) * 100vw);
	left: calc(((-48 / 2) / var(--base-w)) * 100vw);
	top: calc(((-48 / 2) / var(--base-w)) * 100vw);
	background: rgb(var(--color-grey-73));
	border-radius: 50%;
	transition: background-color 0.2s linear;
}

ul.equipe li > p a {
	opacity: 0;
	transform: scale(0);
}

ul.equipe li.show > p a {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(0.6s + (var(--transition-delay) * 0.1s));
}

ul.equipe li > p a:hover,
ul.equipe li:has( > div > h2 a:hover) > p a,
ul.equipe li:has( > picture a:hover) > p a {
	background: rgb(var(--color-aqua));	
}

ul.equipe li > p a:before,
ul.equipe li > p a:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((8 / var(--base-w)) * 100vw);
	height: 1px;
	left: calc(50% - ((4 / var(--base-w)) * 100vw));
	top: calc(50% - 0.5px);
	background: rgb(var(--color-white));
}

ul.equipe li > p a:after {
	transform: rotate(90deg);
}

.social-networks {
	display: flex;
	column-gap: calc((12 / 17) * 1em);
	font-size: calc((17 / var(--base-w)) * 100vw) !important;
	margin: calc((23 / 17) * 1em) 0 calc((73 / 17) * 1em) 0;
}

.social-networks a {
	width: calc((35 / 17) * 1em);
	height: calc((35 / 17) * 1em);
	background: rgb(var(--color-marine));
	border-radius: 50%;
	color: rgb(var(--color-white));
	line-height: calc((35 / 17) * 1em);
	text-align: center;
}

.timeline {
	display: flex;
	flex-direction: column;
	row-gap: calc((90 / var(--base-w)) * 100vw);
	position: relative;
	padding: calc((65 / var(--base-w)) * 100vw) 0 calc((25 / var(--base-w)) * 100vw) 0;
}

.timeline li {
	position: relative;
}

.timeline li:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: calc(100% + ((90 / var(--base-w)) * 100vw));
	left: 0;
	top: calc((-65 / var(--base-w)) * 100vw);
	background: rgb(var(--color-aqua));
}

.timeline li:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((28 / var(--base-w)) * 100vw);
	height: calc((28 / var(--base-w)) * 100vw);
	left: calc((-14 / var(--base-w)) * 100vw);
	top: 0;
	background: rgb(var(--color-aqua));
	border-radius: 50%;
}

.timeline li > span:nth-child(1) {
	display: block;
	position: absolute;
	left: calc((-70 / 19) * 1em);
	color: rgb(var(--color-grey-73));
	font-weight: 300;
	font-size: calc((19 / var(--base-w)) * 100vw);
	line-height: calc((28 / 19) * 1em);
	transform: translateX(-100%);
}

.timeline li > span:nth-child(2) {
	display: block;
	color: rgb(var(--color-blue));
	font-weight: 400;
	font-size: calc((15 / var(--base-w)) * 100vw);
	line-height: calc((21 / 15) * 1em);
	margin: calc((3 / 15) * 1em) 0 0 calc((48 / 15) * 1em);
}

.timeline li:before {
	transform: scaleY(0);
	transform-origin: center top;
}

.timeline li.show:before {
	transform: scaleY(1);
	transition: transform 0.8s cubic-bezier(0.5,0,0.5,1);
}

.timeline li.show:has(+ li.show):before {
	transition: none;
}

.timeline li:after {
	opacity: 0;
	transform: scale(0);
}

.timeline li.show:after {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1.5);
	transition-delay: calc(0.4s + (var(--transition-delay) * 0.1s));
}

.timeline li > span:nth-child(1),
.timeline li > span:nth-child(2) {
	opacity: 0;
	transform: translateX(0);
}

.timeline li.show > span:nth-child(1) {
	opacity: 1;
	transform: translateX(-100%);
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(0.4s + (var(--transition-delay) * 0.1s));
}

.timeline li.show > span:nth-child(2) {
	opacity: 1;
	transition: opacity 0.2s linear;
	transition-delay: calc(0.6s + (var(--transition-delay) * 0.1s));
}

.en-3-mots,
.en-3-mots-enhanced {
	position: relative;
	height: calc((var(--h) / var(--base-w)) * 100vw);
}

.en-3-mots li,
.en-3-mots-enhanced li {
	display: flex;
	align-items: center;
	position: absolute;
	width: calc((285 / var(--base-w)) * 100vw);
	height: calc((285 / var(--base-w)) * 100vw);
	left: calc((var(--l) / var(--base-w)) * 100vw);
	top: calc((var(--t) / var(--base-w)) * 100vw);
	background: rgb(var(--color-blue));
	border-radius: 50%;
	color: rgb(var(--color-white));
	font-size: calc((16 / var(--base-w)) * 100vw);
	line-height: calc((23 / 16) * 1em);
	padding: 0 calc((35 / 16) * 1em);
}

.en-3-mots li:before,
.en-3-mots-enhanced li:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgb(var(--color-blue));
	border-radius: 50%;
	pointer-events: none;
	z-index: 10;
}

.en-3-mots-enhanced li {
	width: calc((350 / var(--base-w)) * 100vw);
	height: calc((350 / var(--base-w)) * 100vw);
	color: rgb(var(--color-aqua));
	font-size: calc((31 / var(--base-w)) * 100vw);
	line-height: calc((37 / 31) * 1em);
	padding: 0 calc((49 / 37) * 1em);
}

.en-3-mots li.after:after,
.en-3-mots-enhanced li.after:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((var(--a-size) / var(--base-w)) * 100vw);
	height: calc((var(--a-size) / var(--base-w)) * 100vw);
	left: calc((var(--a-offset-x) / var(--base-w)) * 100vw);
	top: calc((var(--a-offset-y) / var(--base-w)) * 100vw);
	background: rgb(var(--color-blue));
	border-radius: 50%;
}

.en-3-mots.inv li,
.en-3-mots.inv li.after:after {
	background: rgb(var(--color-white));
	color: rgb(var(--color-blue));
}

.en-3-mots.inv li:before {
	background: rgb(var(--color-white));
}

.en-3-mots li,
.en-3-mots li.after:after,
.en-3-mots-enhanced li,
.en-3-mots-enhanced li.after:after {
	opacity: 0;
	transform: scale(50%);
	transform-origin: center bottom;
}

.en-3-mots li.show,
.en-3-mots li.after.show:after,
.en-3-mots-enhanced li.show,
.en-3-mots-enhanced li.after.show:after {
	opacity: 1;
	transform: scale(100%) translateY(0);
	/*transition: opacity 0.4s linear, transform 0.8s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 0.2s);*/
	transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(var(--transition-delay) * 0.1s);
}

.en-3-mots li.show:before,
.en-3-mots-enhanced li.show:before {
	opacity: 0;
	transition: opacity 0.4s linear;
	/*transition-delay: calc((var(--transition-delay) * 0.2s) + 0.6s);*/
	transition-delay: calc((var(--transition-delay) * 0.1s) + 0.3s);
}

.en-3-mots li.after.show:after,
.en-3-mots-enhanced li.after.show:after {
	/*transition-delay: calc((var(--transition-delay) * 0.2s) + 0.8s);*/
	transition-delay: calc((var(--transition-delay) * 0.1s) + 0.4s);
}

.en-3-mots li span,
.en-3-mots-enhanced li span {
	position: relative;
}

.en-3-mots svg.arrow,
.en-3-mots-enhanced svg.arrow {
	/*--h: 20;*/
	position: absolute;
	width: calc((30 / var(--base-w)) * 100vw);
	height: 8px;
	left: calc((40 / var(--base-w)) * 100vw);
	top: calc((-30 / var(--base-w)) * 100vw);
	fill: rgb(var(--color-aqua));
	transform: rotate(90deg);
	transform-origin: right center;
}

.en-3-mots svg.arrow rect,
.en-3-mots-enhanced svg.arrow rect {
	width: 100%;
}

.en-3-mots svg.arrow path,
.en-3-mots-enhanced svg.arrow path {
	transform: translate(100%, calc(50% - 4px));
}

.header-bckg-img {
	position: relative;
	background-image: 
		linear-gradient(rgba(var(--color-blue),0.25), rgba(var(--color-blue),0.25)),
		var(--background-image);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;

	color: rgb(var(--color-white));
	padding-top: calc((477 / 1241) * 100%);	
}

.header-bckg-img > * {
	position: absolute;
	left: 0;
	bottom: 0;
	padding-bottom: calc((57 / var(--base-w)) * 100vw);
	padding-left: calc((var(--grid-column-w) * 0.5) + var(--grid-column-gap));
}


/*************************************
	News
 *************************************/


.search-filters {
	align-self: start;
	grid-column: 1 / span 4;
	display: block;
	position: sticky;
	top: calc((58 / var(--base-w)) * 100vw);
}

.search-filters ul {
	position: relative;
}

.search-filters ul > li {
	padding: calc((12 / var(--base-w)) * 100vw) 0;
}

.form-search-filters > ul {
	border-top: solid 1px rgb(var(--color-black));
}

.form-search-filters > ul > li {
	border-bottom: solid 1px rgb(var(--color-black));
}

.search-filters .expandable-list > button {
	font-weight: 600;
	font-size: calc((24 / var(--base-w)) * 100vw);
	line-height: calc((33 / 24) * 1em);
}

.search-filters .expandable-list > button:after {
	content: "";
	display: inline-block;
	width: calc((68 / var(--base-w)) * 100vw);
	height: 9px;
	top: calc((((27 - 9) * 0.5) / var(--base-w)) * 100vw);
	background: rgb(var(--color-aqua));
	-webkit-clip-path: url(#expandable-list-arrow);
	clip-path: url(#expandable-list-arrow);
	margin-left: calc((15 / var(--base-w)) * 100vw);
	transition: transform 0.4s cubic-bezier(0.5,0,0.5,1);
}

.search-filters .expandable-list > button:hover:after {
	transform: translateX(50%);
}

.search-filters h2 {
	font-weight: 600;
	font-size: calc((19 / var(--base-w)) * 100vw);
	line-height: calc((41 / 19) * 1em);
	text-transform: uppercase;
	margin-top: calc((41 / 19) * 1em);
}

.search-filters h2 + ul {
	border-top: none;
}

.search-filters h2 + ul > li,
.form-search-filters li.expandable-list ul li span {
	font-size: calc((17 / var(--base-w)) * 100vw);
	line-height: calc((29 / 17) * 1em);
	padding: calc((6 / var(--base-w)) * 100vw) 0;
}

.search-filters h2 + ul > li {
	display: block;
	border-bottom: none;
}

.search-filters h2 + ul > li > label {
	height: calc((29 / 17) * 1em);
}

form.form-search-filters input:not([type="date"]) {
	display: none;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-year-field {
	padding: 0;
}

form.form-search-filters input:checked + span {
	text-decoration: underline;
}

.news-archive-header article {
	grid-template-rows: auto max-content auto;
	padding: 0;
}

@media screen and (min-width: 641px) {
	.news-archive-header article > *:not(figure) {
		grid-column-start: 8;
		grid-column-end: span 5;
	}
	
	.news-archive-header article > figure {
		grid-column-end: span 6;
		grid-row-end: span 3;
	}
}

.news-archive-header article > p:first-of-type {
	align-self: end;
}

.news-archive-header,
.news-archive {
	position: relative;
}

.news-archive-header span.author,
.news-archive span.author {
	cursor: pointer;
}

.news-archive.results {
	grid-column: 5 / span 8;
	margin-top: calc((58 / var(--base-w)) * 100vw);
}

.news-archive.results article {
	position: absolute;
	width: calc((var(--grid-column-w) * 4) + (var(--grid-column-gap) * 3));
	margin-bottom: calc((140 / var(--base-w)) * 100vw);
}

.news-archive article {
	opacity: 0;
}

.news-archive article.show {
	opacity: 1;
	transition: opacity 0.4s linear;
	transition-delay: calc(var(--transition-delay) * 0.2s);
}



.news-archive-header article > figure + p,
.news-archive.results article figure + p,
.news-archive.related article figure + p {
	color: rgb(var(--color-grey-54));
}

.news-archive article figure {
	margin-bottom: calc((51 / var(--base-w)) * 100vw);
}

.news-archive-header article figure img,
.news-archive article figure img,
.news-single article picture img {
	width: 100%;
	height: auto;
}

.news-more {
	grid-column: 1 / -1;
	text-align: center;
}

.news-archive.related {
	grid-column: 1 / -1;
	display: grid;
	position: relative;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: var(--grid-column-gap);
}

.news-archive.related article {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.news-archive.related article {
	opacity: 0;
}

.news-archive.related article.show {
	opacity: 1;
	transition: opacity 0.2s linear;
	transition-delay: calc(0.2s + (var(--transition-delay) * 0.1s));
}

.news-archive.related article>*:nth-last-child(2) {
	flex-grow: 1;
}

.news-archive.related article figure {
	position: relative;
	padding-top: calc((384 / 420) * 100%);
}

.news-archive.related article figure img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
}

.news-single article > picture:nth-child(1) {
	display: block;
	margin-bottom: calc((56 / var(--base-w)) * 100vw);
}

.news-single figure {
	padding: calc((90 / var(--base-w)) * 100vw) calc((115 / var(--base-w)) * 100vw);
}

.news-single figure img {
	width: 100%;
	height: auto;
}

.news-single figure figcaption {
	color: rgb(var(--color-grey-73));
	font-size: calc((15 / var(--base-w)) * 100vw);
	line-height: calc((27 / 15) * 1em);
	font-style: italic;
	margin-top: calc((18 / 15) * 1em);
}

.news-single blockquote {
	display: inline-block;
}

.news-single blockquote p {
	display: inline;
}

.news-single blockquote:has(+ p > span.inline) {
	display: inline;
}

.news-single blockquote + p:has(span.inline) {
	display: inline;
	margin-top: 0;
}

.news-single p:has(+ blockquote + p > span.inline) {
	margin-bottom: calc((25 / 17) * 1em);	
}

html[lang="en-CA"] .news-single blockquote:before,
html[lang="en-CA"] .news-single q:before,
html[lang="fr-CA"] .news-single blockquote:before,
html[lang="fr-CA"] .news-single q:before,
html[lang="en-CA"] blockquote:before,
html[lang="en-CA"] q:before {
	margin-right: 0.5em;
	margin-left: 0;
}

html[lang="en-CA"] .news-single blockquote:after,
html[lang="en-CA"] .news-single q:after,
html[lang="fr-CA"] .news-single blockquote:after,
html[lang="fr-CA"] .news-single q:after,
html[lang="en-CA"] blockquote:after,
html[lang="en-CA"] q:after {
	margin-right: 0;
	margin-left: 0.5em;
}


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


section.scrolling-banner {
	width: 100vw;
	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: calc((107 / 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;
}

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

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

.expandable-list > button {
	width: 100%;
	text-align: left;
}

#expandable-list-arrow rect {
	width: calc((68 / var(--base-w)) * 100vw);
	height: 1px;
	y: 4px;
}

#expandable-list-arrow path {
	transform: translate(calc((68 / var(--base-w)) * 100vw), 0);
}

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

.expandable-list > ol > li,
.expandable-list > ul > li {
	display: block;
	position: relative;
	width: 100%;
}

.expandable-list > ul > li span {
	position: relative !important;
}

.services-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: var(--grid-column-gap);
	grid-row-gap: calc(var(--grid-column-gap) * 2);
	color: rgb(var(--color-blue));
	padding-top: calc(var(--grid-column-gap) * 2);
}

.services-list strong {
	display: block;
}

.services-list .ico {
	display: flex;
	align-items: flex-end;
	position: relative;
	height: calc((60 / 19) * 1em);
	margin-bottom: calc((21 / 19) * 1em);
	overflow: hidden;
}

.services-list .ico svg {
	width: auto;
	height: calc((var(--h) / 19) * 1em);
	/*opacity: var(--percent);
	transform: translateY(calc(100% - (var(--percent) * 100%)));*/
	opacity: 0;
	transform: translateY(100%);
}

.services-list .show .ico svg {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.3s linear, transform 0.3s cubic-bezier(0.25,0.25,0.25,1);
	transition-delay: calc(0.2s + (var(--transition-delay) * 0.15s));
}




strong {
    font-weight: 700;
}

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

hr {
	display: block;
	width: 100%;
	height: 1px;
	background: rgb(var(--color-grey-73));
	margin: calc((25 / var(--base-w)) * 100vw) 0;
}

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

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

.justify-content-space-between {
	justify-content: space-between;
}

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

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

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

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

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

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

.text-align-center > img {
	display: inline-block;
}

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

blockquote:before { 
	content: open-quote;
}

blockquote:after { 
	content: close-quote;
}

html[lang="fr-CA"] blockquote:before,
html[lang="fr-CA"] q:before {
	margin-right: 0.25em;
	margin-left: -0.75em;
}

html[lang="fr-CA"] blockquote:after,
html[lang="fr-CA"] q:after {
	margin-right: -0.75em;
	margin-left: 0.25em;
}

html[lang="en-CA"] blockquote:before,
html[lang="en-CA"] q:before {
	margin-left: -0.55em;
}

html[lang="en-CA"] blockquote:after,
html[lang="en-CA"] q:after {
	margin-right: -0.55em;
}

div.demande-pret-titre {
	grid-column: 1 / span 2;
}

div.demande-pret-titre h2 {
	display: block;
	position: relative;
	color: rgb(var(--color-white));
	font-family: "Libre Baskerville", serif;
	font-weight: 700;
	font-style: normal;
	font-size: calc((21 / var(--base-w)) * 100vw);
	letter-spacing: 0.02em;
	line-height: calc((25 / 21) * 1em);
	z-index: 0;
}

div.demande-pret-titre h2:before {
	content: "";
	display: block;
	position: absolute;
	width: calc((360 / var(--base-w)) * 100vw);
	height: calc((360 / var(--base-w)) * 100vw);
	left: calc((var(--page-margin) * -1) + ((-57 / var(--base-w)) * 100vw));
	top: calc(50% - ((180 / var(--base-w)) * 100vw));
	background: rgba(var(--color-aqua));
	border-radius: 50%;
	z-index: -1;
}

div.demande-pret-contact,
div.demande-pret-header,
div.demande-pret-form {
	grid-column: 4 / span 6;
}

div.demande-pret-header ul {
	display: flex;
	column-gap: calc((21 / 17) * 1em);
	font-family: "Poppins", sans-serif;
	font-weight: 600;
    font-size: calc((17 / var(--base-w)) * 100vw);
	line-height: 1.2em;
	text-transform: uppercase;
}

div.demande-pret-header ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc((44 / 17) * 1em);
	min-width: calc((44 / 17) * 1em);
	background: rgb(var(--color-grey-73));
	border: solid 1px rgb(var(--color-grey-73));
	padding: 0 calc((29 / 17) * 1em);
	border-radius: 9999px;
	color: rgb(var(--color-white));
	cursor: pointer;
}

div.demande-pret-header ul li.active ~ li {
	pointer-events: none;
}

div.demande-pret-header ul li:nth-child(2),
div.demande-pret-header ul li:nth-child(3) {
	padding: 0;
}

div.demande-pret-header ul li.active {
	background-color: rgb(var(--color-aqua));
	border-color: rgb(var(--color-aqua));
}

div.demande-pret-header ul:has(li:nth-child(1):not(.active)) li:last-child {
	display: none;
}

div.demande-pret-header ul li:has(small) {
	background: transparent;
	color: rgb(var(--color-grey-54));
	margin-left: auto;
}

div.demande-pret-header ul li small {
	display: block;
	font-weight: 400;
	font-size: calc((13 / 17) * 1em);
	line-height: calc((14 / 13) * 1em);
	text-transform: none;
}

.c-js-graphic {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	width: calc((525 / var(--base-w)) * 100vw);
	height: calc((525 / var(--base-w)) * 100vw);
	left: calc(50% - calc(((525 / 2) / var(--base-w)) * 100vw));
	top: calc(50% - calc(((525 / 2) / var(--base-w)) * 100vw));
	opacity: 0.5;
	filter: grayscale(0.5);
	mix-blend-mode: multiply;
}

section:has(.c-js-graphic) > div > div {
	z-index: 10;
}


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


form,
form.form-demande-pret > div {
	display: flex;
	flex-direction: column;
	position: relative;
	font-size: 0px;
}

form.form-demande-pret > div {
	row-gap: calc((28 / var(--base-w)) * 100vw);
	margin-top: calc((66 / var(--base-w)) * 100vw);
}

form.form-demande-pret .step {
	display: none;
}

form.form-demande-pret .step.active {
	display: flex;
}

form input, 
form textarea,
form select,
form button,
form a,
form label {
    display: block;
    position: relative;
    font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: normal;
    margin: 0;
	padding: 0;
}

form.form-demande-pret input, 
form.form-demande-pret textarea,
form.form-demande-pret select,
form.form-demande-pret button,
form.form-demande-pret a,
form.form-demande-pret label,
form.form-demande-pret .grp {
    font-size: calc((17 / var(--base-w)) * 100vw);
	line-height: calc((21 / 17) * 1em);
}

form.form-demande-pret small {
    font-size: calc((14 / 17) * 1em);
	line-height: 1.2em;
}

form.form-newsletter input, 
form.form-newsletter textarea,
form.form-newsletter select,
form.form-newsletter button,
form.form-newsletter label {
    font-size: calc((15 / var(--base-w)) * 100vw);
	line-height: 1.2em;
}

form label.select {
	overflow: hidden;
}

form input, 
form textarea,
form select,
form label {
	border: none;
	border-radius: 0;
}

form.form-demande-pret input, 
form.form-demande-pret textarea,
form.form-demande-pret select,
form.form-demande-pret label:not(.checkbox):not(.radio) span {
	padding: calc((8 / 17) * 1em) 0;
}

form.form-newsletter input, 
form.form-newsletter textarea,
form.form-newsletter select,
form.form-newsletter label:not(.checkbox):not(.radio) span {
	padding: calc((3 / 15) * 1em) 0;
}

form input, 
form textarea,
form select {
    width: 100%;
    min-height: 0;
	background: transparent;
    -webkit-appearance: none;
	appearance: none;
    transition: min-height 0.2s cubic-bezier(0.25,0,0.75,1);
}

form.form-demande-pret input,
form.form-demande-pret textarea {
	border-bottom: solid 1px rgb(var(--color-black));
}

form.form-newsletter input {
	border-bottom: solid 1px rgb(var(--color-white));
	color: rgb(var(--color-white));
}

form select {
	padding-right: 2.5em;
}

form textarea {
	height: calc(((21 / 17) * 1em) + (((8 / 17) * 1em) * 2));
	transition: height 0.2s cubic-bezier(0.25,0,0.75,1);
}

form textarea.focus-in {
	height: calc((((21 / 17) * 1em) * 5) + (((8 / 17) * 1em) * 2));
}

form.form-demande-pret input:-webkit-autofill,
form.form-demande-pret input:-webkit-autofill:hover, 
form.form-demande-pret input:-webkit-autofill:focus, 
form.form-demande-pret input:-webkit-autofill:active {
    -webkit-text-fill-color: rgb(var(--color-black));
	-webkit-box-shadow: 0 0 0 30px rgb(var(--color-grey-97)) inset !important;
	box-shadow: 0 0 0 30px rgb(var(--color-grey-97)) inset !important;
}

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-white));
	-webkit-box-shadow: 0 0 0 30px rgb(var(--color-marine-dark)) inset !important;
	box-shadow: 0 0 0 30px rgb(var(--color-marine-dark)) inset !important;
}

form label.select {
	pointer-events: none;
}

form label.select select {
	opacity: 0;
	pointer-events: auto;
}

form label.select.focus-in select {
	opacity: 1;
}

form label.select:before,
form label.search:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: calc(((24 / 18) * 1em) + (0.5556em * 2));
	left: 0;
	bottom: 0;
    border-radius: min(10px, (10 / var(--base-w)) * 100vw);
	pointer-events: none;
}

form label.select:after {
	content: "";
	display: block;
	position: absolute;
	width: 1em;
	height: 1em;
	right: 0.8333em;
	bottom: calc(((24 / 18) * 0.5em) + 0.5556em - 0.5em);
    font-size: clamp(16px, (18 / var(--base-w)) * 100vw, 18px);
	background-size: contain;
	pointer-events: none;
}

form label {
	transition: padding 0.2s cubic-bezier(0.25,0,0.75,1);
}

footer form label:first-of-type {
	margin-top: calc((35 / 15) * 1em);
}

footer form label span {
	opacity: 0.5;
}

form label:not(.radio).focus-in {
    padding-top: 1.2em;
	transition-delay: 0s;
}

form label:not(.checkbox):not(.radio) span {
	position: absolute;
	transform-origin: left bottom;
	transition: color 0.2s linear, transform 0.2s cubic-bezier(0.25,0,0.75,1);
	z-index: 10;
}

form label:not(.radio).focus-in span {
    transform: scale(0.8) translateY(-120%);
    transition: color 0.2s 0.1s linear, transform 0.2s 0.1s cubic-bezier(0.25,0,0.75,1);
}

form.form-demande-pret label:not(.select):not(.radio).focus-in span {
	color: rgb(var(--color-grey-54));
}

form.form-newsletter label:not(.select):not(.radio).focus-in span {
	color: rgb(var(--color-white));
}

form .grp {
	display: flex;
	flex-direction: column;
	row-gap: calc((15 / 17) * 1em);
	margin-top: calc((26 / 17) * 1em);
}

form .grp.justify-content-space-between {
	flex-direction: row;
}

form label.checkbox,
form label.radio {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-column-gap: 1em;
	grid-row-gap: 1em;
	margin:  0;
	padding: 0;
	transform: none;
}

form label.checkbox span,
form label.radio span {
	align-self: center;
	color: rgb(var(--color-blue));
	/*text-transform: none;*/
	transition: color 0.2s linear;
}

form label.checkbox input[type="checkbox"]:checked + span,
form label.radio input[type="radio"]:checked + span {
	color: rgb(var(--color-aqua));
}

form label.checkbox.small span,
form label.radio.small span {
	color: rgb(var(--color-grey-54));
}

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

form input[type="checkbox"]:before,
form input[type="checkbox"]:after {
	border-radius: 2px;
}

form input[type="radio"]:before,
form input[type="radio"]:after {
	border-radius: 50%;
}

form label.checkbox.small input[type="checkbox"]:before,
form label.checkbox.small input[type="checkbox"]:after {
	font-size: calc((20 / var(--base-w)) * 100vw);
}

form input[type="checkbox"]:before,
form input[type="radio"]:before {
	width: 1em;
	height: 1em;
	background: transparent;
	border: solid 1px rgb(var(--color-blue));
	transition: border-color 0.2s linear;
}

form input[type="checkbox"]:checked:before,
form input[type="radio"]:checked:before {
	border-color: rgb(var(--color-aqua));
}

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

form input[type="radio"]:after {
	width: calc(1em - 10px);
	height: calc(1em - 10px);
	left: 6px;
	top: 6px;
}

form label.checkbox.small input[type="checkbox"]:checked:before,
form label.checkbox.small input[type="radio"]:checked:before {
	border-color: rgb(var(--color-grey-73));
}

form label.checkbox.small input[type="checkbox"]:before,
form label.checkbox.small input[type="radio"]:before {
	border: solid 1px rgb(var(--color-grey-73));
}

form label.checkbox.small input[type="checkbox"]:after,
form label.checkbox.small input[type="radio"]:after {
	background-color: rgb(var(--color-grey-73));
}

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

form label.checkbox + label:has(textarea),
form label.radio + label:has(textarea) {
	display: none;
}

form label.checkbox:has(input[type="checkbox"]:checked) + label:has(textarea),
form label.radio:has(input[type="radio"]:checked) + label:has(textarea) {
	display: block;
	margin-left: calc(((26 / var(--base-w)) * 100vw) + 1em);
}

form.form-demande-pret .grp:has(button[type="submit"]) {
	margin-top: calc((90 / var(--base-w)) * 100vw);
}

form.form-demande-pret .grp:has(button[type="submit"]) a.bt {
	color: rgb(var(--color-grey-73));
	font-weight: 500;
	padding: 0;
}

form.form-demande-pret .grp:has(button[type="submit"]) a.bt:before {
	content: none;
}

form.form-demande-pret button[type="submit"] {
	margin-left: auto;
}

form.form-newsletter button[type="submit"] {
	position: absolute;
	width: calc((26 / 15) * 1em);
	height: calc((25 / 15) * 1em);
	right: 0;
	bottom: calc((6 / 15) * 1em);
	background: url("../images/bt-footer-submit.svg") center center no-repeat;
	background-size: contain;
}

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

.error {
	border-color: #FF0000 !important;
	/*color: #FF0000 !important;*/
	/*background-image:
		linear-gradient(rgba(255,0,0,0.5), rgba(255,0,0,0.5)),
		linear-gradient(rgb(var(--color-gold-light)), rgb(var(--color-gold-light)));*/
}

label:has(input.error) span {
	color: #FF0000 !important;
}

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


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


footer {
	position: relative;
	background-image: linear-gradient(rgba(var(--color-marine-dark),0) calc(var(--cta-h) * 0.5px), rgb(var(--color-marine-dark)) calc(var(--cta-h) * 0.5px));
	color: rgb(var(--color-white));
	margin-top: calc((180 / var(--base-w)) * 100vw);
}

main:has(section.bckg-marine:last-child) + footer {
	background: rgb(var(--color-marine));
	margin-top: 0;
}

/*footer:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: calc(100% - (var(--cta-h) * 0.5px));
	left: 0;
	top: calc(var(--cta-h) * 0.5px);
	background: rgb(var(--color-marine-dark));
	pointer-events: none;
	z-index: 0;
}*/

/*footer #tree {
	display: block;
	position: absolute;
	width: calc((560 / var(--base-w)) * 100vw);
	height: calc((425 / var(--base-w)) * 100vw);
	left: calc(50% - (((560 / var(--base-w)) * 100vw) / 2));
	bottom: 0;
}*/

footer #tree {
	display: block;
	position: absolute;
	width: calc((590 / var(--base-w)) * 100vw);
	height: calc((430 / var(--base-w)) * 100vw);
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	clip-path: circle(0% at 50% 100%);
	opacity: 0.15;
	pointer-events: none;
}

footer:has(.copyright.show) #tree {
	animation: kf-footer-tree 2s 0s cubic-bezier(0.25,0.25,0.25,1) both;
}

/*footer:after {
	content: "";
	display: block;
	position: absolute;
	width: calc((560 / var(--base-w)) * 100vw);
	height: calc((425 / var(--base-w)) * 100vw);
	left: calc(50% - (((560 / var(--base-w)) * 100vw) / 2));
	bottom: 0;
	background: url("../images/ill-tree.svg") center bottom no-repeat;
	background-size: 100%;
	clip-path: circle(0% at 50% 100%);
	opacity: 0.12;
	pointer-events: none;
}

footer:has(.copyright.show):after {
	animation: kf-footer-tree 2s 0s cubic-bezier(0.25,0.25,0.25,1) both;	
}*/

@keyframes kf-footer-tree {
	0% {
		clip-path: circle(0% at 50% 100%);
	}
	100% {
		clip-path: circle(100% at 50% 100%);
	}
}


footer > div {
	padding-bottom: calc((28 / var(--base-w)) * 100vw);
}

footer .cta {
	position: relative;
	grid-column: 2 / span 10;
	background: rgb(var(--color-blue));
	text-align: center;
	padding: calc((80 / var(--base-w)) * 100vw) 0 calc((100 / var(--base-w)) * 100vw) 0;
	/*transform: scale(calc((var(--percent) * 0.25) + 0.75));
	transform-origin: center center;
	transition: transform 0.1s cubic-bezier(0.25,0.25,0.25,1);*/
	/*opacity: calc((var(--percent) * 0.25) + 0.75);*/
	transform: translateY(calc(((var(--percent) * -1) + 1) * 50%));
	transition: transform 0.1s cubic-bezier(0.25,0.25,0.25,1);
}

footer .bt-cta {
	display: inline-block;
	position: relative;
	border: solid 1px rgb(var(--color-aqua));
	border-radius: 9999px;
	font-weight: 700;
	font-size: calc((21 / var(--base-w)) * 100vw);
	letter-spacing: 0.075em;
	line-height: 1.2em;
	text-transform: uppercase;
	margin-top: calc((31 / 21) * 1em);
	padding: calc((24 / 21) * 1em) calc((51 / 21) * 1em);
	transition: border-color 0.4s linear;
}

footer .bt-cta:hover {
	border-color: rgb(var(--color-white));
}

footer .bt-cta:before,
footer .bt-cta:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border-radius: 9999px;
	z-index: -1;
}

footer .bt-cta:before {
	background: rgb(var(--color-aqua));
	transition: background-color 0.4s linear;
}

footer .bt-cta:hover:before {
	background: rgb(var(--color-white));
}

footer .bt-cta:after {
	background: rgb(var(--color-blue));
	opacity: 0;
	transform: scale(0);
	transition: opacity 0.4s linear, transform 0s 0.4s linear;
}

footer .bt-cta:hover:after {
	opacity: 1;
	transform: scale(1);
	transition: transform 0.4s cubic-bezier(0.25,0.25,0.25,1);
}

/*footer div.form-newsletter,
footer div.logo,
footer div.logo + div,
footer > div > div:has(ul.lang),
footer div.contributor,
footer div.legal:has(span).sn {
	opacity: 0;
}

footer div.form-newsletter.show,
footer div.logo.show,
footer div.logo + div.show,
footer > div > div:has(ul.lang).show,
footer div.contributor.show,
footer div.legal:has(span).sn.show {
	opacity: 1;
	transition: opacity 0.4s linear;
	transition-delay: calc(var(--transition-delay) * 0.2s);
}

footer > div > div:has(ul.lang).show,
footer div.contributor.show,
footer div.legal:has(span).sn.show {
	transition-delay: calc(0.8s + (var(--transition-delay) * 0.2s));
}*/

footer div:has( > form.form-newsletter) {
	position: relative;
	grid-column: 5 / span 4;
	padding: calc((58 / var(--base-w)) * 100vw) 0 calc((146 / var(--base-w)) * 100vw) 0;
}

footer .logo {
	grid-column: 1 / -1;
	margin-bottom: calc((20 / var(--base-w)) * 100vw);
}

footer nav ul {
	column-count: 2;
	/*column-fill: auto;*/
	column-fill: balance;
	-moz-column-fill: balance;
	counter-reset: ud;
}

footer nav ul li {
	position: relative;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid-column;
	
	font-weight: 500;
	font-size: calc((15 / var(--base-w)) * 100vw);
	letter-spacing: 0.03em;
	line-height: calc((23 / 15) * 1em);
}

/*footer > div > div:has(nav) li {
	opacity: 0;
}

footer > div > div:has(nav).show li {
	opacity: 1;
	transition: opacity 0.4s linear;
	transition-delay: calc((var(--transition-delay) * 0.2s) + (var(--transition-delay-3) * 0.1s));
}*/

footer .lang {
	font-weight: 500;
	font-size: calc((14 / var(--base-w)) * 100vw);
	letter-spacing: 0.03em;
	line-height: calc((23 / 14) * 1em);
	text-transform: uppercase;
	opacity: 0.5;
}

footer .contributor span,
footer .legal,
footer .legal > span {
	font-weight: 300;
	font-size: calc((14 / var(--base-w)) * 100vw);
	line-height: calc((21 / 14) * 1em);
	opacity: 0.5;	
}

footer .legal:has(span) {
	opacity: 1;
}

footer .contributor {
	display: block;
	margin: calc((23 / var(--base-w)) * 100vw) 0 calc((60 / var(--base-w)) * 100vw) 0;
}


footer .contributor img {
	display: block;
	width: auto;
	/*height: calc((30 / var(--base-w)) * 100vw);*/
	height: calc((35 / var(--base-w)) * 100vw);
	margin-top: calc((10 / var(--base-w)) * 100vw);
}

footer .legal:has(a > img) span {
	display: block;
	margin-bottom: calc((20 / var(--base-w)) * 100vw);
}

footer .legal a:has(img) {
	display: inline-block;
}

footer .legal a:has(img) + a:has(img) {
	margin-left: calc((60 / var(--base-w)) * 100vw);
}

footer .legal a > img {
	width: auto;
	height: calc((21 / var(--base-w)) * 100vw);
}

footer .copyright > * + *:before {
	content: "|";
	display: inline-block;
	margin: 0 0.5em;
}

svg.svg-clip-path {
	display: block;
}


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

#lightbox button.bt-close {
	width: 50px;
	height: 50px;
	color: rgb(var(--color-white));
	font-size: 32px;
	line-height: 50px;
	text-align: center;
}

#lightbox button.bt-close:after {
	content: "\2715";
}

#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;
	box-shadow: 0 0 30px rgba(var(--color-black), 0.5);
    pointer-events: auto;
}

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

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

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

@media screen and (max-width: 980px) {
	.bp-1920 {
		display: none;
	}
	
	.bp-980 {
		display: inline-block;
	}
	
	header nav ul.main {
		display: grid;
		position: relative;
		grid-template-columns: repeat(12, 1fr);
		grid-column-gap: var(--grid-column-gap);
		align-items: center;
		width: 100%;
		padding: calc((28 / var(--base-w)) * 100vw) var(--page-margin);
	}
	
	header nav .logo {
		grid-column: 1 / span 4;
	}
	
	.bt-demande-de-pret {
		grid-column: 9 / span 3;
		margin-left: calc((-40 / var(--base-w)) * 100vw);
	}
		
	header nav ul.expand {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-end;
		position: absolute;
		width: 100vw;
		height: 100vh;
		left: 0;
		top: 0;
		background-image: linear-gradient(65deg, rgb(var(--color-blue)), rgb(var(--color-blue-dark)));
		-webkit-clip-path: url(#nav-expand-path);
		clip-path: url(#nav-expand-path);
		color: rgb(var(--color-white));
		padding: 0 calc(var(--page-margin) + var(--grid-column-w));
		z-index: -1;
	}

	svg clipPath#nav-expand-path circle {
		--r : calc((35 / 15) * 1em);
		cx: calc((var(--clip-left) * 1px) + var(--r));
		cy: calc((var(--clip-top) * 1px) + var(--r));
		r: var(--r);
		r: 0;
		font-size: calc((15 / var(--base-w)) * 100vw);
		transition: r 0.3s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand li {
		position: relative;
		font-weight: 700;
		font-size: calc((51 / var(--base-w)) * 100vw);
		line-height: calc((63 / 51) * 1em);
		text-align: right;
		overflow: hidden;
		transition: color 0.2s linear;
	}

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

	header nav ul.expand li:nth-child(1) {
		margin-top: 5%;
	}

	header nav ul.expand li.lang,
	header nav ul.expand li.wpml-ls-item {
		font-weight: 500;
		font-size: calc((21 / var(--base-w)) * 100vw);
		letter-spacing: 0.05em;
		line-height: calc((23 / 21) * 1em);
		text-transform: uppercase;
		margin-top: 10%;
	}
	
	
	/*--  nav ico  --*/
	
	
	header nav .bt-expand {
		display: block;
	}

	header nav ul.expand li a {
		display: block;
		position: relative;
		transform: translateY(110%);
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand li a svg.arrow {
		--h: calc((132 / 51) * 1em);
		position: absolute;
		left: calc((var(--h) * -1) - ((25 / 51) * 1em));
		top: calc(50% - (var(--h) * 0.5));
	}

	header nav ul.expand li a svg.arrow * {
		fill: rgb(var(--color-aqua));
	}

	header nav ul.expand li a svg.arrow circle {
		fill: rgba(var(--color-white),0.09);
		opacity: 0;
		transform: scale(0);
		transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1.25);
	}

	header nav ul.expand li:hover a svg.arrow circle {
		opacity: 1;
		transform: scale(1);
	}

	header nav ul.expand li a svg.arrow g.g-arrow {
		opacity: 0;
		transform: translateX(-20%);
		transition: opacity 0.2s linear, transform 0.4s 0.2s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand li:hover a svg.arrow g.g-arrow {
		opacity: 1;
		transform: translateX(0);
		transition-delay: 0s;
	}
}

@media screen and (max-width: 640px) {
	:root {
		--page-margin: calc((20 / var(--base-w-mobile)) * 100vw);
		--grid-column-gap: calc((10 / var(--base-w-mobile)) * 100vw);
	}

	.bp-980 {
		display: none;
	}
	
	.bp-640 {
		display: inline-block;
	}
	
	.grid-column-start-mobile {
		grid-column-start: var(--grid-column-start-mobile) !important;
	}

	.grid-column-end-mobile {
		grid-column-end: var(--grid-column-end-mobile) !important;
	}

	.grid-row-start-mobile {
		grid-row-start: var(--grid-row-start-mobile) !important;
	}

	.grid-row-end-mobile {
		grid-row-end: var(--grid-row-end-mobile) !important;
	}
	
	.half-column-r {
		padding-right: 0 !important;
	}

	.half-column-l {
		padding-left: 0 !important;
	}

	.half-column-l:nth-child(n+3):has(ul.unordered-list),
	.half-column-r:nth-child(n+3):has(ul.unordered-list) {
		margin-top: 0;
	}
	
	.m-img-fit-ratio {
		display: block;
		position: relative;
		width: 100%;
		padding-top: calc(100% * var(--m-ratio));
	}
	
	.m-img-fit-ratio img {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		object-fit: cover;
	}
	
	.img-fit-responsive {
		height: calc((var(--h) / var(--base-w-mobile)) * 100vw);
	}
	
	.m-full-width {
		margin: 0 calc(var(--page-margin) * -1);
	}
	
	header nav ul.main {
		/*display: grid;
		position: relative;
		grid-template-columns: repeat(12, 1fr);
		grid-column-gap: var(--grid-column-gap);
		align-items: center;
		width: 100%;
		padding: 0 var(--page-margin);*/
		padding-top: calc((11 / var(--base-w-mobile)) * 100vw) !important;
		padding-bottom: calc((11 / var(--base-w-mobile)) * 100vw) !important;
	}
	
	/*header nav ul.main,
	section > div,
	.news-archive-header article,
	footer > div {
		display: grid;
		position: relative;
		grid-template-columns: repeat(12, 1fr);
		grid-column-gap: var(--grid-column-gap);
		width: 100%;
		padding: 0 var(--page-margin);
	}
	*/
	
	header nav .logo {
		font-size: calc((40 / var(--base-w-mobile)) * 100vw);
		padding-bottom: 0;
	}
	
	footer .logo {
		font-size: calc((57 / var(--base-w-mobile)) * 100vw);
	}
	
	.bt-demande-de-pret {
		display: block;
		grid-column: 5 / span 4;
		font-size: calc((13 / var(--base-w-mobile)) * 100vw);
	}
	
	.bt-demande-de-pret .bt {
		--h: calc((34 / 13) * 1em);
	}
	
	.bt {
		--h: calc((34 / 12) * 1em);
	}
	
	header nav ul.expand {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-end;
		/*position: fixed;*/
		position: absolute;
		width: 100vw;
		height: 100vh;
		left: 0;
		top: 0;
		background-image: linear-gradient(65deg, rgb(var(--color-blue)), rgb(var(--color-blue-dark)));
		-webkit-clip-path: url(#nav-expand-path);
		clip-path: url(#nav-expand-path);
		color: rgb(var(--color-white));
		/*padding-right: calc(var(--page-margin) + var(--grid-column-w));*/
		padding: 0 calc(var(--page-margin) + var(--grid-column-w));
		z-index: -1;
	}

	svg clipPath#nav-expand-path circle {
		--r : calc((35 / 15) * 1em);
		cx: calc((var(--clip-left) * 1px) + var(--r));
		cy: calc((var(--clip-top) * 1px) + var(--r));
		r: var(--r);
		r: 0;
		font-size: calc((15 / var(--base-w)) * 100vw);
		transition: r 0.3s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand li {
		position: relative;
		font-weight: 700;
		font-size: calc((51 / var(--base-w)) * 100vw);
		line-height: calc((63 / 51) * 1em);
		text-align: right;
		overflow: hidden;
		transition: color 0.2s linear;
	}

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

	header nav ul.expand li:nth-child(1) {
		margin-top: 5%;
	}

	header nav ul.expand li.lang,
	header nav ul.expand li.wpml-ls-item {
		font-weight: 500;
		font-size: calc((21 / var(--base-w)) * 100vw);
		letter-spacing: 0.05em;
		line-height: calc((23 / 21) * 1em);
		text-transform: uppercase;
		margin-top: 10%;
	}

	header nav ul.expand li a {
		display: block;
		position: relative;
		transform: translateY(110%);
		transition: transform 0.6s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand li a svg.arrow {
		--h: calc((132 / 51) * 1em);
		position: absolute;
		left: calc((var(--h) * -1) - ((25 / 51) * 1em));
		top: calc(50% - (var(--h) * 0.5));
	}

	header nav ul.expand li a svg.arrow * {
		fill: rgb(var(--color-aqua));
	}

	header nav ul.expand li a svg.arrow circle {
		fill: rgba(var(--color-white),0.09);
		opacity: 0;
		transform: scale(0);
		transition: opacity 0.2s linear, transform 0.4s cubic-bezier(0.25,0.25,0.25,1.25);
	}

	header nav ul.expand li:hover a svg.arrow circle {
		opacity: 1;
		transform: scale(1);
	}

	header nav ul.expand li a svg.arrow g.g-arrow {
		opacity: 0;
		transform: translateX(-20%);
		transition: opacity 0.2s linear, transform 0.4s 0.2s cubic-bezier(0.25,0.25,0.25,1);
	}

	header nav ul.expand li:hover a svg.arrow g.g-arrow {
		opacity: 1;
		transform: translateX(0);
		transition-delay: 0s;
	}

	
	svg clipPath#nav-expand-path circle {
		--r : calc((20 / 15) * 1em);
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
	}
	
	header nav ul.expand li {
		font-size: calc((31 / var(--base-w-mobile)) * 100vw);
		line-height: calc((47 / 31) * 1em);
	}
	
	header nav ul.expand li.lang,
	header nav ul.expand li.wpml-ls-item {
		font-size: calc((21 / var(--base-w-mobile)) * 100vw);
		line-height: calc((23 / 21) * 1em);
	}

	/*--  nav ico  --*/
	
	
	header nav .bt-expand {
		display: block;
		grid-column: 11 / span 2;
	}
	
	header div.ico {
		width: calc((38 / 15) * 1em);
		height: calc((40 / 15) * 1em);
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		margin-right: 0;
	}
	
	header div.ico > div {
		width: calc((38 / 15) * 1em);
		height: calc((15 / 15) * 1em);
	}

	body.home .bckg,
	body.briva-en-3-mots .bckg,
	body.equipe .bckg,
	body.expert .bckg,
	body.nouvelles .bckg,
	body.pourquoi-briva .bckg,
	body.prets .bckg {
		--stop1: calc(var(--page-margin) + (var(--grid-column-w) * 8) + (var(--grid-column-gap) * 7));
		--stop2: calc(var(--page-margin) + (var(--grid-column-w) * 10) + (var(--grid-column-gap) * 9));
		--stop3: 100%;
	}
	
	body.politique .bckg,
	body.contact .bckg {
		--stop1: 100%;
		--stop2: 100%;
		--stop3: 100%;
	}
	
	.bckg-radial-cc.bckg-blue {
		background: rgb(var(--color-blue));
	}
	
	.bckg-radial-cc.bckg-blue:before {
		content: none;
	}
	
	.bckg-radial-lb:before,
	.bckg-radial-lc3:before,
	.bckg-radial-rb2:before {
		content: none !important;
	}

	.bckg-radial-lb2:before,
	.bckg-radial-lb3:before,
	.bckg-radial-lc:before,
	.bckg-radial-lc2:before,
	.bckg-radial-lt:before {
		background-position: left calc((var(--offset) / var(--base-w-mobile)) * 100vw) top calc(var(--section-ty) * 1px);
	}
	
	.bckg-radial-rb:before,
	.bckg-radial-rc:before,
	.bckg-radial-rc2:before,
	.bckg-radial-rc3:before,
	.bckg-radial-rt:before,
	.bckg-radial-rt2:before {
		background-position: right calc((var(--offset) / var(--base-w-mobile)) * 100vw) top calc(var(--section-ty) * 1px);
	}
	
	.bckg-radial-lb2:before {
		--w: calc((290 / var(--base-w-mobile)) * 100vw);
		--offset: -125;
	}

	.bckg-radial-lb3:before {
		--w: calc((530 / var(--base-w-mobile)) * 100vw);
		--offset: -215;
	}

	.bckg-radial-lc:before {
		--w: calc((340 / var(--base-w-mobile)) * 100vw);
		--offset: -160;
	}

	.bckg-radial-lc2:before {
		--w: calc((240 / var(--base-w-mobile)) * 100vw);
		--offset: -100;
	}

	.bckg-radial-lt:before {
		--w: calc((495 / var(--base-w-mobile)) * 100vw);
		--offset: -240;
		--blur: 69%;
	}

	.bckg-radial-rb:before {
		--w: calc((420 / var(--base-w-mobile)) * 100vw);
		--offset: -220;
		--blur: 75%;
	}
	
	.bckg-radial-rc:before {
		--w: calc((350 / var(--base-w-mobile)) * 100vw);
		--offset: -125;
	}

	.bckg-radial-rc2:before {
		--w: calc((435 / var(--base-w-mobile)) * 100vw);
		--offset: -195;
	}

	.bckg-radial-rc3:before {
		--w: calc((440 / var(--base-w-mobile)) * 100vw);
		--offset: -260;
		--blur: 78%;
	}

	.bckg-radial-rt:before {
		--w: calc((340 / var(--base-w-mobile)) * 100vw);
		--offset: -185;
		--blur: 36%;
	}

	.bckg-radial-rt2:before {
		--w: calc((380 / var(--base-w-mobile)) * 100vw);
		--offset: -135;

		right: 0;
	}
	
	section:nth-child(1) {
		margin-top: calc((62 / var(--base-w-mobile)) * 100vw);
	}
	
	section:nth-child(1):has( > div > div > h1.m-char-style-poppins-19pt:nth-child(1)),
	section:nth-child(1):has( > div > h1.m-char-style-poppins-19pt:nth-child(1)) {
		margin-top: calc((99 / var(--base-w-mobile)) * 100vw);
	}
	
	.m-char-style-baskerville-33pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((33 / var(--base-w-mobile)) * 100vw);
		line-height: calc((41 / 33) * 1em);
	}
	
	.m-char-style-baskerville-27pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((27 / var(--base-w-mobile)) * 100vw);
		line-height: 1.2em;
	}
	
	.m-char-style-baskerville-24pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((24 / var(--base-w-mobile)) * 100vw);
		line-height: calc((28 / 24) * 1em);
	}
	
	.m-char-style-baskerville-23pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((23 / var(--base-w-mobile)) * 100vw);
		line-height: calc((28 / 23) * 1em);
	}

	.m-char-style-baskerville-21pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((21 / var(--base-w-mobile)) * 100vw);
		line-height: calc((24 / 21) * 1em);
	}

	.m-char-style-baskerville-20pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
		line-height: calc((27 / 20) * 1em);
	}

	.m-char-style-baskerville-19pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((19 / var(--base-w-mobile)) * 100vw);
		/*line-height: calc((43 / 19) * 1em);*/
		line-height: calc((27 / 19) * 1em);
	}
	
	.m-char-style-baskerville-19-27pt,
	.news-archive-header h2,
	.news-archive h2 {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((19 / var(--base-w-mobile)) * 100vw);
		line-height: calc((27 / 19) * 1em);
	}
	
	.m-char-style-baskerville-17pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		font-style: normal;
		font-size: calc((17 / var(--base-w-mobile)) * 100vw);
		line-height: 1.2em;
	}
	
	.m-char-style-baskerville-16pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 400;
		font-style: normal;
		font-size: calc((16 / var(--base-w-mobile)) * 100vw);
		line-height: calc((24 / 16) * 1em);
	}
	
	.m-char-style-baskerville-15pt,
	.m-char-style-baskerville-15-18pt {
		font-family: "Libre Baskerville", serif;
		font-weight: 400;
		font-style: normal;
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		line-height: calc((43 / 15) * 1em);
	}
	
	.m-char-style-baskerville-15-18pt {
		line-height: calc((18 / 15) * 1em);
	}

	.m-char-style-poppins-27pt {
		font-weight: 700;
		font-size: calc((27 / var(--base-w-mobile)) * 100vw);
		line-height: calc((33 / 27) * 1em);
	}
	
	.m-char-style-poppins-21pt {
		font-weight: 700;
		font-size: calc((21 / var(--base-w-mobile)) * 100vw);
		line-height: 1.2em;
	}
	
	.m-char-style-poppins-19pt {
		font-weight: 700;
		font-size: calc((19 / var(--base-w-mobile)) * 100vw);
		line-height: 1.2em;
	}

	.m-char-style-poppins-19-27pt {
		font-size: calc((19 / var(--base-w-mobile)) * 100vw);
		line-height: calc((27 / 19) * 1em);
	}
	
	.m-char-style-poppins-18pt {
		font-size: calc((18 / var(--base-w-mobile)) * 100vw);
		line-height: calc((24 / 18) * 1em);
	}
	
	.m-char-style-poppins-17pt {
		font-size: calc((17 / var(--base-w-mobile)) * 100vw);
		line-height: calc((23 / 17) * 1em);
	}
	
	.m-char-style-poppins-16pt {
		/*font-weight: 300;*/
		font-size: calc((16 / var(--base-w-mobile)) * 100vw);
		line-height: calc((24 / 16) * 1em);
	}

	.m-char-style-poppins-15pt,
	.equipe-single p,
	.news-archive-header p,
	.news-archive p,
	.news-single p,
	.news-single blockquote {
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		/*line-height: calc((19 / 15) * 1em);*/
		line-height: calc((21 / 15) * 1em);
	}
	
	.m-char-style-poppins-15pt small {
		display: block;
		font-size: calc((13 / var(--base-w-mobile)) * 100vw);
		line-height: calc((21 / 15) * 1em);
	}

	.m-char-style-poppins-15pt strong {
		font-weight: 600;
	}
	
	.m-char-style-poppins-14pt {
		font-size: calc((14 / var(--base-w-mobile)) * 100vw);
		line-height: calc((19 / 14) * 1em);
	}
	
	.m-char-style-baskerville-27pt + .m-char-style-poppins-17pt {
		margin-top: calc((9 / 17) * 1em);
	}
	
	.m-char-style-baskerville-24pt + .m-char-style-poppins-19-27pt {
		margin-top: calc((20 / 19) * 1em);	
	}
	
	.m-char-style-baskerville-23pt + .m-char-style-poppins-15pt {
		margin-top: calc((27 / 15) * 1em);	
	}
	
	.m-char-style-baskerville-21pt + .m-char-style-poppins-14pt {
		margin-top: calc((8 / 14) * 1em);
	}

	picture + .m-char-style-baskerville-21pt,
	.iframe + .m-char-style-baskerville-21pt {
		margin-top: calc((28 / 21) * 1em);	
	}
	
	.m-char-style-baskerville-20pt + .m-char-style-poppins-14pt {
		margin-top: calc((13 / 14) * 1em);
	}

	.m-char-style-baskerville-19-27pt + .m-char-style-poppins-15pt,
	.news-archive-header h2 + p,
	.news-archive h2 + p {
		margin-top: calc((25 / 15) * 1em);
	}
	
	.news-single .m-char-style-baskerville-19-27pt + p {
		margin-top: calc((30 / 15) * 1em);
	}
	
	.m-char-style-baskerville-17pt + .m-char-style-poppins-15pt {
		margin-top: calc((12 / 15) * 1em);
	}
	
	.m-char-style-poppins-27pt + .m-char-style-poppins-17pt {
		margin-top: calc((21 / 17) * 1em);
	}
	
	.m-char-style-poppins-21pt + .m-char-style-poppins-16pt {
		margin-top: calc((11 / 16) * 1em);
	}
	
	.m-char-style-poppins-19pt + .m-char-style-baskerville-33pt {
		margin-top: calc((12 / 33) * 1em);	
	}

	.m-char-style-poppins-19pt + .m-char-style-baskerville-24pt {
		margin-top: calc((16 / 24) * 1em);	
	}
	
	div:has(.m-char-style-poppins-19pt) + div:has( > .m-char-style-poppins-18pt:nth-child(1)) {
		margin-top: calc((30 / 18) * 1em);	
	}
	
	div:has(.m-char-style-poppins-19pt) + div:has( > .m-char-style-poppins-16pt:nth-child(1)) {
		margin-top: calc((27 / 16) * 1em);	
	}
	
	div:has(.m-char-style-poppins-19pt) + div:has( > .m-char-style-poppins-14pt:nth-child(1)) {
		margin-top: calc((23 / 14) * 1em);	
	}
	
	.m-char-style-poppins-19-27pt + .m-char-style-baskerville-23pt {
		margin-top: calc((3 / 23) * 1em);	
	}

	.m-char-style-poppins-19-27pt + .m-char-style-poppins-15pt {
		margin-top: calc((20 / 15) * 1em);	
	}
	
	.m-char-style-poppins-18pt + .m-char-style-poppins-17pt {
		margin-top: calc((39 / 17) * 1em);
	}
	
	.m-char-style-poppins-17pt + .m-char-style-poppins-17pt {
		margin-top: calc((19 / 17) * 1em);
	}
	
	.m-char-style-poppins-17pt + .m-char-style-poppins-14pt {
		margin-top: calc((5 / 14) * 1em);
	}
	
	.m-char-style-poppins-16pt + .m-char-style-poppins-15pt {
		margin-top: calc((27 / 15) * 1em);
	}
	
	.m-char-style-poppins-15pt + .m-char-style-baskerville-19-27pt,
	.news-archive-header p + h2,
	.news-archive p + h2 {
		margin-top: calc((18 / 19) * 1em);
	}
	
	.m-char-style-poppins-15pt + .m-char-style-poppins-15pt,
	.equipe-single p + p,
	.news-single p + p,
	.news-single p + blockquote,
	.news-single blockquote + p,
	.news-single blockquote + blockquote {
		margin-top: calc((12 / 15) * 1em);
	}
	
	.news-single p:has(+ blockquote + p > span.inline) {
		margin-bottom: calc((12 / 15) * 1em);	
	}

	.m-char-style-poppins-14pt + .m-char-style-baskerville-27pt,
	div:has(*.m-char-style-poppins-14pt:last-child) + div > *.m-char-style-baskerville-27pt:first-child {
		margin-top: calc((46 / 27) * 1em);
	}
	
	.m-char-style-poppins-14pt + .m-char-style-poppins-14pt {
		margin-top: calc((19 / 14) * 1em);
	}
	
	.m-char-style-poppins-14pt + p:has( > a.bt) {
		margin-top: calc((30 / var(--base-w-mobile)) * 100vw);
	}
	
	.m-char-style-baskerville-19pt:has(+ ul.unordered-list) {
		position: relative;
		border-bottom: solid 1px rgb(var(--color-black));
		margin: 0 0 calc((19 / 19) * 1em) 0;
		padding-bottom: calc((4 / 19) * 1em);
	}
	
	.m-char-style-baskerville-19pt:has(+ ul.unordered-list):before {
		content: "";
		display: inline-block;
		position: absolute;
		width: calc((7 / var(--base-w-mobile)) * 100vw);
		height: calc((7 / var(--base-w-mobile)) * 100vw);
		left: calc((var(--grid-column-w) + var(--grid-column-gap)) * -1);
		/*top: calc((16 / var(--base-w-mobile)) * 100vw);*/
		top: calc((9 / 19) * 1em);
		background: rgb(var(--color-blue));
		-webkit-clip-path: url(#ico-list-arrow);
		clip-path: url(#ico-list-arrow);
	}
	
	div:has(.m-char-style-baskerville-19pt + .unordered-list),
	div:has(.m-char-style-baskerville-19pt + .unordered-list) + div:has(.m-char-style-baskerville-19pt + .unordered-list) {
		margin-top: calc((40 / var(--base-w-mobile)) * 100vw);
	}
	
	#expandable-list-arrow rect {
		width: calc((47 / var(--base-w-mobile)) * 100vw);
	}

	#expandable-list-arrow path {
		transform: translate(calc((47 / var(--base-w-mobile)) * 100vw), 0);
	}

	ol.ordered-list {
		display: flex;
		flex-direction: column;
		row-gap: calc((8 / var(--base-w-mobile)) * 100vw);
	}
	
	ol.ordered-list li {
		padding-left: calc((17 / var(--base-w-mobile)) * 100vw);
	}
	
	ul.unordered-list li {
		padding-left: 0;
	}
	
	ul.unordered-list li:before {
		left: calc((var(--grid-column-w) + var(--grid-column-gap)) * -1);
	}
	
	ul.unordered-list li li {
		margin-top: calc((9 / var(--base-w-mobile)) * 100vw);
		padding-left: calc((32 / var(--base-w-mobile)) * 100vw) !important;
	}

	ul.unordered-list li li:before {
		left: calc((17 / var(--base-w-mobile)) * 100vw);
	}
	
	ul.unordered-list.list-arrow > li:before {
		width: calc((30 / var(--base-w-mobile)) * 100vw);
		height: 9px;
		left: calc(var(--page-margin) * -1);
		top: calc((7 / var(--base-w-mobile)) * 100vw);
		background: rgb(var(--color-aqua));
		-webkit-clip-path: url(#clip-list-arrow);
		clip-path: url(#clip-list-arrow);
	}
	
	#clip-list-arrow rect {
		width: calc((30 / var(--base-w-mobile)) * 100vw);
	}
	
	#clip-list-arrow path {
		transform: translate(calc((30 / var(--base-w-mobile)) * 100vw), 0);
	}
	
	
	hr {
		margin: calc((25 / var(--base-w-mobile)) * 100vw) 0;
	}
	
	.text-align-center-mobile {
		text-align: center;
	}
	
	.text-align-center-mobile > img {
		display: inline-block !important;
	}

	.text-align-left-mobile {
		text-align: left;
	}
	
	.text-split-clip {
		margin-top: calc(((41 / 33) * 1em) * -1);
	}

	.text-split-clip:after {
		clip-path: inset(0 0 calc(((41 / 33) * 1em) * 2) 0);
	}
	
	.bt {
		font-size: calc((12 / var(--base-w-mobile)) * 100vw);
	}
	
	.box {
		box-shadow: 0 calc((4 / var(--base-w-mobile)) * 100vw) calc((51 / var(--base-w-mobile)) * 100vw) 0 rgba(0,0,0,0.1);
		padding: calc((20 / var(--base-w-mobile)) * 100vw);
	}

	.box + .box {
		margin-top: calc((30 / var(--base-w-mobile)) * 100vw);
	}
	
	.m-padding-responsive {
		--m-t: 0;
		--m-r: 0;
		--m-b: 0;
		--m-l: 0;
		padding: 
			calc((var(--m-t) / var(--base-w-mobile)) * 100vw) 
			calc((var(--m-r) / var(--base-w-mobile)) * 100vw) 
			calc((var(--m-b) / var(--base-w-mobile)) * 100vw) 
			calc((var(--m-l) / var(--base-w-mobile)) * 100vw);
	}
	
	.home-scroll-down {
		display: none;
	}
	
	.ico-before {
		left: calc((var(--grid-column-w) + var(--grid-column-gap)) * -2);
	}

	.ico-before img {
		height: calc((18 / 27) * 1em);
	}
	
	.m-char-style-baskerville-23pt .ico-before {
		display: block;
		position: relative;
		left: auto;
		top: auto;
		margin-bottom: calc((9 / 23) * 1em);
	}

	.m-char-style-baskerville-23pt .ico-before img {
		display: block;
		height: calc((17 / 23) * 1em);
	}
	
	ul.equipe {
		row-gap: calc((41 / var(--base-w-mobile)) * 100vw);
	}
	
	ul.equipe li {
		grid-template-columns: repeat(12, 1fr);
	}
	
	ul.equipe li > div {
		/*grid-column: 4 / span 9;*/
		grid-column: 5 / span 8;
	}
	
	ul.equipe li > div > h2 {
		font-size: calc((19 / var(--base-w-mobile)) * 100vw);
		/*line-height: calc((41 / 19) * 1em);*/
		line-height: calc((24 / 19) * 1em);
	}
	
	.equipe-single h2 {
		font-size: calc((23 / var(--base-w-mobile)) * 100vw);
		line-height: calc((41 / 23) * 1em);
	}
	
	ul.equipe li > div > h3,
	ul.equipe li > div > h4 {
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		line-height: calc((19 / 15) * 1em);
	}

	.equipe-single h3,
	.equipe-single h4 {
		font-size: calc((17 / var(--base-w-mobile)) * 100vw);
		line-height: calc((19 / 17) * 1em);
	}
	
	.equipe-single h4 {
		line-height: calc((41 / 17) * 1em);
	}
	
	ul.equipe li > div > h4 {
		display: none;
	}
	
	ul.equipe li > div > h2 + h3 {
		/*margin-top: 0;*/
		margin-top: calc((12 / 15) * 1em);
	}

	.equipe-single h2 + h3 {
		margin-top: calc((5 / 15) * 1em);
	}
	
	/*ul.equipe li > picture {
		grid-column: 1 / span 1;
		grid-row-start: 1;
		justify-self: start;
		height: calc((142 / var(--base-w-mobile)) * 100vw);
	}
	
	ul.equipe li > picture a {
		width: calc((142 / var(--base-w-mobile)) * 100vw);
		height: calc((142 / var(--base-w-mobile)) * 100vw);
		left: calc((((-142 * 0.15) / var(--base-w-mobile)) * 100vw) + (var(--page-margin) * -1));
		top: 0;
	}*/
	
	ul.equipe li > picture {
		grid-column: 1 / span 1;
		grid-row-start: 1;
		justify-self: start;
		height: calc((100 / var(--base-w-mobile)) * 100vw);
	}
	
	ul.equipe li > picture a {
		width: calc((100 / var(--base-w-mobile)) * 100vw);
		height: calc((100 / var(--base-w-mobile)) * 100vw);
		/*left: calc((((-142 / 2) / var(--base-w-mobile)) * 100vw) + (var(--page-margin) * -1));*/
		left: 0;
		top: 0;
	}

	ul.equipe li > p {
		display: none;
	}
	
	.equipe-single h3 + p,
	.equipe-single h3 + .timeline {
		margin-top: calc((15 / 15) * 1em);
	}

	/*ul.equipe li > div > h2 + h3,
	.equipe-single h2 + h3 {
		margin-top: calc((5 / 17) * 1em);
	}*/

	ul.equipe li > div > h3 + h4,
	.equipe-single h3 + h4 {
		margin-top: calc((32 / 17) * 1em);
	}
	
	.equipe-single h2 {
		margin-top: calc((26 / 23) * 1em);
	}
	
	.equipe-single picture {
		position: relative;
		width: 100%;
		padding-top: 0;
	}

	.equipe-single picture img {
		position: relative;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		object-fit: cover;
		border-radius: 50%;
	}
	
	.social-networks {
		column-gap: calc((25 / 17) * 1em);
		font-size: calc((17 / var(--base-w-mobile)) * 100vw) !important;
		margin: calc((19 / 17) * 1em) 0 calc((40 / 17) * 1em) 0;
	}
	
	.timeline {
		row-gap: calc((75 / var(--base-w-mobile)) * 100vw);
		margin-left: calc((14 / var(--base-w-mobile)) * 100vw);
		padding: calc((65 / var(--base-w-mobile)) * 100vw) 0 0 0;
	}

	.timeline li {
		position: relative;
		padding-left: calc((var(--grid-column-w) * 1) + (var(--grid-column-gap) * 1) - ((-14 / var(--base-w-mobile)) * 100vw));
	}
	
	.timeline li:before {
		height: calc(100% + ((75 / var(--base-w-mobile)) * 100vw));
		top: calc((-65 / var(--base-w-mobile)) * 100vw);
	}

	.timeline li:after {
		content: "";
		display: block;
		position: absolute;
		width: calc((28 / var(--base-w-mobile)) * 100vw);
		height: calc((28 / var(--base-w-mobile)) * 100vw);
		left: calc((-14 / var(--base-w-mobile)) * 100vw);
		top: 0;
	}

	.timeline li > span:nth-child(1) {
		position: relative;
		left: auto;
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		line-height: calc((19 / 15) * 1em);
		padding-top: calc((4 / 15) * 1em);
		transform: none;
	}
	
	.timeline li > span:nth-child(1) {
		transform: translateX(calc(-100% + ((var(--grid-column-w) * 1) + (var(--grid-column-gap) * 1) - ((-14 / var(--base-w-mobile)) * 100vw))));
	}

	.timeline li.show > span:nth-child(1) {
		transform: translateX(0);
	}

	.timeline li > span:nth-child(2) {
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		line-height: calc((19 / 15) * 1em);
		margin: calc((9 / 15) * 1em) 0 0 0;
	}
	
	.en-3-mots,
	ul.unordered-list.list-arrow {
		position: relative;
		display: flex;
		flex-direction: column;
		row-gap: calc((25 / var(--base-w-mobile)) * 100vw);
		height: auto;
		margin-top: calc((39 / var(--base-w-mobile)) * 100vw);
	}
	
	.en-3-mots li,
	ul.unordered-list.list-arrow li {
		display: block;
		position: relative;
		padding: 0;
		padding-left: calc((20 / 16) * 1em);
	}
	
	.en-3-mots li {
		width: auto;
		height: auto;
		left: auto;
		top: auto;
		background: transparent;
		border-radius: 0;
		color: rgb(var(--color-blue));		
		font-size: calc((16 / var(--base-w-mobile)) * 100vw);
		line-height: calc((23 / 16) * 1em);
	}
	
	.en-3-mots li,
	.en-3-mots li.after:after {
		opacity: 1;
		transform: none;
	}
	
	.en-3-mots li:before {
		content: none;
	}
	
	.en-3-mots li.after:after {
		content: none;
	}
	
	.en-3-mots.inv li,
	.en-3-mots.inv li.after:after {
		background: transparent;
		color: rgb(var(--color-aqua));
	}
	
	.en-3-mots svg.arrow {
		position: absolute;
		width: calc((30 / var(--base-w-mobile)) * 100vw);
		left: calc((-40 / var(--base-w-mobile)) * 100vw);
		top: calc((7 / var(--base-w-mobile)) * 100vw);
		fill: rgb(var(--color-aqua));
		transform: none;
	}
	
	.en-3-mots.inv svg.arrow {
		fill: rgb(var(--color-white));
	}

	.en-3-mots svg.arrow rect {
		width: 100%;
	}

	.en-3-mots svg.arrow path {
		transform: translate(100%, calc(50% - 4px));
	}
	
	.en-3-mots-enhanced {
		height: calc((var(--m-h) / var(--base-w-mobile)) * 100vw);
	}

	.en-3-mots-enhanced li {
		width: calc((215 / var(--base-w-mobile)) * 100vw);
		height: calc((215 / var(--base-w-mobile)) * 100vw);
		left: calc((var(--m-l) / var(--base-w-mobile)) * 100vw);
		top: calc((var(--m-t) / var(--base-w-mobile)) * 100vw);
		font-size: calc((20 / var(--base-w-mobile)) * 100vw);
		line-height: calc((23 / 20) * 1em);
		padding: 0 calc((25 / 20) * 1em);
	}

	.en-3-mots-enhanced li.after:after {
		width: calc((var(--m-a-size) / var(--base-w-mobile)) * 100vw);
		height: calc((var(--m-a-size) / var(--base-w-mobile)) * 100vw);
		left: calc((var(--m-a-offset-x) / var(--base-w-mobile)) * 100vw);
		top: calc((var(--m-a-offset-y) / var(--base-w-mobile)) * 100vw);
	}

	.en-3-mots-enhanced svg.arrow {
		width: calc((23 / var(--base-w-mobile)) * 100vw);
		left: calc((10 / var(--base-w-mobile)) * 100vw);
		top: calc((-14 / var(--base-w-mobile)) * 100vw);
	}
	
	.header-bckg-img {
		padding-top: calc((255 / 334) * 100%);	
	}

	.header-bckg-img > * {
		padding-bottom: calc((17 / var(--base-w-mobile)) * 100vw);
	}
	
	.search-filters {
		grid-column: 1 / -1;
		display: block;
		top: auto;
		margin-top: calc((113 / var(--base-w-mobile)) * 100vw);
	}
	
	.search-filters ul > li {
		padding: calc((16 / var(--base-w-mobile)) * 100vw) 0;
	}
	
	.search-filters .expandable-list > button {
		font-size: calc((19 / var(--base-w-mobile)) * 100vw);
		line-height: calc((26 / 19) * 1em);
	}
	
	.search-filters .expandable-list > button:after {
		width: calc((47 / var(--base-w-mobile)) * 100vw);
		margin-left: calc((12 / var(--base-w-mobile)) * 100vw);	
	}
	
	.search-filters h2 {
		font-size: calc((19 / var(--base-w-mobile)) * 100vw);
		line-height: calc((41 / 19) * 1em);
		margin-top: calc((50 / 19) * 1em);
		margin-bottom: calc((7 / 19) * 1em);
	}

	.search-filters h2 + ul,
	.search-filters h2 + ul > li,
	.form-search-filters li.expandable-list ul li span {
		font-size: calc((17 / var(--base-w-mobile)) * 100vw);
		line-height: calc((29 / 17) * 1em);
	}
	
	.search-filters h2 + ul {
		display: flex;
		flex-direction: column;
		row-gap: calc((13 / var(--base-w-mobile)) * 100vw);
	}
	
	.search-filters h2 + ul > li,
	.form-search-filters li.expandable-list ul li span {
		padding: 0;
	}
	
	.news-archive-header article {
		display: block;
	}
	
	.news-archive.results,
	.news-archive.related {
		grid-column: 1 / -1;
		display: flex;
		flex-direction: column;
		row-gap: calc((56 / var(--base-w-mobile)) * 100vw);
	}
	
	.news-archive.results {
		grid-row-start: 1;
		margin-top: 0;
	}

	.news-archive.results article {
		position: relative;
		width: 100%;
		margin-bottom: 0;
	}
	
	.news-archive-header article figure,
	.news-archive article figure {
		margin-bottom: calc((28 / var(--base-w-mobile)) * 100vw);
	}
	
	.news-archive-header article p:last-child,
	.news-archive.related article p:last-child,
	.news-archive.results article p:last-child {
		text-align: center;
	}
	
	.news-more {
		grid-row-start: 2;
	}
	
	.news-single article > picture:nth-child(1) {
		display: block;
		margin: 0 calc(var(--page-margin) * -1);
		margin-bottom: calc((28 / var(--base-w-mobile)) * 100vw);
	}
	
	.news-single figure {
		padding: calc((47 / var(--base-w-mobile)) * 100vw) calc((42 / var(--base-w-mobile)) * 100vw);
	}
	
	.news-single figure figcaption {
		font-size: calc((13 / var(--base-w-mobile)) * 100vw);
		line-height: calc((17 / 13) * 1em);
		margin-top: calc((10 / 13) * 1em);
	}
	
	section.scrolling-banner {
		padding: calc((64 / var(--base-w-mobile)) * 100vw) 0 calc((71 / var(--base-w-mobile)) * 100vw) 0 ;
	}

	section.scrolling-banner > div > div {
		height: calc((32 / var(--base-w-mobile)) * 100vw);
	}
	
	.services-list {
		display: grid;
		grid-template-columns: auto;
		grid-column-gap: var(--grid-column-gap);
		grid-row-gap: calc(var(--grid-column-gap) * 4);
		padding-top: calc(var(--grid-column-gap) * 4);
	}
	
	div.demande-pret-titre,
	div.demande-pret-header,
	div.demande-pret-form {	
		grid-column: 1 / -1;
	}
	
	div.demande-pret-titre {
		padding: calc((33 / var(--base-w-mobile)) * 100vw) 0 calc((39 / var(--base-w-mobile)) * 100vw) 0;
	}
	
	div.demande-pret-titre h2 {
		color: rgb(var(--color-blue));
		font-size: calc((21 / var(--base-w-mobile)) * 100vw);
		line-height: calc((23 / 21) * 1em);
	}
	
	div.demande-pret-titre h2:before {
		content: none;
	}
	
	div.demande-pret-header {
		grid-row-start: 1;
	}
	
	div.demande-pret-header ul {
		column-gap: calc((20 / 17) * 1em);
		font-size: calc((17 / var(--base-w-mobile)) * 100vw);
	}
	
	div.demande-pret-header ul li:has(small) {
		display: none;
	}
	
	.c-js-graphic {
		width: calc((180 / var(--base-w-mobile)) * 100vw);
		height: calc((180 / var(--base-w-mobile)) * 100vw);
		left: calc(50% - calc(((180 / 2) / var(--base-w-mobile)) * 100vw));
		top: calc(50% - calc(((180 / 2) / var(--base-w-mobile)) * 100vw));
	}
	
	form.form-demande-pret > div {
		row-gap: calc((25 / var(--base-w-mobile)) * 100vw);
		margin-top: calc((0 / var(--base-w-mobile)) * 100vw);
	}
	
	form.form-demande-pret > div {
		row-gap: calc((40 / var(--base-w-mobile)) * 100vw);
		margin-top: calc((0 / var(--base-w-mobile)) * 100vw);
	}
	
	form.form-demande-pret input, 
	form.form-demande-pret textarea,
	form.form-demande-pret select,
	form.form-demande-pret button,
	form.form-demande-pret a,
	form.form-demande-pret label,
	form.form-demande-pret .grp {
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		line-height: calc((30 / 15) * 1em);
	}

	form.form-demande-pret small {
		display: block;
		font-size: calc((13 / 15) * 1em);
		line-height: calc((17 / 13) * 1em);
	}
	
	form.form-newsletter input, 
	form.form-newsletter textarea,
	form.form-newsletter select,
	form.form-newsletter button,
	form.form-newsletter label {
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
	}
	
	form.form-demande-pret input, 
	form.form-demande-pret textarea,
	form.form-demande-pret select,
	form.form-demande-pret label:not(.checkbox):not(.radio) span {
		padding: calc((0 / 15) * 1em) 0;
	}

	form textarea {
		height: calc((30 / 15) * 1em);
	}
	
	form textarea.focus-in {
		height: calc(((30 / 15) * 1em) * 5);
	}
	
	form .grp {
		row-gap: calc((19 / 15) * 1em);
		margin-top: 0;
	}
	
	form input[type="checkbox"]:before,
	form input[type="checkbox"]:after,
	form input[type="radio"]:before,
	form input[type="radio"]:after {
		font-size: calc((28/ var(--base-w-mobile)) * 100vw);
	}
	
	form label.checkbox.small input[type="checkbox"]:before,
	form label.checkbox.small input[type="checkbox"]:after {
		font-size: calc((22 / var(--base-w-mobile)) * 100vw);
	}

	form label.checkbox:has(input[type="checkbox"]:checked) + label:has(textarea),
	form label.radio:has(input[type="radio"]:checked) + label:has(textarea) {
		margin-left: 0;
	}
	
	form.form-demande-pret .grp:has(button[type="submit"]) {
		margin-top: calc((30 / var(--base-w-mobile)) * 100vw);
	}
	
	
	
	footer {
		background-image: linear-gradient(rgba(var(--color-marine-dark),0) calc(var(--cta-h) * 1px), rgb(var(--color-marine-dark)) calc(var(--cta-h) * 1px));
		margin-top: calc((72 / var(--base-w-mobile)) * 100vw);
		padding-bottom: calc((20 / var(--base-w-mobile)) * 100vw);
	}
	
	/*footer:before {
		height: calc(100% - (var(--cta-h) * 1px));
		top: calc(var(--cta-h) * 1px);
	}*/
	
	/*footer:after {
		width: 100vw;
		height: calc((425 / 560) * 100vw);
		left: 0;
	}*/
	
	footer #tree {
		width: 100vw;
		height: calc((430 / 590) * 100vw);
	}
	
	footer .cta {
		grid-column: 1 / span 12;
		margin: 0 calc(var(--page-margin) * -1);
		padding: calc((40 / var(--base-w-mobile)) * 100vw) 0 calc((50 / var(--base-w-mobile)) * 100vw) 0;
		transform-origin: center bottom;
	}
	
	footer .bt-cta {
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		margin-top: calc((29 / 15) * 1em);
		padding: calc((15 / 15) * 1em) calc((23 / 15) * 1em);
	}
	
	footer div:has( > form.form-newsletter) {
		grid-column: 1 / span 12;
		padding: calc((47 / var(--base-w-mobile)) * 100vw) 0 calc((82 / var(--base-w-mobile)) * 100vw) 0;
	}
	
	footer .logo {
		margin-top: calc((60 / var(--base-w-mobile)) * 100vw);
		margin-bottom: calc((6 / var(--base-w-mobile)) * 100vw);
	}
	
	footer nav ul li,
	footer .lang {
		font-weight: 500;
		font-size: calc((15 / var(--base-w-mobile)) * 100vw);
		line-height: calc((43 / 15) * 1em);
	}

	footer .contributor span,
	footer .legal,
	footer .legal > span {
		font-size: calc((13 / var(--base-w-mobile)) * 100vw);
		line-height: calc((21 / 13) * 1em);
	}
	
	footer .contributor {
		margin-top: calc((40 / var(--base-w-mobile)) * 100vw);
		margin-bottom: calc((35 / var(--base-w-mobile)) * 100vw);
	}

	footer .contributor img {
		height: calc((34 / var(--base-w-mobile)) * 100vw);
		margin-top: calc((10 / var(--base-w-mobile)) * 100vw);
	}
	
	footer .legal {
		margin-top: calc((10 / var(--base-w-mobile)) * 100vw);
	}
	
	footer .legal:has(a > img) {
		margin-bottom: calc((45 / var(--base-w-mobile)) * 100vw);
	}
	
	footer .legal:has(a > img) span {
		margin-bottom: calc((10 / var(--base-w-mobile)) * 100vw);
	}

	footer .legal a:has(img) + a:has(img) {
		margin-left: calc((53 / var(--base-w-mobile)) * 100vw);
	}
	
	footer .legal a > img {
		height: calc((26 / var(--base-w-mobile)) * 100vw);
	}
	
	footer .copyright {
		display: flex;
		flex-direction: column;
		row-gap: calc((10 / var(--base-w-mobile)) * 100vw);
	}
	
	footer .copyright > *:nth-child(1) {
		order: 3;
	}
	
	footer .copyright > *:nth-child(2) {
		order: 1;
	}
	
	footer .copyright > *:nth-child(3) {
		order: 2;
	}
	
	footer .copyright > * + *:before {
		content: none;
	}
}

.font-weight-light {
	font-weight: 300;
}

.font-weight-regular {
	font-weight: 400;
}

.font-weight-medium {
	font-weight: 500;
}

.font-weight-semibold {
	font-weight: 600;
}

.font-weight-bold {
	font-weight: 700;
}

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