html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, 
p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, 
img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, hr, 
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figure, figcaption, hgroup, 
menu, footer, header, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing:border-box;
}
body, html {
	width:100%;
	background:#FFF;
}
html, input, select, textarea {
	font-family: 'Roboto', sans-serif;
	color:#333333;
	font-size:1.1em;
}


a:focus { 
	outline:0;  /* Enlève le pointille sur les liens (notamment visible sur les supports mobiles*/
}

div#global {
	position:relative;
	height:100%;
}
.general_content {
	width:96%;
	max-width:1400px;
	padding:0;
	margin:0 auto;
	/*display:table;*/
	position:relative;
}


/* HEADER */

div#header_logo {position:absolute; z-index:101; width:330px;margin:5px 0 0 80px;}
div#header_logo a {text-decoration:none; color:inherit;}
div#header_logo img {width:100%;}

div#header_cadre {position:relative; z-index:99; width:100%; display:table; background:#FFF; margin:0; padding: 8px 0 0 0;}

div#header_top {position:relative; overflow:hidden;padding: 10px 0 20px 0;}
div#header_slogan {padding: 10px 0 0 400px;font-family: 'Big Shoulders', sans-serif; font-size:1.2em; width:calc(100% - 230px); float:left;}
div#header_cta_devis {font-size:1.2em; width:210px; float:right;}




header {position:relative;width:calc(100% - 430px); }


div#header_content {position:relative;width:100%;margin:0 auto;}

div#header_responsive {display:none;position:relative;float:right;width:140px;}

div#header_logo.header_scroll {position:fixed;}
div#header_cadre.header_scroll {position:fixed; top:0; padding: 0;}

/* MENU */

div#header_top_menu {width:100%;background:#000; display: table; padding:20px 0 5px 0;}

div#header_nav{width:100%;}
div#header_nav_content {width:100%;}


div#menu_cadre {
	position:relative;
	float:right;
	width:100%;
}

div#menu{
	position:relative;
	width:100%;
	margin:0 auto;
}
div#menu ul, div#menu li { list-style:none;}
ul.menu_list{
	position:relative;
	margin:0;
	padding:0;
	width:100%;
	display:table;
}




ul.menu_list li{
	position:relative;
	list-style:none;
	float:right;
	/*float:right; /* NECESSITE D'INVERSER L'ORDRE DES MENUS */
}
ul.menu_list li.niveau1 {
	text-align:center;
	margin:0 10px;
	padding: 10px 2% 15px 2%;
}

ul.menu_list ul{
	position:relative;
	display:none;
	padding:0;
	margin:-1px 0 0 0;
}

#menu_list li.niveau1.sousmenu_visible {background:url("../img/public/fleche_ssmenu.png") center right no-repeat;}

#menu_list li.sousmenu_visible:hover ul {   
	position: absolute;
	background: #FFF;
	color:#000;
	left: 0;
	margin: 0;
	display: inline-block;
	z-index: 200;
	border-top:7px solid #000;
	top:49px;
	width:100%;
	min-width: 150px;
}
ul.menu_list li.niveau2 {
	width:100%;
	border-bottom:2px solid #d4d4d4;
	padding: 5px 0;
}


ul.menu_list li.niveau1 a{
	text-decoration:none;
	font-size:1.2em; 
	color:#FFF;
	display:block;
	font-family: 'Big Shoulders', sans-serif;
}
ul.menu_list li.niveau1:before {
    content: "";
    position: absolute;
    width: 40px;
	left:calc(50% - 20px);
    height: 3px;
    bottom: 3px;
	border-bottom:2px solid var(--cg_jaune);
	transform: scaleX(0);  
  	transition: transform 150ms ease-in-out;
}
ul.menu_list li.niveau1:hover:before {transform: scaleX(1);} /* apparition du border à partir du milieu */


ul.menu_list li.niveau1:hover a{
	color: var(--cg_jaune);}
}

ul.menu_list li:hover a {
	color:var(--cg_jaune);
	width:100%;
	height:100%;
}
div#menu ul.menu_list li.niveau2 a {color:#000;}
div#menu ul.menu_list li.niveau2:hover {
	background:var(--cg_jaune);
	color:#000 !important;
}
div#menu ul.menu_list li.niveau2:hover a {color:#000 !important;}

