html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
/* Mise en page ---------------------------------------- */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
template, [hidden] { display: none; }
hr { -webkit-box-sizing: content-box; box-sizing: content-box; height: 0; overflow: visible; }
/* Texte ----------------------------------------------- */
h1 { font-size: 2em; margin: 0.67em 0; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: inherit; }
b, strong { font-weight: bolder; }
dfn { font-style: italic; }
mark { background-color: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }
/* Images */
img { border-style: none; }
svg:not(:root) { overflow: hidden; }
/* Formulaires ----------------------------------------- */
progress { vertical-align: baseline; }
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button, input, select, textarea { font: inherit; }
button, input, select { overflow: visible; }
button, input, select, textarea { margin: 0; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer; }
[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
button:-moz-focusring, input:-moz-focusring { outline: 1px dotted ButtonText; }
optgroup { font-weight: bold; }
legend { -webkit-box-sizing: border-box; box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; }
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

@font-face {
  font-family: 'Fabrik Web';
  src: url('fonts/fabrik_bold.woff2') format('woff2'),
       url('fonts/fabrik_bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'GT America Web';
  src: url('fonts/gt-america-light.woff2') format('woff2'),
       url('fonts/gt-america-light.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
	font-family: 'GT America Web';
	src: url('fonts/gt_america_bold.woff2') format('woff2'),
			 url('fonts/gt_america_bold.woff') format('woff');
	font-style: normal;
	font-weight: bold;
}

html { font-size: 0.625em; /* unité de base, 10px */ }

@media (min-width: 91em) {
	html { font-size: 0.75em }
}

body {
	font-family: 'GT America Web', sans-serif;
	font-size: 17.25px;
	font-size: 1.725rem;
	line-height: 1.7;
}



.main-header, .secondary-header, .block-header, 
.home-header-tag,
.award-list .card strong {
	font-family: 'Fabrik Web', sans-serif;
	font-weight: bold;
}



.main-header { 
	font-size: 56px; 
	font-size: 5.6rem;
	line-height: 1.15;
}

.secondary-header { 
	font-size: 42px; 
	font-size: 4.2rem; 
	line-height: 1.2;
}

.block-header { 
	font-size: 30px; 
	font-size: 3rem; 
	line-height: 1.35;
}
.block-header { line-height: 1.2; }

.module-accented-text, .text-large {
	font-size: 23px;
	font-size: 2.3rem;
	line-height: 1.5;
}

[role="navigation"],
label, .label, 
.subheader, 
button, .button, .button-link,
.award-list .card { font-size: 15.5px; font-size: 1.55rem; }

.subheader { line-height: 1.2; }

.main-nav-contact, .copyright-credits, .label-tiny { font-size: 14px; font-size: 1.4rem; }

@media (max-width: 40em) {
	body { font-size: 1.6rem; }
	.main-header { font-size: 3.6rem; }
	.secondary-header { font-size: 3rem; }
	.block-header { font-size: 2.2rem; margin-bottom: 0; }
	.module-accented-text, .text-large { font-size: 1.8rem; }
}

:root {
	--background-color: #ECECEC;
	--alt-background-color: #D2B58C;
	--text-color: #262626;
	--alt-text-color: #AD8F66;
	--accent-color: #F7DA0A;

	--grid-tracks: 12;
	--gutter: 30px;
	--gutter: 3rem;
	--column: calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 );
	--column: calc( (100vw - (var(--grid-tracks) - 1) * var(--gutter) - var(--outer-margin) * 2) / var(--grid-tracks) );

	--outer-margin: 5.555vw;
	--vspace: 100px;
	--vspace: 10rem;

	--font-size-small: 15.5px;
	--font-size-small: 1.55rem;

	--default-transition-duration: 0.25s;

	--notches-gradient: linear-gradient(to right, currentColor 5.555vw, transparent 5.555vw),
											linear-gradient(to right, transparent calc(5.555vw + 5px), currentColor calc(5.555vw + 5px));

	--notches-gradient: linear-gradient(to right, currentColor var(--outer-margin), transparent var(--outer-margin)),
											linear-gradient(to right, transparent calc(var(--outer-margin) + 5px), currentColor calc(var(--outer-margin) + 5px));
}

@media (max-width: 50em) {
	:root {
		--grid-tracks: 6;
		--outer-margin: 3rem;
		--outer-margin: var(--gutter);
		--column: calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 );
		--column: calc( (100vw - (var(--grid-tracks) - 1) * var(--gutter) - var(--outer-margin) * 2) / var(--grid-tracks) );
	}
}

@media (max-width: 40em) {
	:root { --vspace: 20vmin; }
}

@media (max-width: 30em) {
	:root { --gutter: 2rem; }
}

* { -webkit-box-sizing: border-box; box-sizing: border-box; }
:first-child { margin-top: 0; }
:last-child { margin-bottom: 0; }

html, body { margin: 0; padding: 0; }

html {
	background-color: #ECECEC;
	background-color: var(--background-color);
	color: #262626;
	color: var(--text-color);
}

body {
	/* margin-left: var(--outer-margin); */
	/* margin-right: var(--outer-margin); */
	padding-top: 165px;
	padding-top: 16.5rem;
}
body.menu-open {
	overflow: hidden;
}

@media (max-width: 48em) {
	body { padding-top: 6rem; }
}

.grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
}
.grid > * { -webkit-box-flex: 0; -ms-flex: 0 0 48.5%; flex: 0 0 48.5%; }
.grid > *:nth-child(2n) { margin-left: auto; }

@supports (display: grid) {
	.grid {
		display: grid;
			grid-template-columns: [start] 1fr [inner-start] repeat(4, 1fr) [left-center] 1fr [center] 1fr [right-center] repeat(4, 1fr) [inner-end] 1fr [end];
			grid-column-gap: 3rem;
			grid-column-gap: var(--gutter);
	}
	.grid > *:nth-child(2n) { margin-left: 0; }

	@media (max-width: 64em) {
		.grid {
			grid-template-columns: [start inner-start] repeat(6, 1fr) [left-center center right-center] repeat(6, 1fr) [inner-end end];
		}
	}

	@media (max-width: 50em) {
		.grid {
			grid-template-columns: [start inner-start] repeat(3, 1fr) [left-center center right-center] repeat(3, 1fr) [inner-end end];
		}
	}
}

@media (max-width: 50em) {
	.grid { display: block }
	@supports (display: grid) {
		.grid { display: grid; }
	}
}


.layout-grid {
	display: none;
	grid-template-rows: 100vh 0;
	position: fixed;
		top: 0; right: 0; bottom: 0; left: 0;
		z-index: 10000;
	margin: 0 5.555vw;
	margin: 0 var(--outer-margin);
	-webkit-box-pack: stretch;
	    -ms-flex-pack: stretch;
	        justify-content: stretch;

	pointer-events: none;
}
.layout-grid > * {
	background-color: #f00;
	opacity: 0.05;
}

.aria-label {
	position: absolute;
		z-index: -1;
	opacity: 0;
}

.main-header { text-align: center; }
.subheader + .main-header { margin-top: 0; }

.page-header { 
	position: relative;
		z-index: 100;
	margin-top: 100px;
	margin-top: 10rem;
	margin-top: var(--vspace);
	margin-bottom: calc(10rem / 2);
	margin-bottom: calc(var(--vspace) / 2);
	text-align: center; 
}
.page-header .main-header { display: block; }
.page-header .subheader { 
	display: block;
	margin-top: 5px;
	margin-top: 0.5rem;
	font-weight: normal;
}

.module.dark-bg, .module.alt-bg { 
	padding-top: 100px; 
	padding-top: 10rem; 
	padding-top: var(--vspace);
	padding-bottom: 100px;
	padding-bottom: 10rem;
	padding-bottom: var(--vspace);
}
.dark-bg { 
	background-color: #262626; 
	background-color: var(--text-color);
	color: #ECECEC;
	color: var(--background-color); 
}
.alt-bg { 
	background-color: #D2B58C; 
	background-color: var(--alt-background-color);
}

.columns { display: -webkit-box; display: -ms-flexbox; display: flex; }
.columns > * { 
	-webkit-box-flex: 1; 
	    -ms-flex: 1 0 50%; 
	        flex: 1 0 50%;
	margin-top: 0;
	margin-bottom: 0;
}

