/**************************************************************EN TETE DU SITE***********************************************************************/
/*Définit la hauteur de l'entête*/
#entete { height : 90px; }

.ent_soc { width : 20%; }

.ent_soc a {
	font-size 	: 25px;
	line-height : 25px;
}

.ent_soc img { height : 80px; }

.ent_men { width : 60%; }

.ent_men > div { width : calc(100% /4); }

.ent_men div.menu, .ent_men div.menu_sel { 
	width 		: 100%;
	text-align	: center;
}

.ent_men span {
	font-size	: 13px;
	line-height : 20px;
}

.ent_men span img {
	height 			: 8px;
	margin-left 	: 11px;
	margin-bottom 	: 2px;
}

.ent_rec { width : px; }

.ent_rec div:nth-child(1) { 
	height 	: 55px; 
	width 	: 26px;
}

.ent_rec div:nth-child(2) { 
	width 		: 39px;
	height 		: 73px;
	margin-left : 10px;
}

.ent_rec div:nth-child(2) img { 
	width 		: 30px;
	margin-top	: 38px;
}

.ent_rec div:nth-child(3) { 
	height 		: 39px; 
	width		: 13px;
	margin-left : 10px;
}

.ent_lan { 	margin-top 	 : 50px; }

.ent_lan div:nth-child(n+2) { margin-left : 30px; }

.ent_lan a {
	font-size 	: 15px;
	line-height : 18px;
}

.ent_lan img { height : 35px; }

.menu, .menu_sel { 
	height 		: 100%; 
	font-size 	: 18px;
	line-height : 40px;
}

.men_ssmenu {
	width 	: 100%;
	padding : 10px 0px;
}

.men_ssmenu div {
	margin 	: 0px 10px; 
	padding : 5px 0px;
}

.men_ssmenu div a {
	font-size 	: 15px;
	line-height : 25px;
}
/**********************************************************POSITIONNEMENT DE LA PAGE***********************************************************************/
#page {
	min-height : calc(100vh - 370px);				/*(minimum la hauteur restante du navigateur en retirant entete et pied)*/
}

.pag_img_ent { height : calc(100vw / (2200/814)); }

#page .pag_det_men { 
	width	: 100%;	
	padding	: 0px 10% 0px 10%;
}

#page .pag_det_men, #page .pag_det_men a { font-size : 14px; }

#page .pag_det_men img { height : 10px; }

#page h1 { font-size 	: 40px; }

#page .pag_int_txt {
	width			: 100%;	
	font-size 		: 18px;
}

.pag_int_txt > div:not(.dem_gauche, .dem_droite, .esp_cli, .esp_cli_ssmenu) { padding : 0px 10% 20px 10%; }

.titre_left, .titre_right { 
	width 			: 500px;
	line-height 	: 60px;
	font-size 		: 27px;
	margin-bottom 	: 20px;
}

#page h2 {  margin-left 	: 60px; }

/******************************************************GENERALITES*********************************************/
.generalites > div:nth-child(1) { margin-right : 25px; }

.generalites img { width : 300px; }

/******************************************************HISTORIQUE*********************************************/
.histo_flex { gap : 0px 150px; }

.histo_gauche > div:nth-child(1) { width : 40%; }

.histo_gauche > div:nth-child(2) { width : 60%; }

.histo_droite > div:nth-child(1) { width : 60%; }

.histo_droite > div:nth-child(2) { width : 40%; }

.histo_flex img:not(.histo_blason) { width : 300px; }
.histo_blason { width : 200px; }
.histo_eglise { width : 450px; }

.histo_lgv { font-size : 35px; }

.grid_maire { 
	width  : 50%;
	margin : auto;
}

/*******************************************************NVX HABITANTS******************************************/
.nvx_hab ul li:nth-child(n+2) { margin-top : 15px; }

.nvx_hab ul li span { margin-left : 105px; }

.nvx_hab_liste ul { margin-left : 40px; }

.nvx_hab_bienvenue { font-size : 25px; }

/**********************************************DEMARCHES****************************************/
.dem_gauche, .dem_droite { padding : 0px 15% 20px 15%; }

.dem_gauche > div:nth-child(1) { width : 300px; }
.dem_gauche > div:nth-child(2) { width : calc(100% - 300px); }

.dem_droite > div:nth-child(1) { width : calc(100% - 300px); }
.dem_droite > div:nth-child(2) { width : 300px; }

.dem_droite img, .dem_gauche img { 
	object-fit 	: contain;
	width 		: 200px;
}

.dem_liste ul { margin-left : 40px; }

.dem_liste ul li span { margin-left : 25px; }