/* MENU RESPONSIVE */
#menu_responsive {font-weight:400; font-size:1.1em; font-family: 'Big Shoulders', sans-serif;}


#header_coord_r {
	padding:0 10px 15px 20px;
	margin:15px 0 0 0;
}

#header_coord_r p { padding:5px 0 5px 40px;margin:5px 0;width: 100%;}
#header_coord_r p.header_coord_nom {padding:5px 0 5px 0;}
#header_coord_r a { color:inherit; text-decoration:none;}

.menu_list_r .mm-navbar.menu_r_titre {
	padding:0 10px !important;
	border-bottom-style:none;
}
.menu_list_r li.niveau1 {font-size:1em;padding:5px 0 5px 0;color:#243746;}
#menu_responsive li.niveau2, #menu_responsive li.niveau3, #menu_responsive li.niveau4 {font-size:1em;padding:15px 0;}
.menu_list_r li.niveau1:hover, .mm-listview li:hover {background:#e4e3e3;}

#header_social_r:hover, #header_coord_r:hover {background:none;}


.menu_avec_picto {position:relative;width:100%;overflow:hidden; padding:10px 0 10px 50px;}

p.header_coord_adresse {font-size:0.9em;
	background:url(../img/public/menu_adresse.png) left center no-repeat;
	background-size:26px;color:#243746;
}
p.header_coord_tel {font-size:0.9em;
	background:url(../img/public/menu_tel.png) left center no-repeat;
	background-size:26px;color:#243746;
}
p.header_coord_mobile {font-size:0.9em;
	background:url(../img/public/menu_tel.png) left center no-repeat;
	background-size:26px;color:#243746;
}
p.header_coord_mail {font-size:0.9em;
	background:url(../img/public/menu_email.png) left center no-repeat;
	background-size:26px;color:#243746;
}

#header_social_r {
	overflow:hidden;
	padding:0 10px 15px 20px;
	margin:15px 0;
}

div#header_social {
	position:relative;
	float:right;
}
p.header_social_img {
	float:left;
	width:26px;
	height:26px;
	margin: 0 14px 0 0;
	padding:0;
}
p.header_social_img img {	
	filter: grayscale(1);
	-webkit-filter: grayscale(1); /* Safari 6.0 - 9.0 */
	-moz-filter: grayscale(1);
    -o-filter: grayscale(1);
    -ms-filter: grayscale(1);
}
p.header_social_img img:hover {
	filter: grayscale(0);
	-webkit-filter: grayscale(0); /* Safari 6.0 - 9.0 */
	-moz-filter: grayscale(0);
    -o-filter: grayscale(0);
    -ms-filter: grayscale(0);
}


/* MIDDLE */

div#middle_content {
	margin:0 auto;
	padding:0 0 0 0;	
}
.contenu {
    position: relative;
    margin: 25px auto 0 auto;
    overflow: hidden;
}


/* FIL ARIANE */
.fil_ariane {position:relative;margin:0 auto; padding:10px 20px; background:var(--cg_jaune); text-align:right;color:var(--cg_orange);}
.fil_ariane a {position:relative;width:100%; text-decoration: none;font-size:0.8em; color:#FFF;}
.fil_ariane .ariane_menu_end { color:var(--cg_gris_fonce);}
.fil_ariane a:hover { color:#000;}

/* SLIDER BLOG BOTTOM */
div#bottom_news_cadre {position:relative; width:100%; background:#f8f8f8 url(../img/public/bottom_news_bg.png) bottom left no-repeat; padding:0 0 50px 0; border-top:8px solid #dd8a03;}
div#bottom_news_title {
	position: relative;
	clear:both;
	margin:0 auto 30px auto;
	width: 90%;
	text-align: center;
	font-weight: bold !important;
	padding:50px 0 2px 0;
	max-width:1100px;
	text-transform: uppercase;
}
div#bottom_news_content {
	position: relative;
	clear:both;
	width: 100%;
	background: rgba(248,248,248,0.8);
}
.bottom_news_item {position:relative; padding:10px 30px;}


