    

/* ##################################### PAGE D'ACCUEIL DU SITE ######################################## */


#accueil_panel{
	box-sizing: border-box;
	margin:auto;
	max-width:1200px;
	min-height: 500px;
	position: relative;
	margin-top:60px;
}

#accueil_gauche{
	box-sizing: border-box;
	width:50%;
	max-width:600px;
	min-height: 400px;
	border:2px solid rgba(31,57,151,1);
	border-radius: 8px 0px 0px 8px;
	background-color: rgba(31,57,151,0.05);
	position:absolute;
	left:0px;
	padding:0px;
	color:rgb(31,57,151);
	overflow: hidden;
}

#accueil_gauche_titre{
	margin:0px;
	font-weight: bold;
	font-size: 1.3em;
	padding:4px;
    background-color: rgba(31,57,151,0.9);
	color:white;
	text-align:center;
}

#accueil_gauche_footer{
    position:absolute;
    bottom:0px;
    width:100%;
	margin:0px;
	padding:15px 5px 20px 5px;
    border-top: 2px solid rgba(31,57,151,0.5);
    background-color:rgba(31,57,151,0.1);
    text-align:center;
}

#inscription_bouton{
    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;
	cursor:pointer;
}

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


#accueil_droite{
	box-sizing: border-box;
	width:50%;
	max-width:600px;
	min-height: 400px;
	border:2px solid rgba(31,57,151,1);
	background-color: rgba(31,57,151,0.05);
	position: absolute;
	right: 0px;
	padding:0px;
	color:rgb(31,57,151);
	border-left-width: 0px;
	overflow: hidden;
	border-radius:0px 8px 8px 0px;
}

#accueil_droite_titre{
    text-align:center;
    margin:0px;
	font-weight: bold;
	font-size: 1.3em;
	padding:4px;
    background-color: rgba(31,57,151,0.9);
	color:white;
}

#accueil_aside{
    text-align:center;
}

#accueil_presentation{
	width:400px;
	max-width: 95%;
	/*margin:auto;*/
	display:inline-block;
	color:rgb(31,57,151);
	font-size:1.2em;
	margin-bottom: 50px;
	line-height:2em;
	vertical-align:middle;
	text-align:left;
	margin-right:70px;
}

#accueil_devices{
	width:400px;
	max-width: 95%;
	/*margin:auto;*/
	display:inline-block;
	color:rgb(31,57,151);
	font-size:1.2em;
	margin-bottom: 50px;
	min-height: 120px;
	vertical-align:middle;
	text-align:left;
}

#accueil_devices img{
	float:left;
	width: 200px;
}

#accueil_niveaux>img{
    float:left;
	margin-left:65px;
	margin-top:30px;
	margin-right:35px;
	margin-bottom:50px;
    width:176px;
}

#accueil_niveaux{
	margin-top:60px;
	border-bottom-width: 0px;
}

#accueil_niveaux a{
	display: inline-block;
	text-decoration: none;
	width:220px;
	height:50px;
	
	background: rgb(199,206,229);
	border:1px solid rgb(31,57,151);
	border-radius:5px;
	margin:0px;
	margin-bottom:10px;
	margin-left:50px;
	color:rgb(31,57,151);
	font-size:1em;
	font-weight: bold;
	box-sizing: border-box;
}

#accueil_niveaux a .accueil_niveaux_titres{
    box-sizing:border-box;
    display: inline-block;
    vertical-align:middle;
    margin:0px;
    height:49px;
    padding:8px 12px;
	margin-right:10px;
	background:rgb(59,82,164);
	border-radius:5px 0px 0px 5px;
	color:white;
	font-size:1.3em;
}

#accueil_niveaux a .accueil_niveaux_stats{
    
}

#accueil_niveaux a:hover{
	background: rgb(227,230,242);
	color:rgb(151,125,31);
}

#accueil_niveaux a:hover .accueil_niveaux_titres{
	background:rgb(151,125,31);
}

#accueil_niveaux a img{
	width:14px;
	height:14px;
}

@media only screen and (max-width: 1200px) {
	#accueil_panel{
		width:98%;
		min-height: 510px;
	}
	#accueil_niveaux>img{
	    margin-left:35px;
	}
	#accueil_niveaux a{
	    margin-left:20px;
	}
	#accueil_gauche{
		min-height: 410px;
	}
	#accueil_droite{
		min-height: 410px;
	}
}

@media only screen and (max-width: 1050px) {
	#accueil_panel{
		width:100%;
		margin-top:30px;
		margin-bottom:40px;
	}
	#accueil_gauche{
		width:95%;
		margin:auto;
		min-height: 390px;
		position: static;
		border-radius:0px 0px 8px 8px;
	}
	
	#accueil_gauche_footer{
	    clear:both;
		position: static;
	}
	#accueil_droite{
		width:95%;
		margin:auto;
		position:static;
		border-left-width: 2px;
		border-bottom-width:0px;
		min-height: 380px;
		border-radius:8px 8px 0px 0px ;

	}
    #inscription_bouton{
    	font-size:0.9em;
    }	
	#accueil_droite{
		min-height: 350px;
	}
	#accueil_niveaux{
	    margin-top:45px;
	}
	
	#accueil_presentation{
	    display:block;
	    margin:auto;
	    line-height:1.5em;
	}
	
	#accueil_devices{
	    display:block;
	    margin:auto;
	    margin-bottom: 50px;
	}
}

@media only screen and (max-width: 640px) {
	#accueil_gauche{
		min-height: 370px;
	}
}

@media only screen and (max-width: 540px) {
	#accueil_gauche{
		min-height: 350px;
	}
	#accueil_droite{
		min-height: 330px;
	}	
	#accueil_niveaux>img{
		width:120px;
	    margin-left:25px;
	}
	#accueil_niveaux a{
	    margin-left:10px;
	}
	#accueil_niveaux{
	    margin-top:30px;
	}
	#accueil_devices img{
		width: 30vw;
		margin-right:5px;
		margin-top: 15px;
	}
	
	#accueil_presentation{
	    width:380px;
	}
	
	#accueil_devices{
	    width:380px;
	}
}