a {
	color: inherit;
	text-decoration: none;
	border-bottom: 2px solid;
}
a:not(.button-link):hover { border-color: #F7DA0A; border-color: var(--accent-color) }

.button-link {
	display: inline-block;
	position: relative;
	padding-bottom: 0.5em;
	border-bottom: 4px solid;

	color: inherit;
	text-decoration: none;
}
.button-link:before {
	content: '';
	position: absolute;
		top: 100%; right: 2em; left: 0;
	background-color: #F7DA0A;
	background-color: var(--accent-color);
	height: 4px;
	-webkit-transition: right, left;
	-o-transition: right, left;
	transition: right, left;
	-webkit-transition-duration: 0.25s;
	     -o-transition-duration: 0.25s;
	        transition-duration: 0.25s;
	-webkit-transition-duration: var(--default-transition-duration);
	     -o-transition-duration: var(--default-transition-duration);
	        transition-duration: var(--default-transition-duration);
	-webkit-transition-delay: 0.25s, 0;
	     -o-transition-delay: 0.25s, 0;
	        transition-delay: 0.25s, 0;
	-webkit-transition-delay: var(--default-transition-duration), 0;
	     -o-transition-delay: var(--default-transition-duration), 0;
	        transition-delay: var(--default-transition-duration), 0;
}
.button-link:hover:before, a:hover .button-link:before { 
	right: 0; 
	left: calc(100% - 2em);
	-webkit-transition-delay: 0, 0.25s;
	     -o-transition-delay: 0, 0.25s;
	        transition-delay: 0, 0.25s;
	-webkit-transition-delay: 0, var(--default-transition-duration);
	     -o-transition-delay: 0, var(--default-transition-duration);
	        transition-delay: 0, var(--default-transition-duration);
}
.button-link:after {
	content: '\203A';
	display: inline-block;
	width: 2em;
	text-align: center;
}

main > * + .module,
main > * + section { margin-top: 100px; margin-top: 10rem; margin-top: var(--vspace); }

main > :last-child { padding-bottom: 100px; padding-bottom: 10rem; padding-bottom: var(--vspace); }

main ul { padding-left: 30px; padding-left: 3rem; }

main ul > li { 
	display: block;
	position: relative; 
}
main ul > li:before {
	content: '';
	display: block;
	position: absolute;
		left: -30px;
		left: -3rem; top: 0.85em;
	height: 2px;
	width: 20px;
	width: 2rem;
	background-color: #F7DA0A;
	background-color: var(--accent-color);
}
main ul > li + li { margin-top: 20px; margin-top: 2rem; }

dd { margin-left: 0; }

hr {
	border: none;
	height: 4px;
	background-color: #ebebeb;
}

form label, form input { display: block; }

form label { color: #AD8F66; color: var(--alt-text-color); }

input:not([type="radio"]):not([type="checkbox"]), textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	width: 100%;
	border: none;
	background-color: #fff;
}
input:not([type="radio"]):not([type="checkbox"]):focus, textarea:focus, select:focus {
	outline: none;
	background-color: #f0f0f0;
	-webkit-box-shadow: inset 0 0 0 4px #fff;
	        box-shadow: inset 0 0 0 4px #fff;
}

select { 
	background-image: url('images/chevron.svg');
	background-repeat: no-repeat;
	background-position: center right 20px;
	background-position: center right 2rem;
}

textarea.autoresize { 
	resize: none; 
	overflow: hidden;
}

.field-error { color: #EA5949; }

input:not([type="radio"]):not([type="checkbox"]).field-invalid,
.field-invalid {
	background-color: rgba(234, 89, 73, .1);
	-webkit-box-shadow: inset 0 0 0 4px #fff;
	        box-shadow: inset 0 0 0 4px #fff;
}

button, .button {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	position: relative;
		z-index: 10;
	height: 50px;
	height: 5rem;
	border: none;
	padding: 0 0 0 20px;
	padding: 0 0 0 2rem;
	background: none;

	overflow: hidden;
	-webkit-transition: color 0.25s;
	-o-transition: color 0.25s;
	transition: color 0.25s;
	-webkit-transition: color var(--default-transition-duration);
	-o-transition: color var(--default-transition-duration);
	transition: color var(--default-transition-duration);

	line-height: 1;
	text-decoration: none;
	color: inherit;
}
button:hover, .button:hover { 
	color: #fff; 
	-webkit-transition-delay: 0.25s; 
	     -o-transition-delay: 0.25s; 
	        transition-delay: 0.25s; 
	-webkit-transition-delay: var(--default-transition-duration); 
	     -o-transition-delay: var(--default-transition-duration); 
	        transition-delay: var(--default-transition-duration);
}
button:before, .button:before {
	content: '';
	position: absolute;
		top: 0; right: 50px; right: 5rem; bottom: 0; left: 0;
		z-index: -1;
	outline: 500px solid #262626;
	outline: 50rem solid #262626;
	outline: 500px solid var(--text-color);
	outline: 50rem solid var(--text-color);
	background-color: #F7DA0A;
	background-color: var(--accent-color);

	-webkit-transition: right, left;

	-o-transition: right, left;

	transition: right, left;
	-webkit-transition-duration: 0.25s;
	     -o-transition-duration: 0.25s;
	        transition-duration: 0.25s;
	-webkit-transition-duration: var(--default-transition-duration);
	     -o-transition-duration: var(--default-transition-duration);
	        transition-duration: var(--default-transition-duration);
	-webkit-transition-delay: 0.25s, 0;
	     -o-transition-delay: 0.25s, 0;
	        transition-delay: 0.25s, 0;
	-webkit-transition-delay: var(--default-transition-duration), 0;
	     -o-transition-delay: var(--default-transition-duration), 0;
	        transition-delay: var(--default-transition-duration), 0;
}
button:hover:before, .button:hover:before { 
	right: 0; 
	left: calc(100% - 5rem);
	-webkit-transition-delay: 0, 0.25s;
	     -o-transition-delay: 0, 0.25s;
	        transition-delay: 0, 0.25s;
	-webkit-transition-delay: 0, var(--default-transition-duration);
	     -o-transition-delay: 0, var(--default-transition-duration);
	        transition-delay: 0, var(--default-transition-duration);
}
button:after, .button:after {
	content: '\203A';
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 50px;
	        flex: 0 0 50px;
	-ms-flex: 0 0 5rem;
	    flex: 0 0 5rem;
	position: relative;
		z-index: 20;
	display: inline-block;
	width: 50px;
	width: 5rem;
	margin-left: 20px;
	margin-left: 2rem;

	-webkit-transition: color 0.25s;

	-o-transition: color 0.25s;

	transition: color 0.25s;

	-webkit-transition: color var(--default-transition-duration);

	-o-transition: color var(--default-transition-duration);

	transition: color var(--default-transition-duration);
	-webkit-transition-delay: 0.25s;
	     -o-transition-delay: 0.25s;
	        transition-delay: 0.25s;
	-webkit-transition-delay: var(--default-transition-duration);
	     -o-transition-delay: var(--default-transition-duration);
	        transition-delay: var(--default-transition-duration);

	color: #fff;
	text-align: center;
}
button:hover:after, .button:hover:after { 
	color: #262626; 
	color: var(--text-color); 
	-webkit-transition-delay: 0; 
	     -o-transition-delay: 0; 
	        transition-delay: 0;
}

.sprite {
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
}

.tag { 
	position: relative; 
	padding: 10px 20px; 
	padding: 1rem 2rem;

	border: solid transparent;
	border-width: 10px 0;
	background-clip: padding-box;
	background-color: #fff;
}
.tag:before, .tag:after {
	content: '';
	position: absolute;
		z-index: -1;
		top: -10px; bottom: -10px;
	background-color: inherit;
}
.tag:before { left: 0; right: calc(50% + 2.5px); }
.tag:after { left: calc(50% + 2.5px); right: 0; }
.tag-up { padding-bottom: 20px; padding-bottom: 2rem; border-bottom: none; }
.tag-up:before, .tag-up:after { bottom: 0; }
.tag-down { padding-top: 20px; padding-top: 2rem; border-top: none; }
.tag-down:before, .tag-down:after { top: 0; }

.notches { 
	position: relative;
		z-index: 0; 
	border: solid transparent;
		border-width: 10px 0;
	margin-left: 5.555vw;
	margin-left: var(--outer-margin);
	margin-right: 5.555vw;
	margin-right: var(--outer-margin);
	padding: 10rem calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 );
	padding: var(--vspace) var(--column);
	background-clip: padding-box;
}
.notches:before, .notches:after {
	content: '';
	position: absolute;
		top: -10px; right: 0; bottom: -10px; left: 0;
		z-index: -10;

	background: inherit;
	background: -o-linear-gradient(left, currentColor 5.555vw, transparent 5.555vw),
											-o-linear-gradient(left, transparent calc(5.555vw + 5px), currentColor calc(5.555vw + 5px));
	background: linear-gradient(to right, currentColor 5.555vw, transparent 5.555vw),
											linear-gradient(to right, transparent calc(5.555vw + 5px), currentColor calc(5.555vw + 5px));
	background: var(--notches-gradient);
}
.notches:before { right: 49%; }
.notches:after {
	left: 49%;
	-webkit-transform: scaleX(-1);
	    -ms-transform: scaleX(-1);
	        transform: scaleX(-1);
}
.alt-bg.notches:before, .alt-bg.notches:after { color: #D2B58C; color: var(--alt-background-color); }
.dark-bg.notches:before, .dark-bg.notches:after { color: #262626; color: var(--text-color); }
@supports (display: grid) {
	.notches.grid { padding-left: 0; padding-right: 0; }
}
@media (max-width: 50em) {
	.notches, .notches.grid {
		margin-left: 0;
		margin-right: 0;
	}
}

.image-bg {
	background-position: center;
	background-size: cover;
}
.image-bg:before {
	content: '';
	display: block;
	position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
	width: auto;
	height: auto;
	background: #262626;
	background: var(--text-color);
	opacity: 0.55;
}
.image-bg > * { 
	position: relative;
	z-index: 10;
}



/* Honeypot du formulaire */
.uniform__potty {
  position: absolute;
  left: -9999px;
  z-index: -1;
}

[role="navigation"] {
	position: absolute;
		top: 0; right: 5.555vw; right: var(--outer-margin); left: 5.555vw; left: var(--outer-margin);
		z-index: 1000;
	margin-top: 50px;
	margin-top: 5rem;

	line-height: 1.3;
	text-align: center;
}

[role="navigation"] > * {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 50px;
	height: 5rem;

	background-color: #fff;
}

[role="navigation"] a,
[role="navigation"] .nav-item > span,
.main-nav-contact > * {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	height: 100%;
	border-bottom: none;

	color: inherit;
	text-decoration: none;
}
[role="navigation"] a:hover,
[role="navigation"] .nav-item > span:hover { color: #AD8F66; color: var(--alt-text-color); }

[role="navigation"] ul { padding-left: 0; }
[role="navigation"] li { display: block; }

.main-nav-upper > *,
.main-nav-menu > * {
	-webkit-box-flex: 1;
	    -ms-flex: 1 0;
	        flex: 1 0;
	background-color: inherit;
}

.main-nav-upper > * + *,
.main-nav-menu > * + * {
	margin-left: 5px;
}

.main-nav-upper > * {
	margin-top: -10px;
}

[role="navigation"] .site-title { 
	height: auto; 
	overflow: hidden;
}
[role="navigation"] .site-title:hover { color: inherit; }
[role="navigation"] .site-title .sprite {
	width: 230px;
	width: 23rem;
	height: 100%;
	margin-bottom: -10px;
	margin-bottom: -1rem;
}

.main-nav-contact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;

	font-style: normal;
}
.main-nav-contact > * {
	-webkit-box-flex: 1;
	    -ms-flex: 1 0;
	        flex: 1 0;
	margin: 0;
	padding: 0 1em;
}
.main-nav-contact .nav-social {
	background-color: #262626;
	background-color: var(--text-color);
	color: #fff;
}

.main-nav-menu { 
	margin-top: 5px; 
	top: -60px; 
	top: -6rem;
	-webkit-transition: top 0.25s;
	-o-transition: top 0.25s;
	transition: top 0.25s;
}
.main-nav-menu > * {
	position: relative;
	margin-bottom: -10px;
}

.nav-submenu, .nav-submenu > * { 
	-webkit-transition-duration: 0.25s; 
	     -o-transition-duration: 0.25s; 
	        transition-duration: 0.25s; 
	-webkit-transition-duration: var(--default-transition-duration); 
	     -o-transition-duration: var(--default-transition-duration); 
	        transition-duration: var(--default-transition-duration);
	-webkit-transition-delay: 0.25s;
	     -o-transition-delay: 0.25s;
	        transition-delay: 0.25s;
}
.nav-item:hover .nav-submenu, .nav-item:hover .nav-submenu > * { -webkit-transition-delay: 0; -o-transition-delay: 0; transition-delay: 0; }

.nav-item { 
	padding: 0 1em; 
	cursor: pointer;
}

.nav-item .has-submenu:after {
	content: '›';
	margin-left: 0.75em;
	-webkit-transform: translateY(0.1em) rotate(90deg);
	    -ms-transform: translateY(0.1em) rotate(90deg);
	        transform: translateY(0.1em) rotate(90deg);
	-webkit-transition: -webkit-transform 0.15s;
	transition: -webkit-transform 0.15s;
	-o-transition: transform 0.15s;
	transition: transform 0.15s;
	transition: transform 0.15s, -webkit-transform 0.15s;
}
.submenu-open .has-submenu:after {
	-webkit-transform: translate(-0.2em, 0.05em) rotate(-90deg);
	    -ms-transform: translate(-0.2em, 0.05em) rotate(-90deg);
	        transform: translate(-0.2em, 0.05em) rotate(-90deg);	
}

.nav-item.current > a, .nav-item.current > span  { color: #AD8F66; color: var(--alt-text-color); }

.nav-submenu {
	position: absolute;
		top: 100%; left: 0; right: 0;
		z-index: -1;
	opacity: 0;
	visibility: hidden;
	-webkit-transition-property: padding-top, opacity, visibility;
	-o-transition-property: padding-top, opacity, visibility;
	transition-property: padding-top, opacity, visibility;
}
.nav-item:hover .nav-submenu,
.submenu-open .nav-submenu { 
	padding-top: 5px; 
	opacity: 1; 
	visibility: visible;
}

.nav-submenu > * {
	height: 60px;
	height: 6rem;
	background-color: #262626;
	background-color: var(--text-color);
	-webkit-transition-property: margin-top;
	-o-transition-property: margin-top;
	transition-property: margin-top;

	color: #fff;
}
.nav-item:hover .nav-submenu > * + *,
.submenu-open .nav-submenu > * + * { margin-top: 5px; }

.nav-submenu .nav-item:hover { color: #D2B58C; color: var(--alt-background-color); }

.mobile-menu-toggle { display: none; }
.mobile-menu-toggle + * { margin-left: 0; }


@media (max-width: 60em) {
	.main-nav-contact > :not(.nav-social) { display: none; }
	.main-nav-contact .nav-social { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-preferred-size: calc(50% - 2.5px); flex-basis: calc(50% - 2.5px); }
}

@media (min-width: 48.1em) {
	.main-nav-menu.sticky { 
		position: fixed;
			top: 5px; right: inherit; left: inherit;
		-webkit-box-shadow: 0 15px 40px rgba(0, 0, 0, .1);
		        box-shadow: 0 15px 40px rgba(0, 0, 0, .1);
		border-top: 10px solid transparent;
		background-clip: padding-box;
		-webkit-transform: translateZ(1000px);
		        transform: translateZ(1000px);
	}
	.main-nav-menu.sticky > * { margin-top: -10px; }
}

@media (max-width: 48em) {

	.main-nav-upper { 
		position: fixed;
			top: 0; right: 0; left: 0;
			z-index: 1000;
		-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, .15);
		        box-shadow: 0 0 20px rgba(0, 0, 0, .15);
	}
	.main-nav-upper > * { 
		padding: 0 2rem;
		margin-top: 0;
		margin-bottom: -10px; 
	}

	.main-nav-contact { display: none; }

	[role="navigation"] .main-nav-menu {
		position: fixed;
			top: 0; right: 0; bottom: 0; left: 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		height: auto;
		margin-top: 0;
		padding: 8rem 5.555vw 2rem;
		padding: 8rem var(--outer-margin) 2rem;
		background: none; 
		overflow: scroll;

		opacity: 0;
		visibility: hidden;
		-webkit-transform: translateY(-3rem);
		    -ms-transform: translateY(-3rem);
		        transform: translateY(-3rem);
		-webkit-transition: all 0.25s;
		-o-transition: all 0.25s;
		transition: all 0.25s;
		-webkit-transition: all var(--default-transition-duration);
		-o-transition: all var(--default-transition-duration);
		transition: all var(--default-transition-duration);

		font-size: 2.4rem;
	}
	body.menu-open .main-nav-menu {
		opacity: 1;
		visibility: visible;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
	}

	.main-nav-menu:after {
		content: '';
		position: fixed;
			top: -100vh; right: 0; bottom: -100vh; left: 0;
			z-index: -1;
		background: #ECECEC;
		background: var(--background-color);
	}

	.nav-item { padding: 0; }
	
	.main-nav-menu > * { 
		-webkit-box-flex: 0; 
		    -ms-flex: 0 0 auto; 
		        flex: 0 0 auto;
		margin-bottom: 0; 
	}
	.main-nav-menu > li:first-of-type { margin-top: auto; }
	.main-nav-menu > li:last-of-type { margin-bottom: auto; }
	.main-nav-menu > * + * { 
		margin-left: 0; 
		margin-top: 0.5em; 
		padding-top: 0.5em;
		border-top: 1px solid #fff; 
		
		-webkit-transition: all 0.25s; 
		
		-o-transition: all 0.25s; 
		
		transition: all 0.25s; 
		
		-webkit-transition: all var(--default-transition-duration); 
		
		-o-transition: all var(--default-transition-duration); 
		
		transition: all var(--default-transition-duration);
	}
	body.menu-open .main-nav-menu > * + * { 
		margin-top: 0.75em; 
		padding-top: 0.75em; 
	}

	.nav-item .has-submenu:after { display: none; }

	.nav-submenu { position: static; visibility: inherit; opacity: 1; }
	.nav-submenu > *,
	.nav-item:hover .nav-submenu > * + *,
	.submenu-open .nav-submenu > * + * { 
		height: auto; 
		margin-top: 0.75em;
		background: none; 

		font-size: 0.75em;
		color: inherit;
	}
	.nav-item:hover .nav-submenu, .submenu-open .nav-submenu { padding-top: 0; }

	.mobile-menu-toggle { 
		display: block;
		width: auto; 
		height: auto;
		background-color: #fff;
		color: inherit;
	}
	.mobile-menu-toggle:before, .mobile-menu-toggle:after { display: none; }
	.mobile-menu-toggle:hover { color: #AD8F66; color: var(--alt-text-color); }

	.index-icon {
		display: inline-block;
		position: relative;
			top: -2px;
		background: currentColor;
		border: none;
		width: 2rem;
		height: 1px;
		margin-left: 1rem;
		vertical-align: middle;
	}
	.index-icon:before,
	.index-icon:after {
		content: '';
		display: block;
		position: absolute;
		height: 1px;
		width: 100%;
		background: inherit;
		-webkit-transition: width 0.2s, -webkit-transform 0.2s;
		transition: width 0.2s, -webkit-transform 0.2s;
		-o-transition: width 0.2s, transform 0.2s;
		transition: width 0.2s, transform 0.2s;
		transition: width 0.2s, transform 0.2s, -webkit-transform 0.2s;
	}
	.index-icon:before { 
		top: -6px;
		-webkit-transform-origin: top left;
		    -ms-transform-origin: top left;
		        transform-origin: top left; 
	}
	.index-icon:after { 
		bottom: -6px;
		-webkit-transform-origin: bottom left;
		    -ms-transform-origin: bottom left;
		        transform-origin: bottom left; 
	}

	.menu-open .index-icon:before, .menu-open .index-icon:after {
		width: 100%;
	}
	.menu-open .index-icon:before { -webkit-transform: rotate(45deg) translateY(-0.125em); -ms-transform: rotate(45deg) translateY(-0.125em); transform: rotate(45deg) translateY(-0.125em); }
	.menu-open .index-icon { height: 0; }
	.menu-open .index-icon:after { -webkit-transform: rotate(-45deg) translateY(0.125em); -ms-transform: rotate(-45deg) translateY(0.125em); transform: rotate(-45deg) translateY(0.125em); }
}

/* .module - module générique
/* ---------------------------------------- */
.module { 
	position: relative;
	padding-left: 5.555vw;
	padding-left: var(--outer-margin);
	padding-right: 5.555vw;
	padding-right: var(--outer-margin);
}

.module[class*="-bg"]:not(.none-bg) + .module[class*="-bg"]:not(.none-bg):not(.notches) { margin-top: 0; }

.module[class*="top-style"], .module[class*="bottom-style"] { position: relative; }

.module[class*="top-style"]:before,
.module[class*="bottom-style"]:after {
	content: '';
	position: absolute;
		right: 0; left: 0;
		/* z-index: -10; */
	background-repeat: no-repeat;
	background-color: inherit;
	background-size: 100% 100%;
}

.module[class*="top-style"]:before { bottom: 100%; background-position: center top; }
.module[class*="bottom-style"]:after { top: 100%; background-position: center 1px; }

.top-style1:before, .bottom-style1:after { padding-top: 5.1vw; margin-bottom: -2.5vw; }
.top-style1:before { background-image: url('images/top-style1.svg'); }
.bottom-style1:after { background-image: url('images/bottom-style1.svg'); }

.top-style2:before, .bottom-style2:after { padding-top: 10.42vw; }
.top-style2:before { background-image: url('images/top-style2.svg'); }
.bottom-style2:after { background-image: url('images/bottom-style2.svg'); }

.top-style3:before, .bottom-style3:after { padding-top: 4.166vw; margin-bottom: -3.5vw; }
.top-style3:before { background-image: url('images/top-style3.svg'); }
.bottom-style3:after { background-image: url('images/bottom-style3.svg'); }

.top-style4:before, .bottom-style4:after { padding-top: 4.514vw; }
.top-style4:before { background-image: url('images/top-style4.svg'); }
.bottom-style4:after { background-image: url('images/bottom-style4.svg'); }



/* .card
/* ---------------------------------------- */
.card {
	display: block;
	padding: calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 );
	padding: var(--column);
	background-color: #fff;
	overflow: hidden; 
}

.card-image {
	width: calc(100% + 12vw); /* IE11 */
	width: calc(100% + 2px + calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 2);
	width: calc(100% + 2px + var(--column) * 2);
	height: auto;
	margin: -6vw -6vw calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 );
	margin: -6vw -6vw var(--column); /* IE11 */
	margin: calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * -1) calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * -1) calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) - 1rem);
	margin: calc(var(--column) * -1) calc(var(--column) * -1) calc(var(--column) - 1rem);
}

