@charset "utf-8";
/* CSS Document */

@font-face {
font-family: 'Courge';
src: url('typo/Courgette-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
font-display: swap;
}

html,body{
width: 100%;
height: 100%;
margin:0;
padding:0;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:16px;
background-color:#999999;
color:#FFFFFF;
}

#Fond{
	width: 100%;
	height: 100%;
	position: fixed;
	background-image:url(img/fond.webp);
	background-repeat: repeat;
	float: left;
	top: 0;
	left: 0;
	z-index: 0;
}

.mobi{
display:none;
}

/* TYPO ----------------------------------------------- */
p{
margin:0;
padding:0;
}

.titreH1{
display:inline;
float:left;
min-height:24px;
font-family: 'Courge';
font-size:1.6em;
font-weight:bold;
color: #015eab;
background-color:#ffffff;
margin:0px 0px 0px 20px;
padding:0px 10px 0px 10px;
}
	.titreH1:before{
	content:'';
	display:inline-block;
	vertical-align:middle;
	top:0;
	left:0;
	height:22px;
	background-image:url(img/backH1.jpg);
	width:100%;
	position:absolute;
	z-index:-1;
	}
	.titreH1:after{
	content:'';
	display:inline-block;
	vertical-align:middle;
	top:0;
	left:0;
	height:22px;
	background-image:url(img/backH1.jpg);
	width:100%;
	position:absolute;
	z-index:-1;
	}
.titreH2{
font-family: 'Courge';
color:#015eab;
font-size:1.8em;
font-weight:bold;
margin:0;
padding:0;
display:inline;
}

.titreH3{
	font-size: 1.1em;
	font-weight: bold;
	color: #999999;
	margin: 0;
	padding: 0;
}

.legende{
font-size:0.9em;
}

.noir{
color:#000000;
}
.bleu{
color:#015eab;
}
.gris{
color:#999999;
}
.grand{ font-size: 1.3em; }

ul.std{
margin:0px 0px 0px 20px;
padding:0;
list-style:square;
}
ul.std li{
	margin: 5px 0;
}

.lienTexte{
text-decoration:none;
color:inherit;
}

/* -----------------------------------------------------*/

/* FORMULAIRE --------------------------- */
.nv-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.baseInput{
	width: calc(100% - 20px);
	height: 40px;
	background-color: #ffffff;
	border: 1px solid #015eab;
	border-radius: 8px;
	color:#222222;
	text-align: center;
	font-family: 'Roboto';
	font-size: 1em;
	line-height: 40px;
	vertical-align: middle;
	position: relative;
	float: left;
	margin-bottom: 10px;
	clear: both;
}
.baseArea{
	width: calc(100% - 20px);
	height: 160px;
	background-color: #ffffff;
	border: 1px solid #015eab;
	border-radius: 8px;
	color:#222222;
	text-align: center;
	font-family: 'Roboto';
	font-size: 1em;
	line-height: 40px;
	vertical-align: middle;
	position: relative;
	float: left;
	margin-bottom: 10px;
	clear: both;
}
.formLigne{
	width:100%;
	margin: 5px 0;
	position: relative;
	float: left;
}
.miniInput{
	width:80px;
	background-color: #ffffff;
	border: 1px solid #015eab;
	border-radius: 8px;
	color:#222222;
	text-align: center;
	font-family: 'Roboto';
	font-size: 1em;
	line-height: 40px;
	vertical-align: middle;
	margin-bottom: 10px;
	clear: both;
}
.subIti{
	width: 120px;
	height: 40px;
	background-color: #015eab;
	border: 1px solid #015eab;
	border-radius: 8px;
	font-family: 'Roboto';
	font-size: 1em;
	color:#ffffff;
	text-align: center;
	line-height: 40px;
	vertical-align: middle;
	position: relative;
	float: left;
	cursor: pointer;
}

.message{
width:350px;
max-width: 90%;
background-color:#ffffff;
border:1px solid #7eb737;
border-radius:8px;
font-size:1em;
color: #000000;
text-align:center;
height:auto;
padding:4px;
box-shadow: 0 0 5px #666666;
position:fixed;
top:50%;
left:50%;
transform:translate(-50%, -50%);
z-index:11;
overflow:auto;
}
.closeF{
width:100px;
background-color:#7eb737;
border-radius:8px;
color:#ffffff;
font-size:0.9em;
text-align:center;
line-height:25px;
vertical-align:middle;
position:relative;
float:left;
padding: 4px;
top:0;
left: 50%;
transform: translateX(-50%);
}
.closeF a{
color:#ffffff;
text-decoration:none;
}

