/* .............................................................................
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 { }

	/*
	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:-1px; 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 / 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 */
.car-contain {display: flex;flex-wrap: wrap;justify-content: center}
.bPictureBoxes{}
.picBox{
	flex: 0 0 auto;
	padding: var(--espacementV) var(--espacementH);
	width: 23%;
	margin: 1%;
	position: relative;
	background: white;

}
.picBox .overlay {
width: 100%;height: 100%;position: absolute;top:0;left:0;background: rgba(0,0,0,.3);z-index: 2;
opacity: 0;
transition: opacity 0.3s
}
.picBox:hover .overlay {

opacity: 1
}
.picBox p{
	position: absolute;
	width: 100%;
	bottom: 0;
	z-index: 2;
	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: 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: 4.5%;
	}
	.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: 30%;
	font-weight: 700;
}
	.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;
	}
}