.card-image + .block-header { margin-top: 0; }

@media (max-width: 50em) {
	.card { padding: 3rem; padding: var(--gutter); }
	.card-image {
		width: calc(100% + 2px + 3rem * 2);
		width: calc(100% + 2px + var(--gutter) * 2);
		margin: calc(3rem * -1) calc(3rem * -1) calc(3rem - 1rem);
		margin: calc(var(--gutter) * -1) calc(var(--gutter) * -1) calc(var(--gutter) - 1rem);
	}
}



/* .module-accented-text
/* ---------------------------------------- */
.module-accented-text { text-align: center; }
.module-accented-text > * { 
	-ms-flex-preferred-size: auto; 
	    flex-basis: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 32em;
	grid-column: 3/span 8 
}

.page-header + .module-accented-text { margin-top: 50px; margin-top: 5rem; }

.module-accented-text.align-left, .module-accented-text.align-right { text-align: left; }
.module-accented-text.align-left > * { grid-column-start: 2; }
.module-accented-text.align-right > * { grid-column-start: 4; }

@media (max-width: 64em) {
	.module-accented-text > * { grid-column: 2/span 10; }
}

@media (max-width: 50em) {
	.module-accented-text { display: block; }
}


/* .module-text
/* ---------------------------------------- */
.module-text > * { 
	margin-left: auto;
	margin-right: auto;
	max-width: 36em;
	grid-column: span 6; 
}
.module-text.align-left > * { grid-column: 2/span 6; }
.module-text.align-center > * { grid-column: 4/span 6; }
.module-text.align-right > * { grid-column: span 6/11; }

