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: 'Varta', 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%;
	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;
	position:relative;
}

/* CHARTE GRAPHIQUE COULEUR */
.cg_orange {color:#e29418;}
.cg_bleu {color:#006bab;}
.cg_bleufonce {color:#002456;}



/* HEADER */
div#header_top {position:relative; z-index:98; width:100%; background: #313131; height:30px;}
div#header_cadre {position:relative; z-index:100; width:100%;margin:0 0 7px 0; padding:12px 0;background: #FFF;}

div#header_content {position:relative;width:100%;margin:0 auto;}

div#header_left {position:relative; float:left; width:380px;margin:0 30px 0 0;}
div#header_right {position:relative; float:right; width:calc(100% - 380px); max-width: 700px;}

div#header_logo {position:absolute; padding:0; left:0; max-width:250px; margin:-37px 0 0 0;}
div#header_logo img { width:100%;}

div#header_logo_titre {position:absolute; top:24px; right:0; font-size:2.8em; color:#5c5c5c;}

div#header_logo_titre a {display:block; text-decoration:none; color:inherit;}

div#header_responsive {display:none;position:relative;float:right;width:140px;}
div#header_bottom {position:relative;display:table;float:left;width:calc(100% - 340px);}

header {position:relative;display:table;width:100%;}

div#header_cadre.header_scroll {position:fixed; top:0; border-bottom:1px solid #CCC;padding: 10px 0 0 0;}

div#header_cadre.header_scroll {
	-webkit-transition: all 0.5s ease; /* Safari et Chrome */
	-moz-transition: all 0.5s ease; /* Firefox */
	-ms-transition: all 0.5s ease; /* Internet Explorer 9 */
	-o-transition: all 0.5s ease; /* Opera */
	transition: all 0.5s ease;
}

div#header_cadre.header_scroll div#header_left {width:260px;}
div#header_cadre.header_scroll div#header_logo {width:85px;position:relative;margin:3px 0 0 0;}
div#header_cadre.header_scroll div#header_logo_titre {top:8px; font-size:2em;}

/*
div#header_cadre.header_scroll div#header_left {width:100px;}
div#header_cadre.header_scroll div#header_right {width:calc(100% - 100px);}
*/

/* MENU */
div#header_nav{width:100%; margin:18px 0 0 0;}
div#header_nav_content {width:100%;}


div#header_cadre.header_scroll div#header_nav {margin:10px 0 0 0;}

div#menu_cadre {
	position:relative;
	float:right;
	width:100%;
}

div#menu{
	position:relative;
	width:100%;
	margin:0 auto;
	font-size:1.2em;
}
div#menu ul, div#menu li { list-style:none;}
ul.menu_list{
	position:relative;
	margin:0;
	padding:0;
	width:100%;
	display:table;
}

#menu_list ul li{ position:relative;list-style:none;}


#menu_list li a {
	color: inherit;
	display:block;
	outline:0;
	text-decoration:none;
}

#menu_list li ul{
	position:absolute;
	display:none;
	top:40px;
	width:100%;
	z-index:1000;
	animation: fadein 1s;
	-moz-animation: fadein 1s;
	-webkit-animation: fadein 1s;
	-o-animation: fadein 1s;
}

/* niveau 1 */
#menu_list li {
	margin:0;
	list-style-position:outside;
	width:auto;
	text-align:center;
	padding:0;
}

#menu_list li.niveau1{
	position:relative;
	float:left;	
	font-size:19px;
	margin:0 2%;
	color:#002456;
	background:url("../img/public/menu_border.png") left bottom no-repeat;
}
#menu_list li.niveau1 a {padding:12px 15px 1px 0;}
#menu_list li.niveau2 a, #menu_list li.niveau3 a {padding:0;}



#menu_list li.niveau1:hover, #menu_list li.niveau1.hover {color: #006bab; background:url("../img/public/menu_border_hover.png") left bottom no-repeat;}



#menu_list li.niveau1:hover ul li ul {display: none;}



/* niveau 2 */

#menu_list ul {display:none;}

#menu_list li ul li.niveau2 ul {top: 0px;}
#menu_list li.niveau1:hover ul {
    display: block;
    padding: 20px 0 0 0;
    margin: 0;
    color: #FFF;    
}

