/*
 Theme Name:   Toiles Jarelm 2026
 Theme URI:    https://www.jarelm.com
 Description:  Thème en développement
 Author:       Charles Bergeron
 Author URI:   https://www.commparlimage.ca
 Template:     blankslate
 Version:      1.0.0
 Text Domain:  jarelm
*/

/********************************************************************************************************************/

html{
	font-size: 16px;
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	touch-action: manipulation;
}

html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, del, ins, map, object,
a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,
strong, sub, sup, tt, var, legend, fieldset {
	margin: 0;
	padding: 0;
	text-decoration: none; 
}

img, fieldset {
	border: 0;
}

/* set image max width to 100% */
img {
	display: block;
	height: auto;
	max-height: 100%;
	max-width: 100%;
	width: auto\9; /* ie8 */
	object-fit: cover;
}

/* set html5 elements to block */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
    display: block;
}

ul li {
	list-style-type: none;
}


#human{display:none !important;}


html, body {
	width: 100%;
	min-height: 100%;
	scroll-behavior: smooth;
}

/* INITIALISATION ***************************************************************************************************/

.table{display:table;}
.flex{display:flex;}
.grid{display:grid;}

/********************************************************************************************************************/


:root{
	--bleu-fonce:#07152d;
	--bleu:#1598d4;
	--bleu-hover:#0c7fb4;
	--bleu-pale:#eaf7fc;
	--texte:#1d2b38;
	--texte-pale:#667383;
	--gris:#f4f5f6;
	--blanc:#fff;
	--wrap:1280px;
	--radius:6px;
	--gap: 3rem;
}

/* ====================================================================================== */

body{
	background:#fff;
	color:var(--texte);
	font-size:16px;
	overflow-x:hidden;
}
.wrap{
	width:calc(100% - 40px);
	max-width:var(--wrap);
	margin:0 auto;
}
.wrap-xl {
	width: 90%;
	margin:auto;
}
h1,h2,h3,h4,h5,strong{
	font-weight:700;
}
h4{
	display:inline-block;
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.04em;
	text-transform:uppercase;
	margin-bottom:.55rem;
	
	background:linear-gradient(90deg, #2b92d0 0%, #172b84 100%);

	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
	color:transparent;
}
h3{
	font-size:2rem;
	line-height:1.08;
	letter-spacing:-.035em;
	margin-bottom:1rem;
}
p{
	color:var(--texte-pale);
	font-size:.95rem;
	line-height:1.55rem;
}
a{
	transition:.2s ease;
}

#contact .wrap .right input[type="submit"]{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
/*	min-height:42px;*/
	background:var(--bleu);
	color:#fff;
/*	font-size:.78rem;*/
	font-weight:800;
	letter-spacing:.02em;
	line-height:1;
	text-transform:uppercase;
	padding:0 1.05rem;
	border-radius:2px;
}

.anchor {
	position: relative;
	visibility: hidden;
	top: -150px;
	display: block;
}

/* ====================================================================================== */

.concave,
.concave-top{
	position:relative;
	padding:110px 0;
	overflow:hidden;
}
.concave::before,
.concave-top::before,
.concave::after{
	content:'';
	position:absolute;
	left:-5%;
	width:110%;
	height:70px;
	background:#fff;
	border-radius:0 0 50% 50%;
}
.concave::before,
.concave-top::before{
	top:-22px;
}
.concave::after{
	bottom:-22px;
	border-radius:50% 50% 0 0;
}

/***********/

.main-btn {
	display: inline-flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
    background: var(--bleu);
    border: 1px solid transparent;
    color: #fff;
    text-decoration: none;
}

.main-btn:hover {
	background: var(--bleu-hover);
    border-color: var(--bleu-hover);
    color: #fff;
}

.main-btn strong {
	display: flex;
    align-items: center;
    color: #fff;
    padding: 0 18px;
    min-height: 45px;
    text-transform: uppercase;
    font-weight: 500;
}

.main-btn:hover strong {
	color: #fff;
}

.main-btn span {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0e86cf;
	width: 45px;
	min-height: 45px;
	flex: 0 0 45px;
}

.main-btn:hover span {
	background: #0b73b3;
}

.main-btn span img {
    display: block;
    width: 18px;
    height: 12px;
    filter: brightness(0) invert(1);
}

.outline-btn {
	display:flex;
	align-items:center;
	color:#fff;
	padding:0 18px;
	min-height:45px;
	text-transform:uppercase;
	font-weight:500;
	border: 1px solid #fff;
	transition: color .2s ease, background .2s ease;
}

.outline-btn:hover {
	color: var(--bleu-fonce);
	background: #fff;
}

/***********/

.split {
	display: flex;
	align-items: center;
	gap: var(--gap);
}

.split > * {
	flex-basis: calc((100% / 2) - var(--gap) + (var(--gap) / 2));
	flex-grow: 1;
	min-width: 0;
}

.split.uneven > *:first-child,
.split.uneven-reverse > *:last-child {
	flex-basis: calc(55% - (var(--gap) / 2));
}

.split.uneven > *:last-child,
.split.uneven-reverse > *:first-child {
	flex-basis: calc(45% - (var(--gap) / 2));
}

.split > img {
	border-radius: var(--radius);
}

.row-reverse {
	flex-direction: row-reverse;
}

/***********/

.text > p:not(:last-child) {
	margin-bottom: 1rem;
}

.text ul,
.exp-accordeon .exp ul {
	margin-left: 1.5rem;
}

.text ul li {
	position: relative;
    color: var(--texte);
    font-size: .95rem;
    font-weight: 700;
    padding-left: 1.55rem;
    margin-bottom: .55rem;
}

.text ul li::before {
	content: '';
    position: absolute;
    left: 0;
    top: .15rem;
    width: 14px;
    height: 14px;
    background: url(img/icones/fleche.svg) center center / contain no-repeat;
    filter: brightness(0) saturate(100%) invert(48%) sepia(72%) saturate(1179%) hue-rotate(172deg) brightness(87%) contrast(89%);
}

.text > .main-btn {
	margin-top: 1rem;
}

/***********/

.center-block {
	width: 75%;
	text-align: center;
	margin: auto;
}

/***********/