/*****************************************CONSEIL MUNICIPAL****************************************/
.conseil { width : 850px; }

.conseil_flex { gap : 0 20px; }

.conseil_flex > div:nth-child(1) > img { width : 200px; }

/*****************************************COMMISSION****************************************/
.commission .titre_left { width : 680px; }
.commission .titre_right { width : 680px; }

.commission .com_flex { gap : 0 20px; }

.commission .com_flex img { width : 150px; }

/*****************************************CMJE****************************************/
.conseil_enf, .conseil_enf_maire { gap : 0 20px; }

.conseil_enf img { width : 135px; }

.conseil_enf_maire img { width : 150px; }

/******************************************************ELUS*********************************************/
.grid_elu {
	grid-template-columns 	: repeat(4,1fr);
	column-gap				: 100px;
	row-gap					: 70px;
}

.grid_elu > div:nth-child(1) { grid-column : 1 / 5;	 }

.grid_elu > div:nth-child(14) { 
	grid-column 	: 1 / 3; 
	justify-self 	: end;
	align-self 		: center;
	display 		: flex;
	justify-content : end;
	align-items 	: center;
}

.grid_elu > div:nth-child(14) > div { width	   : calc(50% - 50px); }

.grid_elu > div:nth-child(14) > div:nth-child(1) > div { 
	text-align 		: right; 
	padding-right 	: 20px;
}

.grid_elu > div:nth-child(14) > div:nth-child(1) > div:nth-child(2) { font-style : italic; }

.grid_elu > div:nth-child(14) > div:nth-child(1) > div:nth-child(1) { font-weight : bold; }

.grid_elu > div:nth-child(15) {
	grid-column 	: 3 / 5;
	align-self 		: center;
	justify-self 	: start;
	display 		: flex;
	justify-content : start;
	align-items 	: center;
}

.grid_elu > div:nth-child(15) > div { width : calc(50% - 50px); }

.grid_elu > div:nth-child(15) > div:nth-child(2) > div { 
	text-align 		: left; 
	padding-left 	: 20px;
}

.grid_elu > div:nth-child(15) > div:nth-child(2) > div:nth-child(2) { font-style : italic; }

.grid_elu > div:nth-child(15) > div:nth-child(2) > div:nth-child(1) { font-weight : bold; }
.grid_elu > div:nth-child(15) > div:nth-child(2) > div:nth-child(2) { font-weight : normal; }

.autres_elus .titre_left { width : 900px; }
.autres_elus img { width : 180px; }
/*****************************************SERVICES****************************************/
.services { gap : 0px 60px; }

.services img { width : 150px; }
/**********************************************************PRO SANTE*********************************************/
.pro_sante { gap : 0px 80px; }
.pro_sante img { width : 150px; }

.pro_sante > div:nth-child(2) > ul li::before {
	width			: 15px;
	height			: 15px;
	margin-right 	: 17px;
}
/**********************************************************GENDARMERIE*********************************************/
.gendarmerie { 
	flex-direction 	: column; 
	gap 			: 20px 0px;
	margin-left 	: 50px;
}

.gendarmerie > div ul li::before {
	width			: 15px;
	height			: 15px;
	margin-right 	: 17px;
}

/**********************************************************BIBLIOTHEQUE*********************************************/
.biblio img { height : 300px; }


/**********************************************************PAGE ACCUEIL***********************************************************************/
.carrousel {
	width		: 100%;
	height		: 620px;
}

.car_img { 
	width 	: 100%;
	height 	: 100%;
}

.car_img img {
	width 		: 100%;
	height 		: 100%;
}

.car_puce {
	top 		: 575px;
	left 		: 21%;
}

.car_puce_rd {
	height				: 15px;
	width				: 15px;
	margin				: 0 2px;
	margin-bottom		: 3px;
}

.active {
	height			: 20px;
	width			: 20px;
	margin-bottom 	: 0px;
}
	
.car_txt { 
	width 	: 35%;
	height	: 100px;
	left 	: 100px;
	top 	: 450px; 	
}

.car_txt_titre {
	font-size 	: 18px;
	line-height : 20px;
	margin		: 20px 20px 10px 20px;
}

.car_txt_descr {
	margin		: 0px 20px 20px 20px;
	font-size 	: 15px;
	line-height : 18px;
}

.menu_rapide {
	top 	: 114px;
	height 	: 450px;
	width	: 28%;
	left	: calc(100% - 32%); 
}

.men_rap_titre {
	margin : 20px 8% 30px 8%;
}

.men_rap_tit_trait {
	width 	: 27%;
	height 	: 1px;
}

