/****************************************************************************/
/* CUSTOM FONTS
/****************************************************************************/
@font-face {
	font-family: "Quicksand";
	src: url("./fonts/Quicksand/Quicksand.eot"); /* IE9 Compat Modes */
	src: url("./fonts/Quicksand/Quicksand.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
	url("./fonts/Quicksand/Quicksand.woff2") format("woff2"); /* Modern Browsers */
	url("./fonts/Quicksand/Quicksand.woff") format("woff"), /* Modern Browsers */
	url("./fonts/Quicksand/Quicksand.ttf") format("truetype"), /* Safari, Android, iOS */
	url("./fonts/Quicksand/Quicksand.otf") format("opentype"), /* Open Type Font */
	url("./fonts/Quicksand/Quicksand.svg") format("svg"), /* Legacy iOS */
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "OpenSans-Light";
	src: url("./fonts/Open_Sans/OpenSans-Light.eot"); /* IE9 Compat Modes */
	src: url("./fonts/Open_Sans/OpenSans-Light.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
	url("./fonts/Open_Sans/OpenSans-Light.woff2") format("woff2"); /* Modern Browsers */
	url("./fonts/Open_Sans/OpenSans-Light.woff") format("woff"), /* Modern Browsers */
	url("./fonts/Open_Sans/OpenSans-Light.ttf") format("truetype"), /* Safari, Android, iOS */
	url("./fonts/Open_Sans/OpenSans-Light.otf") format("opentype"), /* Open Type Font */
	url("./fonts/Open_Sans/OpenSans-Light.svg") format("svg"), /* Legacy iOS */
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
/****************************************************************************/
/* ANIMATIONS
/****************************************************************************/
@-webkit-keyframes slideInLeft {
	from {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
		visibility: visible;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes slideInLeft {
	from {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
		visibility: visible;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@-webkit-keyframes backInRight {
	0% {
		-webkit-transform: translateX(2000px) scale(0.7);
		transform: translateX(2000px) scale(0.7);
		opacity: 0.7;
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}
@keyframes backInRight {
	0% {
		-webkit-transform: translateX(2000px) scale(0.7);
		transform: translateX(2000px) scale(0.7);
		opacity: 0.7;
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}
@keyframes stickAnim {
	0% {
		transform: translateY(-156px);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes backtotopBtnAnim {
	0% {
		transform: translateX(50px);
	}
	100% {
		transform: translateX(0);
	}
}
/****************************************************************************/
/* GENERAL
/****************************************************************************/
body, html {
	overflow-x: hidden;
	font-family: "OpenSans-Light", "Open Sans", Helvetica, Arial, sans-serif;
	line-height: 1.7em;
	scroll-behavior: smooth;
}
a, a:link, a:visited, a:hover, a:active {
	text-decoration: none;
}
a, a:focus {
	border: none;
}
a:focus {
	outline: none;
}
li {
	line-height: 2em;
}
.section-padding {
	padding: 60px 0;
}
.section-content {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
}
.uppercase {
	text-transform: uppercase;
}
.justify {
	text-align: justify;
}
.flex, .row {
	display: flex;
	flex-wrap: wrap;
}
.flex-reverse, .reverse {
	flex-flow: row-reverse; }

.lite {
	font-weight: 100;
}
.mainColor {
	color: #00a0e0 !important;
}
.secondaryColor {
	color: #e01253 !important;
}

/****************************************************************************/
/* SECTION STANDARD
/****************************************************************************/
.section-standard {
	text-align: initial;
}
.wrapper {
	width: 1320px;
	margin: 0 auto;
}

/****************************************************************************/
/* HEADER
/****************************************************************************/
header .logo-bloc {
	padding: 0 15px;
}
#header-logo-img {
	max-width: 250px;
	height: auto;
}
.sticky-menu {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	background-color: white;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
	animation: stickAnim .5s;
}
/****************************************************************************/
/* MENU
/****************************************************************************/
.menu-bloc {
	margin: auto;
}
/*** MENU DESKTOP ***/
nav.nav-principale .menu-item-has-children > a::after {
	width: 9px;
	height: 15px;
	display: inline-block;
	content: '';
	-webkit-mask: url("../img/right-chevron.svg") no-repeat 50% 50%;
	mask: url("../img/right-chevron.svg") no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	margin-left: 10px;
	background-color: #e01253;
	transform: rotate(90deg);
	-webkit-transition: all .2s ease-in;
	transition: all .2s ease-in;
}

nav.nav-principale{ margin-left: 0; font-size: 1.1rem; }
nav.nav-principale a, nav.nav-principale span { display: block; color: #77777a; font-family: "Quicksand", sans-serif; text-transform: uppercase; font-weight: 300; cursor: pointer; }
nav.nav-principale li > a:hover { color: #e01253; cursor: pointer; }

/* SUB-MENU */
nav.nav-principale .menu-item-has-children ul { position: absolute; width: 100%; min-width: 180px; height: 0; margin-left: -10px; margin-right: -15px; margin-top: 20px; padding: 0; z-index: 999; -webkit-transition: all .2s ease-in; transition: all .2s ease-in; overflow:hidden;}
nav.nav-principale .menu-item-has-children ul li { padding-top: 20px; background-color: #FFF; font-size: .9rem }
nav.nav-principale .menu-item-has-children:hover a { display: inline-block; }
nav.nav-principale .menu-item-has-children:hover a::after { transform: rotate(-90deg); }
nav.nav-principale .menu-item-has-children:hover ul { height: 280px; }

nav.nav-principale ul.nav { justify-content: space-between; }
nav.nav-principale ul.nav li { list-style: none; position: relative; padding-left: 0; line-height: 1.7em }
nav.nav-principale ul.nav ul.sub-menu > li { padding: 15px 30px; }
nav.nav-principale ul.nav > li.expanded { padding: 0 0; }
nav.nav-principale ul.nav > li.leaf { padding: 0; margin: 0; }
nav.nav-principale ul.nav > li.expanded:hover > ul.nav { width: calc(100% - 10px); height: auto; -webkit-transition: width 200ms; -khtml-transition: width 200ms;  -moz-transition: width 200ms;  -ms-transition: width 200ms; -o-transition: width 200ms; transition: width 200ms; background-color: #005c7d; padding: 50px; }
nav.nav-principale ul.nav > li.expanded > a , nav.nav-principale > ul.nav > li.leaf > span { padding: 40px 10px; }
nav.nav-principale ul.nav > li.expanded > ul.nav { display: flex; display: -webkit-box;  display: -ms-flexbox; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; z-index: 1500; -webkit-transition: width 200ms; -khtml-transition: width 200ms; -moz-transition: width 200ms; -ms-transition: width 200ms; -o-transition: width 200ms; transition: width 200ms; position: absolute; padding: 0; margin: 0; top: 100%; left: 0; height: 1px; width: 1px; overflow: hidden; }
nav.nav-principale ul.nav > li.expanded > ul.nav > li a, nav.nav-principale > ul.nav > li.expanded > ul.nav > li span { position :relative; background-color :transparent ;color :#fff; }
nav.nav-principale ul.nav > li.expanded > ul.nav > li a:hover::before { -webkit-transform: scale3d(9, 9, 1); transform: scale3d(9, 9, 1);}
nav.nav-principale ul.nav > li.expanded > ul.nav > li { width : 24%; margin: 0 0.5% 30px; font-size : 19px; }
nav.nav-principale ul.nav > li.expanded > ul.nav ul.nav li { display: block ; width: 100% ; margin: 0 ; padding: 0; }
nav.nav-principale ul.nav > li.expanded > ul.nav ul.nav li a, nav.nav-principale > ul.nav > li.expanded > ul.nav ul.nav li span { text-transform: none ; font-weight: 400; color: #fff; font-size: 15px; padding: 0; }
nav.nav-principale ul.nav > li.expanded > ul.nav ul.nav li:hover a, nav.nav-principale > ul.nav > li.expanded > ul.nav ul.nav li:hover span { color: #dadada ; }

/*** MENU MOBILE ***/
#menu-mobile { display: none; }
.menu-trigger { margin: 0; position: relative; cursor: pointer; z-index: 999; }
.menu-trigger span { display: block; background: #e01253; }

.menu-trigger #hamburger {
	position: relative;
	float: right;
	border: 2px #e01253 solid;
	padding: 2px 16px;
	border-radius: 8px;
	transition-delay: .5s;
}

.menu-trigger #hamburger span {	width: 30px; height: 2px; position: relative; top: 0; left: 0; margin: 9px 0; }
.menu-trigger #hamburger span:nth-child(1) { transition-delay: .5s; }
.menu-trigger #hamburger span:nth-child(2) { transition-delay: .625s; width: 22px; }
.menu-trigger #hamburger span:nth-child(3) { transition-delay: .75s; }

.menu-trigger.active #hamburger { padding: 0; border: 0 #FFF solid; transition-delay: .2s; }
.menu-trigger.active #hamburger span { transition-delay: .5s; width: 0; margin: 0; }
.menu-trigger.active #hamburger span:nth-child(1) {	transition-delay: 0s; }
.menu-trigger.active #hamburger span:nth-child(2) {	transition-delay: .125s; }
.menu-trigger.active #hamburger span:nth-child(3) {	transition-delay: .25s; }

.menu-trigger #cross { position: fixed; height: 31px; width: 31px; transform: rotate(45deg); transition: 0.5s; right: 10%; top: 60px }
.menu-trigger #cross:hover{ transform: rotate(225deg);	}
.menu-trigger #cross span:nth-child(1) { height: 0%; width: 3px; position: absolute; top: 0%;left: 17px; transition-delay: .25s; background: #fff; }
.menu-trigger #cross span:nth-child(2) { width: 0%; height: 3px; position: absolute; left: 2px;top: 13px; transition-delay: .5s; background: #fff; }

.menu-trigger.active #cross span:nth-child(1) {	height: 31px; transition-delay: .625s; }
.menu-trigger.active #cross span:nth-child(2) {	width: 31px; transition-delay: .375s; }

.menu-basic { position: fixed; right: 0; top: 0; width: 100%; height: 100%; background-color: #040928; display: block; transform: translateX(100%); transition: all 0.8s cubic-bezier(0.99, 0.01, 0.02, 0.99); z-index: 50; padding: 40px 80px; overflow-x: hidden ; }
.menu-basic #header-logo-img-mobile { width : 150px; height: auto; margin-bottom: 30px; }
.menu-basic nav { width: 1250px; margin: auto; }
.menu-basic nav div ul { padding-left: 0; }
.menu-basic nav div ul li { list-style: none; margin-top: 10px; }
.menu-basic nav div ul li a { color: #fff; font-size: 1.1rem; }
.menu-basic nav div ul li a[href="#"] { color: #fff; cursor: initial; }
.menu-basic nav div ul li a[href="#"]:hover { color: #fff; cursor: initial; }
.menu-basic nav div > ul > li > a { text-transform: uppercase; }
.menu-basic nav div ul ul { padding-left: 30px; }

.menu-basic nav ul.nav  { width: 100%; margin: 50px auto; display: flex; display: -webkit-box;  display: -ms-flexbox; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; }
.menu-basic nav ul.nav > li { position :relative; overflow: hidden; width: 32% ; margin: 50px 0;}
.menu-basic nav ul.nav > li:nth-child(3n-1) { margin-left : 2%; }
.menu-basic nav ul.nav > li > a { position: relative; display: inline-block; overflow: hidden; font : 400 38px/45px 'Oswald', sans-serif; padding: 7px 0 0; color: #a9cc46; }
.menu-basic nav ul.nav > li > a::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fff; transform: translate3d(-100%,0,0) translate3d(-1px,0,0); transition: transform 0.7s; transition-timing-function: cubic-bezier(.7,0,.3,1); }
.menu-basic nav ul.nav > li > a:hover::before { transform: translate3d(100%,0,0) translate3d(1px,0,0); }
.menu-basic.open { transform: translateX(0); }

/****************************************************************************/
/* FIL D'ARIANE / BREADCRUMB (Module "Yoast")
/****************************************************************************/
#breadcrumbs {
	margin-bottom: 80px;
}
#breadcrumbs a {
	color: #77777a;
}
#breadcrumbs a:hover {
	text-decoration: underline;
	color: #e01253;
}
#breadcrumbs .breadcrumb_last {
	color: #e01253;
}

/****************************************************************************/
/* EN-TÊTE DE CONTENU DE PAGE (Titre, extrait et image à la une)
/****************************************************************************/
.heading-block {
	margin-bottom: 100px;
	background-color: #f4f4f4;
}
.heading-block .title-bloc {
	padding-top: 80px;
	padding-bottom: 40px;
	animation: slideInLeft;
	animation-duration: .5s;
}
.heading-block .title-bloc p {
	margin-top: 40px;
	color: #77777a;
	font-size: 1rem;
	line-height: 1.5rem;
	word-break: break-word;
	hyphens: auto;
}
.heading-block .image-bloc {
	position: relative;
}
.heading-block .absolute-image {
	position: relative;
	top: 70px;
	margin-left: 5px;
	opacity: 0;
	animation: backInRight;
	animation-duration: 1s;
	animation-delay: .2s;
	animation-fill-mode: forwards;
}
.heading-block .absolute-image .slider {}

.heading-block .maintenance_phone {
	padding-top: 2rem;
	font-size: 1.8rem;
}
h1.page-title {
	font-family: 'Quicksand', sans-serif;
	font-weight: 400;
}
#body h2 {
	display: block;
	position: relative;
	margin: auto;
	margin-bottom: 2rem;
	padding-bottom: 25px;
	color: #00a0e0;
	font-family: 'Quicksand', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	text-align: center;
}
#body h2::before, #body .wp-block-media-text h2::before {
	content: "";
	position: absolute;
	width: 120px;
	height: 1px;
	bottom: 0;
	left: 50%;
	margin-left: -60px;
	border-bottom: 4px solid #e01253;
}
#body h2.has-text-align-left::before {
	top: -30px;
	left: 0;
	margin-left: 0;
}
#body h2.has-text-align-left {
	text-align: left;
	margin-left: 0;
}
#body #wpcontent h2::before {
	content: none;
}

/****************************************************************************/
/* BLOC ACF SOLUTIONS
/****************************************************************************/
.solutions-bloc {
	margin-top: 100px;
	margin-bottom: 100px;
}
.solution-bloc img {
	display: block;
	max-width: 100%;
	margin: auto;
	transform-style: preserve-3d;
	transition: all .5s linear;
}
.solution-bloc:hover > img {
	transform: rotateY(180deg);
}
a.blue-bloc {
	max-width: 260px;
	margin: -45px auto 0;
	padding: 25px 0 15px;
	background-color: #00a0e0;
	text-align: center;
	color: #FFF;
	font-family: 'Quicksand', sans-serif;
	text-transform: uppercase;
}
a.blue-bloc .right-arrow {
	display: block;
	position: relative;
	left: 0;
	max-width: 20px;
	margin: 10px auto;
	transition: all .2s linear;
}
a.blue-bloc:hover {
	text-decoration: underline;
}
a.blue-bloc:hover .right-arrow {
	left: 20px;
}

/****************************************************************************/
/* BLOC ACF REFERENCES CHANTIER
/****************************************************************************/
.ref-bloc {
	margin-bottom: 120px;
}
.ref-bloc .hidden {
	display: none;
}
#body .ref-bloc h2.ref-bloc-title {
	margin-top: 100px;
}

.ref-bloc .solution-bloc {
	margin-bottom: 40px;
}

.owl-nav button {
	position: absolute;
	top: 50%;
	width: 30px;
	height: 80px;
	padding-left: 4px;
	background-color: rgba(0, 160, 224, 0.7);
	border: none;
}
.owl-nav button:hover {
	background-color: rgba(0, 160, 224, 0.9);
}
.owl-nav button::after {
	content: '';
	display: block;
	width: 24px;
	height: 19px;
	background: url("../img/right-arrow-white.svg") no-repeat center center;
}
.owl-nav button.owl-prev {
	border-radius: 0 8px 8px 0;
}
.owl-nav button.owl-next {
	right: 0;
	border-radius: 8px 0 0 8px;
}
.owl-nav button.owl-prev::after {
	transform: rotate(180deg);
}

.header-carousel.owl-carousel.owl-theme.owl-loaded.owl-drag,
.header-carousel .owl-stage-outer,
.header-carousel .owl-stage,
.header-carousel .owl-item,
.header-carousel .item,
.header-carousel .owl-item,
.header-carousel .img-responsive {
	height: 100vh;
	object-fit: cover;
}

/****************************************************************************/
/* BLOC IMAGE WORDPRESS
/****************************************************************************/

/* Fix stretched images */
.wp-block-image img {
	height: auto;
}

/****************************************************************************/
/* BLOC TEXTE-IMAGE WORDPRESS
/****************************************************************************/

.wrapper.body p > a:hover, .wp-block-media-text a:hover, .txtimgfullwidth-bloc a:hover, .txtfullwidth-bloc a:hover {
	text-decoration: underline;
}
.wp-block-media-text {
	position: relative;
	margin-top: 0; /* NE PAS MODIFIER ! */
}
#body .wp-block-media-text h2 {
	text-align: left;
}
#body .wp-block-media-text h2::before {
	left: 60px;
}
.home .wp-block-media-text.has-media-on-the-right {
	margin-bottom: -45px;
}
.home .wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content {
	margin-top: 45px;
}
#body .wp-block-media-text.has-media-on-the-right h2 {
	margin-bottom: 0;
}
#body .wp-block-media-text.has-media-on-the-right h2::before {
	top: -30px;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding-left: 0;
}
.wp-block-media-text__media {
	padding-left: 0;
	padding-right: 25px;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
	padding-left: 25px;
	padding-right: 0;
}
.wp-block-media-text__media img {
	height: auto;
}
.wp-block-media-text a {
	color: #e01253;
}
/* Flèche de certains liens */
.home .wp-block-media-text a:last-child::after,
.quote_ask a:last-child::after,
.job-bloc a:last-child::after {
	width: 20px;
	height: 16px;
	display: inline-block;
	position: relative;
	content: '';
	-webkit-mask: url("../img/right-arrow.svg") no-repeat 50% 50%;
	mask: url("../img/right-arrow.svg") no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	vertical-align: middle;
	margin-left: 15px;
	background-color: #e01253;
	transition: all .2s linear;
}
.home .wp-block-media-text a:last-child:hover::after,
.quote_ask a:last-child:hover::after,
.job-bloc a:last-child:hover::after {
	margin-left: 35px;
}

.grey_bg {
	margin-top: 50px;
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #ededed;
}
.grey_bg::before {
	content:"";
	background-color: #ededed;
	position: absolute;
	height: 100%;
	width: 200vw;
	left: -100vw;
	z-index: -1;
}
.wp-block-media-text.negative-margin {
	margin-top: 100px;
	margin-bottom: -180px;
}

/****************************************************************************/
/* BLOC ACF TEXTE-IMAGE PLEINE LARGEUR
/****************************************************************************/
.txtimgfullwidth-bloc {
	margin: 90px auto;
	background-color: #e01253;
	color: #FFF;
}
.txtimgfullwidth-bloc.no-margin-bottom {
	margin-bottom: 0;
}
.txtimgfullwidth-bloc .image-bloc {
	padding: 0;
	overflow: hidden;
}
.txtimgfullwidth-bloc .text-bloc {
	padding: 100px 80px;
	max-width: 600px;
}
#body .txtimgfullwidth-bloc h2, .txtimgfullwidth-bloc a {
	color: #FFF;
	text-align: left;
}
#body .txtimgfullwidth-bloc .h2-like {
	font-size: 2rem;
}
#body .txtimgfullwidth-bloc h2, #body .txtimgfullwidth-bloc .h2-like {
	display: block;
	position: relative;
	margin: 1rem 0;
	padding-bottom: 0;
	text-transform: uppercase;
}
#body .txtimgfullwidth-bloc h2::before{
	content: "";
	position: absolute;
	width: 120px;
	top: -1.5rem;
	left: 0;
	margin-left: 0;
	border-bottom: 4px solid #FFF;
}
.txtimgfullwidth-bloc .right-arrow {
	display: inline-block;
	position: relative;
	max-width: 20px;
	margin-left: 10px;
	transition: all .2s linear;
}
.txtimgfullwidth-bloc a:hover .right-arrow {
	margin-left: 30px;
}

/****************************************************************************/
/* BLOC ACF TEXTE PLEINE LARGEUR
/****************************************************************************/
.txtfullwidth-bloc {
	position: relative;
	margin-top: 50px;
	padding-top: 140px;
	padding-bottom: 80px;
	background-color: #e01253;
	text-align: left;
}
.txtfullwidth-bloc::before {
	content:"";
	position: absolute;
	height: 100%;
	width: 200vw;
	left: -100vw;
	top: 0;
	z-index: -1;
	background-color: #e01253;
}
#body .txtfullwidth-bloc a, .txtfullwidth-bloc p, #body .txtfullwidth-bloc h2 {
	color: #fff;
	text-align: left;
}
#body .txtfullwidth-bloc h2 {
	margin-left: 0;
	position: relative;
}
#body .txtfullwidth-bloc h2::before {
	content: "";
	position: absolute;
	width: 120px;
	top: -30px;
	left: 0;
	margin-left: 0;
	border-bottom: 4px solid #FFF;
}
.txtfullwidth-bloc h3 {
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	margin: 1.6rem 0;
}
.txtfullwidth-bloc a {
	text-decoration: underline;
	font-weight: bold;
}