@media only screen and (max-width: 420px){
    #accueil_niveaux a{
	    width:200px;
	    margin-left:5px;
	}
	#accueil_niveaux>img{
		width:110px;
	    margin-left:20px;
	}
    #accueil_presentation{
	    width:300px;
	    font-size:0.9em;
	}
	
	#accueil_devices{
	    width:300px;
	    font-size:0.9em;
	}
}


/* ##################################### FORMULAIRE CONNEXION ######################################## */



#ecran_connexion{
	width: 98%;
	max-width:720px;
	margin:auto;
	padding-top:30px;
}

.erreur_connexion{
	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;
	width:90%;
}

#div_connexion, #div_visiteur{
	box-sizing: border-box;
	width:95%;
	max-width:600px;
	
	border:2px solid rgba(31,57,151,1);
	background-color: rgba(31,57,151,0.05);
	margin: auto;
	padding:0px;
	color:rgb(31,57,151);
	overflow: hidden;
	margin-top:50px;
	border-radius:8px;
	position:relative;
}

#div_connexion{
    min-height: 415px;
}

#div_visiteur{
    margin-top:30px;
    margin-bottom:40px;
}

.message_visiteur{
    box-sizing: border-box;
	width:95%;
	max-width:600px;
	border:2px solid rgba(31,57,151,1);
	background-color: rgba(31,57,151,0.05);
	margin: auto;
	padding:10px;
	color:rgb(31,57,151);
	border-radius:8px;
	margin-top:30px;
}

@media only screen and (max-width: 800px) {
    .message_visiteur.message_responsive{
        font-size:0.9em;
    }
}
@media only screen and (max-width: 520px) {
    .message_visiteur.message_responsive{
        font-size:0.8em;
    }
}

#div_connexion_titre, #div_visiteur_titre{
    background-color:rgba(31,57,151,0.9);
	margin:0px;
	text-align: center;
	font-weight: bold;
	font-size: 1.4em;
	padding:8px;
	padding-bottom: 14px;
	color:white;
}


#connexion_img_collegien {
	width: 20%;
	float: left;
	margin: 15px 20px 0px 10px;
}
#connexion_img_collegien img{
	width: 100%;
}

#form_connexion{
	width: 77%;
	padding: 0px;
	margin: 0px;
	margin-top: 25px;
	margin-left: 22%;
	font-size: 1em;
}
#form_visiteur{
	padding: 0px 15px 15px 15px;
	font-size: 0.9em;
}

#form_connexion_champs{
	margin: 0px;
}
#form_connexion_champs label[for="input_login"], #form_connexion_champs label[for="input_mdp"], #form_visiteur label{
	display: inline-block;
	margin: 0px;
	border: 1px solid rgb(31,57,151);
	background:rgb(31,57,151);
	color: white;
	padding: 2px 5px;
	border-radius: 5px 5px 0px 0px;
	font-size: 1.2em;
}
#form_connexion_champs #input_login, #form_connexion_champs #input_mdp, #form_visiteur input{
	display: inline-block;
	width: 90%;
	box-sizing: border-box;
	margin: 0px;
	font-size: 1.2em;
	border-radius:  0px 5px 5px 5px;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
	padding:5px;
	border: 1px solid rgb(31,57,151);
	color:rgb(31,57,151);
	background:rgb(227,230,242);
}
#form_visiteur input{
    width:auto;
    max-width:95%;
    margin-bottom:10px;
}
#form_visiteur select{
    min-width:130px;
	margin: 0px;
	font-size: 1.2em;
	border-radius:  0px 5px 5px 5px;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
	padding:5px;
	border: 1px solid rgb(31,57,151);
	color:rgb(31,57,151);
	background:rgb(227,230,242);
}

#form_connexion_champs label[for="input_mdp"]{
	margin-top: 20px;
}
#form_visiteur label{
	margin-top: 25px;
}
#form_connexion_champs #input_mdp{
	margin-bottom: 20px;
}
#form_connexion_champs #input_login:focus-visible,#form_connexion_champs #input_mdp:focus-visible, #form_visiteur input:focus-visible{
	outline: none;
	box-shadow: inset 0 1px 8px rgba(31,57,151,.6);
}

#mdp_perdu{
	display: inline-block;
	float: right;
	font-size: 0.85em;
	padding: 2px 7px;
	background-color: rgb(199,206,229);
	border-radius: 5px;
	color: rgb(31,57,151);
	text-decoration: none;
	margin-top: 25px;
	margin-right: 40px;
}
#mdp_perdu:hover, #mdp_perdu:focus{
	background: rgb(227,230,242);
	color: rgb(31,57,151);
}

#connexion_auto{
	margin-top: 20px;
	font-size:1.1em;
}
#form_connexion_bouton{
	margin-top: 30px;
	text-align: center;
}

#form_connexion_bouton input[type="submit"]{
	padding: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:1.3em;
	cursor:pointer;
}

#form_connexion_bouton input[type="submit"]:hover{
	border: 1px solid rgb(151,125,31);
	box-shadow: 2px -2px rgb(190,174,115);
	background:rgb(151,125,31);
}

/* Case à cocher */
#form_connexion input[type="checkbox"]:not(:checked),
#form_connexion input[type="checkbox"]:checked {
	position: absolute;
	left: -9999px;
}
#form_connexion input[type="checkbox"]:not(:checked) + label,
#form_connexion input[type="checkbox"]:checked + label {
	position: relative; /* permet de positionner les pseudo-éléments */
	padding-left: 20px; /* fait un peu d'espace pour notre case à venir */
	cursor: pointer;    /* affiche un curseur adapté */
}
#form_connexion input[type="checkbox"]:not(:checked) + label:before,
#form_connexion input[type="checkbox"]:checked + label:before {
	content: '';
	position: absolute;
	left:0px; top: -2px;
	width: 20px; height: 20px; /* dim. de la case */
	border: 1px solid rgb(31,57,151);
	border-radius:5px;
	background:rgb(227,230,242);
	box-shadow: inset 0 1px 3px rgba(0,0,0,.3) /* légère ombre interne */
}
#form_connexion input[type="checkbox"]:checked + label:before {
	background-image: url('../utils/coche_bleu.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 75%;
}