.men_rap_tit_txt {
	font-size 	: 15px;
	line-height : 18px;
}

.men_rap { margin : 0px 8% 20px 8%; }

.men_rap a {
	width 		: 48%;
	height 		: 108px;	
}

.men_rap a:nth-child(n+3) { margin-top : 16px; }

.men_rap_carre {
	width 		: 100%;
	height 		: 100%;
	font-size 	: 12px;
	line-height : 14px;
	padding		: 10px 10px;
}

.men_rap_carre img {
	width 		: 64px;
	height 		: 43px;
	object-fit 	: contain;
}

.acc_titre {
	font-size 	: 33px;
	line-height : 70px;
	margin-top 	: 80px;
}

.acc_message {
	font-size 	: 20px;
	line-height : 35px;
	margin 		: 60px auto 100px auto;
	width 		: 1000px;	
}

.acc_actu_bg {
	background-size 	: 56%, auto, contain;
	padding-top			: 94px;
	background-position : top 94px left 0px;
}

.acc_actu_titre {
	font-size 		: 25px;
	line-height 	: 32px;
	margin-right 	: 280px;
}

.acc_actu_int { 
	margin-right 	: 15px;
	margin-left 	: 15px; 
	margin-top 		: 60px;
	padding-bottom 	: 60px;
}

.acc_actu_int .act_bloc {
	width 			: 930px;
}

.acc_actu_int .act_bloc .act_int {
	width 	: 273px;
}

.acc_actu_tte {
	font-size 	: 20px;
	line-height : 24px;
}

.acc_actu_int .act_bloc .act_int > div:nth-child(1) {  /*Affichage de la date*/
	font-size 	: 12px;
	line-height : 14px;
	margin-top 	: 23px;
}

.acc_actu_int .act_bloc .act_int > div:nth-child(2) {
	font-size 	: 25px;
	line-height : 30px;
	margin-top 	: 30px;
	width		: 245px;
	border-radius : 0px 16px 16px 0px;
	height 		: 34px;
}

.acc_actu_int .act_bloc .act_int > div:nth-child(3) {
	font-size 	: 14px;
	line-height : 25px;
	margin	 	: 55px auto 51px auto;
	width		: 188px;
}

.acc_actu_int .act_bloc .act_int > div:nth-child(4) {
	font-size 	: 14px;
	line-height : 25px;
	margin-right: 100px;
	margin-bottom : 30px;
}
/**********************************************************PAGE SALLE***********************************************************************/
.sal_princ {
	padding-top : 50px;
	font-size	: 15px;
	line-height : 25px;
	flex-wrap 	: wrap;
	gap 		: 15px;
}

.sal_princ > div:nth-child(2) { width : 400px; }

.dispo_titre {
	font-size 	: 28px;
	line-height : 50px;	
}

.sal_princ img {
	height 	   : 200px;
	object-fit : contain;
}

.sal_tarifs {
	margin-top 		: 20px;
	margin-bottom 	: 50px;
	font-size	: 15px;
	line-height : 25px;
}

.sal_tarifs table caption, .sal_tarifs table th, .sal_tarifs table td {
	padding : 5px 10px;
}

.cal_inter { 
	height 	: 280px; 
	gap  	: 25px;
}

.cal_inter img { height : 80px; }

.legende, .legende_adm { 
	line-height 	: 15px;
	margin-bottom 	: 20px;
}

/*.form_res {
	font-size 	: 20px;
	line-height	: 25px;
}

.form_res input, .form_res select {
	font-size 	: 20px;
	line-height	: 25px;
}

.form_res div {
	margin : 10px 0px;
}*/

/**********************************************************ASSO***********************************************/
.asso {
	grid-template-columns	: 0.3fr 1fr 0.3fr 1fr;
	grid-gap				: 20px 15px;
	margin 					: auto;
	text-align				: left;
}

.asso div:nth-child(odd) img {
	height 		: 150px;
	max-width	: 100px;
	object-fit 	: contain;
}

.asso div:nth-child(even) img {
	height 		: 15px;
	object-fit 	: contain;
}

.asso ul li:not(.nom, .president)::before {
	width			: 15px;
	height			: 15px;
	margin-right 	: 17px;
}

.asso ul li:not(.nom, .president) { white-space		: nowrap;  }

/*********************************************PUBLICATIONS***********************************************************************/

.pub_int_type > div img { width : 100px; }

.pub_img_type { width : 25%; }

.pub_img_type img { 
	width 		: 100%;
	object-fit 	: contain; 
}
/*********************************************************PIED DU SITE***********************************************************************/
#pied1 { height	: 625px; }