/****************************************************************************/
/* BLOC ACF CHIFFRES-CLES
/****************************************************************************/
.keyfigures-bloc {
	margin-bottom: 80px;
}
.keyfigures-bloc .keyfigure {
	padding: 0 30px;
}
.keyfigures-bloc .keyfigure h3 {
	font-size: 3rem;
	font-weight: bold;
}
.keyfigures-bloc > .row {
	margin-top: 40px;
}
/****************************************************************************/
/* BLOCS ACF FOURNISSEURS + CERTIFICATIONS
/****************************************************************************/
.suppliers-bloc {
	padding: 80px 0 60px;
	margin: 20px 0;
	background-color: #ededed;
}
.certifications-bloc {
	padding: 50px 0 60px;
	margin: 20px 0;
}
.suppliers, .certifications {
	padding: 20px;
	margin: 20px;
}
.suppliers-bloc img, .certifications-bloc img {
	max-width: 200px;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.suppliers-bloc img:hover, .certifications-bloc img:hover {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.suppliers-bloc .supplier, .certifications-bloc .certification {
	margin-top: 30px;
	text-align: center;
	align-self: center;
}

/****************************************************************************/
/* BLOC ZONE D'INTERVENTION (Module "Draw Attention")
/****************************************************************************/
#hotspot-259 {
	background: #98def7;
}
#hotspot-259 .hotspot-info {
	background-color: #FFF;
	border: 6px #e01253 solid;
	padding: 40px;
}
#body #hotspot-259 .hotspot-info h2 {
	text-align: left;
	margin: 0;
	color: #e01253;
}
#body #hotspot-259 .hotspot-info h2::before {
	content: "";
	position: absolute;
	width: 120px;
	bottom: 0;
	left: 0;
	margin-left: 0;
	border-bottom: 4px solid #e01253;
}
#hotspot-259 .hotspot-info p {
	margin-top: 20px;
}
#hotspot-259 .leaflet-pane .leaflet-tooltip-pane,
#hotspot-259 .leaflet-pane .leaflet-tooltip,
#hotspot-259 .leaflet-pane .leaflet-rrose-content-wrapper
{
	background-color: #FFF;
	border-color: #e01253;
}
#hotspot-259 .leaflet-pane .leaflet-tooltip-right:before {
	border-right-color: #FFF;
}
#hotspot-259 .hotspots-image-container .hotspots-map-container {
	left: auto;
	right: 0;
}
#hotspot-259 .hotspot-title {
	display: none;
}
/****************************************************************************/
/* BLOC ACF TEMOIGNAGES
/****************************************************************************/
.temoignages-bloc {
	margin-top: 80px;
	margin-bottom: 80px;
}
.temoignages blockquote {
	display:table;
	padding: 40px 20px 20px;
	background: #00a0e0;
	color: #FFFFFF;
}
.temoignages blockquote::before  {
	content: '\201C';
	position: absolute;
	font-size: 5rem;
	line-height: 1rem;
	font-weight: 900;
	margin-top: 8px;
}
.temoignages blockquote cite {
	display: block;
	text-indent: 2.2rem;
}
.temoignages blockquote .auteur {
	margin-top: 20px;
	text-align:right;
}
.temoignages blockquote .source {
	text-align:right;
	font-style: italic;
	clear: both;
}