.exp-accordeon .exp{
	border-bottom:1px solid #d9e1e7;
	background:transparent;
	transition:background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.exp-accordeon .exp h2{
	display:flex;
	align-items:center;
	gap:.55rem;
	color:var(--texte);
	font-size:1rem;
	line-height:1.2;
	padding:.9rem 1rem;
	margin:0;
	cursor:pointer;
}
.exp-accordeon .exp h2 img{
	width:14px;
	height:14px;
	object-fit:contain;
}
.exp-accordeon .exp h2 .minus{
	display: none;
}
.exp-accordeon .exp p,
.exp-accordeon .exp ul{
	display:block;
	max-height:0;
	opacity:0;
	overflow:hidden;
	font-size:.83rem;
	line-height:1.35rem;
	padding:0 1rem 0 2.9rem;
/*	margin:0;*/
	margin-top: 0;
	margin-bottom: 0;
	transform:translateY(-6px);
	transition:max-height .45s ease, opacity .3s ease, padding .45s ease, transform .45s ease;

}
.exp-accordeon .exp.open{
	background:#fff;
	border:1px solid #9bcbe2;
	box-shadow:0 5px 18px rgba(0,0,0,.05);
}

.exp-accordeon .exp.open p,
.exp-accordeon .exp.open ul{

	max-height:260px;
	opacity:1;
	padding:0 1rem 1rem 2.9rem;
	transform:translateY(0);

}
.exp-accordeon .exp.open .plus{
	display: none;
}
.exp-accordeon .exp.open .minus{
	display: block;
}

/***********/

.video-container {
	position: relative;
	background: #000;
	border-radius: var(--radius);
	overflow: hidden;
}

.video-container::after {
	content: '';
	position: absolute;
	inset: 0;
	width: 5rem;
	height: 5rem;
	background: #fff;
	-webkit-mask: url(img/icones/play-button.svg) no-repeat center center/contain;
	mask: url(img/icones/play-button.svg) no-repeat center center/contain;
	margin: auto;
}

.video-container > img {
	opacity: .65;
	transition: opacity .2s;
}

.video-container:hover > img {
	opacity: .85;
}

/* ====================================================================================== */

nav{
	position:absolute;
	z-index:100;
	top:0;
	left:0;
	width:100%;
	background:var(--bleu-fonce);
	padding:20px 0;
}
nav .wrap{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:76px;
}
nav .wrap .left{
	text-align: center;
}
nav .wrap .left a{
	display:block;
	width:160px;
	margin:auto;
}
nav .wrap .left a img{
	width:100%;
	height:auto;
}
nav .wrap .left .logo-message{
	font-size:.85rem;
	font-weight:500;
	font-style:italic;
	text-transform:uppercase;
	color:#fff;
	opacity:.85;
	margin-top:.35rem;
	transition: font-size .2s ease;
}
nav .wrap .right > ul{
	display:flex;
	align-items:center;
	gap:2rem;
}
nav .wrap .right > ul > li{
	position:relative;
}
nav .wrap .right > ul > li > a{
	display:flex;
	align-items:center;
	min-height:76px;
	color:#fff;
	font-size:.9rem;
	font-weight:800;
	letter-spacing:.03em;
	text-transform:uppercase;
}
nav .wrap .right > ul > li.menu-item-has-children > a:after{
	content:'';
	display:inline-block;
	width:12px;
	height:8px;
	margin-left:.55rem;
	background-color:#fff;
	mask-image:url('img/icones/submenu-arrow.svg');
	mask-repeat:no-repeat;
	mask-position:center;
	mask-size:contain;
	-webkit-mask-image:url('img/icones/submenu-arrow.svg');
	-webkit-mask-repeat:no-repeat;
	-webkit-mask-position:center;
	-webkit-mask-size:contain;
	transform:translateY(-1px);
}
nav .wrap .right > ul > li > a:hover{
	color:var(--bleu);
}
nav .wrap .right > ul > li.menu-item-has-children > a:hover:after{
	background-color:var(--bleu);
}

nav .wrap .right > ul > li > ul{
	position:absolute;
	top:100%;
	left:0;
	min-width:170px;
	background:#fff;
	box-shadow:0 18px 45px rgba(0,0,0,.15);
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
	transition:.2s ease;
}
nav .wrap .right > ul > li:hover > ul{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}
nav .wrap .right > ul > li > ul > li{
	color:var(--texte);
	font-size:.82rem;
	font-weight:700;
	padding:.8rem 1rem;
	border-bottom:1px solid #edf0f2;
}
nav .wrap .right > ul > li > ul > li > a{
	color:var(--texte);
}
nav .wrap .right > ul > li > ul > li > a:hover{
	color:var(--bleu);
}
nav .wrap .right > ul > li.soumission > a{
	min-height:34px;
	background:var(--bleu);
	padding:2px 25px;
	border-radius:2px;
}
nav .wrap .right > ul > li.soumission:hover > a{
	background:#fff;
	color:var(--bleu-fonce);
}

nav .wrap .right .mobile-menu-icon{display:none;}
nav .wrap .right .mobile-menu-icon:hover{cursor:pointer;}

/* ====================================================================================== */

nav.scrolled{position:fixed !important; padding:8px 0;}
nav.scrolled .wrap, nav.scrolled .wrap .right > ul > li > a{min-height:50px;}
nav.scrolled .wrap .left a{width:110px;}
nav.scrolled .wrap .left .logo-message{font-size: .75rem;}
nav.scrolled .wrap .right > ul > li.soumission > a{min-height:30px !important;}

/* ====================================================================================== */

#mobile-menu{position:fixed; padding:20px 5%; background:rgba(12, 21, 42,0.95); z-index:1000; width:90%; height:100%;}
#mobile-menu > ul{position:relative; margin-top:110px; display:flex; flex-direction:column;}
#mobile-menu > ul > li{position:relative;}
#mobile-menu > ul > li > a{color:#fff; font-weight:700; line-height:2.4em; font-size:1.6em; border-bottom:2px solid #fff;}
#mobile-menu > ul > li > a:hover{color:#2b92d0;}
#mobile-menu > ul > li > ul{position:relative; margin:0 0 0 45px; display:flex; flex-direction:column;}
#mobile-menu > ul > li > ul > li{position:relative;}
#mobile-menu > ul > li > ul > li > a{color:#fff; font-weight:400; line-height:2.2em; font-size:1.4em; border-bottom:1px solid #fff;}
#mobile-menu > ul > li > ul > li > a:hover{color:#2b92d0;}

#mobile-menu > a{position:absolute; top:25px; right:25px; z-index:1001;}
#mobile-menu > a:hover{opacity:0.5; cursor:pointer;}

#mobile-menu > .logo{position:absolute; top:25px; left:25px; width:180px; z-index:1001;}

#mobile-menu{right:-100%; top:0; transition:right .35s ease;}
#mobile-menu.open{right:0;}

body.mobile-menu-open{overflow:hidden;}

/* ====================================================================================== */

#top{
	position:relative;
	min-height:760px;
	padding-top:76px;
	background:var(--bleu-fonce);
	overflow:visible;
}
#top:after{
	content:'';
	position:absolute;
	inset:76px 0 0 0;
	z-index:2;
	background:linear-gradient(90deg, rgba(7,21,45,.78) 0%, rgba(7,21,45,.42) 42%, rgba(7,21,45,.05) 100%);
}

#top .wrap{height:100%;}

#top .slogan{
	position:absolute;
	z-index:5;
	color:#fff;
	bottom:100px;
}
#top .slogan h1, #top .slogan h2{
	max-width:600px;
	color:#fff;
	font-size:3rem;
	line-height:1.04;
	letter-spacing:0.05em;
	margin-bottom:1rem;
	font-weight:700;
}
#top .slogan p{
	max-width:520px;
	color:rgba(255,255,255,.88);
	font-size:1.2rem;
	line-height:1.4em;
	margin-bottom:40px;
}

#top .slogan .btns{
	display:flex;
	gap:.75rem;
	flex-wrap:wrap;
	align-items:center;
}

#top .slogan .btns a{
	display:inline-flex;
	align-items:stretch;
	justify-content:center;
	overflow:hidden;
	border:1px solid #fff;
	background:transparent;
	font-weight:400;
	color:#fff;
	text-decoration:none;
}

#top .slogan .btns a strong{
	display:flex;
	align-items:center;
	color:#fff;
	padding:0 18px;
	min-height:45px;
	text-transform:uppercase;
	font-weight:500;
}

#top .slogan .btns a:hover{
	background:#fff;
	color:var(--bleu-fonce);
}

#top .slogan .btns a:hover strong{
	color:var(--bleu-fonce);
}

#top .slogan .btns a.main{
	background:var(--bleu);
	border:1px solid transparent;
	color:#fff;
}

#top .slogan .btns a.main strong{
	color:#fff;
}

#top .slogan .btns a.main span{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#0e86cf;
	width:45px;
	min-height:45px;
	flex:0 0 45px;
}

#top .slogan .btns a.main span img{
	display:block;
	width:18px;
	height:12px;
	filter:brightness(0) invert(1);
}

#top .slogan .btns a.main:hover{
	background:var(--bleu-hover);
	border-color:var(--bleu-hover);
	color:#fff;
}

#top .slogan .btns a.main:hover strong{
	color:#fff;
}

#top .slogan .btns a.main:hover span{
	background:#0b73b3;
}