/* BOUTON --------------------------------- */

.boutonPage{
	padding: 8px;
	border-radius: 8px;
	background-color: #cccccc;
	border: 1px solid #015eab;
	color: #015eab;
	font-size: 1.1em;
	font-weight: bold;
	text-decoration: none;
	position: relative;
	float: left;
	box-shadow: 0 0 0 #666666;
	transition: all 0.4s;
	cursor: pointer;
}
.boutonPage:hover{
	background-color: #ffffff;
	box-shadow: 0 0 3px #666666;
}

.boutonAcces{
	padding: 8px;
	border-radius: 8px;
	background-color: #cccccc;
	border: 1px solid #015eab;
	color: #015eab;
	font-size: 1em;
	/*font-weight: bold;*/
	text-decoration: none;
	position: relative;
	float: left;
	box-shadow: 0 0 0 #666666;
	transition: all 0.4s;
	cursor: pointer;
}
.boutonAcces.droite{ float: right; }
.boutonAcces:hover{
	background-color: #ffffff;
	box-shadow: 0 0 3px #666666;
}

/* -------------------------------------------
--------------------------------------------*/

#ZoneSup{
width:100%;
position:relative;
float:left;
z-index:2;
}
	#CadreSup{
	width:1200px;
	height:auto;
	position:relative;
	float:left;
	left:50%;
	transform:translateX(-50%);
	-webkit-transform:translateX(-50%);
	-ms-transform:translateX(-50%);
	}
	#LogoSup{
	width:180px;
	height:120px;
	padding:20px 10px 10px 10px;
	background-color:#ffffff;
	border:2px solid #015eab;
	border-radius:8px 8px 8px 8px;
	box-shadow:0px 0px 8px #666666;
	position:absolute;
	float:left;
	z-index:5;
	top:-10px;
	}
		#LogoSup img{
		max-width:100%;
		max-height:100%;
		width:auto;
		height:auto;
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		-webkit-transform:translate(-50%, -50%);
		-ms-transform:translate(-50%, -50%);
		}
	#TelTop{
		width:150px;
		height: 30px;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #015eab;
		box-shadow: 0 0 5px #000000;
		color: #ffffff;
		position: absolute;
		float: left;
		top: 142px;
		left: 25px;
		z-index: 4;
	}
	#BandSup{
	width:800px;
	height:280px;
	background-color:#CCCCCC;
	border:1px solid #ffffff;
	box-shadow:0px 0px 8px #666666;
	position:relative;
	float:left;
	margin-top:30px;
	margin-left:20px;
	z-index:2;
	}
		#BandSup img{
		max-width:100%;
		}
		#TriangleCache{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 280px 160px;
		border-color: transparent transparent #ffffff transparent;
		position:absolute;
		float:left;
		right:0;
		bottom:0;
		z-index:4;
		}
		#AccesMenu{
		color:#015eab;
		font-weight:bold;
		position:absolute;
		bottom:0;
		right:0;
		margin-right:10px;
		margin-bottom:10px;
		z-index:5;
		}
	
	/* MENU --------------------------------------------------- */
	#BlocMenu{
	width:330px;
	height:330px;
	position:relative;
	float:left;
	margin-left:40px;
	margin-top:10px;
	}
	.caseMenu{
	width:157px;
	height:157px;
	position: relative;
	float:left;
	-webkit-perspective: 800;
	-moz-perspective: 800;
	-ms-perspective: 800;
	perspective: 800px;
	margin:2px;
	cursor:pointer;
	}
		.caseMenu a{
		text-decoration:none;
		}
		.caseMenu:hover .carteMenu, .caseMenu.hover .carteMenu {
			transform: rotateY(180deg);
			-webkit-transform:rotateY(180deg);
			-ms-transform:rotateY(180deg);
		}
	.carteMenu{
	width:100%;
	height:100%;
	
	border:1px solid #015eab;
	position:relative;
	float:left;
	-webkit-transform-style:preserve-3d;
	transform-style: preserve-3d;
  	transition: transform 1s;
	-webkit-transition-property: transform;
	-webkit-transition-duration: 1s;
	}
		.carteMenu .front{
		position:absolute;
		top:0;
		left:0;
		background-color:#01b9ad;
		background: -moz-linear-gradient(120deg,
		  #015eab 0%,
		  #015eab 40%,
		  #0583eb 64%,
		  #015eab 75%,
		  #015eab 100%); /* FF3.6+ */
		background: -webkit-gradient(120deg, 
		  color-stop(0%,#015eab), 
		  color-stop(40%,#015eab), 
		  color-stop(64%,#0583eb), 
		  color-stop(75%,#015eab),
		  color-stop(100%,#015eab)); /* Chrome,Safari4+ */
		background: -webkit-linear-gradient(120deg,
		  #015eab 0%,
		  #015eab 40%,
		  #0583eb 64%,
		  #015eab 75%,
		  #015eab 100%); /* Chrome10+,Safari5.1+ */
		background: -o-linear-gradient(120deg,
		  #015eab 0%,
		  #015eab 40%,
		  #0583eb 64%,
		  #015eab 75%,
		  #015eab 100%); /* Opera 11.10+ */
		background: linear-gradient(120deg,
		  #015eab 0%,
		  #015eab 40%,
		  #0583eb 64%,
		  #015eab 75%,
		  #015eab 100%); /* W3C */
		-webkit-backface-visibility: hidden;
		-moz-backface-visibility: hidden;
		-ms-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: rotateY( 0deg );
		-webkit-transform:rotateY(0deg);
		-ms-transform:rotateY(0deg);
		}
		.carteMenu .back{
		top:0;
		left:0;
		position:absolute;
		background-color:#ffffff;
		-webkit-backface-visibility: hidden;
		-moz-backface-visibility: hidden;
		-ms-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: rotateY( 180deg );
		-webkit-transform:rotateY(180deg);
		-ms-transform:rotateY(180deg);	
		}
		
		.cadreInfo{
		width:133px;
		height:133px;
		border:1px solid #0583eb;
		position:relative;
		float:left;
		padding:8px;
		margin:3px;
		overflow:hidden;
		}
		.visuMenu{
		width:100%;
		height:110px;
		position:relative;
		float:left;
		overflow:hidden;
		}
			.visuMenu img{
			max-width:100%;
			max-height:100%;
			width:auto;
			height:auto;
			position:absolute;
			float:left;
			top:50%;
			left:50%;
			transform:translate(-50%, -50%);
			-webkit-transform:translate(-50%, -50%);
			-ms-transform:translate(-50%, -50%);
			z-index:1;
			}
			.visuMenu .ombreI{
			width:100%;
			height:100%;
			box-shadow:0px 0px 8px #666666 inset;
			position:absolute;
			float:left;
			z-index:2;
			}
		.nomMenu{
		width:100%;
		text-align:center;
		color:#ffffff;
		font-weight:bold;
		text-shadow:0px 0px 4px #666666;
		position:relative;
		float:left;
		margin-top:4px;
		}
		.back .nomMenu{
		width:100%;
		text-align:center;
		font-weight:bold;
		text-shadow:0px 0px 0px;
		position:relative;
		float:left;
		margin-top:4px;
		color:#015eab;
		}
	/* ------------------------------------------------- */

#ZoneCentre{
width:100%;
position:relative;
float:left;
margin-top:20px;
}

#Page{
width:1180px;
min-height:60px;
border:1px solid #999999;
background-color:#ffffff;
color: #333333;
padding:10px;
position:relative;
float:left;
left:50%;
transform:translateX(-50%);
-webkit-transform:translateX(-50%);
-ms-transform:translateX(-50%);
overflow: hidden;
}
#TriangleHD{
width: 0;
height: 0;
border-style: solid;
border-width: 0px 40px 40px 0;
border-color: transparent #999999 transparent transparent;
position:absolute;
float:left;
right:0;
top:0;
z-index:4;
}
#TriangleBG{
width: 0;
height: 0;
border-style: solid;
border-width: 40px 0 0px 40px;
border-color: transparent transparent transparent #999999;
position:absolute;
float:left;
left:0;
bottom:0;
z-index:4;
}

#ZoneBas{
width:100%;
position:relative;
float:left;
margin-top:20px;
padding-bottom:20px;
}
	#ZoneCopyr{
	width:1200px;
	position:relative;
	float:left;
	left:50%;
	transform:translateX(-50%);
	-webkit-transform:translateX(-50%);
	-ms-transform:translateX(-50%);
	}
	#BackZoneBas{
	width:100%;
	height:14px;
	background-color:#999999;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	z-index:1;
	}
	#BlocCopyr{
	width:750px;
	height:50px;
	background-color:#015eab;
	border:1px solid #ffffff;
	box-shadow:0px 0px 8px #666666;
	font-size:0.9em;
	position:relative;
	float:left;
	padding:10px;
	z-index:3;
	}
		#BlocCopyr p{
		position:absolute;
		top:50%;
		transform:translateY(-50%);
		-webkit-transform:translateY(-50%);
		-ms-transform:translateY(-50%);
		}
	#BlocReseau{
	width:100px;
	height:50px;
	background-color:#015eab;
	border:1px solid #ffffff;
	box-shadow:0px 0px 8px #666666;
	position:relative;
	float:right;
	padding:10px;
	z-index:3;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:10px;
	}
		/*#BlocReseau p{
		width: 100%;
		text-align: center;
		position:absolute;
		top:50%;
		transform:translateY(-50%);
		-webkit-transform:translateY(-50%);
		-ms-transform:translateY(-50%);
		margin: 0;
		padding: 0;
		}*/