/****************************************************************************/
/* BLOC ACF AVANTAGES
/****************************************************************************/
.avantages-bloc {
	margin-bottom: -140px;
	padding: 60px;
	color: #FFF;
	background-color: #e01253;
}
.avantages-bloc a {
	color: #FFF;
	text-decoration: underline;
}

/****************************************************************************/
/* BLOC TELECHARGEMENT PDF
/****************************************************************************/
#body .maintenance-bloc h2 {
	text-align: left;
}
#body .maintenance-bloc h2::before {
	top: -30px;
	left: 60px;
}
.maintenance-bloc .wp-block-column:first-child {
	padding-right: 40px;
	border-right: 2px #e01253 solid;
}
.pdfdownload-bloc .pdfdownload-icon {
	max-height: 60px;
}
.pdfdownload-bloc .pdfdownload {
	margin: 0 auto;
	text-align: center;
	padding: 40px;
}
.pdfdownload-bloc .pdfdownload a::after {
	content: none;
}
.pdfdownload-bloc .pdfdownload p {
	margin-top: 30px;
	margin-bottom: 0;
}

/****************************************************************************/
/* BLOC WP DEMANDE DE DEVIS (Groupe)
/****************************************************************************/
.quote_ask {
	position: relative;
	max-width: 60%;
	margin: auto;
	padding-top: 80px;
	padding-bottom: 60px;
}
.quote_ask::before {
	content:"";
	position: absolute;
	height: 100%;
	width: 200vw;
	left: -100vw;
	top: 0;
	z-index: -1;
	background-color: #ededed;
}
.quote_ask.white-background::before {
	background-color: #fff;
}
.quote_ask a {
	display: inline-block;
	margin-top: 20px;
	color: #e01253;
}
#body .quote_ask h2::before {
	top: -30px;
}