@media only screen and (max-width: 1050px) {
	#form_connexion{
		font-size:0.9em;
	}
	
	#div_connexion{
		margin-top:50px;
	}
}

@media only screen and (max-width: 640px) {
	#div_connexion{
		min-height: 360px;
	}
	#div_connexion_titre{
		font-size: 1.3em;
	}
	/* Aspect des checkboxes */
	/* :before sert à créer la case à cocher */
	#form_connexion input[type="checkbox"]:not(:checked) + label:before,
	#form_connexion input[type="checkbox"]:checked + label:before {
		width: 16px; height: 16px; /* dim. de la case */
	}
	/* Aspect général de la coche */
	#form_connexion input[type="checkbox"]:not(:checked) + label:after,
	#form_connexion input[type="checkbox"]:checked + label:after {
		left: 2px;bottom:-16px;
		font-size: 1.05em;
	}
}

@media only screen and (max-width: 540px) {
	#form_connexion{
		font-size:0.85em;		
	}
	#mdp_perdu{
		font-size: 0.75em;
	}
}


/* ##################################### PAGE CONTACT ######################################## */


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

#mess_contact{
	font-size:1.5em;
	color:rgb(31,57,151);
	width:430px;
	margin-left:280px;
	padding-top:20px;
}

#img_contact{
	float:left;
}

#img_contact img{
	width:250px;
}

#mess_contact a, #mess_contact a:visited{
	background: rgb(31,57,151);
	text-decoration: none;
	font-weight: bold;
	color:white;
	border:1px solid rgb(31,57,151);
	border-radius:5px;
	padding:8px 10px;
}

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

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

	#mess_contact{
		font-size:1.4em;
		width:auto;
		max-width: 430px;
		margin:auto;
		text-align:center;
	}
}

@media only screen and (max-width: 450px) {
    #mess_contact{
		font-size:1.3em;
		max-width: 90%;
	}
}

/* ######################## Liste catégories #################### */

#liste_categories{
	margin:auto;
	width:90%;
	max-width:1000px;
	display:flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

#liste_categories::after {
  content: "";
  flex: auto;
}

#liste_categories .item_niveau{
	padding:6px 6px;
	color:rgb(31,57,151);
	font-weight: bold;
	height:240px;
	font-size:4em;
}

#liste_categories .item_niveau span{
	font-variant:small-caps;
}

#liste_categories .item_niveau_vide{
	padding:6px 6px;
	color:rgb(151,31,57);
	font-weight: bold;
	height:240px;
	font-size:2em;
}

#liste_categories .item{
	width:240px;
	display: inline-table;
	margin-left:2px;
	margin-right:2px;
	margin-top: 20px;
	margin-bottom: 20px;
	border-collapse: collapse;
}


#liste_categories .item .item_titre{
	display:table-cell;
	width:100%;
	padding:2px 5px;
	height:60px;
	vertical-align: middle;
	background: rgb(31,57,151);
	color:white;
	border:1px solid rgb(31,57,151);
	margin-bottom:0px;
	font-size:1.3em;
}


#liste_categories .item .item_img{
	display:table-cell;
	width:100%;
	height:180px;
	background:rgb(199,206,229);
	border:1px solid rgb(31,57,151);
	text-align:center;
	padding:0px;
}

#liste_categories .item img{
	height:100%;
	width:100%;
	margin:0px;
}

#liste_categories .item a{
	text-decoration: none;
	color:white;
}

@media only screen and (max-width: 1100px) {
	#liste_categories .item_niveau{
		height:21.82vw;
		font-size:5.85vw;
	}
	
	#liste_categories .item_niveau_vide{
		height:21.82vw;
		font-size:2.93vw;
	}

	#liste_categories .item{
		width:21.5vw;
		margin-left:0.24vw;
		margin-right:0.24vw;
		margin-top:1.82vw;
		margin-bottom:1.82vw;
	}

	#liste_categories .item .item_titre{
		height:5.46vw;
		font-size:1.9vw;
	}

	#liste_categories .item .item_img{
		height:16.37vw;
	}	
}

@media only screen and (max-width: 630px) {
	#liste_categories .item_niveau{
		height:42.5vw;
		font-size:11.7vw;
		padding:2px 2px;
	}

	#liste_categories .item_niveau_vide{
		height:42.5vw;
		font-size:5.85vw;
		padding:2px 2px;
	}

	#liste_categories .item{
		width:42.5vw;
		margin-left:0.35vw;
		margin-right:0.35vw;
		margin-top:2.5vw;
		margin-bottom:2.5vw;
	}

	#liste_categories .item .item_titre{
		height:10.63vw;
		font-size:3.8vw;
	}

	#liste_categories .item .item_img{
		height:31.88vw;
	}	
}

#liste_categories .item:hover .item_titre{
	background: rgb(151,125,31);
	border:1px solid rgb(151,125,31);
}
#liste_categories .item:hover .item_img{
	background: rgb(227,230,242);
	border:1px solid rgb(151,125,31);	
}

/* ######################## Liste sections #################### */

#categorie_titre{
	text-align:center;
	margin-bottom:20px;
}

#categorie_titre span, #categorie_titre a{
	display:inline-block;
	background:rgb(31,57,151);
	border:1px solid rgb(31,57,151);
	border-radius:10px;
	padding:10px;
	color:white;
	font-size:1.2em;
	font-weight:bold;
	margin-bottom:10px;
}

#categorie_titre a{
	text-decoration: none;
}

#categorie_titre a:hover{
	background-color:rgb(151,125,31);
	border-color:rgb(151,125,31);
}