.bottom_news_item a {text-decoration: none; color:inherit;}
.bottom_news_nom {font-weight: bold; text-transform: uppercase; margin:0 auto 20px auto;}
.bottom_news_resume {font-size:0.8em;}
.bottom_news_bottom {position:relative; overflow: hidden; padding:15px 0;}
.bottom_news_tag {position: relative; float:left; width:calc(100% - 150px); padding:5px 0;}
.bottom_news_link {position: relative; float:right; color:#FFF; width:130px; font-size:0.8em !important; text-transform: uppercase;}

.bottom_news_link a {display:table;}

.bottom_news_item:hover .bottom_news_nom { color:#dd8a03;}

.bottom_news_item:hover .btn_lien_small {background:#000 url(../img/public/picto_plus_small.png) 13px center no-repeat !important;color:#FFF;text-decoration:none;transition: background 0.5s;}


div#bottom_news_content .bx-wrapper {padding:0 75px !important;}

div#bottom_news_content .bottom_news_content_multiple .bx-viewport {background:url(../img/public/bottom_news_sep.png) center repeat-y;}

div#bottom_news_content .bx-wrapper .bx-prev {
	left: 0px;
	width:50px;
	background: url('../img/public/slider_prev_gris_moyen.png') center right no-repeat;
	opacity: 0.5;
}
div#bottom_news_content .bx-wrapper .bx-prev:hover,
div#bottom_news_content .bx-wrapper .bx-prev:focus {
	background: url("../img/public/slider_prev_gris_moyen.png") center right no-repeat;   
  	opacity: 1;
}
div#bottom_news_content .bx-wrapper .bx-next {
	right: 0px;
	width:50px;
	background: url("../img/public/slider_next_gris_moyen.png") center left no-repeat;
	opacity: 0.5;
}
div#bottom_news_content .bx-wrapper .bx-next:hover,
div#bottom_news_content .bx-wrapper .bx-next:focus {
	background: url("../img/public/slider_next_gris_moyen.png") center left no-repeat;
	opacity: 1;
}


.bottom_news_tag_item {position:relative; float:left; margin:0 10px 10px 0;}
.bottom_news_tag_item a {font-size:0.7em; text-transform: uppercase; color:#969696;background:#f8f8f8;border-radius:0.5em;padding:3px 10px; border:1px solid #bdbdbd;}
.bottom_news_tag_item a:hover {color:#FFF;background:#bdbdbd;}



/* BOTTOM */
div#bottom_sep {position:relative;margin:0;padding:0;width:100%;height:150px;background:#FFF url(../img/public/bottom_sep.png) center bottom no-repeat;background-size:100%;}
div#bottom {position:relative;width:100%;background:#b1b6b4;}
div#bottom_cadre {position:relative;overflow:hidden;width:calc(100% - 150px);margin:-100px auto 0 auto;}




/* FIRST CONTENT IMAGE */

div#content_first_image {position: relative; width:100%;}
div#content_first_image img {width:100%;}



/* GOOGLE MAP */
div#map_titre {color:#FFF;font-size:1.4em;margin:15px auto;width:100%;text-align:center;}
div#map {
	position:relative;
	height:400px;
	width:100%;
	z-index:1;
}

div#gm_infobulle {
	width:300px;
	overflow:hidden;
	text-align:center;
}
.gm_nom {
	font-size:1.2em;
	margin:5px 0;
	font-weight:500;
}
.gm_logo img {width:100%; max-width:200px;}
/*div#gm_infobulle img { width:100%;}*/

.gm_tel {font-size:1.3em;font-weight:600;}


/* FOOTER */