/****************************************************************************/
/* BLOC OFFRES D'EMPLOI
/****************************************************************************/
.job-bloc-wrapper {
	max-width: 960px;
	margin: auto;
}
.job-bloc-wrapper .job-bloc-col {
	margin-bottom: 56px;
	padding-right: 37px;
	padding-left: 37px;
}
.job-bloc {
	min-height: 450px;
	padding: 45px 54px;
	color: #FFF;
	word-break: break-word;
	hyphens: auto;
	background-color: #e01253;
}
.job-bloc a {
	color: #FFF;
}
.job-bloc a:last-child::after {
	background-color: #FFF;
}
.job-template-default footer {
	margin-top: 0;
}

/****************************************************************************/
/* BLOC GALLERIE
/****************************************************************************/
.blocks-gallery-grid, .wp-block-gallery {
	justify-content: center;
}

/****************************************************************************/
/* FORMULAIRES
/****************************************************************************/
.gform_wrapper {
	position: relative;
	margin-bottom: -80px;
	padding: 100px 400px;
}
.page-template-default .gform_wrapper,
.job-template-default .gform_wrapper {
	margin-top: 60px;
	margin-bottom: 0;
}
.gform_wrapper .gform_heading h3 {
	text-transform: uppercase;

}
.gform_wrapper::before {
	content: "";
	position: absolute;
	height: 100%;
	width: 200vw;
	left: -100vw;
	top: 0;
	z-index: -1;
	background-color: #ededed;
}
.gform_wrapper .gform_footer input.button.gform_button,
.gform_wrapper .gform_footer input.gform_button[type="image"],
.gform_wrapper .gform_footer input.gform_button[type="submit"] {
	color: #e01253;
	margin: auto;
	display: block;
	border: none;
}
.gform_wrapper li.hidden_label.gf_left_half input,
.gform_wrapper li.hidden_label.gf_right_half input {
	margin-top: 0;
}
.gform_wrapper ul.gfield_radio {
	margin: 0;
}
.gform_wrapper ul.gfield_radio li {
	display: inline;
	margin-right: 25px;
}
.gform_wrapper ul.gfield_radio li label {
	margin-top: 12px;
}
.gform_wrapper .ginput_container_radio ul.gfield_radio li input[type="radio"] {
	width: 30px !important;
	height: 2rem;
}
body .gform_wrapper ul.gform_fields li.gfield,
.gform_wrapper li.hidden_label input {
	margin-top: 0;
}
/****************************************************************************/
/* PAGE LISTING ARTICLES DE BLOG (home.php)
/****************************************************************************/
.blog .txtfullwidth-bloc {
	margin-bottom: 100px;
}
.posts-bloc {
	margin-bottom: 80px;
}
.posts-bloc .col-xl-3 {
	padding-right: 20px;
	padding-left: 20px;
}
.posts-bloc .featured-media {
	overflow: hidden;
}
.posts-bloc .post-inner {
	display: inline-block;
	position: relative;
	margin: -80px 15px 20px 15px;
	padding: 26px;
	background-color: #ededed;
}
.posts-bloc .post-inner h3 {
	font-size: 1.1rem;
}
.posts-bloc .post-inner p {
	color: #77777a;
	font-size: .9rem;
}
.posts-bloc .post-inner p.post-date {
	margin-bottom: 0;
}
.posts-bloc .post-inner:hover::after {
	width: 20px;
	height: 16px;
	display: inline-block;
	position: absolute;
	right: 22px;
	bottom: 22px;
	content: '';
	-webkit-mask: url("../img/right-arrow.svg") no-repeat 50% 50%;
	mask: url("../img/right-arrow.svg") no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	background-color: #e01253;
}
.posts-bloc .entry-content {
	margin-top: 20px;
}
.posts-bloc nav.pagination {
	margin: auto;
}
.posts-bloc nav.pagination span {
	color: #e01253;
}
.posts-bloc nav.pagination a {
	color: #77777a;
}
.posts-bloc nav.pagination a:hover {
	color: #00a0e0;
}
.posts-bloc nav.pagination .page-numbers {
	padding: 0 4px;
}
/*.posts-bloc nav.pagination .page-numbers:not(:last-child):not(.next):not(.prev)::after {*/
.posts-bloc nav.pagination .page-numbers:nth-last-child(n+2):not(.next):not(.prev)::after {
	content: '|';
	padding-left: 8px;
}