.liste_sections{
	border-collapse: collapse;
	width:80%;
	max-width: 800px;
	margin:auto;
	margin-top:15px;
	margin-bottom:15px;
	background:rgb(31,57,151);
	border:1px solid rgb(31,57,151);
	color:white;
	padding:0px;

}

.section_img{
	margin:0px;
	height:69px;
	width:69px;
	background:rgb(199,206,229);
	text-align:center;
	vertical-align:middle;
}

.section_img img{
	width:55px;
	height:55px;
}

.section_titre{
	text-align:left;
	padding:0px;
	padding-left:20px;
	padding-right:10px;
	vertical-align: middle;
}

.section_titre a{
	color:white;
	text-decoration: none;
	font-weight: bold;
	font-size:1.15em;
}

.liste_sections tr:hover .section_titre{
	background: rgb(151,125,31);
	border:1px solid rgb(151,125,31);
}

.liste_sections tr:hover .section_img{
	background: rgb(227,230,242);
	border:1px solid rgb(151,125,31);	
}

@media only screen and (max-width: 630px) {
	#categorie_titre span, #categorie_titre a{
		font-size:1.1em;
	}

	.section_titre a{
		font-size:1em;
	}
}



/* ######################## Liste quiz + historique #################### */

#section_titre_categorie{
	text-align:center;
	margin-bottom:0px;
}

#titre_section_wrapper{
    margin:0px;
    padding:0px;
    text-align:center;
}

#titre_section{
	text-align:center;
	padding:8px;
	display:inline-block;
	margin-bottom:20px;
	color:rgb(31,57,151);
	font-size:1.3em;
	font-weight:bold;
	margin-bottom:10px;	
	border:2px solid rgb(31,57,151);
	border-radius:8px;
	background-color:rgb(171,181,216);
}

#section_titre_categorie a{
	display:inline-block;
	background:rgb(31,57,151);
	border:1px solid rgb(31,57,151);
	border-radius:10px;
	padding:10px;
	color:white;
	font-size:1.2em;
	font-weight:bold;
	margin-bottom:10px;
}

#section_titre_categorie a{
	text-decoration: none;
}

#section_titre_categorie a:hover{
	background-color:rgb(151,125,31);
	border-color:rgb(151,125,31);
}

.section_quiz{
	border-collapse: collapse;
	width:90%;
	max-width: 1000px;
	margin:auto;
	margin-bottom:20px;
	margin-top:20px;
	border:1px solid rgb(31,57,151);
}

tr[onclick], td[onclick]{
	cursor: pointer;
}

.section_quiz td{
	border-bottom:1px solid rgb(31,57,151);
}

.section_quiz td.section_quiz_lien{
	background-color: rgb(199,206,229);
	padding-left:20px;
}

.section_quiz td.section_quiz_titre{
	background-color: rgb(199,206,229);
	padding-left:20px;
	color: rgb(31,57,151);
	font-weight:bold;
}

.section_quiz td.section_quiz_sous_titre{
	background-color: rgb(199,206,229);
	padding-left:20px;
	color: rgb(31,57,151);
}

.section_quiz td.section_quiz_flag{
	background:rgb(199,206,229);
	width:25px;
	padding:5px;
}

.section_quiz td.section_quiz_heure{
	background:rgb(199,206,229);
	padding:5px;
	text-align:center;
	color: rgb(31,57,151);
	width:55px;
}

.section_quiz td.section_quiz_bouton{
	background:rgb(199,206,229);
	padding:5px;
	width:67px;
	text-align:center;
}

.section_quiz td.section_quiz_bouton a{
    padding:5px;
    text-decoration:none;
    background-color:rgb(31,57,151);
    color:white;
    border-radius:6px;
    font-size:0.9em;
}

.section_quiz tr:hover td.section_quiz_bouton a{
    color:white;
}

.section_quiz td.section_quiz_bouton a:hover{
    background-color:rgb(151,125,31);
    color:white;
}

.section_quiz td.section_quiz_flag img{
	width:100%;
	vertical-align: middle;
}

.section_quiz tr:nth-child(even) td.section_quiz_lien, .section_quiz tr:nth-child(even) td.section_quiz_titre,.section_quiz tr:nth-child(even) td.section_quiz_sous_titre, .section_quiz tr:nth-child(even) td.section_quiz_flag, .section_quiz tr:nth-child(even) td.section_quiz_heure, .section_quiz tr:nth-child(even) td.section_quiz_bouton{
	background:rgb(227,230,242);
}

.section_quiz tr:hover td.section_quiz_lien, .section_quiz tr:hover td.section_quiz_titre, .section_quiz tr:hover td.section_quiz_sous_titre, .section_quiz tr:hover td.section_quiz_flag, .section_quiz tr:hover td.section_quiz_heure, .section_quiz tr:hover td.section_quiz_bouton{
	background:rgb(241,243,249);
}


.section_quiz tr td.section_quiz_img{
	background-color: rgb(87,107,177);
	border:1px solid rgb(31,57,151);
	width:32px;
	height:32px;
	padding:4px;
}

.section_quiz td.section_quiz_score{
	background-color: rgb(87,107,177);
	border:1px solid rgb(31,57,151);
	width:58px;
	padding:4px;
	text-align:center;
	color:white;
	font-size:0.95em;
	word-spacing: -0.1em;
}

.section_quiz td.section_quiz_score img{
    vertical-align:middle;
}

.section_quiz td.selectionq_quiz_score_nf{
    font-size:0.8em;
    font-variant:small-caps;
}

.section_quiz tr:hover td.section_quiz_img{
	background-color: rgb(151,125,31);
}

.section_quiz td.section_quiz_img img{
	width:100%;
}

.section_quiz th.section_quiz_intercalaire{
	text-align:left;
	background:rgb(31,57,151);
	background:rgb(87,107,177);
	border:1px solid rgb(31,57,151);
	color:white;
	font-weight: bold;
	padding:10px;
	padding-left:16px;
}


