@charset "utf-8";
/* 多言語 ; @charset "utf-8" sans BOM; sauts de ligne format UNIX (LF); */
/* latin */
@font-face {
	font-family: 'Corinthia';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(design/polices/corinthia-latin-normal-400.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300 400;
	font-display: swap;
	src: url(design/polices/montserra-latin-normal-300-400.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html,body{
	margin:0;
	padding:0;
	background-color:#f7f7f7;
	font-family:Montserrat,sans-serif;
	font-weight:300;
	background: radial-gradient(#f7f7f7, #ffe8ec);
	font-size:16px;
	color:black;
}
body{
	background-repeat:repeat;
	background-position:top left;
	background-image:url("design/fond-0.png");
	background-image: -webkit-image-set(
		url("design/fond-0.avif"),
		url("design/fond-0.webp"),
		url("design/fond-0.png"));
	background-image: image-set(
		url("design/fond-0.avif") type("image/avif"),
		url("design/fond-0.webp") type("image/webp"),
		url("design/fond-0.png") type("image/png"));
}
@media all and (max-width:880px){
	body.panneau_ouvert{
		overflow-y:hidden;
		max-width:100vh;
	}
}



h1, h2, h3{
	color:palevioletred;
	font-weight:400;
	margin:0;
}
h1{
	font-size:300%;
	font-family:Montserrat,sans-serif;
	color:palevioletred;
	background-color: #ffffff91;
	border-radius: 35px;
}

h1 span:last-child{
	color:black;
}
h2{
	font-size:200%;
	font-family:Montserrat,sans-serif;
	color:dimgrey;
}
h3{
	font-size:350%;
	margin-bottom:5px
}
h4{
	font-size:125%;
	font-weight:300;
	margin:10px 0;
	color:palevioletred
}
a{
	text-decoration:none;
}
img{
	max-width: 100%;
}
#coordonnees {
	background: white;
	box-shadow: 0 5px 10px 5px rgba(25, 25, 30, 0.1);
	z-index: 20;
	position: relative;
	text-align: center;
}
#coordonnees > div {
	max-width: 1960px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: flex-start;
	padding: 20px 10px;
	background-position: left top, right bottom;
	background-repeat: no-repeat;
	background-size:contain;
	background-image:url("design/fond-1.webp"), url("design/fond-2.webp");
	/* background-image:url("design/fond-1.png"), url("design/fond-2.png"); */
	/* background-image: -webkit-image-set(
		url("design/fond-1.avif"),
		url("design/fond-1.webp"),
		url("design/fond-1.png"),
		-webkit-image-set(
		url("design/fond-2.avif"),
		url("design/fond-2.webp"),
		url("design/fond-2.png")));
	background-image: image-set(
		url("design/fond-1.avif") type("image/avif"),
		url("design/fond-1.webp") type("image/webp"),
		url("design/fond-1.png") type("image/png"),
		image-set(
		url("design/fond-2.avif") type("image/avif"),
		url("design/fond-2.webp") type("image/webp"),
		url("design/fond-2.png") type("image/png"))); */
}

@media all and (min-width:1390px){ 
	#coordonnees>div{	
		gap:10px;
		background-size:unset;
	}
}

#coordonnees > div > div {
	max-width: 1400px;
	display: flex;
	flex-flow: row wrap;
	gap: 60px;
	justify-content: space-between;
	align-items: flex-start;
	text-align: center;
	flex-grow: 1;
}

@media all and (max-width:1720px){ 
	#coordonnees > div > div {
		justify-content: space-around;
	}
}
#coordonnees h2{
	background-color: #ffffff91;
	border-radius: 35px;
}
#coordonnees h3{
	font-size: 150%;
	color: dimgrey;
}
#coordonnees #tel-rs {
	text-align:right;
}
#coordonnees #tel {
	font-size: 200%;
	font-weight: 400;
	margin: 10px;
	color: dimgrey;
}
#coordonnees #tel-2{
	display:none;
}
#coordonnees #rs img {
	height:40px;
	vertical-align: middle;
	margin:10px;
}
#coordonnees #rs img.mail{
	height:58px;
	margin-left:5px;
}

.flex{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	align-content:flex-start;
	align-items:stretch;
	gap:20px;
	position:relative;
	max-width:1900px;
}