@media (max-width: 60em) {
	.module-text.align-left > * { grid-column: start/span 8; }
	.module-text.align-center > * { grid-column: 2/span 8; }
	.module-text.align-right > * { grid-column: span 8/end; }
}

@media (max-width: 50em) {
	.module-text.align-left > * { grid-column-end: span 5; }
	.module-text.align-center > * { grid-column: start/span 4; }
	.module-text.align-right > * { grid-column-start: span 5; }
}

@media (max-width: 40em) {
	.module-text { display: block; }
}




/* .module-text-image
/* ---------------------------------------- */
.module-text-image {
	position: relative;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.module-text-image .module-content {
	grid-column: inner-start/center; 
}
.module-text-image.right .module-content { grid-column: center/inner-end; }

.module-text-image img {
	-ms-flex-preferred-size: 30%;
	    flex-basis: 30%;
	position: relative;
		z-index: 10;
	display: block;
	width: 30%;
	height: auto;
}
.module-text-image.left img { 
	margin: 0 auto;
	-webkit-box-ordinal-group: 100;
	    -ms-flex-order: 99;
	        order: 99; 
}
.module-text-image img.floating { filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="40" /><feOffset dx="1" dy="16" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.1)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter'); -webkit-filter: drop-shadow(0 15px 40px rgba(0, 0, 0, .1)); filter: drop-shadow(0 15px 40px rgba(0, 0, 0, .1)); }

@supports (display: grid) {
	.module-text-image[class*="top-style"] {
		padding-top: 10rem;
		padding-top: var(--vspace);
		margin-top: 10rem;
		margin-top: var(--vspace);
	}

	.module-text-image img {
		position: absolute;
		width: calc(50% - calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) - 3rem / 2);
		width: calc(50% - var(--column) - var(--gutter) / 2);
		height: 100%;
		-o-object-fit: contain;
		   object-fit: contain;
	}
	.module-text-image.left img { left: calc(50% + 3rem / 2); left: calc(50% + var(--gutter) / 2); }
	.module-text-image.right img { right: calc(50% + 3rem / 2); right: calc(50% + var(--gutter) / 2); }

	.module-text-image.left img, .module-text-image.right img { 
		float: none;
		margin-left: 0;
		margin-right: 0;
	}

	.module-text-image[class*="top-style"] img { margin-top: -5rem; }
}

@media (min-width: 91em) {
	.module-text-image img { width: calc(50% - calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 2 - 3rem / 2); width: calc(50% - var(--column) * 2 - var(--gutter) / 2); }
	.module-text-image .module-content { grid-column: 3/center; }
	.module-text-image.right .module-content { grid-column: center/11; }
}

@media (max-width: 50em) {
	@supports (display: grid) {
		.module-text-image { display: block; }
		.module-text-image img { position: static; width: calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 3 + 3rem * 2); width: calc(var(--column) * 3 + var(--gutter) * 2); }
		.module-text-image.left img { float: right; margin-left: 3rem; margin-left: var(--gutter); }
		.module-text-image.right img { float: left; margin-right: 3rem; margin-right: var(--gutter); }
		.module-text-image img.floating { margin-top: calc(10rem * -1); margin-top: calc(var(--vspace) * -1); margin-bottom: 3rem; margin-bottom: var(--gutter); }
	}
}

@media (max-width: 40em) {
	.module-text-image[class*="top-style"] {
		padding-top: 1px;
		margin-top: calc(15vh + 10rem);
		margin-top: calc(15vh + var(--vspace));
	}

	.module-text-image img {
		display: block;
		max-width: 100%;
		width: auto;
		height: 30vh;
		margin: -15vh auto calc(10rem / 2) !important;
		margin: -15vh auto calc(var(--vspace) / 2) !important;

		-webkit-transform: none !important;

		    -ms-transform: none !important;

		        transform: none !important;
	}

	.module-text-image img.floating { float: none; }
}



/* .module-aside
/* ---------------------------------------- */
.module-aside { 
	position: relative; 
	-webkit-box-align: center; 
	    -ms-flex-align: center; 
	        align-items: center;
}
.dark-bg + .module-aside, .alt-bg + .module-aside { margin-top: 0; }

.module-aside .card {
	grid-column: inner-start/right-center;
	position: relative;
	margin-top: 150px;
	margin-top: 15rem;
	padding-top: 0;
	overflow: visible;
}

.module-aside .card:before {
	content: '';
	position: absolute;
		right: 0; bottom: calc(100% - 1px); left: 0;
	height: 180px;
	height: 18rem;
	background: url('images/aside-top.svg') no-repeat center top;
	background-size: 100% 100%;
}

.module-aside img {
	-ms-flex-preferred-size: 30%;
	    flex-basis: 30%;
	position: relative;
		z-index: 10;
	display: block;
	width: 30%;
	height: auto;
}
.module-aside.left img { 
	margin: 0 auto;
	-webkit-box-ordinal-group: 100;
	    -ms-flex-order: 99;
	        order: 99; 
}

@supports (display: grid) {
	.module-aside img {
		position: absolute;
			z-index: 10;
		width: calc(50% - calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) *2);
		width: calc(50% - var(--column) *2);
		height: 100%;
		-o-object-fit: contain;
		   object-fit: contain;
	}
	.module-aside.left img { left: calc(50% + 3rem + calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) / 2); left: calc(50% + var(--gutter) + var(--column) / 2); }
	.module-aside.right img { right: calc(50% + 3rem + calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) / 2); right: calc(50% + var(--gutter) + var(--column) / 2); }
	.module-aside img.floating { filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="40" /><feOffset dx="1" dy="16" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.1)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter'); -webkit-filter: drop-shadow(0 15px 40px rgba(0, 0, 0, .1)); filter: drop-shadow(0 15px 40px rgba(0, 0, 0, .1)); }

	.module-aside[class*="top-style"] img { margin-top: -5rem; }
}

.module-aside .mask-image {
	position: absolute;	
		top: 160px;	
		top: 16rem; right: 8%; bottom: 0;
		z-index: -1;
	height: calc(100% - 15rem);
	max-width: 75%;
}

@media (min-width: 91em) {
	.module-aside .card { grid-column: inner-start/center; }
}

@media (max-width: 64em) {
	.module-aside .card { grid-column-end: span 7; padding-top: calc(3rem / 2); padding-top: calc(var(--gutter) / 2);  }	
	.module-aside.left img { left: auto; right: 5.555vw; right: var(--outer-margin); }
	.module-aside.right img { right: auto; left: 5.555vw; left: var(--outer-margin); }
}

@media (max-width: 50em) {
	.module-aside .card { grid-column-end: span 4; }
	.module-aside .mask-image { right: 0; }
}

@media (max-width: 42em) {
	.module-aside { display: block; }
	.module-aside .mask-image, .module-aside img { display: none; }

	.module-aside .card { margin-top: calc(10rem * 1.25); margin-top: calc(var(--vspace) * 1.25); }
	.module-aside .card:before { height: calc(10rem * 1.5); height: calc(var(--vspace) * 1.5) }
}