.section_quiz a{
	text-decoration: none;
	color:rgb(31,57,151);
	padding-top:10px;
	padding-bottom:10px;
	font-weight: bold;
}

.section_quiz tr:hover a{
	color:rgb(151,125,31);
}


@media only screen and (max-width: 630px) {
	#titre_section{
		font-size:1.2em;
	}

	#section_titre_categorie a{
		font-size:1.1em;
	}

}

@media only screen and (max-width: 450px) {
	#titre_section{
		font-size:1em;
	}

	#section_titre_categorie a{
		font-size:0.9em;
	}

	.section_quiz th.section_quiz_intercalaire{
		font-size:0.85em;
		padding-top:8px;
		padding-bottom:8px;
	}

	.section_quiz tr td.section_quiz_img{
		width:22px;
		height:22px;
		text-align:center;
	}
	
	.section_quiz tr td.section_quiz_img img{
		width:22px;
		height:22px;
		vertical-align:middle;
	}
	
	.section_quiz td.section_quiz_lien{
		font-size:0.8em;;
		padding-top:5px;
		padding-bottom:5px;
		padding-left:10px;
	}

	.section_quiz td.section_quiz_titre, .section_quiz td.section_quiz_sous_titre{
		font-size:0.8em;;
		padding-top:5px;
		padding-bottom:5px;
		padding-left:10px;
	}

	.section_quiz td.section_quiz_flag{
		width:16px;
		padding:5px;
	}

	.section_quiz td.section_quiz_heure{
	    font-size:0.7em;
	    width:34px;
	    padding:3px;
	}
	
	.section_quiz td.section_quiz_score{
	    font-size:0.8em;
	    width:42px;
	    padding:3px;
	}
	
	.section_quiz td.section_quiz_score img{
	    width:16px;
	    height:16px;
	}
	
	.section_quiz td.section_quiz_score_nf{
        font-size:0.65em;
	}
	
	.section_quiz td.section_quiz_bouton{
	    width:30px;
	    font-size:0.75em;
	}
	
	.section_quiz td.section_quiz_bouton span{
	    display:none;
	}
	
	.section_quiz td.section_quiz_score img.img_score_resp{
	    width:12px;
	    height:12px;
	}
	
	.section_quiz td.section_quiz_score img.img_score_resp2{
	    width:11px;
	    height:11px;
	}
	
	
}

#historique_quiz .bouton_historique_page {
    border:none;
}

#historique_quiz .bouton_historique_page td{
    padding:10px;
    padding-top:20px;
    text-align:center;
    background:white;
    border:none;
}

#historique_quiz .bouton_historique_page td:hover a{
    color:white;
}

#historique_quiz .bouton_historique_page td a{
    padding:5px;
    text-decoration:none;
    background-color:rgb(31,57,151);
    color:white;
    border-radius:6px;
    box-shadow: 2px -2px rgb(87,107,177);
}

#historique_quiz .bouton_historique_page td a:hover{
    background-color:rgb(151,125,31);
    box-shadow: 2px -2px rgb(190,174,115);
    color:white;
}

#historique_quiz{
    border:none;
}

#historique_quiz td{
    border: 1px solid rgb(31,57,151);
}

#historique_quiz .quiz_historique_date_intercalaire td{
    border:none;
}

#historique_quiz .quiz_historique_date td{
    background-color:rgb(87,107,177);
    color:white;
    text-align:center;
    padding:8px;
    font-weight:bold;
}


/* ######################## RECHERCHE #################### */


#titre_recherche{
	text-align:center;
	margin-bottom:0px;
	color:rgb(31,57,151);
	font-size:1.4em;
	font-weight:bold;
}

.recherche_img{
	font-size:0.8em;
	color:rgb(31,57,151);
	text-align:center;
	background-color:rgb(143,156,203);
	vertical-align: middle;
}

.recherche_img img{
	position: relative;
	top:2px;
}

.recherche_section{
	color:rgb(31,57,151);
	padding-top:1px;
	padding-bottom:1px;
	padding-left:20px;
	background-color:rgb(143,156,203);
	line-height: 1.5em;
}

.section_quiz tr:hover .recherche_section a{
	color:rgb(31,57,151);
}

.section_quiz tr .recherche_section a:hover{
	color:rgb(151,125,31);
}

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

	.recherche_img{
		font-size:0.7em;
	}

	.recherche_section{
		padding-top:1px;
		padding-bottom:1px;
		padding-left:10px;
		font-size:0.8em;
		line-height: 1.5em;
	}
}


#form_recherche{
	font-size:1.1em;
	line-height: 3em;
	color:rgb(31,57,151);
	width:90%;
	margin:auto;
	margin-top:20px;
	max-width:500px;
	padding:10px;
}

#form_recherche p{
	margin:0px;
	padding:0px;
}

#form_recherche_bouton{
	text-align:center;
}

#form_recherche input[type="text"]{
	width: 300px;
	padding:5px;
	border: 1px solid rgb(31,57,151);
	border-radius:5px;
	background:rgb(227,230,242);
	color:rgb(31,57,151);
	font-size:1em;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.3); /* légère ombre interne */
}

#form_recherche select{
	color:rgb(31,57,151);
	font-size:1em;
}

#form_recherche option{
	color:rgb(31,57,151);
	font-size:1em;
}

#form_recherche input[type="submit"]{
	padding: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:1.1em;
	cursor:pointer;
}

#form_recherche input[type="submit"]:hover{
	border: 1px solid rgb(151,125,31);
	box-shadow: 2px -2px rgb(190,174,115);
	background:rgb(151,125,31);
}

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

	#form_recherche{
		font-size:1em;
	}

	#form_recherche input[type="text"]{
		width: 200px;
	}

}








/* ######################## OPTIONS #################### */


form.options_form{
    text-align:center;
}


form.options_form fieldset{
	color:rgb(31,57,151);
	border:2px solid rgb(31,57,151);
	border-radius:5px;
	padding:10px;
	padding-top:20px;
	margin:10px 0px;
	display:inline-block;
	background:rgb(247,250,255);
	width:90%;
    max-width:500px;
    text-align:left;
}