#Trame{
width:100%;
height:100%;
background-color:#FFFFFF;
position:fixed;
left:50%;
top:50%;
transform:translate(-50%, -50%);
-webkit-transform:translate(-50%, -50%);
-ms-transform:translate(-50%, -50%);
float:left;
z-index:19;
opacity:0;
visibility:hidden;
transition-property: opacity;
transition-duration: 0.5s;
-webkit-transition-property: opacity;
-webkit-transition-duration: 0.5s;
}
#Legal{
width:500px;
height:520px;
border-radius:8px;
box-shadow:0px 4px 4px #000000;
background-color:#FFFFFF;
color:#000000;
font-size:0.9em;
padding:10px;
position:fixed;
top:50%;
left:50%;
transform:translate(-50%, -50%);
-webkit-transform:translate(-50%, -50%);
-ms-transform:translate(-50%, -50%);
z-index:20;
opacity:0;
visibility:hidden;
transition-property: opacity;
transition-duration: 0.5s;
-webkit-transition-property: opacity;
-webkit-transition-duration: 0.5s;
}


.flex100{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	float: left;
}
.flex100.rea{ flex-wrap: wrap; justify-content: center; gap:10px; margin-bottom: 30px; }
.flex100.alignMid{ justify-content: center; }
.flex100.centrer{ justify-content: center; }
.flex100.gauche34{ justify-content: flex-start; align-items: center; gap:5px; }
.col50{
width:46%;
margin:2%;
position:relative;
float:left;
}
.col100{
width:96%;
margin:2%;
position:relative;
float:left;
}
	.col100.galerie{
	margin-bottom:100px;
	}