/* .module-gallery
/* ---------------------------------------- */
.module-gallery {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	/* margin: calc(var(--gutter) / 2 * -1); */
	padding-left: calc(5.555vw - 3rem / 2);
	padding-left: calc(var(--outer-margin) - var(--gutter) / 2);
	padding-right: calc(5.555vw - 3rem / 2);
	padding-right: calc(var(--outer-margin) - var(--gutter) / 2);
}

.module-gallery > div {
	-webkit-box-flex: 1;
	    -ms-flex: 1 0 230px;
	        flex: 1 0 230px;
	-ms-flex: 1 0 23rem;
	    flex: 1 0 23rem;
	margin: calc(3rem / 2);
	margin: calc(var(--gutter) / 2);
}

.module-gallery img {
	display: block;
	width: 100%;
	height: auto;
}



/* .module-image
/* ---------------------------------------- */
.module-image img { 
	grid-column: span 8; 
	width: 100%;
	height: auto;
}
.module-image.align-right img { grid-column: span 8/12 }



/* .module-scrollcards
/* ---------------------------------------- */
.module.module-scrollcards {
	margin-top: 0;
	padding-top: 100px;
	padding-top: 10rem;
	padding-top: var(--vspace);
}

.module-scrollcards > header {
	grid-column: start/center;
	margin: calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) 0;
	margin: var(--column) 0;
}

.module-scrollcards .sticky-header {
	position: -webkit-sticky;
	position: sticky;
	top: calc(10rem + calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ));
	top: calc(var(--vspace) + var(--column));
}

.module-scrollcards .main-header { text-align: left; }

.scrollcards { 
	grid-column: center/end;
	margin: 0;
	padding-left: 0; 
}

.scrollcards .card:before { display: none; }
.scrollcards .card + .card { margin-top: 30px; margin-top: 3rem; }

.module-scrollcards .sticky-bg {
	position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
		z-index: -1;
}

.module-scrollcards .mask-image {
	position: -webkit-sticky;
	position: sticky;
		top: calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 );
		top: var(--column);
	height: calc(100vh - calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 2);
	height: calc(100vh - var(--column) * 2);
	max-height: 100%;
	width: 100%;
	margin: calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) auto;
	margin: var(--column) auto;
}

@media (min-width: 91em) {
	.module-scrollcards > header { grid-column: inner-start/center }
	.scrollcards { grid-column: center/inner-end; }
}

@media (max-width: 50em) {
	.module-scrollcards { display: block; }
	.module-scrollcards > header { margin-top: 0; margin-bottom: 5rem; }
	.module-scrollcards .mask-image { display: none }
}



/* .clients
/* ---------------------------------------- */
.module.clients {
	padding-top: 100px;
	padding-top: 10rem;
	padding-top: var(--vspace);
	padding-bottom: 100px;
	padding-bottom: 10rem;
	padding-bottom: var(--vspace);
}
.clients:before { color: #262626; color: var(--text-color) }

.clients > h2 {
	grid-column: 2/5;
	-ms-flex-item-align: center;
	    align-self: center;
	margin: 0;
	font-weight: normal;
}
.clients > h2 .block-header { display: block; }

.clients > ul {
	grid-column: left-center/inner-end;
	display: grid;
		grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
		grid-gap: 3rem;
		grid-gap: var(--gutter);
	margin-top: 0;
	padding-left: 0;
}

.clients li {
	-ms-flex-item-align: center;
	    align-self: center;
	margin: 0;
}
.clients li:before { display: none; }

.clients li img {
	display: block;
	margin: auto;
	width: 100%; 
		max-width: 120px; 
		max-width: 12rem;
	height: 100%; 
		height: 50px; 
		height: 5rem;
}

@media (max-width: 50em) {
	.module.clients { display: block; }
	.clients > h2 { text-align: center; }
	.clients > ul { margin-top: 5rem; }

	.clients li + li { margin-top: 3rem; margin-top: var(--gutter); }
	@supports (display: grid) {
		.clients li + li { margin-top: 0; }
	}
}



/* .next-page
/* ---------------------------------------- */
.next-page {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	height: 70vh;

	background-position: center;
	background-size: cover;
}
.next-page:before {
	content: '';
	position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
	width: auto;
	height: auto;
	background: #262626;
	background: var(--text-color);
	opacity: 0.55;
}

.next-page > * {
	position: relative;
	z-index: 10;
}

.next-page a {
	color: inherit;
	text-decoration: none;
}
/* Accueil
/* ---------------------------------------- */
.template-home .page-header h1 {
	margin-left: auto;
	margin-right: auto;
	max-width: 14em;
}

.home-header-tag {
	z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 30em;
	margin: 0 auto;
	background: url('images/piece.png') no-repeat center;
	background-color: #262626;
	background-color: var(--text-color);
	background-size: auto 55%;
	background-clip: padding-box;

	font-size: 11px;
	font-size: 1.1rem;
	line-height: 1.25;
	letter-spacing: 0.05em;
	color: #fff;
}
.home-header-tag:before, .home-header-tag:after {
	top: auto;
	height: 11.5px;
	height: 1.15rem;
}
.home-header-tag > * {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 50%;
	        flex: 1 1 50%;
	margin: 0 20px;
	margin: 0 2rem;
}
.home-header-tag > :first-child { margin-right: 50px; margin-right: 5rem; }
.home-header-tag > :last-child { margin-left: 50px; margin-left: 5rem; }

.module.home-projects { 
	margin-top: -80px; 
	margin-top: -8rem; 
	padding-bottom: 0;
}
.home-projects div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	position: relative;
		z-index: 10;
	min-height: 35vmax;
	margin-bottom: calc(10rem * -1);
	margin-bottom: calc(var(--vspace) * -1);
	padding: calc(10rem * 1.5) calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 );
	padding: calc(var(--vspace) * 1.5) var(--column);
	background-color: #333;

	text-align: center;
}

.module.home-about { padding-top: calc(10rem * 2); padding-top: calc(var(--vspace) * 2); }
.home-about .content {
	grid-column: inner-start/left-center;
	-ms-flex-item-align: center;
	    align-self: center;
}
@supports (display: grid) {
	.home-about .content { margin-left: -3rem; }
}
.home-about .mask-image {
	grid-column: left-center/end;
	-ms-flex-item-align: center;
	    align-self: center;
	justify-self: center;
	width: 90%;
}

.home-services { 
	position: relative;
	z-index: 10;
	padding-top: 100px;
	padding-top: 10rem;
	padding-top: var(--vspace); 
	-ms-flex-wrap: nowrap; 
	    flex-wrap: nowrap;
}
.home-services header { grid-column: start/left-center; }
.home-services .main-header { text-align: left; }
.home-services .card { 
	max-width: 40%;
	margin-left: auto;
	grid-column: right-center/end; 
}
@supports (display: grid) {
	.home-services .card { max-width: none; }
}
.home-services .mask-image {
	position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
		z-index: -1;
	width: 100%;
	height: calc(100% + 12rem);
}

.module.home-discover {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	margin-bottom: -50px;
	margin-bottom: -5rem;
	padding-top: 100px;
	padding-top: 10rem;
	padding-top: var(--vspace);
	padding-bottom: 50px;
	padding-bottom: 5rem;

	text-align: center;
}
.home-discover .subheader { margin-bottom: 0; }
.home-discover .main-header { color: #F7DA0A; color: var(--accent-color); }
.home-discover .mask-image {
	height: 200px;
	height: 20rem;
	margin-top: 70px;
	margin-top: 7rem;
}

.template-home .module.clients {
	margin-top: 0;
}

.home-law .card {
	grid-column: inner-start/center;

	font-size: 15.5px;
	font-size: 1.55rem;
	line-height: 1.5;
}
.home-law .button { font-size: 14px; font-size: 1.4rem; }


@media (min-width: 91em) {
	.home-services header { grid-column: 2/6; }
	.home-services .card { grid-column: center/inner-end; }
}

@media (max-width: 65em) {
	.home-about .content { grid-column-end: center; margin-left: 0; }
	.home-about .mask-image { grid-column-start: center; }
	.home-services .card { grid-column-start: center; }
}

@media (max-width: 50em) {
	.home-about .mask-image { width: 100%; }
	.home-services { display: block; padding-top: 0; }
	.home-services header { margin-bottom: 5rem; }
	.home-services .card { max-width: none; }
	.home-services .mask-image { display: none; }
	.home-law .card { grid-column-end: span 4; }
}

@media (max-width: 42em) {
	.home-about { display: block; }	
	.home-about .content { margin-bottom: 10rem; margin-bottom: var(--vspace); }
}

@media (max-width: 30em) {
	.home-discover .mask-image { height: 10rem; margin-top: 10rem; margin-top: var(--vspace) }
}



/* Réalisations
/* ---------------------------------------- */
.module.case-studies {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	grid-gap: 3rem;
	grid-auto-rows: minmax(calc((calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 3 + 3rem * 2) * 1.3), -webkit-max-content);
	grid-auto-rows: minmax(calc((calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 3 + 3rem * 2) * 1.3), max-content);
	grid-auto-rows: minmax(calc((var(--column) * 3 + var(--gutter) * 2) * 1.3), -webkit-max-content);
	grid-auto-rows: minmax(calc((var(--column) * 3 + var(--gutter) * 2) * 1.3), max-content);
}
.module.case-studies:before { 
	bottom: auto; 
	top: 0; 
	z-index: 0; 
	border-top: 50px solid #ECECEC; 
	border-top: 5rem solid #ECECEC; 
	border-top: 50px solid var(--background-color); 
	border-top: 5rem solid var(--background-color);
}

.case {
	-ms-flex-preferred-size: 31.5%;
	    flex-basis: 31.5%;
	grid-column-end: span 3;
	margin: 0 0 0 2.74%;
	padding: 0;
	-webkit-transition: -webkit-box-shadow 0.25s;
	transition: -webkit-box-shadow 0.25s;
	-o-transition: box-shadow 0.25s;
	transition: box-shadow 0.25s;
	transition: box-shadow 0.25s, -webkit-box-shadow 0.25s;
	-webkit-transition: -webkit-box-shadow var(--default-transition-duration);
	transition: -webkit-box-shadow var(--default-transition-duration);
	-o-transition: box-shadow var(--default-transition-duration);
	transition: box-shadow var(--default-transition-duration);
	transition: box-shadow var(--default-transition-duration), -webkit-box-shadow var(--default-transition-duration);
	margin-top: 30px;
	margin-top: 3rem;
	margin-top: var(--gutter);

	height: 450px;
	height: 45rem;
}
.case:nth-child(3n+1) { margin-left: 0; }
.case:hover { -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, .2); box-shadow: 0 5px 20px rgba(0, 0, 0, .2); }
@supports (display: grid) {
	.case { 
		margin: 0;
		height: auto;
	}
}

