body{
	margin:0px;
	padding:0px;
	font-family:sans-serif;
	overflow-x: hidden;
}

.nowrap{
	white-space: nowrap;
}

.ui-tooltip {
	padding: 5px 10px;
	color: rgb(31,57,151);
	border: 2px solid rgb(31,57,151);
	border-radius: 10px;
	font-weight: bold;
	font-size: 14px;
	box-shadow: 0 0 3px black;	
}	


/* ---------------------------- Mise en page générale ----------------------- */

.corps{
    margin:auto;
    width:90%;
    max-width:1200px;
    padding:0px;
	margin-bottom:20px;
}

.corps_large{
    margin:auto;
    width:90%;
    max-width:1500px;
    padding:0px;
	margin-bottom:20px;
}

.lien_retour{
    margin:0px;
    margin-top:20px;
    padding:0px;
}

.lien_retour a, .lien_retour a:visited{
    padding:8px;
    background-color:rgb(31,57,151);
    text-decoration:none;
    color:white;
    border-radius:6px;
    white-space:nowrap;
}

@media only screen and (max-width: 800px) {
    .lien_retour a{    
        display:inline-block;
        margin:4px;
    }
}

@media only screen and (max-width: 500px) {
    .lien_retour a{    
        padding:6px;
        font-size:0.9em;
    }
}

.lien_retour a:hover{
    background-color:rgb(151,125,31);
}

.lien_retour_emb{
    float:left;
    text-decoration:none;
}


/* ---------------------------- Titres ----------------------- */

h1{
	box-sizing: border-box;
	width:90%;
	max-width:500px;
	margin:auto;
	background-color: rgb(31,57,151);
	border:1px solid rgb(31,57,151);
	border-radius:10px;
	color:white;
	font-weight: bold;
	font-size:1.2em;
	padding:5px;
	text-align:center;
	line-height: 1.7em;
	margin-top:20px;
	margin-bottom:10px;
}

h2{
	color:rgb(31,57,151);
	font-size: 1.3em;
	font-weight: bold;
	margin-top:40px;
}

.sous_titre{
    box-sizing: border-box;
	width:95%;
	max-width:600px;
	border:2px solid rgba(31,57,151,1);
	background-color: rgba(31,57,151,0.2);
	margin: auto;
	padding:10px;
	color:rgb(31,57,151);
	border-radius:8px;
	margin-top:30px;
	margin-bottom:20px;
	text-align:center;
	font-weight:bold;
}

.sous_titre_fonce{
    box-sizing: border-box;
	width:95%;
	max-width:300px;
	border:2px solid rgba(31,57,151,1);
	background-color: rgba(31,57,151,0.8);
	margin: auto;
	padding:10px;
	color:white;
	border-radius:8px;
	margin-top:30px;
	margin-bottom:20px;
	text-align:center;
	font-weight:bold;
	font-size:1.1em;
}


.br_responsive{
    display:none;
}

.br_responsive2{
    display:none;
}

.sous_titre_fonce a, .sous_titre_fonce a:hover{
    color:white;
    float:right;
    font-size:0.9em;
    text-decoration:none;
    padding:3px 6px;
    background-color:rgb(31,57,151);
    border-radius:5px;
    position:relative;
    bottom:1px;
}

.sous_titre_fonce a:hover{
    background-color:rgb(151,125,31);
}

.sous_titre_fonce a img{
    position:relative;
    bottom:2px;
}

@media only screen and (max-width: 1000px) {
    .sous_titre_fonce a, .sous_titre_fonce a:hover{
        position:relative;
        bottom:3px;
    }
}

@media only screen and (max-width: 800px) {
    .sous_titre{
    	padding:8px;
    	margin-top:10px;
    	margin-bottom:10px;
    	font-size:1em;
    }
    .sous_titre_fonce{
    	padding:8px;
    	margin-top:10px;
    	margin-bottom:10px;
    	font-size:1em;
    }
    
    .br_responsive2{
        display:inline;
    }
}

@media only screen and (max-width: 500px) {
    .br_responsive{
        display:inline;
    }
    
    
}



/* ---------------------------- Lien bouton ----------------------- */

.lien_bouton_p{
    line-height:2.2em;
}

a.lien_bouton, label.lien_bouton, a.lien_bouton_active{
	padding:5px 8px;
	background-color: rgb(31,57,151);
	border:1px solid rgb(31,57,151);
	border-radius:5px;
	color:white;
	text-decoration: none;
	box-shadow: 0 2px 5px rgba(0,0,0,.5);
	margin:20px;
	white-space:nowrap;
}