/*#top .slogan .btns{
	display:flex;
	gap:.75rem;
	flex-wrap:wrap;
	align-items:center;
}
#top .slogan .btns a{
	display:inline-flex;
	align-items:stretch;
	justify-content:center;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.85);
	background:transparent;
	font-weight:400;
	color:#fff; 
	text-decoration:none;
}

#top .slogan .btns a strong{
	display:flex;
	align-items:center;
	color:#fff; 
	padding:0 18px;
	min-height:45px;
	text-transform:uppercase;
	font-weight:500;
}

#top .slogan .btns a:hover{
	background:#fff;
	color:var(--bleu-fonce);
}

#top .slogan .btns a:hover strong{
color:var(–bleu-fonce);
}

#top .slogan .btns a.main{
background:var(–bleu);
border-color:var(–bleu);
color:#fff;
}

#top .slogan .btns a.main strong{
color:#fff;
}

#top .slogan .btns a.main span{
display:flex;
align-items:center;
justify-content:center;
background:#0e86cf;
width:45px;
min-height:45px;
flex:0 0 45px;
}

#top .slogan .btns a.main span img{
display:block;
width:12px;
height:8px;
object-fit:contain;
}

#top .slogan .btns a.main:hover{
background:var(–bleu-hover);
border-color:var(–bleu-hover);
color:#fff;
}

#top .slogan .btns a.main:hover strong{
color:#fff;
}

#top .slogan .btns a.main:hover span{
background:#0b73b3;
}
#top .slogan .btns a.main span{position:relative; background:#0e86cf; color:#fff; padding:10px; text-transform:uppercase; display:inline-block; width:25px; height:100%; vertical-align:middle;}

#top .slogan .btns a.main span img{fill:#fff;}*/

.contact-cards{
	position:absolute;
	z-index:50;
	right:calc((100% - var(--wrap)) / 2);
	bottom:-18px;
	background:#fff;
	border-radius:4px;
}
.contact-cards .item{
	display:flex;
	align-items:center;
}
.contact-cards .item a{
	display:flex;
	align-items:center;
	gap:.5rem;
	color:var(--texte);
	font-size:.78rem;
	font-weight:700;
	padding:.9rem 1rem;
}
.contact-cards .item a + a{
	border-left:1px solid #e8edf1;
}
.contact-cards .item a:hover{
	color:var(--bleu);
}
.contact-cards .item a img{
	width:14px;
	height:14px;
	object-fit:contain;
}
#top .bg{
	position:absolute;
	z-index:1;
	inset:76px 0 0 0;
	background-size:cover !important;
	background-position:center center !important;
}

#top .videobg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:0;
}

/* ====================================================================================== */

#services{
	position:relative;
	z-index:20;
	padding:44px 0 80px;
	background:#fff;
}
#services .flex{
	display:flex;
	justify-content:space-around;
	gap:50px;
	padding:0 50px;
}
#services .flex .service{
	position:relative;
	min-height:500px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:1.35rem;
	border-radius:var(--radius);
	overflow:hidden;
	background-size:cover !important;
	background-position:center center !important;
}
#services .flex .service:before{
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg, rgba(7,21,45,.1) 0%, rgba(7,21,45,.82) 100%);
}
#services .flex .service h2,
#services .flex .service p,
#services .flex .service .service-btn{
	position:relative;
	z-index:2;
}
#services .flex .service h2{
	color:#fff;
	font-size:1.4rem;
	line-height:1.1;
	margin-bottom:.45rem;
}
#services .flex .service p{
	color:rgba(255,255,255,.83);
	font-size:.9rem;
	line-height:1.18rem;
	margin-bottom:.95rem;
}

/* -------------------------------- */

#services .flex .service .service-btn{

	display:inline-flex;
	align-items:stretch;
	justify-content:flex-start;
	overflow:hidden;
	background:transparent;
	border:0;
	color:#fff;
	text-decoration:none;

}

#services .flex .service .service-btn strong{

	display:flex;
	align-items:center;
	color:#fff;
	padding:0;
	max-width:0;
	min-height:45px;
	opacity:0;
	overflow:hidden;
	white-space:nowrap;
	text-transform:uppercase;
	font-weight:500;
	transition:max-width .25s ease, padding .25s ease, opacity .2s ease;

}

#services .flex .service .service-btn span{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#fff;
	border:1px solid #fff;
	width:45px;
	min-height:45px;
	flex:0 0 45px;
	box-sizing:border-box;

}

#services .flex .service .service-btn span img{
	position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
	display:block;
	width:18px;
	height:auto;
}

/*#services .flex .service a:hover strong{

	max-width:200px;
	padding:0 18px;
	opacity:1;
	color:#fff;
	border:1px solid #fff;

}*/

#services .flex .service:hover strong{

	max-width:200px;
	padding:0 18px;
	opacity:1;
	color:#fff;
	border:1px solid #fff;

}

#services .flex .service a:hover {
    font-size: .85rem;
}

#services .flex .service .bluebg{display:none;}
#services .flex .service:hover .bluebg{position:absolute; top:0; left:0; display:inline-block; z-index:1; background:#0c152a; opacity:0.65; width:100%; height:100%;}

/* ====================================================================================== */

#apropos{
	padding:25px 0 90px;
}
#apropos .wrap{
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:4rem;
	align-items:center;
}
#apropos .wrap .left{
	position:relative;
}

#apropos .wrap .left .video-container{
	position:relative;
	display: block;
	width:100%;
	height:400px;
}

#apropos .wrap .left .video-container iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

#apropos .wrap .left img{
	position: absolute;
	inset:0;
	width:100%;
	height:100%;
	border-radius:var(--radius);
}
#apropos .wrap .right h3{
	max-width:480px;
}
#apropos .wrap .right p{
	margin-bottom:1.3rem;
}

#apropos .wrap .right a{

	display:inline-flex;
	align-items:stretch;
	justify-content:center;
	overflow:hidden;
	background:var(--bleu);
	border:1px solid transparent;
	color:#fff;
	text-decoration:none;

}

#apropos .wrap .right a strong{

	display:flex;
	align-items:center;
	color:#fff;
	padding:0 18px;
	min-height:45px;
	text-transform:uppercase;
	font-weight:500;

}

#apropos .wrap .right a span{

	display:flex;
	align-items:center;
	justify-content:center;
	background:#0e86cf;
	width:45px;
	min-height:45px;
	flex:0 0 45px;

}

#apropos .wrap .right a span img{

	display:block;
	width:18px;
	height:12px;
	filter:brightness(0) invert(1);

}

#apropos .wrap .right a:hover{

	background:var(--bleu-hover);
	border-color:var(--bleu-hover);
	color:#fff;

}

#apropos .wrap .right a:hover strong{

	color:#fff;

}

#apropos .wrap .right a:hover span{

	background:#0b73b3;

}

/* ====================================================================================== */

#entreprise{
	position:relative;
	background:var(--gris);
	padding:110px 0;
	overflow:hidden;
}
#entreprise:before,
#entreprise:after{
	content:'';
	position:absolute;
	left:-5%;
	width:110%;
	height:70px;
	background:#fff;
	border-radius:0 0 50% 50%;
}
#entreprise:before{
	top:-22px;
}
#entreprise:after{
	bottom:-22px;
	border-radius:50% 50% 0 0;
}
#entreprise .wrap{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:5rem;
	align-items:start;
}
#entreprise .wrap .left p{
	max-width:510px;
}
#entreprise .wrap .right .exp-accordeon .exp{
	border-bottom:1px solid #d9e1e7;
	background:transparent;
	transition:background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
