/*!
Theme Name: Atelier
Author: Alex Roy
Author URI: https://www.creastuces.com
Description: Ce thème est le boilerplate de l'Atelier
Version: 1.0
Text Domain: atelier

=============================================================================
                    ___
  _____ ______   __/__/__      ______ _______ _     _  _____ _______  ______ 
 / ____|  ___ \ |  _____/     /  ____|__   __| |   | |/ ____|  _____|/  ____|
| /    | |___) || |____   /\  \ (____   | |  | |   | | |    | |___  |  (____ 
| |    |  __  / |  ___/  /  \  \___  \  | |  | |   | | |    |  ___|  \____  \
| \____| |  \ \ | |__   /_--_\   __)  | | |  | \___/ | |____| |_____ _____)  |
 \_____|_|   \_\|___/            \___/  |_|   \_____/ \_____|_______|_______/

Oui, c'est moche et kitsch, mais ça m'a replongé dans les années 90 :)
Allez, on démarre...

/*=======================*\
#    Points de rupture    #
#-------------------------#
# min-width -> 600px      #
#    601px <-> 980px      #
#    981px <-> 1260px     #
#   1261px <- max-width   #
\*=======================*/

/*============================================*\
#    Initialisation de la feuille de styles    #
# -------------------------------------------- #
#    fusion annotée du meilleur de :           #
#    - normalize.css (v8.0.1) - https://github.com/necolas/normalize.css/blob/8.0.1/CHANGELOG.md
#    - Knacss (v7.1.2) - https://github.com/alsacreations/KNACSS/blob/master/changelog.md
#    + ajustements maison                      #
\*============================================*/

/* Remplacera un jour la balise <meta> viewport - knacss
   cf. https://www.alsacreations.com/article/lire/1490-comprendre-le-viewport-dans-le-web-mobile.html */
@-ms-viewport{ width:device-width; }
@-o-viewport{ width:device-width; }
@viewport{ width:device-width; }
:root{
	--couleur-blanc:#fff;
	--couleur-noir:#000;
	--couleur-gris-fonce:#2e2e2d;
	--couleur-gris-moyen:#707070;
	--couleur-couleur-principale:#c00d0e;
	--couleur-couleur-secondaire:#fbba00;
	--couleurDefaut:var(--couleur-couleur-principale); /* Couleur par défaut reprise de la couleur principale définie dans WP */
	--placeholderCouleur:inherit; /* Couleur des placeholders */
	--placeholderOpacite:0.8; /* Opacité des placeholders */
	--margesDefaut:6rem; /* Espacement par défaut */
	--largeur:1200px; /* Largeur de contenu */
}
@media(max-width:1260px){
	:root{
		--margesDefaut:3rem;
		--largeur:960px;
	}
}
@media(max-width:980px){
	:root{--largeur:540px;}
}
@media(max-width:600px){
	:root{--largeur:300px;}
}

*, *:before, *:after{
	/* Rend héritable le box-sizing, cf. https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	-webkit-box-sizing:inherit;
	        box-sizing:inherit;
	/* évite min-width:auto sur les enfants flex et grid - knacss */
	min-width:0;
	min-height:0; }

html{
	-webkit-box-sizing:border-box;
	        box-sizing:border-box;
	line-height:1.15;
	-webkit-text-size-adjust:100%; /* iOS : empêche les ajustements de font-size après un changement d'orientation */
	   -moz-text-size-adjust:100%; /* pareil pour les suivants, mais pas iOS :) */
	    -ms-text-size-adjust:100%;
		    text-size-adjust:100%;
	/*overflow-style:scrollbar,auto; /* le jour où ça sera reconnu ça aura le mérite d'être déjà en place - knacss */
	-webkit-tap-highlight-color:transparent; /* retire la mise en avant des liens touché par l'internaute - knacss */
	font-size: 62.5%; /* Définit le font-size de base à l'équivalent de 10px, pour faciliter l'utilisation des tailles en rem : 1rem = 10px - knacss */
	font-size: calc(1em * 0.625); /* Correctif pour IE9-IE11 qui calculent différemment des autres */ }