.panneau_menu{
	position:absolute;
	z-index:20;
	top:0;
	left:-120vw;
	height:100%;
	min-height:100vh;
	padding:0 10px 60px 10px;
	align-items: center;
	background: pink;
	min-width: 200px;
	overflow-y: auto;
	box-shadow: 0 5px 10px 5px rgba(25, 25, 30, 0.1);
	transition-duration:400ms;
	transition-property:left;
}
@media all and (min-width:880px){
	.panneau_menu{
		display:none;
	}
}
.panneau_menu.ouvert{
	left:0;
}
#rubriques{
	display: block;
	align-items: center;
	background: pink;
	min-width: 200px;
	overflow-y: auto;
	text-align: left;
	padding-top: 50px;
	position: relative;
	border-bottom-right-radius:10px;
	box-shadow: 0 5px 10px 5px rgba(25, 25, 30, 0.1);
}
@media all and (min-width:1530px){
	#rubriques {
		min-width: 340px;
	}
}
#rubriques>div{
	position:static;
	top:0;
	left:0;
	bottom:0;
}
.panneau_menu .fermer{
	text-align:right;
	padding-bottom:5px;
}
.panneau_menu .fermer span{
	font-size:300%;
	color:white;
}
.panneau_menu .fermer span:hover{
	color:palevioletred;
	cursor:pointer
}

#rubriques h3,.panneau_menu h3{
	font-family: Corinthia, cursive;
	margin-left: 10px;
	line-height: 75%;
	font-size:325%;
	margin-bottom:40px;
	color:white;
}
.panneau_menu h3{
	font-size:300%;
	padding-right:15px;
}
#rubriques p,.panneau_menu p{
	color:palevioletred;
	margin-bottom:20px;
}
#rubriques p a,.panneau_menu p a{
	padding-bottom:5px;
	font-size:110%;
	font-weight:400;
	color:#333;
	margin:0 5px 5px 20px;
	display:inline-block;
	border-bottom:2px dotted transparent;
}
#rubriques p a:hover,.panneau_menu p a:hover{
	color:palevioletred;
	border-bottom-color:palevioletred;
}

.bloc-droite{
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-content:center;
	align-items:flex-start;
	gap:30px;
	text-align:center;
	max-width:1600px;
	margin-top:20px;
}

.bloc-droite>div,#prestations-et-tarifs > div{
	margin-right:10px;
}

#presentation{
	display:flex;
	flex-flow:row wrap;
	gap:20px;
	padding:20px;
	justify-content: space-evenly;
	align-items:center;
	max-width:1200px;
	border-radius: 10px;
	background-color:white;
	box-shadow:0 5px 10px 0px rgba(25, 25, 30, 0.1);
}

#presentation img{
	max-width:300px;
	width:300px;
}
@media all and (max-width:350px){
	/* #presentation{
		max-width:90vw;
	} */
	#presentation img{
		max-width:100%;
		width:unset;
	}
}
@media all and (min-width:1400px){
	#presentation img{
		max-width:450px;
		width:unset;
	}
}
#presentation>div{
	max-width:600px;
	padding:10px;
	text-align:center;
	font-size:120%;
}

#presentation h2{
	font-family: Corinthia, cursive;
	font-size:350%;
	color:palevioletred;
	text-align:center;
	line-height:45px;
}
#presentation p{
	text-align:justify;
}




table+h4{
	margin-top:20px;
}
#prestations-et-tarifs{
	max-width:1150px;
	margin:0 auto;
	flex:1 1 8000px;
}
#prestations-et-tarifs h2{
	background:linear-gradient(to right, #f9e570, #dcaf34 50%, #f9e570);
	border-top-left-radius:10px;
	border-top-right-radius:10px;
	padding:10px 10px 10px 10px;
	color:white;
	text-align:center;
}
#prestations-et-tarifs > div{
	text-align:center;
}
#prestations-et-tarifs > div > div{
	background-color:white;
	border-radius:10px;
	margin-top:30px;
	padding:10px 10px 30px 10px;
	box-shadow:0 5px 10px 0px rgba(25, 25, 30, 0.1);
}
#prestations-et-tarifs h2+div{
	margin-top:0;
	border-top-left-radius:0;
	border-top-right-radius:0;
}
#prestations-et-tarifs h3{
	font-family:Corinthia, cursive;
}
table.tarifs{
	width:100%;
	max-width:640px;
	margin:0 auto;
	border-collapse: collapse
}
table.tarifs tr:not(.vide):hover td{
	background-color:#ffe8ec
}
table.tarifs tr td{
	border-bottom: 3px dotted lightgrey;
	padding:5px
}
table.tarifs tr:first-child td{
	border-top: 3px dotted lightgrey
}
table.tarifs tr td:first-child{
	width:70%;
	text-align:left;
}
table.tarifs tr:not(.vide) td:first-child::before{
	color:#ffcb00;
	margin-right:20px;
	content:'＊';
}
table.tarifs tr td:nth-child(2){
	width:5%
}
table.tarifs tr td:last-child{
	width:25%;
	text-align:right;
}
table.tarifs tr:not(.vide) td:last-child::after{
	color:#ffcb00;
	content:'＊';
	margin-left:20px;
}
table.tarifs tr:hover td:first-child::before,table.tarifs tr:hover td:last-child::after{
	color:palevioletred;
}
table.tarifs tr td>span{
	color:palevioletred;
	font-size:80%
}
#prestations-et-tarifs div.notes{
	border-radius:10px;
	background-color:#f9e570;
	max-width:600px;
	padding:10px 10px;
	margin:0 auto;
	margin-top:20px;
	text-align:justify;
	font-size:90%;
}
#prestations-et-tarifs div.notes span {
	position: relative;
	top: -1px;
}