#entreprise .wrap .right .exp-accordeon .exp h2{
	display:flex;
	align-items:center;
	gap:.55rem;
	color:var(--texte);
	font-size:1rem;
	line-height:1.2;
	padding:.9rem 1rem;
	cursor:pointer;
}
#entreprise .wrap .right .exp-accordeon .exp h2 img{
	width:14px;
	height:14px;
	object-fit:contain;
}
#entreprise .wrap .right .exp-accordeon .exp h2 .minus{
	display: none;
}
#entreprise .wrap .right .exp-accordeon .exp p{

	display:block;
	max-height:0;
	opacity:0;
	overflow:hidden;
	font-size:.83rem;
	line-height:1.35rem;
	padding:0 1rem 0 2.9rem;
	margin:0;
	transform:translateY(-6px);
	transition:max-height .45s ease, opacity .3s ease, padding .45s ease, transform .45s ease;

}
#entreprise .wrap .right .exp-accordeon .exp.open{
	background:#fff;
	border:1px solid #9bcbe2;
	box-shadow:0 5px 18px rgba(0,0,0,.05);
}

#entreprise .wrap .right .exp-accordeon .exp.open p{

	max-height:260px;
	opacity:1;
	padding:0 1rem 1rem 2.9rem;
	transform:translateY(0);

}
#entreprise .wrap .right .exp-accordeon .exp.open .plus{
	display: none;
}
#entreprise .wrap .right .exp-accordeon .exp.open .minus{
	display: block;
}

/* ====================================================================================== */

#pourquoi{
	padding:95px 0 80px;
}
#pourquoi .wrap{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:4rem;
	align-items:center;
}
#pourquoi .wrap > .left p{
	margin-bottom:1rem;
}
#pourquoi .wrap > .left ul{
	margin-bottom:2rem;
	margin-left:30px;
}
#pourquoi .wrap > .left ul li{
	position:relative;
	color:var(--texte);
	font-size:.95rem;
	font-weight:700;
	padding-left:1.55rem;
	margin-bottom:.55rem;
}
#pourquoi .wrap > .left ul li:before{
	content:'';
	position:absolute;
	left:0;
	top:.15rem;
	width:14px;
	height:14px;
	background:url('img/icones/fleche.svg') center center / contain no-repeat;
	filter:brightness(0) saturate(100%) invert(48%) sepia(72%) saturate(1179%) hue-rotate(172deg) brightness(87%) contrast(89%);
}

#pourquoi .wrap > .left a{
	display:inline-flex;
	align-items:stretch;
	justify-content:center;
	overflow:hidden;
	background:var(--bleu);
	border:1px solid transparent;
	color:#fff;
	text-decoration:none;
}

#pourquoi .wrap > .left a strong{
	display:flex;
	align-items:center;
	color:#fff;
	padding:0 18px;
	min-height:45px;
	text-transform:uppercase;
	font-weight:500;
}

#pourquoi .wrap > .left a span{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#0e86cf;
	width:45px;
	min-height:45px;
	flex:0 0 45px;
}

#pourquoi .wrap > .left a span img{
	display:block;
	width:18px;
	height:12px;
	filter:brightness(0) invert(1);
}

#pourquoi .wrap > .left a:hover{
	background:var(--bleu-hover);
	border-color:var(--bleu-hover);
	color:#fff;
}

#pourquoi .wrap > .left a:hover strong{
	color:#fff;
}

#pourquoi .wrap > .left a:hover span{
	background:#0b73b3;
}

#pourquoi .wrap .right .video-container{
	position:relative;
	display: block;
	width:100%;
	height:420px;
}

#pourquoi .wrap .right .video-container iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

#pourquoi .wrap > .right img{
	position: absolute;
	inset: 0;
	width:100%;
	height:100%;
	border-radius:var(--radius);
}
#pourquoi .wrap .center{
	grid-column:1 / -1;
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:3rem;
	padding-top:1rem;
}
#pourquoi .wrap .center .avantage{
	display:grid;
	grid-template-columns:54px 1fr;
	gap:1rem;
	align-items:start;
}
#pourquoi .wrap .center .avantage .left img{
	width:44px;
	height:44px;
	object-fit:contain;
	filter: brightness(0) saturate(100%) invert(48%) sepia(72%) saturate(1179%) hue-rotate(172deg) brightness(87%) contrast(89%);
}
#pourquoi .wrap .center .avantage .right h5{
	font-size:1rem;
	line-height:1.2;
	margin-bottom:.3rem;
}
#pourquoi .wrap .center .avantage .right p{
	font-size:.82rem;
	line-height:1.25rem;
}

/* ====================================================================================== */

#partenaires{
	background:var(--bleu-pale);
	padding:65px 0 70px;
	text-align:center;
}
#partenaires .wrap h3{
	margin-bottom:.6rem;
}
#partenaires .wrap p{
	margin:0 auto 2.3rem;
}
#partenaires .wrap .slider-partenaires{
    position:relative;
    overflow:hidden;
    padding:0 55px;
}
#partenaires .wrap .slider-partenaires ul{
    display:flex;
    align-items:center;
    gap:3rem;
    transition:transform .45s ease;
    will-change:transform;
	margin:0; padding:0; list-style:none;
}
#partenaires .wrap .slider-partenaires ul li{
    flex:0 0 calc((100% - 12rem) / 5);
    display:flex;
    justify-content:center;
    align-items:center;
}
#partenaires .wrap .slider-partenaires ul li img{
	max-width:145px;
	max-height:60px;
	object-fit:contain;
	filter:saturate(1.05);
}
#partenaires .wrap .slider-partenaires a{position:absolute; top:50%; transform:translateY(-50%); z-index:99; width:30px; height:30px;}
#partenaires .wrap .slider-partenaires a img{filter: brightness(0) saturate(100%) invert(6%) sepia(34%) saturate(2360%) hue-rotate(198deg) brightness(91%) contrast(98%);}
#partenaires .wrap .slider-partenaires #slider-partner-gauche{left:0; transform:translateY(-50%) rotate(180deg);}
#partenaires .wrap .slider-partenaires #slider-partner-droite{right:0;}
#partenaires .wrap .slider-partenaires a:hover{opacity:0.5; cursor:pointer;}

/* ====================================================================================== */

#temoignages{
	padding:95px 0;
}
#temoignages .wrap{
	display:grid;
	grid-template-columns:260px 1fr;
	gap:3.5rem;
	align-items:center;
}
#temoignages .wrap > .left img{
	width:100%;
	height:300px;
	border-radius:var(--radius);
}
#temoignages .wrap .right .tems{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:1.15rem;
	margin-top:1.7rem;
}
#temoignages .wrap .right .tems .tem p{
	background:#f3f5f7;
	border-radius:4px;
	font-size:.82rem;
	line-height:1.28rem;
	padding:1.3rem;
	margin-bottom:1rem;
	position:relative;
}

#temoignages .wrap .right .tems .tem p:after{
    content:'';
    position:absolute;
    left:50%;
    bottom:-9px;
    width:18px;
    height:18px;
    background:#f3f5f7;
    transform:translateX(-50%) rotate(45deg);
    border-radius:2px;
}

#temoignages .wrap .right .tems .tem span{
	display:block;
	color:var(--texte-pale);
	font-size:.75rem;
	line-height:1.15rem;
	text-align:center;
}
#temoignages .wrap .right .tems .tem span strong{
	display:block;
	color:var(--texte);
	font-size:.82rem;
}

/* ====================================================================================== */

#contact{
	position:relative;
	padding:125px 0 75px;
	background:url(img/accueil/contact-bg.jpg) no-repeat center center;
	background-size:cover;
	color:#fff;
	overflow:hidden;
}

#contact:before{
	content:'';
	position:absolute;
	left:-5%;
	width:110%;
	height:70px;