body{
	margin:0;
	color:#000;
	color:var(--couleur-noir);
	font-family:"Open Sans", Arial, sans-serif;
	font-size:1.6rem;
	font-weight:400;
	line-height:1.3;
	text-align:left;
	background-color:#fff; }
body:not(.ready) *{
	transition:none;
}
article, aside, dialog, figcaption, figure, video, footer, header, hgroup, main, nav, section{
	display:block; /* IE : permet de se comporter comme des blocs */ 
	margin:0;
}
hr{
	-webkit-box-sizing:content-box;
	        box-sizing:content-box; /* Firefox : met en place le bon box-sizing */
	height:0; /* Firefox : met en place le bon box-sizing */
	overflow:visible; /* IE/Edge : affiche l'overflow */ }
a{
	background-color:transparent;
	color:var(--couleur-couleur-principale);
}
a:not([href]):not([tabindex]):focus{ outline:0; }
abbr[title]{
	text-decoration:underline dotted; /* Chrome, IE/Edge, Opera, Safari : ajoute le bon text-decoration */
	border-bottom:none; /* Chrome57- : Retire le bottom-border */
	cursor:help; }
b, strong{ font-weight:bolder; /* Chrome, Edge, Safari : définit le bon font-weight */ }
p{margin:0 0 1em 0;}
pre, code, kbd, samp{
	font-family:monospace, monospace;
	font-size:1em; }
pre{ overflow:auto; }
small{ font-size:80%; }
sub, sup{
	position:relative;
	font-size:75%;
	line-height:0;
	vertical-align:baseline; }
sub{ bottom:-0.25em; }
sup{ top:-0.5em; }
embed, iframe, object, img{
	max-width:100%;
	vertical-align:middle; }
img{
	height:auto;
	border-style:none; /* IE10 : empêche les bordures sur les images dans des liens */
	object-fit: cover;
	object-position: center center;
}
output{ display:inline-block; }
details{ display:block; /* IE10+/Edge, Firefox : corrige le display */ }
summary{ display:list-item; }
template, [hidden]{ display:none; /* IE10 : corrige le display */ }
[tabindex="-1"]:focus{ outline:none !important; /* N'affiche pas le outline sur la cible du lien skip link */ }
ul{
	padding:0;
	margin:0 0 1em 0;
	list-style: none;
}
li{
	margin:0;
}










/*================*\
#    Impression    #=================================================================================================================================
\*================*/
@media print{
	
	*{
		background:transparent !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	html{ font-size:7.5pt; }
	body {
		margin:0;
		font-family:sans-serif;
		font-size:12pt;
	}
	p, h1, h2, h3, h4, h5, h6,
	blockquote, label, ul, ol{
		color:#000;
		margin:auto;
	}
	p{
		orphans:3;
		widows:3;
	}
	/* pas de coupure de page à l'intérieur de ces éléments */
	blockquote, ul, ol{
		page-break-inside:avoid;
		break-inside:avoid;
	}
	
	/* pas de coupure de page après ces éléments */
	h1, h2, h3, h4, h5, h6, caption{
		page-break-after:avoid;
		break-after:avoid;
	}
	a{ color:#000; }
	p a[href]:not([href^="javascript:"]):not([href^="#"])::after,
	p a[data-lienprint]::after{
		content: " (" attr(href) ")"; /* affichage des URLs pour les liens dans les paragraphes */
		opacity:0.8;
		font-size:0.8em;
	}
	p a[data-lienprint]::after{ content: " (" attr(data-lienprint) ")" !important; }
	.noprint{ display:none !important; }
	
	img{ filter:brightness(100%) contrast(150%) grayscale(100%); }
}
@media not print{
	.printonly{ display:none !important; }
}





/*=================*\
#    Formulaires    #================================================================================================================================
\*=================*/

fieldset{
	padding:0;
	border:0.1rem solid #ccc;
}
legend{
	box-sizing:border-box; /* IE/Edge : corrige l'inclusion du texte */
	display:table; /* IE/Edge : corrige l'inclusion du texte */
	max-width:100%; /* IE/Edge : corrige l'inclusion du texte */
	padding:0; /* Laisser 0 */
	color:inherit; /* IE : corrige le problème d'héritage de couleur */
	white-space:normal; /* IE/Edge : corrige l'inclusion du texte */
}
button,
[type="button"],
[type="reset"],
[type="submit"],
::-webkit-file-upload-button,
.form--file-bouton,
[type="date"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
[type="color"],
[type="number"],
[type="search"],
[type="range"],
textarea,
optgroup,
select,
.form--file-dropZone{
	margin:0; /* Firefox, Safari : retire les marges */
	font-family:inherit;
	font-size:100%;
	color:inherit;
	line-height:1.2;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
button,
input,
.form--file-bouton,
.form--file-dropZone{ overflow:visible; /* IE/Edge : affiche l'overflow */ }
button,
[type="button"],
[type="reset"],
[type="submit"],
::-webkit-file-upload-button,
.form--file-bouton{
	background:#ccc;
	border:none;
	display:inline-block;
	padding:1ch 2ch;
	cursor:default;
	font-family:inherit;
	font-size:inherit;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner{
	padding:0; /* Firefox : retire le padding et la bordure interne */
	border-style:none; /* Firefox : retire le padding et la bordure interne */
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring{ outline:1px dotted ButtonText; /* Firefox : restaure le style au focus supprimé par la règle précédente */ }
[type="date"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="search"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
textarea {
	vertical-align:middle;
	padding:calc((4rem - 2*1px - 1.4em)*0.5) 0.2em; /* hauteur - 2*bordure - line-height */
	height:4rem;
	min-height:4rem;
	line-height:1.4;
	border:none;
	border-bottom:1px solid currentColor;
	background-color:#fff;
	width:100%;
}
.form-champ [type="date"],
.form-champ [type="datetime-local"],
.form-champ [type="email"],
.form-champ [type="month"],
.form-champ [type="number"],
.form-champ [type="password"],
.form-champ [type="search"],
.form-champ [type="tel"],
.form-champ [type="text"],
.form-champ [type="time"],
.form-champ [type="url"],
.form-champ [type="week"],
.form-champ textarea{
	border-left:4px solid currentColor;
	/*border-top:1px solid #eee;
	border-right:1px solid #eee;
	border-bottom:1px solid #ccc;*/
	border-bottom:none;
	background:#eee;
}
textarea{
	overflow:auto; /* IE10+ : retire la scrollbar verticale par défaut */
	resize:vertical;
	vertical-align:top;
	white-space:pre-wrap;
	height:calc(4rem + 2*1.4em); /* hauteur + (lignes-1)*line-height */
}
[type="color"]{
	background:none;
	width:2.4rem;
	height:2.4rem;
	border:none;
	padding:0;
}
[type="color"]::-webkit-color-swatch-wrapper{ padding: 0; }
[type="color"]::-webkit-color-swatch{
	border:none;
	border-radius:50%;
}
[type="color"]::-moz-color-swatch{
	border:none;
	border-radius:50%;
}

[type="number"]{ -moz-appearance: textfield; /* Firefox : conversion en apparence textfield pour retirer les flèches mal gérées */ }
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button{
	-webkit-appearance:none;
	   -moz-appearance:none;
	        appearance:none;
}
[type="search"]{ outline-offset:-2px; /* Safari : corrige le style de l'outline */ }
[type="search"]::-webkit-search-decoration,
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-results-button,
[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance:none;
	        appearance:none; /* macOS Chrome et Safari : retire le padding */
	display: none; /* Supprime le 'x' à droite du champ quand du texte est entré */
}

/*---
#  Spécificités du champ <input type="range" />  */
[type="range"]{
	-webkit-appearance:none;
	width:100%;
	background:transparent;}
/* Curseur */
[type="range"]::-webkit-slider-thumb{ /* (pour WebKit/Blink) */
	-webkit-appearance:none;
	appearance:none;
	margin-top: -14px; /* You need to specify a margin in Chrome, but in Firefox and IE it is automatic */

		/*box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;*/
		border: 0.1rem solid #000;
		height: 2rem;
		width: 2rem;
		border-radius: 50%;
		background-color:#888;
		background-color:var(--couleurDefaut);
		cursor:ew-resize;
}
/* All the same stuff for Firefox */
[type="range"]::-moz-range-thumb {
	-moz-appearance:none;
	appearance:none;

		box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
		border: 1px solid #000000;
		height: 36px;
		width: 16px;
		border-radius: 3px;
		background: #ffffff;
		cursor: pointer;
}
/* All the same stuff for IE */
[type="range"]::-ms-thumb {
	-webkit-appearance:none; /*le préfixe est bien -webkit et non -ms */
	appearance:none;

		box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
		border: 1px solid #000000;
		height: 36px;
		width: 16px;
		border-radius: 3px;
		background: #ffffff;
		cursor: pointer;
}
[type="range"]::-webkit-slider-runnable-track {
	width: 100%;
	height: 8.4px;
	cursor: pointer;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
	background: #3071a9;
	border-radius: 1.3px;
	border: 0.2px solid #010101;
}
[type="range"]:focus::-webkit-slider-runnable-track {
	background: #367ebd;
}
[type="range"]::-moz-range-track {
	width: 100%;
	height: 8.4px;
	cursor: pointer;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
	background: #3071a9;
	border-radius: 1.3px;
	border: 0.2px solid #010101;
}
[type="range"]::-ms-track {
	width: 100%;
	height: 8.4px;
	cursor: pointer;
	border-width: 16px 0;
	/* Hides the slider so custom styles can be added */
	background: transparent;
	border-color: transparent;
	color: transparent;
}
[type="range"]::-ms-fill-lower {
	background: #2a6495;
	border: 0.2px solid #010101;
	border-radius: 2.6px;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
[type="range"]:focus::-ms-fill-lower {
	background: #3071a9;
}
[type="range"]::-ms-fill-upper {
	background: #3071a9;
	border: 0.2px solid #010101;
	border-radius: 2.6px;
	box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
[type="range"]:focus::-ms-fill-upper {
	background: #367ebd;
}

[type="date"]::-webkit-inner-spin-button,
[type="time"]::-webkit-inner-spin-button{ -webkit-appearance: none; }
select {
	padding-right: 2rem;
	border-radius: 0;
	background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E");
	background-position: right .6rem center;
	background-repeat: no-repeat;
	background-size: 1.2rem;
}
select::-ms-expand { display: none; /* IE11 : cache la flèche */ }

/*---
#  Spécificités du champ <input type="file" />  */
.form--fileInput{ /* élément qui contient tous les composants du champ file */
	display:inline-block;
	position:relative; }
.form--fileInput [type="file"]{ /* champ file réel */
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	opacity:0;
	z-index:1;
	overflow:hidden; }
::-webkit-file-upload-button{ font:inherit; } /* Safari : récupère les styles hérités des parents */
.form--file-dropZone{ /* zone de drop, si activée (input.form--dropFile) */
	-webkit-appearance:none;
	        appearance:none;
	background:none;
	border:0.4rem dashed #ccc;
	padding:1ch 2ch;
	cursor:default; }
.form--file-dropZone-list{ /* liste des fichiers sélectionnés */
	margin:0;
	padding:0;
	list-style:none; }
.form--file-dropZone-listItem{ margin:0; }
.form--file-dropZone-listItem:not(:first-child){ margin-top:0.5rem; }
.form--file-dropZone-listItem:not(:last-child){ margin-bottom:0.5rem; }
.form--file{
	display:inline-flex;
	align-items:center;
	justify-content:flex-start; }
.form--file-reset{ /* bouton x */
	position:relative;
	z-index:2;
	display:inline-block;
	margin:-0.5ch -1.5ch -0.5ch 1.5ch;
	flex:0 0 auto;
	align-self:flex-start;
	width:3rem;
	height:3rem;
	line-height:3rem;
	text-align:center;
	background:rgba(0,0,0,0.2);
	border-radius:0.3rem;
	cursor:pointer;
	opacity:0.5;
	transition:opacity 0.3s ease-out; }
.form--file-reset:hover,
.form--file-reset:focus{ opacity:1; }
[type="file"]:focus + .form--file,
[type="file"]:focus-within + .form--file{
	outline:1px dotted ButtonText; /* imitation du focus */
	outline: 5px auto -webkit-focus-ring-color; /* Chrome : imitation du focus */ }


a, area, button, [role="button"],
input:not([type="range"]),
label, select, summary, textarea{
	/* Permet au navigateur de considérer que tout toucher qui débute sur ces éléments n'ont pour but que le scroll ou le zoom de la page. - knacss
	   cf. https://developer.mozilla.org/fr/docs/Web/CSS/touch-action */
	-ms-touch-action:manipulation;
	    touch-action:manipulation;
}
label{cursor: pointer;}
progress{
	width: 100%;
	vertical-align:middle; /* Chrome, Firefox, Opera : corrige le vertical-align */
}
/* Couleurs de placeholders, doivent être séparés pour être reconnus par leurs préfixes respectifs.
   Pour simplifier, la couleur a été mise en variable de :root. Pour changer la couleur d'une partie des placeholders,
   il suffit de redéfinir une variable --placeholderCouleur sur leur plus proche parent commun. Idem pour l'opacité. */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder{
	color:inherit;
	color:var(--placeholderCouleur);
	opacity:var(--placeholderOpacite);
}
input::-moz-placeholder,
textarea::-moz-placeholder{
	color:inherit;
	color:var(--placeholderCouleur);
	opacity:var(--placeholderOpacite);
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder{
	color:inherit;
	color:var(--placeholderCouleur);
	opacity:var(--placeholderOpacite);
}
input::-ms-input-placeholder,
textarea::-ms-input-placeholder{
	color:inherit;
	color:var(--placeholderCouleur);
	opacity:var(--placeholderOpacite);
}
input::placeholder,
textarea::placeholder{
	color:inherit;
	color:var(--placeholderCouleur);
	opacity:var(--placeholderOpacite);
}

.switch {
  border-radius: 3em;
}

.wpcf7-list-item{
	margin:0 1.5em 0 0;
}
[type="checkbox"]:not(.switch),
[type="radio"]:not(.switch){
	box-sizing:border-box; /* IE10 : définit le bon box-sizing */
	padding:0; /* IE10 : retire le padding */
	border:1px solid #ccc;
	width:1.7em;
	height:1.7em;
	margin:0 0.5em 0 0;
	background:#fff;
}
[type="radio"]:not(.switch),
[type="radio"]:not(.switch)::before {
  border-radius: 50%;
}
[type="checkbox"]:not(.switch)::before,
[type="radio"]:not(.switch)::before{
	content:"";
	display:block;
	margin:15%;
	width:70%;
	height:70%;
	background-color: var(--couleur-couleur-principale);
	transform-origin: center center;
	transform:scale(0);
	transition:transform 0.3s ease-out;
}
[type="checkbox"]:not(.switch):checked::before,
[type="radio"]:not(.switch):checked::before{
	transform:scale(1);
}

.switch,
[type="checkbox"],
[type="radio"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  vertical-align: text-bottom;
  outline: 0;
  cursor: pointer;
}

.switch ~ label,
[type="checkbox"] ~ label,
[type="radio"] ~ label {
  cursor: pointer;
}

.switch {
  width: 4rem;
  height: 2rem;
  line-height: 2rem;
  font-size: 70%;
  -webkit-box-shadow: inset -2rem 0 0 #333, inset 0 0 0 1px #333;
          box-shadow: inset -2rem 0 0 #333, inset 0 0 0 1px #333;
  -webkit-transition: -webkit-box-shadow .15s;
  transition: -webkit-box-shadow .15s;
  transition: box-shadow .15s;
  transition: box-shadow .15s, -webkit-box-shadow .15s;
  background-color: #fff;
}

.switch::before, .switch::after {
  font-weight: bold;
  color: #fff;
}

.switch::before {
  content: "✕";
  float: right;
  margin-right: 0.66667rem;
}

.switch:checked {
  -webkit-box-shadow: inset 2rem 0 0 #5CB85C, inset 0 0 0 1px #5CB85C;
          box-shadow: inset 2rem 0 0 #5CB85C, inset 0 0 0 1px #5CB85C;
}

.switch:checked::before {
  content: "✓";
  float: left;
  margin-left: 0.66667rem;
}

.form-ligne{
	margin:2em 0;
}
.form-optionnel{
	font-size:0.8em;
	color:#5a2;
}
.form-label{
	display:block;
	margin:0 auto 0.5em 0;
}

.wpcf7-response-output:not(:empty){
	border:1px solid #ccc;
	border-left:4px solid currentColor;
	padding:1em 2em;
	margin:2em 0;
	background-color:#fff;
}
.wpcf7-not-valid{color:#f00;}
.wpcf7-not-valid-tip{
	color:#f00;
	font-size:0.8em;
}
.grecaptcha-badge{z-index: 3;}



/*===================*\
#    Accessibilité    #==============================================================================================================================
\*===================*/
.accessibilite{
	position: fixed;
	right:0.5rem;
	top:0.5rem;
	z-index:9;
	transition: 0.3s ease-out;
	transition-property: right, top;
}
.accessibilite-toggle{
	display:block;
	width:2.6rem;
	height:2.6rem;
	color:var(--couleur-gris-fonce);
	opacity:0.8;
	background:#fff;
	padding:1px;
	border-radius:0;
	transition:none;
	border-radius:50%;
	box-shadow:0 0 0 3px rgba(255,255,255,0.5);
}
.accessibilite-toggle:hover,
.accessibilite-toggle:focus{background:none;}
.accessibilite-toggle svg *{fill:currentColor;}
.accessibilite-menu{
	position: absolute;
	right:0;
	top:100%;
	white-space:nowrap;
	background:#fff;
	background-color:var(--couleur-blanc);
	padding:0;
	display:none;
}
.accessibilite-menu-item{
	padding:0.3em 1em;
	display:block;
}
.accessibilite-menu-item:first-child{padding-top:0.6em;}
.accessibilite-menu-item:last-child{padding-bottom:0.6em;}
.scrolledHeader:not(.scrolledHeaderToTop) .accessibilite-toggle{
	color:inherit;
}

/* IE et autres navigateurs ne connaissant pas les variables */
.accessibilite-menu-item.varOnly{display:none;}
@supports(--css: variables){
	.accessibilite-menu-item.varOnly{display:block;}
}

/* Supprime les animations et transitions quand la préférence reduced motion est activée (un jour ça existera) - knacss */
@media (prefers-reduced-motion:reduce){
	*,
	*::before,
	*::after{   animation:none !important;
				transition:none !important; }
}
.nomotion *,
.nomotion *::before,
.nomotion *::after{ animation:none !important;
					transition:none !important; }

/* Liseuses */
/* Affichage sur liseuses uniquement :
   Usage : <a class="no-texte">Texte accessible</a>
   Alternative dans certains cas : attribut aria-label */
.no-texte,
.screen-reader-response{
	border: 0; 
	clip: rect(0 0 0 0); 
	clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
	-webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
	height: 1px; 
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}
/* Masquage sur liseuses uiquement : */
/* Ajouter l'attribut aria-hidden="true", pas de CSS */

/* Liens d'évitement */
.skip-links{
	/* Ne pas utiliser display:none, les logiciels de synthèse vocale ignoreraient ces liens :) */
	margin:0 auto;
	padding:0rem;
	width:100%;
	height:0;
	transition:all 0.3s ease-out;
	transition-property:opacity, padding;
	background:#fff;
	opacity:0;
	text-align:center;
	list-style:none;
	overflow:hidden;
}
.skip-links.active{
	height:auto;
	padding:1rem;
	opacity:1;
}
.skip-links-li{
	display:inline-block;
	vertical-align:middle;
	margin:0;
	padding:0;
}
.skip-links-a{
	display:block;
	text-decoration:none;
	color:#333;
	padding:0.3rem 0.5rem;
}

.dyslexie,
.dyslexie *{
	font-family:'OpenDyslexic',sans-serif !important;
	text-transform:none !important;
}

/* Structure globale & autres éléments */
.container,
.alignfull > .wp-block-group__inner-container{
	width:var(--largeur);
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
}





/*============================*\
#    Styles Gutenberg Front    #=====================================================================================================================
\*============================*/
/* Feuille de style par défaut complète : /wp-includes/css/dist/block-library/style.css */

/* Éléments de contenu classiques */
h1,.h1,h2,.h2,h3,.h3,h4,.h4{
	line-height:1.2;
	text-transform:uppercase;
	font-weight:900;
	font-style:italic;
	margin:1.5em 0 0.5em 0;
}
h1 a,.h1 a,h2 a,.h2 a,h3 a,.h3 a,h4 a,.h4 a{
	color:inherit;
	text-decoration:none;
}
h1,.h1{
	font-size:6rem;
	color:var(--couleur-couleur-principale);
	line-height:1;
}
h2,.h2{
	font-size:4.6rem;
	line-height:1;
}
h3,.h3{
	font-size:3.6rem;
}
h4,.h4{
	font-size:2.8rem;
	color:var(--couleur-couleur-principale);
}
.hentry h1:not(.simple), .hentry .h1:not(.simple),
.hentry h2:not(.simple), .hentry .h2:not(.simple),
.hentry h3:not(.simple), .hentry .h3:not(.simple),
.hentry h4:not(.simple), .hentry .h4:not(.simple){
	position: relative;
	padding-bottom:calc(2 * var(--taille-graph));
	--taille-graph:1.4rem;
	display: block;
}
.hentry h1:not(.simple), .hentry .h1:not(.simple){--taille-graph:2.2rem;}
.hentry h1:not(.simple)::after, .hentry .h1:not(.simple)::after,
.hentry h2:not(.simple)::after, .hentry .h2:not(.simple)::after,
.hentry h3:not(.simple)::after, .hentry .h3:not(.simple)::after,
.hentry h4:not(.simple)::after, .hentry .h4:not(.simple)::after{
	content:"";
	position: absolute;
	bottom:0;
	left:-1.2em;
	background:none;
	color:var(--couleur-couleur-secondaire);
	font-size:var(--taille-graph);
	width:1em;
	height:1em;
	display:block;
	transform:skewX(-10deg);
	transform-origin:left bottom;
	box-shadow:1.2em 0 0 0 var(--couleur-couleur-principale), 2.4em 0 0 0 currentColor, 3.6em 0 0 0 currentColor;
}
.hentry h1:not(.simple)::after, .hentry .h1:not(.simple)::after{
	box-shadow:1.2em 0 0 0 currentColor, 2.4em 0 0 0 currentColor, 3.6em 0 0 0 currentColor;
}
.has-text-align-center h2:not(.simple)::after, .has-text-align-center .h2:not(.simple)::after,
h2.has-text-align-center:not(.simple)::after, .h2.has-text-align-center:not(.simple)::after,
.metiers-cols h2:not(.simple)::after, .metiers-cols .h2:not(.simple)::after,
.has-text-align-center h3:not(.simple)::after, .has-text-align-center .h3:not(.simple)::after,
h3.has-text-align-center:not(.simple)::after, .h3.has-text-align-center:not(.simple)::after,
.metiers-cols h3:not(.simple)::after, .metiers-cols .h3:not(.simple)::after,
.has-text-align-center h4:not(.simple)::after, .has-text-align-center .h4:not(.simple)::after,
h4.has-text-align-center:not(.simple)::after, .h4.has-text-align-center:not(.simple)::after,
.metiers-cols h4:not(.simple)::after, .metiers-cols .h4:not(.simple)::after{
	left:calc(50% - 3em);
}
@media(max-width:1260px){
	h1,.h1{font-size:4.6rem;}
	h2,.h2{font-size:3.6rem;}
	h3,.h3{font-size:2.8rem;}
	h4,.h4{font-size:2.2rem;}
}
@media(max-width:600px){
	h1,.h1{font-size:4.0rem;}
	h2,.h2{font-size:3.2rem;}
}

blockquote{
	font-size:1.25em;
	padding:0;
	margin:1em 0 2em 80px;
}

.entry-content li{
	margin-bottom:0.5em;
}
.entry-content li::before{
	content:"";
	display:inline-block;
	width:0.5em;
	height:0.5em;
	transform-origin: center center;
	transform:skewX(-10deg);
	background-color: var(--couleur-couleur-principale);
	margin:0 0.3em 0 0;
}
.entry-content li ul{
	margin:0.5em 0 0 1em;
}
.entry-content li li::before{
	background-color: var(--couleur-couleur-secondaire);
}


/* Affichage du bloc core/columns */
.wp-block-column{
	margin-bottom:var(--margesDefaut);
}
@media(min-width:981px){
	.wp-block-columns{
		display:flex;
		flex-wrap:nowrap;
	}
	.wp-block-column{
		flex:1 1 50%;
		margin:0;
		min-width:0;
		word-break:break-word;
		overflow-wrap:break-word;
	}
	.wp-block-column:not(:first-child){
		margin-left:1.5rem;
		margin-left:calc(var(--margesDefaut) / 2);
	}
	.wp-block-column:not(:last-child){
		margin-right:1.5rem;
		margin-right:calc(var(--margesDefaut) / 2);
	}
}
/*
@media (max-width:980px){ .wp-block-columns .wp-block-columns{flex-wrap:wrap;} }
@media (max-width:600px){ .wp-block-columns{flex-wrap:wrap;} }
@media (max-width:980px){
	.wp-block-columns{
		flex-wrap:wrap;
	}
	.wp-block-column .wp-block-column,
	.wp-block-column .wp-block-column:not(:first-child),
	.wp-block-column .wp-block-column:not(:last-child){
		flex-basis:100%;
		margin:0;
	}
}
@media (max-width:600px){
	.wp-block-column,
	.wp-block-column:not(:first-child),
	.wp-block-column:not(:last-child){
		flex-basis:100%;
		margin:0;
	}
}*/

/* Affichage du bloc core/button */
.wp-block-button{
	margin-top:2em;
	margin-bottom: 3em;
}
.wp-block-button.aligncenter{text-align: center;}
.wp-block-button.alignright{text-align: right;}
.is-style-outline{color:inherit;}
.wp-block-button__link,
.form--file-bouton {
    border:none;
    box-shadow:none;
    cursor:pointer;
    display:inline-block;
	line-height:1.2;
    margin:0 0.5em;
    padding:1rem 3rem; /*si modifié, penser à changer dans .is-style-outline .wp-block-button__link ci-dessous*/
    text-align:center;
    text-decoration:none;
    white-space:normal;
	overflow-wrap:break-word;
	position: relative;
	transition:0.3s ease-out;
	transition-property: color,background-color;
	z-index: 1;
}
.wp-block-button__link{
	background-color:var(--couleurDefaut);
    color:var(--couleur-blanc);
    font-size:2rem;
	font-weight:bold;
	text-transform: uppercase;
}
.form--file-bouton {
	background-color:#c5c5c5;
	font-weight:normal;
}
.wp-block-button__link::before,
.wp-block-button__link::after,
.form--file-bouton::before,
.form--file-bouton::after{
	content:"";
	z-index: -1;
	position: absolute;
	top:0;
	background-color:inherit;
	width:50%;
	height:100%;
	transform:skewX(-10deg);
	transition:none;
}
.wp-block-button__link::before,
.form--file-bouton::before{
	left:0;
	transform-origin:left top;
}
.wp-block-button__link::after,
.form--file-bouton::after{
	right:0;
	transform-origin:right bottom;
}
.is-style-squared .wp-block-button__link{border-radius:0;}
.wp-block-button__link:active,
.wp-block-button__link:focus,
.wp-block-button__link:hover{
	background-color:#000;
	color:#fff;
}
.form--file-bouton:active,
[type="file"]:focus + .form--file-bouton,
.form--file-bouton:hover{
	background-color:var(--couleur-couleur-principale);
	color:var(--couleur-blanc);
}
.is-style-outline .wp-block-button__link {
    background:transparent;
	color:var(--couleurDefaut);
    border:0.2rem solid;
	padding:calc(1rem - 0.2rem) calc(3rem - 0.2rem); /*si modifié, penser à changer dans .wp-block-button__link ci-dessus*/
}

/* Affichage du bloc core/file */
.wp-block-file{ 
	text-align:left;
	margin-bottom:1em;
}
.wp-block-file.aligncenter{ text-align: center; }
.wp-block-file.alignright{ text-align: right; }
.wp-block-file .wp-block-file__button{
    background:#444;
	background:var(--couleurDefaut);
    color:#fff;
    font-size:1em;
    padding:0.5em 1em;
	text-decoration:none;
}
.wp-block-file .wp-block-file__button::before{
	content:"";
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cline x1='3.74' x2='27.74' y1='28' y2='28' fill='none' stroke='%23fff' stroke-miterlimit='10' stroke-width='4'/%3E%3Cpolygon fill='%23fff' points='21.74 12 21.74 0 9.74 0 9.74 12 3.74 12 15.74 24 27.74 12'/%3E%3C/svg%3E") no-repeat;
	width:1em;
	height:1em;
	display:inline-block;
	margin:0 1ch 0 0;
	vertical-align:text-top;
}
.wp-block-file *+.wp-block-file__button{margin-left:1ch;}

/* Affichage du bloc core/gallery */
.wp-block-gallery .blocks-gallery-grid {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
	margin:0;
    padding: 0;
	--gallery-gap:1rem;
}
.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
	margin:0 1rem 1rem 0;
	margin:0 var(--gallery-gap) var(--gallery-gap) 0;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    justify-content: center;
    position: relative
}
.wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure {
    margin: 0;
    height: 100%;
}
.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img {
    display: block;
    max-width: 100%;
    height: auto;
    width: 100%;
}
.wp-block-gallery.is-cropped .blocks-gallery-image a,
.wp-block-gallery.is-cropped .blocks-gallery-image img,
.wp-block-gallery.is-cropped .blocks-gallery-item a,
.wp-block-gallery.is-cropped .blocks-gallery-item img {width: 100%;}
@supports ((position:-webkit-sticky) or (position:sticky)) {
    .wp-block-gallery .blocks-gallery-image figure,
    .wp-block-gallery .blocks-gallery-item figure {
        display: flex;
        align-items: flex-end;
		justify-content: flex-start;
		padding-top:100%;
		position: relative;
    }
    .wp-block-gallery .blocks-gallery-image img,
    .wp-block-gallery .blocks-gallery-item img {
        width: auto;
    }
    .wp-block-gallery.is-cropped .blocks-gallery-image a,
    .wp-block-gallery.is-cropped .blocks-gallery-image img,
    .wp-block-gallery.is-cropped .blocks-gallery-item a,
    .wp-block-gallery.is-cropped .blocks-gallery-item img {
        height: 100%;
        flex: 1;
        -o-object-fit: cover;
		object-fit: cover;
		position: absolute;
		width:100%;
		height:100%;
		left:0;
		top:0;
		object-position: center center;
    }
}
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
    position:absolute;
    bottom:0;
    width:100%;
    max-height:100%;
    overflow:auto;
    padding:1rem;
    color:#fff;
    text-align:center;
    font-size:0.8em;
    background:rgba(0,0,0,0.7);
}
.wp-block-gallery .blocks-gallery-image figcaption img,
.wp-block-gallery .blocks-gallery-item figcaption img {display: inline;}
.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
	width:calc((100% - 1rem)/2);
	width:calc((100% - var(--gallery-gap))/2);
}
.wp-block-gallery .blocks-gallery-image:nth-of-type(2n),
.wp-block-gallery .blocks-gallery-item:nth-of-type(2n) {margin-right: 0;}
.wp-block-gallery.columns-1 .blocks-gallery-image,
.wp-block-gallery.columns-1 .blocks-gallery-item {
    width: 100%;
    margin-right: 0;
}
@media (min-width:601px) {
    .wp-block-gallery.columns-3 .blocks-gallery-image,
    .wp-block-gallery.columns-3 .blocks-gallery-item {
		width:calc((100% - 2rem)/3);
		width:calc((100% - (2*var(--gallery-gap)))/3);
		margin-right:1rem;
		margin-right:var(--gallery-gap);
    }
    .wp-block-gallery.columns-4 .blocks-gallery-image,
    .wp-block-gallery.columns-4 .blocks-gallery-item {
		width:calc((100% - 3rem)/4);
		width:calc((100% - (3*var(--gallery-gap)))/4);
		margin-right:1rem;
		margin-right:var(--gallery-gap);
    }
    .wp-block-gallery.columns-5 .blocks-gallery-image,
    .wp-block-gallery.columns-5 .blocks-gallery-item {
		width:calc((100% - 4rem)/5);
		width:calc((100% - (4*var(--gallery-gap)))/5);
		margin-right:1rem;
		margin-right:var(--gallery-gap);
    }
    .wp-block-gallery.columns-6 .blocks-gallery-image,
    .wp-block-gallery.columns-6 .blocks-gallery-item {
		width:calc((100% - 5rem)/6);
		width:calc((100% - (5*var(--gallery-gap)))/6);
		margin-right:1rem;
		margin-right:var(--gallery-gap);
    }
    .wp-block-gallery.columns-7 .blocks-gallery-image,
    .wp-block-gallery.columns-7 .blocks-gallery-item {
		width:calc((100% - 6rem)/7);
		width:calc((100% - (6*var(--gallery-gap)))/7);
		margin-right:1rem;
		margin-right:var(--gallery-gap);
    }
    .wp-block-gallery.columns-8 .blocks-gallery-image,
    .wp-block-gallery.columns-8 .blocks-gallery-item {
		width:calc((100% - 7rem)/8);
		width:calc((100% - (7*var(--gallery-gap)))/8);
		margin-right:1rem;
		margin-right:var(--gallery-gap);
    }
    .wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),
    .wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),
    .wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),
    .wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),
    .wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),
    .wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),
    .wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),
    .wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),
    .wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),
    .wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),
    .wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),
    .wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),
    .wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),
    .wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),
    .wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),
    .wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n) {margin-right: 0;}
}
.wp-block-gallery .blocks-gallery-image:last-child,
.wp-block-gallery .blocks-gallery-item:last-child {margin-right: 0;}
.wp-block-gallery .blocks-gallery-item.has-add-item-button {width: 100%;}
.wp-block-gallery.alignleft,
.wp-block-gallery.alignright {
    max-width: 30rem;
    width: 100%;
}
.wp-block-gallery.aligncenter,
.wp-block-gallery.alignleft,
.wp-block-gallery.alignright {display: flex;}
.wp-block-gallery.aligncenter .blocks-gallery-item figure {justify-content: center;}