.col70{
width:66%;
margin:2%;
position:relative;
float:left;
}
.col30{
width:26%;
margin:2%;
position:relative;
float:left;
}

.imgMW{
max-width:100%;
height: auto;
border:1px solid #ffffff;
}


/* ACCUEIL --------------------------------------------------- */
.cadreOFFRE{
	max-width: calc(100% - 40px);
	text-align: center;
	border:2px dashed #015eab;
	background-color: rgba(1,94,171,0.1);
	border-radius: 8px;
	padding: 10px;
	position: relative;
	float: left;
	margin: 30px 0;
	box-shadow: 0 0 5px #666666;
}


.flexAvis{
	width: 100%;
	position: relative;
	float: left;
	background-color: #999999;
	/*border: 1px dashed #999999;*/
	padding: 10px 0;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.flexAvis.retour{ flex-wrap: wrap; }
.blocAvis{
	width: 300px;
	min-height: 200px;
	border: 1px solid #999999;
	background-color: #ffffff;
	box-shadow: 0 0 5px #666666;
	padding: 5px;
	margin: 0 10px;
	position: relative;
	float: left;
}
.blocAvis.full{
	width: 100%;
	min-height: inherit;
	border-left: 0;
	border-bottom: 1px solid #ff0000;
	margin: 10px 0;
}
.etoileAvis{
	width: 100%;
	font-size: 2em;
	text-align: center;
	color: #ffba00;
	position: relative;
	float: left;
}
.nomAvis{
	width: 100%;
	text-align: center;
	color: #015eab;
	font-weight: bold;
	position: relative;
	float: left;
	margin: 5px 0;
}
.detailAvis{
	width: 100%;
	text-align: justify;
	position: relative;
	float: left;
}
.dateAvis{
	width: 100%;
	text-align: right;
	font-style: italic;
	color: #cccccc;
	font-size: 0.9em;
	position: relative;
	float: left;
	margin: 10px 0 5px 0;
}

.ligneMEAV{
width:100%;
background-color:#015eab;
display: flex;
justify-content: center;
align-items: flex-start;
gap: 20px;
padding: 20px 0;
position:relative;
float:left;
}
.caseMEA{
	width: 25%;
	max-width: 220px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
	color: #ffffff;
	position: relative;
	float: left;
}

.ligneReseau{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:5px;
	padding: 5px 0;
	position: relative;
	border-bottom: 1px solid #015eab;
}
.ligneReseau p{
	font-family: 'Courge';
	font-size:1.4em;
	font-weight:bold;
	color: #015eab;
}

.lignePhoto{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	float: left;
}
.casePhoto{
	width: 33%;
	aspect-ratio:1/1;
	position: relative;
	float: left;
	overflow: hidden;
}
	.casePhoto img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 50%;
	}