form.options_form fieldset legend{
	font-weight: bold;
	padding:3px 10px;
	background:rgb(31,57,151);
	background:rgb(199,206,229);
	border:1px solid rgb(31,57,151);
	border-radius:5px;
	color:rgb(31,57,151);
}

form.options_form label{
	display: inline-block;
	margin: 0px;
	border: 1px solid rgb(31,57,151);
	background:rgb(31,57,151);
	color: white;
	padding: 5px;
	border-radius: 5px 5px 0px 0px;
	font-size: 1em;
	margin-top: 5px;
}

form.options_form input{
	display: inline-block;
	box-sizing: border-box;
	margin: 0px;
	font-size: 1em;
	border-radius:  0px 5px 5px 5px;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
	padding:5px;
	border: 1px solid rgb(31,57,151);
	color:rgb(31,57,151);
	background:rgb(227,230,242);
    max-width:90%;
    margin-bottom:10px;
}

form.options_form select{
    min-width:130px;
	margin: 0px;
	font-size: 1em;
	border-radius:  0px 5px 5px 5px;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
	padding:5px;
	border: 1px solid rgb(31,57,151);
	color:rgb(31,57,151);
	background:rgb(227,230,242);
}

.options_form.all_radius{
    text-align:center;
}

.options_form.all_radius input, .options_form.all_radius label{
    border-radius:5px;
}

form.options_form input:focus-visible{
	outline: none;
	box-shadow: inset 0 1px 8px rgba(31,57,151,.6);
}

form.options_form input[type="submit"]{
	padding: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;
	cursor:pointer;
}

form.options_form input[type="submit"]:hover{
	border: 1px solid rgb(151,125,31);
	box-shadow: 2px -2px rgb(190,174,115);
	background:rgb(151,125,31);
}

/* ##################################### BADGES ######################################## */

#badges{
    padding:0px;
    margin:auto;
    margin-top:10px;
    margin-bottom:40px;
    text-align:left;
    max-width:920px;
}

.badge_div{
    margin-top:20px;
    margin-left:10px;
    margin-right:10px;
    display:inline-block;
    width:200px;
    border:2px solid rgb(31,57,151);
    border-radius:8px;
    padding:0px;
}

.badge_flag{
    border:2px solid rgb(151,125,31);
}

.badge_titre{
    text-align:center;
    background-color:rgb(59,82,164);
    color:white;
    margin:0px;
    padding:8px 4px;
    font-size:1.2em;
    border-radius:5px 5px 0 0;
    height:50px;
}

.badge_flag .badge_titre{
    background-color: rgb(151,125,31);
}

.badge_img{
    margin:0px;
    border-bottom:1px solid rgb(31,57,151);;
    text-align:center;
}

.badge_flag .badge_img{
    border-color: rgb(151,125,31);
}

.badge_img img{
    width:98%;
}

.badge_description{
    margin:0px;
    padding:8px 7px;
    background-color:rgb(227,230,242);
    color:rgb(31,57,151);
    font-size:0.9em;
    border-radius:0 0 5px 5px;
    height:60px;
}

.badge_flag .badge_description{
    background-color:rgb(239,243,249);
    color:rgb(151,125,31);
}

#medaille_demo img {
    width:80px;
    float:left;
	margin-right:15px;
}

@media only screen and (max-width: 1020px) {
    #badges{
        text-align:center;
    }
}

@media only screen and (max-width: 500px) {
    #medaille_demo{
		font-size:0.9em;
		padding:8px;
	}
	
	#medaille_demo img{
	    width:100px;
	    float:left;
	    margin-right:15px;
	}
}



@media only screen and (max-width: 520px) {
    #badges{
        margin-top:10px;
        margin-bottom:40px;
    }
    
    .badge_div{
        margin-top:10px;
        margin-left:5px;
        margin-right:5px;
        width:150px;
    }
    
    .badge_titre{
        padding:4px 2px;
        font-size:1em;
        height:40px;
    }
    
    
    .badge_description{
        padding:4px 3px;
        font-size:0.8em;
        height:50px;
    }
}







/* ----------------     Interface élève      ----------------- */


#sequence_select{
    text-align:center;
    font-size:1.2em;
    font-weight: bold;
}

#sequence_select .lien_bouton{
    margin-right:6px;
    margin-left:6px;
    font-size:0.85em;
}

#sequence_select .lien_bouton img{
    position:relative;
    top:1px;
}

#select_sequence{
    max-width:90%;
    
}

#select_sequence option{
    max-width:90%;
    
}

@media only screen and (max-width: 1000px) {
    #sequence_select{
        font-size:1em;
    }
}


@media only screen and (max-width: 750px) {
    #sequence_select{
        font-size:0.9em;
    }
    
    #sequence_select .lien_bouton{
        margin-right:10px;
        margin-left:10px;
        font-size:0.9em;
    }
}


@media only screen and (max-width: 520px) {
    #sequence_select{
        font-size:0.9em;
    }
    #select_sequence{
        font-size:0.9em;
    }
    
    #sequence_select .lien_bouton{
        margin-right:5px;
        margin-left:5px;
        font-size:0.75em;
    }
    #sequence_select .lien_bouton img{
        position:relative;
        top:2px;
    }
}

/* Affichage des exos : */

#div_exos{
    text-align:center;
    margin-bottom:30px;
}

.exo_galerie{
    padding:2px;
    margin:5px;
    display:inline-block;
    vertical-align:top;
    border:1px solid rgb(31,57,151);
    border-radius:5px;
    max-width:90%;
}

.exo_galerie a, .exo_galerie a:hover, .exo_galerie_corrige{
    text-decoration:none;
    color:white;
    background-color:rgb(31,57,151);
    border-radius:5px;
    padding:3px 8px;
    display:inline-block;
    margin-bottom:8px;
}

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

@media only screen and (max-width: 520px) {
    
    .exo_galerie a, .exo_galerie a:hover{
        font-size:0.9em;
    }
}