a.lien_bouton:hover, label.lien_bouton:hover, a.lien_bouton_active{
	background-color:rgb(151,125,31);
	border-color:rgb(151,125,31);
	cursor:pointer;
}


/* ##################################### HEADER ######################################## */

#header{
	background:rgb(31,57,151);
	width:100%;
	height:41px;
	margin:0px;
	padding:3px;
	border-bottom:2px solid rgb(143,156,203);
	text-align:center;
}

#header_home{
	margin-top:10px;
	margin-left:5px;
	display: inline-block;
	float:left;
}

#header_home a{
	padding:3px 5px;
	background:rgb(87,107,177);
	border:4px solid rgb(199,206,229);
	border-radius:25px;
}

#header_home a:hover{
	background:rgb(115,131,190);
	border:4px solid rgb(227,230,242);
}

.home_retour{
	margin-left:1px;
	margin-right:1px;
}

#header_titre{
	margin:4px 0px;
	padding:4px 8px 3px 8px;
	display: inline-block;
	font-size: 1.3em;
	font-weight:bold;
	color:white;
}



#header_profil, #header_admin, #header_num{
	margin-top:10px;
	margin-right:8px;
	display: inline-block;
	float:right;
}

#header_profil a, #header_admin a, #header_num a{
	background: rgb(199,206,229);
	padding:7px 6px;
	border-radius:5px;
}

#header_profil a:hover, #header_admin a:hover, #header_num a:hover{
	background: rgb(227,230,242);
}

#header_profil_img, #header_admin_img, #header_num_img{
	padding:3px 5px;
	background:rgb(87,107,177);
	border-radius:25px;
}

.profil-connecte #header_profil_img, #header_admin_img{
	background:rgb(151,125,31);
}

#header_profil a:hover #header_profil_img{
	background:rgb(115,131,190);
}

#header_profil.profil-connecte a:hover #header_profil_img, #header_admin a:hover #header_admin_img, #header_num a:hover #header_num_img{
	background:rgb(151,125,31);
}

#header_profil_texte{
	margin-left:5px;
}

#header_profil a, #header_profil a:hover, #header_profil a:focus, #header_profil a:visited, #header_admin a, #header_admin a:hover, #header_admin a:focus, #header_admin a:visited, #header_num a, #header_num a:hover, #header_num a:focus, #header_num a:visited{
	font-size: 1em;
	font-weight: bold;
	color:rgb(31,57,151);
	text-decoration: none;
}

#header_profil.profil-connecte a, #header_profil.profil-connecte a:hover, #header_profil.profil-connecte a:focus, #header_profil.profil-connecte a:visited, #header_admin a, #header_admin a:hover, #header_admin a:focus, #header_admin a:visited, #header_num a, #header_num a:hover, #header_num a:focus, #header_num a:visited{
	color:rgb(151,125,31);
}


@media only screen and (max-width: 630px) {

#header_profil, #header_admin, #header_num{
	margin-top:10px;
	margin-right:8px;
	display: inline-block;
	float:right;
}

#header_profil a,#header_admin a,#header_num a{
	padding:3px 1px;
	background:rgb(87,107,177);
	border:4px solid rgb(199,206,229);
	border-radius:25px;
}

#header_profil.profil-connecte a, #header_admin a, #header_num a{
	background:rgb(151,125,31);
}

#header_profil a:hover, #header_admin a:hover, #header_num a:hover{
	background:rgb(87,107,177);
}

#header_profil_img, #header_admin_img, #header_num_img{
	padding:3px 5px;
}

#header_profil_texte{
	display:none;
}
}



#header_menu{
	margin-top:10px;
	margin-right:10px;
	display: inline-block;
	float:right;
}

#header_menu a{
	background: rgb(199,206,229);
	padding:7px 6px;
	border-radius:5px;
}

#header_menu a:hover{
	background: rgb(227,230,242);
}

#header_menu_img{
	padding:3px 5px;
	background:rgb(87,107,177);
	border-radius:25px;
}

#header_menu a:hover #header_menu_img{
	background:rgb(115,131,190);
}

#header_menu_texte{
	margin-left:5px;
}

