/*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;
}
strong {font-weight: bold;}
body, html {
	width:100%;
	background:#FFF;
}
html, input, select, textarea {
	font-family: "Roboto", sans-serif;
	color:#3F3F3F;
	font-size:1em;
	line-height: 1.4em;
	font-weight: 300;
}
    

a:focus { 
	outline:0;  /* Enlève le pointille sur les liens (notamment visible sur les supports mobiles*/
}

div#global {
	position:relative;
	height:100%;
	background:#FFF /*url("../img/public/contenu_fond_bg.png") no-repeat bottom right*/;
}
.general_content {
	width:92%;
	max-width:1600px;
	padding:0;
	margin:0 auto;
	/*display:table;*/ /* enlever le 05/10/2023 car cela genait la gestion du overflow-x pour les tableaux (table dans le contenu) trop large*/
	/*display: inline-table;*/
	position:relative;
}


/* HEADER */

div#header_top_content{
	padding: 5px 0;
  display: table;
}

div#header_logo {position:absolute; z-index:101; width:220px;margin:5px 0 0 80px;transition: width 0.5s;}
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: 0;}

div#header_top {position:relative; overflow:hidden;padding: 10px 0 20px 0; background:var(--cg_vert);}
div#header_top_menu {background:var(--cg_vert_fonce);padding: 0 0 15px 0;}

div#header_slogan {padding: 5px 0 0 300px; font-size:1.6em; width:calc(100% - 180px); float:left; color:#FFF;}
div#header_slogan .slogan2 {font-size:1.4em;}
div#header_slogan .slogan1 {font-size:0.7em;}
div#header_cta_devis {
	position: absolute;
	font-size: 1.2em;
	width: 170px;
	right: 8%;
	top: 10px;
	height: 40px;
	z-index: 10;
}
a.btn_top {
	  position: absolute;
    display: table;
    text-decoration: none;
    margin: 4px 0 0 0;
    padding: 10px 20px;
    background: var(--cg_orange);
    color: #FFF;
    border-radius: 1.8em;
    right: 0;
}
a.btn_top:hover {background:#000;}
header {position:relative; /*float:right;*/ display:table; padding:10px 0 25px 0;margin:0; width:calc(100% - 450px); height: 51px;}


div#header_CTA_contact a {
	position: relative;
	float:right;
	display:table;
	background: var(--cg_orange);
	border-radius: 3em;
	margin: 0;
	padding:6px 20px;
	color:#FFF;
	text-decoration:none;
	text-transform: uppercase;
	font-size:0.9em; 
	font-weight:600;
}
div#header_CTA_contact a:hover {
	background: #000;
}


div#header_content {position:relative;width:100%;margin:0 auto;}


div#header_right {position:relative;width:100%;}



/* MENU */

div#header_nav{width:100%; margin:0; padding:0;}
div#header_nav_content {width:100%;}


div#menu_cadre {
	position:relative;
	float:right;
	width:100%;
	max-width: 390px;
}

div#menu{
	position:relative;
	width:100%;
	margin:0 auto;
	font-family: 'Lato', sans-serif;
}

/* aspect menu au scroll */
.header_scroll div#header_cadre {min-height:90px;}
div#header_logo.header_scroll {position:fixed; top:0;width:130px; transition: width 0.5s;}
div#header_cadre.header_scroll {position:fixed; top:0; transition: width 0.5s;}

/*.header_scroll div#header_logo_left img {max-width:105px;}*/



/* MENU RESPONSIVE */


div#header_responsive {display:none;position:relative;float:right;width:130px;}

#menu_responsive {font-size:1em; font-weight:300;}

.header_scroll .menu_item_name {color: var(--cg_blanc);}

.header_r {color: var(--cg_orange) !important;}
.menu_item_picto a.picto_menu_r span {background: var(--cg_blanc) !important;}
div#btn_menu_responsive {float: right;}
div#btn_menu_responsive:hover .menu_item_picto a.picto_menu_r:before {background: var(--cg_orange) !important;}
div#btn_menu_responsive:hover .menu_item_picto a.picto_menu_r:after {background: var(--cg_orange) !important;}
div#btn_menu_responsive:hover .menu_item_picto a.picto_menu_r span {background: var(--cg_blanc) !important;}
.menu_item_name {color:var(--cg_blanc) !important;}
.mm-panel.mm-hasnavbar .mm-navbar {background:var(--cg_orange) !important;}
.menu_item_picto a.picto_menu_r:before,
.menu_item_picto a.picto_menu_r:after
{
	background: var(--cg_orange) !important;
}
.menu_item_name {padding: 3px 0 8px 0 !important;}
.menu_item_picto a.picto_menu_r {width: 50px !important;}
.menu_item_picto a.picto_menu_r {padding: 0 0 10px 10px !important;}

