/*** default styles */
* {box-sizing : border-box;  padding: 0;margin: 0;}
select * {padding: 0 0.5em;}
ul, ol {list-style: none;}
a img, :link img, :visited img, object, fieldset {border: none;}
/*a:focus, a:hover {text-decoration: underline;}*/
a:active {outline: none;}
a {outline: none;}
address {font-style: normal;}
iframe {line-height : 1em; display: block;}
:link, :visited {text-decoration: none;}
legend {position: relative;left: -6px;/* ie */}
/*** font size : http://www.knacss.com/ */
html {font-size: 62.5%;}
body {background-color: #fff;color: #000;font-family: "Times New Roman", Times, serif;font-size: 1.8em; /* equiv 14px */line-height: 1.5em; /* adapt to your design */}
input, select, textarea {font-size: 100%;}
/*** Float containers (http://www.csscreator.com/attributes/containedfloat.php) */
.clearfix:after {content: ".";display: block;height: 0;font-size:0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix{height: 1%;}
.clearfix{display: block;}
/* End hide from IE-mac */
/*** Image Replacement */
.mir {letter-spacing : -1000em;}
/*\*/
* html .mir {text-indent: -999em;overflow: hidden;}
html>body .mir {letter-spacing: normal;text-indent: -999em;overflow: hidden;}/**/
/*** generic style */
.clear {clear: both;}
div.clear {height: 0;}
.no-wrap {white-space:nowrap;}
/*** error */
.errorOutput {font-weight: bold;padding: 0.5em 20px;border-top: 2px solid #eee;	border-bottom: 2px solid #eee;background: transparent url(/style/alert.gif) no-repeat left center;}
a:link, a:visited {color : #008cd9;}

body{}

.page, .page_moy, .page_min {
	width : 100%;
	max-width : 1900px;
	margin : 0 auto;
}

.page_moy {max-width : 1200px;}

.page_min {max-width : 800px;}

.col1-2,
.col1-3,
.col2-3,
.col3-4,
.col1-4 {float : left;}

.col{width: 100%; }
.col3-4{width: 75%;}
.col1-2{width: 50%;}
.col1-3{width: 33.33%;}
.col2-3{width: 66.66%;}
.col1-4{width: 25%;}

.flexParent {
    display: flex;
    flex-wrap: wrap;
}

.flex,
.flex1-1,
.flex1-2,
.flex1-3,
.flex2-3,
.flex3-4,
.flex1-4 { 
    display: flex;
}

.flex1-1{width: 100%;}
.flex3-4{width: 75%;}
.flex1-2{width: 50%;}
.flex1-3{width: 33.33%;}
.flex2-3{width: 66.66%;}
.flex1-4{width: 25%;}


.flexColumn {
	flex-direction: column;
	display: flex;
}

.flex_center {
	justify-content: center;
	align-items: flex-start;
}

.flex_end {
    justify-content: flex-end;
	display: flex;
}

.flex_right_center {
    justify-content: flex-end;
    align-items: center;
}

.flex_stretch {
	align-items: stretch;
}

.flex_center_center {
	display: flex;
    justify-content: center;
    align-items: center;
}

.flex_between {
	display: flex;
    justify-content: space-between;
}

.flex_center_bottom {
    justify-content: flex-end;
    align-items: center;
}

.flex_center_top {
    justify-content: flex-start;
    align-items: center;
}

.column2 {
	-moz-column-gap: 20px;
	-moz-columns: 2 auto;
	-webkit-column-gap: 20px;
	-webkit-columns: 2 auto;
}

.column3 {
	-moz-column-gap: 20px;
	-moz-columns: 3 auto;
	-webkit-column-gap: 20px;
	-webkit-columns: 3 auto;
}

.padding_provisoire { padding: 10px; }
.padding { padding: 20px; }
.padding_LR { padding: 0 20px; }
.padding_big { padding: 40px; }
.padding_bigLR { padding: 0 40px; }
.padding_noTop { padding-top: 0; }
.padding_noBottom { padding-bottom: 0; }

/*gestion des couleurs et des fonds  */
.bg_gris_fonce {background-color : #58585a; color : #fff;}
.bg_gris_clair {background-color : #e7e7e7; color : #000;}
.bg_blanc {background-color : #fff; color : #000;}
.bg_noir {background-color : #0a0406; color : #fff;}

.bg_gris_clair a:link, .bg_gris_clair a:visited, 
.bg_blanc a:link, .bg_blanc a:visited {color : #000;} 
.bg_gris_fonce a:link, .bg_gris_fonce a:visited,
.bg_noir a:link, .bg_noir a:visited {color : #fff;} 

.section_min {padding : 40px 0;}
.section {padding : 80px 0;}
.section_top {padding-top : 122px;}
header + section .section_top {padding-top : 42px;}

.margin_auto{margin: 0 auto;}

.poppins { font-family: "Poppins", sans-serif; }

.position_relative{position : relative;}

.float_right {float : right;}
.float_left {float : left;}

.align_center {text-align : center;}
.align_right {text-align : right;}

#provisoire { height: 100vh; width: 100vw; }

.maj { text-transform: uppercase; }

.extralight { font-weight: 200; }
.light { font-weight: 300; }
.bold { font-weight: 700; }
.extrabold { font-weight: 900; }
.big { font-size: 120%; }
.small { font-size: 80%; }

.show-1000 { display: none !important; }

.border_right { border-right: 1px solid; }

.overflow_hidden { overflow: hidden; }

.tri_realisations { padding: 232px 0 0 0; }

.accueil_realisation { position: relative; }

.accueil_realisation span {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 0;
	font-family: "Poppins";
	text-transform: uppercase;
	transition: 0.5s;
	text-align: center;
	background-color: rgba(0,0,0,0);
	color: transparent;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 150%;
}

.accueil_realisation:hover span { background-color: rgba(0,0,0,0.7); color: #fff; }

#accueil .top_left { display: none; }
#accueil .top_right { width:  100%; }

.show-900, .show-900.img_100 { display: none; }

/*** header  *****************************************/
header {
	position: fixed;
	display: flex;
	justify-content: flex-end;
	width: 100%;
	z-index: 100;
	transition: 0.5s;
	border-bottom: 1px solid transparent;
}

header.fix { border-bottom-color: #fff; }
	
/*** menu *****************************************/
nav { padding: 0 30px; }

	nav li { display : inline-block; padding: 10px; }

		nav li a {
			display: block;
			text-transform: uppercase;
			position: relative;
			font-family: "Poppins", sans-serif;
			font-weight: 300;
		}

		nav li a:after {
			content: '';
			bottom: -3px;
			width: 100%;
			height: 1px;
			left: 0;
			position: absolute;
			background-color: transparent;
			transition: 0.5s;
		}
		
		nav li a:focus:after, nav li a:hover:after,
		#contact nav li#nav-contact a:after, 
		#showroom nav li#nav-showroom a:after,
		#realisations nav li#nav-realisations a:after,
		#prestations nav li#nav-prestations a:after,
		#produits nav li#nav-produits a:after,
		#qui-sommes-nous nav li#nav-qui-sommes-nous a:after,
		#accueil nav li#nav-accueil a:after {
			background-color: #fff;
		}

/*** accueil ****************************************************/

#slider img { width: 100%; }

.bg_slider {
	position: relative;
	z-index: 1;
	background-size: cover;
	background-position: center;
}

.slider_chiffre {
	font-size: 500%;
	line-height: 1;
	margin-left: 20px;
}

.slider_contenu {
	padding: 232px 120px 120px 120px;
	position: relative;
}

#accueil .slider_contenu { padding-bottom: 232px; }
#realisations .slider_contenu { padding-bottom: 40px; }

.slider_devis {
	position: absolute;
	bottom: 40px;
	right: 40px;
}

#accueil .slider_devis { bottom: 0; }

.lSPager { width: 75%; text-align: right!important; padding: 40px 0!important; }

.lSPager li a { position: relative;  transform: rotate(-90deg);}
.lSPager li a span {
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	left: 200%;
	text-indent: 0;
	white-space: nowrap;
	font-size: 70%;
	font-family: "Poppins", sans-serif;
	color: #ccc;
	transition: 0.5s;
}

.lSPager li.active a span,
.lSPager li:hover a span { color: #000; }

/*** réalisations ************************************************/
.img_realisation { width: 100%; height: 100%; position: absolute; object-fit: cover; transition: 0.5s; object-position: center; }
.img_realisation:hover { transform: scale(1.1); }

.realisation_galerie a:first-child { display: inline-block; position: relative; }

.realisation_galerie a:first-child::after {
	content: '\f00e';
	font-family: "Font Awesome 5 Free";
	position: absolute;
	bottom: 20px;
	right: 20px;
	font-size: 200%;
	font-weight: 700;
}

.uneRealisation a { position: relative; display: block; }

.uneRealisation a::after {
    content: "";
    padding-bottom: 100%;
    display: block;
}

/*** liste + paragraphe  *****************************************/
	ul.list{
		list-style-type : disc;
		margin-left : 15px;
	}

	ul.inline li{
		display : inline-block;
		padding : 0 10px;
	}
	
	section p {
		margin-bottom : 20px;
		font-size: 100%;
	}
	
	.img_100 {
		max-width : 100%;
		display : block; 
		line-height : 1; 
		width : auto;
	}

	.img_cover {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.img_absolute {
		position: absolute;
		width: 100%;
		top:  0;
		right: 0;
		z-index: 1;
	}

/*** footer  *****************************************/ 
	.nav-mentions li, .nav_rs li{
		display : inline-block;
	}

		.nav-mentions li a, .nav_rs li a{padding : 0 5px;}

		.nav-mentions li a {font-size : 75%; border-left : 1px solid; font-family: "Poppins", sans-serif; color: #ccc!important; }

			.nav-mentions li:first-child a{
				border-left : none; 
			}
			
	.titre_footer {
		display: block; 
		text-transform : uppercase; 
		font-size : 110%;
		font-weight : 600;
		margin-bottom : 5px;
	}


/*** titre *****************************************/

h1 {
	font-size : 180%;
}

h1.titre_int { font-size: 300%; font-weight: 700; line-height: 1.2; margin-bottom: 20px; }

h2 {
	font-size : 170%;
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	text-transform: uppercase;
	position: relative;
	margin-bottom: 20px;
	line-height: 1.2;
}

h2.titre_slider {
	font-size: 300%;
	font-family: "Times New Roman", Times, serif;
	text-transform: none;
	padding-bottom: 20px;
	font-weight: 700;
}
h2.titre_slider::after {
	content: '';
	z-index: 0;
	background-color: #000;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	width: calc(300% + 120px);
}


h2.titre_trait span { background-color: #0a0406; position: relative; z-index: 2; padding-right: 20px; }
h2.titre_trait::after {
	content: '';
	border-bottom: 1px solid #fff;
	display: block;
	height : 1px; 
	width : 100%; 
	position : absolute;
	left : 0;
	bottom : 0.5em;
}

h2.titre_traitLR { margin:  auto; display: inline-block; }

h2.titre_traitLR::before, h2.titre_traitLR::after {
	content: '';
	position: absolute;
	height: 1px;
	width: 150px;
	bottom: 0.5em;
	background-color: #000;
	top: 50%;
	transform: translateY(-50%);
}

h2.titre_traitLR::before { left: -40px; transform: translateX(-100%); }
h2.titre_traitLR::after { right: -40px; transform: translateX(100%); }

h2.noMargin { margin-bottom: 0; }

h3 {
	font-size : 140%;
}

h3.soustitre_slider {
	font-size: 100%;
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: 90%;
}

h4{
	font-size : 120%;
}



/*** lien *****************************************/

.bg_blanc a.btn_suite, .bg_blanc a.btn_suite_bold {
	display : inline-block; 
	text-transform : uppercase;	
	padding : 5px 10px;
	/*font-weight: 700;*/
	font-family: "Poppins", sans-serif;
	background : #000;
	font-weight: 300;
	color : #fff;
	border:  1px solid;
	transition: 0.5s;
}

.bg_blanc a.btn_suite_bold {
	font-weight: 700;
	padding : 10px 20px;
}

.bg_blanc a.btn_suite:hover, .bg_blanc a.btn_suite:focus,
.bg_blanc a.btn_suite_bold:hover, .bg_blanc a.btn_suite_bold:focus,
a.btn_suite.active {
	background : #fff;
	color : #000;
}

.bg_noir a.btn_suite, .bg_noir a.btn_suite_bold {
	display : inline-block; 
	text-transform : uppercase;	
	padding : 5px 10px;
	/*font-weight: 700;*/
	font-family: "Poppins", sans-serif;
	background : #fff;
	font-weight: 300;
	color : #000;
	border:  1px solid;
	transition: 0.5s;
}

.bg_noir a.btn_suite_bold {
	font-weight: 700;
	padding : 10px 20px;
}

.bg_noir a.btn_suite:hover, .bg_noir a.btn_suite:focus,
.bg_noir a.btn_suite_bold:hover, .bg_noir a.btn_suite_bold:focus {
	background : #000;
	color : #fff;
}

a.btn_tri {
	text-transform: uppercase;
	font-size: 80%;
	padding: 3px 10px;
	min-width: 200px;
	text-align: center;
	background-color: #fff;
	color: #000;
	border: 1px solid;
	transition: 0.5s;
	display : inline-block; 
	font-family: "Poppins", sans-serif;
	font-weight: 300;
}

a.btn_tri:hover {
	background-color: #000;
	color: #fff;
}
	
	a.btn_suite_gris {		
		background : grey;
		color : #fff;
	}
	
	select.select_tri {
		padding: 5px 10px;
		font-family: "Poppins", sans-serif;
		font-weight: 300;
		background-color: #000;
		color: #fff;
		text-transform: uppercase;
		font-size: 80%;
		border: 1px solid;
		min-width: 200px;
	}

/*** actualites  *****************************************/

	.imgActu {
		display : block;
		/*height : 150px;*/
		overflow : hidden;
		position : relative;
	}

	.imgActu::after{
		content: "";
	    padding-bottom: 100%;
	    display: block;
	}

		.imgActu img {
			max-height : 100%;
			margin : 0 auto;	
			position : absolute; 
			top : 50%; 
			left : 50%; 
			transform : translate(-50%,-50%);
		}
		
		
			.imgActu span{
				position : absolute; 
				top : 50%; 
				left : 50%; 
				transform : translate(-50%,-50%);
				text-transform : uppercase; 
				color : rgba(146,143,143,0.5);
				font-weight : 300;
				text-align : center;
				font-size : 95%;
			}
			
			.imgActu span::before{
				content : '\f030';
				font-family : "Font Awesome 5 Free"; 
				font-weight: bold;
				display : block;
				font-size : 200%;
				color : rgba(146,143,143,0.5);
			}

/*** icone  *****************************************/

	.ico { display: flex; }

	.ico::before{
		font-family : 'Font Awesome 5 Free'; 
		font-size : 120%; 
		padding-right : 5px; 
	}
	
	 p.ico span{overflow : hidden; display : inline;}
	 p.ico::before{display : inline;}
	
	.ico-eye::before { content : "\f06e"; font-weight : bold;}
	.ico-map::before { content : "\f3c5"; font-weight : bold;}
	.ico-map-marker::before { content : "\f041"; font-weight : bold;}
	.ico-mobile::before { content : "\f3cd"; font-weight : bold;}
	.ico-phone::before { content : "\f095"; font-weight : bold;}
	.ico-web::before { content : "\f0ac"; font-weight : bold;}
	.ico-mail::before { content : "\f0e0"; font-weight : bold;}
	.ico-recherche::before { content : "\f002"; font-weight : bold;}
	.ico-compte::before { content : "\f2bd"; font-weight : bold;}
	.ico-pdf::before { content : "\f1c1"; font-weight : bold;}
	.ico-print::before { content : "\f02f"; font-weight : bold;}
	.ico-streetview::before {content : "\f21d"; font-weight : bold;}
	.ico-nav::before {content : "\f0c9"; font-weight : bold;}
	.ico-clock::before {content : "\f017"; font-weight : bold;}
	.ico-star::before {content : "\f005"; font-weight : bold; }
	.ico-laptop::before {content : "\f109"; font-weight : bold; }
	.ico-store::before {content : "\f54e"; font-weight : bold; }
	.ico-exchange::before {content : "\f362"; font-weight : bold; }
	.ico-desktop::before {content : "\f108"; font-weight : bold; }
	.ico-facebook::before {content : "\f082"; font-weight : bold; font-family: "Font Awesome 5 Brands"; }

/* magnific popup */
.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;filter:alpha(opacity=65);padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-arrow{position:absolute;opacity:.65;filter:alpha(opacity=65);margin:-55px 0 0;top:50%;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1;filter:alpha(opacity=100)}.mfp-arrow .mfp-a,.mfp-arrow .mfp-b,.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:inset transparent}.mfp-arrow .mfp-a,.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow .mfp-b,.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left .mfp-b,.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right .mfp-b,.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}

/*! #######################################################################

	MeanMenu 2.0.7
	--------

	To be used with jquery.meanmenu.js by Chris Wharton (http://www.meanthemes.com/plugins/meanmenu/)

####################################################################### */

/* hide the link until viewport size is reached */
a.meanmenu-reveal {
	display: none;
}

/* when under viewport size, .mean-container is added to body */
.mean-container .mean-bar {
	float: left;
	width: 100%; 
	position: fixed;
	background: transparent;
	/*padding: 4px 0;*/
	/*min-height: 42px;*/
	z-index: 999999;
}

.mean-container a.meanmenu-reveal {
	padding : 6px 10px;
	position: absolute;
	top: 0px;
	right: 0;
	cursor: pointer;
	color: #fff;
	text-decoration: none;
	font-size: 100%;
	text-transform : uppercase;
	display: block;
	font-weight: 300;
	background : #000;
	z-index: 800;
	text-align : center;
	width: 100%;
	border-bottom: 1px solid #fff;
	font-family: "Poppins";
}

a.meanmenu-reveal::before {
	content : "\f0c9"; 
	font-family : "Font Awesome 5 Free"; 
	font-weight : bold;
	text-align : center;
	padding-right : 5px;
	font-size : 150%; 
}

.mean-container a.meanclose { top : 0px;}
.mean-container a.meanclose::before { display : none;}

.mean-container a.meanmenu-reveal span {
	background : #000;
	position : relative;
	top : -5px;
}


.mean-container .mean-nav {
	float: left;
	width: 100%;
	background: #000;
	/*margin-top: 44px;*/
}

.mean-container .mean-nav ul {
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
	padding-top: 39px;
}

.mean-container .mean-nav ul li {
	position: relative;
	float: left;
	width: 100%;
}

.mean-container .mean-nav ul li a {
	display: block;
	float: left;
	width: 100%;
	box-sizing : border-box; 
	padding: 1em 5%;
	margin: 0;
	text-align: left;
	color: #fff;
	/*border-top: 1px solid #383838;
	border-top: 1px solid rgba(255,255,255,0.5);*/
	text-decoration: none;
	text-transform: uppercase;
}

.mean-container .mean-nav ul li li a {
	width: 80%;
	padding: 1em 10%;
	border-top: 1px solid #f1f1f1;
	border-top: 1px solid rgba(255,255,255,0.25);
	opacity: 0.75;
	filter: alpha(opacity=75);
	text-shadow: none !important;
	visibility: visible;
}

.mean-container .mean-nav ul li.mean-last a {
	border-bottom: none;
	margin-bottom: 0;
}

.mean-container .mean-nav ul li li li a {
	width: 70%;
	padding: 1em 15%;
}

.mean-container .mean-nav ul li li li li a {
	width: 60%;
	padding: 1em 20%;
}

.mean-container .mean-nav ul li li li li li a {
	width: 50%;
	padding: 1em 25%;
}

.mean-container .mean-nav ul li a:hover {
	background: #252525;
	background: rgba(255,255,255,0.1);
}

.mean-container .mean-nav ul li a.mean-expand {
	margin-top: 1px;
	width: 26px;
	height: 32px;
	padding: 12px !important;
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	font-weight: 700;
	background: rgba(255,255,255,0.1);
	border: none !important;
	border-left: 1px solid rgba(255,255,255,0.4) !important;
	border-bottom: 1px solid rgba(255,255,255,0.2) !important;
}

.mean-container .mean-nav ul li a.mean-expand:hover {
	background: rgba(0,0,0,0.9);
}

.mean-container .mean-nav ul li a::after { width: 0; height: 0; }

.mean-container .mean-push {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}

.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

/* popup gestion cookies */

body.cn-cookie-overlay {overflow: hidden; height: 100vh;}

.cn-cookie {
	display: block;
	position: absolute;
	width: 100%;
	height: 100vh;
	z-index: 99999;
	top : 0;
	left: 0;
	background : rgba(0,0,0,.5);
	
}

.cn-cookie-content {
   display: block;
   position: absolute;
   max-width: 500px;
   min-width: 320px;
   height: auto;
   z-index: 100000;
   font-size: 16px;
   line-height: 18px;
   top : 50%;
   left: 50%;
   padding : 20px; 
   color: #000;
   background : #fff;
   transform : translate(-50%,-50%);
}

.cn-cookie strong {font-size : 30px; display : block; padding-bottom : 20px;}

.cn-cookie p {padding-bottom : 20px;}
.cn-cookie a.btnDenyCookies {
	text-decoration: underline; 
	padding-bottom : 10px;	
	display: block;
	color : #8c8c8c!important;
  text-align: center;
}
.cn-cookie a.btnAcceptCookies,
.cn-cookie a.btnDetailsCookies { 
  display: block;
  width : 100%;
  margin-bottom : 10px;
  color: #fff; 
  text-align: center;
  padding: 5px 10px;
  text-decoration: none;
  outline: none;
}
.cn-cookie a.btnAcceptCookies {
  background : #000;
  color : #fff!important; 
}

.cn-cookie a.btnDetailsCookies {
  border : 1px solid;
  color : #000!important; 
}


/*********************** responsive  ***************************************/

@media all and (max-width: 1700px) {

	#accueil h2.titre_slider::after { height: 0; width: 0; }

	#accueil .slider_contenu { padding: 100px; }

}

@media all and (max-width: 1500px) {

	.w100-1500 { width: 100%; }
	.w66-1500 { width: 66%; }
	.w33-1500 { width: 33%; }
	.p-1500 { padding: 20px; }
	.pbig-1500 { padding: 40px; }

	/*body:not(#accueil) */.slider_contenu { padding: 230px 40px 40px; }
	/*#accueil .slider_contenu { padding: 40px; }*/

	h2.titre_slider { margin-bottom: 0; }

	h2.titre_slider::after { height: 0; width: 0; }

	/*.bg_slider { display: none; }*/

	.lSPager { display: none; }

	#accueil .slider_devis {
		position: initial;
		float: left;
	}

	.div_chiffre {
		display: none;
	}

	.section_top { float: left; width: 100%; }

	.fr-1500 { float: right; }

}

@media all and (max-width: 1400px) {

	.w100-1400 { width: 100%; }
	.w50-1400 { width: 50%; }
	.w33-1400 { width: 33%; }
	.p-1400 { padding: 20px; }
	.pbig-1400 { padding: 40px; }

	h2.trait-1400 { margin: auto; display: inline-block; }

	h2.trait-1400::before, h2.trait-1400::after {
		content: '';
		position: absolute;
		height: 1px;
		width: 150px;
		bottom: 0.5em;
		background-color: #000;
		top: 50%;
		transform: translateY(-50%);
	}

	h2.trait-1400::before { left: -40px; transform: translateX(-100%); }
	h2.trait-1400::after { right: -40px; transform: translateX(100%); }

	h2.trait-blanc::before, h2.trait-blanc::after { background-color: #fff; }

	.center-1400 { text-align: center; }

}

@media all and (max-width: 1200px) {

	.w100-1200 { width: 100%; }
	.w50-1200, .slider_contenu { width: 50%; }
	.img-reset-1200 { position: initial; }
	.p-1200 { padding: 20px; }
	.pbig-1200 { padding: 40px; }
	.pb20-1200 { padding-bottom: 20px; }
	.nb-1200 { padding-bottom: 0; }

	.border-none-1200 { border: none; }

}

@media all and (max-width: 1100px) {

	.w50-1100 { width: 50%; }
	.w100-1100 { width: 100%; }
	.slide { display: none; }
	.show-1100, .show-1100.slide { display: flex; }

}

@media all and (max-width: 1000px) {

	.cache-1000 { display: none !important; }
	.show-1000,.show-1000.img_100 { display: block !important; }
	.hide-1000 { display: none; }

	.w100-1000 { width: 100%; }
	.w50-1000 { width: 50%; }

	.o1-1000 { order: 1; }
	.o2-1000 { order: 2; }
	.o3-1000 { order: 3; }

	h2.titre_traitLR::before, h2.titre_traitLR::after { width: 50px; }

	.left-1000 { text-align: left; }

	.fl-1000 { float: left; }

	.cr-1000 { flex-direction: column-reverse; }

	.ptb-1000 { padding-top: 60px; }

	.border-none-1000 { border: none; }

	.pbig-1000 { padding:40px; }
	
	.pt0-1000 { padding-top: 0!important; }
	.pb0-1000 { padding-bottom: 0!important; }

	#realisations .slider_contenu { padding: 40px 40px 0 40px!important; width: 100%; }

}

@media all and (max-width: 900px) {

	.w50-900 { width: 50%; }
	.w100-900, .slider_contenu { width: 100%; }

	body:not(#accueil) .slider_contenu { padding: 40px; }
	.slider_devis { position: initial; float: right; }

	.bg_slider { display: none; }

	.show-900, .show-900.img_100 { display: block; }
	.hide-900 { display: none; }

	#accueil .slider_contenu { padding: 40px; }

	.column-reverse-900 { flex-direction: column-reverse; }

	.tri_realisations { padding: 0 20px 40px 20px; }

	.left-900 { text-align: left; }

	.fl-900 { float: left; }

	.cr-900 { flex-direction: column-reverse; }

	.ptb-900 { padding-top: 60px; }

	.pt0-900 { padding-top: 0!important; }
	.pb0-900 { padding-bottom: 0!important; }

	h2.titre_slider { font-size: 250%; }

}

@media all and (max-width: 800px) {

	h2.titre_traitLR::before, h2.titre_traitLR::after { width: 0; }
	.w100-800 { width: 100%; }

	.left-800 { text-align: left; }

	.center-800 { text-align: center; }

	.flex-center-800 { justify-content: center; }

	.auto-800 { margin: auto; }

	.fl-800 { float: left; }

	.cr-800 { flex-direction: column-reverse; }

	.ptb-800 { padding-top: 60px; }

}

@media all and (max-width: 620px) {
	
	.o1-620 { order: 1; }

	.center-620 { text-align: center; }
	.flex-center-620 { justify-content: center; }
	.auto-620 { margin:  0 auto; }

	.border-none-620 { border: none; }
	
	.page {padding : 0;}

	.col1-2, .col1-3, .col2-3, .col1-4  , .col3-4  {float : none; width : 100%; }
	
	.flex1-2, .flex1-3, .flex2-3, .flex1-4  , .flex3-4  {width : 100%;}
	
	/*#slider {display : none;}*/
	
}
