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: "Lato", sans-serif;
	color:#000;
	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_cadre.header_scroll div#header_rs {top:10px;}
div#header_cadre.header_scroll div#header_rs p {width:23px;}


div#header_cadre {position:relative;/*position:fixed;*/ z-index:99; width:100%; min-height:125px; margin:0 auto; padding:20px 7%; top:0; display:table; background:var(--cg_gris_clair); border-bottom:6px solid var(--cg_bleu);}
div#header_cadre.header_scroll {position:fixed; top:0; min-height: 90px; border-bottom:2px solid var(--cg_bleu); padding: 0 7% 4px 7%;}




div#header_logo {position:absolute; width:300px; transition: width 0.5s; top:0; left:7%; padding:20px; z-index:101; overflow:hidden; background:var(--cg_bleu); border-bottom-left-radius:0.8em; border-bottom-right-radius:0.8em;box-shadow: 0 0 5px #757575;}

div#header_logo img { width:auto; max-width:100%;}

div#header_logo_left {width:100%;}

/*div#header_logo_left img {max-width:400px;}*/

header {position:relative; /*float:right;*/ display:table; padding:10px 0 25px 0;margin:0; width:calc(100% - 450px);}


div#header_cadre.header_scroll div#header_search {margin: 20px 0 0 0;}


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


div#header_right {position:relative;width:100%;}

/* PROFIL et DECONNEXION */
div#header_top .profil {position:relative;z-index:99;float:right;color:#000;margin:0 25px 0 0;font-size:1em;padding:5px 10px;}
div#header_top .profil a { color:inherit;text-decoration:none;}
div#header_top .profil_identite {float:left;}
.profil_picto {width:30px; height:25px; margin:0 7px 0 0;float:left;}


.profil_nom {overflow: hidden; text-overflow: ellipsis;height:25px;white-space: nowrap;}

.profil_nom, .profil_deconnect {float:left;padding:5px 0 0 0;}

div#header_top .profil_deconnexion {float:left; margin:0 0 0 30px;}
div#header_top .profil_deconnexion :hover {color:#C00;}
div#header_top .profil_nom :hover {color:var(--cg_bleu);}


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

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;width:210px; transition: width 0.5s;}
.header_scroll header {padding:0 0 15px 0;}

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

.header_r {color: var(--cg_bleu) !important;}
.menu_item_picto a.picto_menu_r span {background: var(--cg_corail) !important;}
div#btn_menu_responsive {float: right;}
div#btn_menu_responsive:hover .menu_item_picto a.picto_menu_r:before {background: var(--cg_bleu) !important;}
div#btn_menu_responsive:hover .menu_item_picto a.picto_menu_r:after {background: var(--cg_bleu) !important;}
div#btn_menu_responsive:hover .menu_item_picto a.picto_menu_r span {background: var(--cg_corail) !important;}
.menu_item_name {color:var(--cg_bleu) !important;}
.mm-panel.mm-hasnavbar .mm-navbar {background:var(--cg_bleu) !important;}
.menu_item_picto a.picto_menu_r:before,
.menu_item_picto a.picto_menu_r:after
{
	background: var(--cg_bleu) !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;}


p.menur_profil {font-size:0.9em;
	background:url(../img/administration/admin_compte.png) left center no-repeat;
	background-size:26px;color:#243746;
}
p.menur_deconnexion {font-size:0.9em;
	background:url(../img/administration/admin_logout.png) left center no-repeat;
	background-size:26px;color:#243746;
}


/* MIDDLE */
div#middle {padding:0; overflow: hidden;}
div#middle_content {
	margin:0 auto;
	padding:40px 0 0 0;
}
.contenu {
    position: relative;
    margin: 0 auto;
    overflow: hidden;
}


.user_page_title {line-height: 1.1em;font-size:2.5em; font-weight:600; text-align: center; margin:25px auto 50px auto; width:100%;}


.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:10px 20px 10px 20px;font-size:0.9em;text-align:right;background:var(--cg_corail);}
.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;}




/* FOOTER */

footer {width:100%;padding:0;margin:0 auto; background:var(--cg_sable);}