footer{
	background-color:white;
	z-index:30;
	margin-top:100px;
	position:relative;
	text-align:center;
	padding:20px 10px;
}
footer>div{
	max-width:1400px;
	margin:0 auto;
}
footer>div>p{
	margin:0 0 5px 0;
	font-size:90%;
	text-align:justify
}
#menu{display:none;}


#tel img, #tel-2 img{
	vertical-align: middle;
	margin-right: 10px;
	padding: 2px;
	height: 30px;
	border-radius: 100%;
	border: none;
	position: relative;
	top: -3px;
}

@media all and (max-width:880px){
	#coordonnees > div {
		display: block;
		padding:0;
		background-image:none;
	}
	#coordonnees > div > div {
		justify-content: center;
		flex-direction: column-reverse;
		text-align: center;
		align-content: center;
		gap:0;
	}
	#coordonnees > div > div > div {
		flex-basis: 100%;
		width:100%;
	}
	#menu{
		float:left;
		display:block;
		background-color:white;
		padding: 5px;
		cursor:pointer;
	}
	#menu svg{
		height:40px
	}
	#menu span:hover svg g path{
		fill:black
	}
	#coordonnees #rs img {
		margin: 0px 10px;
	}
	#as{
		float:right;
	}
	#tel{
		clear:both;
		display:none;
	}
	#coordonnees #tel-2{
		display:block;
		background-color:white;
		padding:10px;
		font-size:175%;
		margin-top:20px;
		border-top:1px solid palevioletred;
	}
	#h1{
		clear:both;
		margin:0;
		background-image: url(design/fond-1.png), url(design/fond-2.png);
		background-position: left top, right bottom;
		background-repeat: no-repeat;
		background-size:contain;
		border-top:1px solid palevioletred;
		padding-top:10px;
	}
	#presentation{
		gap:10px;
		padding:10px;
	}
	#presentation>div{
		padding:0;
	}
	#presentation h2 {
		padding-top:10px;
	}
	#rubriques{
		display:none;
	}
	.flex{
		margin:0 10px 0 20px;
	}
	#prestations-et-tarifs h2 {
		color: black;
		font-family: Corinthia, cursive;
		font-size: 320%;
		border: 3px dotted palevioletred;
		border-radius: 10px;
		background: #ffeaee;
		margin-bottom: 20px;
	}
	#prestations-et-tarifs h3{
		font-family: inherit;
		font-size:140%;
		text-align:left;
		display:flex;
		position:relative;
		cursor:pointer;
		color:black;
	}
	#prestations-et-tarifs h3::after{
		content:'\0025B6\00fe0e';
		float:right;
		position:absolute;
		top:0;
		right:0;
		color:lightgrey;
	}
	#prestations-et-tarifs h3.deplie::after{
		content:'\0025BC\00fe0e';
	}
	table.tarifs{
		margin-top:20px;
	}
	div.tarifs{
		display:none;
	}
	#prestations-et-tarifs h2 + div{
		margin-top:inherit;
		border-radius: 10px;
	}
	#prestations-et-tarifs > div > div{
		padding-bottom:10px;
	}
}


@media all and (max-width:550px){
	h1 {
		font-size: 220%;
	}
	h2 {
		font-size: 150%;
	}
	#coordonnees h3 {
		font-size: 120%;
	}
}