/****************************************************************************/
/* 404
/****************************************************************************/
.error404 .heading-block {
	margin-bottom: 40px;
}
.error404 .page-content {
	margin-bottom: 80px;
}
/****************************************************************************/
/* FOOTER
/****************************************************************************/
#backtotop-btn {
	visibility: hidden;
	opacity: 1;
	position: fixed;
	bottom: 70px;
	right: -10px;
	z-index: 99;
	border: none;
	outline: none;
	background-color: #00a0e0;
	color: white;
	box-shadow: rgba(0, 0, 0, 0.15) 0 1px 10px;;
	cursor: pointer;
	padding: 9px 35px 10px 15px;
	border-radius: 10px;
	font-size: 18px;
	transition: all ease-in .3s;
}

#backtotop-btn:hover {
	background-color: #e01253;
}

.home footer, .single footer {
	margin-top: 80px;
}
footer .footer-blue-bloc {
	max-width: none;
	padding-top: 40px;
	padding-bottom: 40px;
	color: #FFF;
	background-color: #00a0e0;
}
footer .nav-footer {
	padding-left: 60px;
	border-left: 2px white solid;
}
footer .nav-footer ul {
	height: 8rem;
	flex-direction: column;
	flex-wrap: wrap;
	padding-left: 2rem;
}
footer .nav-footer li {
	padding: 0.5rem;
}
footer .nav-footer a {
	color: #FFF;
	text-transform: none;
	font-weight: normal;
	padding: 0;
}
footer .nav-footer a:hover {
	text-decoration: underline;
}
footer .mentions {
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: center;
}
footer .mentions a {
	color: #77777a;
}
footer .mentions a:hover {
	text-decoration: underline;
}
footer .footer-logo-ic {
	margin-left: -160px;
	margin-top: -24px;
}
footer .ets_name {
	margin-bottom: 12px;
}
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager img {
	width: 40px;
	height: 40px;
}
/****************************************************************************/
/* STYLE BACK-OFFICE
/****************************************************************************/
.wp-admin table.media {
	display: table; /* Fix flex from bootstrap */
}

