@font-face {font-family:"DMSans";src:url('/css/fonts/DMSans-Regular.ttf');font-style:normal}
@font-face {font-family:"DMSans";src:url('/css/fonts/DMSans-Italic.ttf');font-style:italic}
@font-face {font-family:"DMSans";src:url('/css/fonts/DMSans-Bold.ttf');font-weight:bold}

*{font-family:"DMSans";font-size:26px;line-height:26px;/*text-align:justify;*/-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html{overflow-y:scroll}
body{background-color:#fff;margin:0}
img{border:0;margin:0;padding:0;vertical-align:middle;max-width:100%;height:auto}
a{text-decoration:none;cursor:pointer}
a:hover{text-decoration:underline}
a.btn:hover{text-decoration:none}
br {line-height:10px}

.font-xxl{font-weight:bold;font-size:170px;line-height:170px;letter-spacing:-0.05em}
.h1{font-weight:bold;font-size:72px;line-height:72px;letter-spacing:-0.05em}
.h2{font-weight:bold;font-size:56px;line-height:56px;letter-spacing:-0.05em}
.h3{font-weight:bold;font-size:42px;line-height:42px;letter-spacing:-0.05em}
.h4{font-size:36px;line-height:36px}
.h5{font-weight:bold;font-size:26px;line-height:26px;letter-spacing:-0.05em}
.b{font-weight:bold}
.no-b{font-weight:normal !important}
.text1{font-size:22px;line-height:22px}
.text2{font-size:18px;line-height:18px}
.rse>.text2,.actu>.text2{font-size:18px;line-height:22px}
.text2 em,.text2 b,.text2 strong, .text2 i {font-size:inherit;line-height:inherit}
.text2 sup {font-size:0.45em;line-height:inherit}
.text3{font-size:16px;line-height:16px}
.text4{font-size:14px;line-height:14px}
.text5{font-size:12px;line-height:12px}
.menu{font-size:14px}
.btn {padding:10px;font-size:18px;text-transform:uppercase;color:#fff;background-color:#e43d30;cursor:pointer}
.btn:hover {background-color:#e26f50}

.blue{color:#232d3a}
.white{color:#fff !important}
.red{color:#e43d30}
.gray{color:#c6c5c4}
.gray-dark{color:#767676}
.bg-blue-light{background-color:#caebfb}
.bg-gray-light{background-color:#dfdfdf}
.bg-gray{background-color:#8c857b}
.bg-blue{background-color:#232d3a}
.bg-white{background-color:#fff}
.bg-red{background-color:#e43d30}
.bg-beige{background-color:#8c857b}
.sep-blue {border-color:#232d3a;border-width:0 0 1px;border-style:solid;font-size:0}

.border-top-blue {border-color:#232d3a;border-width:1px 0 0 0;border-style:solid;font-size:0;padding:12px 0 !important}
.border-bottom-white {border-color:#fff;border-width:0 0 1px 0;margin-top:2%;padding-bottom:2%;border-style:solid}

.tal {text-align:left}
.tac {text-align:center}
.tar {text-align:right}

.col1 {box-sizing:content-box;width:100%;max-width:1150px;padding:0 25px;}
.col2 {box-sizing:content-box;width:50%;max-width:550px;padding:0 25px}
.col3 {box-sizing:content-box;width:33%;max-width:356px;padding:0 20px}
.col4 {box-sizing:content-box;width:25%;max-width:257px;padding:0 20px}
.col5 {box-sizing:content-box;width:20%;max-width:240px;padding:0 20px}
.col34 {box-sizing:content-box;width:75%;max-width:850px;padding:0 25px}
.col14 {box-sizing:content-box;width:25%;max-width:250px;padding:0 25px}
.offre .col14 {min-width:120px}

.flex-container {padding:0;margin:0;display:flex}
.flex-container.flex-row {flex-direction:row !important}
.flex-small-show {display:none}	
.flex-medium-show {display:none}
.flex-large-show {display:none}
.flex-ligne2 {margin-top: -5px;}
.p1 {padding: 1% 0}
.p2 {padding: 2% 0}
.p3 {padding: 3% 0}
.p5 {padding: 5% 0}
.pt1 {padding-top: 1%}
.pt2 {padding-top: 2%}
.pt5 {padding-top: 5%}
.pt2ref {padding-top: 2%}
.pb1 {padding-bottom: 1%}
.pb2 {padding-bottom: 2%}
.pb5 {padding-bottom: 5%}
.dil {display:inline}
.display-toggle {display:none;}
.abs2rel {position:absolute}

ul.flex-container {list-style:none}
.space-between {justify-content:space-between}
.space-around {justify-content:space-around} 
.center {justify-content:center}  
.valign {margin:auto 0}
.link {font-weight:bold;font-size:18px;cursor:pointer}
.link:hover{text-decoration:underline}
.cp {cursor:pointer}
.hide {position: absolute !important;top: -9999px !important;left: -9999px !important} 

div.nice-select ul.list {display:none} 
div.nice-select:hover ul.list {display:unset}
div.nice-select.open ul.list {display:unset}
div.pt1st {padding-top: 150px} 
 
div.chevron-anim:after {border-bottom:5px solid #232d3a;border-right:5px solid #232d3a;content:'';display:block;width:18px;height:18px;pointer-events:none;position:absolute;-webkit-transform-origin:66% 66%;-ms-transform-origin:66% 66%;transform-origin:66% 66%;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:all 0.3s linear;transition:all 0.3s linear}
div.chevron-anim.open:after {-webkit-transform: rotate(-135deg);-ms-transform: rotate(-135deg);transform: rotate(-135deg)}
li.chevron-anim {padding-right:30px}

.youtubeContainer {position:relative;width:100%;height:0;padding-bottom:56.25%;}
.youtubeVideo {position:absolute;top:0;left:0;width:100%;height:100%}


/*Header*/
#header {padding-top:30px}
#header a {color:#fff}
#header ul li a {font-size:14px}
#header img.logo {margin:100px 0 0 10%}
#nav-normal {position:absolute;top:0;width:100%}
#nav-normal ul li {margin-top:5px}
#nav-fixe ul li {margin-top:5px}
#nav-page ul li {margin-top:15px}

/*Footer*/
#footer {padding:50px 0} 
#footer a {color:#fff}
#footer ul li a {font-size:14px}
#footer img.logo {margin:15px 15px 15px 0}
#footer img.linkedin {width:16px;height:16px;margin:0 4px 0 0}	

/*Accueil*/
#carousel-img {z-index:10;height:800px;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0.45}
#carousel-img-clone {position:relative;z-index:5;height:800px;margin-top:-800px;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0.45}
#carousel-puces svg {cursor:pointer;color:white}
#home-carousel #carousel-puces {position:absolute; top: 720px;}
#carousel-puces {background-color:rgba(35, 45, 58, 0.33); padding: 1px 1px 1px 3px; border-radius: 8px}
.carousel-marge {margin: 50px 0}

/*Realisations*/
#reas-carousel {height:800px}
#reas-carousel #carousel-puces {position:absolute; top: 750px}
#reas-carousel #carousel-slg {margin-top: 170px}
#reas-carousel #carousel-puces svg {cursor:pointer;color:white}

#rea-carousel {height:800px}
#rea-carousel #carousel-puces {position:absolute; top: 750px}
#rea-carousel #carousel-slg {margin-top: 170px}
#rea-carousel #carousel-puces svg {cursor:pointer;color:#232d3a}
#rea-carousel #carousel-puces {background-color:rgba(255, 255, 255, 0.66); padding: 0 1px 0 3px; border-radius: 8px}
#rea-carousel #carousel-img {opacity:1}
#rea-carousel #carousel-img-clone {opacity:1}

.rea-img {width:100%;height:300px;background-position:center;background-repeat:no-repeat;background-size:cover}
#rea-form input[type=text] {width:100%;border:none;margin-right:4px;font-size:22px;line-height:22px}
#rea-form table tr td {height:42px;vertical-align:bottom;border-bottom:1px solid #232d3a}

/*Realisation*/
#rea-mini-carousel, .col2.rea-mini-carousel {height:360px}
#rea-mini-carousel #carousel-img {z-index:10;height:360px;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:1}
#rea-mini-carousel #carousel-img-clone {position:relative;z-index:5;height:360px;margin-top:-360px;top:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:1}

/*Expertises*/
.exp-master {font-size:26px;line-height:26px;font-weight:bold;cursor:help}
.exp-master:hover + div {display:unset}
.exp-slave {width:320px;top:50%;left:50%;transform: translate(-50%, -50%);position:absolute;display:none}
.exp-slave ul {list-style:none}
.exp-slave ul li {font-size:16px;line-height:16px}
.exp-slave ul li::before {position:absolute;font-size:10px;content:"\25FC";color:#e43d30;font-weight:bold;display:inline-block;width:1em;margin-left:-1.25em}

/*Le groupe */
.sep-blue.bg-gray-light {margin:0}

/*Actualites*/
.actu img {float:left;padding: 0 15px 0 0}
div.chevron-actu-anim:after {margin-top:5px;border-bottom:3px solid #232d3a;border-right:3px solid #232d3a;content:'';display:block;width:8px;height:8px;pointer-events:none;position:absolute;-webkit-transform-origin:66% 66%;-ms-transform-origin:66% 66%;transform-origin:66% 66%;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:all 0.3s linear;transition:all 0.3s linear}
div.chevron-actu-anim.open:after {-webkit-transform: rotate(-135deg);-ms-transform: rotate(-135deg);transform: rotate(-135deg)}
#pagination a {color:#c6c5c4}
#pagination a:hover {color:#232d3a}

/*Carrière/s*/
.nice-select ul li.option {max-width:80vw}
.nice-select{padding-top:3%;}

div.text2 b {font-size:18px;line-height:18px}
#car-form input[type=text] {width:100%;border:none;margin-right:4px;font-size:22px;line-height:22px}
#car-form .car-form-input {width:100%}
#car-form .custom-file-label {width:100%;max-width:510px;display:block;vertical-align:bottom;color:#767676;font-size:22px;height:22px;line-height:22px;overflow:hidden;text-overflow:ellipsis}
#car-form .custom-file-label.selected {color:#232d3a}
#car-form table tr td {height:42px;vertical-align:bottom;border-bottom:1px solid #232d3a}
.no-border {border:none !important}
#car-form .car-form-input .fa-backspace {float:right;margin-top:-25px;z-index:5}
#car-form em.h{display:inline;font-size:inherit;font-style: normal}
#car-form em.f{display:none;font-size:inherit;font-style: normal}

.progress-bar-container {position:relative}
.progress-bar, .custom-file-label {position:absolute;top:-25px}
.progress-bar {width:0;background-color:#8c857b;opacity:0.5}

.exp-text, .con-text, .actu-text, .rei-text {max-height:0;overflow:hidden;transition: max-height, 0.3s ease-out;clear:both}
.actu-text * {font-size:inherit}
.exp-text.open, .con-text.open {max-height:1600px;transition: max-height, 0.3s ease-in}
.actu-text.open, .rei-text.open {max-height:6000px;transition: max-height, 0.3s ease-in}

.men-text, .cgv-text {max-height:0;overflow:hidden;transition: max-height, 0.3s ease-out}
.men-text.open, .cgv-text.open {max-height:1000px;transition: max-height, 0.3s ease-in}

sup {font-size:0.59em}

/*Contact*/
div.con-text div div.col3 div.h5 {min-height:52px}
div.con-text div.flex-container {padding: 0 5%}

@media all and (max-width:1280px)
{
	.flex-large-hide {display:none}	
	.flex-large-show {display:block}	
}

@media all and (max-width:1000px)
{
	.flex-medium-hide {display:none}	
	.flex-medium-show {display:block}		
	div.pt1st {padding-top: 120px} 		

	*{font-size:16px;line-height:16px;}

	.h1{font-weight:bold;font-size:47px;line-height:47px;letter-spacing:-0.05em}
	.h2{font-weight:bold;font-size:36px;line-height:36px;letter-spacing:-0.05em}
	.h3{font-weight:bold;font-size:27px;line-height:27px;letter-spacing:-0.05em}
	.h4{font-size:23px;line-height:23px}
	.h5{font-weight:bold;font-size:23px;line-height:23px;letter-spacing:-0.05em}

	.text1{font-size:16px;line-height:16px}
	.text2{font-size:16px;line-height:16px}
	.actu>.text2{font-size:16px;line-height:18px}
	.text3{font-size:15px;line-height:15px}
	.text4{font-size:14px;line-height:14px}

	.link {font-size:16px}

	.col2hide {display:none} 	
	#bandeau-logo {width:181px;height:42px}
	#nav-normal ul li {margin-top:12px}
	#nav-fixe ul li {margin-top:12px}
	#nav-page ul li {margin-top:12px}

	.flex-container {flex-direction:column}	
	.flex-wrap {flex-wrap:wrap}
	.flex-small-no-center {justify-content:unset}  	
	.flex-ligne2 { margin-top: 5px}	
	.abs2rel {position:relative}
	#reas-carousel #carousel-slg, #rea-carousel #carousel-slg {margin-top:70px}
	#rea-mini-carousel {padding:0}
	#rea-mini-carousel #carousel-puces {margin: 0 5% !important}

	.col1 {box-sizing:content-box;width:90%;min-width:unset;max-width:unset;padding:1% 5%}
	.col2 {box-sizing:content-box;width:90%;min-width:unset;max-width:unset;padding:1% 5%}
	.col3 {box-sizing:content-box;width:90%;min-width:unset;max-width:unset;padding:1% 5%}
	.col4 {box-sizing:content-box;width:40%;min-width:unset;max-width:unset;padding:1% 5%}

	.col34 {box-sizing:content-box;width:65%;max-width:unset;padding:1% 0 1% 5%}
	.col14 {box-sizing:content-box;width:20%;max-width:unset;padding:1% 5% 1% 5%}
	.valign {padding:5% 5%}	

	.col2.rea-mini-carousel {box-sizing:content-box;width:100%;min-width:unset;max-width:unset;padding:0}
	.col2.rea-mini-carousel #rea-mini-carousel {margin-top:-40px;}

	#inpTxt {font-size: 16px !important}
	div.chevron-anim:after {border-bottom:3px solid #232d3a;border-right:3px solid #232d3a;width:8px;height:8px;margin-top:2px}
	div.chevron-actu-anim:after {margin-top:0}	
	li.chevron-anim {padding-right:16px}

	.nice-select {padding:unset;height: 24px !important}
	.nice-select:after {width:5px !important;height:5px !important;	margin-top: -2% !important}
	.nice-select ul li.option {font-size:14px;line-height:30px;min-height:30px}
	.nice-select .current {font-size: 16px !important}

	.pt2ref {padding-top:0}
	div.con-text div div.col3 div.h5 {min-height:30px}

	#car-form table tr td {height:32px;vertical-align:bottom;border-bottom:1px solid #232d3a}
	#car-form input[type=text] {font-size:16px;line-height:16px}
	#car-form .custom-file-label {font-size:16px;line-height:16px}

	.actus {padding:0 5%}
	.actu img {float:unset;padding:2px 0 15px 0}	
	.rea-img {height:200px}		
	.col2 img {width:100%;}
	#footer .slogan {text-align:center}
	#footer ul li a {font-size:11px}
	#header img.logo {width:247px;height:224px;margin:15px auto;display:block}
	#footer img.logo {width:111px;height:99px;margin:0 15px 0 0}
}

@media all and (max-width:750px)
{
	.flex-small-hide {display:none !important}	
	.flex-small-show {display:block}
	.p3 {padding: 2% 0}
	div.pt1st {padding-top: 100px} 		
}


@media all and (max-width:500px)
{
	*{font-size:16px;line-height:16px;}
	div.pt1st {padding-top: 90px} 

	.font-xxl{font-weight:bold;font-size:170px;line-height:170px;letter-spacing:-0.05em}
	.h1{font-weight:bold;font-size:36px;line-height:36px;letter-spacing:-0.05em}
	.h2{font-weight:bold;font-size:28px;line-height:28px;letter-spacing:-0.05em}
	.h3{font-weight:bold;font-size:21px;line-height:21px;letter-spacing:-0.05em}
	.h4{font-size:18px;line-height:18px}
	.h5{font-weight:bold;font-size:18px;line-height:18px;letter-spacing:-0.05em}
	
	.flex-container {flex-direction:column}
	#rea-carousel {height:360px}
	#rea-carousel #carousel-img {height:360px}
	#rea-carousel #carousel-img-clone {height:360px;margin-top:-360px}
	
	#footer img.logo {width:111px;height:99px;margin:15px auto;display:block}
	#footer .text4 {font-size:11px;line-height:11px}
}
div#preloaded-images {display:none;height:1px;width:1px}