footer {width:100%;padding:0;background:#FFF;}

div#footer_sitemap {position:relative; width:100%; background:#000; padding:50px 0;}
div#footer_sitemap_content {display:grid;grid-template-columns:repeat(12, 1fr);}
.footer_sitemap_column {grid-column:span 4; padding:0 5%; color:#FFF;font-family: 'Big Shoulders', sans-serif;}
.footer_sitemap_surtitle {color:var(--cg_jaune);font-size:1.4em; margin:0 0 20px 0;}

.footer_contact_titre {font-size:1.2em; font-weight: bold; padding:15px 0 15px 0; margin:0 0 10px 0;}
.footer_contact_tel {background:url(../img/public/footer_tel.png) center left no-repeat; background-size:30px; padding:15px 0 15px 50px;}
.footer_contact_mail {background:url(../img/public/footer_email.png) center left no-repeat; background-size:30px; padding:15px 0 15px 50px;}
.footer_contact_adresse {background:url(../img/public/footer_adresse.png) center left no-repeat; background-size:30px; padding:0 0 20px 50px;}
.footer_contact_ville {margin:-20px 0 0 0;padding:0 0 15px 50px;}

.footer_menu_item { font-size:1.2em; margin:0 0 10px 0;}
footer a {color:#FFF !important; text-decoration:none;}
footer a:hover {color:var(--cg_jaune) !important; text-decoration:none;}


.footer_logo img {max-width:280px; width:100%;}

div#footer_content {width:100%; padding:10px 0;font-size: 0.8em;}


.footer_baseline {position:relative; background:url("../img/public/footer_baseline_bg.png") center repeat-x; padding:50px 100px; display:table; font-size:1.2em;}
.footer_baseline_content {position:relative; background:#243746; padding: 0 15px;}
.footer_sep {font-weight: bold;}


div#footer_legal {position: relative; text-align:center; padding:30px 0; margin:0; background:var(--cg_gris_clair);color:#000; font-size:0.8em; }
div#footer_legal a {color:#000 !important; text-decoration:none;}
div#footer_legal a:hover {font-weight:bold;}

@media screen and (max-width : 1600px) {	
}
@media screen and (max-width : 1450px) {
}
@media screen and (max-width : 1350px) {	
}
@media screen and (max-width : 1280px) {
	
	div#header_logo {width: 220px;}
	div#header_slogan {padding:10px 0 0 320px;}
	
}
@media screen and (max-width : 1050px) {
}
@media screen and (max-width : 1000px) {		
}
@media screen and (max-width : 959px) {
	
	div#header_responsive {display:block;}
	div#header_right {display:none;}
	
	div#header_logo {margin: 5px 0 0 40px;}
	div#header_slogan {padding:10px 0 0 280px;}
	div#header_top_menu {padding:5px 0 5px 0;}
	div#btn_menu_responsive {height: 40px !important;}
	
	
}
@media screen and (max-width : 900px) {
	.footer_sitemap_column {grid-column:span 3;}
	.footer_coord {grid-column:span 6;}
}
@media screen and (max-width : 850px) {
	div#header_cadre {padding: 0;}
	div#header_slogan {position:relative; width:100%; text-align:center; padding:0 20px 10px 20px; margin:0 auto;}
	div#header_logo {margin: 40px 0 0 40px;}
}
@media screen and (max-width : 850px) {
}
@media screen and (max-width : 750px) {
}
@media screen and (max-width : 700px) {	
}
@media screen and (max-width : 650px) {
	
	.contenu {margin: 0 auto;}
	div#header_slogan {font-size:0.8em;}
	
	
	.footer_coord {grid-column:span 8;}
	.footer_menu {grid-column:span 4;}
	.footer_logo {grid-column:span 12; text-align:center; margin:0 auto 40px auto;}
	.footer_logo img {max-width:260px;}
	
}

@media screen and (max-width : 600px) {
	header {
	  width: calc(100% - 250px);
	}
	div#header_responsive{ width: 80px;}
	.menu_item_name {display:none;}
	
	.general_content {width: 92%;}
	
}
@media screen and (max-width : 550px) {
	div#header_logo {width: 135px;margin: 45px 0 0 20px;}
}

@media screen and (max-width : 500px) {	
	
	div#bottom_cadre {width:100%;}
	
}
@media screen and (max-width : 480px) {	
	.footer_sitemap_column {padding:0;}
	.footer_coord {grid-column:span 12; max-width:260px; margin:0 auto 30px auto;}
	.footer_menu {grid-column:span 12; width:230px; margin:0 auto;}
	div#footer_legal_link {padding:0 50px;}
}
@media screen and (max-width : 450px) {	
	div#header_cta_devis {display:none;}
}
@media screen and (max-width : 400px) {	
}

@media screen and (max-width : 350px) {	
}
@media screen and (max-width : 300px) {	
}