.exoa5{
    width:700px;
    max-width:100%;
}

.exoa6{
    width:500px;
    max-width:100%;
}

/* Gestion des sujets */



.sujet_fichier{
	background-color:rgb(171,181,216);
	color:rgb(31,57,151);
	border:1px solid rgb(31,57,151);
	border-radius:5px;
	text-align:center;
	margin:auto;
	margin-top:20px;
	margin-bottom:20px;
	padding:8px;
	padding-bottom:2px;
	max-width:400px;
}

.sujet_fichier a{
	display: inline-block;
	background-color: rgb(31,57,151);
	border:1px solid rgb(31,57,151);
	box-shadow: 0 2px 5px rgba(0,0,0,.5);
	border-radius:8px;
	padding:5px 10px;
	margin-bottom:7px;
	text-decoration: none;
	color:white;
}

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


@media only screen and (max-width: 450px) {
	.sujet_fichier{
		font-size:0.9em;
		margin-top:10px;
	    margin-bottom:10px;
	}
}


.pdfpng{
	width:100%;
	text-align:center;
	margin:0px;
	padding:0px;
}

.pdfpng img.a4_portrait{
	width:100%;
	max-width: 800px;
}

.pdfpng img.a5_portrait{
	width:100%;
	max-width: 650px;
}

.pdfpng img.a4_paysage{
	width:100%;
	max-width: 1200px;
}

/* DM */

td.tableau_dm_date{
	padding:4px;
	text-align:center;
	background-color: rgb(227, 230, 242);
	border:1px solid rgb(31,57,151);
	color:rgb(31,57,151);
	white-space: nowrap;
}
td.tableau_dm_date.dm_ATT{
	background:rgb(115,131,190);color:white;
}
td.tableau_dm_date.dm_R{
	background:rgb(57,151,31);color:white;
}

td.tableau_dm_date.dm_NR{
	background:rgb(205,0,0);color:white;
}

td.tableau_dm_date.dm_DISP{
	background:gray;color:white;
}



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

.tableau_dm_date span{
	display:none;
}

td.tableau_dm_date img{
	width:12px;height: 12px;

}
}





/* Tableau de bord élève */

#panel{
    margin:auto;
	margin-top:15px;
	margin-bottom:20px;
	width:97%;
	max-width:1100px;
	position:relative;		
	padding:0px;
	color:rgb(31,57,151);
}

#main_panel{
    padding:0px;
    margin:0px;
	
	position:absolute;
	
	width:649px;top:0px;left:0px;
}

.main_panel_bouton{
    text-align:center;
    margin-bottom:20px;
    margin-top:0px;
    box-sizing: border-box;
	border : 3px solid rgb(31,57,151);
	border-radius:8px;
	background-color:rgb(87,107,177);
	padding:1px;
}

.main_panel_bouton a{
    display:inline-block;
    width:100%;
    /*background-color:rgb(31,57,151);*/
	color:white;
	text-decoration:none;
	padding:5px;
	border-radius: 4px;
}

.main_panel_bouton img{
    position:relative;
    top:1px;
}

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

.div_seance{
    box-sizing: border-box;
	border : 3px solid rgb(31,57,151);
	border-radius:8px;
	background-color:rgb(199,206,229);
	padding:0px;
	margin-bottom:15px;
}

.div_seance_titre{
    margin:0px;
    background-color:rgb(87,107,177);
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom:2px solid rgb(31,57,151);
    color:white;
    padding:6px;
}

.div_seance_avant{
    padding:0px;
    padding-top:5px;
    padding-bottom:1px;
    margin:0px;
    background-color:white;
    border-bottom-left-radius:5px;
    border-bottom-right-radius:5px;
}




.div_seance_pendant{
    margin:0px;
    padding:4px;
}

.div_seance_pendant a{
    display:inline-block;
    margin:4px;
    padding:1px 8px 5px 4px;
    color:white;
    text-decoration:none;
    background-color:rgb(31,57,151);
    border-radius:5px;
}

.div_seance_pendant a img{
    position:relative;
    top:3px;
    width:18px;
    height:18px;
}

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

.div_seance_avant+.div_seance_pendant{
    padding-top:12px;
    border-top:2px solid rgb(31,57,151);
}



#side_panel{
    box-sizing: border-box;
	border : 3px solid rgb(31,57,151);
	display:block;
	padding:0px;
	position:absolute;
	background-color:rgb(199,206,229);
	width:429px;
	top:0px;right:0px;
	border-radius: 8px;
}

#side_panel_logo{
    box-sizing: border-box;
	padding:0px;
	margin:auto;
	margin-top:12px;
	width:96px;
	height: 96px;
	border:3px solid rgb(31,57,151);
	border-radius:10px;
	background-image: url('../icons/icon_167.png');
	background-position: center;
	background-size: 90% 90%;
	background-repeat: no-repeat;
	background-color: white;
}

#side_panel_menu{
    text-align:center;
}

#side_panel_menu a{
    display:inline-block;
    width:90%;
    background-color:rgb(31,57,151);
	color:white;
	text-decoration:none;
	padding:8px;
	margin-bottom:15px;
	font-weight:bold;
	border-radius: 4px;
	text-align:left;
}

#side_panel_menu a img{
    position:relative;
    top:1px;
    margin-right:5px;
}

#side_panel_menu a:hover, #side_panel_menu a:focus{
    border-color:rgb(151,125,31);
	background-color:rgb(151,125,31);
}

.side_panel_intercalaire{
    border:1px solid rgb(31,57,151);
    background-color:rgb(31,57,151);
    padding:0px;
    margin:0px;
    height:10px;
}

.side_panel_titre{
    margin:auto;
    margin-top:10px;
    margin-bottom:15px;
    padding:8px;
    background-color:rgb(87,107,177);
    border:1px solid rgb(31,57,151);
    color:white;
    width:250px;
    border-radius:5px;
    font-weight:bold;
    font-size:1em;
    text-align:center;
}