.case a {
	position: relative;
		z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 30px;
	padding: 3rem;
	padding: var(--gutter);
	border-bottom: none;

	color: inherit; 
	text-decoration: none; 
}

.case .subheader { 
	-webkit-box-ordinal-group: 0; 
	    -ms-flex-order: -1; 
	        order: -1; 
	margin-top: 0;
}

.case .block-header { 
	-webkit-box-flex: 1; 
	    -ms-flex-positive: 1; 
	        flex-grow: 1;
	font-size: 20px;
	font-size: 2rem; 
}

.case .summary { 
	-webkit-box-flex: 1; 
	    -ms-flex-positive: 1; 
	        flex-grow: 1;
	display: none; 
}

.case .button-link { 
	-ms-flex-item-align: start; 
	    align-self: flex-start;
}

.projects { margin-top: 0; }

.project-map {
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	position: relative;
	height: 60vh;
	padding: 100px 5.555vw;
	padding: 10rem 5.555vw;
	padding: var(--vspace) var(--outer-margin);
}
.module.project-map:before {
	bottom: auto;
	top: 0;
	z-index: 10;
	background-image: url('images/map-top.svg');
}

.project-map header {
	position: relative;
		z-index: 10;
	width: 50%;
	pointer-events: none;
}

.project-map .main-header { text-align: left; }

.project-map .map {
	position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
}
#project-map button:before { display: none; }

.project-list { 
	margin-top: 0;
	padding-left: 0; 
	line-height: 1.4;
}

.project-list li:before { display: none; }
.project-list li + li {
	margin-top: 0;
	border-top: 1px solid #fff;
}

.project-list a {
	position: relative;
	display: block;
	padding: 15px 0;
	padding: 1.5rem 0;
	border-bottom: none;
}
.project-list a:after {
	content: '';
	position: absolute;
		top: -2px; right: 0; bottom: -2px; left: 0;
		z-index: -1;
	background-color: #fff;
	opacity: 0;

	-webkit-transition: all 0.25s;

	-o-transition: all 0.25s;

	transition: all 0.25s;

	-webkit-transition: all var(--default-transition-duration);

	-o-transition: all var(--default-transition-duration);

	transition: all var(--default-transition-duration);
}
.project-list a:hover:after {
	left: -30px;
	left: -3rem;
	right: -30px;
	right: -3rem;
	opacity: 1;
}

.project-list dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}
.project-list dl > * { 
	-ms-flex-negative: 0; 
	    flex-shrink: 0;
	padding: 0 15px;
	padding: 0 1.5rem; 
}

.project-list dt { 
	-webkit-box-flex: 1; 
	    -ms-flex: 1 1 auto; 
	        flex: 1 1 auto;
	padding-left: 0; 
}

.project-list .project-category, .project-list .project-location { width: 23% }

.project-list .project-year { 
	width: 7em;
	padding-right: 0;
}
/*



	Project pagination	
*/
#project-list-trigger {
	display: none;
	margin: 40px auto 0;
	margin: 4rem auto 0;
	-webkit-transition-delay: opacity 3s;
	     -o-transition-delay: opacity 3s;
	        transition-delay: opacity 3s;
	outline: none;
}

#project-list-trigger:after {
	-webkit-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	        transform: rotate(90deg);
	text-indent: 0.25em;
}

.project-list.paginate {
	position: relative;
	overflow: hidden;
	padding-bottom: 50px;
	padding-bottom: 5rem;
}

.project-list.paginate:after {
	content: '';
	position: absolute;
	bottom:0;
	left:0;right:0;
	height: 100px;
	height: 10rem;
	background: -o-linear-gradient(top, rgba(236, 236, 236, 0) 0%,rgba(236, 236, 236, 1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(236, 236, 236, 0)),to(rgba(236, 236, 236, 1)));
	background: linear-gradient(to bottom, rgba(236, 236, 236, 0) 0%,rgba(236, 236, 236, 1) 100%); 
}

.project-list.paginate + #project-list-trigger {
	display: block;
}
.project-list.end-pagination + #project-list-trigger {
	opacity: 0.5;
	cursor: not-allowed;
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /></filter></svg>#filter');
	-webkit-filter: grayscale(100%);
	        filter: grayscale(100%);
}




.template-projects .module.clients {
	z-index: 10;
	margin-bottom: -20px;
	margin-bottom: -2rem;
}

#project-map > div:first-child { background-color: #fff !important; }

.filter-bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 30px 0;
	padding: 3rem 0;
	border-bottom: 1px solid #fff;
}

.filter-bar > * + * { margin-left: 5px; margin-left: 0.5rem; }

.filter-bar .subheader, .filter-tag {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	height: 60px;
	height: 6rem;
	padding: 10px 20px;
	padding: 1rem 2rem;
}

.filter-bar .subheader {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	margin: 0;
	background: #262626;
	background: var(--text-color);
	color: #fff;
}

input.filter { position: absolute; opacity: 0; z-index: -1; }

.filter-tag {
	padding-right: 25px;
	padding-right: 2.5rem;
	background-color: #fff;
	-webkit-transition: all 0.25s;
	-o-transition: all 0.25s;
	transition: all 0.25s;
	-webkit-transition: all var(--default-transition-duration);
	-o-transition: all var(--default-transition-duration);
	transition: all var(--default-transition-duration);

	line-height: 1.3;

	cursor: pointer;
}
:checked ~ .filter-tag {
	background-color: #262626;
	background-color: var(--text-color);
	color: #fff;
}

.filter-tag .sprite { margin-right: 0.75em; }
:checked ~ .filter-tag .sprite { color: #F7DA0A; color: var(--accent-color); }


@media (min-width: 50.1em) and (max-width: 63.99em) {
	.case { 
		grid-column-end: span 4; 
		height: calc((calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 4 + 3rem * 3) * 1.3); 
		height: calc((var(--column) * 4 + var(--gutter) * 3) * 1.3);
	}
}

@media (min-width: 64em) {
	@supports (display: grid) {
		.case:first-child:not(:nth-last-child(3)),
		.case:last-child:nth-child(2),
		.case:nth-child(6) {
			grid-row-end: span 2; 
			grid-column-end: span 6;
		}
		.case:first-child:nth-last-child(3),
		.case:nth-child(2):nth-last-child(2),
		.case:last-child:nth-child(3) {
			grid-column-end: span 4;
			height: calc((calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 4 + 3rem * 3) * 1.3);
			height: calc((var(--column) * 4 + var(--gutter) * 3) * 1.3);
		}
		.case:nth-child(6) {
			grid-row-start: 2;
			grid-column-start: center;
		}
		.case:first-child:not(:nth-last-child(3)) .block-header,
		.case:last-child:nth-child(2) .block-header,
		.case:nth-child(6) .block-header { 
			-webkit-box-flex: 0; 
			    -ms-flex-positive: 0; 
			        flex-grow: 0;
			margin-top: 5rem;
			font-size: 4.3rem;
		}

		.case .summary { display: none; }
		.case:first-child:nth-last-child(3) .summary,
		.case:last-child:nth-child(3) .summary,
		.case:first-child:not(:nth-last-child(3)) .summary,
		.case:nth-child(2):nth-last-child(2) .summary,
		.case:last-child:nth-child(2) .summary,
		.case:nth-child(6) .summary {
			display: block;
		}
	}
}

@media (max-width: 50em) {
	.project-map { height: auto; }
	.project-map header { 
		position: static;
		width: 100%; 
		margin-bottom: 5rem;
	}

	.project-map .map {
		position: relative;
		height: 80vh;
		margin-left: calc(5.555vw * -1);
		margin-left: calc(var(--outer-margin) * -1);
		margin-right: calc(5.555vw * -1);
		margin-right: calc(var(--outer-margin) * -1);
	}

	.filter-bar { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
	.filter-bar > * + * { margin-left: 0; margin-top: 0.5rem; }
	.filter-tag { width: 100%; }

	.project-list a:hover:after { left: calc(5.555vw / 2 * -1); left: calc(var(--outer-margin) / 2 * -1); right: calc(5.555vw / 2 * -1); right: calc(var(--outer-margin) / 2 * -1); }
	.project-list dl { display: block; }
	.project-list dt { 
		float: left; 
		width: calc(50% - 3rem / 2); 
		width: calc(50% - var(--gutter) / 2); 
	}
	.project-list dl > dd[class] { width: 100%; padding: 0 0 0 calc(50% + 3rem / 2); padding: 0 0 0 calc(50% + var(--gutter) / 2); }
}

@media (max-width: 30em) {
	.case { 
		grid-column-end: span 6;
		height: calc((calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 6 + 3rem * 5) * 1.3);
		height: calc((var(--column) * 6 + var(--gutter) * 5) * 1.3);
		margin-left: 0;
	}
}

@media (max-width: 30em) {
	.project-list dt { 
		float: none; 
		width: 100%; 
		margin-bottom: 0.5em;
		font-weight: bold; 
	}
	.project-list dl > dd[class] { padding-left: 0; }
}



/* À propos
/* ---------------------------------------- */
.team-members { 
	position: relative;
		z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	margin: calc((3rem * -1) / 2);
	margin: calc((var(--gutter) * -1) / 2);
	padding-left: 0;
}

.team-members li {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 4 + 3rem * 3);
	        flex: 0 0 calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 4 + 3rem * 3);
	-ms-flex: 0 0 calc(var(--column) * 4 + var(--gutter) * 3);
	    flex: 0 0 calc(var(--column) * 4 + var(--gutter) * 3);
	margin: calc(3rem / 2);
	margin: calc(var(--gutter) / 2);
}