/****************************************************************************/
/* RESPONSIVE BREAKPOINTS
/****************************************************************************/
@media (max-width:1500px) {
	.wrapper {
		width: 1140px;
	}
	h1 {
		font-size: 2rem;
	}
	#header-logo-img {
		max-width: 200px;
	}
	.menu-bloc.col-md-9 {
		max-width: 80%;
		padding: 0;
	}
	.txtimgfullwidth-bloc .image-bloc img {
		margin-left: -20%;
	}
	#body #hotspot-259 h2 {
		font-size: 1.2rem;
	}
	#hotspot-259 .hotspot-info {
		padding: 20px;
	}
	.gform_wrapper {
		padding: 100px 200px;
	}
}
@media (max-width:1200px) {
	#body h2, #body .wp-block-media-text h2 {
		padding-bottom: 15px;
	}
	.wrapper {
		max-width: 960px;
		width: 100%;
	}
	#menu-desktop {
		display: none;
	}
	#menu-mobile {
		display: block;
		padding: 0 15px;
	}
	.heading-block {
		margin-bottom: 0;
	}
	.heading-block .absolute-image img {
		max-width: 100%;
		height: auto;
	}
	#breadcrumbs {
		margin-top: 40px;
		margin-bottom: 60px;
	}
	.solutions-bloc {
		margin-top: 80px;
	}
	.home .wp-block-media-text.has-media-on-the-right {
		margin-bottom: 0;
	}
	.page-template-default .avantages-bloc {
		margin-top: -100px;
	}
	#hotspot-259 .hotspot-info p {
		margin-top: 15px;
		margin-bottom: 0;
		font-size: .9rem;
	}
	#hotspot-259.layout-left .hotspots-placeholder {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 34%;
		-moz-box-flex: 0;
		-ms-flex: 0 0 34%;
		flex: 0 0 34%;
		max-width: 34%;
	}
	#hotspot-259.layout-left .hotspots-image-container {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 66%;
		-moz-box-flex: 0;
		-ms-flex: 0 0 66%;
		flex: 0 0 66%;
	}
}
@media (max-width:992px) {
	.wrapper {
		max-width: 720px;
		width: 100%;
	}
	.heading-block .title-bloc {
		text-align: center;
	}
	.heading-block .absolute-image {
		top: -30px;
	}
	.solutions-bloc .solution-bloc {
		margin-top: 40px;
	}
	.home .wp-block-media-text.has-media-on-the-right {
		margin-bottom: 60px;
	}
	.keyfigures-bloc .keyfigure {
		margin-top: 40px;
	}
	#hotspot-259.layout-left .hotspots-placeholder {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 50%;
		-moz-box-flex: 0;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	#hotspot-259.layout-left .hotspots-image-container {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 50%;
		-moz-box-flex: 0;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
	}
	#hotspot-259 .hotspot-info {
		padding: 10px 20px;
	}
	#body #hotspot-259 .hotspot-info h2 {
		padding-bottom: 0;
	}
	#body #hotspot-259 .hotspot-info h2::before {
		border-bottom: none;
	}
	.job-bloc {
		min-height: 250px;
		margin-bottom: 40px;
	}
	.gform_wrapper {
		padding: 60px 100px;
	}
	footer .nav-footer {
		padding-left: 0;
	}
}
@media (max-width:768px) {
	.wrapper {
		max-width: 540px;
		width: 100%;
	}
	footer {
		text-align: center;
	}
	footer .nav-footer {
		margin-bottom: 20px;
		padding-bottom: 30px;
		border-left: none;
		border-bottom: 1px white solid;
	}
	footer .mentions {
		text-align: left;
		font-size: .9rem;
	}
	footer .footer-logo-ic {
		margin-left: -120px;
	}
	footer .footer-logo-ic IMG {
		max-width: 100%;
	}
	.wp-block-media-text__content {
		margin-top: 20px;
	}
	.pdfdownload-bloc .pdfdownload {
		padding: 0;
	}
	.gform_wrapper {
		padding: 40px;
	}
	.page-template-default .avantages-bloc {
		margin-top: 20px;
		margin-bottom: -40px;
	}
	.page-template-default .wp-block-media-text {
		margin-bottom: 0;
	}
}
@media (max-width:576px) {
	.wrapper {
		padding: 0 20px;
	}
	#header-logo-img, #header-logo-img-mobile {
		max-width: 160px;
	}
	.heading-block .title-bloc {
		padding-top: 60px;
	}
	.menu-trigger #hamburger {
		margin-right: 15px;
	}
	.menu-trigger #hamburger span {
		width: 25px;
		margin: 7px 0;
	}
	.menu-trigger #hamburger span:nth-child(2) {
		width: 16px;
	}
	.menu-trigger.active #hamburger span {
		width: 0;
	}
	.menu-trigger #cross {
		top: 40px;
	}
	.menu-bloc.col-md-9 {
		max-width: 0;
	}
	.menu-basic {
		padding: 30px 40px;
	}
	.menu-basic nav div ul ul {
		padding-left: 20px;
	}
	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
		padding-left: 0;
	}
	.wp-block-media-text__media {
		padding-right: 0;
	}
	.suppliers-bloc .supplier, .certifications-bloc .certification {
		margin-top: 40px;
	}
	#content-hotspot-259.hotspots-placeholder {
		padding: 0;
	}
	#hotspot-259.layout-left .hotspots-placeholder {
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 100%;
		-moz-box-flex: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
	.wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right .wp-block-media-text__content  {
		padding-right: 0;
	}
	.page-template-default .avantages-bloc {
		margin-top: 0;
		margin-bottom: 0;
	}
	.maintenance-bloc .wp-block-column:first-child {
		padding-right: 0;
		border-right: none;
	}
	.txtimgfullwidth-bloc {
		margin: 60px auto;
	}
	.txtimgfullwidth-bloc .text-bloc {
		padding: 60px 50px;
	}
	.pdfdownload-bloc {
		padding-top: 40px;
	}
	footer .adresses > .adresse {
		margin-top: 20px;
	}
	footer .mentions {
		text-align: center;
	}
	footer #IC {
		float: none !important;
	}
	footer .footer-logo-ic {
		margin: auto;
		position: relative !important;
	}
	footer .footer-logo-ic img {
		margin: 20px auto 0;
	}
	.txtfullwidth-bloc {
		padding: 80px 30px;
	}
}

/*# sourceMappingURL=style.css.map */