/*	background:#fff;*/
	background: var(--bleu-pale);
	border-radius:0 0 50% 50%;
}
#contact:before{
	top:-22px;
}
#contact .wrap{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:5rem;
	align-items:start;
}
#contact .wrap .left h3{
	color:#fff;
	font-size:1.45rem;
	font-weight:400;
	margin-bottom:.1rem;
}
#contact .wrap .left h2{
	max-width:460px;
	color:#fff;
	font-size:2.05rem;
	line-height:1.08;
	margin-bottom:1rem;
}
#contact .wrap .left p{
	max-width:500px;
	color:rgba(255,255,255,.78);
	margin-bottom:1.25rem;
}
#contact .wrap .left ul li{
	position:relative;
	color:#fff;
	font-size:.9rem;
	font-weight:700;
	padding-left:1.4rem;
	margin-bottom:.5rem;
}
#contact .wrap .left ul li:before{
	content:'✓';
	position:absolute;
	left:0;
	color:#fff;
}
#contact .wrap .right{
	color:#fff;
	padding:1.5rem;
	box-sizing:border-box;
}

.gform_heading{display:none !important;}
.gform-theme--foundation .gform_fields{row-gap:20px !important;}

#contact .wrap .right input[type="text"], #contact .wrap .right input[type="tel"], #contact .wrap .right input[type="email"], #contact .wrap .right textarea{color:#fff; border:1px solid #ccc; background:transparent;}

.gform_footer{justify-content:flex-end !important;}
.gform_validation_errors{background:#fff !important;}

/* ====================================================================================== */

/* Header de pages intérieures */

#page-top {
	position: relative;
	height: 600px;
	background: var(--header) no-repeat center center/cover;
}

#page-top::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 35%;
	background: linear-gradient(to top, var(--bleu-fonce), transparent) no-repeat center center/cover;
	opacity: .85;
}

#page-top .wrap {
	height: 100%;
}

#page-top h1 {
	position: absolute;
	bottom: 2.5rem;
	font-size: 3rem;
	color: #fff;
	max-width: 75%;
}

.page-content h2{
	font-size:2rem;
	line-height:1.08;
	letter-spacing:-.035em;
	margin-bottom:1rem;
}

.page-content > section {
	margin: 6rem 0;
}

/* ====================================================================================== */

#apropos-page .expertise .icon-grid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	outline: 1px solid #e2e2e2;
	border-radius: var(--radius);
	overflow: hidden;
}

#apropos-page .expertise .icon-grid .avantage {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	width: 50%;
	background: #fcfcfc;
	padding: 2rem 1.75rem;
	outline: 1px solid #e2e2e2;
	box-sizing: border-box;
}

#apropos-page .expertise .icon-grid .avantage .icon {
	display: block;
	flex-shrink: 0;
	aspect-ratio: 1;
	width: 3.5rem;
	background: var(--bleu);
	-webkit-mask: var(--icon) no-repeat center center/contain;
	mask: var(--icon) no-repeat center center/contain;
}

#apropos-page .expertise .icon-grid .avantage .text {
	margin-top: 1rem;
}

#apropos-page .expertise .icon-grid .avantage h3 {
	font-weight: 500;
	margin-bottom: .75rem;
}

#apropos-page .mission {
	background: var(--bleu-pale);
}

#apropos-page .mission .center-block {
	margin-bottom: 4rem;
}

#apropos-page .capacites .center-block {
	margin-bottom: 4rem;
}

#apropos-page .cta {
	color: #fff;
	background: var(--bg-image) no-repeat center center/cover;
	padding: 125px 0 75px;
	margin-bottom: 0;
}

#apropos-page .cta .split {
	justify-content: space-between;
}

#apropos-page .cta .text {
	max-width: 30%;
}

#apropos-page .cta h3 {
	color: #fff;
    font-size: 1.45rem;
    font-weight: 400;
    margin-bottom: .5rem;
}

#apropos-page .cta h2 {
    color: #fff;
    font-size: 2.05rem;
    line-height: 1.08;
    margin-bottom: 1rem;
}

#apropos-page .cta .cta-btns {
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: flex-end;
}

#slider-capacites {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	min-height: 400px;
}

#slider-capacites .slider-images {
	position: relative;
	border-radius: var(--radius) 0 0 var(--radius);
	overflow: hidden;
}

#slider-capacites .slide-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .5s ease;
}

#slider-capacites .slide-image.active {
	opacity: 1;
}

#slider-capacites .slider-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	background: #fcfcfc;
	padding: 2rem 0;
	border: 1px solid #e2e2e2;
	border-left: none;
	box-sizing: border-box;
	border-radius: 0 var(--radius) var(--radius) 0;
	overflow: hidden;
}

#slider-capacites .slider-text-track {
	display: flex;
	transition: transform .5s ease;
	will-change: transform;
}

#slider-capacites .slide-text {
	flex: 0 0 100%;
	padding: 2rem 3rem;
	box-sizing: border-box;
}

#slider-capacites .slider-nav {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0 3rem;
}

#slider-capacites .slider-nav button {
	all: unset;
	width: 2rem;
	height: 2rem;
	background: var(--bleu-fonce);
	-webkit-mask: url(img/icones/circle-arrow.svg) no-repeat center center/contain;
	mask: url(img/icones/circle-arrow.svg) no-repeat center center/contain;
	opacity: .35;
	cursor: pointer;
	transition: opacity .2s;
}

#slider-capacites .slider-nav button:hover {
	opacity: 1;
}

#slider-capacites .slider-nav .slider-prev {
	transform: scaleX(-1);
}

#slider-capacites .slider-nav .slider-dots {
	display: flex;
	gap: .5rem;
	justify-content: center;
	margin-left: auto;
}

#slider-capacites .slider-nav .slider-dots .dot {
	all: unset;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--bleu);
	opacity: .5;
	cursor: pointer;
	transition: opacity .2s;
}

#slider-capacites .slider-nav .slider-dots .dot.active {
	opacity: 1;
}

/* ====================================================================================== */

#service-parent .cta {
	color: #fff;
	background: var(--bg-image) no-repeat center center/cover;
	padding: 125px 0 75px;
	margin-bottom: 0;
}

#service-parent .cta .split {
	justify-content: space-between;
}

#service-parent .cta .text {
	max-width: 30%;
}

#service-parent .cta h3 {
	color: #fff;
    font-size: 1.45rem;
    font-weight: 400;
    margin-bottom: .5rem;
}

#service-parent .cta h2 {
    color: #fff;
    font-size: 2.05rem;
    line-height: 1.08;
    margin-bottom: 1rem;
}

#service-parent .cta .cta-btns {
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: flex-end;
}

#service-parent .services .flex{
	display:flex;
	justify-content:space-around;
	gap:50px;
	padding:0 50px;
}
#service-parent .services .flex .service{
	position:relative;
	min-height:500px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:1.35rem;
	border-radius:var(--radius);
	overflow:hidden;
	background-size:cover !important;
	background-position:center center !important;
}
#service-parent .services .flex .service:before{
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg, rgba(7,21,45,.1) 0%, rgba(7,21,45,.82) 100%);
}
#service-parent .services .flex .service h2,
#service-parent .services .flex .service p,
#service-parent .services .flex .service .service-btn{
	position:relative;
	z-index:2;
}
#service-parent .services .flex .service h2{
	color:#fff;
	font-size:1.4rem;
	line-height:1.1;
	margin-bottom:.45rem;
}
#service-parent .services .flex .service p{
	color:rgba(255,255,255,.83);
	font-size:.9rem;
	line-height:1.18rem;
	margin-bottom:.95rem;
}

/* -------------------------------- */

#service-parent .services .flex .service .service-btn{

	display:inline-flex;
	align-items:stretch;
	justify-content:flex-start;
	overflow:hidden;
	background:transparent;
	border:0;
	color:#fff;
	text-decoration:none;

}