#header_menu a, #header_menu a:hover, #header_menu a:focus, #header_menu a:visited{
	font-size: 1em;
	font-weight: bold;
	color:rgb(31,57,151);
	text-decoration: none;
}


@media only screen and (max-width: 768px) {

#header_menu{
	margin-top:10px;
	margin-right:10px;
	display: inline-block;
	float:right;
}

#header_menu a{
	padding:3px 1px;
	background:rgb(87,107,177);
	border:4px solid rgb(199,206,229);
	border-radius:25px;
}

#header_menu a:hover{
	background:rgb(87,107,177);
}

#header_menu_img{
	padding:3px 5px;
}

#header_menu_texte{
	display:none;
}
}

/* ##### Page 404 ##### */

#ecran_404{
	width:720px;
	margin:auto;
	padding-top:30px;
}

#mess_404{
	font-size:3em;
	color:rgb(151,31,57);
	font-weight: bold;
	width:500px;
	margin-left:210px;
	padding-top:20px;
}

#img_404{
	float:left;
}

#img_404 img{
	width:170px;
}

@media only screen and (max-width: 768px) {
	#ecran_404{
		width:auto;
	}

	#img_404{
		float:none;
		margin:auto;
		text-align:center;
	}

	#mess_404{
		font-size:2.5em;
		width:auto;
		margin:auto;
		text-align:center;
	}
}

/* ##################################### MENU ######################################## */

#menu{
	display:block;
	position: absolute;
	z-index:100;
	right:-1px;
	top:49px;
	width:171px;
	height:0px;
	overflow-y: hidden;
	background: transparent;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	margin:0px;
	padding:0px;
	opacity:0;
}

#menu.menu-actif{
	display:block;
	height:350px;
	opacity: 1;
}

#menu.menu_admin.menu-actif{
	height:500px;
}

#menu_contenu{
	margin:0px;
	padding:0px;
	border-left:1px solid rgb(87,107,177);
	background:rgb(31,57,151);
}

#menu_contenu a{
	display: inline-block;
	text-decoration: none;
}

.menu_lien{
	width:170px;
	height:40px;
	padding-top: 8px;
	background: rgb(199,206,229);
	margin-bottom:1px;
	color:rgb(31,57,151);
	font-size:1.1em;
	font-weight: bold;
	box-sizing: border-box;
}

.menu_lien.deux_lignes{
	padding-top:4px;
	line-height: 1.1em;font-size:0.9em;

}

.menu_lien img{
	float:left;
	width:14px;
	height:14px;
	margin-right:10px;
	padding:13px 3px;
	background:rgb(87,107,177);
	position:relative;
	bottom:8px;
}

.menu_lien.deux_lignes img{
	bottom:4px;
}


a.menu_lien:hover img, a.menu_item:hover img{
	background:rgb(151,125,31);
}

.menu_item{
	width:84px;
	margin-bottom:1px;
	margin-right:1px;
	height:32px;
	padding-top: 8px;
	background: rgb(199,206,229);
	color:rgb(31,57,151);
	text-align:center;
	font-size:1.2em;
	font-weight: bold;
}

a.menu_lien:hover, a.menu_item:hover{
	background: rgb(227,230,242);
	color:rgb(151,125,31);
}

.avant_intercalaire{
	margin-bottom:7px;
}

/* ##################################### MESSAGES ######################################## */

.message_erreur{
    background:rgb(151,31,57);
	border: 1px solid rgb(151,31,57);
	text-align:center;
	color:white;
	padding:5px;
	border-radius:5px;
	margin:auto;
	margin-bottom: 15px;
	margin-top: 15px;
	width:90%;
	max-width:600px;
}

.message_validation{
    background:rgb(57,151,31);
	border: 1px solid rgb(57,151,31);
	text-align:center;
	color:white;
	padding:5px;
	border-radius:5px;
	margin:auto;
	margin-bottom: 15px;
	margin-top: 15px;
	width:90%;
	max-width:600px;
}

.message_validation a{
    text-decoration:none;
	padding:5px 10px 5px 10px;
	border: 1px solid rgb(31,57,151);
	box-shadow: 2px -2px rgb(115,131,190);
	border-radius:5px;
	background:rgb(31,57,151);
	color:white;
	font-weight: bold;
	font-size:1em;
}


.message_validation a:hover{
    border: 1px solid rgb(151,125,31);
	box-shadow: 2px -2px rgb(190,174,115);
	background:rgb(151,125,31);
}