.mosaiquePhoto{
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 5px;
	position: relative;
	margin-bottom: 10px;
}
.mosaiquePhoto img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Grande image sur 3 colonnes */
.mosaiqueGrande{
    grid-column: 1 / span 3;
    aspect-ratio: 16 / 9; /* optionnel */
	background-color: #cccccc;
}

/* Mini images */
.mosaiqueMini{
    aspect-ratio: 1 / 1; /* carré */
	background-color: #cccccc;
}

/* ----------------------------------------------------------- */

/* SALLE DE BAIN --------------------------------------- */
/* ----------------------------------------------------- */

.blocMEA{
	font-size: 1.2em;
	border: 2px solid #015eab;
	padding: 5px;
	position: relative;
}
.blocMEA > div{
	border: 1px solid #015eab;
	padding: 10px;
	position: relative;
}

/* TEXTE --------------------------------------------------*/
.imgDeco{
width:auto;
height:180px;
border:1px solid #fff;
position:relative; 
float:left;
left:50%;
transform:translateX(-50%);
-webkit-transform:translateX(-50%);
-ms-transform:translateX(-50%);
}
	.imgDeco img{
	max-height:100%;
	}

/* --------------------------------------------------------- */

/* GALERIE --------------------------------------------------------------*/

.blocRea{
width:180px;
height:200px;
margin:4px;
position:relative;
float:left;
}
	.caseRea{
	width:164px;
	height:150px;
	background-color:#FFFFFF;
	padding:8px;
	position:relative;
	float:left;
	transition: all .2s;
	-webkit-transition-property: all;
	-webkit-transition-duration: 0.2s;
	}
	.blocPhoto{
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	border:2px solid #999999;
	position:relative;
	float:left;
	overflow:hidden;
	}
		.blocPhoto img{
		width:100%;
		height:100%;
		object-fit: cover;
		object-position: center;
		}
	.caseTitre{
	width:100%;
	height:20px;
	padding: 5px 0;
	background-color:#999999;
	text-align:center;
	color:#ffffff;
	position:relative;
	float:left;
	margin-top:4px;
	transition: all .2s;
	-webkit-transition-property: all;
	-webkit-transition-duration: 0.2s;
	}
		.caseTitre p{
		margin:0;
		padding:0;
		font-size: 0.9em;
		}
	
	.legendeRea{
	width:96%;
	height:0;
	min-height: 0;
	background-color:#015eab;
	color:#ffffff;
	text-align:center;
	font-size:0.9em;
	position:relative;
	float:left;
	padding:0 2% 0 2%;
	z-index:5;
	overflow:hidden;
	opacity:0.9;
	transition: all .2s;
	-webkit-transition-property: all;
	-webkit-transition-duration: 0.2s;
	}
		/*.legendeProd .txt{
		width:90%;
		
		font-size:12px;
		color:#FFFFFF;
		border-left:1px solid #da0b58;
		border-right:1px solid #da0b58;
		position:relative;
		float:left;
		margin:5%;
		}*/
	.blocRea:hover .caseRea{
	background-color:#015eab;
	box-shadow:0px 0px 4px #000000;
	}
	.blocRea:hover .caseTitre{
	background-color:#ffffff;
	color:#015eab;
	box-shadow:0px 0px 4px #000000;
	}
	.blocRea:hover .legendeRea{
	min-height:100px;
	}

/* -----------------------------------------------------------------------*/


/* CONTACT --------------------------------------------------------------*/
.rondIcone{
	width: 60px;
	height: 60px;
	border: 1px solid #015eab;
	border-radius: 50%;
	position: relative;
	float: left;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s;
}
.rondIcone img{
	width:65%;
	height: 65%;
	object-fit: contain;
}

#Message{
min-width:500px;
min-height:80px;
border-radius:8px;
border:1px solid #999999;
box-shadow:0px 4px 4px #000000;
background-color:#FFFFFF;
color:#000000;
text-align:center;
padding:10px;
position:fixed;
top:50%;
left:50%;
transform:translate(-50%, -50%);
-webkit-transform:translate(-50%, -50%);
-ms-transform:translate(-50%, -50%);
z-index:20;
transition-property: opacity;
transition-duration: 0.5s;
-webkit-transition-property: opacity;
-webkit-transition-duration: 0.5s;
}

/* ----------------------------------------------------------------------*/


/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}