#service-parent .services .flex .service .service-btn strong{

	display:flex;
	align-items:center;
	color:#fff;
	padding:0;
	max-width:0;
	min-height:45px;
	opacity:0;
	overflow:hidden;
	white-space:nowrap;
	text-transform:uppercase;
	font-weight:500;
	transition:max-width .25s ease, padding .25s ease, opacity .2s ease;

}

#service-parent .services .flex .service .service-btn span{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#fff;
	border:1px solid #fff;
	width:45px;
	min-height:45px;
	flex:0 0 45px;
	box-sizing:border-box;

}

#service-parent .services .flex .service .service-btn span img{
	position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
	display:block;
	width:18px;
	height:auto;
}

#service-parent .services .flex .service:hover .service-btn strong{

	max-width:200px;
	padding:0 18px;
	opacity:1;
	color:#fff;
	border:1px solid #fff;

}

#service-parent .services .flex .service:hover .service-btn {
    font-size: .85rem;
}

#service-parent .services .flex .service .bluebg{display:none;}
#service-parent .services .flex .service:hover .bluebg{position:absolute; top:0; left:0; display:inline-block; z-index:1; background:#0c152a; opacity:0.65; width:100%; height:100%;}

#service-parent .pourquoi .split {
	max-width: 75%;
	margin: auto;
}

#service-parent .pourquoi .split .list {
	flex-grow: 0;
	flex-basis: auto;
}

/* ====================================================================================== */

#service-page .blocs-1 {
	background: var(--bleu-pale);
}

#service-page .bloc {
	position: relative;
	gap: 0;
	margin-top: 4rem;
}

#service-page .bloc img {
	width: 100%;
	border-radius: var(--radius);
}

#service-page .bloc:nth-child(odd) {
	flex-direction: row-reverse;
}

#service-page .bloc .text {
	background: #fff;
	padding: 3rem;
	box-sizing: border-box;
	border-radius: var(--radius);
	box-shadow: 0 5px 18px rgba(0,0,0,.05);
	z-index: 5;
}

#service-page .bloc:nth-child(even) img + .text,
#service-page .bloc:nth-child(even) .video-container + .text {
	margin-left: -5%;
}

#service-page .bloc:nth-child(odd) img + .text,
#service-page .bloc:nth-child(odd) .video-container + .text {
	margin-left: 0;
	margin-right: -5%;
}

#service-page .blocs-2 .wrap > .text {
	text-align: center;
}

#service-page .blocs-2 .main-btn {
	margin: 4rem auto 0;
}

#service-page .cards-container {
	--cards-gap: 2.5rem;

	display: flex;
	justify-content: center;
	gap: var(--cards-gap);
	flex-wrap: wrap;
	width: 85%;
	margin: 4rem auto 0;
}

#service-page .card {
	display: flex;
	flex-direction: column;
	flex-basis: calc((100% / 2) - var(--cards-gap) + (var(--cards-gap) / 2));
}

#service-page .card img {
	width: 100%;
	aspect-ratio: 3/2;
	border-radius: var(--radius) var(--radius) 0 0;
}

#service-page .card .text {
	flex-grow: 1;
	background: #fcfcfc;
	padding: 2rem 2rem 3.5rem;
	border-bottom: 5px solid var(--bleu);
	border-radius: 0 0 var(--radius) var(--radius);
}

#service-page .card .text h3 {
	font-size: 1.5rem;
}

#service-page .galerie {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-top: 2.5rem;
}

#service-page .galerie > a {
	background: var(--bleu-fonce);
	border-radius: var(--radius);
	overflow: hidden;
}

#service-page .galerie > a img {
	width: 100%;
	aspect-ratio: 5/4;
	transition: opacity .2s;
}

#service-page .galerie > a:hover img {
	opacity: .35;
}

#service-page .faq {
	background: var(--gris);
	padding: 5rem 0 8rem;
	margin-bottom: 0;
}

#service-page .faq .split {
	align-items: flex-start;
}

#service-page .soumission {
	position: relative;
	padding: 125px 0 75px;
	background: url(img/accueil/contact-bg.jpg) no-repeat center center;
	background-size: cover;
	color: #fff;
	overflow: hidden;
	margin-top: -70px;
	margin-bottom: 0;
}

#service-page .soumission::before {
	content: '';
	position: absolute;
	top: -22px;
	left: -5%;
	width: 110%;
	height: 70px;
	background: var(--gris);
	border-radius: 0 0 50% 50%;
}

#service-page .soumission .wrap {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 5rem;
	align-items: start;
}

#service-page .soumission .wrap .left h3 {
	color: #fff;
	font-size: 2.25rem;
	font-weight: 200;
	margin-bottom: .5rem;
}

#service-page .soumission .wrap .left h2 {
	max-width: 460px;
	color: #fff;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.08;
	margin-bottom: 1rem;
}

#service-page .soumission .wrap .left p {
	max-width: 500px;
	color: rgba(255,255,255,.78);
	margin-bottom: 2rem;
}

#service-page .soumission .wrap .left ul li {
	position: relative;
	color: #fff;
	font-size: .9rem;
	font-weight: 700;
	padding-left: 1.4rem;
	margin-bottom: .5rem;
}

#service-page .soumission .wrap .left ul li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #fff;
}

#service-page .soumission .wrap .right {
	color: #fff;
	padding: 1.5rem;
	box-sizing: border-box;
}

#service-page .soumission .wrap .right input[type="text"],
#service-page .soumission .wrap .right input[type="tel"],
#service-page .soumission .wrap .right input[type="email"],
#service-page .soumission .wrap .right input[type="file"],
#service-page .soumission .wrap .right textarea,
#service-page .soumission .wrap .right select {
	color: #fff;
	border: 1px solid #ccc;
	background: transparent;
}

#service-page .soumission .wrap .right select option {
	background: #fff;
	color: #000;
}

#service-page .soumission .wrap .right input[type="submit"]{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
/*	min-height: 42px;*/
	background: var(--bleu);
	color: #fff;
/*	font-size: .78rem;*/
	font-weight :800;
	letter-spacing: .02em;
	line-height: 1;
	text-transform: uppercase;
	padding: 0 1.05rem;
	border-radius: 2px;
}

#service-page .soumission .gfield_label,
#service-page .soumission .gfield_description {
	color: #fff;
}

#service-page .gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload,.gfield--type-post_image) .gform_drop_area {
	background: transparent;
	color: #fff;
}

#service-page .gfield_fileupload_filename,
#service-page .gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload,.gfield--type-post_image) .gform_drop_area::before {
	color: #fff;
}

#service-page .gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload,.gfield--type-post_image) .gform_drop_area button {
	background: var(--bleu);
}

#service-page .gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload,.gfield--type-post_image) .gform_drop_area button:hover {
	background: var(--bleu-hover);
}

/* ====================================================================================== */

#contact-page .form-section .split {
	align-items: flex-start;
}

#contact-page .heures .bloc {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
}

#contact-page .heures .bloc .icon {
	display: block;
	width: 4rem;
	aspect-ratio: 1;
	background: var(--bleu);
	-webkit-mask: var(--icon) no-repeat center center/contain;
	mask: var(--icon) no-repeat center center/contain;
}

#contact-page .heures .bloc h3 {
	font-size: 1.1rem;
	font-weight: 500;
	margin-bottom: .3rem;
}

#contact-page .heures .bloc p {
	font-size: 1.2rem;
	color: var(--texte);
	transition: opacity .2s;
}

#contact-page .bande-info {
	color: #fff;
	background: linear-gradient(to right, var(--bleu), #172b84) no-repeat center center/cover;
	padding: 3rem 0;
}

#contact-page .bande-info .wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

#contact-page .bande-info .bloc {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
}

