*
{
	margin:0;
	padding:0;
	box-sizing:border-box;
}
.photos
{
	overflow: hidden;
	height: 0;
}
ul
{
	margin-left:20px;
}
a img
{
	border:none;
}
h1.titre
{
	padding:10px;
	margin-bottom:10px;
}
h2
{
	text-align:center;
	padding:18px 0 2px 0;
}
a
{
	text-decoration:none;
}
a:hover
{
	text-decoration:underline;
}
body
{
	font-family: georgia, palatino, "book antiqua", "palatino linotype", serif;
	background-position:bottom left;
	background-repeat:repeat-x;
}
.langues input
{
	width:32px;
	height:32px;
}
#banniere
{
	height: 64px;
	overflow: hidden;
	position: relative;
}
#banniere a
{
	display:block;
	text-align:center;
	overflow:hidden;
	height:100%;
	background-size: cover;
	background-position: center center;
}
#pied
{
	clear:both;
	text-align:center;
	height:80px;
	margin-top:-40px;
}
#pied div
{
	padding:6px;
}
#corps
{
	margin:0 auto;
}
.page-width
{
	max-width:1460px;
	margin:0 auto;
}
#corps .haut
{
	height:60px;
	background-position:top left;
	background-repeat:no-repeat;
	text-align:center;
}
#corps .bas
{
	padding:20px;
	text-align:center;
	font-size:0.9em;
}
#corps .bloc
{
	background-position:top left;
	background-repeat:repeat-y;
}
#corps .coupe
{
	clear:both;
}
#hauteur
{
	float:left;
	height:600px;
}
#design
{
	display:none;
}
#menu
{
	margin:0 auto 20px;
	display:flex;
	flex-direction:row;
	justify-content:center;
}
#menu a
{
	display:flex;
	flex:0;
	height:40px;
	padding:5px 20px;
	border-top:5px solid transparent;
	text-decoration:none;
	text-align:center;
	white-space: nowrap;
	font-weight:bold;
    vertical-align: middle;
    line-height: 30px;
}
.intro-wrapper
{
	display: flex;
	flex-direction: row;
}
.intro
{
	order: 2;
	width: 450px;
	padding-top: 100px;
}
.intro > div {
	position: relative;
	left: -40px;
	padding: 50px;
	z-index: 3;
}
.intro-wrapper.swapped .intro
{
	order: 1;
}
.intro-wrapper.swapped .gallery
{
	order: 2;
}
.intro-wrapper.swapped .intro > div
{
	left: 40px;
}
.gallery
{
	text-align: center;
	width: 960px;
	max-width: 100%;
	height: 600px;
	margin: 40px auto 45px auto;
	position: relative;
}
.gallery.small
{
	width: 630px;
	height: 400px;
	margin: 0;
}
.gallery .slot
{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-size: cover;
}
.gallery .slot.fadable
{
	transition: opacity .4s;
}
.gallery .slot.faded
{
	opacity: 0;
}
h1.titre
{
	text-align:center;
	font-size:16px;
	font-weight:normal;
}
#miniatures
{
	margin-top:5px;
	width:616px !important;
	width:620px;
	padding:1px;
	text-align:center;
	line-height:1px;
}
#miniatures img
{
	border:1px solid white;
}
.case_image
{
	display:block;
	float:left;
	border:1px solid black;
	padding:4px;
	margin:2px;
}
table.formulaire
{
	margin:30px auto;
}
table.formulaire td
{
	padding:10px;
}
table.calendrier
{
	margin:auto;
	width:840px;
	border-collapse:separate;
	border-spacing:3px;
}
table.calendrier caption
{
	font-weight:bold;
	font-size:1.2em;
	padding-bottom:15px;
}
table.calendrier th
{
	padding:3px 0;
}
table.calendrier td
{
	text-align:center;
	border:1px solid black;
	padding:3px;
	width:86px !important;
	width:94px;
	height:46px !important;
	height:54px;
}
table.calendrier td.vide
{
	visibility:hidden;
}
table.calendrier th.lien_page
{
	cursor:pointer;
}
table.calendrier th.lien_page a
{
	display:block;
	text-decoration:none;
}
table.calendrier th.lien_page:hover, table.calendrier th.lien_page a:hover
{
	background:#ddffb7;
}
.legende
{
	clear:both;
	padding:2px;
}
.legende div
{
	float:left;
	margin-right:8px;
	border:1px solid black;
	position:relative;
	top:1px;
	width:14px;
	height:14px;
	font-size:1px;
}
.legende p
{
	margin:0;
	padding:0;
}
.review-row
{
	display: flex;
	flex-direction: row;
	justify-content: center;
}
.review
{
	width: 330px;
	margin: 50px 100px;
}
.review .gallery
{
	min-width: 630px;
	margin-bottom: -200px;
}
.page-bottom
{
	margin-top: 100px;
	display: flex;
	flex-directory: row;
	justify-content: center;
}
.page-bottom .map
{
	width: 600px;
	margin: 50px;
}
.page-bottom .index-contact
{
	width: 400px;
	margin: 50px;
}
