/* .............................................................................
CONFIGS
................................................................................

EXPLICATION DES FICHIERS :
- Dev : assets/css/
- Prod : task "grunt buildcss" pour builder le CSS build/css/main.css


DIMENSION DES ICONES :
Pour calculer le em des icones, suivre les etapes suivantes.
C'est une fonction rationnelle (une courbe exponentielle inversée) :
http://www.alloprof.qc.ca/BV/pages/m1137.aspx

1.  Trouver le coefficient de l'icone (variable k).
    [Dimension du SVG de l'icone] divisé par [root font-size].
    [48px] / [16] = 3 = k

2.  Ensuite, appliquer la formule suivante.
	    k         3
    y = --- donc ----
	    x        em

    Ex : le parent a un font-size de 1.125em
	    k        3
    y = --- = --------- = 2.6667em (appliquer ce font-size a l'icone)
	    x     1.125em


COULEURS :
- Voir les vars plus bas.


TRANSITION :
- cubic-bezier(0.4, 0, 0.2, 1)


NAMING CONVENTIONS :
- Blocks = section d'une page, ex : .bMain, .bBoxesList.
- Items = partie importante reutilisable, ex : .iBox, .iAccordion.
- Text = style precis pour texte, ex : .tBig, .tUpper


REFERENCES :
Desktop-first :
@media (max-width:1999px) {}    124.99rem
@media (max-width:1499px) {}    93rem
@media (max-width:1199px) {}    75rem
@media (max-width:991px) {}     62rem
@media (max-width:767px) {}     47rem
@media (max-width:592px) {}     37rem

Mobile-first :
@media (min-width:768px) {}     47.01rem
@media (min-width:992px) {}     62.01rem
@media (min-width:1200px) {}    75.01rem
@media (min-width:1500px) {}    93.01rem
@media (min-width:2000px) {}    125rem
*/


/*
COLORS */
:root {
	/* Main colors */
	--color-base: #808080;
	--color-base-on-dark: #fff;
	--color-orange: #f7941d;
	--color-orange-alt: #d2882f;
	--color-green: #006350;

	/* BG */
	--color-bg-base: #fff;
}



/*
BASE WIDTHS
L'application des valeurs est dans base.css. */
:root {
	--width-std-left: 10vw;
	--width-std-right: 10vw;

	/* 4k overflow sides */
	--overflow-std-left: var(--width-std-left);
	--overflow-std-right: var(--width-std-right);
}

	/* Ultra large, on restreint la largeur maximale */
	@media (min-width:125rem) {
		:root {
			--width-std-left: calc(45vw - 43.5em);
			--width-std-right: calc(45vw - 43.5em);

			--overflow-std-left: 10vw;
			--overflow-std-right: 10vw;
		}
	}

	/* Mobile */
	@media (max-width:47rem) {
		:root {
			--width-std-left: 7vw;
			--width-std-right: 7vw;
		}
	}



/*
BASE SPACINGS
L'application des valeurs est dans site-blocks.css. */
:root {
	--base-spacing-top: 7em;
	--base-spacing-bottom: 7em;
}

	@media (max-width:62rem) {
		:root {
			--base-spacing-top: 5.5em;
			--base-spacing-bottom: 5.5em;
		}
	}

	@media (max-width:47rem) {
		:root {
			--base-spacing-top: 4em;
			--base-spacing-bottom: 4em;
		}
	}



/*
TOPBAR HEIGHT
La hauteur du topBar affecte plusieurs elements dans la page.
On specifie donc une valeur globale pour pouvoir y acceder facilement. */
:root {
	--topbar-height: 7em;
	--topbar-height-scrolled: 3.5em;
	--topbar-nav-height: 3.2em;
}

	/* Mobile */
	@media (max-width:62rem) {
		:root {
			--topbar-height: 4em;
			--topbar-height-scrolled: var(--topbar-height);
		}
	}