#contact-page .bande-info .bloc .icon {
	display: block;
	flex-shrink: 0;
	width: 3rem;
	aspect-ratio: 1;
	background: #fff;
	-webkit-mask: var(--icon) no-repeat center center/contain;
	mask: var(--icon) no-repeat center center/contain;
}

#contact-page .bande-info .bloc h3 {
	font-size: 1.1rem;
	font-weight: 500;
	margin-bottom: .3rem;
}

#contact-page .bande-info .bloc a {
	font-size: 1.2rem;
	color: #fff;
	transition: opacity .2s;
}

#contact-page .bande-info .bloc a:hover {
	opacity: .75;
}

/* ====================================================================================== */

[id^="gform_"] .gform_footer {
	gap: 0 !important;
	width: max-content;
	margin-left: auto;
}

[id^="gform_"] .gform_footer input[type=submit] {
	font-weight: 500 !important;
	text-transform: uppercase !important;
	background-color: var(--bleu) !important;
	border-radius: 0 !important;
}

[id^="gform_"] .gform_footer:hover input[type=submit] {
	background: var(--bleu-hover) !important;
}

[id^="gform_"] .gform_footer::after {
	content: '';
	width: var(--gf-ctrl-btn-size);
	aspect-ratio: 1;
	background: url(img/icones/btn-right-arrow-white.svg) no-repeat center center/18px;
	background-color: #0e86cf;
	transition: background-color .3s;
}

[id^="gform_"] .gform_footer:hover::after {
	background-color: #0b73b3;
}

#contact .wrap .right input[type="text"]::placeholder,
#contact .wrap .right input[type="tel"]::placeholder,
#contact .wrap .right input[type="email"]::placeholder,
#contact .wrap .right textarea::placeholder,
#service-page .soumission .wrap .right input[type="text"]::placeholder,
#service-page .soumission .wrap .right input[type="tel"]::placeholder,
#service-page .soumission .wrap .right input[type="email"]::placeholder,
#service-page .soumission .wrap .right input[type="file"]::placeholder,
#service-page .soumission .wrap .right textarea::placeholder {
	color: #fff;
	opacity: .5;
}

#contact .wrap .right input[type="text"]::-moz-placeholder,
#contact .wrap .right input[type="tel"]::-moz-placeholder,
#contact .wrap .right input[type="email"]::-moz-placeholder,
#contact .wrap .right textarea::-moz-placeholder,
#service-page .soumission .wrap .right input[type="text"]::-moz-placeholder,
#service-page .soumission .wrap .right input[type="tel"]::-moz-placeholder,
#service-page .soumission .wrap .right input[type="email"]::-moz-placeholder,
#service-page .soumission .wrap .right input[type="file"]::-moz-placeholder,
#service-page .soumission .wrap .right textarea::-moz-placeholder {
	color: #fff;
	opacity: .5;
}

#contact .gform_button,
#service-page .gform_button,
#contact-page .gform_button {
	background: var(--bleu);
	border-radius: 0;
}

/* ====================================================================================== */

#general-page {
	padding: 150px 0 65px;
}

#general-page h1 {
	border-bottom: 1px solid var(--bleu);
	padding-bottom: 2rem;
	margin-bottom: 3rem;
}

#general-page h2 {
	font-size: 1.65rem;
}

/* ====================================================================================== */

#footer .top{
	background:var(--bleu-pale);
	padding:60px 0;
}
#footer .top .wrap{
	display:grid;
	grid-template-columns:1fr 2fr;
	gap:5rem;
	align-items:start;
}
#footer .top .wrap .left img{
	width:135px;
	margin-bottom:1.25rem;
}
#footer .top .wrap .left p{
	max-width:310px;
	font-size:.86rem;
	line-height:1.35rem;
	margin-bottom:1.25rem;
}
#footer .top .wrap .left .social{
	display:flex;
	gap:.65rem;
}
#footer .top .wrap .left .social a{
	display:flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
}
#footer .top .wrap .left .social a img{
	width:18px;
	height:18px;
	object-fit:contain;
}
#footer .top .wrap .right{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:2.5rem;
}
#footer .top .wrap .right .footer-menu h4{
	color:var(--bleu);
	font-size:.74rem;
	margin-bottom:1rem;
}
#footer .top .wrap .right .footer-menu ul li{
	margin-bottom:.55rem;
}
#footer .top .wrap .right .footer-menu ul li a{
	display:flex;
	align-items:flex-start;
	gap:.45rem;
	color:var(--texte-pale);
	font-size:.84rem;
	line-height:1.25rem;
}
#footer .top .wrap .right .footer-menu ul li a:hover{
	color:var(--bleu);
}
#footer .top .wrap .right .footer-menu ul li a img{
	width:15px;
	height:15px;
	object-fit:contain;
	margin-top:2px;
}
#footer .bottom{
	background:var(--bleu-fonce);
	padding:18px 0;
}
#footer .bottom .wrap{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:1rem;
	align-items:center;
	color:rgba(255,255,255,.72);
	font-size:.74rem;
}
#footer .bottom .wrap .centre{
	text-align:center;
}

#footer .bottom .wrap .centre a{
	color:#2b92d0 !important;
}
#footer .bottom .wrap .centre a:hover{color:#fff !important;}

#footer .bottom .wrap .right{
	text-align:right;
}
#footer .bottom .wrap a{
	color:#fff;
}
#footer .bottom .wrap a:hover{
	color:var(--bleu);
}

/* ====================================================================================== */

@media screen and (min-width: 2000px) {
	#top {
		min-height: 1080px;
	}
}