.team-members li:before {
	display: none;
}

.team-members li p {
	z-index: 0;
	margin-top: -20px;
	background-color: #fff;

	font-size: 15.5px;
	font-size: 1.55rem;
	line-height: 1.3;
	text-align: center;
}

.team-members svg {
	display: block;
	margin: auto;
	max-width: 15em;
	height: auto;
}

.module.team-affiliations { 
	padding-top: 130px; 
	padding-top: 13rem; 
	margin-top: -50px; 
	margin-top: -5rem; 
}

.team-affiliations .secondary-header { 
	grid-column: inner-start/center; 
}
.team-affiliations > ul { 
	grid-column: center/inner-end; 
	margin-top: 0;
}

.award-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	margin: calc(3rem / 2 * -1);
	margin: calc(var(--gutter) / 2 * -1);
	padding-left: 0;
}
.award-list.slider-active { 
	position: relative;
	display: block; 
	margin: 0 calc(5.555vw * -1); 
	margin: 0 calc(var(--outer-margin) * -1);
	padding: 0 calc(5.555vw - 3rem / 2);
	padding: 0 calc(var(--outer-margin) - var(--gutter) / 2);
}

.slider-control {
	position: absolute;
		top: 0; bottom: 0;
	margin: auto;
	padding: 10px;
	padding: 1rem;
	background-color: #262626;
	background-color: var(--text-color);

	font-size: 10px;
	font-size: 1rem;
	text-align: center !important;
	color: #fff;
}
.slider-control:hover, .slider-control:focus {
	background-color: #F7DA0A;
	background-color: var(--accent-color);
	color: inherit;

	-webkit-transition: all 0.25s;

	-o-transition: all 0.25s;

	transition: all 0.25s;
	-webkit-transition-delay: 0;
	     -o-transition-delay: 0;
	        transition-delay: 0;
}
.slider-control:before, .slider-control:after { display: none; }
.slider-prev { left: 0; }
.slider-prev.slider-control-disabled { -webkit-transform: translateX(-100%); -ms-transform: translateX(-100%); transform: translateX(-100%); }
.slider-next { right: 0; }
.slider-next.slider-control-disabled { -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); }

.award-list.slider-active > div { display: -webkit-box; display: -ms-flexbox; display: flex; }
.award-list.slider-active > div > div > * { height: calc(100% - 20px); }

.award-list .card {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 calc(50% - 3rem);
	        flex: 0 0 calc(50% - 3rem);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	margin: 15px;
	margin: 1.5rem;
	padding-top: 50px;
	padding-top: 5rem;
	padding-bottom: 80px;
	padding-bottom: 8rem;
	overflow: visible;

	text-align: center;
	line-height: 1.45;
}

/* Fix du style .tag pour les li */
.award-list .card:before { width: auto; height: auto; }

.award-year {
	position: absolute;
	right: 0; bottom: 10px; bottom: 1rem; left: 0;

	color: #D2B58C;

	color: var(--alt-background-color);
	font-style: normal;
}


.award-list .card .award-year + * { margin-top: 0; }
.award-list .card p { margin-bottom: 0; }
.award-list .card * + p { margin-top: 40px; margin-top: 4rem; }

.award-list .card strong { 
	font-size: 22px; 
	font-size: 2.2rem; 
	line-height: 1.3;
}

.award-list .card ul { padding-left: 0; }

.award-list .card li { margin-top: 10px; margin-top: 1rem; }
.award-list .card li:before { display: none; }

.awards .mask-bottom {
	position: absolute;
		right: 0; bottom: 0; left: 0;
		z-index: -1;
	height: 200px;
	height: 20rem;
	width: 100%;
}

@media (min-width: 90em) {
	.team-members li { -ms-flex-preferred-size: calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 3 + 3rem * 2); flex-basis: calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 3 + 3rem * 2); -ms-flex-preferred-size: calc(var(--column) * 3 + var(--gutter) * 2); flex-basis: calc(var(--column) * 3 + var(--gutter) * 2); }
}

@media (max-width: 64em) {
	.team-affiliations .secondary-header { grid-column: start/center; }
	.team-affiliations > ul { grid-column: center/end; }
}

@media (max-width: 50em) {
	.team-members li { -ms-flex-preferred-size: calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 3 + 3rem * 2); flex-basis: calc(calc( (100vw - (12 - 1) * 3rem - 5.555vw * 2) / 12 ) * 3 + 3rem * 2); -ms-flex-preferred-size: calc(var(--column) * 3 + var(--gutter) * 2); flex-basis: calc(var(--column) * 3 + var(--gutter) * 2); }
}

@media (max-width: 44em) {
	.team-affiliations { display: block; }
}

@media (max-width: 38em) {
	.team-members { display: block; margin: 0; }	
	.team-members li { margin: 0; }	
	.team-members li + li { margin-top: 3rem; margin-top: var(--gutter); }	
}

@media (max-width: 30em) {
	.awards .mask-bottom { height: 10rem; }
}



/* Contact
/* ---------------------------------------- */
.contact-infos > * {
	margin-top: 0;
	margin-bottom: 0;
}

.contact-infos .module-accented-text {
	grid-column: inner-start/left-center;
	margin-right: -30px;
	margin-right: -3rem;
	padding: 0;
	text-align: left;
}

.contact-infos dl {
	grid-column: center/end;
}