/* .............................................................................
RESETS
Pris certains styles de reboot.css et ajouter certains.
............................................................................. */
*,::after,::before{box-sizing:border-box;}
html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
@-ms-viewport { width: device-width; }
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section, picture { display: block; }
[tabindex="-1"]:focus { outline: 0 !important; }
h1, h2, h3, h4, h5, h6, p, fieldset, ul, ol, li, figure, picture, blockquote {margin: 0; padding: 0; border: 0;}
hr {display: block;height: 1px;border: 0;border-top: 1px solid #ccc;margin: 1em 0;padding: 0;}
audio, canvas, iframe, img, svg, video {vertical-align: middle;}
textarea {resize: vertical;}
table {display: table;width: auto;height: auto;margin: 0;padding: 0;border: none;border-collapse: inherit;border-spacing: 0;border-color: inherit;text-align: left;font-weight: inherit;}

/* Pour debug */
/* * { outline: 1px solid red; outline-offset: -1px; } */

/* Pour debug #2 */
/* * { background-color: rgba(255,0,0,.2); }
* * { background-color: rgba(0,255,0,.2); }
* * * { background-color: rgba(0,0,255,.2); }
* * * * { background-color: rgba(255,0,255,.2); }
* * * * * { background-color: rgba(0,255,255,.2); }
* * * * * * { background-color: rgba(255,255,0,.2); } */



/* .............................................................................
BASE TAGS
Enlever le base font-size pour s'adapter au user-set font-size.
Voir Chrome / Preferences / Taille de police.
Donc, change les media queries pour des rem.
............................................................................. */
html {margin: 0; padding: 0;}
body {color: var(--color-base);background: var(--color-bg-base);line-height: 1;margin: 0;padding: 0;}
body.locked {margin: 0;height: 100%;overflow: hidden;}
.onDark {color: var(--color-base-on-dark);}

/*
Font size global du site.
On le met sur tous les enfants direct et pas directement sur le body car
on veut conserver le user-set font-size. */
body > * {font-size: 1em;}

	/* Medium desktop- */
	@media (max-width:102rem) {
		body > * {font-size: calc(0.085em + 0.9vw);}
	}

	/* Mobile */
	@media (max-width:62rem) {
		body > * {font-size: 1em;}
	}


/* Liens de base */
a {text-decoration: none;cursor: pointer;color: inherit; }
a:hover {text-decoration:none;}
.grecaptcha-badge {visibility: hidden;}
/*
Focus de base : laisser celui du browser par defaut.
Only suppress the focus ring once what-input has successfully started.
Suppress focus ring on form controls for mouse users. */
[data-whatintent='touch'] *:focus,
[data-whatintent='mouse'] *:focus { outline: none; }

/* Sup and sub. */
sup {vertical-align: super;font-size: 70%;}

/* All images responsive */
img, svg {height:auto;width: 100%;display:block;}
img.forceBigger {width: 100%;}

/* Removes animation when the page renders. */
.preload *,
.removeTransition {transition:none !important;}

/* prefers-reduced-motion detects if the user has the reduced motion
preference activated to minimize the amount of movements and animations. */
@media screen and (prefers-reduced-motion: reduce) {
	* {
		/* Very short durations means JavaScript that relies on events still works */
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}



/* .............................................................................
PAGE BASE
............................................................................. */

/*
OWL SELECTOR
L'espacement entre les elements se fera souvent avec le margin-top.
Avec cette facon de fonctionner, le 1er item n'aura jamais de margin-top.
L'espacement entre les titres est dans titles.css. */
* + p,
* + ul,
* + ol {margin-top: 1.5002em;}

.lessFlow * + p,
.lessFlow * + ul,
.lessFlow * + ol {margin-top: 0.75em;}



/*
WIDTHS
Les largeurs sont assez standard pour avoir des classes uniquement pour ca.
Les exceptions sont gerer dans les styles custom de sections.
Les valeurs sont dans configs.css.

Options de largeur :
1. FULL width : Pas de classe, car par defaut c'est 100% de large
2. STD width : .wStd
*/
.wStd, .wStdLeft {padding-left: var(--width-std-left);}
.wStd, .wStdRight {padding-right: var(--width-std-right);}



/*
MAIN
Comme la navigation du haut est sticky, on doit ajouter un margin top au
main pour le descendre un peu, sinon le debut du main est hidden par
la topbar. */
main {padding-top: var(--topbar-height);}
	.landing main{padding-top: 0;}



/*
AUTO STYLED CONTENT:
Useful for CMS pages because the end-user doesn't have to write
specific classes to get the right formatting.
Les paragraphes posent toujours un probleme dans un site web, car
si on les stylise comme il faut, il faut ensuite les redefinir a pleins
d'endroits (car c'est un tag qu'on utilise un peu pour n'importe quel
contenu). Donc, au lieu de styliser les p { }, on utilise la classe
.typo sur un container. Cette classe stylisera les <p> child de
ce container .typo.

C'est un peu le meme probleme pour les liens (<a>), car on les
utilise un peu partout, mais doivent aussi avoir un style pour les
inline links. On utilise la classe .typoLinks pour ceux-ci.
*/
.typo {line-height: 1.45;}

	/* Default ul */
	.typo ul:not([class]), ul.list {--padding-left:1.25002em; list-style: none;}
	.typo ul:not([class]) li, ul.list li {list-style:none;margin-bottom: 0;padding-left: var(--padding-left);position: relative;}
	.typo ul:not([class]) li::before, ul.list li::before {backface-visibility: hidden;position: absolute;display: block;content: '';background-color: var(--color-green);width: 0.4em;height: 0.4em;top: 0.6em;left: 0;}

		.typo.bMain--green ul:not([class]) li::before, ul.list li::before{
			background-color: #fff;
		}
		.bCBI--green ul:not([class]) li::before {
			background-color: var(--color-orange);
		}
	.typo ul.liste-references {border-top:1px solid #c7c7c7;padding-top:1em}
	.typo ul.liste-references li {padding:.35em 0;font-size: 90%;opacity: .75}
	.typo ul.liste-references li sup {padding-right:.45em;font-weight: 700;}
	.typo ul.liste-references li::before {display:none;}

	/* Default ol */
	.typo ol:not([class]) {--padding-left:1.25002em; list-style: none;counter-reset:li;}
	.typo ol:not([class]) li {list-style: none;counter-increment: li;padding-left: var(--padding-left);position: relative;}
	.typo ol:not([class]) li::before {content: counter(li);color: var(--color-green);display: inline-block;font-weight:bold;width: var(--padding-left);margin-left: calc(-1 * var(--padding-left));}

	/* Default CTA margin top. */
	* + .typo__cta,
	h3 + .typo__cta, .h3 + .typo__cta {margin-top: 2.5em;}

	/* On dark */
	.typo .onDark ul:not([class]) li::before,
	.typo .onDark ol:not([class]) li::before {background-color: #fff;}


/* Links */
.typoLink,
.typoLinks { }

	.typoLink,
	.typoLinks a {color:var(--color-orange); text-decoration:none; transition: color 0.2s; }

	/* Hover */
	.typoLink:hover,
	.typoLinks a:hover {color:var(--color-green);}

/* Links avec underline qui animate */
.typoLinkUL { }
.typoLinksUL { }

	.typoLinkUL,
	.typoLinksUL a {text-decoration:none; position: relative; display: inline-block; }
	.typoLinkUL::before,
	.typoLinksUL a::before {position: absolute; z-index: 1; display: block; content: ''; left: 0; right: 0; bottom: 0; height: 1px; background-color: currentColor; transform-origin: 0% 50%; transform: scaleX(0); transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); }

	/* Hover */
	.typoLinkUL:hover,
	.typoLinksUL a:hover { }
	.typoLinkUL:hover::before,
	.typoLinksUL a:hover::before {transform: scaleX(1); }



/*
LISTS
Listes ul li utiles dans le site. */

/* Liste sans style */
.listNS {list-style: none;}

/* Liste inline horizontale. */
.listInline {list-style: none;padding-left: 0;line-height: 1.5;}
.listInline li {position: relative;display: inline-block;margin-bottom: 0;padding-left: 0;}
.listInline li:not(:last-child) {margin-right: 2.002em;}

/* Smaller, 2 cols list */
.listSm2C {list-style: none;line-height: 1.2;columns: 7em 2;column-gap: 10%;}
.listSm2C li {break-inside: avoid;padding: 0.3em 0;}


/* Liste dans le panel du topBar. */
.listPanel {font-size: 1.78em;list-style: none;line-height: 1.3;}
.listPanel li {display: block;}
.listPanel a {text-transform: none;color: var(--color-orange);position: relative;display: inline-block;padding: 0.6em 0;transition: color 0.2s;}
.listPanel--subNav a {font-size: .9em;}

	/* Hover */
	.listPanel a:hover {color: var(--color-green); }

/* Liste en colonnes */
.listCols{
	column-count: 3;
	column-gap: 2em;
	font-weight: 700;
}
	.listCols--2{
		column-count: 2;
	}
	@media (max-width: 47rem){
		.listCols{
			column-count: 2;
		}
	}
	@media (max-width: 37.5rem){
		.listCols{
			column-count: 1;
		}
	}

	/*
	ALT :
	Hover will show a line at right. */
	.listPanel--hoverWLine { }
	.listPanel--hoverWLine li {display: flex; align-items: center; }
	.listPanel--hoverWLine a {display: block;flex: 0 0 auto;}
	.listPanel__line {display: block;flex: 1 1 auto;height: 2px;background: var(--color-green); margin-left: 5%; transform: scaleX(0); transform-origin: 0% 50%; transition: transform 0.3s;}

		/* Hover + ON */
		.listPanel--hoverWLine a:hover,
		.listPanel--hoverWLine a.on {color: var(--color-green); }

		.listPanel--hoverWLine a:hover + .listPanel__line,
		.listPanel--hoverWLine a.on + .listPanel__line {transform: scaleX(1); }

	/*
	ALT :
	For a subnav.
	2 cols. */
	.listPanel--subNav { }
	.listPanel--subNav {columns: 10em 2;column-gap: 8%;}
	.listPanel--subNav > * {break-inside: avoid;}
	.listPanel--subNav a {color: var(--color-green); position: relative; }
	.listPanel--subNav a::before {position:absolute; z-index:0; display:block; content:''; bottom:0.6em; height: 2px; left:0; right:0; background-color: var(--color-green); transform: scaleX(0); transform-origin: 0% 50%; transition: transform 0.3s; }

		/* Hover */
		.listPanel--subNav a:hover { }
		.listPanel--subNav a:hover::before {transform: scaleX(1); }



/* .............................................................................
SVGs
Styles des SVGs du site. Les SVGs sont majoritairement utile pour les
icones, mais pas uniquement pour ca.
............................................................................. */

/*
SVG ICON
Chaque icone / SVG est wrapped dans un .svgIcon.
On utilise <span>, mais si pertinent on prend autre chose (ex : <figure>) */
.svgIcon {display:block;font-size: 1em;line-height: 1;width: 1em;height: 1em;}
.svgIcon > svg {max-width: none; display: block; fill: currentColor; width: 1em; height: 1em;}

	/*
	SVG SPECIFIC SIZES
	Certains SVG n'ont pas la meme largeur que hauteur. On les ajuste ici.
	Fixed size parce qu'IE (et vieux Safari) est incompetent */
	.svgIcon--logoCoalition, .svgIcon--logoCoalition svg,
	.svgIcon--logoCoalitionNoText, .svgIcon--logoCoalitionNoText svg {width: 3.198em;height: 1em;}
	.svgIcon--logoCoalitionVertical, .svgIcon--logoCoalitionVertical svg {width: 1.493em;height: 1em;}
	.svgIcon--logoCoalitionVerticalWidthPriority, .svgIcon--logoCoalitionVerticalWidthPriority svg {width: 1em;height: 0.67em;}
	.svgIcon--linedBG, .svgIcon--linedBG svg {width: 1em;height: 1.572em;}

/* .............................................................................
FONTS

Lato -- Google Fonts
Normal : 400
Black : 900

Futura Round -- @font-face (license My Fonts)
Bold : 700
............................................................................. */

html, body, input, select, textarea
{
	font-family: 'Lato', sans-serif;
}

strong, .strong {font-weight:900;}


.altFont,
button, .btn, .btnSubtle, .btnIconReveal,
.navMain > li > a,
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
.fsCs,
.formSelect,
.select2-container,
.quickNav,
.supTitle,
.subTitle
{
    font-family: 'FuturaRound-Bold', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
}
/* .............................................................................
TITLES
............................................................................. */
h1, .h1, .titleHome, .titleEvent {position: relative;margin: 0;padding: 0.2em 0 0 0;font-size: 4.56em;line-height: 1;}
h2, .h2, .title3BV, .h2--big {position: relative;margin: 0;padding: 0.2em 0 0 0;font-size: 3.39em;line-height: 1.05;color: var(--color-orange);}
h3, .h3, .h3--big, .titleFooterBox {position: relative;margin: 0;padding: 0.2em 0 0 0;font-size: 1.78em;line-height: 1.2;color: var(--color-green);}
h4, .h4 {position: relative;margin: 0;padding: 0;font-size: 1.1em;line-height: 1.2;color: var(--color-orange); text-transform: none;}

.typoLinks h4 {/*margin-top:1.5em;*/padding-top:1.5em}

	/* Margins : common (ajuster l'espacement EN HAUT de l'element). */
	* + h1, * + .h1 {margin-top: 2.002em; }
	* + h2, * + .h2 {margin-top: 2.002em; }
	* + h3, * + .h3 {margin-top: 1.002em;}

	/* Margins : after (ajuster l'espacement EN BAS de l'element). */
	h3 + *, .h3 + * {margin-top: 1em;}
	.titleFooterBox + * {margin-top: 1.75em;}
	.supTitle + * {margin-top: 0.2em;}

	/* Margins : specific (COMBINAISONS particulieres d'elements). */
	.btnIcon + h3, .btnIcon + .h3 {margin-top: 1.5em; }

	/* Font-size pour headings particuliers. */
	.titleHome {font-size: 6.11em;line-height: 1.25;}
	.titleEvent { }
	.title3BV {font-size: 5.11em; }
	.h2--big {font-size: 4.89em; }
	.h3--big {font-size: 2em; }
	.h3--small {font-size: 1.3em; }
	.titleFooterBox {font-size: 2em; }


	/* Desktop */
	@media (max-width:93rem) {
		.title3BV {font-size: 4.8vw;}
	}

	/* Tablet */
	@media (max-width:62rem) {
		h1, .h1, .titleHome, .titleEvent {font-size: 4.56em; }
		h2, .h2, .title3BV, .h2--big {font-size: 3.39em; }
		h3, .h3, .h3--big, .titleFooterBox { }
		h4, .h4 { }

		.titleHome {font-size: 5.5em;}
		.titleEvent { }
		.title3BV {font-size: 4em;}
		.h2--big { }
		.h3--big { }
		.titleFooterBox {font-size: 2.3em; }

		.btnIcon + h3, .btnIcon + .h3 {margin-top: 0.75em; }
	}

	/* Mobile */
	@media (max-width:47rem) {
		h1, .h1, .titleHome, .titleEvent {font-size: 2.81em; }
		h2, .h2, .title3BV, .h2--big {font-size: 2.25em; }
		h3, .h3, .h3--big, .titleFooterBox {font-size: 1.6em;margin-top:1em }
		h4, .h4 { }

		.titleHome {font-size: 12vw;}
		.titleEvent {font-size: 2.25em; }
		.title3BV {font-size: 2.4em;}
		.h2--big { }
		.h3--big { }
		.titleFooterBox {font-size: 2em; }
	}

	/* On dark */
	.onDark h1, .onDark .h1,
	.onDark h2, .onDark .h2,
	.onDark h3, .onDark .h3 {color: #fff;}


/*
SUPTITLE
Suptitle over the title, pretty small. */
.supTitle {display: block;font-size: 1.1em;text-transform: uppercase;color: var(--color-orange);}

	/* Smaller */
	@media (max-width:47rem) {
		.supTitle {font-size: 1em; }
	}


/*
CONSTANT SIZE
Une grandeur qui revient un peu partout dans le site. */
.fsCs {font-size: 1.1em;}

	/* Smaller */
	@media (max-width:47rem) {
		.fsCs {font-size: 1em; }
	}


/*
SUBTITLE
Subtitle just under the title, smaller than title but bigger than std p. */
.subTitle {font-size: 1.78em;line-height: 1.3;text-transform: none;}

	/* Smaller */
	@media (max-width:62rem) {
		.subTitle {font-size: 1.5em;}
	}

	@media (max-width:47rem) {
		.subTitle {font-size: 1.05em; }
	}

/* .............................................................................
FORMS
............................................................................. */
.form { }
* + .form {margin-top: 3.002em;}
.iHead + .form {margin-top: 2.7em; }

	/* Smaller */
	@media (max-width:47rem) {
		.iHead + .form {margin-top: 2em; }
	}


/*
INPUT */
.formInput,
.formTextarea,
.formSelect,
.inline-modal input,
.inline-modal textarea,
.inline-modal select {-webkit-appearance: none;-moz-appearance: none;appearance: none;border: 1px solid var(--color-base);width: 100%;box-sizing:border-box;background-color: transparent;font-size: 1em;font-weight: 900;line-height: 1.2;display: block;padding: 1em 1.4em;border-radius: 0;margin: 0;color: var(--color-base);transition: border-color 0.3s ease;}

	/* On dark */
	.onDark .formInput,
	.onDark .formTextarea,
	.onDark .formSelect {border-color:#fff; background-color: #fff; }

	/* Eviter le zoom iOS sur form sur mobile. */
	@media (max-width:47rem) {
		.formInput,
		.formTextarea,
		.inline-modal input,
		.inline-modal textarea {font-size: 16px;}
	}


/*
SELECT
Sera remplacer par un custom JS select. */
.formSelect {background-image: url(../../img/icons/icon-arrow-dropdown.svg);background-repeat: no-repeat;background-position: right 0.9em center;background-size: 2.86em;/* max-width: 100%; *//* width: auto; */padding-right: 4em;color: #7e8082;}
.formSelect::-ms-expand {display: none;}

	/* On dark */
	.onDark .formSelect {background-image: url(../../img/icons/icon-arrow-dropdown-on-dark.svg); }
	.onDark .formSelect option {color: #2e2e2e;}


/*
SELECT2
Styles pour le plugin Select2. */
.jsDropdown {opacity: 0;}

/* Container */
.select2-container.select2-container--default {font-size: 1em;line-height: 1;}

	/* Shown selected value */
	.select2.select2-container .select2-selection {border-radius: 0;background-color: var(--color-bg-base);padding: 1.35em 1.5em 1.05em 1.5em;padding-right: 4em;border: 1px solid var(--color-base);/* border: none; */height: auto;background-image: url(../../img/icons/icon-arrow-dropdown.svg);background-repeat: no-repeat;background-position: right 0.9em center;background-size: 2.86em;}
	.select2.select2-container .select2-selection--single .select2-selection__rendered {color: var(--color-orange);line-height: 1;padding: 0;margin: 0;}
	.select2.select2-container .select2-selection--single .select2-selection__placeholder {color: #000;}

		/* ARROW : Hide */
		.select2.select2-container .select2-selection--single .select2-selection__arrow {display: none;}

	/* Opened */
	.select2-container.select2-container--open { }
	.select2-container.select2-container--open .select2-selection {background-color: var(--color-green); }

/* Dropdown */
.select2-container.select2-container--default .select2-dropdown {border-radius: 0;background-color: var(--color-green);padding: 0 0 1em 0;border: none;color: #fff;margin-top: -1px;}
.select2-container.select2-container--default .select2-results { }
.select2-container.select2-container--default .select2-results__options { }
.select2-container.select2-container--default .select2-results > .select2-results__options {max-height:none; }
.select2-container.select2-container--default .select2-results__option {padding: 0.6em 1.5em;position: relative;transition: color 0.2s;}

	/* If opened above */
	.select2-container.select2-container--default .select2-dropdown--above {margin-top: 0;margin-bottom: -1px;padding: 1em 0 0 0;}

	/* Selected */
	.select2-container.select2-container--default .select2-results__option[aria-selected=true] {background-color: transparent; color:var(--color-orange); }

	/* Hover */
	.select2-container.select2-container--default .select2-results__option--highlighted[aria-selected] {background-color:transparent; color: var(--color-orange); }


/*
TEXTAREA
Styles de base dans formInput */
.formTextarea {width: 100%;max-width: 100%;min-height: 18em;height: 18em;}


/*
FOCUS */
.formInput:focus,
.formTextarea:focus,
.formSelect:focus,
.inline-modal input:focus,
.inline-modal textarea:focus,
.inline-modal select:focus {border-color:var(--color-orange); }


/*
INPUT FILE TYPE
Le input est hidden, toute l'action se passe dans le label.
Le label a l'air d'un bouton, mais dans le meme style qu'un form input.
ELLIPSIS sur le label (pour nom de fichiers trop long) :
Pour que ca fonctionne, parent doit etre overflow:hidden, mais si tu fais ca sur .formItem ou .formGroup, tu t'attires des problemes dans un form dans un lightbox (ca casse le scroll on touch sur input).
Aussi, pour que ca fonctionne dans un flexbox item, on mettre min-width:0 sur le flex child. Voir ici https://css-tricks.com/flexbox-truncated-text/ */
.formInputFile {width: 100%;max-width: 100%;overflow: hidden; padding-bottom: 1px;}
.formInputFile__input {width: 0.1px; height: 0.1px; opacity: 0; visibility:hidden; overflow: hidden; position: absolute; z-index: -1;padding: 0; }

.formInputFileBtn {-webkit-appearance: none;-moz-appearance: none;appearance: none;position:relative;border: 1px solid var(--color-base);background: transparent;cursor: pointer;display: inline-block;font-size: 1em;line-height: 1.2;color: var(--color-orange);margin: 0;padding: 1em 1.4em;text-decoration: none;box-sizing: border-box;text-align: left;width: 100%;}
.formInputFileBtn * {pointer-events: none;}
.formInputFileBtn__label {display: block;position: relative;z-index: 2;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.formInputFileBtn__icon {font-size: 2.86em;display: block;position: absolute;z-index: 2;color: var(--color-orange);right: 0.25em;top: 50%;transform: translate(0, -50%);transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);}
.formInputFileBtn__icon + .formInputFileBtn__label {margin-right: 0.5002em;}

	/* Hover */
	.formInputFileBtn:hover:not(:disabled) {cursor: pointer;}
	.formInputFileBtn:hover:not(:disabled) .formInputFileBtn__icon {transform: translate(20%, -50%);}

	/* Disabled */
	.formInputFileBtn:disabled {opacity: 0.5; cursor: default;}

	/* On dark */
	.onDark .formInputFileBtn {color:#fff; border-color:#fff; }
	.onDark .formInputFileBtn__icon {color:#fff;}


/*
CHECKBOX & RADIO
Custom style, c'est pour ca qu'il y a tant de class. */
.formCheckbox, .formRadio {display: inline-block; margin-right: 2.002em;}
.formCheckbox:last-child, .formRadio:last-child {margin-right:0; }

	/* Hide the default radio / checkbox, because we want to custom style it. */
	.formCheckbox__input, .formRadio__input {position: absolute; opacity: 0;}

	/* Label styles */
	.formCheckbox__label, .formRadio__label {cursor: pointer; display: block; padding-top: 0.1em; padding-left: 2.5002em; position: relative; }

	/* Les styles custom sont ici */
	.formCheckbox__input + .formCheckbox__label::before,
	.formRadio__input + .formRadio__label::before {position: absolute; display: block; content: ''; left: 0; top: 0; width: 1.5002em; height: 1.5002em; background: #fff; background-position: 50% 50%; background-repeat: no-repeat; border: 1px solid var(--color-base); border-radius: 0; cursor: pointer; transition: all 0.3s cubic-bezier(0, 0, 0.3, 1);}

		/* Active + focus */
		.formCheckbox__input:active + .formCheckbox__label::before,
		.formRadio__input:active + .formRadio__label::before { }

		/* Checked */
		.formCheckbox__input:checked + .formCheckbox__label::before,
		.formRadio__input:checked + .formRadio__label::before {background-color: var(--color-orange); box-shadow: inset 0 0 0 0.3em #ffffff;}

		/* Focus: seulement si user utilise keyboard. */
		[data-whatintent='keyboard'] .formCheckbox__input:focus + .formCheckbox__label::before,
		[data-whatintent='keyboard'] .formRadio__input:focus + .formRadio__label::before {outline:2px solid #4d90fe;}

		/* Disabled */
		.formCheckbox__input:disabled + .formCheckbox__label,
		.formRadio__input:disabled + .formRadio__label {cursor: default;}
		.formCheckbox__input:disabled + .formCheckbox__label::before,
		.formRadio__input:disabled + .formRadio__label::before {background-color: #e8e8e8;opacity: 0.5;cursor: auto;}

	/* Radio mods */
	.formRadio__input + .formRadio__label::before {border-radius: 50%; }


/*
FORM GROUP et FORM ITEM
Pour espacement entre groupes de form items. */
.formGroup { }
.formItem { }
.formItem__text {display: block;margin-bottom: 1.002em; }

* + .formGroup,
* + .formItem {margin-top: 2.7em;}

	/* Spacing */
	@media (max-width:47rem) {
		* + .formGroup,
		* + .formItem {margin-top: 1.5em;}
	}

	/*
	ALT:
	2 cols. */
	.formGroup--half {display: flex;justify-content: space-between; }
	.formGroup--half .formItem {width: calc(50% - 1.5em); flex: 0 0 auto; margin: 0; }

		/* Break cols */
		@media (max-width:47rem) {
			.formGroup--half {display: block; }
			.formGroup--half .formItem {width: 100%; margin-top: 1.5em; }
		}
		/*
		ALT:
		3 cols. */
		.formGroup--third {display: flex;justify-content: space-between; }
		.formGroup--third .formItem {width: calc(33% - 1.5em); flex: 0 0 auto; margin: 0; }

			/* Break cols */
			@media (max-width:47rem) {
				.formGroup--third{display: block; }
				.formGroup--third .formItem {width: 100%; margin-top: 1.5em; }
			}
	/*
	ALT:
	4 cols. */
	.formGroup--quarter {display: flex;justify-content: space-between; }
	.formGroup--quarter .formItem {width: calc(25% - 0.5em); flex: 0 0 auto; margin: 0; }

		/* 2 cols */
		@media (max-width:62rem) {
			.formGroup--quarter {flex-wrap: wrap; margin-top: -1em; }
			.formGroup--quarter .formItem {width: calc(50% - 0.5em); margin-top: 1em; }
		}

		/* Break cols */
		@media (max-width:47rem) {
			.formGroup--quarter {display: block;margin: 0;}
			.formGroup--quarter .formItem {width: 100%;margin-top: 1em;}
		}

	/*
	ALT:
	Form send. */
	.formGroup--send {text-align: center;}

		/* Spacing */
		@media (max-width:47rem) {
			.formGroup--send {margin-top:2.7em; }
		}

	/*
	ALT:
	Form send (contact page). */
	.formGroup--sendCF {text-align: right;}

		/* Center */
		@media (max-width:62rem) {
			.formGroup--sendCF {text-align: center;}
		}


/*
FORM LABEL */
.formLabel, .inline-modal label {font-size: 1.3002em;line-height: 1;display: block;margin-bottom: 0.2002em;font-weight: bold;}
.inline-modal label {font-size: 1em;margin-bottom: .75em}
	/* On dark */
	.onDark .formLabel {color:#fff;}


/*
PLACEHOLDER TEXT */
::placeholder {color: var(--color-orange); font-weight: normal; }


/*
CONTACT FORM 7
Quand on le met sur WP avec CF7, ces styles sont utiles. */
.wpcf7-form-control-wrap {display: block; position: static;}
.wpcf7-form.sent .formGroup { display: none; }
div.wpcf7-response-output { margin-left: 0 !important; margin-right: 0 !important;border:0!important }
.formInput.wpcf7-not-valid { border: 3px solid red; }
.wpcf7-not-valid-tip { display: none !important; }


/*
Formulaire modal infolettre
 */
.inline-modal {background:#fff;padding: 2.4em;max-width: 600px;}
.inline-modal div div {margin:2em 0}
.inline-modal p {padding-right: 1em}

/* .............................................................................
BUTTONS
............................................................................. */

/*
BUTTON / Standard
Bouton standard du site. */
button.btn,
a.btn, .inline-modal button[type='submit'] {appearance: none;position:relative;border: none;background: var(--color-orange);cursor: pointer;vertical-align: middle;display: inline-flex;align-items: center;font-size: 1em;line-height: 1.2;color: #fff;margin:0 0 2em 0;padding: 0 1.8em;text-decoration: none;
box-sizing: border-box;text-align: center;max-width: 100%;border-radius: 1.6em;transition: background-color 0.3s, color 0.3s;}
.btn__label {z-index: 1;display: block;flex: 1 1 auto;padding: 1.1em 0 0.9em 0;}
.btn__icon {z-index: 1; display: block;flex: 0 0 auto;padding: 0;}

.inline-modal button[type='submit'] { padding: 1.2em 2.1em 1.0em 2.1em;}


	/* Spacing entre le label et l'icone. */
	.btn > * + * {padding-left: 1.002em;}
	.btn .btn__label {padding-left: 0}
	/* Pour que le target dans event delegation soit le button au lieu du contenu a l'interieur. */
	.btn * {pointer-events: none;}

	/* Hover */
	.btn:hover:not(:disabled) {color:#fff; background-color: var(--color-green); }

	/* Disabled */
	.btn:disabled {opacity: 0.5; cursor: default;}

	/*
	ALT:
	Vert. */
	button.btn--green,
	a.btn--green {background-color: var(--color-green); }

		/* Hover */
		.btn--green:hover:not(:disabled) {color: #fff; background-color: var(--color-orange); }

	/*
	ALT:
	White on hover. */
	button.btn--hoverWhite,
	a.btn--hoverWhite { }

		/* Hover */
		.btn--hoverWhite:hover:not(:disabled) {color: var(--color-orange); background-color: #fff; }
		.btn--green.btn--hoverWhite:hover:not(:disabled) {color: var(--color-green); }

	/*
	ALT:
	Blanc et orange. */
	button.btn--whiteOrange,
	a.btn--whiteOrange {color: var(--color-orange); background-color: #fff; }

		/* Hover */
		.btn--whiteOrange:hover:not(:disabled) {color:#fff; background-color: var(--color-orange); }

	/*
	ALT:
	Blanc et vert. */
	button.btn--whiteGreen,
	a.btn--whiteGreen {color: var(--color-green); background-color: #fff; }

		/* Hover */
		.btn--whiteGreen:hover:not(:disabled) {color:#fff; background-color: var(--color-green); }



/*
BUTTON / Subtle
Bouton subtile, sans background. */
button.btnSubtle,
a.btnSubtle {appearance: none;position:relative;border: none;background: transparent;cursor: pointer;vertical-align: middle;display: inline-flex;align-items: center;font-size: 1em;line-height: 1.2;color: var(--color-green);margin:0;padding: 0 0.3em;text-decoration: none;box-sizing: border-box;text-align: center;max-width: 100%;border-radius: 0;transition: color 0.3s;}
.btnSubtle__label {z-index: 1;display: block;flex: 1 1 auto;padding: 0.45em 0 0.15em 0;}
.btnSubtle__icon {z-index: 1; display: block;flex: 0 0 auto;padding: 0;}

	/* Spacing entre le label et l'icone. */
	.btnSubtle > * + * {padding-left: 0.7em;}

	/* Pour que le target dans event delegation soit le button au lieu du contenu a l'interieur. */
	.btnSubtle * {pointer-events: none;}

	/* Hover */
	.btnSubtle:hover:not(:disabled) {color:var(--color-orange); }

	/* Disabled */
	.btnSubtle:disabled {opacity: 0.5; cursor: default;}

	/* On dark */
	.onDark button.btnSubtle,
	.onDark a.btnSubtle {color: #fff;}

	/*
	ALT:
	Bigger label. */
	.btnSubtle--biggerLabel { }
	.btnSubtle--biggerLabel .btnSubtle__label {font-size: 1.1em;}



/*
BUTTON / Icon reveal
Bouton icone avec texte qui apparait on hover. */
button.btnIconReveal,
a.btnIconReveal {appearance: none;position:relative;border: none;background: transparent;cursor: pointer;vertical-align: middle;display: inline-flex;align-items: center;font-size: 1em;line-height: 1.2;color: var(--color-orange);margin:0;padding: 0;text-decoration: none;box-sizing: border-box;text-align: left;max-width: 100%;border-radius: 0;}
.btnIconReveal__label {z-index: 1;display: block;flex: 1 1 auto;padding: 0.6em 0 0.4em 0;opacity: 0;transition: opacity 0.3s;}
.btnIconReveal__icon {z-index: 1;display: block;flex: 0 0 auto;}

	/* Spacing entre le label et l'icone. */
	.btnIconReveal > * + * {padding-left: 1.1em;}

	/* Pour que le target dans event delegation soit le button au lieu du contenu a l'interieur. */
	.btnIconReveal * {pointer-events: none;}

	/* Hover */
	.btnIconReveal:hover:not(:disabled) { }
	.btnIconReveal:hover:not(:disabled) .btnIconReveal__label {opacity: 1; }

	/* Disabled */
	.btnIconReveal:disabled {opacity: 0.5; cursor: default;}

	/* On dark */
	.onDark button.btnIconReveal,
	.onDark a.btnIconReveal {color: #fff;}



/*
BUTTON / Icon
Bouton qui contient seulement une icone avec BG. */
button.btnIcon,
a.btnIcon,
.btnIcon {appearance: none;font-size: 3.5em;border: none;color: #fff;background: none;font-weight: normal;text-decoration: none;text-align: left;line-height: 1;display: inline-block;vertical-align: middle;position: relative;margin: 0;padding: 0;width: 1em;height: 1em;border-radius: 50%;}
.btnIcon::before {position:absolute;z-index:0;display:block;content:'';top:0;bottom:0;left:0;right:0;background-color: var(--color-orange);border-radius: 50%;will-change: transform;transition: transform 0.2s;}
.btnIcon .svgIcon {font-size: 0.808em;position: absolute; z-index: 1; top: 50%;left:50%;backface-visibility: hidden;transform:translate3d(-50%, -50%, 0);transition: opacity 0.3s;}

	/* Hover, seulement si c'est un bouton ou un lien. */
	button.btnIcon,
	a.btnIcon {cursor: pointer; }

	button.btnIcon:hover::before,
	a.btnIcon:hover::before,
	a:hover .btnIcon::before,
	button:hover .btnIcon::before {transform: scale(1.2); }

	/* On dark */
	.onDark .btnIcon:not(.onLight) {color: var(--color-orange); }
	.onDark .btnIcon:not(.onLight)::before {background-color: #fff; }

	/* Smaller */
	@media (max-width:47rem) {
		button.btnIcon,
		a.btnIcon,
		.btnIcon {font-size: 3em; }
	}

	/*
	ALT:
	Smaller. */
	button.btnIcon--sm,
	a.btnIcon--sm,
	.btnIcon--sm {font-size: 2.25em;}

	/*
	ALT:
	Medium large. */
	button.btnIcon--mediumLarge,
	a.btnIcon--mediumLarge,
	.btnIcon--mediumLarge {width: 1.15em; height: 1.15em; }

	/*
	ALT:
	Large. */
	button.btnIcon--large,
	a.btnIcon--large,
	.btnIcon--large {width: 1.5em; height: 1.5em; }

	/*
	ALT:
	Badge. */
	button.btnIcon--badge,
	a.btnIcon--badge,
	.btnIcon--badge {width: 1.85em;height: 1.85em;}
	.btnIcon--badge::before {background-color: var(--color-green); }
	.btnIcon--badge .svgIcon {font-size: 1.5em; }

		/* On dark */
		.onDark .btnIcon--badge:not(.onLight) {color: var(--color-green); }

		/* Bigger on mobile */
		@media (max-width:47rem) {
			button.btnIcon--badge,
			a.btnIcon--badge,
			.btnIcon--badge {font-size: 3.75em; }
		}

	/*
	ALT:
	No background. */
	button.btnIcon--noBG,
	a.btnIcon--noBG,
	.btnIcon--noBG {color: var(--color-orange); }
	.btnIcon--noBG::before {display: none; }

		/* On dark */
		.onDark .btnIcon--noBG:not(.onLight) {color: #fff; }

	/*
	ALT:
	No spacing (padding). */
	.btnIcon--noSpacing { }
	.btnIcon--noSpacing .svgIcon {font-size: 1em; }



/* .............................................................................
HEADER / TOP BAR
Top bar with logo, main nav.
............................................................................. */
.topBar {position: fixed;z-index: 100;width: 100%;background: #fff;}
.topBar__size {height: var(--topbar-height); transition: height 0.4s;}
.topBar__main {height: 100%;display: flex;align-items: center;position: relative;}

/*
WP admin bar: keep fixed on mobile (core uses absolute ≤600px, which scrolls away
and leaves a gap above the fixed .topBar). Offset the nav so it sits below it. */
.admin-bar .topBar {top: 32px;}
.admin-bar .navMain__similiPanel {top: calc(var(--topbar-height) + 32px);}
.admin-bar .topBar.isSmaller:not(.isNotSmaller) .navMain__similiPanel {top: calc(var(--topbar-height-scrolled) + 32px);}

@media screen and (max-width: 782px) {
	.admin-bar .topBar {top: 46px;}
	.admin-bar .navMain__similiPanel {top: calc(var(--topbar-height) + 46px);}
	.admin-bar .topBar.isSmaller:not(.isNotSmaller) .navMain__similiPanel {top: calc(var(--topbar-height-scrolled) + 46px);}
}

@media screen and (max-width: 600px) {
	#wpadminbar {position: fixed !important;}
}


/* .............................................................................
Logo */
.topBar__logo {font-size: 5em;margin-left: 0.2em; color: var(--color-orange);flex: 0 0 auto;transform-origin: 0% 50%;transition: transform 0.4s, color 0.5s;}
.topBar__logo a {position: relative;display: block;will-change: opacity;transition: opacity 0.3s;}
.topBar__logo .svgIcon {opacity: 1; transition: opacity 0.4s;}

	/* Default: logo with text visible. Will change to "no text" when scrolled. */
	.topBar__logo .svgIcon--logoCoalitionNoText {position: absolute;top: 0;bottom: 0;left: 0;right: 0;opacity: 0;}

    /* Hover logo */
    .topBar__logo a:hover {opacity: 0.7;}


/* .............................................................................
Toggle */
.topBar__toggle {display: none;}


/* .............................................................................
Slide mobile */
.topBar__sSlide {height: 100%;display: block;flex: 1 1 auto;}
.topBar__sSlideIn {height: 100%;}
.topBar__sSlideCtn {height: 100%;position: relative;}


/* .............................................................................
Main nav */
.topBar__navMain {height: var(--topbar-nav-height);position: absolute;z-index: 3;bottom: calc(-1 * var(--topbar-nav-height) / 2);right: 0;transition: height 0.4s, bottom 0.4s;}
.navMain {--item-spacing-v: 1px;--item-spacing-h: 2em;height: 100%;background: var(--color-orange);list-style: none;display: flex;justify-content: flex-end;}
.navMain > li {height: 100%;position: relative;display: block;flex: 0 0 auto;}
.navMain > li > a {font-size: 0.95em;height: 100%;color: #fff;position: relative;display: flex;align-items: center;white-space: nowrap;padding: calc(0.2em + var(--item-spacing-v)) var(--item-spacing-h) var(--item-spacing-v) var(--item-spacing-h);transition: background-color 0.3s;}

    /* Hover */
    .navMain > li > a:hover {background-color: var(--color-green); }

    /* Arrow for links with a sub nav */
    .navMain > li.hasChildren > a::after {font-size: 0.8em;position:absolute;z-index: 5;display:block;content:'';top:calc(100% - 1px);left: 50%;border: 0 solid transparent;border-top-color: var(--color-green);opacity: 0;transform: translate(-50%, 0%);transition: border 0.3s, opacity 0.3s;}
    .navMain > li.hasChildren.on > a::after {opacity: 1;border-width: 1em;}

    /* Nav with children : ::before = BG */
    .navMain > li > ul {position: absolute;z-index: 3;left: 50%;width: 22em;top: 100%;opacity: 0;visibility: hidden;margin: 0;padding: 1.5em 2em;line-height: 1.2;text-transform: none;text-align: center;transform: translateX(-50%);transition: opacity 0s 0.3s, visibility 0s 0.3s;}
    .navMain > li > ul::before {position:absolute;z-index: -1;display:block;content:'';top:0;bottom:0;left:0;right:0;background-color: #f5f5f5;transform: scaleY(0);transform-origin: 50% 0%;transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
    .navMain > li > ul > li {display: block; opacity: 0; transition: opacity 0.15s; }
    .navMain > li > ul > li > a {display: inline-block;padding: 0.7em 0;color: var(--color-green);transition: color 0.2s;}

        /* Hover */
        .navMain > li > ul > li > a:hover {color: var(--color-orange); }

        /* Sub nav ON */
        .navMain > li.on { }
		.navMain > li.on > a {background-color: var(--color-green); }

        .navMain > li.on > ul {opacity: 1; visibility: visible; transition: none; }
        .navMain > li.on > ul::before {transform: scaleY(0.999); }
        .navMain > li.on > ul > li {opacity: 1; transition-delay: 0.15s; }


/* .............................................................................
Simili panel */
.navMain__similiPanel {opacity: 0;visibility: hidden; pointer-events: none; position: fixed;z-index: -1;top: var(--topbar-height);left: 0;right: 0;transition: opacity 0s 0.3s, visibility 0s 0.3s, top 0.4s;}
.navMain__similiPanel::before {position:absolute;display:block;content:'';z-index: -1;top:0;bottom:0;left:0;right:0;background-color: #f5f5f5;transform: scaleY(0);transform-origin: 50% 0%;transition: transform 0.3s;}

.tBSimiliPanel {--espacementV: 1px;--espacementH: 2.5%;padding: 8vh 4% 6vh var(--width-std-left);}
.tBSimiliPanel__in {display: flex;align-items: flex-start;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));}
.tBSimiliPanel__in > * {flex: 1 1 auto;padding: var(--espacementV) var(--espacementH);}
.tBSimiliPanel__cNav {flex:0 0 auto;width: 35%; opacity: 0; transition: opacity 0.3s; }
.tBSimiliPanel__cNav .listPanel {max-width: 12em;}
.tBSimiliPanel__cBox {width:50%; opacity: 0; transform: translateY(2rem); transition: opacity 0.3s, transform 0.3s; }
.tBSimiliPanel__head {margin-bottom: 3em; }
.tBSimiliPanel__head h3 {text-transform: none; }

    /*
    ALT :
    Simili panel with subnavs. */
    .tBSimiliPanel--subnavs {--espacementH: 1%;}
    .tBSimiliPanel--subnavs .tBSimiliPanel__cNav .listPanel {max-width: none; }

    .tBSimiliPanel__cSubNavs {width: 100%; display: grid; opacity: 0; transition: opacity 0.3s; }
    .tBSimiliPanel__subNav {grid-row: 1 / -1; grid-column: 1 / -1; }

    /* On */
    .navMain > li.on .navMain__similiPanel {opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 0s, visibility 0s, top 0.4s; }
    .navMain > li.on .navMain__similiPanel::before {transform: scaleY(0.999); }
    .navMain > li.on .tBSimiliPanel__cNav {opacity: 1; transition: opacity 0.3s 0.15s; }
    .navMain > li.on .tBSimiliPanel__cBox {opacity: 1; transform: translateY(0); transition: opacity 0.5s 0.3s, transform 0.5s 0.3s; }
    .navMain > li.on .tBSimiliPanel__cSubNavs {opacity: 1; transition: opacity 0.3s 0.15s; }
    .navMain > li.on .tBSimiliPanel__cBox + .tBSimiliPanel__cBox {transition-delay: 0.45s; }

    /* Subnav / On */
    .tBSimiliPanel__subNav {opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s; }
    .tBSimiliPanel__subNav.on {opacity: 1; visibility: visible; }

/* Mobile subnav (pour remplacer le similipanel) */
.navMain__mobileSubNav {display: none; }


/* .............................................................................
Sub nav */
.topBar__navSub {--item-spacing-v: 1em;--item-spacing-h: 1em;font-size: 0.95em;padding-right: 2em;height: 100%;padding-bottom: calc(var(--topbar-nav-height) / 2);display: flex;align-items: center;justify-content: flex-end;}
.topBar__navSub > * {margin: 0; }

.subNav {position: relative;color: var(--color-green);list-style: none;margin-right: calc(2 * var(--item-spacing-h));}
.subNav::after {position:absolute;z-index:0;display:block;content:'';background-color: currentColor;top:var(--item-spacing-v);bottom:var(--item-spacing-v);right: calc(-1 * var(--item-spacing-h));width: 1px;}
.subNav > li {display: inline-block;position: relative}
.subNav > li > a {display: inline-block;padding: var(--item-spacing-v) var(--item-spacing-h);transition: color 0.2s;}
.subNav > li > a:hover {color: var(--color-orange); }



/* Arrow for links with a sub nav */
.subNav > li.hasChildren > a::after {font-size: 0.8em;position:absolute;z-index: 5;display:block;content:'';top:calc(100% - 1px);left: 50%;border: 0 solid transparent;border-top-color: var(--color-green);opacity: 0;transform: translate(-50%, 0%);transition: border 0.3s, opacity 0.3s;}
.subNav > li.hasChildren.on > a::after {opacity: 1;border-width: 1em;}

/* Nav with children : ::before = BG */
.subNav > li > ul {position: absolute;z-index: 3;left: 50%;width: 22em;top: 100%;opacity: 0;visibility: hidden;margin: 0;padding: 1.5em 2em;line-height: 1.2;text-transform: none;text-align: center;transform: translateX(-50%);transition: opacity 0s 0.3s, visibility 0s 0.3s;}
.subNav > li > ul::before {position:absolute;z-index: -1;display:block;content:'';top:0;bottom:0;left:0;right:0;background-color: #f5f5f5;transform: scaleY(0);transform-origin: 50% 0%;transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.subNav > li > ul li {display: block; opacity: 0; transition: opacity 0.15s; }
.subNav > li > ul a {display: inline-block;padding: 0.7em 0;color: var(--color-green);transition: color 0.2s;}

.subNav > li.on > ul {opacity: 1; visibility: visible; transition: none; }
.subNav > li.on > ul::before {transform: scaleY(0.999); }
.subNav > li.on > ul li {opacity: 1; transition-delay: 0.15s; }



.langNav {--item-spacing-h: 0.7em;color: var(--color-green);list-style: none;}
.langNav > li {display: inline-block;}
.langNav > li > a {display: inline-block;padding: var(--item-spacing-v) var(--item-spacing-h);transition: color 0.2s;text-transform: capitalize;}
.langNav > li > a:hover {color: var(--color-orange); }

	/* Active lang */
	.langNav > li.active {position: relative; }
	.langNav > li.active::before {position:absolute; z-index:0; display:block; content:''; background-color: var(--color-green); bottom:calc(var(--item-spacing-v) - 0.3em); height: 2px; left:var(--item-spacing-h); right:var(--item-spacing-h); }

.topBar__btnMembres {margin-left:calc(2 * var(--item-spacing-h)); margin-right: calc(-1 * var(--item-spacing-h)); }
.topBar__btnMembres > a {padding: var(--item-spacing-v) var(--item-spacing-h); }

.topBar__rs {display: none; }


/* .............................................................................
TOPBAR "IS SCROLLED"
Reduire la hauteur du topBar. */
.topBar.isSmaller:not(.isNotSmaller) { }
.topBar.isSmaller:not(.isNotSmaller) .topBar__size {height: var(--topbar-height-scrolled);}
.topBar.isSmaller:not(.isNotSmaller) .topBar__logo {transform: scale(0.75) translateY(10%);}
.topBar.isSmaller:not(.isNotSmaller) .topBar__logo .svgIcon {opacity: 0; }
.topBar.isSmaller:not(.isNotSmaller) .topBar__logo .svgIcon--logoCoalitionNoText {opacity: 1; }
.topBar.isSmaller:not(.isNotSmaller) .topBar__navMain {height: var(--topbar-height-scrolled);bottom: 0;}
.topBar.isSmaller:not(.isNotSmaller) .navMain__similiPanel {top: var(--topbar-height-scrolled);}


/* .............................................................................
Mobile nav */
@media (max-width:62rem) {

    /* Logo */
    .topBar__logo,
    .topBar.isSmaller:not(.isNotSmaller) .topBar__logo {font-size: 3.1em;flex: 1 1 auto;margin-left: 0.2em;transform: scale(1);display: flex;align-items: center;justify-content: flex-start;}
    .topBar__logo .svgIcon,
    .topBar.isSmaller:not(.isNotSmaller) .topBar__logo .svgIcon {opacity: 1; }
    .topBar__logo .svgIcon--logoCoalitionNoText,
    .topBar.isSmaller:not(.isNotSmaller) .topBar__logo .svgIcon--logoCoalitionNoText {opacity: 0; }

    /* Toggle */
    .topBar__toggle {display: flex;align-items: center;flex: 0 0 auto;z-index: 7;overflow: hidden;height: 100%;}
    button.hamburger {font-size: 7em;display: block;position: relative;margin-right: -0.3em;}
    button.btnIcon.hamburger::before {transform: scale(1);}
    .hamburger__line {display: block;position: absolute;left: 22%;right: 45%;top: 0;margin: 0;height: 3px;background-color: #fff;border-radius: 0.1em;transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s, top 0.3s;}

        /* Les barres centrales formeront le "X" */
        .hamburger__line:nth-child(2),
        .hamburger__line:nth-child(3) {top: calc(50% - 1px); }

        /* Barre du haut et du bas */
        .hamburger__line:nth-child(1) {top: calc(38% - 1px);transform-origin: 0% 50%;}
        .hamburger__line:nth-child(4) {top: calc(62% - 1px);transform-origin: 0% 50%;left: 33%;}

    /* Slide mobile
    .topBar__main::after is the orange BG that animates on slide open. */
    .topBar__main::after {position:absolute; z-index:-2; display:block;content:'';background: var(--color-orange);top:calc(var(--topbar-height) / 2);right:2em;width: 250vmax;height: 250vmax;border-radius: 250vmax;transform: translate(50%, -50%) scale(0); transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);}
    .topBar__sSlide {position: absolute;z-index: -1;color: var(--color-base);text-align: left;left: 0;right: 0;top: -101vh;height: 100vh;height: var(--vh, 100vh);margin: 0;transform: translate3d(0, 0, 0);opacity: 0;transition: transform 0s 0.5s, opacity 0.2s;}
    .topBar__sSlideIn {padding-top: var(--topbar-height);position: relative;height: 100%;background: var(--color-orange);}
    .topBar__sSlideCtn {display: flex;flex-direction: column;overflow: auto;-webkit-overflow-scrolling: touch;opacity: 0;transition: opacity 0.5s;}

    /* Main nav */
    .topBar__navMain,
    .topBar.isSmaller:not(.isNotSmaller) .topBar__navMain {flex: 0 0 auto;height: auto;position: static;bottom: 0;}
    .navMain {--item-spacing-v: 1.4em;--item-spacing-h: 1px;font-size: calc(0.9em + 1.3vw);height: auto;padding: 3vh var(--width-std-right) 0 var(--width-std-left);display: block;}
    .navMain > li {height: auto;}
    .navMain > li:not(:first-child) {border-top: 1px solid #fff;}
    .navMain > li > a {height: auto;white-space: normal;display: block;}

        /* Hover */
        .navMain > li > a:hover {background-color: transparent; }

        /* +/- for links with a sub nav */
        .navMain > li.hasChildren > a {padding-right: 2em;}
        .navMain > li.hasChildren > a::before,
        .navMain > li.hasChildren > a::after {position:absolute;z-index: 2;display:block;content:" ";left: auto;right: 0;top:50%;transform:translateY(-50%);background: #fff;width: 1em;height: 2px;transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);backface-visibility: hidden;font-size: 1em;border: none;opacity: 1;}
        .navMain > li.hasChildren > a::after {transform: translateY(-50%) rotate(90deg);}

        /* Nav with children */
        .navMain > li > ul {font-size: 0.95em;width: auto;text-align: left;position: relative;left: auto;top: auto;margin: 0;padding: 0 0 1.5em 0;transform: none;opacity: 1;visibility: visible;transition: none;display: none;}
        .navMain > li > ul::before {display: none;}
        .navMain > li > ul > li > a {padding: 0.5em 0;color: #fff;}

            /* Hover */
            .navMain > li > ul > li > a:hover {color: #fff; }

            /* Sub nav ON */
            .navMain > li.on { }
            .navMain > li.on > a {background-color: transparent; }
            .navMain > li.on > a::after {transform:translateY(-50%) rotate(180deg);}

        /* 3e level nav */
        .navMain > li > ul > li > ul {margin: 0 0 1em 0; list-style: none; }
        .navMain > li > ul > li > ul > li {display: block; }
        .navMain > li > ul > li > ul > li > a {font-size: 0.85em; display: inline-block; color: #fff; margin-left: 2em; padding: 0.4em 0; }

            /* Hover */
            .navMain > li > ul > li > ul > li > a:hover {color: #fff; }

    /* Subnav on mobile shown in the slide zone. */
    .topBar__navSub {--item-spacing-h: 1px;flex: 1 0 auto;display: flex;flex-wrap: wrap;align-items: flex-start;align-content: space-between;justify-content: space-between;padding: 0;background: #fff;height: auto;padding: 2em var(--width-std-right) 2em var(--width-std-left);}
    .subNav {--item-spacing-v: 0.9em;width: 100%;margin: 0 0 var(--item-spacing-v) 0;}
    .subNav::after {left: 0;right: auto;width: 3em;top: auto;bottom: calc(-1 * var(--item-spacing-v));height: 1px;}
    .subNav > li {display: block;}

    .langNav {--item-spacing-h: 0.7em; order: 10; width: 50%; margin-left: calc(-1 * var(--item-spacing-h)); }

    .topBar__btnMembres {margin: 0;width: 100%;}

    .topBar__rs {display: block;order: 11;}

    /* Deactivate simili panel and activate mobile subnav */
    .navMain__similiPanel {display: none; }
    .navMain__mobileSubNav {display: block; }


		.topBar__sSlide .subNav > li > ul {font-size: .9em;display: block;position: relative;visibility: visible;opacity: 1;left: 0;transform: none;text-align: left;padding: 0;margin: 0;}
		.topBar__sSlide .subNav > li > ul li {opacity: 1;position: relative;padding-left:7.5%}
		.topBar__sSlide .subNav > li > ul li:before {content:'';top:50%;left:0;position: absolute;width: 5%;height:1px;background: var(--color-orange);transform: translateY(-50%);}
		.topBar__sSlide .subNav > li > a {font-weight: 700; }
		.topBar__sSlide .subNav > li > ul a {padding: 0.7em 0;}


    /*
    TOPBAR ON
    Show the mobile menu.
    Hamburger icon transforms to "x" on click. */
    .topBar.onNav .topBar__logo {color: #fff;}

    .topBar.onNav .topBar__main::after {transform: translate(50%, -50%) scale(1); }
    .topBar.onNav .topBar__sSlide {transform: translate3d(0, 101vh, 0);opacity: 1;transition: transform 0s, opacity 0.2s 0.3s;}
    .topBar.onNav .topBar__sSlideCtn {opacity: 1;transition-delay: 0.3s;}

    .topBar.onNav .hamburger__line:nth-child(2) {transform:rotate(45deg); transition-delay: 0.1s;}
    .topBar.onNav .hamburger__line:nth-child(3) {transform:rotate(-45deg); transition-delay: 0.1s;}

    .topBar.onNav .hamburger__line:nth-child(1) {top: calc(50% - 1px); opacity: 0;}
    .topBar.onNav .hamburger__line:nth-child(4) {top: calc(50% - 1px); opacity: 0;}
}



/* .............................................................................
FOOTER
Footer top: boxes to find a job, blog tags and newsletter subscription.
Footer bottom: address, logo, social medias and buttons.
............................................................................. */
.footer { }
.footer__top {display: flex; }
.footer__top > * {flex:0 0 auto; width: 33.33%; }

	/* Break cols */
	@media (max-width:62rem) {
		.footer__top {display: block; }
		.footer__top > * {width: 100%; }
	}

/* Footer box */
.iFooterBox {position: relative; }
.iFooterBox__ctn {position: absolute;z-index: 2;top: 50%;left: 0;right: 0;transform: translateY(-50%);text-align: center;padding: 5%;}
.iFooterBox__img {position: relative; height: 100%; }
.iFooterBox__img * {height: 100%; width: 100%; object-fit: cover;}
.iFooterBox__img::before {position:absolute; z-index:1; display:block; content:''; top:0; bottom:0; left:0; right:0; background: #000; opacity: 0.25; }

/* Blog with tags box */
.iFooterBlog {background: var(--color-orange); display: flex; align-items: center; justify-content: center; }
.iFooterBlog__ctn {text-align: center;margin: 8%;width: 100%;max-width: 22em;}

/* Bottom */
.footer__bottom {--width-logo:12em;background: var(--color-green);padding: 3% 4%;display: flex;align-items: center;}
.footer__cLogo {order:1; flex:0 0 auto; width: var(--width-logo); text-align: center; }
.footer__cAddress {order:0;flex:1 1 auto;width: calc(50% - var(--width-logo) / 2);font-size: 0.9em;line-height: 1.4;padding-right: 7%;}
.footer__cBtns {order:2;flex:1 1 auto;width: calc(50% - var(--width-logo) / 2);text-align: right;padding-left: 5%;margin-right: -1.4%;}
.footer__cBtns > .btn {margin: 4% 3.5%; }
.footer__logo {font-size: var(--width-logo);}
.footer__logo + .rs {margin-top: 0.5em; }
.footer__bottom.copy {padding:0 0 3% 1.5%;display: block}
.footer__bottom.copy p {text-align: center}


	/* Logo link */
	.footer__logo a {display: block;transition: opacity 0.3s;}
	.footer__logo a:hover {opacity: 0.7; }

    /*
	ANIMATE */
	@media (min-width:62.01rem) {
		.animate .iFooterBox__ctnAppear {opacity: 0; transform: translateY(2rem); }
		.iFooterBox__ctnAppear {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0s; }

		.animate .iFooterBlog__ctnAppear {opacity: 0; transform: translateY(2rem); }
		.iFooterBlog__ctnAppear {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.2s; }

		.animate .iFooterBox:last-child .iFooterBox__ctnAppear {opacity: 0; transform: translateY(2rem); }
		.iFooterBox:last-child .iFooterBox__ctnAppear {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.4s; }
	}

	/* Make it fit in tablet */
	@media (max-width:62rem) {
		.footer__bottom {--width-logo:10em; padding-top: 6%; padding-bottom: 6%; }
	}

	/* Break cols */
	@media (max-width:47rem) {
		.footer__bottom {--width-logo: 14em;display: block;padding: 15% var(--width-std-right) 15% var(--width-std-left);}
		.footer__cLogo {margin: 0 auto;}
		.footer__cAddress {font-size: 1em;width: 100%;text-align: center;margin-top: 10%;padding: 0;}
		.footer__cBtns {width: 100%;text-align: center;margin-top: 10%;margin-right: 0;padding: 0;}

		.footer .rs {font-size: 4em; }
		.footer .rs li a {margin: 0.05em; }
	}

/* .............................................................................
PAGE HEADERS
............................................................................. */

/*
PAGE HEAD / Page
La section en haut de page de la grande majorite des pages du site. */
.pHPage {--rs-width:5em;position: relative;width: 100%;min-height: 32em;display: flex;}
.pHPage__in {flex: 1 1 auto;width: 100%;position: relative;display: flex;flex-direction: column;}
.pHPage__in > * {flex:1 1 auto; }

	/*
	ALT:
	Lower. */
	.pHPage--lower {min-height: 30em;}

	/*
	ALT:
	Home. */
	.pHPage--home {--spacing-bottom: 4em;min-height: 50em;margin-bottom: calc(-1 * var(--spacing-bottom));}
	.pHPage--home .pHPage__cCtn {padding-bottom: var(--spacing-bottom);}

		/*
		ANIMATE */
		.pHPage--home.animate .iPHHome__ctn .subTitle {opacity: 0; }
		.pHPage--home .iPHHome__ctn .subTitle {opacity: 1; transition: opacity 1s; transition-delay: 0.8s; }

		.pHPage--home.animate .iPHScroll__point {opacity: 0; }
		.pHPage--home .iPHScroll__point {opacity: 1; transition: opacity 1s; transition-delay: 0.8s; }

		.pHPage--home.animate .iPHScroll__line {transform: scaleY(0); }
		.pHPage--home .iPHScroll__line {transform: scaleY(1); transform-origin: 50% 0%; transition: transform 1s; transition-delay: 1s; }

		.pHPage--home.animate .iPHScroll__btn {opacity: 0; }
		.pHPage--home .iPHScroll__btn {opacity: 1; transition: opacity 1s; transition-delay: 1.6s; }

		.pHPage--home.animate .iPHBox__in {clip-path: inset(0% 0% 0% 100%); }
		.pHPage--home .iPHBox__in {clip-path: inset(0% 0% 0% 0%); transition: clip-path 1s; transition-delay: 1.6s;}

		.pHPage--home.animate .iPHBox__ctn {opacity: 1; }
		.pHPage--home .iPHBox__ctn {opacity: 1; transition: opacity 1s; transition-delay: 2.2s; }

	/*
	ALT:
	Landing page */
	.pHPage--landing{
		padding-bottom: var(--base-spacing-top);
	}
	.pHPage--landing .pHPage__cCtn{
	    flex-wrap: wrap;
	    padding-left: var(--rs-width);
	    padding-right: 0;
	    padding-bottom: 3.5em;
	}
	    @media (max-width: 62rem){
	        .pHPage--landing .pHPage__cCtn{
	            order: 1;
	            align-items: flex-start;
	            padding-bottom: 15vw;
	        }
	    }
	    @media (max-width: 47rem){
	    	.pHPage--landing .pHPage__cCtn{
	    	    padding-bottom: 5em;
	    	}
	    }
	.pHPage--landing .topBar{
	    position: relative;
	    z-index: 0;
	    background: none;
	    margin-bottom: 0;
	    left: 0;
	    flex-grow: 0;
	}
		@media (max-width: 62rem){
			.pHPage--landing .topBar{
				margin-bottom: 2em;
			}
		}
	.pHPage--landing .pHPage__bg{
		background-color: var(--color-green);
		right: auto;
		width: 75vw;
	}
		@media (max-width: 992px){
			.pHPage--landing .pHPage__bg{
				width: 100%;
			}
		}
	.pHPage--landing h1{
		margin-bottom: .25em;
	}
	.pHPage--landing h2,
	.pHPage--landing .h2{}
		.pHPage--landing .onDark h1,
		.pHPage--landing .onDark h2{
			color: var(--color-orange);
		}
		@media (max-width: 1600px){
			.pHPage--landing .h2,
			.pHPage--landing h2{
				font-size: calc(1em + 2vw);
			}
		}
		@media (max-width: 600px){
			.pHPage--landing .h2,
			.pHPage--landing h2{
				font-size: 1.3em;
				line-height: 1.3;
			}
		}
	.pHPage--landing h1 + h2{
		margin-top: 0;
	}
	.pHPage--landing .iPHHome__ctn{
	    max-width: 100%;
	    padding-right: 4em;
	}
	    @media (max-width: 992px){
	        .pHPage--landing .iPHHome__ctn{
	            max-width: 100%;
	        }
	    }
	.pHPage--landing__titleReveal{
	    overflow: hidden;
	}
		.pHPage--landing__titleReveal.animated{
			overflow: visible;
		}
	.pHPage--landing__titleReveal.reveal > *,
	.pHPage--home .pHPage--landing__titleReveal.reveal .iPHScroll__btn{
	    transform: translateY(110%);
	}
	    .pHPage--landing__titleReveal > *,
	    .pHPage--landing .iPHScroll__btn{
	        transform: translateY(0);
	        transition: transform .8s;
	        transition-delay: .3s;
	        margin-top: 2rem;
	    }
	        @media (max-width: 992px){
	            .pHPage--landing .iPHScroll__btn{
	                display: none;
	            }
	        }
	    .pHPage--home .iPHHome__ctn .pHPage--landing__titleReveal .subTitle {opacity: 1;transition: all 1s;transition-delay: 0.3s;max-width: 16em;}
	.pHPage--landing h2{
	    margin-top: 0;
	}
	.pHPage--home.pHPage--landing .iPHBox__in {transition-delay: .6s;}
	    @media (max-width: 992px){
	        .pHPage--home.pHPage--landing .iPHBox__in {min-height: 0;}
	    }
	.pHPage--home.pHPage--landing .iPHBox__ctn{transition-delay: 1.2s;}
	    @media (max-width: 992px){
	        .pHPage--home.pHPage--landing .iPHBox__ctn{
	            width: 100%;
	        }
	    }
	.pHPage--landing .iPHBox__ctn{
		display: flex;
		flex-wrap: wrap;
		padding: 0;
	}
	.pHPage--landing .iPHBox__ctn img{
		width: 50%;
	}
		@media (max-width: 992px){
			.pHPage--landing .iPHBox__ctn img:not(:nth-child(1)):not(:nth-child(2)){
				display: none;
			}
		}

	/* Mobile */
	@media (max-width:62rem) {
		.pHPage {--rs-width: 0; min-height: 100vw; display: flex; flex-direction: column; }

		.pHPage__in {min-height: 100vw; }
		
		.pHPage--home {--spacing-bottom: 0.1px; }

		.pHPage--home .pHPage__in {min-height: min(calc(var(--vhDefer) - var(--topbar-height)), 65em); }
	}


/* .............................................................................
CONTENT
Title of the page or more complex content.
Center vertical alignment. */
.pHPage__cCtn {display: flex; align-items: center; }
.pHPage__ctn {padding: 3em 0;}
.pHPage__titleReveal {overflow: hidden; }

/* Event : page de details d'un evenement. */
.iPHEvent {padding-top: 5em;align-self: stretch;display: flex;flex-direction: column;justify-content: space-between;}
.iPHEvent > * {flex:0 0 auto; }
.iPHEvent__cBack { }
.iPHEvent__cCtn {padding: 3em 0; display: flex; }
.iPHEvent__cCtn > * {flex:1 1 auto; }
.iPHEvent__date {flex:0 0 auto;margin-right: 3em;padding-top: 1.1em;}
.iPHEvent__ctn { }
.iPHEvent__ctn > h1:first-child {margin-top: -0.15em;}
.iPHEvent__cLink {margin-bottom: -1.6em;}

	/* Date over content */
	@media (max-width:62rem) {
		.iPHEvent {padding-top: 2em;}
		.iPHEvent__cBack {margin-left: calc(-0.8 * var(--width-std-left));}
		.iPHEvent__cBack .btnSubtle__label {display: none; }
		.iPHEvent__cCtn {display: block;padding: 2em 0;}
		.iPHEvent__date {margin: 0 0 2em 0;padding: 0;}
	}

/* Home : big title, subtitle and scroll down incentive. */
.iPHHome { }
	.pHPage--landing .iPHHome{
		display: flex;
	}
		@media (max-width: 62em){
			.pHPage--landing .iPHHome{
				flex-wrap: wrap;
			}
		}
.iPHHome__cCtn { }
	.pHPage--landing .iPHHome__cCtn{
		display: flex;
		align-items: center;
	}
.iPHHome__cScroll {position: absolute;top: 38%;bottom: var(--spacing-bottom);left: calc(var(--width-std-left) / 2);transform: translateX(-50%);}
.iPHHome__ctn {width: 100%;max-width: 35em;}

/* Scroll incentive */
.iPHScroll {height: 100%;display: flex;flex-direction: column;align-items: center;}
.iPHScroll__point {flex:0 0 auto; font-size: 1.1em; height: 1em; width: 1em; background-color: var(--color-orange); border-radius: 50%; }
.iPHScroll__line {flex:1 1 auto; width: 2px; background-color: #fff; }
.iPHScroll__btn {flex:0 0 auto; }

	/* Mobile */
	@media (max-width:62rem) {
		.iPHHome__cCtn {padding-left: calc(2.4em + 6vw);order: 1;}
		.iPHHome__cScroll {top: 43%;left: var(--width-std-left);bottom: var(--width-std-left);transform: none;}

		.iPHScroll__point {font-size: 0.9em; }
		.iPHScroll__line {width: 1px; }
	}



/* .............................................................................
BOTTOM
Submenu, filters or other things at the bottom. */
.pHPage__cBottom {--height: 4.5em;flex:0 0 auto;padding-right: 0;}
	.pHPage--landing .pHPage__cBottom{padding-left: var(--rs-width);}
		@media (max-width: 62em){
			.pHPage--landing .pHPage__cBottom{
				order: 1;
				padding-left: var(--width-std-left);
				padding-right: var(--width-std-left);
			}
		}

/* Filters for the events list */
.iPHFilters {--espacement: 0.5em;--largeurBox: 24em;position: relative;overflow: hidden;}
.iPHFilters__cHead {display: none;}
.iPHFilters__cCtn {display: flex;margin: 0 calc(-1 * var(--espacement));}
.iPHFilters__cCtn > * {flex: 0 0 auto; width: var(--largeurBox); padding: 0 var(--espacement); margin: 0; }
.iPHFilters__hLabel { }
.iPHFilters__hIcon { }
.iPHFilters__hIconClose { }
.iPHFilters__hIconFilter { }
.iPHFilters__filter {height: var(--height);}
.iPHFilters__submit {display: none;}
.iPHFilters__filter .select2 {height: 100%; }
.iPHFilters__filter .select2.select2-container .select2-selection {height: 100%;border:none;display: flex;align-items: center;}

	/* Filters 50% side-by-side */
	@media (max-width:62rem) {
		.iPHFilters {--espacement: 0.5em;--largeurBox: calc(0.5 * (100% - var(--width-std-left)));}
	}

	/* Hidden filters, reveal on click on head. */
	@media (max-width:47rem) {
		.iPHFilters {--espacement: 0.5em;--largeurBox: 100%;--paddingBox: 1.5em;overflow: visible;}
		.iPHFilters__cHead {display: flex;align-items: center;background-color: #fff;color: var(--color-green);height: var(--height);padding: 0 var(--paddingBox);transition: background-color 0.3s, color 0.3s;}
		.iPHFilters__cCtn {display: block;background: var(--color-orange);margin: 0;padding: 0 var(--paddingBox) 1em var(--paddingBox);position: absolute;z-index: 3;left: 0;right: 0;}
		.iPHFilters__cCtn > * {padding: var(--espacement) 0;}
		.iPHFilters__hLabel {flex: 1 1 auto;text-transform: uppercase;}
		.iPHFilters__hIcon {font-size: 3em;flex: 0 0 auto;display: grid;color: var(--color-orange);margin: 0 -0.25em 0 0;transition: color 0.3s;}
		.iPHFilters__hIcon > * {grid-column: 1 / -1;grid-row: 1 / -1;}
		.iPHFilters__hIconClose {opacity: 0; transition: opacity 0.3s; }
		.iPHFilters__hIconFilter {opacity: 1; transition: opacity 0.3s; }
		.iPHFilters__filter {height: auto;}
		.iPHFilters__submit {display: block;text-align: center;margin: 0.8em 0;}
		.iPHFilters__filter .select2 {height: auto; }
		.iPHFilters__filter .select2.select2-container .select2-selection {height: auto; }

		/*
		STATE / On.
		Ouvrir les filtres au complet. */
		.iPHFilters .iPHFilters__cCtn {opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s; }

		/* On */
		.iPHFilters.on .iPHFilters__cCtn {opacity: 1; visibility: visible; }
		.iPHFilters.on .iPHFilters__cHead {background-color: var(--color-orange); color: #fff; }
		.iPHFilters.on .iPHFilters__hIcon {color: #fff; }
		.iPHFilters.on .iPHFilters__hIcon .iPHFilters__hIconClose {opacity: 1; }
		.iPHFilters.on .iPHFilters__hIcon .iPHFilters__hIconFilter {opacity: 0; }
	}


/* .............................................................................
SIDE BOX
Box at right in the home page. */
.pHPage__sideBox {position: absolute;z-index: 7;right: 0;bottom: 14%;}
	.pHPage--landing .pHPage__sideBox{
		top: var(--rs-width);
		left: 75vw;
		transform: translateX(-50%);
		width: 40vw;
	}
.iPHBox {max-width: 29em; min-width: 29em;}
	.pHPage--landing .iPHBox{
		max-width: 40vw;
		position: relative;
		bottom: -1px;
		display: flex;
	}
		@media (max-width: 62em){
			.pHPage--landing .iPHBox{
				max-width: 100%;
				bottom: auto;
				margin-top: 0;
				margin-bottom: 8vw;
				margin-left: var(--width-std-left);
				filter: none;
			}
		}
.iPHBox__in {min-height: 27em;position: relative;display: flex;align-items: flex-end;}
.iPHBox__ctn {flex: 0 1 auto;padding: 8%;}
.iPHBox__bg {position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; overflow: hidden; }
.iPHBox__bg::before {position:absolute; z-index:0; display:block; content:''; top:-1px; bottom:-1px; left:-1px; right:-1px; background-color: var(--color-green); opacity: 0.85; }
.iPHBox__bg * {width: 100%; height: 100%; object-fit: cover;}

/* Redefinir certains styles du head. */
.iPHBox .iHead .svgIcon {font-size: 4.4em;color: var(--color-orange);margin-left: -0.18em;}
.iPHBox .iHead + * {margin-top: 0.8em;}

	/* Box floating under the image */
	@media (max-width:62rem) {
		.iPHBox {min-width: auto;}
		.pHPage__sideBox {position: static;margin-left: var(--width-std-left);margin-top: 2em;}
			.pHPage--landing .pHPage__sideBox{
				transform: none;
				margin-bottom: 4em;
				width: 100%;
				margin-top: 0;
				margin-left: 0;
				padding-left: calc(var(--width-std-left)/2);
				flex-grow: 0;
			}
		.iPHBox {margin-left: auto;margin-top: -20vh;}
			.pHPage--landing .pHPage__sideBox .iPHBox{
				filter: none;
				margin-top: 0;
			}

		.iPHBox .iHead .svgIcon {font-size: 3.5em; }
	}

	/* Box under */
	@media (max-width:47rem) {
		.iPHBox {margin-top: 0;}
		.iPHBox__in {min-height: 0;}
	}


/* .............................................................................
BG
Full width / height. */
.pHPage__bg {position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; }
.pHPage__bg * {width: 100%; height: 100%; object-fit: cover; }


/* .............................................................................
SOCIAL MEDIAS
At right, they are sticky. */
.pHPage__rs {flex: 0 0 auto;width: var(--rs-width);position: relative;z-index: 6;}

	/* Mobile */
	@media (max-width:62rem) {
		.pHPage__rs {display: none; }
	}



/* .............................................................................
ANIMATE
Animation of the page head for each page. */
.animate .pHPage__bg > * {opacity: 0; transform: translateY(20%); }
.pHPage__bg > * {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0s; }

.animate .pHPage__titleReveal > * {transform: translateY(110%); }
.pHPage__titleReveal > * {transform: translateY(0); transition: transform 1s; transition-delay: 0.3s; }

.animate .pHPage__cBottom {opacity: 0; }
.pHPage__cBottom {opacity: 1; transition: opacity 1s; transition-delay: 0.6s; }

.animate .iPHEvent__date {opacity:0; }
.iPHEvent__date {opacity:1; transition: opacity 1s; transition-delay: 0.9s; }

.animate .iPHEvent__ctn > *:not(.pHPage__titleReveal) {opacity:0; }
.iPHEvent__ctn > *:not(.pHPage__titleReveal) {opacity:1; transition: opacity 1s; transition-delay: 0.9s; }

.animate .iPHEvent__cLink {opacity:0; }
.iPHEvent__cLink {opacity:1; transition: opacity 1s; transition-delay: 1.1s; }

.animate .iPHEvent__cBack {opacity:0; }
.iPHEvent__cBack {opacity:1; transition: opacity 1s; transition-delay: 1.1s; }

/* .............................................................................
SITE ITEMS
............................................................................. */

/*
ITEM / Header
Default title (header) for a block. */
.iHead { }
.iHead + * {margin-top: 1.5em;}

	/*
	ALT:
	Centered. */
	.iHead--center {text-align: center; }

	/*
	ALT:
	More spacing. */
	.iHead--more { }
	.iHead--more + * {margin-top: 4.5em;}



/*
ITEM / Content
Default content for generic a block. */
.iContent { }



/*
ITEM / Footer
Des fois, il y a des boutons en bas d'un block. */
.iFoot { }

	/*
	ALT:
	Centered. */
	.iFoot--center {text-align: center;margin-top: 4em;}



/*
ITEM / Nav arrows
Navigation pour un carousel. */
.navArrows {--espacementV: 1.5em;--espacementH: 1em;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));display: inline-flex;align-items: center;}
.navArrows__item {flex: 0 0 auto; padding: var(--espacementV) var(--espacementH); }
.navArrows__left { }
.navArrows__right { }
.navArrows__slideNumbers {display: inline-block;margin: 0 1.002em;}

	/*
	ALT :
	Vertical alignment. */
	.navArrows--vertical {flex-direction: column;}
	.navArrows--vertical > *:first-child {order:2; }

	/*
	ALT :
	Vertical alignment on desktop only. */
	.navArrows--verticalDT { }

	@media (min-width:62.01em) {
		.navArrows--verticalDT {flex-direction: column;}
		.navArrows--verticalDT > *:first-child {order:2; }
	}



/*
ITEM / Social networks
Liens vers reseaux sociaux, cote a cote. */
.rs {list-style: none;font-size: 2.85em;line-height: 1;}
.rs li {display: inline-block;}
.rs li a {color: var(--color-green);margin: -0.1em;text-decoration: none;display: block;height: 1em;box-sizing: content-box;transition: color 0.2s;}

	/* On dark */
	.onDark .rs li a {color: #fff;}

	/*
	ALT:
	On dark section. */
	.onDarkSection { }
	.onDarkSection .rs li a {color: #fff; }

	/* Hover */
	.rs li a:hover {color: var(--color-orange); }

	/*
	ALT :
	Vertical alignment */
	.rs--vertical {text-align: center;}
	.rs--vertical li {display: block;}
	.rs--vertical li a {display: inline-block;}

	/*
	ALT :
	Left aligned.
	Si premier de ligne et left-align, l'alignement du premier n'est
	pas quite good. Donc, pull un peu le premier vers la gauche. */
	.rs--leftAlign { }
	.rs--leftAlign li:first-child {margin-left: -0.18em;}



/*
ITEM / Box link
Marker with date or icon (optional)
Image at top (optional)
Content in a white background:
   - tags
   - title
   - location with icon (or no icon text)
   - paragraph of details (optional)
   - link icon "x"
 */
.iBox {--spacing-content: 7%;line-height: 1;display: block;}
.iBox__in {position: relative;background-color: #fff;height: 100%;display: flex;flex-direction: column;}
.iBox__cMarker {position: absolute;z-index: 1;top: 0;left: var(--spacing-content);margin-top: -1.2em;}
.iBox__cImg {flex: 0 0 auto;}
.iBox__cCtn {flex: 1 1 auto;padding: var(--spacing-content);}

/* Si pas d'image, laisser de la place pour le marker dans la zone de contenu. */
.iBox__cMarker + .iBox__cCtn {padding-top: calc(5.5em + var(--spacing-content));}

.iBox__img { }
.iBox__head { max-width: 80%}
.iBox__ctn {font-size: 0.88em;margin-top: 1em;}
.iBox__iconLink {margin-top: 1.3em;}

	/*
	ALT:
	Lien icone en bas a droite. */
	.iBox--linkAtRight { }
	.iBox--linkAtRight .iBox__ctn {padding-right: 5em;}
	.iBox--linkAtRight .iBox__iconLink {position: absolute;right: 0;bottom: 0;margin: 0 var(--spacing-content) var(--spacing-content) 0;}

	/* S'il n'y a pas de contenu, on applique un espace au head. */
	.iBox--linkAtRight .iBox__head:nth-last-child(2) {padding-right: 4em;}

	/*
	ALT:
	No content padding.
	Useful when there is no shadow under the content.
	Useful for the slide panel in the header. */
	.iBox--noCtnPadding { }
	.iBox--noCtnPadding .iBox__in {background-color: transparent; }
	.iBox--noCtnPadding .iBox__cCtn {padding-left: 0; padding-right: 0; padding-bottom: 0; }

	/*
	ALT:
	Marker a gauche au lieu d'en haut. */
	.iBox--markerAtLeft { }
	.iBox--markerAtLeft .iBox__cMarker {margin-top: var(--spacing-content);left: -2.2em;}
	.iBox--markerAtLeft .iBox__cMarker + .iBox__cCtn {padding-top: var(--spacing-content);padding-left: calc(1.7em + var(--spacing-content));}

		/*
		ALT:
		Centrer verticalement le marker. */
		.iBox--markerAtLeft--centered { }
		.iBox--markerAtLeft--centered .iBox__cMarker {margin-top: 0;top: 50%;transform: translateY(-50%);}

	/*
	MARKER:
	The marker is always at the top. */
	@media (max-width:62rem) {
		.iBox__cMarker,
		.iBox--markerAtLeft .iBox__cMarker {top: 0;left: var(--spacing-content);transform: none; margin-top: -1.2em;}

		.iBox__cMarker + .iBox__cCtn,
		.iBox--markerAtLeft .iBox__cMarker + .iBox__cCtn {padding-top: calc(4em + var(--spacing-content));padding-left: var(--spacing-content);}
	}

	/*
	MOBILE:
	Spacing and sizes adjustments. */
	@media (max-width:47rem) {
		.iBox__in {height: auto; }
	}



/*
ITEM / Box date
Date qu'on affiche dans iBox. */
.iBoxDate {background: var(--color-orange);color: #fff;min-width: 5.4em;height: 6.5em;display: inline-flex;align-items: center;justify-content: center;}
.iBoxDate__in {display: block; text-align: center;padding: 0 0.5em;}
.iBoxDate__day {display: block;font-size: 2.11em;text-transform: uppercase;padding: 0.5em 0 0.3em 0;}
.iBoxDate__month {display: block;font-size: 0.83em;text-transform: uppercase;position: relative;padding: 1em 0 0.5em 0;}
.iBoxDate__month::before {position:absolute; z-index:0; display:block; content:''; top:0; height:1px; left:0; right:0; background-color: #fff;}
.iBoxDate__iconPDF {font-size: 4.76em; }

	/* Size */
	@media (max-width:47rem) {
		.iBoxDate {font-size: 0.75em; }
	}



/*
ITEM / Box subtitle
Icon at left, label at right. */
.iBoxUT {color: var(--color-orange);font-weight: 900; display: flex; align-items: center; }
.iBoxUT__icon {display: block;flex:0 0 auto;font-size: 2.86em;margin: -0.4em 0 -0.4em -0.35em;}
.iBoxUT__label {display: block; flex:1 1 auto; font-size: 0.88em;}
* + .iBoxUT {margin-top: 0.6em; }

	/*
	ALT:
	Bigger.
	Pour la page details d'un evenement. */
	.iBoxUT--bigger {color: #fff;}

	/* Bigger */
	@media (min-width:47.01rem) {
		.iBoxUT--bigger {font-size: 1.35em;}
	}



/*
ITEM / Box team member
Image at top.
Name and description at bottom. */
.iBoxMember { }
.iBoxMember__img { }
.iBoxMember__ctn {padding-top: 1.5em;}



/*
ITEM / Text icon col
Texte avec icone : icone a gauche, texte a droite. */
.tIC {display: flex;align-items: center;}
.tIC__icon {display: block; flex: 0 0 auto; margin-right: 1.5em; }
.tIC__text {display: block; flex: 1 1 auto; }

	/* Break cols */
	@media (max-width:47rem) {
		.tIC {display: block; }
		.tIC__icon {margin-right: 0; }
		.tIC__text {margin-top: 1em; }
	}



/*
QUICKNAV
Quick nav sticky in some pages. */
.quickNav {--quicknav-height:var(--height, 4em);--items-spacing: 2.2em;position: relative;padding-top: var(--topbar-height-scrolled);height: var(--quicknav-height);box-sizing: content-box;/* margin-top: calc(-1 * var(--topbar-height-scrolled)); */transition: opacity 0.5s;}
.quickNav::before {position:absolute;z-index:0;display:block;content:'';top: var(--topbar-height-scrolled);bottom:0;left:0;right:0;background-color: #fff;}
.quickNav__in {background: #fff;position: absolute;z-index: 5;bottom: 0;height: var(--quicknav-height);left: 0;right: 0;transition: transform 0.5s, height 0.5s 0.2s, background 0.5s;}
.quickNav__items {display: flex;height: 100%;margin-right: var(--rs-width);}
.quickNav__item {font-size: 0.95em;flex: 0 1 auto;display: flex;align-items: center;color: var(--color-orange);text-decoration: none;text-align: left;padding: 0.2em var(--items-spacing) 0 var(--items-spacing);position: relative;transition: color 0.2s;}
.quickNav__text {display: block;flex: 0 1 auto;}

.quickNav__trigger {appearance: none;position: relative;cursor: pointer;background: none;outline: none;border: none;border-radius: 0;padding: 0;margin: 0;display: flex;align-items: center;text-align: left;width: 100%;max-width: 100%;height: 100%;color: var(--color-orange);font-size: 1em;line-height: 1.2;text-decoration: none;transition: background-color 0.3s;display: none;}
.quickNav__triggerLabel {font-size: 0.95em;display:block;flex: 1 1 auto;padding: 0 var(--items-spacing);padding-right: 5em;}
.quickNav__triggerIcon {display: block;position: absolute;font-size: 3em;right: 0.4em;top: 50%;transform: translateY(-50%);color: var(--color-orange);}
.quickNav__triggerOpen {display: block; color: var(--color-orange); transition: color 0.3s, transform 0.3s; will-change: transform; }
.quickNav__triggerClose {display: none;}

	@media (max-width: 400px){
		.quickNav__triggerLabel{

padding-right: 3em;
		}
		.quickNav__triggerIcon{
			font-size: 2.5em;
		}
	}

	/* Init:
	Inutile car on fait deja le appear avec .animate */
	/* .quickNav.isInit {opacity: 1; } */

	/* Hover */
	.quickNav__item:hover {color: var(--color-green);}

	/*
	STATE / Sticky */
	.quickNav.isSticky .quickNav__in {--quicknav-height: var(--topbar-height-scrolled);position: fixed;top: var(--topbar-height-scrolled);bottom: auto;left: var(--width-std-left);right: calc(-1 * var(--width-std-right));transform: translate(calc(-1 * var(--width-std-left)), 0);height: var(--topbar-height-scrolled);background-color: #f5f5f5;}

		/* Active (juste quand c'est sticky) */
		.quickNav.isSticky .quickNav__item.active {color: var(--color-green);}

	/* Hide */
	.quickNav.quickNav--hide .quickNav__in {transform: translate(calc(-1 * var(--width-std-left)), -130%);}

	/*
	ALT:
	Carriere.
	La quicknav ne contient pas de liens internes, mais plutot des liens
	vers d'autres pages. Par contre, le look, le sticky et le mobile est
	quasi identique a la quickNav, donc on utilise le HTML de la quickNav. */
	.quickNav--carriere { }

	/* Arrow for active link */
    .quickNav--carriere .quickNav__item::after {font-size: 0.8em;position:absolute;z-index: 5;display:block;content:'';top:calc(100% - 1px);left: 50%;border: 0 solid transparent;border-top-color: var(--color-orange);opacity: 0;transform: translate(-50%, 0%);transition: border 0.3s, opacity 0.3s;}

		/* Active */
		.quickNav--carriere .quickNav__item.active,
		.quickNav--carriere.isSticky .quickNav__item.active {color: #fff; background: var(--color-orange); }
    	.quickNav--carriere .quickNav__item.active::after {opacity: 1;border-width: 1em;}

		/* Hover */
		.quickNav--carriere .quickNav__item:hover,
		.quickNav--carriere.isSticky .quickNav__item:hover {color: var(--color-green); }

	/*
	ALT:
	Box buttons with icons
	Les liens sont des "boxes" uniformes avec un bouton + */
	.quickNav--boxBtnWIcon{
		height: var(--base-spacing-bottom);
		padding-top: 0;
		margin-top: 0;
		transform: translateY(50%);
		margin-top: calc(-1 * var(--base-spacing-bottom));
	}
	.quickNav--boxBtnWIcon .quickNav__in{
		height: var(--base-spacing-bottom);
		background: var(--color-orange);
	}
		@media (max-width: 62rem){
			.quickNav--boxBtnWIcon .quickNav__in{
				height: calc(1.2 * var(--base-spacing-bottom));
			}
		}
		.quickNav--boxBtnWIcon .quickNav.isSticky .quickNav__in{
			position: relative;
			top: 0;
		}
	.quickNav--boxBtnWIcon .quickNav__items{
		margin-right: 0;
	}
		@media (max-width: 62rem){
			.quickNav--boxBtnWIcon .quickNav__items{
				padding-bottom: 0;
			}
		}
	.quickNav--boxBtnWIcon .quickNav__item{
		flex: 0 0 25%;
		background: var(--color-orange);
		color: #fff;
		justify-content: space-between;
	}
		@media (max-width: 62rem){
			.quickNav--boxBtnWIcon .quickNav__item{
				padding: calc(0.75 * var(--items-spacing)) calc(1.25 * var(--items-spacing));
			}
		}
		.quickNav--boxBtnWIcon .quickNav__item:nth-child(even){
			background: var(--color-orange-alt);
		}
	.quickNav--boxBtnWIcon .quickNav__item .btnIcon{
		margin-left: 1em;
	}
	.quickNav--boxBtnWIcon .quickNav__text{
		font-size: calc(.2em + .9vw);
	}
		@media (max-width: 62rem){
			.quickNav--boxBtnWIcon .quickNav__text{
				font-size: 1.5em;
			}
		}
	.quickNav--boxBtnWIcon .quickNav__triggerLabel{
		font-size: 1.5em;
	}
	.quickNav--boxBtnWIcon .quickNav__trigger{
		color: #fff;
	}
	.quickNav--boxBtnWIcon .quickNav__triggerOpen{
		color: #fff;
	}



/* Quicknav becomes a dropdown */
@media (max-width:62rem) {
	.quickNav {--items-spacing: 2em; }
	.quickNav__items {display: block;height: auto;background: var(--color-orange);padding: calc(0.5 * var(--items-spacing)) 0;opacity: 0;visibility: hidden;transition: opacity 0.3s, visibility 0.3s;}
	.quickNav__item {padding: calc(0.5 * var(--items-spacing)) var(--items-spacing);color: #fff;}
	.quickNav__trigger {display: flex;color: var(--color-green);}

	/* Carriere */
	.quickNav--carriere::before {background-color: var(--color-orange); }
	.quickNav--carriere .quickNav__in,
	.quickNav--carriere.isSticky .quickNav__in {background-color: var(--color-orange); }
	.quickNav--carriere .quickNav__trigger {color: #fff;}
	.quickNav--carriere .quickNav__trigger::after {font-size: 0.8em;position:absolute;z-index: 5;display:block;content:'';top: calc(100% - 1px);left: 50%;border: 0 solid transparent;border-top-color: var(--color-orange);opacity: 0;transform: translate(-50%, 0%);transition: border 0.3s, opacity 0.3s;opacity: 1;border-width: 1em; }
	.quickNav--carriere .quickNav__triggerOpen {color: #fff;}

		/* Active */
		.quickNav--carriere .quickNav__item.active,
		.quickNav--carriere.isSticky .quickNav__item.active {color: var(--color-green); background: transparent; }
    	.quickNav--carriere .quickNav__item.active::after {display: none; }

	/*
	STATE / Open */
	.quickNav.open .quickNav__items {opacity: 1;visibility: visible;}
	.quickNav.open .quickNav__trigger {background: var(--color-orange);}
	.quickNav.open .quickNav__triggerOpen {color: #fff; transform: rotate(180deg); }
}

/* Spacing */
@media (max-width:62rem) {
	.quickNav {--items-spacing: 1.5em;z-index: 90;}
}



/*
ITEM / Floating box
Box qui deviendra sticky eventuellement. */
.iFloatBox {--float-box-topbar-spacer: calc(2.5em + var(--topbar-height));position: absolute;z-index: 8;top: 0;left: 0;right: 0;}
.iFloatBox__willPin {padding-top: var(--float-box-topbar-spacer);margin-top: calc(-1 * var(--float-box-topbar-spacer)); }
.iFloatBox__scrolledPosition {--move:calc(var(--topbar-height-scrolled) - var(--topbar-height) - calc(var(--topbar-nav-height) / 2)); transition: transform 0.4s; }

	/* Quand la topbar est plus petite...
	Inutile car on doit laisser de la place sour la barre de sous menu sticky.
	Donc, les reseaux sociaux sont toujours sticky au meme endroit. */
	/* .topBar.isSmaller:not(.isNotSmaller) + main .iFloatBox__scrolledPosition {transform: translateY(var(--move)); } */

	/* No share on mobile */
	@media (max-width:47rem) {
		.iFloatBox {display: none; }
	}



/*
ITEM / Stat
Utile dans le carousel de stats. */
.iStat { }
.iStat__in { }
.iStat__cHead { }
.iStat__cHead + * {margin-top: 2em; }
.iStat__big {font-size: 5.5em; text-transform: uppercase; }
.iStat__subStat {margin-top: 0;}
.iStat__cCtn { }

	/* Smaller */
	@media (max-width:47rem) {
		.iStat__cHead + * {margin-top: 1.5em; }
	}



/*
ITEM / Badge
Dans la liste des specialisations. */
.iBadge { }
.iBadge__in {text-align: center; max-width: 14em; margin-left: auto; margin-right: auto; }
.iBadge__icon { }
.iBadge__icon + *, .iBadge__icon + h3 {margin-top: 0.55em;}
.iBadge__title {text-transform: none;font-size: 1.35em; }



/*
ITEM / BG lined
Les vars permettent d'afficher le nombre voulu. */
:root {--qty-bg-lined-width:10;--qty-bg-lined-height:5; }
.bgLined {display: block;font-size: 5em;position: relative;width: 100%; opacity: 0.5; }
.bgLined__in {display: block; padding-top: calc(100% * 1.572 / var(--qty-bg-lined-width) * var(--qty-bg-lined-height)); background-image: url(../../img/svg/bg-lined-orange.svg);background-position: 0 0;background-size: calc(100% / var(--qty-bg-lined-width)); background-repeat: repeat; }

	/*
	ALT:
	Green. */
	.bgLined--green .bgLined__in /*,
	.bCIP--green .bgLined__in*/ {background-image: url(../../img/svg/bg-lined-green.svg); }



/*
ITEM / Title
Description. */

/* .............................................................................
SITE BLOCKS
............................................................................. */

/*
BLOCK / Standard styles
Styles standard des blocs principaux. */
.bMain {padding-top: var(--base-spacing-top);padding-bottom: var(--base-spacing-bottom);overflow-x: hidden;}

	/*
	ALT :
	No double padding.
	Si 2 blocks avec cette classe se chevauchent, ne pas mettre
	d'espacement entre ces 2 blocs. */
	.bMain--noDP + .bMain--noDP {padding-top: 0; }

	/* ALT :
	No top padding */
	.bMain--noTP{
		padding-top: 0;
	}

	/*
	ALT:
	Green background. */
	.bMain--green {background-color: var(--color-green); }

	/*
	ALT:
	Orange background. */
	.bMain--orange {background-color: var(--color-orange); }

	/*
	ALT:
	Arrow at bottom pointing downwards */
	.bMain--bottomArrow + .bMain{
		position: relative;
	}
	.bMain--bottomArrow + .bMain:before{
		--arrowWidth: 2.5em;
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-left: var(--arrowWidth) solid transparent;
		border-right: var(--arrowWidth) solid transparent;
		position: absolute;
		left: 50%;
		top: 0;
		border-top: var(--arrowWidth) solid currentColor;
		transform: translateX(-50%);
	}
		.bMain--green.bMain--bottomArrow + .bMain:before{
			border-top-color: var(--color-green);
		}
		.bMain--orange.bMain--bottomArrow + .bMain:before{
			border-top-color: var(--color-orange);
		}

	/*
	ALT:
	Extra bottom padding to allow next block overlap */
	.bMain--extraBP{
		padding-bottom: calc(3 * var(--base-spacing-bottom));
	}
		.bMain--extraBP + .bMain{
			margin-top: calc(-1.5 * var(--base-spacing-bottom));
		}

	/*
	ANIMATE */
	@media (min-width:62.01rem) {
		.animateGeneric.bMain > * {opacity: 0; transform: translateY(2rem); }
		.bMain > * {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0s; }
	}
	@media (max-width:62rem){
		.bMain--bottomArrow:after{
			--arrowWidth: calc(1em + 2.5vw);
		}
	}



/*
BLOCK / Layout cols
Differentes options de layout pour le texte. */
.c2 {--espacement: 1.5002em; display: flex; margin: calc(-1 * var(--espacement)); }
.c2__col {display: block;flex: 0 0 auto; width: 50%; padding: var(--espacement); }

.c3 {--espacement: 1.5002em; display: flex; margin: calc(-1 * var(--espacement)); }
.c3__col {display: block;flex: 0 0 auto;width: 33.33%; padding: var(--espacement);}

	/* Break cols */
	@media (max-width:47rem) {
		.c2 {flex-wrap: wrap; }
		.c2__col {width: 100%; }

		.c3 {flex-wrap: wrap; }
		.c3__col {width: 100%; }
	}



/*
BLOCK / Boxes list
Boxes 3 cols per row qui deviennent une par-dessus l'autre sur mobile.
C'est aussi possible de les afficher en carousel.
Optionnel : Contenu en haut de la liste. */
.bBoxesList {--espacementV: 2.7em; --espacementH: 2.7em; --largeurBox: 33.33%; }
.bBoxesList__top { }
.bBoxesList__top + * {margin-top: 5.002vw;}
.bBoxesList__head { }
.bBoxesList__ctn { }
.bBoxesList__list {position: relative; }
.bBoxesList__items {display: flex;flex-wrap: wrap;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));transition: height 0.4s;}
.bBoxesList__items .iBox {flex: 0 0 auto;width: var(--largeurBox);padding: var(--espacementV) var(--espacementH);transition: height 0.3s;}

	/* 2 cols */
	@media (max-width:75rem) {
		.bBoxesList {--largeurBox: 50%; }
	}

	/* 1 col */
	@media (max-width:62rem) {
		.bBoxesList {--espacementV: 2em; --espacementH: 1px; --largeurBox: 100%; }
		.bBoxesList__items {display: block; }
	}



/*
BLOCK / Boxes list equipe
Boxes 4 cols per row. */
.bTeamList {--espacementV: 4vw; --espacementH: 2.5vw; --largeurBox: 25%;}
.bTeamList__list { }
.bTeamList__items {display: flex; flex-wrap: wrap; margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH)); }
.bTeamList__items > * {flex: 0 0 auto; width: var(--largeurBox); padding: var(--espacementV) var(--espacementH);}

	/* Huge screens */
	@media (min-width:125rem) {
		.bTeamList {--espacementV: 4em; --espacementH: 2.5em; }
	}

	/* 2 cols */
	@media (max-width:62rem) {
		.bTeamList {--largeurBox: 50%; }

		.bTeamList .iHead {text-align: center; }
		.bTeamList .iHead + * {margin-top: 3em; }
		.bTeamList .iHead > * {font-size: 3.39em; }
	}

	/* 1 col */
	@media (max-width:47rem) {
		.bTeamList {--espacementV: 2em;--espacementH: var(--width-std-left);--largeurBox: 100%;}
		.bTeamList__items {display: block; }

		.bTeamList .iHead + * {margin-top: 2em; }
		.bTeamList .iHead > * {font-size: 2.25em; }
	}



/*
BLOCK / CIP
Content.
Image with a pattern. */
.bCIP {--spacing:7.5%; }
.bCIP__layout {display: flex;align-items: center; margin-bottom: 10%;}
.bCIP__cCtn {flex: 0 0 auto;width: 50%;padding-left: var(--spacing); }
.bCIP__cImg {flex: 0 0 auto;width: 50%;padding-right: var(--spacing); position: relative; }
.bCIP__bg {position: absolute;z-index: -1;top: 11%;left: calc(-1 * var(--overflow-std-left));right: 0;}
.bCIP__img { }
.bCIP .iHead h3, .bCIP .iHead .h3 {color: var(--color-orange); }

	/*
	ANIMATE */
	.animate .bCIP__imgClip {clip-path: inset(0% 100% 0% 0%); }
	.bCIP__imgClip {clip-path: inset(0% 0% 0% 0%); transition: clip-path 1s;}

	@media (min-width:62.01rem) {
		.animate .bCIP__cCtn {opacity: 0; transform: translateY(2rem); }
		.bCIP__cCtn {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.3s; }
	}

	/*
	ALT:
	Inverse.
	Image at right, content at left. */
	.bCIP--inverse { }
	.bCIP--inverse .bCIP__cCtn {padding-left: 0; padding-right: var(--spacing);}
	.bCIP--inverse .bCIP__cImg {order:2; padding-right: 0; padding-left: var(--spacing);}
	.bCIP--inverse .bCIP__bg {left: 0; right: calc(-1 * var(--overflow-std-right)); }
	.bCIP--inverse.animate .bCIP__imgClip {clip-path: inset(0% 0% 0% 100%); }

	/*
	ALT:
	Green colors. */
	.bCIP--green { }
	.bCIP--green .iHead h3, .bCIP--green .iHead .h3 {color: var(--color-green); }

	/* Break cols */
	@media (max-width:62rem) {
		.bCIP {--qty-bg-lined-width:6; --qty-bg-lined-height:3; }
		.bCIP__layout {display: block; margin: 0; }
		.bCIP__layout > *,
		.bCIP--inverse .bCIP__layout > * {padding: 0; width: 100%; }
		.bCIP__cCtn {margin-top: var(--base-spacing-top); }
		.bCIP__cImg,
		.bCIP--inverse .bCIP__cImg {padding-bottom: 6%;}
		.bCIP__bg,
		.bCIP--inverse .bCIP__bg {top: 15%;left: calc(-1 * var(--overflow-std-left));right: calc(-1 * var(--overflow-std-right));}
		.bCIP__img { }
	}

	/* Nombre de logos BG */
	@media (max-width:47rem) {
		.bCIP {--qty-bg-lined-width:4; --qty-bg-lined-height:2; }
		.bCIP__bg,
		.bCIP--inverse .bCIP__bg {top: 25%; }
	}



/*
BLOCK / CBI
Content in a box.
Image. */
.bCBI { }
.bCBI__layout {display: flex;align-items: flex-start;}
.bCBI__cCtn {flex:1 1 auto;padding: 6% 6% 6% 7%;position: relative;}
.bCBI__cCtn::before {position:absolute;z-index:-1;display:block;content:'';top:0;bottom:0;left:0;right: -22%;background: var(--color-orange);}
.bCBI__cImg {flex:0 0 auto;width: 50%;position: relative;z-index: 1;padding-top: 6%;padding-right: 7%;}
.bCBI__ctn { }
.bCBI__img { }
.bCBI .iHead h3, .bCBI .iHead .h3 {color: var(--color-green); }

	/*
	ANIMATE */
	@media (min-width:62.01rem) {
		.animate .bCBI__cCtn::before {transform: scaleX(0); }
		.bCBI__cCtn::before {transform: scaleX(1); transform-origin: 0% 50%; transition: transform 1s; }

		.animate .bCBI__ctn {opacity: 0; }
		.bCBI__ctn {opacity: 1; transition: opacity 1s; transition-delay: 0.6s; }
	}

	.animate .bCBI__imgClip {clip-path: inset(0% 0% 0% 100%); }
	.bCBI__imgClip {clip-path: inset(0% 0% 0% 0%); transition: clip-path 1s; transition-delay: 0.3s;}


	/*
	ALT:
	Inverse.
	Image at left, content at right. */
	.bCBI--inverse { }
	.bCBI--inverse .bCBI__cCtn {order:2; padding-left: 6%; padding-right: 7%; }
	.bCBI--inverse .bCBI__cCtn::before {right: 0; left: -22%; transform-origin: 100% 50%; }
	.bCBI--inverse .bCBI__cImg {padding-right: 0; padding-left: 7%; }
	.bCBI--inverse.animate .bCBI__imgClip {clip-path: inset(0% 100% 0% 0%); }

	/*
	ALT:
	Green colors. */
	.bCBI--green { }
	.bCBI--green .bCBI__cCtn::before {background-color: var(--color-green); }
	.bCBI--green .iHead h3, .bCBI--green .iHead .h3 {color: var(--color-orange); }

	/* Break cols */
	@media (max-width:62rem) {
		.bCBI {padding-left: 0; padding-right: 0; }
		.bCBI__layout {display: block; }
		.bCBI__layout > *,
		.bCBI--inverse .bCBI__layout > * {padding: 0;width: 100%;}
		.bCBI__cCtn,
		.bCBI--inverse .bCBI__cCtn {padding: var(--base-spacing-top) var(--width-std-right) var(--base-spacing-bottom) var(--width-std-left);}
		.bCBI__cCtn::before,
		.bCBI--inverse .bCBI__cCtn::before {left: 0; right: 0; }
		.bCBI__cImg {padding-left: var(--width-std-left); }
		.bCBI--inverse .bCBI__cImg {padding-right: var(--width-std-right); }
		.bCBI__cImg::before {position:absolute;z-index:-1;display:block;content:'';top:-1px;bottom:50%;left:0;right:0;background: var(--color-orange);}
		.bCBI__img { }

		.bCBI--green .bCBI__cImg::before {background-color: var(--color-green); }
	}



/*
BLOCK / CBII
Content in a box.
2 images, one higher and one wider. */
.bCBII { }
.bCBII__layout {display: flex;align-items: flex-start;}
.bCBII__layout > * {position: relative;z-index: 1;}
.bCBII__cCtn {flex:1 1 auto;padding: 6% 6% 6% 7%;}
.bCBII__cCtn::before {position:absolute;z-index:-1;display:block;content:'';top:0;bottom:0;left:0;right: -56%;background:var(--color-orange);}
.bCBII__cImgHigh {flex:0 0 auto;width: 34.5%;margin-right: 3.5%;padding-top: 6%;position: relative;z-index: 2;}
.bCBII__cImgWide {flex:0 0 auto;width: 37%;margin-right: calc(-1 * var(--overflow-std-right));padding-top: 6%;z-index: 2;}
.bCBII__ctn { }
.bCBII__img { }

	/*
	ANIMATE */
	@media (min-width:62.01rem) {
		.animate .bCBII__cCtn::before {transform: scaleX(0); }
		.bCBII__cCtn::before {transform: scaleX(1); transform-origin: 0% 50%; transition: transform 1s; }

		.animate .bCBII__ctn {opacity: 0; }
		.bCBII__ctn {opacity: 1; transition: opacity 1s; transition-delay: 0.6s; }
	}

	.animate .bCBII__imgClip {clip-path: inset(0% 0% 0% 100%); }
	.bCBII__imgClip {clip-path: inset(0% 0% 0% 0%); transition: clip-path 1s; transition-delay: 0.3s;}
	.bCBII__cImgWide .bCBII__imgClip {transition-delay: 0.6s;}

	/*
	ALT:
	Inverse.
	Images at left, content at right. */
	.bCBII--inverse { }
	.bCBII--inverse .bCBII__cCtn {order:2; padding-left: 6%; padding-right: 7%; }
	.bCBII--inverse .bCBII__cCtn::before {left: -56%; right: 0; transform-origin: 100% 50%; }
	.bCBII--inverse .bCBII__cImgHigh {order:1;margin-right: 0;margin-left: 3.5%;}
	.bCBII--inverse .bCBII__cImgWide {order:0;margin-right: 0;margin-left: calc(-1 * var(--overflow-std-left));}
	.bCBII--inverse.animate .bCBII__imgClip {clip-path: inset(0% 100% 0% 0%); }

	/*
	ALT:
	Green colors. */
	.bCBII--green { }
	.bCBII--green .bCBII__cCtn::before {background-color: var(--color-green); }

	/*
	ALT:
	No colored background */
	.bCBII--noBg .bCBII__cCtn::before,
	.bCBII--noBg .bCBII__cImgHigh::before,
	.bCBII--noBg .bCBII__cImgWide::before{display: none;}

	/* Break cols */
	@media (max-width: 62rem) {
		.bCBII {padding-left: 0; padding-right: 0; }
		.bCBII__layout {display: flex; flex-wrap: wrap; }
		.bCBII__layout > * {flex:1 1 auto; width: 100%;}
		.bCBII__cCtn,
		.bCBII--inverse .bCBII__cCtn {order: -1;padding: 10% var(--width-std-right) 10% var(--width-std-left);}
		.bCBII__cCtn::before {right: 0; }
		.bCBII__cImgHigh,
		.bCBII--inverse .bCBII__cImgHigh {margin: 0;padding: 0 var(--width-std-right) 0 0;}
		.bCBII__cImgHigh::before {position:absolute;z-index:-1;display:block;content:'';top:-1px;bottom:-1px;left:0;right:0;background: var(--color-orange);}
		.bCBII__cImgWide {margin: 0;padding: 9% 0 0 var(--width-std-left);}
		.bCBII__cImgWide::before {position:absolute; z-index:-1; display:block; content:''; top:-1px; bottom:50%; left:0; right:0; background: var(--color-orange);}
		.bCBII__ctn { }
		.bCBII__img { }

		/* Inversion des images : l'image haute est en bas de celle large */
		.bCBII--inverse .bCBII__cImgHigh {padding-right: 0; padding-left: var(--width-std-left); }
		.bCBII--inverse .bCBII__cImgHigh::before {bottom: 50%; }
		.bCBII--inverse .bCBII__cImgWide {margin-left: 0;padding: 0 var(--width-std-right) 9% 0;}
		.bCBII--inverse .bCBII__cImgWide::before {bottom: 0; }

		/* Animate : la premiere image s'affiche en premier */
		.bCBII--inverse .bCBII__cImgWide .bCBII__imgClip {transition-delay: 0.3s;}
		.bCBII--inverse .bCBII__imgClip {transition-delay: 0.6s;}

		/* Green */
		.bCBII--green .bCBII__cImgHigh::before,
		.bCBII--green .bCBII__cImgWide::before {background: var(--color-green);}
	}



/*
BLOCK / Simple content with image
Content at right.
Image at left. */
.bSimpleContentImage { }
.bSimpleContentImage__layout {display: flex; align-items: flex-start; }
.bSimpleContentImage__cImg {flex:0 0 auto;width: 45%;padding-left: 7%;margin-right: 10%;}
.bSimpleContentImage__cCtn {flex:1 1 auto; align-self: center;}
.bSimpleContentImage__img { }
.bSimpleContentImage__imgClip { }

	/* Smaller image */
	.bSimpleContentImage__layout .bSimpleContentImage__cImg--smaller {width: 25%;}

	/*
	ANIMATE */
	.animate .bSimpleContentImage__imgClip {clip-path: inset(0% 100% 0% 0%); }
	.bSimpleContentImage__imgClip {clip-path: inset(0% 0% 0% 0%); transition: clip-path 1s;}

	@media (min-width:62.01rem) {
		.animate .bSimpleContentImage__cCtn {opacity: 0; transform: translateY(2rem); }
		.bSimpleContentImage__cCtn {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.3s; }
	}

	/*
	ALT:
	Inverse.
	Images at right, content at left */
	.bSimpleContentImage--inverse { }
	.bSimpleContentImage--inverse .bSimpleContentImage__cImg {padding-left: 0; padding-right: 7%; margin-right: 0; margin-left: 10%; }
	.bSimpleContentImage--inverse .bSimpleContentImage__cCtn {order:-1; }
	.bSimpleContentImage--inverse.animate .bSimpleContentImage__imgClip {clip-path: inset(0% 0% 0% 100%); }

	/* Break cols */
	@media (max-width:62rem) {
		.bSimpleContentImage__layout {display: block; }
		.bSimpleContentImage__cImg {width: auto; padding-left: 0; margin-right: 0; margin-left: calc(-1 * var(--width-std-left)); }
		.bSimpleContentImage__cCtn {margin-top: 10%; }

		/* Image right aligned. */
		.bSimpleContentImage--inverse .bSimpleContentImage__cImg {margin: 0; padding: 0; margin-right: calc(-1 * var(--width-std-right)); }
	}



/*
BLOCK / Carousel images
Images in a slider. */
.bSliderImages {--espacementV: 3.5em;--espacementH: 2em;--largeurBox: 50%;}
.bSliderImages__list {position: relative;margin-left: calc(-1 * var(--width-std-left));}
.bSliderImages__items {display: flex;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));padding-right: 7%;}
.bSliderImages__items .iImage {flex: 0 0 auto;width: var(--largeurBox);padding: var(--espacementV) var(--espacementH);}
.iContent + .bSliderImages {margin-top: 4em;}

/* Carousel. */
.bSliderImages .jsCarouselStd { }

	/* Arrows */
	.bSliderImages__nav {position: absolute;z-index: 2;top: 50%;right: 0;transform: translateY(-50%);margin-top: 0;}

	/* Before init, on affiche les boites comme elles seront apres le init. */
	.bSliderImages .jsCarouselStd.flickity-enabled {display: block; }
	.bSliderImages .jsCarouselStd:not(.flickity-enabled) > *:nth-child(1n+3) {display: none; }

	/* Huge screens */
	@media (min-width:125rem) {
		.bSliderImages { --espacementV: 2.5002em;--espacementH: 2.5002em; }
	}

	/* Images over arrows */
	@media (max-width:62rem) {
		.bSliderImages {--espacementV: 3.5em; --espacementH: 1.5em; --largeurBox: 70%;}
		.bSliderImages__list {margin-right: calc(-1 * var(--width-std-right)); overflow: hidden; }
		.bSliderImages__items {padding: 0; }
		.bSliderImages__nav {position: static;top: auto;transform: none;margin: 2em 0 -1em 0;display: flex;justify-content: center;}
	}



/*
BLOCK / Carousel stats
Stats in a slider. */
.bSliderStats {--espacementV: 3.5em;--espacementH: 2.5em;--largeurBox: 33.33%;}
.bSliderStats__list {position: relative; }
.bSliderStats__items {display: flex;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));padding-right: 8%; }
.bSliderStats__items .iStat {flex: 0 0 auto;width: var(--largeurBox);padding: var(--espacementV) var(--espacementH); }
.bSliderStats .h1{font-weight: 400;}
.bSliderStats * + .h1{margin-top: 0;}

/* Carousel */
.bSliderStats .jsCarouselStd { }

	/* Arrows */
	.bSliderStats__nav {position: absolute;z-index: 2;top: 50%;right: 0;transform: translateY(-50%);margin-top: 0;}

	/* Before init, on affiche les boites comme elles seront apres le init. */
	.bSliderStats .jsCarouselStd.flickity-enabled {display: block; }
	.bSliderStats .jsCarouselStd:not(.flickity-enabled) > *:nth-child(1n+4) {display: none; }

	/* Stats over arrows */
	@media (max-width:62rem) {
		.bSliderStats {--largeurBox: 50%;}
		.bSliderStats__list {overflow: hidden; }
		.bSliderStats__items {padding: 0; }
		.bSliderStats__nav {position: static;top: auto;transform: none;margin: 2em 0 -1em 0;display: flex;justify-content: center;}

		.bSliderStats .jsCarouselStd:not(.flickity-enabled) > *:nth-child(1n+3) {display: none; }
	}

	/* 1 col */
	@media (max-width:47rem) {
		.bSliderStats {--largeurBox: 100%;}

		.iHead + .bSliderStats {margin-top: 2.5em; }

		.bSliderStats .jsCarouselStd:not(.flickity-enabled) > *:nth-child(1n+2) {display: none; }
	}

	/*
	ALT
	Chiffres plus minces et texte vert */
	.bSliderStats--alt .iStat__subStat{
		margin-top: .1em;
	}
	.bSliderStats--alt .iStat__cCtn{
		color: var(--color-green);
		margin-top: 2em;
		font-size: .8em;
	}



/*
BLOCK / Specialisations
Block qui contient aussi un carousel (mobile seulement). */
.bSpecialisations {position: relative;}
.bSpecialisations__in {position: relative; padding-right: 7%;}
.bSpecialisations__in::before {position:absolute; z-index:-1; display:block; content:''; top:0; bottom:0; left:0; right:0; background: var(--color-orange); }
.bSpecialisations__overflowBG {position:absolute; z-index:-2; display:block; content:''; top:0; bottom:50%; left:0; right:0; background-color: var(--color-green); }

.bSliderSpecialisations {--espacementV: 2.5%;--espacementH: 4%;--largeurBox: 25%;}
.bSliderSpecialisations__list {position: relative; }
.bSliderSpecialisations__items {display: flex;flex-wrap: wrap;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));}
.bSliderSpecialisations__items .iBadge {flex: 0 0 auto;width: var(--largeurBox);padding: var(--espacementV) var(--espacementH); }
* + .bSliderSpecialisations {margin-top: 4em;}

/* Carousel */
.bSliderSpecialisations .jsCarouselRealisations { }

	/* Arrows */
	.bSliderSpecialisations__nav {display: none; }

	/* Disable Flickity */
	.jsCarouselRealisations::after {content: ''; }

	/*
	ANIMATE */
	@media (min-width:62.01rem) {
		.animate .bSpecialisations__in::before {transform: scaleX(0); }
		.bSpecialisations__in::before {transform: scaleX(1); transform-origin: 0% 50%; transition: transform 1s; }

		.animate .bSpecialisations__in > * {opacity: 0; transform: translateY(2rem); }
		.bSpecialisations__in > * {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.6s; }
		.bSpecialisations__in > .bSliderSpecialisations {transition-delay: 0.9s; }
	}

	/* START Carousel,
	Specialisations over arrows */
	@media (max-width:62rem) {
		.bSliderSpecialisations {--espacementH: 5%; --largeurBox: 50%;}
		.bSliderSpecialisations__list {overflow: hidden; }
		.bSliderSpecialisations__items {padding: 0; }
		.bSliderSpecialisations__nav {position: static;top: auto;transform: none;margin: 0 0 -1em 0;display: flex;justify-content: center;}

		/* Enable Flickity */
		.jsCarouselRealisations::after {content: 'flickity'; display: none; }

		/* Before init, on affiche les boites comme elles seront apres le init. */
		.jsCarouselRealisations.flickity-enabled {display: block; }
		.jsCarouselRealisations:not(.flickity-enabled) > *:nth-child(1n+3) {display: none; }
	}

	/* 1 col */
	@media (max-width:47rem) {
		.bSliderSpecialisations {--largeurBox: 100%;}

		.jsCarouselRealisations:not(.flickity-enabled) > *:nth-child(1n+2) {display: none; }
	}

	/* Responsive font-size sinon ca overflow */
	@media (max-width:25rem) {
		.bSpecialisations .iHead > * {font-size: 9vw;}
	}



/*
BLOCK / Carousel of events
Boxes d'activites et d'evenements in a slider. */
.bSliderBoxesEvents {--espacementV: 3em;--espacementH: 2.8em;--largeurBox: 50%;}
.bSliderBoxesEvents__list {position: relative;}
.bSliderBoxesEvents__items {display: flex;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));padding-right: 6.5em;}
.bSliderBoxesEvents__slide {flex: 0 0 auto;width: var(--largeurBox);padding: var(--espacementV) var(--espacementH);}
.bSliderBoxesEvents__slideIn {flex: 1 1 auto;}
.flickity-resize .bSliderBoxesEvents__slide {min-height: 100%;display: flex;}

	/*
	ALT:
	Double item. */
	.bSliderBoxesEvents__slide--dual { }
	.bSliderBoxesEvents__slide--dual .bSliderBoxesEvents__slideIn {--espacementV: 2em; display: flex; flex-direction: column; }
	.bSliderBoxesEvents__slide--dual .bSliderBoxesEvents__slideIn > .iBox {flex: 1 1 auto; padding: var(--espacementV) 0;}
	.bSliderBoxesEvents__slide--dual .bSliderBoxesEvents__slideIn > .iBox:first-child {padding-top: 0; }
	.bSliderBoxesEvents__slide--dual .bSliderBoxesEvents__slideIn > .iBox:last-child {padding-bottom: 0; }

	/* Centrer le contenu dans la box */
	.bSliderBoxesEvents__slide--dual .iBox__cCtn {display: flex; align-items: center; }

/* Carousel de boxes. */
.jsCarouselEvents { }

	/* Enable Flickity */
	.jsCarouselEvents::after {content: 'flickity'; display: none; }

	/* Arrows */
	.bSliderBoxesEvents__nav {position: absolute;z-index: 2;top: 50%;right: 0;transform: translateY(-50%);margin-top: 0;}

	/* Before init, on affiche les boites comme elles seront apres le init. */
	.jsCarouselEvents.flickity-enabled {display: block; }
	.jsCarouselEvents:not(.flickity-enabled) > *:nth-child(1n+3) {display: none;}

	/* Full height slide */
	.bSliderBoxesEvents__slide .iBox {height: 100%;}

	/* Kill carousel and set items one over the other */
	@media (max-width:62rem) {
		/* Disable Flickity */
		.jsCarouselEvents::after {content: ''; }

		.bSliderBoxesEvents,
		.bSliderBoxesEvents__slide--dual .bSliderBoxesEvents__slideIn {--espacementV: 2em;--espacementH: 1px;--largeurBox: 100%;}
		.bSliderBoxesEvents__items {padding: 0;flex-wrap: wrap;}
		.bSliderBoxesEvents__slide,
		.flickity-resize .bSliderBoxesEvents__slide {min-height: 0; display: block; }
		.bSliderBoxesEvents__slideIn,
		.bSliderBoxesEvents__slide--dual .bSliderBoxesEvents__slideIn {display: block; }
		.bSliderBoxesEvents__nav {display: none; }
	}



/*
BLOCK / C3BI
Content in 3 boxes.
Images in the background. */
.bC3BI {position: relative; --qty-bg-lined-height:6; }
.bC3BI__layout {display: grid;grid-template-columns: 1fr 46%;grid-template-rows: 1fr 1fr;}
.bC3BI__cTitle {grid-column:2 / 3;grid-row: 1 / 2;align-self: end;margin-bottom: 11%;overflow: hidden;}
.bC3BI__cImg {grid-column:1 / 2;grid-row: 1 / 3;position: relative;z-index: 0;margin-right: 22%;}
.bC3BI__cBoxes {grid-column: 1 / 3;grid-row: 2 / 3;align-self: start;position: relative;z-index: 1;margin-left: 13%;display: flex;}

.bC3BI__titleReveal { }
.bC3BI__bg {position: absolute; z-index: -1; top: 15%; left: calc(-1 * var(--overflow-std-left)); right: -18%; }
.bC3BI__img { }
.bC3BI__boxTrs {display: block;flex: 0 0 auto;width: 25%;margin-right: 2%;padding: 3%;position: relative;}
.bC3BI__boxTrs::before {position:absolute;z-index:0;display:block;content:'';top:0;bottom:0;left:0;right:0;background: var(--color-orange);background: linear-gradient(90deg, rgb(247 148 29 / 60%) 50%, rgb(247 148 29 / 100%) 100%);}
.bC3BI__boxDual {flex: 1 1 auto;width: 75%;background: var(--color-orange);padding: 3%;display: flex;}
.bC3BI__boxDualIn {flex:1 1 auto; width: 50%; padding: 0 5%; border-right: 2px solid #fff;}
.bC3BI__boxDualIn:first-child {padding-left: 0;}
.bC3BI__boxDualIn:last-child {padding-right: 0; border-right: none;}

/* After home page header: overflow */
.pHPage--home + .bC3BI {padding-top:0; }

/* Two consecutive blocks : space between */
.bC3BI + .bC3BI {padding-top: 3em; }

	/*
	ANIMATE */
	.animate .bC3BI__imgClip {clip-path: inset(0% 100% 0% 0%); }
	.bC3BI__imgClip {clip-path: inset(0% 0% 0% 0%); transition: clip-path 1s;}

	.animate .bC3BI__titleReveal {transform: translateY(110%); }
	.bC3BI__titleReveal {transform: translateY(0); transition: transform 1s; transition-delay: 0s; }

	.animate .bC3BI__cBoxes {opacity: 0; transform: translateY(10%); }
	.bC3BI__cBoxes {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.6s; }

		/* Mobile */
		@media (max-width:62rem) {
			.animate .bC3BI__titleReveal {transform: translateY(0%); }
			.animate .bC3BI__cBoxes {opacity: 1; transform: translateY(0%); }
		}

	/*
	ALT:
	Inverse.
	Image at right, boxes at left. */
	.bC3BI--inverse { }
	.bC3BI--inverse .bC3BI__layout {grid-template-columns: 46% 1fr; }
	.bC3BI--inverse .bC3BI__cTitle {grid-column:1 / 2; }
	.bC3BI--inverse .bC3BI__cImg {grid-column:2 / 3; margin-right: 0; margin-left: 22%; }
	.bC3BI--inverse .bC3BI__cBoxes {grid-column: 1 / 3; margin-left: 0; margin-right: 13%; }
	.bC3BI--inverse .bC3BI__boxTrs {order:2; margin-right: 0; margin-left: 2%; }
	.bC3BI--inverse .bC3BI__boxTrs::before {transform: rotate(180deg); }
	.bC3BI--inverse.animate .bC3BI__imgClip {clip-path: inset(0% 0% 0% 100%); }

	/*
	ALT:
	Overflow the next block. */
	.bC3BI--overflowBottom .bC3BI__layout {grid-template-rows: 0.9fr 1.1fr; }
	.bC3BI--overflowBottom + .bMain--green {margin-top: calc(-1.5 * var(--base-spacing-bottom)); padding-top: calc(1.5 * var(--base-spacing-top)); }

		/* Boites trop proche du block suivant, ajuster */
		@media (max-width:93rem) {
			.bC3BI--overflowBottom .bC3BI__layout {grid-template-rows: 0.7fr 1.3fr; }
		}

		/* Standard spacing */
		@media (max-width:62rem) {
			.bC3BI--overflowBottom + .bMain--green {margin-top: 0; padding-top: var(--base-spacing-top); }
		}

	/*
	ALT:
	Green colors. */
	.bC3BI--green { }
	.bC3BI--green .bC3BI__boxTrs::before {background: var(--color-green);background: linear-gradient(90deg, rgb(0 99 80 / 60%) 50%, rgb(0 99 80 / 100%) 100%);}
	.bC3BI--green .bC3BI__boxDual {background: rgb(0 99 80);}
	.bC3BI--green .bC3BI__cTitle .title3BV {color: var(--color-green);}

	/* Break cols: title, image and boxes */
	@media (max-width:62rem) {
		.bC3BI {--qty-bg-lined-width:6; --qty-bg-lined-height:4; }
		.bC3BI__layout {display: block;}
		.bC3BI__cTitle {margin-bottom: 2em;}
		.bC3BI__cImg {margin-left: calc(-1 * var(--width-std-left));margin-right: var(--width-std-right);}
		.bC3BI__cBoxes,
		.bC3BI--inverse .bC3BI__cBoxes {margin: -75% 0 0 0;display: block;}

		.bC3BI__bg {top: 8%;left: 0;right: calc(-1 * var(--overflow-std-right) * 2);}
		.bC3BI__img { }
		.bC3BI__boxTrs,
		.bC3BI--inverse .bC3BI__boxTrs {width: 100%;margin: 0 0 7% 0;padding: 8%;}
		.bC3BI__boxDual {width: 100%;padding: 8%;display: block;position: relative;z-index: 2;}
		.bC3BI__boxDualIn {width: 100%;padding: 8% 0;border-right: none;border-bottom: 2px solid #fff;}
		.bC3BI__boxDualIn:first-child {padding-top: 0;}
		.bC3BI__boxDualIn:last-child {padding-bottom: 0; border-bottom: none;}

		.bC3BI--inverse .bC3BI__cImg {margin-right: calc(-1 * var(--width-std-left));margin-left: var(--width-std-right); }

		.pHPage--home + .bC3BI {padding-top: 5em;}
	}

	/* Nombre de logos BG */
	@media (max-width:47rem) {
		.bC3BI {--qty-bg-lined-width:4; }
	}



/*
BLOCK / Events and docs
List of events and documents in the careers page. */
.bEventsDocs { }
.bEventsDocs__in {display: flex; justify-content: space-between; }
.bEventsDocs__col {flex:0 0 auto;width: 42%;}

.bEventsDocs .bBoxesList {--espacementV: 2em; --espacementH: 1px; --largeurBox:100%; }

	/* 1 col */
	@media (max-width:62rem) {
		.bEventsDocs__in {display: block; }
		.bEventsDocs__col {width: 100%; }
		.bEventsDocs__col + .bEventsDocs__col {margin-top: 6em; }
	}


	/*
	BLOCK / Docs seulement
	List of events and documents in the careers page. */
	.bEventsDocs__col.col__documents {width: 100%;}
	.bEventsDocs .col__documents .bBoxesList {--espacementV: 2em; --espacementH: 1px; --largeurBox:28%;}
	.bBoxesList__items .iBoxDocs {margin-right: 5%}

	/* 1 col */
	@media (max-width:62rem) {
		.bEventsDocs .col__documents .bBoxesList {--largeurBox:100%;}
		.bBoxesList__items .iBoxDocs {margin-right: 0}
	}

/*
BLOCK / Contact page
Contact infos, map and form. */
.bContact {--qty-bg-lined-height:4; }
.bContact__in {display: grid; grid-template-columns: 1fr 50%; grid-template-rows:auto 1fr; }
.bContact__cInfos {grid-column: 1 / 2;grid-row: 1 / 2;padding-right: 7%;}
.bContact__cMap {grid-column: 1 / 2;grid-row: 2 / 3;margin-top: 13%;margin-left:calc(-1 * var(--overflow-std-left));padding-right: 25%;padding-bottom: 15%;position: relative;}
.bContact__cForm {grid-column: 2 / 3; grid-row: 1 / 3; }

.bContact__infos {--espacementV: 1.5em;--espacementH: 1em;--largeurBox: auto;display: flex;flex-wrap: wrap;margin: calc(-1 * var(--espacementV)) calc(-1 * var(--espacementH));}
.bContact__infos > * {flex: 1 1 auto;margin-top: 0;width: var(--largeurBox);padding: var(--espacementV) var(--espacementH);}

.bContact__bg {position: absolute;z-index: -1;top: 15%;left: 0;right: 10.5%;}
.bContact__map { }

	/*
	ANIMATE */
	@media (min-width:62.01rem) {
		.animate .bContact__cInfos {opacity: 0; transform: translateY(2rem); }
		.bContact__cInfos {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0s; }

		.animate .bContact__map {opacity: 0; transform: translateY(2rem); }
		.bContact__map {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.2s; }

		.animate .bContact__cForm {opacity: 0; transform: translateY(2rem); }
		.bContact__cForm {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.4s; }
	}

	/* Break cols */
	@media (max-width:62rem) {
		.bContact {--qty-bg-lined-width:6; --qty-bg-lined-height:2; }
		.bContact__in {display: block; }
		.bContact__cInfos {padding: 0; }
		.bContact__cMap {margin: 5em 0 0 0;padding: 0 0 10% 0;}
		.bContact__cForm {margin-top: var(--base-spacing-top);}

		.bContact__bg {left: calc(-1 * var(--overflow-std-left)); right: calc(-1 * var(--overflow-std-right)) }

		.bContact__cForm .iHead {text-align: center; }
		.bContact__cForm .iHead > * {font-size: 3.39em; }
	}

	/* Spacing */
	@media (max-width:47rem) {
		.bContact {--qty-bg-lined-width:5; }
		.bContact__infos {--espacementV: 1.5em;--espacementH: 5vw;text-align: center;}
		.bContact__cMap {padding-bottom: 18%;}

		.bContact__cForm .iHead > * {font-size: 2.25em; }
	}



/*
BLOCK / Inscription
Bloc pour s'inscrire, sur la page de details d'un evenement. */
.bInscription {position: relative; }
.bInscription__in {position: relative; z-index: 2; overflow: hidden; padding: 6.5%; }
.bInscription__form {margin-top: 2.3em; }
.bInscription__bg {position: absolute;z-index: -1;top: 0;bottom: 0;left: 0;right: 0;background: rgb(0 0 0 / 75%);overflow: hidden;}
.bInscription__bgIn {position: absolute;z-index: -1;top: -10%;bottom: -10%;left: 0;right: 0; }
.bInscription__bgIn * {width: 100%;height: 100%;object-fit: cover;}

	/*
	ALT:
	BG overflow. */
	.bInscription__overflowBG {position:absolute; z-index:-1; display:block; content:''; top:50%; bottom:-1px; left:0; right:0; background-color: var(--color-green); }

	/*
	ANIMATE */
	@media (min-width:62.01rem) {
		.animate .bInscription__in {opacity: 0; transform: translateY(2rem); }
		.bInscription__in {opacity: 1; transform: translateY(0); transition: opacity 1s, transform 1s; transition-delay: 0.3s; }
	}

	/* Full width */
	@media (max-width:62rem) {
		.bInscription {padding-left: 0; padding-right: 0; }
		.bInscription__in {padding: var(--base-spacing-top) var(--width-std-right) var(--base-spacing-bottom) var(--width-std-left);}
	}

/*
BLOCK / Floating video
Centered video */
.bFloatingVideo__poster{
	position: relative;
}
.bFloatingVideo__poster .btnIcon{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
/* Offset bloc suivant */
.bFloatingVideo + .bMain{
	padding-top: calc(2 * var(--base-spacing-top));
	margin-top: calc(-2 * var(--base-spacing-top));
}

/*
BLOCK / Picture boxes
Row of pictures with overlayed text */
.bPictureBoxes{}
.picBox{
	flex: 0 0 auto;
	width: var(--largeurBox);
	padding: var(--espacementV) var(--espacementH);
	width: 18.4%;
	margin: 0 1%;
}
.picBox p{
	position: absolute;
	width: 100%;
	bottom: 0;
	font-weight: 700;
	padding: 1em;
	background: linear-gradient(0deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 75%);
	height: 100%;
	display: flex;
	align-items: flex-end;
	font-size: 1.1em;
}
.picBox img{
	object-fit: cover;
	min-width: 100%;
	min-height: 100%;
}
.bPictureBoxes__nav{
	display: none;
}
@media (max-width: 62rem){
	.picBox{
		width: 30.5%;
		margin: 0 1.5%;
	}
	.bPictureBoxes__nav{
		position: static;
	    top: auto;
	    transform: none;
	    margin: 2em 0 -1em 0;
	    display: flex;
	    justify-content: center;
	}
}
@media (max-width: 37rem){
	.picBox{
		width: 100%;
		margin: 0;
	}
	.picBox p{
		font-size: 2em;
		line-height: 1.2;
	}
}

/*
BLOCK / Box links list
List of "box links" with bg image */
.bBoxLinksList{
	position: relative;
}
.bBoxLinksList__list{
	display: flex;
	flex-wrap: wrap;
}
	* + .bBoxLinksList__list{
		margin-top: 4vw;
	}
.boxLink{
	list-style: none;
	background: var(--color-orange);
	padding: 2em;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 22%;
	font-weight: 700;
	margin-bottom: 3em;
}
	.boxLink + .boxLink{
		margin-left: 4%;
	}
.boxLink .btnIcon{
	margin-left: .5em;
}
@media (max-width: 62rem){
	.bBoxLinksList__list{
		display: grid;
		grid-template-columns: repeat(2, 50%);
		grid-template-rows: repeat(2, 1fr);
		gap: 5% 2%;
		grid-template-areas:
			". ."
			". .";
	}
	.boxLink{
		width: auto;
	}
		.boxLink + .boxLink{
			margin-left: 0;
		}
}
@media (max-width: 47rem){
	.bBoxLinksList__list{
		display: block;
	}
	.boxLink{
		padding: 1em 2em;
	}
		.boxLink + .boxLink{
			margin-top: 1.5em;
		}
	.boxLink .btnIcon{
		font-size: 2.5em;
	}
}


/*
BLOCK / Vidéo
Responsive video */
.video-container {overflow: hidden; position: relative; width:100%;}
.video-container::after {padding-top: 56.25%; display: block; content: '';}
.video-container iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

/* .............................................................................
LITY
Lity - v2.3.1 - 2018-04-20
http://sorgalla.com/lity/
Copyright (c) 2015-2018 Jan Sorgalla; Licensed MIT
............................................................................. */
.lity {z-index: 9990;position: fixed;top: 0;right: 0;bottom: 0;left: 0;white-space: nowrap;outline: none !important;}
.lity * {box-sizing: border-box; }
.lity-wrap {z-index: 9990;position: fixed;top: 0;right: 0;bottom: 0;left: 0;text-align: center;outline: none !important;background: rgba(0, 0, 0, 0.9);}
.lity-wrap::before {content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; }
.lity-loader {z-index: 9991; color: #fff; position: absolute; top: 50%; margin-top: -0.8em; width: 100%; text-align: center; font-size: 14px; font-family: Arial, Helvetica, sans-serif; opacity: 0; transition: opacity 0.3s ease; }
.lity-loading .lity-loader {opacity: 1; }
.lity-container {z-index: 9992; position: relative; text-align: left; vertical-align: middle; display: inline-block; white-space: normal; max-width: 100%; max-height: 100%; outline: none !important; }
.lity-content {z-index: 9993; width: 100%; }
/* .lity-content::after {content: ''; position: absolute; left: 0; top: 0; bottom: 0; display: block; right: 0; width: auto; height: auto; z-index: -1; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); } */
/* .lity-close { z-index: 9994; width: 35px; height: 35px; position: fixed; right: 0; top: 0; -webkit-appearance: none; cursor: pointer; text-decoration: none; text-align: center; padding: 0; color: #fff; font-style: normal; font-size: 35px; font-family: Arial, Baskerville, monospace; line-height: 35px; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); border: 0; background: none; outline: none; box-shadow: none; }
.lity-close::-moz-focus-inner { border: 0; padding: 0; }
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited { text-decoration: none; text-align: center; padding: 0; color: #fff; font-style: normal; font-size: 35px; font-family: Arial, Baskerville, monospace; line-height: 35px; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); border: 0; background: none; outline: none; box-shadow: none; }
.lity-close:active { top: 1px; } */
/* Image */
.lity-image img {max-width: 100%;width: auto;display: block;line-height: 0;border: 0;}
/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {width: 100%;}
.lity-iframe-container { width: 100%; height: 0; padding-top: 56.25%; overflow: auto; pointer-events: auto; transform: translateZ(0); -webkit-overflow-scrolling: touch; }
.lity-iframe-container iframe { position: absolute; display: block; top: 0; left: 0; width: 100%; height: 100%; background: #000; }
.lity-hide { display: none; }



/*
ANIMATION
Open / close animation */
.lity-closed { }
.lity-loading { }

.lity-wrap {opacity:1; transition: opacity 0.3s;}
.lity-loading .lity-wrap,
.lity-closed .lity-wrap {opacity: 0; }

.lity-content {transform: scale(1); transition: transform 0.3s ease; }
.lity-loading .lity-content,
.lity-closed .lity-content {transform: scale(0.8); }



/*
CLOSE btn
Ressemble a .btnIcon mais pas pareil. */
.lity-close {opacity: 1;border: none;cursor: pointer;outline: none;text-decoration: none;text-align: left;line-height: 1;padding: 0;width: 1em;height: 1em;color: #fff;background-color: #fff;background-image: url(../../img/icons/icon-close.svg);background-repeat: no-repeat;background-position: center center;background-size: 1em;transition: opacity 0.3s ease;text-indent: 100%;white-space: nowrap;overflow: hidden;position: absolute;top: 0;right:0;font-size: 3.002em;font-weight: normal;display: block;transform: translateY(-100%);}
.lity-close:hover {opacity: 0.5;}

/* On n'affiche pas le close partout car a certains endroits
on a un custom HTML btn ajouter au popup.
.lity-close {display: none;}
*/

/* Ces types de lightbox prennent le close par defaut */
.lity-iframe .lity-close,
.lity-youtube .lity-close,
.lity-vimeo .lity-close,
.lity-facebookvideo .lity-close,
.lity-googlemaps .lity-close {display: block; }



/*
POPUP / Video
Specific popup styles pour videos. */
.lity-youtube,
.lity-vimeo { }

.lity-youtube .lity-wrap,
.lity-vimeo .lity-wrap {padding: 4.002em 5.002% 2.002em 5.002%;}
.lity-youtube .lity-iframe-container iframe,
.lity-vimeo .lity-iframe-container iframe {max-height: calc(100vh - 6.002em); }



/*
POPUP / Image
Specific popup styles for images. */
.lity-image { }
.lity-image .lity-wrap {padding: 4.002em 5.002% 2.002em 5.002%;}
.lity-image img {max-height: calc(100vh - 6.002em) !important;}



/*
CENTRER VERTICALEMENT
Centrer le popup verticalement et scrollbar si trop haut.
Methode 1 = la plus simple.
Methode 2 = fonctionnel mais plus complique. */
.popupMethode1 {overflow: auto; max-height: var(--vh, 100vh) !important;}
.popupMethode1__in {padding:2.002em;}

.popupMethode2 {width: 100%; height: 100vh;height: var(--vh, 100vh); display: flex;align-items: center; }
.popupMethode2__in {display: block;flex: 0 0 auto; width: 100%;max-height: 100%;overflow: auto;padding: 2.002em;}

/* .............................................................................
FLICKITY
Flickity v2.1.1
https://flickity.metafizzy.co
............................................................................. */
.flickity-enabled { position: relative; }
.flickity-enabled:focus { outline: none; }
.flickity-viewport { overflow: hidden; position: relative; height: 100%; }
.flickity-slider { position: absolute; width: 100%; height: 100%; }

/* draggable */
.flickity-enabled.is-draggable { -webkit-tap-highlight-color: transparent; tap-highlight-color: transparent; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.flickity-enabled.is-draggable .flickity-viewport { cursor: move; cursor: -webkit-grab; cursor: grab; }
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down { cursor: -webkit-grabbing; cursor: grabbing; }

/* ---- flickity-button ---- */
.flickity-button { position: absolute; background: hsla(0, 0%, 100%, 0.75); border: none; color: #333; }
.flickity-button:hover { background: white; cursor: pointer; }
.flickity-button:focus { outline: none; box-shadow: 0 0 0 5px #19F; }
.flickity-button:active { opacity: 0.6; }
.flickity-button:disabled { opacity: 0.3; cursor: auto; /* prevent disabled button from capturing pointer up event. #716 */ pointer-events: none; }
.flickity-button-icon { fill: currentColor; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button { top: 50%; width: 44px; height: 44px; border-radius: 50%; /* vertically center */ transform: translateY(-50%); }
.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous { left: auto; right: 10px; }
.flickity-rtl .flickity-prev-next-button.next { right: auto; left: 10px; }
.flickity-prev-next-button .flickity-button-icon { position: absolute; left: 20%; top: 20%; width: 60%; height: 60%; }

	/* MOD des buttons : les mettre en font-size em qui heritent. */
	.flickity-prev-next-button {width: 1em; height: 1em; font-size: 4em; padding: 0;}
	.flickity-prev-next-button.previous { left: 0; }
	.flickity-prev-next-button.next { right: 0; }
	.flickity-prev-next-button .flickity-button-icon {font-size: 0.5em; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 1em; height: 1em; }

/* ---- page dots ---- */
.flickity-page-dots { position: absolute; width: 100%; bottom: -25px; padding: 0; margin: 0; list-style: none; text-align: center; line-height: 1; }
.flickity-rtl .flickity-page-dots { direction: rtl; }
.flickity-page-dots .dot { display: inline-block; width: 10px; height: 10px; margin: 0 8px; background: #333; border-radius: 50%; opacity: 0.25; cursor: pointer; }
.flickity-page-dots .dot.is-selected { opacity: 1; }

	/* MOD des dots : les mettre en font-size em qui heritent. */
	.flickity-page-dots {font-size: 2em;bottom: auto;}
	.flickity-page-dots .dot {width: 1em;height: 1em;margin:0;box-sizing: content-box;background: none;position: relative;}
	.flickity-page-dots .dot::before {position: absolute;display: block;content: " ";background-color: #000;top: 50%;left: 50%;transform: translate(-50%, -50%);font-size: 0.5em;width: 1em;height: 1em; border-radius: 50%;}



/* .............................................................................
HELPERS et AUTRES STYLES
............................................................................. */

/* Drop shadow */
.hShadow {filter: drop-shadow(0 1rem 1.3rem rgb(0 0 0 / 35%));}
.hShadowLight {filter: drop-shadow(0 1rem 1.3rem rgb(0 0 0 / 15%));}


/* Uppercase / lowercase */
.tLower {text-transform: none;}
.tUpper {text-transform: uppercase;}


/* Content alignment */
.tCentered {text-align:center;}
.tLeft {text-align:left;}
.tRight {text-align:right;}

.pr-small {padding-right: .75em}

/* Colors */
.cOrange,
.onDark .cOrange {color: var(--color-orange); }
.cGreen,
.onDark .cGreen {color: var(--color-green); }


/* Sizes */
.tSmall {font-size: 0.9em; }
.tBig {font-size: 1.35002em; }


/* Width restrictions */
.tRestrict {max-width: 27.002em;}


/* Text columns */
.tCols2 {columns: 20em 2; column-gap: 10%; }
.tCols2 > * {break-inside: avoid;}
/*.tCols2 li {display: inline-block; }*/

.tCols3 {columns: 20em 3; column-gap: 8%; }
.tCols3 > * {break-inside: avoid;}
/*.tCols3 li {display: inline-block; }*/


/* Helpers */
.demoIcon .svgIcon {font-size: 3em; margin-top: 0;}
.demoLogos .svgIcon {font-size: 3em; margin-right: 0.5em; margin-top: 0;}
.noWrap {white-space: nowrap;}
.hideText {text-indent: 100%; white-space: nowrap; overflow: hidden; }
.screenReaderText {display:none;}
.softHide {display: none;} /* Difference between hide and softHide: hide has important, softHide doesn't */
.hidden {display: none !important; visibility: hidden;}
.visuallyHidden {border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;}
.visuallyHidden.focusable:active,
.visuallyHidden.focusable:focus {clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto;}
.invisible {visibility: hidden;}
[hidden] {display: none;}

.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}

.wp-block {max-width: 100%;}

/* Fixes */
svg.acf-accordion-icon {width: auto;}
table.acf-table {width: 100%;}

.bMain--noDP + .bMain--noDP[class*="cdf-"] {padding-top:3em;padding-bottom: 3em}
main.theme_pret .pHPage {min-height: auto;height: 320px;}
/* GEN MISC */
hr.separateur {margin:0;padding:0;background:transparent;width: 100%;display: block;border:0;height: 0;}
hr.separateur.h-1 {height:.5em}
hr.separateur.h-2 {height:1em}
hr.separateur.h-3 {height:1.5em}
hr.separateur.h-4 {height:2em}
hr.separateur.h-5 {height:2.5em}
.ml-auto {margin-left:auto}
/* DEL main.theme_pret .pHPage.cdf-bleu-pret .wStd {padding-right: 0} */

main.theme_pret .bCBI--inverse {padding-top: 3em;}
main.theme_pret .bCBI__cCtn {margin-top: 180px;}

/* COULEURS ICONES BOUTONS */
main.theme_pret h2,
main.theme_pret .h2,
main.theme_pret .title3BV,
main.theme_pret .h2--big {
    color:#1E484D;
}
main.theme_pret h3,
main.theme_pret .h3,
main.theme_pret .h3--big,
main.theme_pret .titleFooterBox {
    color:#1E484D;
}
main.theme_pret .onDark h1,
main.theme_pret .onDark .h1,
main.theme_pret .onDark h2,
main.theme_pret .onDark .h2,
main.theme_pret .onDark h3,
main.theme_pret .onDark .h3 {
    color: #fff;
}
main.theme_pret h4,
main.theme_pret .h4 {
    color:#1E484D;
}
h1.titre-bleu-pret {color:#1E484D!important;}
.cdf-orange {background-color:orange}
.cdf-bleu-pret {background-color:#1E484D;}
.cdf-vert-pret {background-color:#C0D6BB}
.cdf-blanc {background-color:#FFF}
.cdf-noir {background-color:#000}
main.theme_pret .onDark .btnIcon:not(.onLight) {color: #1E484D;}
main.theme_pret .bgLined--green .bgLined__in {background-image: url(../../img/svg/progpret-motif-04-01.svg);}
main.theme_pret .onDark .btnIcon:not(.onLight)::before {background-color: #1E484D;}
main.theme_pret .bC3BI__boxTrs .svgIcon > svg {fill: white;}
main.theme_pret button.btn {background: #1E484D;color:#fff}
main.theme_pret a.btn {background: #F8DFCB;}
main.theme_pret .bCBI__layout .bCBI__cCtn::before {background: #F3DFCC;}
main.theme_pret .bCBI .iHead h3,
main.theme_pret .bCBI .iHead .h3 {color: var(--color-white);}
main.theme_pret .bCBI__layout .iHead h3, main.theme_pret .bCBI__layout .onDark {color:#1E484D}
main.theme_pret .bCBI__layout a.btn {background:#1E484D;color:white}
main.theme_pret button.btn--green, main.theme_pret a.btn--green {background-color: #C0D6BB;	color:#1E484D;}
main.theme_pret .bC3BI--green .bC3BI__cTitle .title3BV {color:#1E484D;}
main.theme_pret .bC3BI--green .bC3BI__boxTrs::before {background: #F8DFCB;
}


main.theme_pret .bC3BI--green .bC3BI__boxTrs h3 {color:#1E484D}
main.theme_pret .bC3BI--green .bC3BI__boxDual {background: #1E484D;}
/* BLOCSPAGES */
.bC3BI__titleReveal {margin-bottom: .5em;}
.heading-illustration h1 {max-width: 800px;}
.pHPage .pHPage__ctn {padding: 0;z-index: 1}
.pHPage__ctn .pHPage__titlePadding {padding: 0 0 0 8em;}


/* FORMS */
main.theme_pret legend {font-size:28px;font-weight: 700;margin:30px 0}
main.theme_pret input {background: #fff}
main.theme_pret input::placeholder {color:#1E484D}
main.theme_pret .wpcf7-form {margin-top:2em;background:#fff;padding: 2em;-webkit-box-shadow: 0px -2px 47px 5px rgba(0,0,0,0.06);-moz-box-shadow: 0px -2px 47px 5px rgba(0,0,0,0.06);
box-shadow: 0px -2px 47px 5px rgba(0,0,0,0.06);}

main.theme_pret .formInput,
main.theme_pret .formTextarea,
main.theme_pret .formSelect,
main.theme_pret .inline-modal input,
main.theme_pret .inline-modal textarea,
main.theme_pret .inline-modal select,
main.theme_pret select {border: 1px solid #1E484D;color: #1E484D;}
main.theme_pret select {background:url('../../img/icons/icon-arrow-down.svg');background-repeat: no-repeat;background-position: 97% center;background-size: 30px auto;width:100%;padding: 1em 1.4em;appearance: none;font-size: 1em;}
main.theme_pret .wpcf7-form-control-wrap {display: flex;height: 100%;}
main.theme_pret .wpcf7-form.sent *:not(.wpcf7-response-output) {display: none;}
main.theme_pret .wpcf7-response-output {min-height: 190px;display: flex;align-items: center;justify-content: center;font-size: 18px;padding: 0;
  margin: 0;}
/* Heading Illustration */
.illustration {position: absolute;right: 80px;  top: 80px;  max-width: 540px;  width: 100%;}

@media (max-width:1400px) {
  .heading-illustration h1 {max-width: 700px;}
    .illustration-image {  max-width: 250px; }
  }
@media (max-width:1200px) {
  .heading-illustration h1 {max-width: 500px;}
      .illustration {max-width: 480px;}
  main.theme_pret .bCBI--inverse {
      padding-top: 0;
  }
  }
@media (max-width:992px) {
  .heading-illustration h1 {font-size:2.9em;max-width: 400px;}
  main.theme_pret .bCBI__cCtn {margin-top:0;}
  .illustration {right: 15px;top: 45px;max-width: 350px; }
  .pHPage__ctn .pHPage__titlePadding {  padding: 0;}
  .illustration-image {  max-width: 220px; }
  .heading-illustration .pHPage__in {min-height:auto; }
}
@media (max-width:768px) {
  .illustration {right: 15px;bottom: -30px;max-width: 300px;top:auto}
  .illustration-image {  max-width: 200px; }
}
@media (max-width:576px) {
  .illustration {opacity: .3;right: 50%;transform:translateX(50%);bottom:0}
    main.theme_pret .pHPage .wStd {justify-content: center}
}

.theme_boussole-rh {
    --color-black: #000;
    --color-white: #fff;
    background-color: var(--color-white);
    color: var(--color-black);
}

.theme_boussole-rh .pHPage--boussole {
    min-height: 0;
    padding-top: var(--padding-section-haut, var(--base-spacing-top));
    padding-bottom: var(--padding-section-bas, var(--base-spacing-bottom));
}

.theme_boussole-rh .pHPage--boussole > .pHPage__in {
    min-height: 0;
}

.theme_boussole-rh .pHPage--page {
    min-height: 0;
}

.theme_boussole-rh .pHPage--page > .pHPage__in {
    width: auto;
    min-width: 0;
    min-height: 0;
}

.theme_boussole-rh .pHPage__rs,
.theme_boussole-rh .iFloatBox__scrolledPosition {
    background-color: var(--color-white);
}

.theme_boussole-rh .illustration-image {
    max-width: 500px !important;
}

.theme_boussole-rh .pHPage__ctn .pHPage__titlePadding {
    padding: 0 0 0 0em !important;
}

.theme_boussole-rh h1,
.theme_boussole-rh .h1,
.theme_boussole-rh .titleHome,
.theme_boussole-rh .titleEvent,
.theme_boussole-rh h2,
.theme_boussole-rh .h2,
.theme_boussole-rh .title3BV,
.theme_boussole-rh .h2--big,
.theme_boussole-rh h3,
.theme_boussole-rh .h3,
.theme_boussole-rh .h3--big,
.theme_boussole-rh .h3--small,
.theme_boussole-rh .titleFooterBox,
.theme_boussole-rh h4,
.theme_boussole-rh .h4,
.theme_boussole-rh h5,
.theme_boussole-rh h6,
.theme_boussole-rh p,
.theme_boussole-rh .supTitle {
    color: var(--color-black);
    padding-top: 0px;
}

/* En-tête */ 

.theme_boussole-rh .pHPage--boussole .bMain {
    overflow: visible;
    flex: 0 0 auto;
}

.theme_boussole-rh .pHPage--boussole .bMain .en-tete-row :is(h1, h2, h3, h4, h5, h6) {
    overflow: visible;
    max-width: 880px;
}

.theme_boussole-rh img.logo-boussole {
    width: 300px;
    height: auto;
    padding-bottom: 20px;
}

.theme_boussole-rh .ligne-separatrice {
    border-top: 1px solid var(--color-black);
    padding-top: var(--padding-sous-ligne, 100px);
}

.theme_boussole-rh .bMain.no-padding {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.theme_boussole-rh .bMain.no-padding-bottom {
    padding-bottom: 0px !important;
}

.theme_boussole-rh .en-tete-row {
    display: flex;
    gap: 30px;
    align-items: end;
    justify-content: space-between;
}

.theme_boussole-rh .en-tete-row :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    max-width: none;
}

.theme_boussole-rh .en-tete-description {
    margin: 0;
    max-width: 28em;
    justify-self: end;
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.25;
}

/* À la une */
.theme_boussole-rh .a-la-une .two-columns {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--color-black);
    border-radius: 10px;
    background-color: var(--color-black);
}

.theme_boussole-rh .a-la-une .two-columns .col-1 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
    padding: 30px;
}

.theme_boussole-rh .a-la-une .two-columns .col-1 .text {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 20px;
}

.theme_boussole-rh .a-la-une .two-columns .col-2 {
    padding: 30px 30px 30px 0px;
}

.theme_boussole-rh .a-la-une .two-columns .col-2 .border-left {
    border-left: 1px solid var(--color-white);
    padding-left: 30px;
}

.theme_boussole-rh .a-la-une .two-columns .col-1 h3 {
    font-size: 42px;
    line-height: 42px;
    color: var(--color-white);
}

.theme_boussole-rh .a-la-une .two-columns .col-1 p {
    font-size: 16px;
    line-height: 1.25;
    color: var(--color-white);
}


.theme_boussole-rh .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--color-white);
    padding-top: 12px;
    font-size: 16px;
    line-height: 16px;
    gap: 8px;
    color: var(--color-white);
}

.theme_boussole-rh .card-footer .category {
    display: flex;
    gap: 8px;
    align-items: center;
}

.theme_boussole-rh .card-footer .category svg {
    width: 16px;
    height: 16px;
}

.theme_boussole-rh .a-la-une .two-columns .col-2 img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center center;
    border-radius: 10px;
}

.theme_boussole-rh .a-la-une .pastille {
    position: relative;
    z-index: 0;
    display: inline-block;
    padding: 10px 24px 40px;
    background-color: var(--color-black);
    color: var(--color-white);
    margin-bottom: -30px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 10px 10px 0px 0px;
} 

/* Toutes les ressources */
.theme_boussole-rh .toutes-ressources .three-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 25px;
}

.theme_boussole-rh .toutes-ressources .category-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 30px;
}
.theme_boussole-rh .toutes-ressources .category-filters button {
    display: inline-block;
    padding: 14px 18px;
    border-radius: 50px;
    border: 1px solid var(--filter-border, var(--color-black));
}

.theme_boussole-rh .toutes-ressources .pagination {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 8px;
    margin-top: 50px;
}

.theme_boussole-rh .toutes-ressources .category-filters button,
.theme_boussole-rh .toutes-ressources .pagination button {
    font-weight: 500;
    font-family: 'Lato', sans-serif;
    font-size: 21px;
    line-height: 21px;
    transition: all 0.2s ease-in-out;
    text-transform: none;
    background-color: transparent;
    color: var(--color-black);
    cursor: pointer;
}


.theme_boussole-rh .toutes-ressources .pagination button,
.theme_boussole-rh .toutes-ressources .pagination .pagination-ellipsis {
    display: inline-block;
    border: 1px solid var(--color-black);
    padding: 14px 18px;
    border-radius: 50px;
}

.theme_boussole-rh .toutes-ressources .pagination .pagination-ellipsis {
    font-weight: 500;
    font-family: 'Lato', sans-serif;
    font-size: 21px;
    line-height: 21px;
    color: var(--color-black);
    cursor: default;
    user-select: none;
}

.theme_boussole-rh .toutes-ressources .category-filters button:hover,
.theme_boussole-rh .toutes-ressources .category-filters button.active,
.theme_boussole-rh .toutes-ressources .pagination button:hover,
.theme_boussole-rh .toutes-ressources .pagination button.active {
    background-color: var(--color-black);
    color: var(--color-white);
    border-color: var(--color-black) !important;
}

.theme_boussole-rh .toutes-ressources .ressource-card[hidden] {
    display: none;
}

.theme_boussole-rh .toutes-ressources .ressource-card {
    display: flex;
    flex-direction: column;
    background-color: var(--color-black);
    border: 1px solid var(--color-black);
    border-radius: 10px;
    padding: 30px;
    color: var(--color-white);
}

.theme_boussole-rh .toutes-ressources .ressource-card .contenu {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 40px;
    justify-content: space-between;
}

.theme_boussole-rh .toutes-ressources .ressource-card .text {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    justify-content: space-between;
    gap: 30px;
    min-height: 220px;
}

.theme_boussole-rh .toutes-ressources .ressource-card h3 {
    color: var(--color-white);
}

.theme_boussole-rh .toutes-ressources .ressource-card .text p {
    font-size: 16px;
    line-height: 1.25;
    color: var(--color-white);
}

.theme_boussole-rh .a-la-une .doc-buttons,
.theme_boussole-rh .toutes-ressources .doc-buttons {
    display: flex;
    gap: 8px;
    margin-top: auto;
    flex-direction: column;
}

.theme_boussole-rh .a-la-une .doc-buttons a,
.theme_boussole-rh .toutes-ressources .doc-buttons a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid var(--color-white);
    border-radius: 10px;
    color: var(--color-white);
    text-decoration: none;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
}

.theme_boussole-rh .a-la-une .doc-buttons span.btn-text,
.theme_boussole-rh .toutes-ressources .doc-buttons span.btn-text {
    padding: 16px 24px;
}

.theme_boussole-rh .a-la-une .doc-buttons a .svgIcon,
.theme_boussole-rh .toutes-ressources .doc-buttons a .svgIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border: 1px solid currentColor;
    border-radius: 6px;
    margin: 6px;
}

.theme_boussole-rh .a-la-une .doc-buttons a .svgIcon svg,
.theme_boussole-rh .toutes-ressources .doc-buttons a .svgIcon svg {
    width: 13px;
    height: 16px;
    fill: none !important;
}

.theme_boussole-rh .a-la-une .doc-buttons a:hover,
.theme_boussole-rh .toutes-ressources .doc-buttons a:hover {
    background-color: var(--color-white);
    color: var(--color-black);
}

.theme_boussole-rh .toutes-ressources .image {
    margin-bottom: 30px;
}

.theme_boussole-rh .toutes-ressources .image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 10px;
}

@media (max-width:1400px) {}
  @media (max-width:1200px) {
    .theme_boussole-rh .toutes-ressources .three-columns {
        grid-template-columns: 1fr 1fr;
    }
    .theme_boussole-rh .a-la-une .two-columns {
        grid-template-columns: 1fr;
    }
  }
  @media (max-width:1024px) {
  }
  @media (max-width:992px) {
    .theme_boussole-rh .en-tete-row {
        flex-direction: column;
    }

    .theme_boussole-rh .en-tete-description {
        justify-self: start;
        max-width: none;
    }
    .theme_boussole-rh .a-la-une .two-columns .col-1 {
        order: 2;
        gap: 24px;
        padding-top: 0px;
    }
    .theme_boussole-rh .a-la-une .two-columns .col-2 {
        order: 1;
    }
    .theme_boussole-rh .toutes-ressources .pagination {
        justify-content: center;
    }
    .theme_boussole-rh .a-la-une .two-columns .col-2 .border-left {
        border-left: 0px;
    }
  }
  @media (max-width:768px) {
    .theme_boussole-rh .card-footer {
        flex-direction: column;
        align-items: start;
    }
  }
  @media (max-width:576px) {
    .theme_boussole-rh h1, .theme_boussole-rh .h1, .theme_boussole-rh .titleHome, .theme_boussole-rh .titleEvent, .theme_boussole-rh h2, .theme_boussole-rh .h2, .theme_boussole-rh .title3BV, .theme_boussole-rh .h2--big, .theme_boussole-rh h3, .theme_boussole-rh .h3, .theme_boussole-rh .h3--big, .theme_boussole-rh .h3--small, .theme_boussole-rh .titleFooterBox, .theme_boussole-rh h4, .theme_boussole-rh .h4, .theme_boussole-rh h5, .theme_boussole-rh h6, .theme_boussole-rh p, .theme_boussole-rh .supTitle {
        margin-top: 0px;
    }
    .theme_boussole-rh .toutes-ressources .three-columns {
        grid-template-columns: 1fr;
    }
    .theme_boussole-rh .card-footer {
        flex-direction: row;
        align-items: center;
    }
    .theme_boussole-rh .a-la-une .two-columns .col-1 h3 {
        font-size: 36px;
        line-height: 36px;
    }
    .theme_boussole-rh .a-la-une .two-columns .col-1, .theme_boussole-rh .toutes-ressources .ressource-card .text {
        gap: 30px;
    }
  }