div#header_cadre.header_scroll #menu_list li.niveau1:hover ul li ul { margin-top: 0; }

#menu_list li.niveau1 ul li {font-size:0.9em;min-width:120px;width:100%;background: RGBA(0,36,86,0.8);display:table;}
#menu_list li ul li:hover {background: RGBA(226,148,24,0.8);}
#menu_list li.niveau1 ul li a {padding:7px 5px 5px 5px; border-top:1px solid #6394be;width: 90%; margin: 0 auto;}
#menu_list li.niveau1 ul li.first_ssmenu a {border-top:0px;}
#menu_list li.niveau1 li.niveau2:hover a {color: #FFF;}



/* niveau 3 */

div#menu li.niveau1:hover ul li ul{display:none; padding: 0;}
#menu_list li.niveau1:hover ul li:hover ul{display:block;margin:0 0 0 110px;background:#709525;}
div#menu li.niveau3 {min-width: 160px !important;}



/* MENU RESPONSIVE */
#menu_responsive {font-size:1em; font-weight:300;}



.header_scroll .menu_item_name {color: #006bab;}
.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:#006bab;}

#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; font-weight:bold;}
#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_list_r li.menur_rdv {color:#1160a2;font-weight:bold;text-transform:uppercase;background:url(../img/public/picto_calendar_menur.png) center left no-repeat;width:100%;padding:0 0 0 25px;}
.menu_list_r li.menur_rdv a {padding: 11px 10px 9px 20px !important;}
.menu_list_r li.menur_rdv:hover {color:#FFF;background:#81bd2b url(../img/public/picto_calendar_menur.png) center left no-repeat;}

.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_content {
	margin: 0 auto;
	padding:0 0 0 0;
}
.contenu {
    position: relative;
    margin: 25px auto 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;}


/* FIL ARIANE */
.fil_ariane {position:relative;margin:0 auto; padding:10px 20px;font-size:0.7em;}
.fil_ariane a {position:relative;width:100%; text-decoration: none; text-transform: uppercase;}
.fil_ariane a:hover { color:#e29418;}
.ariane_classic {color:#313131;}
.ariane_actif {color:#00447b;}



/* 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;}


/* 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:200px;
	overflow:hidden;
	text-align:center;
}
.gm_nom {
	font-size:1.2em;
	margin:5px 0;
	font-weight:500;
}
.gm_logo img {max-width:100% !important;}
/*div#gm_infobulle img { width:100%;}*/

.gm_tel {font-size:1.3em;font-weight:600;}






/* FOOTER */
div#footer_top {position:relative; width:100%; padding:50px 0; background: #ededed;}
div#footer_top_content {
	display:grid;	
	grid-template-columns:repeat(4, 1fr);
	grid-column-gap: 15px; grid-row-gap: 15px;
}
div#footer_top_content.footer_nb_column_4 {grid-template-columns:repeat(4, 1fr);}
div#footer_top_content.footer_nb_column_3 {grid-template-columns:repeat(3, 1fr);}
div#footer_top_content.footer_nb_column_2 {grid-template-columns:repeat(2, 1fr);}
div#footer_top_content.footer_nb_column_1 {grid-template-columns:repeat(1, 1fr);}



.footer_top_column {grid-column:span 1; padding:20px 2%; text-align: center; max-width:300px; margin:0 auto;}
.footer_contact_logo img { width:100%; max-width:150px; margin:0;}
.footer_contact_titre {font-size:2em; margin:25px 0 15px;max-width: 260px; text-transform: uppercase;}
.footer_contact_tel { font-size:1.5em; font-weight: bold;}
.footer_contact_adresse {margin:15px 0 0 0; text-transform: uppercase;}


footer {width:100%;padding:0;text-align:center;background:#000;}


div#footer_content {width:100%; padding:10px;font-size: 0.8em;color:#FFF;}

footer a {color:inherit;text-decoration:none;}
footer a:hover {text-decoration:underline;}



@media screen and (max-width : 1600px) {
	
	div#social_media_fixed {max-width:55px;}
	.social_media_btn {	width:55px;	height:55px; }
	
}
@media screen and (max-width : 1450px) {
	ul.menu_list li.niveau1 {padding:0 0.5%;}
}
@media screen and (max-width : 1350px) {
	ul.menu_list li.niveau1 {padding:0 0.2%;}
	
}

@media screen and (max-width : 1280px) {
	/*ul.menu_list li.niveau1 {padding:0 0.1%;}*/
	ul.menu_list li {font-size: 0.85em;}
	
	div#header_left {width:260px;}
	div#header_right {width:calc(100% - 260px);}
	div#header_nav {margin: 12px 0 0 0;}
	
}


@media screen and (max-width : 1100px) {
	div#header_left, div#header_cadre.header_scroll div#header_left { width: 230px; }
	div#header_right { width: calc(100% - 230px); }
	
	
	.footer_contact_titre {font-size:1.5em; margin:25px 0 15px;max-width: 260px; text-transform: uppercase;}
	.footer_contact_tel { font-size:1.3em;}

}
@media screen and (max-width : 1050px) {
	div#header_responsive {display:block;padding: 6px 0 0 0;}
	div#header_cadre.header_scroll div#header_responsive {padding: 5px 0 0 0;}
	div#header_right {display:none;}
}

@media screen and (max-width : 1000px) {
	
	
		
}
@media screen and (max-width : 959px) {

	.footer_top_column {grid-column:span 2; padding:20px 2%; text-align: center; max-width:300px; margin:0 auto;}
	
	
	
}
@media screen and (max-width : 900px) {

}
@media screen and (max-width : 850px) {
	
	div#social_media_fixed {max-width:50px;}
	.social_media_btn {	width:50px;	height:50px; }
	
}

@media screen and (max-width : 750px) {
	
	/*
	div#header_cadre.header_scroll {position:fixed;top:0;z-index:102;overflow:hidden;width:100%;border-bottom:1px solid #CCC;}
	header.header_scroll {position:relative;}
	div#header_cadre {overflow:hidden;}
	*/
}
@media screen and (max-width : 700px) { 
	
}
@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) {
	.footer_contact_adresse {font-size:0.9em;}
	
}
@media screen and (max-width : 550px) {
	
	/*
	div#top_logo {width: 200px;  height: 140px;}
	div#top_right {width: calc(100% - 210px);  margin: 0 0 7px 210px;}
	*/
	
}

@media screen and (max-width : 500px) {
	
	div#page_context {font-size:0.6em;}
	.context_title {margin: 2px 10px 0 0;}
	
	
	
	
	/* SOCIAL MEDIA ACTION */
	div#social_media_fixed {height:65px;width:100%;/*top:auto;*/bottom:0;right:0;padding:0;max-width:100%;}
	/*
	div#social_media_fixed.header_scroll {top:auto;}
	*/
	.social_media_btn {position:relative;float:left;width:calc(20% - 2px);height:65px;margin:0 2px 0 0; padding:0;}
	

	
	
	.faq_top .news_titre {font-size: 1.1em;}
	
	
}

@media screen and (max-width : 480px) {	
	div#header_responsive{ width: 80px;}
	.menu_item_name {display:none;}
	/*div#top_logo.header_scroll {width: 114px;  padding: 2px 10px 0 10px;}*/
	footer {font-size:0.8em;}
	div#top_right {display:none;}
	/*div#top_logo {width: 120px;  height: 70px; padding:4px 10px 0 10px;}*/
}

@media screen and (max-width : 450px) {	
	
	
	
	.footer_baseline { padding: 50px 20px; font-size:1em;}
	
}

@media screen and (max-width : 400px) {
	
	div#header_left, div#header_cadre.header_scroll div#header_left {width:110px;}
	div#header_right {width:calc(100% - 150px);}
	/*div#header_logo, div#header_cadre.header_scroll div#header_logo {width:50px;}*/
	div#header_logo_titre, div#header_cadre.header_scroll div#header_logo_titre {top:2px; font-size:1.6em;}
	
	div#header_responsive, div#header_cadre.header_scroll div#header_responsive {padding: 0; margin:-5px 0 0 0;}
	
	
	
	
}

@media screen and (max-width : 350px) {
	div#social_media_fixed {height:50px;}
	.social_media_btn {height:50px;}
	
}
@media screen and (max-width : 300px) {
	
}