.pie1_gen { 
	background-size		: auto 70%;
	background-position : right bottom;
	width				: 100%;
	height 				: 100%;
	padding-top			: 15px;
	flex-direction 		: column;
	gap					: 20px;
}

.pie1_adr { margin-left : 50px; }

.pie1_adr div:nth-child(1), .pie1_hor div:nth-child(1) {
	font-size 	: 20px;
	line-height : 22px;
}

.pie1_adr ul, .pie1_hor ul { margin-top : 10px; }

.pie1_adr li, .pie1_hor li {
	font-size		: 17px;
	line-height		: 21px;
	margin-bottom 	: 21px;
}

.pie1_adr ul li::before {
	width				: 15px;
	height				: 15px;
	margin-right 		: 17px;
}

.pie1_adr ul li:nth-child(3)::before {
	width				: 16px;
	height				: 12px;
	margin-right 		: 17px;
}

.pie1_adr li span { margin-left : 32px; }

.pie1_hor { margin-left : 50px; }

.pie1_hor ul li span { margin-left : 15px; }

.pie1_hor ul li::before {
	width				: 6px;
	height				: 6px;
	margin-right 		: 9px;
}

#pied2 { height : 50px; }

.pie2_gen {
	width			: 100%;
	font-size 		: 15px;
	line-height		: 17px;
	height			: 100%;
	justify-content : space-around;
}

.pie2_gen a {
	font-size 	: 15px;
	line-height	: 17px;
}

/*********************************************************PLAN SITE********************************************/
.plan_site > div:not(.ss_menu) { 
	font-size 	: 25px; 
	line-height : 40px;
	margin-top  : 20px;
}

.plan_site > div.ss_menu { 
	font-size 	: 18px; 
	margin-left : 40px;
	line-height : 25px;
}

/*********************************************************FLECHES********************************************/
#fleche a {
	font-size 	: 15px;
	font-weight : bold;
}

#fleche a img { height : 15px; }

/*********************************************************ERREUR***********************************************************************/
.error_txt > div:nth-child(1) {
	font-size : 28px;
	margin-top : 32px;
}

.error_txt > div:nth-child(2) { margin-top : 52px; }

.error_txt > div:nth-child(3) { margin-top : 20px; }

.error_txt > div:nth-child(4) { margin-top : 30px; }

.error_txt > div:nth-child(4) a  { font-size : 16px; }

.error_txt { font-size : 18px; }

/***********************************************LOGIN***********************************************************************/
.login {
	margin 			: 150px auto;
	width 			: 500px;
}

.login > div:nth-child(1) {
	padding 		 : 0px;
	font-size 		 : 30px;
	padding			 : 10px 0px;
}

.login > div:nth-child(1) img {
	height 		 : 35px;
	margin-right : 20px;
}

.login > div:nth-child(n+2) {
	font-size 		: 16px;
	width	  		: 250px;
}

.login > div:nth-child(n+2) > div { padding : 5px 0px; }

.login > div:nth-child(2) { margin-top 		: 30px; }

.login > div:last-child { margin-bottom 	: 30px; }

.login input[type=submit] { padding	: 14px 36px; }

.login a { font-size : 12px; }

.login input[type="email"] {
	width			: 250px;
	font-size		: 16px;
	line-height		: 36px;
	padding			: 0px 0px 0px 40px;	
}

.login input[type=password], .login input[type=text] {
	width 			: 250px;
	font-size 		: 16px;
	line-height 	: 36px;
	padding			: 0px 40px 0px 40px;
}

.pswd_eye, .pswd_mail, .pswd_cadenas {
	height  			: 20px;
	top 				: 14px;
	padding				: 0px;
}

.pswd_mail { left : 10px; }

.pswd_cadenas { left : 12px; }
 
.pswd_eye { right : 10px; }

.pswd_eye img, .pswd_mail img, .pswd_cadenas img { 	height : 20px; }

.login a[href*="logout"] { 
	font-size 	: 16px;
	padding		: 14px 20px; 
	width 		: 170px;
}

.login a[href*="logout"]:before {
	width				: 17px;
	height				: 17px;
	margin-right		: 10px;
	margin-top 			: 4px;
}


/************************************ESPACE CLIENT********************************************/
.esp_cli { 
	font-size 	: 13px;
	line-height : 15px;
	padding	 	: 20px 17% 20px 17%;
}

.esp_cli_titre { 
	width 		: 80%; 
	margin 		: auto;
	font-size 	: 18px;
}

.esp_cli_menu {
	width 					: 80%; 
	margin 					: auto;
	grid-template-columns	: repeat(2, 350px);
	grid-gap				: 50px 50px;
	margin-top 				: 50px;
}