/*.header_scroll .menu_item_picto a.picto_menu_r::before, .header_scroll .menu_item_picto a.picto_menu_r::after, .header_scroll .menu_item_picto a.picto_menu_r span { background:var(--cg_bleufonce);}*/

#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:0.9em;padding:5px 0 5px 0;color:#243746;}
#menu_responsive li.niveau2, #menu_responsive li.niveau3, #menu_responsive li.niveau4 {font-size:0.9em;padding:10px 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/footer_adresse.png) left center no-repeat;
	background-size:26px;color:#243746;
}
p.header_coord_tel {font-size:0.9em;
	background:url(../img/public/footer_tel.png) left center no-repeat;
	background-size:26px;color:#243746;
}
p.header_coord_mobile {font-size:0.9em;
	background:url(../img/public/footer_tel.png) left center no-repeat;
	background-size:26px;color:#243746;
}
p.header_coord_mail {font-size:0.9em;
	background:url(../img/public/footer_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 {padding:0; overflow: hidden;}
div#middle_content {
	margin:0 auto;
	padding:0 0 0 0;
}
.contenu {
    position: relative;
    margin: 0 auto;
    overflow: hidden;
}

div#page_context {position:relative; margin:20px auto; padding:30px 0; background:url(../img/public/context_title_background.jpg) center no-repeat;}
div#page_context a {text-decoration:none; color:inherit;}
.context_title {color:#023247; font-size:1.4em; font-weight: bold; text-transform: uppercase; float:left; margin:4px 10px 0 0;}
div#page_context p.context_sstitle {color:#FFF; font-size:1.6em; font-weight: bold; text-transform: uppercase; float:left;}


.h1_cadre {position:relative;width:100%;padding:10px 0 20px 0;margin:0 auto; /*text-transform:uppercase;*/}


/* FIL ARIANE */
.fil_ariane {position:relative;margin:0 auto; padding:8px 20px 5px 20px;font-size:0.9em;text-align:right;background:var(--cg_marron);}
.fil_ariane a {position:relative;width:100%; text-decoration: none; color:#FFF;}
.fil_ariane a:hover { color:#000;}
/*.ariane_actif {font-weight:bold;}
.ariane_classic {color:#1e1e1e;}*/
.ariane_sep {color:#FFF;}
.ariane_menu_end {font-weight:bold;}



/* 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:250px;
	overflow:hidden;
	padding:0 20px 0 5px;
}
.gm-style .gm-style-iw-d {
  overflow-y: auto;
  overflow-x: hidden;
}
.gm_nom {
	font-size:1.2em;
	margin:0 0 5px 0;
	font-weight:500;
}

/*div#gm_infobulle img { width:100%;}*/

.gm_tel {font-size:1.3em;font-weight:600;}


/* FOOTER */

footer {position:relative;width:100%;padding:0;margin:25px auto 0 auto; background:var(--cg_vert);}
footer::before {
  content: '';
	position: absolute;
	top: -20px;
	left: 0;
	right: 0;
	height: 20px;
	background: var(--cg_vert_fonce);
	clip-path: polygon(-20% 100%, 100% 0, 100% 100%);
}

div#footer_content {position:relative; padding:50px 0;display: grid; grid-template-columns: repeat(4, 1fr);/*gap: clamp(16px, 4vw, 100px);*/}
.footer_column {grid-column:span 1; padding:0 10%;}
.footer_column2, .footer_column3, .footer_column4 {border-left: 3px solid #5e913a; padding: 0 0 0 20%;}

.footer_column_title {font-family: "Caveat Brush", cursive; color:var(--cg_vert_fonce); margin:0 0 20px 0; font-size:1.6em;}
.footer_column_title:after {
  content: "";
  position: relative;
  width: 40px;
	left:0;
	bottom:-6px;
	border-bottom:5px solid var(--cg_vert_fonce);
	transform: scaleX(1);  
  transition: transform 150ms ease-in-out;
	display:table;
}


.footer_column p.footer_column_item {margin:5px 0 7px 0;color:#FFF;}
.footer_column p.footer_column_item a {color:inherit; display:table; text-decoration:none;}
.footer_column p.footer_column_item a:hover{color:var(--cg_vert_fonce); font-weight:bold; font-size:0.97em;}

a.btn_footer {
	  position: relative;
    display: table;
    text-decoration: none;
    margin: 10px 0;
    padding: 10px 20px;
    background: var(--cg_orange);
    color: #FFF !important;
    border-radius: 1.8em;
    right: 0;
}
a.btn_footer:hover {background:#000; color:#FFF !important;}

div#footer_legal {width:100%; padding:10px 60px; margin:0;font-size: 0.9em;color:#FFF; background:#000;}
div#footer_legal_link {position:relative;overflow: hidden; text-align: center;}
div#footer_legal_link a {color:#FFF; text-decoration:none; padding:0 5px;}
div#footer_legal_link a:hover {font-weight:bold; font-size:0.97em;}

@media screen and (max-width : 1600px) {	
	div#header_cta_devis {right: 5%;}
}
@media screen and (max-width : 1450px) {
	/*div#menu_cadre { max-width: 612px;}*/
}
@media screen and (max-width : 1350px) {
	/*div#menu_cadre { max-width: 680px;}
	div#header_logo, .header_scroll div#header_logo { width:380px;}*/
}
@media screen and (max-width : 1050px) {
	div#header_slogan { font-size: 1.2em;}
	.footer_column {grid-column: span 2;}
	.footer_column3 {border-left: 0; padding: 0 10% 0 10%;}
	.footer_column2 {padding: 0 10% 0 10%;}
	.footer_column1, .footer_column2 {margin:0 0 25px 0;}
	.footer_column3, .footer_column4 {padding: 25px 10% 0 10%;}
	
}
@media screen and (max-width : 959px) {	
		
	div#header_logo { width:200px;}
	div#header_responsive {position: absolute; float: none; display:block;padding: 20px 0 0 0; right:6%;}
	div#header_right {display:none;}	
	header, .header_scroll header {padding: 5px 0 0 0;}
	.header_scroll div#header_responsive {padding: 15px 0 0 0;}
	header {width:100% !important;}
	div#header_cadre {min-height: 78px;}
	
}
@media screen and (max-width : 900px) {	

	div#header_logo {width: 160px; margin: 5px 0 0 40px;}
	div#header_slogan {padding: 5px 0 0 180px; text-align:center;}


	div#footer_top_left,
	div#footer_top_right {grid-column:span 12;}
	
	div#footer_top {padding: 0 0 60px 0;}

	div#footer_legal_logo, div#footer_legal_link {float:none; margin:0 auto; width:100%;text-align: center;}
}
@media screen and (max-width : 800px) {	
	
	div#header_cta_devis {right: 160px; bottom: 19px; top: auto;}
	div#header_slogan {width: 100%;}
	.fil_ariane {padding: 10px 0; font-size:0.9em;}
}
@media screen and (max-width : 750px) {	
}
@media screen and (max-width : 650px) {	
	.contenu {margin: 0 auto;}
	div#page_context {padding:20px 0;margin: 20px auto 0 auto; font-size:0.8em;}
	
}
@media screen and (max-width : 600px) {
	div#header_rs {display:none;}
}
@media screen and (max-width : 550px) {	
	div#header_logo {margin: 5px 0 0 20px;}
	div#header_slogan { padding: 5px 0 0 160px;}
	div#header_cta_devis {right: 160px; bottom: 16px;}
	a.btn_top {padding: 6px 15px 8px 15px;font-size:0.9em;}
}
@media screen and (max-width : 500px) {			
	
	.menu_item_name {display:none;}
	div#header_responsive {width:80px;}
	div#header_cta_devis {right: 85px; bottom: 16px;}

	.h1_cadre {text-align:center;}
	
	div#page_context {font-size:0.6em;}
	.context_title {margin: 2px 10px 0 0;}	
	
	div#footer_legal a {float:none;margin:10px auto;width: 100%;}

	div#footer_content{max-width: 290px;}
	.footer_column {grid-column: span 4;}
	.footer_column1, .footer_column2, .footer_column3, .footer_column4 {border-left: 0; padding: 0 10% 0 10%; }
	.footer_column2, .footer_column3, .footer_column4 {border-top:3px solid #5e913a; padding: 25px 10% 0 10%;}
	.footer_column1, .footer_column2, .footer_column3 {margin:0 0 25px 0;}
}
@media screen and (max-width : 450px) {	
	div#footer_legal {font-size:0.8em;}
	div#gm_infobulle {	width:200px; }
	
	.gm-ui-hover-effect {width:38px !important; height:38px !important;}
}
@media screen and (max-width : 400px) {	
	div#header_logo {width: 105px;}
	div#header_slogan {padding: 5px 0 0 110px;}
	div#header_cta_devis {right: auto; left:5%; width:140px; bottom: 16px;}
	div#header_logo.header_scroll {width: 105px;}
}
@media screen and (max-width : 350px) {	
}