.side_panel_contenu{
    margin:0px;
    padding:0px 15px 15px 15px;
    
}

.side_panel_contenu a{
    background-color:rgb(31,57,151);
	color:white;
	display:inline-block;
	text-decoration:none;
	margin:3px;
	padding:5px;
	border-radius: 4px;
}

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

#badge_notif{
    margin:auto;
    margin-top: 10px;
    margin-bottom: 15px;
    text-align:center;
}

#badge_notif a{
    display:inline-block;
    width:500px;
    max-width:90%;
    color:white;
    background-color:rgb(57,131,51);
    border-radius:8px;
    text-decoration:none;
    padding:8px;
    font-weight:bold;
}

#badge_notif a:hover, #badge_notif a:focus{
    background-color:rgb(151,125,31);
}





.tableau_quiz{
	border-collapse: collapse;
	width:100%;
	margin:auto;
	margin-top:5px;
	margin-bottom:10px;
	border-top:2px solid rgb(31,57,151);
	border-bottom:2px solid rgb(31,57,151);
}

.tableau_quiz td{
	border-bottom:1px solid rgb(31,57,151);
}

.tableau_quiz td.tableau_quiz_lien{
	background-color: rgb(241,243,249);
	padding-left:20px;
	font-size:0.95em;
}

.tableau_quiz td.tableau_quiz_flag{
	background:rgb(241,243,249);
	width:25px;
	padding:5px;
}

.tableau_quiz td.tableau_quiz_flag img{
	width:100%;
	vertical-align: middle;
}

.tableau_quiz tr:hover td.tableau_quiz_lien, .tableau_quiz tr:hover td.tableau_quiz_flag{
	background:rgb(241,243,249);
}


.tableau_quiz td.tableau_quiz_img{
	background-color: rgb(87,107,177);
	border:1px solid rgb(31,57,151);
	width:32px;
	height:32px;
	padding:4px;
}

.tableau_quiz tr:hover td.tableau_quiz_img{
	background-color: rgb(151,125,31);
}

.tableau_quiz td.tableau_quiz_img img{
	width:100%;
}



.tableau_quiz a{
	text-decoration: none;
	color:rgb(31,57,151);
	padding-top:10px;
	padding-bottom:10px;
}

.tableau_quiz tr:hover .tableau_quiz_lien a{
	color:rgb(151,125,31);
}

.tableau_quiz_statut{
	width:48px;
	border-left:1px solid rgb(31,57,151);
	text-align:center;
	background-color: rgb(87,107,177);
	font-size:1.2em;
	line-height: 0.8em;
}

.tableau_quiz_statut span{
	font-size:0.7em;
}
.tableau_quiz_statut span span{
	font-size:0.8em;
	line-height: -2em!important;
}

.tableau_quiz_statut a, .tableau_quiz tr:hover td.tableau_quiz_statut a{
	font-weight: normal;
	color:white;
}

.tableau_quiz tr:hover td.tableau_quiz_statut{
	background-color: rgb(151,125,31);
}


.tableau_quiz  .td_titre{
    background-color:rgb(199,206,229);
    font-weight:bold;
    border-bottom:2px solid rgb(31,57,151);
    font-size:0.9em;
    padding:5px;
    color:rgb(31,57,151);
}

.tableau_quiz .td_titre_gauche{
    width:155px;
    color:rgb(31,57,151);
    font-weight:bold;
    background-color:rgb(199,206,229);
    font-size:0.9em;
    padding:5px;
    border-right:1px solid rgb(31,57,151);
}

.tableau_quiz  .td_contenu_droite{
    color:rgb(31,57,151);
    background-color:rgb(241,243,249);
    font-size:0.9em;
    padding-left:10px;
}

.tableau_quiz .td_contenu_droite a{
    background-color:rgb(31,57,151);
    color:white;
    text-decoration:none;
    padding:3px 8px;
    border-radius:5px ;
}

.tableau_quiz .td_contenu_droite a:hover, .tableau_quiz .td_contenu_droite a:focus{
    background-color:rgb(151,125,31);
    color:white;
}

#side_panel_handle{
    display:none;
    text-align:center;
}

#side_panel_handle a{
    display:inline-block;
    background-color:rgb(31,57,151);
    width:70%;
    margin:auto;
    padding:9px 6px;
    color:white;
    border-radius:8px;
    text-decoration:none;
    font-size:1.1em;
}

#side_panel_handle a:hover, #side_panel_handle a:focus{
    background-color:rgb(151,125,31);
}

#side_panel_handle a img{
    position:relative;
    bottom:1px;
}

@media only screen and (max-width: 1130px) {
    #main_panel{
        width:54%;
    }
    #side_panel{
        width:44%;
    }
}

@media only screen and (max-width: 950px) {
    #main_panel{
        
    }
    #side_panel{
        font-size:0.9em;
    }
    #side_panel_menu a{
        margin-bottom:10px;
    }
    #side_panel_menu a img{
        position:relative;
        top:2px;
    }
    
    .side_panel_titre{
        max-width:80%;
    }
    
    .tableau_quiz td.tableau_quiz_lien{
	    padding-left:10px;
    }

}

@media only screen and (max-width: 860px) {
    #main_panel{
        font-size:0.9em;
        width:59%;
    }
    #side_panel{
        font-size:0.8em;
        width:39%;
    }
    #side_panel_menu a{
        margin-bottom:10px;
    }
    #side_panel_menu a img{
        position:relative;
        top:2px;
    }
    
    .tableau_quiz td.tableau_quiz_lien{
	    padding-left:8px;
    }

}


@media only screen and (max-width: 700px) {
    #side_panel{
        display:none;
        position:static;
        margin:auto;
        width:98%;
        margin-bottom:20px;
        font-size:0.9em;
    }
    #side_panel_handle{
        display:block;
        
    }
    #main_panel{
        position:static;
        margin:auto;
        width:98%;
    }
    
    .div_seance{
        margin-bottom:20px;
    }

}