.contact-infos dt { color: #AD8F66; color: var(--alt-text-color); }
.contact-infos dd + dt { margin-top: 30px; margin-top: 3rem; }

.contact-infos dd { margin-left: 0; }

.contact-large {
	font-size: 45px;
	font-size: 4.5rem;
	line-height: 1;
}

.contact-large a { border: none; }

.contact-form > * { position: relative; z-index: 10; }

.contact-form .main-header {
	grid-column: inner-start/center;
	text-align: left;
}

.contact-form form {
	grid-column: center/inner-end;
	background-color: #fff;
}

.contact-form form p {
	position: relative;
	margin: 0;
}
.contact-form form p + p {
	border-top: 2px solid #D2B58C;
	border-top: 2px solid var(--alt-background-color);
}
.contact-form form p:last-child { 
	padding: 20px; 
	padding: 2rem; 
	border-top: none; 
}

.contact-form form label {
	position: absolute;
		top: 12.5px;
		top: 1.25rem; left: 20px; left: 2rem;
	line-height: 1;
}

.contact-form form input, 
.contact-form form textarea, 
.contact-form form select {
	padding: 35px 20px 10px;
	padding: 3.5rem 2rem 1rem;
}
.contact-form form select { background-position: bottom 17.5px right 25px; background-position: bottom 1.75rem right 2.5rem; }

.contact-form .field-error {
	display: block;
	margin: -4px 4px 4px;
	padding: 0 calc(2rem - 4px) 1rem;
	background-color: rgba(234, 89, 73, .1);

	line-height: 1.2;	
}

.contact-form .mask-image {
	position: absolute;	
		left: 8%; bottom: -20px; bottom: -2rem;
		z-index: 0;
	height: calc(100% - 15rem);
	max-width: 75%;
}

@media (min-width: 91em) {
	.contact-infos .module-accented-text { 
		grid-column: 3/center; 
		margin-right: 0;
	}
	.contact-infos dl { grid-column: right-center/end; }
}

@media (max-width: 64em) {
	.contact-infos .module-accented-text { grid-column-start: start; margin-right: 0; }
	.contact-form .main-header { grid-column-start: start; }
	.contact-form form { grid-column-end: end; }
}

@media (max-width: 57em) {
	.contact-large { font-size: 3.2rem; }
}

@media (max-width: 50em) {
	.contact-form { display: block; }
}

@media (max-width: 44em) {
	.contact-infos { display: block; text-align: center; }
	.contact-infos .module-accented-text { 
		margin-bottom: 3rem; 
		text-align: inherit;
	}
}



/* Étude de cas
/* ---------------------------------------- */
.case-header, .case-title .main-header { text-align: left; }

.case-title, .case-meta {
	grid-column: inner-start/left-center;
	margin: 0 calc(3rem * -1);
	margin: 0 calc(var(--gutter) * -1);
}

.case-title { padding: calc(10rem / 2) 0 calc(10rem - 2.55vw); padding: calc(var(--vspace) / 2) 0 calc(var(--vspace) - 2.55vw); }

.case-title .main-header { margin-bottom: 0; }

.case-header .case-cover {
	grid-column: center/end;
	grid-row: 1/span 2;
	position: relative;
}
.case-header .case-cover img {
	position: absolute;
		top: 0; left: 0;
	-o-object-fit: cover;
	   object-fit: cover;
	width: 100%;
	height: 100%;
}

.case-header .case-meta {
	grid-row: 2;
	padding: calc(10rem + 2.55vw) 0 0;
	padding: calc(var(--vspace) + 2.55vw) 0 0;
	color: #fff;
}

.case-header dt { color: #D2B58C; color: var(--alt-background-color) }
.case-header dd + dt { margin-top: 20px; margin-top: 2rem; }

.case-header:after {
	content: '';
	grid-column: start/end;
	grid-row: 2;
	z-index: -1;
	margin: 0 calc(5.555vw * -1) calc(10rem * -1);
	margin: 0 calc(var(--outer-margin) * -1) calc(var(--vspace) * -1);
	background: url('images/top-style1.svg') no-repeat center top;
	background-size: 100% auto;
	background-color: #262626;
	background-color: var(--text-color);
}

.case-highlights {
	grid-column: center/end;
	margin: 0;
	padding: 80px 0 90px;
	padding: 8rem 0 9rem; 
	text-align: center;
}
.case-highlights li + li { 
	margin-top: 40px; 
	margin-top: 4rem;
	padding-top: 30px;
	padding-top: 3rem;
	border-top: 1px solid #fff; 
}
.case-highlights li:before { display: none; }
.case-highlights strong { display: block; }

.case-map {
	grid-column: start/center;
	margin-left: calc(5.555vw * -1);
	margin-left: calc(var(--outer-margin) * -1);
	background: #fff;
}

@media (max-width: 64em) {
	.case-title, .case-meta { 
		grid-column-end: center; 
		margin-left: 0; 
		margin-right: 0; 
	}
	.case-title { padding-top: 0; }
}

@media (max-width: 50em) {
	.case-header { display: block; }
	.case-header .case-cover img { 
		display: block;
		position: relative; 
		height: 50vh; 
	}
	.case-header .case-title { padding-bottom: 5rem; }
	.case-header .main-header + p { margin-top: 0; }
	.case-header .case-meta { padding-top: 0; margin-top: 5rem; }

	.case-header:after {
		position: absolute;
			bottom: 0; right: 0; left: 0; top: 50%;
		margin-left: 0;
		margin-right: 0;
	}

	.case-infos { display: block; }
	.case-map { 
		height: 50vh; 
		margin-right: calc(5.555vw * -1); 
		margin-right: calc(var(--outer-margin) * -1); 
	}
	.case-highlights { padding-top: 5rem; padding-bottom: 0; }
}

.next-page + .discover-page { margin-top: -20px; margin-top: -2rem; }
.discover-page .discover-bg {
	-ms-flex-preferred-size: 48.5%;
	    flex-basis: 48.5%;
	grid-column: center/12;
	background: url('images/objects.png') no-repeat center;
	background-size: contain;

	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="14" /><feOffset dx="1" dy="8" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.15)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');

	-webkit-filter: drop-shadow(0 7px 14px rgba(0, 0, 0, .15));

	        filter: drop-shadow(0 7px 14px rgba(0, 0, 0, .15));
}
@supports (display: grid) {
	.discover-page .discover-bg {
		padding-top: 66.666%;
		margin-right: -3rem;
	}
}

.discover-page .content {
	grid-column: 2/left-center;
	-ms-flex-item-align: center;
	    align-self: center;
}
@supports (display: grid) {
	.discover-page .content {
		margin: 0 calc(3rem * -1);
		margin: 0 calc(var(--gutter) * -1);
	}
}

.copyright-credits {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;

	padding-top: 25px;
	padding-top: 2.5rem;
	padding-bottom: 25px;
	padding-bottom: 2.5rem;
}

.copyright-credits > * {
	margin: 0;
}

@media (max-width: 64em) {
	.discover-page .content {
		grid-column-end: center;
		margin-right: 0;
	}
	.copyright-credits { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
	.site-credits { margin-top: 1rem; }
}

@media (max-width: 50em) {
	.footer-nav .discover-page { 
		display: block; 
		padding-left: 5.555vw; 
		padding-left: var(--outer-margin); 
		padding-right: 5.555vw; 
		padding-right: var(--outer-margin); 
	}
	.discover-page .content { margin-left: 0; }
	.discover-page .discover-bg { display: none; }
}
.galletita-box {
    --galletita-display: block;
    --galletita-max-width: 32em;
    --galletita-padding: 30px;
    --galletita-padding: 3rem;
    --galletita-position-bottom: calc(5.555vw * 0.5);
    --galletita-position-bottom: calc(var(--outer-margin) * 0.5);
    --galletita-position-right: calc(5.555vw * 0.5);
    --galletita-position-right: calc(var(--outer-margin) * 0.5);
    --galletita-box-shadow: 0 15px 40px rgba(0, 0, 0, .1);
    --galletita-z: 1010;
    opacity: 0;
    opacity: var(--galletita-box-opacity, 0);
    -webkit-transform: translateY(5px);
        -ms-transform: translateY(5px);
            transform: translateY(5px);
    -webkit-transform: translateY(var(--galletita-box-translateY, 5px));
        -ms-transform: translateY(var(--galletita-box-translateY, 5px));
            transform: translateY(var(--galletita-box-translateY, 5px));
    -webkit-transition: opacity 0.25s ease,
        -webkit-transform 0.25s ease;
    transition: opacity 0.25s ease,
        -webkit-transform 0.25s ease;
    -o-transition: opacity 0.25s ease,
        transform 0.25s ease;
    transition: opacity 0.25s ease,
        transform 0.25s ease;
    transition: opacity 0.25s ease,
        transform 0.25s ease,
        -webkit-transform 0.25s ease;
    -webkit-transition: opacity var(--default-transition-duration) ease,
        -webkit-transform var(--default-transition-duration) ease;
    transition: opacity var(--default-transition-duration) ease,
        -webkit-transform var(--default-transition-duration) ease;
    -o-transition: opacity var(--default-transition-duration) ease,
        transform var(--default-transition-duration) ease;
    transition: opacity var(--default-transition-duration) ease,
        transform var(--default-transition-duration) ease;
    transition: opacity var(--default-transition-duration) ease,
        transform var(--default-transition-duration) ease,
        -webkit-transform var(--default-transition-duration) ease;
}
.galletita-box.is-galletita-visible {
    --galletita-box-opacity: 1;
    --galletita-box-translateY: 0;
}

@media (max-width: 50em) {
    .galletita-box {
        --galletita-padding: 2rem;
        --galletita-position-bottom: 0;
        --galletita-position-right: 0;
        --galletita-position-left: 0;
    }
}

/* Copy */
.galletita-box__content__title {
    --galletita-title-margin: 0 0 0.6em;
    font-size: 20px;
    font-size: 2rem;
    font-family: "Fabrik Web", sans-serif;
    font-weight: bold;
    line-height: 1.2;
}
.galletita-box__content__copy p {
    font-size: 15.5px;
    font-size: 1.55rem;
    line-height: 1.2;
}

/* Buttons */
.galletita-button {
    --galletita-btn-font-size: 14px;
    --galletita-btn-font-size: 1.4rem;
    --galletita-btn-font-weight: 400;
    --galletita-btn-font-color: #262626;
    --galletita-btn-font-color: var(--text-color);
    --galletita-btn-bg-color: none;
    --galletita-btn-border-width: 0;
    --galletita-btn-border-color: transparent;
}

.galletita-button.-consent {
    --galletita-btn-padding: 0 0 0 20px;
    --galletita-btn-padding: 0 0 0 2rem;
    -webkit-transition: color 0.25s;
    -o-transition: color 0.25s;
    transition: color 0.25s;
    -webkit-transition: color var(--default-transition-duration);
    -o-transition: color var(--default-transition-duration);
    transition: color var(--default-transition-duration);
}
.galletita-button.-consent:hover {
    --galletita-btn-font-color: #fff;
}

.galletita-button.-learn-more {
    --galletita-btn-padding: 0;
    margin-left: auto;
    border-bottom: 2px solid;
}

#project-map .gm-style-cc, 
#project-map [target="_blank"][href*="maps.google.com"] img {
	-webkit-transition: opacity 0.25s;
	-o-transition: opacity 0.25s;
	transition: opacity 0.25s;
	background: none;
}
#project-map:not(:hover) .gm-style-cc, 
#project-map:not(:hover) [target="_blank"][href*="maps.google.com"] img { 
	opacity: 0.25; 
}
#project-map .gm-style-cc a { border-bottom: none; }
#project-map .gm-style-cc [style*="opacity: 0.7"] { display: none; }

#project-map #markerLayer > div:not(:first-child) { overflow: visible !important; }
#project-map #markerLayer > div:not(:first-child) > img { top: -18px !important; }
#project-map #markerLayer > div:not(:first-child):after {
	content: '';
	position: absolute;
		right: 0; left: -11px; bottom: 0;
		z-index: -1;
	width: 42px;
	height: 49px;
	background: url('images/marker.svg') no-repeat center bottom;
}

.infoBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: auto !important;
	min-width: 20em !important;
	margin-top: 10px;
	margin-top: 1rem;
	padding: 20px;
	padding: 2rem;
	background-color: #262626;
	background-color: var(--text-color);
	-webkit-transform: translateX(-50%) translateZ(2000px) !important;
	        transform: translateX(-50%) translateZ(2000px) !important;
	-webkit-transform-origin: center top;
	    -ms-transform-origin: center top;
	        transform-origin: center top;

	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;

	-webkit-animation: animate-infobox 0.25s;

	        animation: animate-infobox 0.25s;
}

@-webkit-keyframes animate-infobox {
	from {
		-webkit-transform: scaleY(0.75) translateY(-2rem) translateX(-50%) translateZ(2000px);
		        transform: scaleY(0.75) translateY(-2rem) translateX(-50%) translateZ(2000px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(-50%) translateZ(2000px);
		        transform: translateX(-50%) translateZ(2000px);
		opacity: 1;
	}
}

@keyframes animate-infobox {
	from {
		-webkit-transform: scaleY(0.75) translateY(-2rem) translateX(-50%) translateZ(2000px);
		        transform: scaleY(0.75) translateY(-2rem) translateX(-50%) translateZ(2000px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(-50%) translateZ(2000px);
		        transform: translateX(-50%) translateZ(2000px);
		opacity: 1;
	}
}

.infoBox > * { margin-top: 0; }

.infoBox > img {
	-webkit-box-ordinal-group: 100;
	    -ms-flex-order: 99;
	        order: 99;
	float: none !important;
	margin: 0 0 0 20px !important;
	margin: 0 0 0 2rem !important;
	width: 16px;
	width: 1.6rem;
	opacity: 0.5;
}
.infoBox > img:hover { opacity: 1; }

.infoBox > dl { 
	-webkit-box-flex: 1; 
	    -ms-flex-positive: 1; 
	        flex-grow: 1; 
	padding-right: 20px; 
	padding-right: 2rem;
	border-right: 1px solid #444;
}

.infoBox dt { 
	margin-bottom: 10px; 
	margin-bottom: 1rem;
	font-weight: bold; 
}

.infoBox .project-link { margin-top: 10px; margin-top: 1rem; }

.infoBox .button-link { font-size: inherit; }