div#footer_content {position:relative; padding:25px 0;}
div#footer_top {position:relative; width:100%; padding:0; margin:0 auto 25px auto; display: grid; grid-template-columns: repeat(12, 1fr);gap: clamp(16px, 4vw, 100px);}
div#footer_bottom {position:relative; width:100%; padding:0; margin:0 auto;}

div#footer_top_left {grid-column:span 5;}

.footer_logo {margin: 0 auto; display: table;}
.footer_logo img {width:100%; max-width:400px;}


div#footer_top_right {grid-column:span 7;}


div#footer_legal {width:100%; padding:10px 60px; margin:0;font-size: 0.9em;color:#FFF; background:var(--cg_bleu);}
div#footer_legal_link {position:relative;overflow: hidden; text-align: center;}
div#footer_legal_link a {color:#FFF; text-decoration:none;}


/* PASSWORD VALIDATION */
div#pwd_checker {position:relative; padding:10px; background:#FFF;}
div#pwd_checker p {font-size:0.9em; margin:0 0 5px 0; padding:2px 0 0 30px}
.pwd_check_item_ok {color:green; background:url("../img/public/pwd_check_on.png") left 3px no-repeat; font-weight:700;}
.pwd_check_item_ko {color:gray; background:url("../img/public/pwd_check_off.png") left 3px no-repeat;}

@media screen and (max-width : 1650px) {	
	div#menu_cadre { max-width: 430px;}
}
@media screen and (max-width : 1450px) {
	div#menu_cadre { max-width: 415px;}
}
@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 : 1300px) {
	/*div#header_logo { width:250px; top:35px}
	.header_scroll div#header_logo { width:250px; top:15px}
	header, .header_scroll header {width:calc(100% - 300px);}
	header {padding:5px 0 25px 0;}	*/
	
}
@media screen and (max-width : 1150px) {
		
	
		
}
@media screen and (max-width : 1100px) {	
	
	div#footer_menu {padding:60px 0 0 0;}
	
}
@media screen and (max-width : 959px) {	
	
	div#header_logo, div#header_logo.header_scroll { width:200px;}
	div#header_responsive {display:block;padding: 10px 0 0 0;}
	div#header_right {display:none;}	
	header, .header_scroll header {padding: 5px 0 0 0;}
	
	header {width:100% !important;}
	div#header_cadre {min-height: 50px; padding: 10px 7% 0 7%;}
	div#header_cadre.header_scroll {min-height: 50px;}
		
	.header_scroll div#header_responsive {top:5px;}
	
	div#header_top .profil {position: absolute;float: none;margin: 3px 25px 0 0;right: 100px;}
	.header_scroll div#header_top .profil {margin: 13px 25px 0 0;}
	
	div#middle_content {padding: 30px 0 0 0;}
	
}
@media screen and (max-width : 900px) {	
}
@media screen and (max-width : 850px) {	
	.menu_item_name {display:none;}
	div#header_responsive {width:50px;}
	div#header_top .profil {right: 30px;}
}
@media screen and (max-width : 800px) {	
	
	.fil_ariane {font-size:0.9em;}
}
@media screen and (max-width : 750px) {	
	div#header_logo, div#header_logo.header_scroll { width:175px;padding: 5px 20px;}
	div#middle_content {padding: 20px 0 25px 0;}
}
@media screen and (max-width : 650px) {	
	
	div#header_top .profil .profil_nom, div#header_top .profil .profil_deconnect {display:none;}
	div#header_top .profil_deconnexion {margin: 0 0 0 10px;}
	
	.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) {
}
@media screen and (max-width : 550px) {	
	div#header_responsive {width: 80px;}
}
@media screen and (max-width : 500px) {	
	
	.h1_cadre {text-align:center;}
	
	div#page_context {font-size:0.6em;}
	.context_title {margin: 2px 10px 0 0;}		
	
}
@media screen and (max-width : 450px) {	
	div#header_top .profil {display:none;}
}
@media screen and (max-width : 400px) {			
}
@media screen and (max-width : 350px) {	
}