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:#202020;
	font-size:1em;
	line-height: 1.6em;
}

.font_roboto{
	font-family: 'Roboto', sans-serif;
}
    

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;
}

/* CHARTE GRAPHIQUE COULEUR */
.cg_orange {color:#f3954a;}
.cg_bleu_clair {color:#37b2c2;}
.cg_bleu_fonce {color:#00667c;}
.cg_vert_eau {color:#44af96;}
.cg_gris_clair {color:#d4c7be;}



/* HEADER */
div#header_cadre {position:relative; z-index:99; width:100%; min-height:115px;margin:0; padding:0; top:0; display:table; background:#FFF url("../img/public/top_bg.png") top center no-repeat;}


div#header_logo {position:absolute; width:450px; margin:0; padding:0; z-index:101;}

div#header_logo_index {display:none;position:absolute; width:450px; top:-10px; padding:0; z-index:101;}

header {position:relative; float:right; display:table; padding:60px 0 0 0;margin:0; width:calc(100% - 450px);}

div#header_logo img, div#header_logo_index img { width:auto; max-width:100%;}


div#header_content {position:relative;width:100%;margin:0 auto;}


div#header_right {position:relative;width:100%;}


div#header_responsive {display:none;position:relative;float:right;width:110px;}



/* MENU */

div#header_nav{width:100%; margin:0; padding:0;}
div#header_nav_content {width:100%;}


div#menu_cadre {
	position:relative;
	float:right;
	width:calc(100% - 40px);
}

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;
	font-size:0.9em;
	text-transform:uppercase;
}
ul.menu_list li.niveau1 {
	font-weight:400;
	text-align:center;
	margin:0;
	padding:0 2.5% 10px 2.5%;
}

ul.menu_list li.niveau1:before {
    content: "";
    position: absolute;
    width: 50px;
	left:calc(50% - 25px);
    height: 3px;
    bottom: 10px;
	border-bottom:4px solid var(--cg_rose);
	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.menu-inscription { background:var(--cg_violet) !important; border-radius:0.5em; padding:0 2.5%;}
ul.menu_list li.niveau1.menu-inscription a {color:#FFF !important;}
ul.menu_list li.niveau1.menu-inscription:hover { background:#000 !important; }

ul.menu_list li.niveau1.menu-inscription:before {border-bottom:none;}
ul.menu_list li.niveau1.menu-inscription:hover:before {transform: scaleX(0);} /* apparition du border à partir du milieu */

ul.menu_list ul{
	position:relative;
	display:none;
	padding:0;
	margin:-1px 0 0 0;
}
#menu_list li.sousmenu_visible:hover ul {   
	position: absolute;
	background: var(--cg_violet);
	border-top: 10px solid #FFF;
	color:#FFF;
	left: -50px;
	margin: 0;
	display: inline-block;
	z-index: 200;
	top: 45px;
	width:200px;
}
ul.menu_list li.niveau2 {
	width:100%;
}


ul.menu_list li.niveau1 a{
	text-decoration:none;
	/*color:#FFF;*/
	color:#666;
	display:block;
}

ul.menu_list li.niveau1 a {	
	padding:8px 0 5px 0;		
}
/*ul.menu_list li.niveau2 a{
	padding:8px 10px 8px 2px;
	color:#002e62;
}*/
ul.menu_list li.niveau1:hover{
	color: #FFF;
}
ul.menu_list li:hover a {
	color:var(--cg_rose);
	width:100%;
	height:100%;
}
div#menu ul.menu_list li.niveau2 a {color:#FFF !important;}
div#menu ul.menu_list li.niveau2:hover {
	background:#f3f4f5;
	color:#2b8bb4 !important;
}
div#menu ul.menu_list li.niveau2:hover a {color:var(--cg_violet) !important;}


/* aspect menu au scroll */
div#header_cadre.header_scroll {position:fixed;min-height:75px;border-bottom:1px solid #CCC;}
.header_scroll div#header_logo {width:250px;}
.header_scroll div#header_logo_index {width:250px;}
.header_scroll header {padding:30px 0 0 0; width:calc(100% - 250px);}
.header_scroll #menu_list li.sousmenu_visible:hover ul {top: 40px;}




/* MENU RESPONSIVE */

#menu_responsive {font-size:1em; font-weight:300;}

.header_scroll .menu_item_name {color: #666;}
.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:#666;}

#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:65px 0 0 0;*/ 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:20px 0;margin:0 0 50px 0;background:var(--cg_violet);color:#FFF;}


/* FIL ARIANE */
.fil_ariane {position:relative;margin:0 auto; padding:8px 20px 5px 20px;font-size:0.9em;text-align:right;background:#f1f1f1;}
.fil_ariane a {position:relative;width:100%; text-decoration: none; color:var(--cg_gris_fonce);}
.fil_ariane a:hover { color:var(--cg_violet);}
.ariane_actif {font-weight:bold;}
.ariane_classic {color:var(--cg_gris_fonce);}
.ariane_sep {color:var(--cg_violet); font-weight:bold;}

/* SLIDER : COURS */

div#cours_cadre { position:relative; padding:0 0 40px 0; min-height:650px;width:100%; }
div#cours_cadre.cours_cadre {background:var(--cg_rose) url("../img/public/cours_bg.jpg") center bottom no-repeat;}
div#cours_cadre.cours_cadre_autres { background:var(--cg_rose) url("../img/public/autres_cours_bg.jpg") center bottom no-repeat;}
p.autres_cours_title { text-align: center; padding:40px 0 0 0 !important;}
.cours_item {
	margin:40px auto;
	padding:0 10px;
	text-align: center;
}
.cours_item a {text-decoration:none; color:inherit;}


.cours_img {position:relative;margin: 0 auto;overflow: hidden;width: 100%;max-height: 290px;text-align: center; border-top-left-radius: 0.5em;border-top-right-radius: 0.5em;}
.cours_img img {min-width: 100% !important;max-width: none !important;margin: 0 !important; display:inline !important;}

.cours_img img {
	-webkit-transition: all 1s ease; /* Safari et Chrome */
	-moz-transition: all 1s ease; /* Firefox */
	-ms-transition: all 1s ease; /* Internet Explorer 9 */
	-o-transition: all 1s ease; /* Opera */
	transition: all 1s ease;
}
.cours_img:hover img {	
	-webkit-transform:scale(1.10); /* Safari et Chrome */
	-moz-transform:scale(1.10); /* Firefox */
	-ms-transform:scale(1.10); /* Internet Explorer 9 */
	-o-transform:scale(1.10); /* Opera */
	transform:scale(1.10);
}

.cours_item .cours_img_bg {
	position:absolute;
	z-index:99;
	width: 100%;
    height: 100%;
	background-size:100%;
	bottom:0;
}

.cours_item .cours_bottom{overflow: hidden; padding:0 0 20px 0; border-bottom-left-radius: 0.5em;border-bottom-right-radius: 0.5em;}

.cours_item_1 .cours_bottom {background:var(--cg_blanc);}
.cours_item_2 .cours_bottom {background:var(--cg_jaune);}
.cours_item_3 .cours_bottom {background:var(--cg_bleu);}
.cours_item_4 .cours_bottom {background:var(--cg_vert);}

.cours_item_1 .cours_img_bg {background:url(../img/public/cours_vignette_bg_1.png) center bottom no-repeat;background-size: 100%;}
.cours_item_2 .cours_img_bg {background:url(../img/public/cours_vignette_bg_2.png) center bottom no-repeat;background-size: 100%;}
.cours_item_3 .cours_img_bg {background:url(../img/public/cours_vignette_bg_3.png) center bottom no-repeat;background-size: 100%;}
.cours_item_4 .cours_img_bg {background:url(../img/public/cours_vignette_bg_4.png) center bottom no-repeat;background-size: 100%;}


.cours_nom {font-size:1.1em; font-weight: bold; margin:0 auto; padding:10px 0; text-transform:uppercase; transition: all 0.5s ease;}

.cours_duree {position:relative;display:table; margin:10px auto 0 auto;}

.cours_duree img {float:left;}
.duree_value {position:relative; float:right;margin:0;padding:2px 0 0 10px;}

.touslescours{ position:relative; margin:50px auto 0 auto;width:100%; text-align: center;}
.touslescours_btn a {color:var(--cg_rose) !important; text-transform:uppercase;}

div#cours_content .bx-wrapper {padding:0 90px !important;}

.bx-wrapper .bx-controls-direction a {top: calc(50% - 30px) !important;}

div#cours_content .bx-wrapper .bx-prev {
	left: 20px;
	width:60px;
	height:60px;
	background: url('../img/public/slider_cours_prev.png') center left no-repeat;
	background-size:100%;
	opacity: 0.5;
}
div#cours_content .bx-wrapper .bx-prev:hover,
div#cours_content .bx-wrapper .bx-prev:focus {
	background: url("../img/public/slider_cours_prev.png") center left no-repeat;   
	background-size:100%;
  	opacity: 1;
}
div#cours_content .bx-wrapper .bx-next {
	right: 20px;
	width:60px;
	height:60px;
	background: url("../img/public/slider_cours_next.png") center right no-repeat;
	background-size:100%;
	opacity: 0.5;
}
div#cours_content .bx-wrapper .bx-next:hover,
div#cours_content .bx-wrapper .bx-next:focus {
	background: url("../img/public/slider_cours_next.png") center right no-repeat;
	background-size:100%;
	opacity: 1;
}


/* 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;
}

/*div#gm_infobulle img { width:100%;}*/

.gm_tel {font-size:1.3em;font-weight:600;}


/* FOOTER */

footer {width:100%;padding:0;margin:0 auto; background:#231f20 url("../img/public/footer_bg.png") bottom right no-repeat;}
div#footer_sitemap {position:relative; width:100%;  padding:30px 0;}
div#footer_sitemap_content {max-width:1200px;display:grid;grid-template-columns:repeat(3, 1fr);grid-column-gap: 30px; grid-row-gap: 30px;}
.footer_sitemap_column {grid-column:span 1;}
.footer_sitemap_item {text-align:left; color:#FFF;}
.footer_sitemap_item_niveau1 { text-transform: uppercase; font-size:0.9em; margin:15px 0 0 0; font-weight:bold;}
.footer_sitemap_item_niveau2 { text-transform: uppercase; font-size:0.9em; margin:3px 0;padding: 0 0 0 20px; background:url(../img/public/puce.svg) top left no-repeat; background-size:25px;}


.footer_sitemap_item_niveau1 a:after {border-bottom:4px solid var(--cg_blanc);}

.footer_sitemap_item_niveau2 a:after {border-bottom:2px solid var(--cg_blanc);}

.footer_sitemap_item_niveau1 a:after, .footer_sitemap_item_niveau2 a:after {
    content: "";
    position: relative;
    width: 50%;
	left:0;
	height:2px;
	transform: scaleX(0);  
  	transition: transform 150ms ease-in-out;
	display:table;
}
.footer_sitemap_item_niveau1 a:hover:after, .footer_sitemap_item_niveau2 a:hover:after {transform: scaleX(1);} /* apparition du border à partir du milieu */


.footer_sitemap_column_img {margin:0 0 0 15px;}
.footer_sitemap_column_contact .footer_sitemap_column_img, 
.footer_sitemap_column_elever .footer_sitemap_column_img {margin:0;}
.footer_sitemap_column_coin_huitre .footer_sitemap_column_img {margin:0 0 0 25px;}

.footer_sitemap_item a {color:inherit; display:table; text-decoration:none;}

.footer_name {padding:0;}


.footer_name img { max-width:80%;}

.social_picto {position:relative; display: table; margin:40px 0 0 15%;}
.social_item {float:left; margin:0 5px; width:50px;}
.social_item img:hover { opacity: 0.5;}


div#footer_legal {width:100%; padding:10px 60px; margin:0;font-size: 0.8em;color:#FFF; overflow: hidden;}
div#footer_legal_logo {position:relative;float:left;width:84px;margin:0 20px 0 0;}
div#footer_legal_link {position:relative;float:left;width:calc(100% - 104px); text-align: center;padding:15px 0 0 0;}
div#footer_legal_link_content {max-width:650px;margin:0 auto;overflow: hidden;}
div#footer_legal a {position:relative;font-size:1.1em;font-weight:bold;text-transform:uppercase;color:inherit;text-decoration:none;margin:0 15px;width:auto;float:left;}
div#footer_legal a:after {
    content: "";
    position: relative;
    width: 50%;
	left:0;
	height:2px;
	border-bottom:2px solid var(--cg_blanc);
	transform: scaleX(0);  
  	transition: transform 150ms ease-in-out;
	display:table;
}
div#footer_legal a:hover:after {transform: scaleX(1);} /* apparition du border à partir du milieu */


@media screen and (max-width : 1200px) {
	/*ul.menu_list li.niveau1 {padding: 10px 1%;}*/
	/*ul.menu_list li {font-size: 0.8em;}*/
	div#header_logo, div#header_logo_index {top:0;width:330px;}
	header {padding:50px 0 0 0; width:calc(100% - 330px);}
}
@media screen and (max-width : 1200px) {
	ul.menu_list li.niveau1 {padding:0 1.5% 10px 1.5%;}
	.social_picto {position:relative; display: table; margin:40px auto 0 auto;}
}
@media screen and (max-width : 1000px) {
	div#header_responsive {display:block;padding: 10px 0 0 0;}
	div#header_right {display:none;}	
	header {width: calc(100% - 375px);}
}
@media screen and (max-width : 900px) {	
	
	div#footer_sitemap_content {grid-template-columns:repeat(3, 1fr);}
	
	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#footer_legal a {width: calc(50% - 30px);}
}
@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;}
	
	div#footer_sitemap_content {grid-template-columns:repeat(2, 1fr);}
	.footer_sitemap_column.footer_name {grid-column:span 2; text-align: center;}
}
@media screen and (max-width : 600px) {
	div#header_social {display:none;}
	div#header_logo {padding: 10px 0 4px 20px;}
	div#header_responsive {width: 150px;}	
	
	div#cours_content .bx-wrapper { padding: 0 20px !important;}
	.bx-wrapper .bx-controls-direction a {top: calc(50% - 10px) !important;}
	div#cours_content .bx-wrapper .bx-prev {left: 0; width:20px;	height:20px;}
	div#cours_content .bx-wrapper .bx-next {right: 0; width:20px; height:20px;}
	.cours_img {max-height: 290px;}
	
}
@media screen and (max-width : 550px) {	
	.menu_item_name {display:none;}	
	div#header_responsive {width: 90px;}
}
@media screen and (max-width : 500px) {		
	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%;}
}
@media screen and (max-width : 450px) {		
		
	div#header_logo, div#header_logo_index {top:0;width:250px;}
	header {padding:20px 0 0 0; width:calc(100% - 250px);}
	.header_scroll header {padding:20px 0 0 0;}
	div#header_cadre, div#header_cadre.header_scroll {min-height:50px;}
	
	
	footer {font-size:0.8em;}
}
@media screen and (max-width : 380px) {	
	div#header_logo {width: 220px; margin: 0 10px 0 0;}
	div#header_responsive {padding: 10px 0 0 0;}
}