.esp_cli_men_int {
	height				  : 95px;
	grid-template-columns : 80px 1fr;
	padding				  : 0px 20px 0px 10px;
}

.esp_cli_men_int img { 
	object-fit  : contain;
	width 		: 65px;
}

.esp_cli_men_int > div:nth-child(2) { font-size : 17px; }

.esp_cli_ssmenu { padding : 0px 80px 20px 80px; }

.esp_cli_ssmenu > div.dispo_cal { width : 100%; }

.adm_retour a { margin-left : 12%; }

.adm_button { margin-bottom : 5px; }

.adm_retour a { margin-top	: 35px; }

.adm_retour a, .adm_button button {
	width		: 200px;
	font-size	: 18px;
	line-height	: 18px;
	padding		: 5px 15px;
}

.adm_button > div:first-child { display : block; }

.adm_button a {
	font-size	: 18px;
	line-height	: 18px;
	padding		: 5px 15px;
	margin-right : 10px;
}

.adm_reserv button, .adm_doc button, .adm_act button, .adm_ass button { width : 250px; }

.adm_retour a::before, .adm_button button::before, .adm_button a > div:nth-child(1), .adm_button a > div:nth-child(1) > img  {
	width		: 17px;
	height		: 17px;
	margin-right: 10px;
}

.adm_filtre { 
	position	: absolute;
	left 		: 1%;
	width 		: 200px; 
	font-size 	: 14px;
	line-height : 30px;
	display 	: none;
}

.adm_filtre > form > div { 
	margin 	: 5px 0px;
	padding : 8px 10px;
}

.adm_filtre div > label:first-child { line-height : 30px; }

/***Texte filtrer par***/
.adm_filtre > form > div:first-child { 
	display 		: flex;
	justify-content : space-between;
	font-size		: 18px; 
}

.adm_filtre > form > div:first-child > div:nth-child(2) { 
	display : block; 
	height	: 25px;
	width	: 29px;
} 

.adm_filtre > form > div:first-child > div:nth-child(2) > img { 
	object-fit	: contain;
	height		: 100%;
} 


/***Input et select dans les filtres***/
.adm_filtre input[type="text"] { width : 180px; }

.adm_filtre input[type="checkbox"] + label { width : 180px; }

.adm_filtre input[type="checkbox"] + label::before {
	padding				: 0 0.6rem;
	margin-right		: 20px;
}

.adm_filtre input[type="submit"] {
	font-size	: 16px;
	line-height : 35px;
	padding		: 0px 10px; 
}

.adm_filtre input[type="submit"]:nth-child(2) { margin-left : 15px; }

.gestion_enregistrement { width : 80%; }

.gestion_enregistrement div { margin : 10px 0px; }

.gestion_enregistrement label {
	width 			: 200px;
	min-width		: 200px;
	font-size		: 20px;
	line-height		: 26px;
}

.gestion_enregistrement input, .gestion_enregistrement select { height : 41px; }

.gestion_enregistrement input[type=file] { 
	padding		: 3px 0px; 
	width 		: 500px;
}

.gestion_enregistrement textarea, .gestion_enregistrement input, .gestion_enregistrement select {	
	font-size 	: 20px;
	line-height : 20px;
}

.gestion_enregistrement .separateur { 
	font-size 	: 18px;
	line-height : 18px;
}

.gest_enr_submit input { 
	font-size	: 18px;
	line-height	: 18px;
	padding		: 18px;
}

.file_error { 
	margin-left : 10px; 
	font-size 	: 14px;
}

/**********************************************************ETATS**********************************************************************/
.etat_gen table {
	border-spacing	: 0px 5px;
	font-size 		: 14px;
	line-height	 	: 25px;
}

.etat_gen table th { line-height : 30px; }

.etat_gen td > img { vertical-align : middle; }

.etat_gen td, .etat_gen th { padding : 0px 5px; }

.etat_gen button img { 
	width 			: 30px;
	height 			: 30px;
	object-fit 		: contain;
	vertical-align 	: middle;
}

.etat_gen button {
	font-size	: 18px;
	line-height	: 18px;
	padding		: 5px;
}

.etat_gen button:before {
	width		: 17px;
	height		: 17px;
	margin-right: 10px;
}

.etat_reservation, .etat_documents, .etat_actu, .etat_association { gap : 50px; }

.etat_reservation form div.etat_gen, .etat_documents form div.etat_gen, .etat_actu form div.etat_gen, .etat_association form div.etat_gen { 
  min-width : 985px; 
}