/* Affichage du bloc core/image */
.wp-block-image {
    max-width: 100%;
    margin:1em 0;
}
.wp-block-image img {
    max-width: 100%;
	vertical-align:middle;
}
.wp-block-image.alignfull img,
.wp-block-image.alignwide img{width:100%;}
.wp-block-image .aligncenter,
.wp-block-image .alignleft,
.wp-block-image .alignright,
.wp-block-image.is-resized {
    display: table;
    margin-left: 0;
    margin-right: 0;
}
.wp-block-image .aligncenter > figcaption,
.wp-block-image .alignleft > figcaption,
.wp-block-image .alignright > figcaption,
.wp-block-image.is-resized > figcaption{
	display:table-caption;
	caption-side:bottom;
}
.wp-block-image .alignleft {
    float: left;
    margin-right: 1em;
    margin-right: var(--margesDefaut);
}
.wp-block-image .alignright {
    float: right;
    margin-left: 1em;
    margin-left: var(--margesDefaut);
}

.wp-block-image .aligncenter {
    margin-left: auto;
    margin-right: auto;
}
.wp-block-image figcaption{
	margin-top:0.5em;
	margin-bottom:1em;
	text-align:center;
	font-size:0.8em;
	opacity:0.8;
}

/* Affichage du bloc core/media-text */
.wp-block-media-text {
    display: grid;
    grid-template-rows: auto;
    align-items: center;
    grid-template-areas: "media-text-media media-text-content";
    grid-template-columns: 1fr 1fr;
	grid-column-gap:8%;
	grid-column-gap:var(--margesDefaut);
}
.wp-block-media-text.has-media-on-the-right{grid-template-areas: "media-text-content media-text-media";}
.wp-block-media-text .wp-block-media-text__media {
    grid-area: media-text-media;
	margin: 0;
	background:no-repeat center center / cover #eee;
}
.wp-block-media-text .wp-block-media-text__content {
    word-break: break-word;
    grid-area: media-text-content;
}
.wp-block-media-text>figure>img,
.wp-block-media-text>figure>video {
    max-width: unset;
    width: 100%;
    vertical-align: middle
}
@media(min-width:981px){
	.wp-block-media-text.is-image-fill>figure,
	.wp-block-media-text.is-image-fill>figure>img{
		width:100%;
		height:100%;
	}
	.wp-block-media-text.is-image-fill>figure>img{
		object-fit: cover;
		object-position: center center;
		display:none;
	}
	.wp-block-media-text.alignfull .wp-block-media-text__content{
		width:calc((var(--largeur) - var(--margesDefaut)) * 0.5);
		margin:0;
	}
	.wp-block-media-text.alignfull.has-media-on-the-right .wp-block-media-text__content{ margin-left:auto; }
}
@media (max-width:980px) {
    .wp-block-media-text {
        grid-template-columns: 100%;
        grid-template-areas: "media-text-media" "media-text-content";
    }
	.wp-block-media-text.has-media-on-the-right {grid-template-areas: "media-text-media" "media-text-content";}
	.wp-block-media-text.alignfull{
		width:auto;
		margin-left:auto;
		margin-right:auto;
	}
}