@media screen and (max-width: 1600px) {
	#services .flex .service{min-height:385px;}
}
@media screen and (max-width: 1450px) {
	:root{--wrap:1080px;}
	#top{min-height:635px;}
	.contact-cards{right:40px;}
	#services .flex{gap:20px; padding:0 35px;}
	#services .flex .service{min-height:330px;}
}
@media screen and (max-width: 1150px) {
	:root{--wrap:920px;}
	#top{min-height:560px;}
	
	#top .slogan{bottom:40px; max-width:600px;}
	#top .wrap h1, #top .wrap h2{font-size:2rem;}
	#top .slogan p{font-size:1rem;}
	
	#top .slogan .btns a.main strong, #top .slogan .btns a strong, #services .flex .service a strong{font-size:0.9em;}
	#services .flex{flex-wrap:wrap;}
	#services .flex .service{min-height:400px; width:44%;}
	
	nav .wrap .right > ul{gap:1.15rem;}
	
	#apropos .wrap,
	#entreprise .wrap,
	#pourquoi .wrap,
	#contact .wrap,
	#footer .top .wrap,
	#service-page .soumission .wrap{
		gap:3rem;
	}

	#apropos-page .expertise .icon-grid .avantage .icon {
		width: 2.5rem;
	}

	#apropos-page .expertise .icon-grid .avantage h3 {
		font-size: 1.5rem;
	}

	#service-page .galerie {
		grid-template-columns: repeat(3, 1fr);
	}

	#contact-page .bande-info .bloc a,
	#contact-page .heures .bloc p {
		font-size: 1.1rem;
	}
}
@media screen and (max-width: 950px) {
	nav{position:relative;}
	
	nav .wrap .right > ul{display:none;}
	nav .wrap .right .mobile-menu-icon{display:inline-block; transition:top 1s ease; top:0px;}
	nav .wrap .right .mobile-menu-icon:hover{opacity:0.8; top:-20px;}
	
	#top{min-height:auto; padding-top:0;}
	#top:after,	#top .bg{inset:0;}
	#top .wrap{position:relative; padding-top:110px; padding-bottom:110px;}
	#top .contact-cards{position:relative; right:auto; bottom:-10px; width:calc(100% - 40px); margin:-32px auto 0;}
	#apropos .wrap,
	#entreprise .wrap,
	#pourquoi .wrap,
	#temoignages .wrap,
	#contact .wrap,
	#footer .top .wrap,
	#service-page .soumission .wrap{grid-template-columns:1fr;}
	#pourquoi .wrap .center, #temoignages .wrap .right .tems, #footer .top .wrap .right{grid-template-columns:1fr; gap:1.5rem;}
	#footer .bottom .wrap{grid-template-columns:1fr; text-align:center;}
	#footer .bottom .wrap .right{text-align:center;}
	#top{padding-top:190px;}
	#top .slogan{bottom:70px;}
/*	#top .cards{bottom:-10px;}*/
	#services .flex .service{width:42%;}
	#temoignages .wrap .right .tems .tem span{text-align:left; padding-left:20px;}
	#temoignages .wrap .right .tems .tem p::after{left:9%;}
	#footer .top{text-align:center;}
	#footer .top .wrap .right .footer-menu:last-of-type{margin-bottom:0 !important;}
	#footer .top .wrap, #footer .top .wrap .right{display:block; text-align:center;}
	#footer .top .wrap .left{text-align:center; width:100%;}
	#footer .top .wrap .left img{display:inline-block;}
	#footer .top .wrap .left p{margin:0 auto 1.25rem;}
	#footer .top .wrap .left .social{justify-content:center; margin-bottom:50px;}
	#footer .top .wrap .right .footer-menu{margin-bottom:50px;}
	#footer .top .wrap .right .footer-menu ul li a{justify-content:center;}

	.split {
		flex-direction: column;
	}

	.split > *,
	.split.uneven > *:first-child,
	.split.uneven-reverse > *:last-child,
	.split.uneven > *:last-child,
	.split.uneven-reverse > *:first-child {
		flex-basis: 100%;
		width: 100%;
	}

	.contact-cards {
		width: calc(100% - 40px);
		left: 0;
		right: 0;
		bottom: -10px;
		margin: auto;
	}

	#page-top {
		height: 400px;
	}

	#page-top h1 {
		font-size: 2.5rem;
		bottom: 3.5rem;
	}

	#apropos-page .expertise .split {
		flex-direction: column-reverse;
	}

	#apropos-page .cta .split,
	#service-parent .cta .split {
		gap: 1.5rem;
	}

	#apropos-page .cta .text,
	#service-parent .cta .text {
		max-width: 100%;
		text-align: center;
	}

	#apropos-page .cta .cta-btns,
	#service-parent .cta .cta-btns {
		flex-wrap: wrap;
		justify-content: center;
	}

	#slider-capacites {
		grid-template-columns: auto;
	}

	#slider-capacites .slider-images {
		aspect-ratio: 5/3;
		border-radius: var(--radius) var(--radius) 0 0;
	}

	#slider-capacites .slider-text {
		border-radius: 0 0 var(--radius) var(--radius);
		border-left: 1px solid #e2e2e2;
		border-top: none;
	}

	#service-page .bloc img {
		border-radius: var(--radius) var(--radius) 0 0;
	}

	#service-page .bloc:nth-child(odd) {
		flex-direction: column;
	}

	#service-page .bloc .text,
	#service-page .bloc:nth-child(odd) img + .text,
	#service-page .bloc:nth-child(odd) .video-container + .text,
	#service-page .bloc:nth-child(even) img + .text,
	#service-page .bloc:nth-child(even) .video-container + .text {
		margin-left: 0;
		margin-right: 0;
		border-radius: 0 0 var(--radius) var(--radius);
	}

	#service-page .card {
		flex-basis: 100%;
	}
	
}
@media screen and (max-width: 750px) {
	h3, #contact .wrap .left h2, .page-content h2, #service-page .soumission .wrap .left h2{font-size:1.65rem;}
	#top .wrap{padding-top:140px; padding-bottom:140px;}
	#top .wrap h1, #top .wrap h2{font-size:2.05rem;}
	#top .slogan{max-width:75%;}
	#services .flex{grid-template-columns:1fr;}
	.contact-cards .item a + a{border-left:0; border-top:1px solid #e8edf1;}
	#apropos, #pourquoi, #temoignages{padding:60px 0;}
	#entreprise{padding:70px 0;}
	#services .flex .service{width:90%;}
	#services .flex .service .service-btn strong{
		max-width:200px;
		padding:0 18px;
		opacity:1;
		color:#fff;
		border:1px solid #fff;
	}
	#top .slogan{max-width:385px;}

	.center-block {
		width: 100%;
	}

	#page-top {
		background: var(--header-mobile) no-repeat center center/cover;
	}

	#service-parent .services .flex {
		flex-wrap: wrap;
		padding: 0;
	}

	#service-parent .services .flex .service {
		min-height: 400px;
	}

	#service-parent .pourquoi .split {
		max-width: 100%;
	}

	#service-parent .services .flex .service .service-btn {
	    font-size: .85rem;
	}

	#service-parent .services .flex .service .service-btn strong{
		max-width:200px;
		padding:0 18px;
		opacity:1;
		color:#fff;
		border:1px solid #fff;
	}

	#service-page .bloc {
		margin-top: 2rem;
	}

	#service-page .galerie {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}

	#service-page .faq {
		padding-top: 4rem;
	}

	#service-page .soumission .wrap .left h3 {
		font-size: 1.35rem; 
	}

	#contact-page .bande-info {
		padding: 2rem 0;
	}

	#contact-page .bande-info .wrap {
		grid-template-columns: auto;
		justify-content: center;
		gap: 3rem;
	}

	#contact-page .bande-info .bloc {
		flex-direction: column;
		text-align: center;
	}

	#general-page {
		padding: 80px 0 50px;
	}

	#general-page h1 {
		font-size: 1.8rem;
	}

	#general-page h2 {
		font-size: 1.35rem;
	}
}
@media screen and (max-width: 550px) {
	.wrap{width:calc(100% - 28px);}
	nav .wrap .right > ul{flex-direction:column;}
	#services .flex .service{min-height:230px;}
	#apropos .wrap .left img, #pourquoi .wrap > .right img, #temoignages .wrap > .left img{height:240px;}
	
	#top .slogan{bottom:55px; max-width:100%;}
	#top .slogan p{margin-bottom:20px;}
	
	#top .wrap h1, #top .wrap h2{font-size:1.8rem;}
/*	#top .slogan .btns{flex-wrap:nowrap;}*/
	#top .slogan .btns a.main strong, #top .slogan .btns a strong{font-size:0.8em; padding:0 12px;}
	#services .flex .service{min-height:330px;}
	
	#apropos .wrap .right a strong, #pourquoi .wrap > .left a strong, .main-btn strong{font-size:0.8em; padding:0 10px;}

	.text ul li {
		font-size: .85rem;
		line-height: 1.5;
	}

	#page-top {
		height: 300px;
	}

	#page-top h1 {
		font-size: 2rem;
	}

	#page-top::before {
		height: 75%;
	}

	.page-content > section {
		margin: 4rem 0;
	}

	#apropos-page .expertise .icon-grid .avantage {
		width: 100%;
	}

	#apropos-page .expertise .icon-grid .avantage .icon {
		width: 3rem;
	}

	#apropos-page .cta h2,
	#service-parent .cta h2 {
		font-size: 1.75rem;
	}

	#slider-capacites .slide-text {
		padding: 0 2rem 2rem;
	}

	#slider-capacites .slider-nav {
		padding: 0 2rem;
	}

	#contact-page .heures .bloc .icon {
		width: 3rem;
	}
	
}

@media screen and (max-height: 800px) {
	#mobile-menu > .logo{width:120px;}
	#mobile-menu > ul{margin-top:80px;}
	#mobile-menu > ul > li > a{line-height:2em; font-size:1.2em;}
	#mobile-menu > ul > li > ul > li > a{line-height:2em; font-size:1em;}
}