/* Affichage du bloc core/paragraph */
p.has-background{ /* Espacement d'un paragraphe avec couleur de fond */
	padding:1.5em 0;
}
p.has-background:not(.alignfull){
	padding-left:3rem;
	padding-right:3rem;
	margin-left:-3rem;
	margin-right:-3rem;
}
p.has-text-color a {color: inherit;}
.has-small-font-size{ /* Taille de texte "small" */
	font-size:0.8em;
	opacity:0.8;
}
.has-large-font-size{font-size:1.2em;} /* Taille de texte "large" */

/* Affichage du bloc core/quote */
.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
    margin:0;
    padding:0;
}
.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
    font-size: 2.4rem;
    font-style: italic;
    line-height: 1.6;
}
.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
    font-size: 1.8rem;
    text-align: right;
}

/* Affichage du bloc core/table */
.wp-block-table{
	border-collapse:collapse;
	border-spacing:0;
	border:none;
}
.wp-block-table td{
	border:0.1rem solid rgba(0,0,0,0.1);
	padding:0.5rem 1rem;
}
.wp-block-table.has-fixed-layout{
    table-layout: fixed;
    width: 100%;
}
.wp-block-table.aligncenter,
.wp-block-table.alignleft,
.wp-block-table.alignright{
    display: table;
    width: auto;
}
.wp-block-table.is-style-stripes{
    border-spacing: 0;
    border-collapse: inherit;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.wp-block-table.is-style-stripes tr:nth-child(odd){background-color: rgba(0,0,0,0.05);}
.wp-block-table.is-style-stripes td{border-color: transparent;}

/* Affichage du bloc core/video */
.wp-block-video {
    margin-left: 0;
    margin-right: 0;
}
.wp-block-video video {max-width: 100%;}
@supports ((position:-webkit-sticky) or (position:sticky)) {
    .wp-block-video [poster] {
        -o-object-fit: cover;
        object-fit: cover;
    }
}
.wp-block-video.aligncenter video{
	margin-left:auto;
	margin-right:auto;
}
.wp-block-video figcaption {
	margin-top:0.5em;
	margin-bottom:1em;
	text-align:center;
	font-size:0.8em;
	opacity:0.8;
}

/* Formats de blocs */
.has-text-align-left{text-align:left;}
.has-text-align-center{text-align:center;}
.has-text-align-right{text-align:right;}
.aligncenter{
	clear:both;
	display:block;
	text-align:center;
}
.alignwide{ /* Largeur et positionnement d'un bloc "wide" */
	width:calc(100% + 20rem);
	max-width:calc(100vw - 4rem);
	min-width:100%;
	margin-left:50%;
	transform:translateX(-50%);
}
.alignfull{ /* Largeur et positionnement d'un bloc "full" */
	width:100vw;
	max-width:100vw;
	margin-left:calc(-50vw + 50%);
	margin-right:calc(-50vw + 50%);
}
@supports(margin:var(--largScrollBar)) {
	.alignfull{ /* Largeur et positionnement d'un bloc "full" si le navigateur sait lire la variable où est la largeur de la scrollbar */
		width: calc(100vw - var(--largScrollBar));
		margin-left:calc(-50vw + 50% + (var(--largScrollBar) * 0.5));
		margin-right:calc(-50vw + 50% + (var(--largScrollBar) * 0.5));
	}
}

/* Vidéo */
.lazy-youtube{
	background:no-repeat center center / contain #000;
	position:relative;
	border:1px solid #000;
}
.lazy-youtube iframe{
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	left:0;
	top:0;
	z-index:1;
}
.lazy-youtube-format{
	position:relative;
	z-index:0;
	cursor: pointer;
}
.lazy-youtube-picto{
	width:100px;
	height:100px;
	position:absolute;
	left:calc(50% - 50px);
	top:calc(50% - 50px);
}
.lazy-youtube-picto-styles{
	fill:none;
	stroke:#195c61;
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-miterlimit:10;
	stroke-width:4;
}









/*===================================*\
#    STYLES DE CONTENUS PAR DÉFAUT    #==============================================================================================================
\*===================================*/
/* LISTE DES CLASSES SPÉCIFIQUES :
 * -------------------------------
 * .simple -> h2, h3 : n'affiche pas les trois blocs graphiques sous le titre
 * .metiers-cols -> groupe : permet de gérer l'affichage des colonnes des pages Métiers (bande grise...)
 * .contact-tel -> * : affiche le texte en grand et en rouge (spécial page contact, colonne gauche)
 */
.hachures,
.section-projets{
	background:url(design/fond-hachures.png) repeat center top transparent;
}
.hachures-sombres{
	background:repeat center top var(--couleur-gris-fonce);
	background-image:url(design/fond-hachures.png), url(design/fond-hachures.png);
}

.site-content{
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.hachures-header{
	pointer-events: none;
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:800px;
	z-index:-1;
	background-color:#f7f7f7;
}
.hachures-header.short{ height:400px; }
.hachures-header::before{
	content:"";
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' enable-background='new 0 0 478.76 431.78' viewBox='0 0 478.76 431.78'%3E%3Cpath d='M465.95,117.68H348.27L361.08,0h117.67L465.95,117.68z' fill='%23CF2026'/%3E%3Cpath d='M156.86,291.54h118.18l12.87-118.17H169.72L156.86,291.54z'/%3E%3Cpath d='M303.16,33.14H184.99l-12.8,117.55h118.18L303.16,33.14z'/%3E%3Cpath d='M15.26,291.54h118.92l12.86-118.17H28.11L15.26,291.54z'/%3E%3Cpath d='M259.78,431.78l12.8-117.55H154.39l-12.8,117.55H259.78z'/%3E%3Cpath d='M149.5,150.69l12.8-117.55h-8.69c-60.63,0-115.63,49.61-122.23,110.24l-0.8,7.31H149.5z'/%3E%3Cpath d='m295.26 314.23-12.8 117.55h5.93c60.63 0 115.64-49.61 122.24-110.24l0.79-7.31h-116.16z'/%3E%3Cpath d='m131.7 314.23h-118.91l-0.79 7.31-12 110.24h118.9l12.8-117.55z'/%3E%3Cpath d='m426.75 173.38h-116.16l-12.87 118.17h116.16l12.87-118.17z'/%3E%3C/svg%3E") no-repeat left bottom / cover transparent;
	position: absolute;
	left:0;
	bottom:0;
	width:480px;
	height:432px;
	opacity:0.1;
	transform:translate(-16%, 46%);
}

.entry-header{
	margin:2em auto;
	--taille-graph:2.2rem;
}
.entry-header > :first-child{margin-top:0;}
.entry-header > :last-child{margin-bottom:0;}
.entry-surtitre{
	color:var(--couleur-couleur-principale);
	font-style:italic;
	text-transform:uppercase;
	font-size:2.2rem;
	margin-bottom:1.5em;
}
.entry-title{
	padding: 0;
	margin:0;
}
.entry-title strong{
	font-weight:inherit;
	color:#000;
}
.entry-intro{
	margin-top:calc(-1 * var(--taille-graph) - 0.1em);
	margin-left:calc(4.8 * var(--taille-graph));
	font-size:2rem;
}
.entry-intro > :last-child{margin-bottom:0;}

.entry-intro-zone{
	position: relative;
	z-index: 1;
}
.entry-intro-zone::after,
.entry-intro-portrait::after{
	content:"";
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' enable-background='new 0 0 478.76 431.78' viewBox='0 0 478.76 431.78'%3E%3Cpath d='M465.95,117.68H348.27L361.08,0h117.67L465.95,117.68z' fill='%23c00d0e'/%3E%3Cpath d='M156.86,291.54h118.18l12.87-118.17H169.72L156.86,291.54z' fill='%23fbba00'/%3E%3Cpath d='M303.16,33.14H184.99l-12.8,117.55h118.18L303.16,33.14z' fill='%23fbba00'/%3E%3Cpath d='M15.26,291.54h118.92l12.86-118.17H28.11L15.26,291.54z' fill='%23fbba00'/%3E%3Cpath d='M259.78,431.78l12.8-117.55H154.39l-12.8,117.55H259.78z' fill='%23fbba00'/%3E%3Cpath d='M149.5,150.69l12.8-117.55h-8.69c-60.63,0-115.63,49.61-122.23,110.24l-0.8,7.31H149.5z' fill='%23fbba00'/%3E%3Cpath d='m295.26 314.23-12.8 117.55h5.93c60.63 0 115.64-49.61 122.24-110.24l0.79-7.31h-116.16z' fill='%23fbba00'/%3E%3Cpath d='m131.7 314.23h-118.91l-0.79 7.31-12 110.24h118.9l12.8-117.55z' fill='%23fbba00'/%3E%3Cpath d='m426.75 173.38h-116.16l-12.87 118.17h116.16l12.87-118.17z' fill='%23fbba00'/%3E%3C/svg%3E") no-repeat center center / contain transparent;
	display:block;
	position: absolute;
	left:calc(50% + 0.5 * var(--largeur) - 5vw);
	bottom:-0.14em;
	font-size:340px;
	width:1.1em;
	height:1em;
	opacity:0.4;
	z-index: 1;
}
.entry-intro-zone-inner{
	overflow:hidden;
	display:flex;
	align-items:stretch;
	justify-content:flex-start;
}
.entry-intro-zone-inner > *{
	flex:0 0 100%;
}
.entry-intro-bg{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	justify-content: center;
	position: relative;
	z-index: 0;
}
.entry-intro-bg-container{
	display:block;
	flex:1 0 auto;
	width:calc(50vw + var(--largeur) * 0.5 + (50vw - var(--largeur) * 0.5) * 0.5 - var(--largScrollBar));
	height:100%;
	position: relative;
}
.entry-intro-bg-container::after{
	content:"";
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.5);
}
.entry-intro-bg-img{
	width:100%;
	height:100%;
	display:block;
	object-fit: cover;
	object-position: center center;
}
.entry-intro-fg{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	transform:translateX(-100%);
	position: relative;
	z-index: 2;
}
.entry-intro-fg-container{
	padding:6rem 0;
	padding-left:clamp(30px, 3vw, 60px);
	padding-right:clamp(30px, 3vw, 60px);
}
@media(min-width:981px){
	.page-intro-cols{
		display:flex;
		align-items:center;
		justify-content:flex-end;
	}
	.page-intro-cols .entry-header{
		flex:0 0 auto;
		width:calc((var(--largeur) - var(--largScrollBar) - var(--margesDefaut))*0.5);
		margin-left:auto;
		margin-right:var(--margesDefaut);
	}
	.page-intro-cols .entry-intro-zone{
		flex:0 0 auto;
		width:calc(50vw - (var(--largScrollBar) + var(--margesDefaut))*0.5);
		align-self:stretch;
		margin:6em 0 0 0;
	}
	.page-intro-cols .entry-intro-zone *{
		width:100%;
		height:100%;
	}
	.page-intro-cols .entry-intro-zone::after,
	.entry-intro-portrait::after{
		left:calc(0.5 * (var(--largeur) - var(--margesDefaut)) - 5vw);
	}
}

.metiers-cols{
	position: relative;
	text-align:center;
	margin-bottom:2em;
}
.metiers-cols .wp-block-column:not(:last-child) > .wp-block-image{
	position: relative;
}
.metiers-cols .wp-block-column:not(:last-child) > .wp-block-image img{
	position: relative;
	z-index: 1;
}
.metiers-cols .h3{
	margin-left:auto;
	margin-right:auto;
	max-width:480px;
}
.metiers-cols .h4{
	margin:0.5em 0;
}
@media(min-width:981px){
	.metiers-cols::before{
		content:"";
		position: absolute;
		left:calc(50% - 100vmax);
		top:calc(50% - 45px);
		width:200vmax;
		height:90px;
		background-color:#f7f7f7;
		z-index:-1;
	}
	.metiers-cols .wp-block-column:not(:last-child) > .wp-block-image::before,
	.metiers-cols .wp-block-column:not(:last-child) > .wp-block-image::after{
		content:"";
		display:block;
		position: absolute;
		left:calc(100% + var(--margesDefaut) * 0.5);
		top:65%;
		z-index: -1;
		transform:translate(-50%, -50%);
	}
	.metiers-cols .wp-block-column:not(:last-child) > .wp-block-image::before{
		width:100%;
		height:4px;
		background:var(--couleur-noir);
	}
	.metiers-cols .wp-block-column:not(:last-child) > .wp-block-image::after{
		width:26px;
		height:39px;
		background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 39'%3E%3Cpath d='M25.3 18c.8.7 1 1.9.3 2.7l-.3.3L3.1 38.4c-.8.7-2.1.5-2.7-.3a1.92 1.92 0 0 1-.4-1.2V2.1C0 1 .9.2 1.9.2c.4 0 .9.1 1.2.4L25.3 18z' fill='%23c00d0e'/%3E%3C/svg%3E") no-repeat center center / contain transparent;
	}
}
@media(max-width:980px){
	.entry-intro-bg-container{
		width:100%;
	}
	.entry-intro-fg-container{
		padding:4rem 0;
	}
}
@media(max-width:600px){
	blockquote{
		margin-left:0;
	}
	.entry-intro{
		margin:1em 0;
	}
	.entry-intro-fg-container{
		padding:4rem 30px;
		width:100%;
	}
}

/* Témoignages */
.page-intro-temoignages .temoignages-fonction{ margin-top:0.5em; }
.entry-intro-portrait{position: relative;}
.entry-intro-portrait-format{
	position: relative;
	width:540px;
	width:min(100%, 540px);
}
.entry-intro-portrait-format-inner{
	position: relative;
	padding:100% 0 0 0;
}
.entry-intro-portrait img{
	position: absolute;
	left:0;
	top:0;
	display:block;
	object-fit:cover;
	object-position: center center;
	width:100%;
	height:100%;
	border-radius: 50%;
}
@media(min-width:981px){
	.page-intro-temoignages{
		align-items:flex-start;
		justify-content: space-between;
	}
	.page-intro-cols .temoignages-header{
		width:calc(50% - var(--margesDefaut)*0.5);
		margin:0;
		margin-right:var(--margesDefaut);
	}
	.entry-intro-portrait{
		width:calc(50% - var(--margesDefaut)*0.5);
	}
}
@media(max-width:980px){
	.entry-intro-portrait-format{
		width:240px;
	}
	.page-intro-temoignages{
		display:flex;
		flex-direction:column-reverse;
		align-items: center;
		justify-content: center;
	}
}


.contact-tel{
	color:var(--couleur-couleur-principale);
	font-size:1.667em;
	font-weight: 700;
}








/*============*\
#    HEADER    #=====================================================================================================================================
\*============*/
.site-header{
	padding:0 50px;
	padding:0 clamp(10px, 4vw, 50px);
	padding-bottom:2rem;
	position: relative;
	z-index: 2;
}
.header-centre{ padding:1em 0; }
.header-gauche{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:flex-start;
}
.header-droite{
	flex:1 1 auto;
}
.header-logo{
	order:0;
	flex:0 0 auto;
	width:250px;
	width:clamp(180px, 20vw, 300px);
}
.header-gauche::before{
	content:"";
	order:1;
	align-self:stretch;
	display:block;
	width:1px;
	background-color:currentColor;
	margin:0.2em 1em 0.4em 1em;
	margin-left:clamp(1em, 2.5vw, 2em);
	margin-right:clamp(1em, 2.5vw, 2em);
}
.header-accroche{
	order:2;
	flex:0 1 auto;
}
.header-accroche-blog{
	font-weight:100;
	font-style:italic;
	font-size:7rem;
	text-transform: uppercase;
	margin:0;
	color:inherit;
	line-height:inherit;
}
.header-accroche-blog::after{
	content:"";
	display:inline-block;
	width:0.25em;
	height:0.25em;
	background:var(--couleur-couleur-principale);
	transform-origin: left bottom;
	transform:skewX(-10deg);
	vertical-align: baseline;
	margin:0 0 0.5em 0;
}
@media(max-width:600px){
	.header-gauche{
		flex-direction: column;
		text-align:center;
	}
	.header-gauche::before{
		width:50%;
		align-self:center;
		height:1px;
		margin:0.5em auto;
		opacity: 0.3;
	}
}
@media(min-width:601px) and (max-width:980px){
	.header-droite{
		display:flex;
		align-items:stretch;
		justify-content:space-between;
		flex-direction: row-reverse;
		margin-top:1em;
	}
}
@media(min-width:981px){
	.site-header{
		display:flex;
		flex-direction:column;
		align-items:flex-end;
		justify-content:flex-start;
	}
	.site-header > *{
		flex:0 0 auto;
	}
	.header-haut{ order:-1; }
	.header-bas{ order:1; }
	.header-centre{
		order:0;
		align-self:stretch;
		display:flex;
		align-items:center;
		justify-content:space-between;
	}
}

.header-accroche-accroche{
	font-weight:bold;
	margin:0 0 0.5em 0;
	color:inherit;
	text-transform:none;
	font-size:1em;
	line-height:inherit;
	font-style: normal;
}
.header-accroche-tel{
	font-style:italic;
}
.header-accroche-tel-lien{
	color:inherit;
	text-decoration:none;
}
.header-accroche-tel-icon{
	display:inline-block;
	width:1.2rem;
	height:1.8rem;
	vertical-align:middle;
	margin:-0.2em 0 0.2em 0;
}
.header-accroche-tel-icon path{ fill:var(--couleur-couleur-secondaire); }

.search-form{
	display:flex;
	align-items:stretch;
	justify-content:flex-end;
	margin-left:30px;
}
.search-field{
	flex:1 1 auto;
	max-width:300px;
	height:auto;
}
.search-submit{
	flex:0 0 auto;
	color:var(--couleur-couleur-principale);
	padding:0;
	display:flex;
	align-items: flex-end;
	justify-content: center;
	background:none;
	border:none;
	transform:none;
}
.search-submit svg{
	width:2.4rem;
	height:2.4rem;
	margin:0 0 0.2em 0.5em;
}
.search-submit path{fill:currentColor;}
@media(max-width:600px){
	.search-form{ margin:1em 0; }
}
@media(max-width:980px){
	.search-form{ flex:1 1 auto; }
	.search-field{
		max-width:100%;
		width:100%;
	}
}

/* Menus */
.site-header-menu-alt--level-1-ul,
.site-header-menu-main--level-1-ul{
	display:block;
	list-style:none;
	margin:0;
	padding:0;
	color:var(--couleur-gris-moyen);
}
.site-header-menu-alt--level-1-li,
.site-header-menu-main--level-1-li{
	position: relative;
}
.site-header-menu-alt--level-1-li::after,
.site-header-menu-main--level-1-li::after{
	content:"";
	position: absolute;
	left:0em;
	top:0;
	right:0em;
	bottom:0;
	display:none;
	background:#000;
	transform-origin:center center;
	transform:skewX(-10deg);
	z-index:-1;
}
.site-header-menu-alt--level-1-li.current_page_item::after,
.site-header-menu-main--level-1-li.current_page_item::after{
	display:block;
}
.site-header-menu-alt--level-1-a,
.site-header-menu-main--level-1-a{
	display:inline-block;
	text-decoration:none;
	color:inherit;
	vertical-align:middle;
	padding:0.5em 1em;
	position:relative;
	z-index:1;
}
.menu-toggle{
	background-color:var(--couleur-couleur-principale);
	color:#fff;
	text-transform: uppercase;
	font-size:2rem;
	display:flex;
	align-items:center;
	justify-content: center;
}
.menu-toggle-icon{
	flex:0 0 auto;
	display:inline-block;
	font-size:1em;
	width:1em;
	height:0.2em;
	background:currentColor;
	position: relative;
	margin:0 0.5em 0 0;
}
.menu-toggle-icon::before,
.menu-toggle-icon::after{
	content:"";
	position: absolute;
	left:0;
	right:0;
	height:100%;
	background:currentColor;
}
.menu-toggle-icon::before{
	top:200%;
}
.menu-toggle-icon::after{
	bottom:200%;
}
.menu-close{
	position:absolute;
	right:0.5em;
	top:2em;
	z-index:1;
	font-size:10px;
	width:5em;
	height:5em;
	background:var(--couleur-blanc);
	color:var(--couleur-noir);
	border-radius:50%;
	box-shadow: 0 0 0.5em 0 rgba(0,0,0,0.3);
	transition:right 0.3s ease-out;
}
.header-bas.active .menu-close{right:-2em;}
.menu-close::before,
.menu-close::after{
	content:"";
	position:absolute;
	left:calc(50% - 1.5em);
	top:calc(50% - 0.1em);
	width:3em;
	height:0.2em;
	background:currentColor;
	transform-origin: center center;
}
.menu-close::before{transform:rotate(45deg);}
.menu-close::after{transform:rotate(135deg);}
@media(max-width:600px){
	.menu-toggle{ width:100%; }
}
@media(max-width:980px){
	body:not(.ready) .header-haut,
	body:not(.ready) .header-bas{
		clip-path:inset(0 100% 100% 0);
		position: absolute;
	}
	.header-bas{
		position: fixed;
		left:0;
		top:0;
		transform:translateX(calc(-100% - 1px));
		transition:transform 0.3s ease-out;
	}
	body.ready .header-bas{
		max-width:calc(100vw - 50px - var(--largScrollBar));
		height:100vh;
		z-index:3;
	}
	body.ready .header-bas.active{
		transform:translateX(calc(0% - 1px));
	}
	body.ready .header-bas::after{
		content:"";
		background:#000;
		opacity:0;
		width:calc(100vw - 0%);
		height:100%;
		position: absolute;
		left:100%;
		top:0;
		pointer-events:none;
		transition:0.3s ease-out;
		transition-property: opacity,width;
	}
	body.ready .header-bas.active::after{
		opacity:0.8;
		width:calc(100vw - 100%);
		pointer-events:all;
	}
	.main-navigation{
		flex:0 1 auto;
		background:#fff;
		height:100%;
		overflow:auto;
	}
	.site-header-menu-alt--level-1-li::after,
	.site-header-menu-main--level-1-li::after{
		width:3em;
		left:-2.8em;
		transform-origin:right bottom;
		background-color:var(--couleur-couleur-principale);
	}
	.site-header-menu-alt--level-1-li.current_page_item,
	.site-header-menu-main--level-1-li.current_page_item{
		color:var(--couleur-noir);
		font-weight:bold;
	}
	.site-header-menu-alt--level-1-a,
	.site-header-menu-main--level-1-a{
		display:block;
	}
}
@media(min-width:981px){
	.menu-toggle{display:none;}
	.site-header-menu-alt--level-1-ul,
	.site-header-menu-main--level-1-ul{
		text-align:center;
	}
	.site-header-menu-main--level-1-ul{
		font-size:1.1em;
		text-transform:uppercase;
	}
	.site-header-menu-alt--level-1-li,
	.site-header-menu-main--level-1-li{
		display:inline-block;
	}
	.site-header-menu-main--level-1-li{
		margin:0.2em 0 0 0;
	}
	.site-header-menu-alt--level-1-li.current_page_item,
	.site-header-menu-main--level-1-li.current_page_item,
	.site-header-menu-main--level-1-li.menu-contact{
		color:var(--couleur-blanc);
		font-weight:bold;
	}
	.site-header-menu-alt--level-1-li::after,
	.site-header-menu-main--level-1-li::after{
		right:0em;
	}
	.site-header-menu-main--level-1-li.menu-contact::after{
		display:block;
		background-color:var(--couleur-couleur-principale);
	}
	.site-header-menu-alt--level-1-li:not(:first-child)::before,
	.site-header-menu-main--level-1-li:not(:first-child)::before{
		content:"";
		display:inline-block;
		border-left:1px solid currentColor;
		width:0px;
		height:1em;
		vertical-align:middle;
	}
	.site-header-menu-main--level-1-li:not(:first-child)::before{
		border-color:var(--couleur-couleur-principale);
	}
	.site-header-menu-alt--level-1-li.current_page_item::before,
	.site-header-menu-main--level-1-li.current_page_item::before,
	.current_page_item + .site-header-menu-alt--level-1-li::before,
	.current_page_item + .site-header-menu-main--level-1-li::before,
	.site-header-menu-main--level-1-li.menu-contact::before{
		border-color:transparent;
	}
	.site-header-menu-alt--level-1-a,
	.site-header-menu-main--level-1-a{
		display:inline-block;
	}
	.site-header-menu-alt--level-1-a::before,
	.site-header-menu-main--level-1-a::before{
		content:"";
		position: absolute;
		left:1em;
		right:1em;
		height:0;
		opacity:0;
		background-color:var(--couleur-couleur-principale);
		transition:0.3s ease-out;
		transition-property: height, opacity;
	}
	.site-header-menu-alt--level-1-a::before{ top:0; }
	.site-header-menu-main--level-1-a::before{ bottom:0; }
	.site-header-menu-alt--level-1-a:hover::before,
	.site-header-menu-alt--level-1-a:focus::before,
	.site-header-menu-main--level-1-a:hover::before,
	.site-header-menu-main--level-1-a:focus::before{
		height:0.2em;
		opacity:1;
	}
}

/* Fil d'Ariane */
.breadcrumb{
	padding:1em;
	color:var(--couleur-noir);
}
.breadcrumb a{
	color:inherit;
	text-decoration:none;
}
.breadcrumb span:nth-last-child(-n+2){
	color:var(--couleur-couleur-principale);
	font-weight:bold;
}




/*============*\
#    FOOTER    #=====================================================================================================================================
\*============*/
.site-footer a{
	color:inherit;
	text-decoration:none;
}
.site-footer a:hover,
.site-footer a:focus{
	text-decoration:underline;
}
.footer-haut{
	padding:1em 0;
	background-color:#c8c8c8;
	color:var(--couleur-gris-fonce);
	font-size:1.4rem;
	text-align:center;
}
.footer-haut ul,
.footer-haut li,
.footer-haut a{
	margin:0;
	padding:0;
	list-style:none;
	display:inline;
}
.footer-haut a,
.footer-haut li > span{
	display:inline-block;
	margin:0.2em 0.3em;
}
.footer-haut li::before{ content:"-"; }
.footer-haut ul:first-child li:first-child::before{ content:none; }

.footer-bas{
	padding:7rem 0;
}
.widgets-footer{
	color:var(--couleur-gris-moyen);
	column-count: 3;
	column-gap: 30px;
	column-gap: max(20px, calc(33% - 220px));
}
.widgets-footer > *{
	break-inside: avoid;
	margin:0 0 2em 0;
}
.widgets-footer .widget-titre{
	color:var(--couleur-couleur-principale);
	font-weight:bold;
	text-transform: uppercase;
	margin:0 0 0.5em 0;
}
.contrasts .widgets-footer{ color:#fff; }
.contrasts .widgets-footer .widget-titre{ color:var(--couleur-couleur-secondaire); }
@media(max-width:980px){
	.widgets-footer{column-count: 2;}
}
@media(max-width:600px){
	.widgets-footer{
		column-count: 1;
		text-align:center;
	}
}



/*===================*\
#    LISTE DES CPT    #==============================================================================================================================
\*===================*/
.section-projets{
	background-color:#eee;
	padding:0.5em 0;
}
.cpt-filtres{
	text-align: center;
	margin:2em auto;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
}
.cpt-filtres-item{
	flex:0 0 auto;
	margin:0.5em 1em;
	position: relative;
	z-index: 1;
	max-width:100%;
}
.cpt-filtres-item:not(.active){
	background-color:#eee;
	color:inherit;
}
.section-projets .cpt-filtres-item:not(.active){
	background-color:#ddd;
}
.cpt-filtres-item.active{
	color:#fff;
	background-color: var(--couleur-couleur-principale);
}
.cpt-bouton-all{order:-1;}

.cpt-liste{
	display:flex;
	align-items:stretch;
	justify-content:flex-start;
	flex-wrap: wrap;
}
.cpt-liste > *{
	flex:0 0 auto;
	display:flex;
	text-decoration:none;
	color:inherit;
}
.bloc-temoignage{
	align-items: center;
	justify-content: flex-start;
	width:calc(50% - var(--margesDefaut)*0.5);
	margin:1em 0 1em var(--margesDefaut);
}
.bloc-temoignage:nth-child(odd){margin-left:0;}
.bloc-temoignage-image{
	display:block;
	width:170px;
	height:170px;
	flex:0 0 auto;
	margin-right:30px;
}
.bloc-temoignage-image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
	border-radius:50%;
}
.bloc-temoignage-content{
	flex:1 1 auto;
}
.bloc-temoignage-titre{
	color:var(--couleur-couleur-principale);
	font-weight: 900;
	font-size:2rem;
	text-transform: uppercase;
	margin:0 0 0.2em 0;
	text-decoration:none;
}
.bloc-temoignage-fonction{
	font-weight:bold;
	font-style:italic;
	margin:0 0 0.2em 0;
}
.bloc-temoignage-intro{
	font-style:italic;
	color:var(--couleur-gris-moyen);
}
.bloc-temoignage-intro > :last-child{margin-bottom:0;}
.bloc-projet{
	flex-direction: column;
	width:calc(25% - 20px * 0.75);
	margin:0px 0 40px 20px;
	box-shadow:0 3px 6px rgba(0,0,0,0.2);
	position: relative;
	top:0px;
	transition: 0.3s ease-out;
	transition-property: top, box-shadow;
}
.bloc-projet:hover,
.bloc-projet:focus{
	top:3px;
	box-shadow:0 0px 4px rgba(0,0,0,0.4);
}
.bloc-projet:nth-child(4n+1){
	margin-left:0;
}
.bloc-projet-image{
	flex:0 0 auto;
	position: relative;
	padding-top:100%;
}
.bloc-projet-image img{
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
}
.bloc-projet-titre{
	text-align:center;
	padding:0.5em 1em;
	text-transform: uppercase;
	color:var(--couleur-gris-moyen);
	font-size:1.8rem;
	font-weight:bold;
	background:#fff;
	flex:1 1 auto;
	line-height:inherit;
	margin:0;
	font-style:normal;
}
@media(max-width:980px){
	.bloc-temoignage{
		width:100%;
		margin-left:0;
	}
	.bloc-projet{ width:calc(50% - 20px * 0.5); }
	.bloc-projet:nth-child(2n+1){ margin-left:0; }
}
@media(max-width:600px){
	.bloc-temoignage{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.bloc-temoignage-image{
		margin:1em 0;
	}
	.bloc-temoignage-content{width:100%;}
	.bloc-projet{
		width:100%;
		margin-left:0;
	}
}

.cpt-nav-container{
	display:flex;
	align-items: stretch;
	justify-content: flex-end;
	margin-bottom:2em;
}
.cpt-nav-lien{
	line-height:0;
	padding:1rem 2rem;
}
.cpt-nav-lien[rel="prev"]{
	order:-1;
	padding-left:1.5rem;
}
.cpt-nav-lien[rel="next"]{
	order:1;
	padding-right:1.5rem;
}
.cpt-nav-lien[rel="prev"] span,
.cpt-nav-lien[rel="next"] span{
	display:inline-block;
	width:0;
	height:0;
	border-style:solid;
	line-height:0;
}
.cpt-nav-lien[rel="prev"] span{
	border-width:0.6em 0.8em 0.6em 0;
	border-color:transparent currentColor transparent transparent;
}
.cpt-nav-lien[rel="next"] span{
	border-width:0.6em 0 0.6em 0.8em;
	border-color:transparent transparent transparent currentColor;
}
@media(max-width:980px){
	.cpt-nav-container{justify-content: center;}
}
@media(max-width:600px){
	.cpt-nav-container{flex-wrap: wrap;}
	.cpt-nav-back{
		order:2;
		margin-top:0.5em;
	}
}



/*==========*\
#    BLOG    #=======================================================================================================================================
\*==========*/
.bloc-post{
	align-items:center;
	justify-content: flex-start;
	margin:0 0 3em 0;
	flex-direction: column;
}
.bloc-post-image{
	width:100%;
	height:calc((var(--largeur)*0.5 - 20px)*0.5625);
	margin:0 0 1em 0;
}
.bloc-post-image img{
	width:100%;
	height:100%;
}
.bloc-post-titre{
	font-size:1.625em;
	margin-top:0;
}
.bloc-post-date{
	text-transform: uppercase;
	color:var(--couleur-couleur-principale);
	margin:0 0 0.5em 0;
	font-weight:bold;
	font-style:italic;
}
.bloc-post-description > :last-child{margin-bottom:0;}
@media(max-width:980px){
	.post-liste{ display:block; }
	.bloc-post-image{ height:calc(var(--largeur)*0.5625); }
}
@media(min-width:981px){
	.post-liste{
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.bloc-post{
		flex:0 0 calc(50% - 20px);
	}
	.bloc-post:first-child{
		flex-basis: 100%;
		flex-direction: row;
	}
	.bloc-post:first-child .bloc-post-image{
		flex:0 0 auto;
		width:40%;
		height:100%;
		margin:0 20px 0 0;
		align-self: stretch;
	}
}



/*=============*\
#    ACCUEIL    #====================================================================================================================================
\*=============*/

.home-section-intro{
	font-size:1.25em;
}

/* Intro */
.home-intro-zone{
	text-align:center;
	margin-bottom:60px;
}
.home-intro-zone::after,
.home-intro-zone .entry-intro-bg-container::after{content:none;}
.home-intro-ligne{
	--home-intro-carre:400px;
	display:flex;
	align-items:stretch;
	justify-content: flex-end;
	flex-direction: row;
	min-height:var(--home-intro-carre);
}
.home-intro-ligne:first-child{flex-direction: row-reverse;}
.home-intro-image{ flex:1 1 auto; }
.home-intro-image img{
	width:100%;
	height:100%;
}
.home-intro-texte{
	flex:0 0 auto;
	width:var(--home-intro-carre);
	display:flex;
	align-items: center;
	justify-content: center;
	text-align: left;
	color:#fff;
	font-size:2.4rem;
	font-weight: bold;
	text-transform: uppercase;
}
.home-intro-ligne:first-child .home-intro-texte{background-color:var(--couleur-couleur-secondaire);}
.home-intro-ligne:last-child .home-intro-texte{background-color:var(--couleur-couleur-principale);}
.contrasts .home-intro-ligne:first-child .home-intro-texte{color:var(--couleur-noir);}
.home-intro-texte-inner{
	width:100%;
	padding:10% 15%;
}
@media(max-width:980px){
	.home-intro-ligne{
		--home-intro-carre:300px;
	}
	.home-intro-texte{
		font-size:2rem;
	}
}
@media(max-width:600px){
	.home-intro-ligne,
	.home-intro-ligne:first-child{
		flex-direction:column;
		min-height: 0;
	}
	.home-intro-texte{
		width:auto;
		text-align: center;
	}
}

@media(max-width:980px){
	.home-intro-bouton{
		margin:1em 2em;
	}
}
@media(min-width:981px){
	.home-intro-bouton{
		position: absolute;
		left:50%;
		top:100%;
		transform:translate(-50%, -50%);
	}
}

/* Chiffres */
.home-chiffres-container{
	display:flex;
	align-items:flex-start;
	justify-content: center;
	flex-wrap: wrap;
}
.home-chiffre{
	text-align: center;
	font-size: 1.6rem;
	font-weight: 900;
	text-transform: uppercase;
	flex:0 1 auto;
	max-width:140px;
	margin:15px;
	color:inherit;
	transition:color 0.3s ease-out;
	text-decoration: none;
}
.home-chiffre-image{
	width:70px;
	height:70px;
	display:flex;
	align-items: center;
	justify-content: center;
	margin:0 auto 1em auto;
}
.home-chiffre-contact .home-chiffre-image,
.home-chiffre-contact .home-chiffre-image svg{
	transform-origin:center center;
}
.home-chiffre-contact .home-chiffre-image{
	background:currentColor;
	transform:skewx(-10deg);
}
.home-chiffre-contact:hover,
.home-chiffre-contact:focus{
	color: var(--couleur-couleur-principale);
}
.home-chiffre-contact .home-chiffre-image svg{
	display:block;
	transform:skewx(10deg);
}

/* Secteurs */
.home-secteurs-container{
	display:flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.home-secteurs-container.taille-3 > *{--ratio-secteur:3;}
.home-secteurs-container.taille-4 > *{--ratio-secteur:4;}
.home-secteurs-container.taille-5 > *{--ratio-secteur:5;}
.home-secteurs-container.taille-6 > *{--ratio-secteur:3;}
@media(max-width:1260px){
	.home-secteurs-container.taille-3 > *{--ratio-secteur:3;}
	.home-secteurs-container.taille-4 > *{--ratio-secteur:2;}
	.home-secteurs-container.taille-5 > *{--ratio-secteur:3;}
	.home-secteurs-container.taille-6 > *{--ratio-secteur:3;}
}
@media(max-width:980px){
	.home-secteurs-container.taille-3 > *{--ratio-secteur:2;}
	.home-secteurs-container.taille-4 > *{--ratio-secteur:2;}
	.home-secteurs-container.taille-5 > *{--ratio-secteur:2;}
	.home-secteurs-container.taille-6 > *{--ratio-secteur:2;}
}
@media(max-width:600px){
	.home-secteurs-container.taille-3 > *{--ratio-secteur:1;}
	.home-secteurs-container.taille-4 > *{--ratio-secteur:1;}
	.home-secteurs-container.taille-5 > *{--ratio-secteur:1;}
	.home-secteurs-container.taille-6 > *{--ratio-secteur:1;}
}
.home-secteur{
	flex:1 1 auto;
	flex-basis:calc(100% / var(--ratio-secteur));
	min-height:calc(100vw / var(--ratio-secteur));
	background:no-repeat center center / cover #000;
	text-decoration:none;
	color:#fff;
	position: relative;
	overflow: hidden;
	display:flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
.home-secteur-layer{
	position: absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	z-index: 0;
}
.home-secteur-layer-fond{
	position: absolute;
	left:-150%;
	top:0;
	width:300%;
	height:100%;
	opacity: 0.6;
	background:var(--couleur-noir);
	transform:skewX(-10deg);
	transform-origin:center top;
	transition:0.5s ease-out;
	transition-property:opacity, left;
	z-index: 0;
}
.contrasts .home-secteur-layer-fond{
	opacity: 0.9;
}
.home-secteur:hover .home-secteur-layer-fond,
.home-secteur:focus .home-secteur-layer-fond{
	left:-30%;
}
.home-secteur-layer-fond::before{
	content:"";
	position: absolute;
	left:0;
	width:50%;
	top:0;
	height:100%;
	background:var(--couleur-couleur-principale);
}
.home-secteur-top{
	position: relative;
	top:0;
	left:0;
	z-index: 1;
	font-size:2.4rem;
	font-weight:900;
	font-style:italic;
	text-transform: uppercase;
	flex:0 0 auto;
	width: 100%;
	max-width:320px;
	display:flex;
	align-items: baseline;
	justify-content: flex-start;
}
.home-secteur-top-plus{
	font-size: inherit;
	padding:0.5em 0.8em;
	margin:0;
	flex:0 0 auto;
	font-weight:900;
}
.home-secteur-top-titre{
	padding:0 1em;
}
.home-secteur-excerpt{
	flex:1 0 auto;
	position: relative;
	z-index: 1;
	width:100%;
	left:-100%;
	transition:left 0.5s ease-out;
	padding: 1.5em 2em;
	display:flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.home-secteur:hover .home-secteur-excerpt,
.home-secteur:focus .home-secteur-excerpt{
	left:0;
}
.home-secteur-devis{
	align-items: center;
	font-size:3.4rem;
	text-transform: uppercase;
	font-weight: 900;
	text-align: center;
	padding:1em;
	background-color: var(--couleur-noir);
	color:var(--couleur-blanc);
	transition:0.3s ease-out;
	transition-property: color, background-color;
}
.home-secteur-devis:hover,
.home-secteur-devis:focus{
	background-color: var(--couleur-couleur-secondaire);
	color:var(--couleur-noir);
}
.home-secteur-label{
	max-width:12ch;
}
.home-secteur-char{
	font-weight: 100;
	font-size:4em;
	line-height: 1;
}

/* Partenaires */
.home-partenaires{
	background-color:#2e2e2d;
	color:#fff;
	padding:60px 0;
	position: relative;
}
.home-partenaires::before,
.home-partenaires::after{
	content:"";
	display:block;
	transform:skewX(-10deg);
	position: absolute;
	z-index: 0;
}
.home-partenaires::before{
	background:var(--couleur-couleur-principale);
	transform-origin:left top;
	height:300px;
	top:-150px;
	left:0;
	right:calc(50vw + var(--largeur)*0.5);
}
.home-partenaires::after{
	background:var(--couleur-couleur-secondaire);
	transform-origin:right bottom;
	height:200px;
	bottom:-100px;
	right:0;
	left:calc(50vw + var(--largeur)*0.5);
}
.home-partenaires-container{
	display:flex;
	align-items: center;
	flex-direction: column;
	position: relative;
	z-index: 1;
}
.home-partenaires-container-inner{
	--ratio-partenaires:5;
	display:flex;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	flex-wrap: wrap;
	width:calc(250px * var(--ratio-partenaires));
}
.home-partenaires-item{
	flex:0 0 auto;
	width:200px;
	margin:25px;
}
@media(max-width:1260px){
	.home-partenaires-container-inner{--ratio-partenaires:4;}
}
@media(max-width:980px){
	.home-partenaires-container-inner{--ratio-partenaires:2;}
}
@media(max-width:600px){
	.home-partenaires-container-inner{--ratio-partenaires:1;}
}

/* Actus */
.home-actus-col{
	margin:2em 0 4em 0;
}

.home-actus-item{
	display:block;
	color:inherit;
	text-decoration:none;
}
.home-actus-item-image{ position:relative; }
.home-actus-item-image img{ width:100%; }
.home-actus-item-tag{
	color:var(--couleur-blanc);
	transform:skewX(-10deg);
	position:absolute;
	right:2em;
	bottom:-2.2rem;
	font-size:2rem;
	text-transform:uppercase;
	font-weight:bold;
	line-height:1.2;
	padding:1rem 3rem;
}
.home-actus-item-tag,
.home-actus-item-tag span{ transform-origin: center center; }
.home-actus-col-blog .home-actus-item-tag{ background-color:var(--couleur-couleur-principale); }
.home-actus-col-actus .home-actus-item-tag{ background-color:var(--couleur-couleur-secondaire); }
.home-actus-item-tag span{
	position:relative;
	display:inline-block;
	transform:skewX(10deg);
}
.home-actus-item-date{
	font-size:2.4rem;
	font-weight:bold;
	margin:4rem 0 1em 0;
}
.home-actus-col-blog .home-actus-item-date{ color:var(--couleur-couleur-principale); }
.home-actus-col-actus .home-actus-item-date{ color:var(--couleur-couleur-secondaire); }
.home-actus-item-titre{
	margin-top:0;
	text-decoration:none;
	color:inherit;
}
.home-actus-bouton{ text-align:center; }

.home-actus-col-actus .wp-block-button__link:not(:hover):not(:focus){ background-color:var(--couleur-couleur-secondaire); }
.contrasts .home-actus-col-actus .wp-block-button__link{ color:var(--couleur-noir); }
@media(min-width:601px){
	.home-actus-item-contenu{
		padding:4rem;
	}
	.home-actus-item-date{
		margin-left:0 0 1em -1em;
	}
}
@media(min-width:981px){
	.home-actus-colonnes{
		display:flex;
		align-items:stretch;
		justify-content:center;
	}
	.home-actus-col{
		flex:0 1 50%;
		display:flex;
		flex-direction: column;
		margin:1em 0 1em 20px;
	}
	.home-actus-col:first-child{margin-left:0}
	.home-actus-item-outer{ flex:1 0 auto; }
	.home-actus-col-blog .home-actus-bouton{ text-align:right; }
	.home-actus-col-actus .home-actus-bouton{ text-align:left; }
	.home-actus-col .wp-block-button__link{ margin:0 -0.5em; }
}



.wpcf7-list-item {
	display:block;
	margin-bottom:10px;
}
/*============*\
#    DIVERS    #=====================================================================================================================================
\*============*/
.search-item{
	margin:2em auto 4em auto;
}











