/* Polices */
@font-face {
    font-family: 'Mael';
    src: url('../font/mael-webfont.woff2') format('woff2'),
         url('../font/mael-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Montserrat';
    src: url('../font/montserrat-regular-webfont.woff2') format('woff2'),
         url('../font/montserrat-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Philosopher';
    src: url('../font/philosopher-regular-webfont.woff2') format('woff2'),
         url('../font/philosopher-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Garamond';
    src: url('../font/garamond-webfont.woff2') format('woff2'),
         url('../font/garamond-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


/* Elements centrés */
.logo, .chambres .conteneur, article .separation, article .interlude, footer .conteneur, footer .conteneur .plan {
	margin-left: 50%;
	transform: translate(-50%,0);
}


* {
	margin: 0;
	padding: 0;
}
html, body {
	overflow-X: hidden;
}
body {
	background-color: var(--color3);
	font-display: fallback;
	
	--prix2: "115";
	--prix-adulte: "+22";
	--prix-enfant: "+20";
	--prix1: "100";
	--year: "2025";
	
	--color1: rgb(40,55,80);
	--color2: rgb(255,180,40);
	--color3: rgb(240,240,240);
	--color4: rgb(210,210,210);
}
a {
	text-decoration: none;
}



/* #### */
/* Test */
/* #### */

section {
	display: inline-block;
	position: relative;
	text-align: center;
	background-color: #fff;
	width: 70%;
	border-radius: 5px;
	padding: 25px;
	box-shadow: 0 0 10px #00000055;
}
/* .testmodif { */
	/* display: inline-block; */
	/* position: relative; */
	/* text-align: center; */
	/* background-color: #fff; */
	/* width: 70%; */
	/* border-radius: 5px; */
	/* padding: 25px; */
	/* box-shadow: 0 0 10px #00000055; */
/* } */
/* section { */
	/* padding: 25px; */
/* } */



/* ###### */
/* Header */
/* ###### */


header {
	overflow: hidden;
	position: relative;
	max-height: 100vh;
	background-position: center;
	background-size: cover;
}
.banner {
	height: 140px;
	z-index: 3;
	/* background: linear-gradient(rgb(0,0,0,0.6) 0%, rgb(0,0,0,0) 100%); */
	transition: ease all .5s;
	width: 100%;
	position: fixed;
	top: 0;
}

/* Scroll JS */
.scroll2 .banner {
	background: none;
	box-shadow: 0 0 5px rgb(0,0,0,0.5);
	background-color: rgb(255,255,255,1);
	border-bottom: 1px rgb(40,55,80,0) solid;
}
.scroll2 .banner-nav {
	box-shadow: none;
	border-bottom: 1px var(--color1) solid;
}
.scroll2 .reserver {
	color: var(--color1);
	border: 1px solid var(--color1);
}
.scroll2 .reserver:hover {
	color: var(--color2);
}
.scroll2 .reserver:after {
	background-color: var(--color1);
}
.scroll2 .nav-btn span {
	background-color: var(--color1);
}
.scroll2 .nav-btn p {
	color: var(--color1);
}
.scroll2 .nav-btn:hover span {
	background-color: var(--color1);
}
.scroll2 .nav-btn:hover p {
	color: var(--color1);
}

/* Bouton Réserver */
.reserver {
	background-color: rgb(0,0,0,0);
	border: 1px solid white;
	position: fixed;
	top: 40px;
	left: 65px;
	z-index: 2;
	padding: 16px 34px;
	font-size: 165%;
	transition: all ease 1s;
	color: white;
	text-decoration: none;
    font-family: 'Philosopher', sans-serif;
	overflow: hidden;
}
.reserver:hover {
	color: var(--color1);
	border: 1px solid rgb(255,255,255,1);
}
.reserver:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(0,-100%);
	display: inline-block;
	background-color: white;
	width: 100%;
	height: 100%;
	z-index: -1;
	transition: all .5s;
}
.reserver:hover:after {
	transform: translate(0,0);
}

/* Bouton Menu */
.nav-btn {
	position: fixed;
	dislay: inline-block;
	right: 25px;
	z-index: 2;
	top: 40px;
	width: 200px;
	height: 60px;
	cursor: pointer;
	text-align: right;
}
.nav-btn span {
	transition: all ease .5s;
	position: relative;
	display: block;
	width: 60px;
	height: 6px;
	margin-top: 12px;
	border-radius: 4px;
	top: 0;
	background-color: white;
}
.nav-btn-close span:first-child {
	width: 52px;
}
.nav-btn-close span:last-child {
	width: 45px;
}
.nav-btn p {
	transition: all ease .5s;
	display: inline-block;
	position: absolute;
	left: 70px;
	font-size: 32px;
	color: white;
	font-weight: bold;
	top: 10px;
	font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
}
.nav-btn:hover span {
	width: 60px;
	background-color: rgb(255,255,255,1);
}
.nav-btn:hover p {
	color: rgb(255,255,255,1);
}
.nav-btn-open span {
	background-color: rgb(255,255,255,0);
	/* width: 60px; */
}
.nav-btn-open span:first-child {
	background-color: rgb(255,255,255,1);
	transform: rotate(45deg);
	top: 16.5px;
}
.nav-btn-open span:last-child {
	background-color: rgb(255,255,255,1);
	transform: rotate(-45deg);
	top: -18px;
}
.nav-btn-open:hover span {
	background-color: rgb(255,255,255,1);
}
.nav-btn-open:hover span:nth-child(2) {
	background-color: rgb(255,255,255,0);
}
.scroll2 .nav-btn-open span {
	background-color: var(--color1);
}
.scroll2 .nav-btn-open span:nth-child(2) {
	background-color: rgb(40,55,80,0);
}

/* Flèche */
.arrow {
	width: 75px;
	filter: invert(100%);
	position: absolute;
	height: 100px;
	top: 75%;
	transition: all ease 1s;
}
.arrow img {
	margin-top: 30px;
	width: 100%;
}
.arrow:hover {
	filter: invert(100%);
	animation: bounce .75s infinite alternate;
}
@keyframes bounce {
	from {
		top: 75%;
	}
	to {
		top: calc(75% + 20px);
	}
}
.arrow:hover:before, .arrow:hover:after {
	background-color: rgb(255,255,255,1);
}

/* Menu */
header nav {
    font-family: 'Philosopher', sans-serif;
	position: fixed;
	top: 0;
	transform: translate(0,-100%);
	transition: all ease .5s;
	width: 100%;
	z-index: 1;
	height: 100px;
	background-color: var(--color1);
	padding-top: 160px;
	text-align: center;
}
header nav:after {
	border-top: 1px solid var(--color1);
	position: absolute;
	width: 100%;
	top: 20px;
}
header nav li {
	height: 100px;
	list-style-type: none;
	display: inline-block;
}
header nav li a {
	display: inline-block;
	position: relative;
	font-size: 30px;
	text-decoration: none;
	color: var(--color3);
	padding: 20px;
}
header nav a:after {
	content: "";
	transition: all ease .5s;
	width: 50%;
	height: 3px;
	border-radius: 2px;
	position: absolute;
	left: 50%;
	transform: translate(-50%,40px) scaleX(0);
	display: inline-block;
}
header nav a:hover:after {
	background-color: var(--color3);
	transform: translate(-50%,40px) scaleX(1);
}
.nav-open {
	box-shadow: 2px 2px 10px rgb(0,0,0,.5);
	transform: translate(0,0);
}
.scroll2 nav {
	background-color: rgb(255,255,255,1);
}
.scroll2 nav li a, .scroll2 nav li a:hover:after {
	color: var(--color1);
}
.scroll2 nav a:hover:after {
	background-color: var(--color1);
}

/* Logo */
.logo {
	z-index: 5;
	width: 30%;
	min-width: 350px;
	top: 12%;
	position: absolute;
	text-align: center;
	transition: all 1s;
	height: 45%;
}
.logo p {
	display: block;
    font-family: 'Garamond', serif;
	font-size: 420%;
	color: #e19100;
	line-height: 40px;
	transition: all 1s;
	opacity: 1;
	position: relative;
	/* top: -10px; */
	/* transform: scale(min(1 , 10vw); */
}
.logo p .capitals {
	color: #8c0000;
	font-family: Mael;
}
.logo .inter {
	line-height: 60px;
	font-size: 300%;
	left: -2%;
}
svg {
	transition: all 1s;
}
.scroll1 .logo {
	position: fixed;
	top: 18px;
	animation: logo 1s both;
	height: 120px;
	/* overflow: hidden; */
}
header .logop p {
	display: none;
}
.scroll1 .logo svg {
	height: 110px;
}
.scroll1 .logo p {
	opacity: 0;
	transform: scale(0.6);
}
.logo .top, .inter, .end {
	transition: all 1s;
}
.scroll1 .logo .top {
	top: -20px;
}
.scroll1 .logo .inter {
	top: -60px;
}.scroll1 .logo .end {
	top: -100px;
}


/* ######## */
/* Banières */
/* ######## */


.banner-actu {
	background-image: url(../img/banner/banner-actu.jpg);
}
.banner-restaurants {
	background-image: url(../img/banner/banner-restaurants.jpg);
}
.banner-tarifs {
	background-image: url(../img/banner/banner-tarifs.jpg);
}
.banner-acces {
	height: calc(0.25 * 100vw);
	background-image: url(../img/banner/banner-acces.jpg);
}
.jep {
	padding: 50px;
}
.jep img {
	width: 80%;
}
.banner-activites {
	background-image: url(../img/banner/banner-activites.jpg);
}
.banner-chambres {
	height: calc(0.25 * 100vw);
	background-image: url(../img/banner/banner-chambres.jpg);
}
.banner-description {
	background-image: url(../img/banner/banner-description.jpg);
}
.banner-galerie {
	background-image: url(../img/banner/banner-galerie.jpg);
}
.banner-petits-dejeuners {
	background-image: url(../img/banner/banner-petits-dejeuners.jpg);
}
.banner-histoire {
	height: calc(0.35 * 100vw);
	background-image: url(../img/banner/banner-historique.jpg);
}
.banner-histoire:before {
	content: '';
	height: 50%;
	background: rgb(0,0,0);
	background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 100%);
	display: inline-block;
	width: 100%;
}
.banner-reserver {
	background-image: url(../img/banner/banner-reserver.jpg);
}
.banner-jep {
	background-image: url(../img/banner/banner-jep.jpg);
}
.banner-description h1 {
	position: relative;
	top: 10%;
}



/* ####### */
/* Article */
/* ####### */




article {
	background-color: var(--color3);
	width: 100%;
	position: relative;
	text-align: center;
	color: var(--color1);
	font-size: 19px;
	font-family: 'Montserrat', sans-serif;
	font-display: fallback;
	border-top: 35px solid var(--color1);
}
article p {
	text-align: justify;
}
article a {
	color: #0060c1;
	text-decoration: none;
}
article a:hover {
	text-decoration: underline;
}
article li {
	margin-left: 20px;
	list-style-type: none;
}
article .btn {
	position: relative;
	/* font-weight: 600; */
	border: 1px solid var(--color1);
	display: inline-block;
	padding: 15px 30px;
	margin-top: 30px;
	z-index: 2;
	font-size: 110%;
	transition: color .5s;
	color: var(--color1);
	overflow: hidden;
	font-family: 'Philosopher', sans-serif;
}
article .btn:hover {
	background-color: rgb(0,0,0,0);
	text-decoration: none;
	color: var(--color2);
}
article .btn:before {
	content: '';
	position: absolute;
	top: 0;
	left: -10px;
	transform: translate(0,-100%);
	display: inline-block;
	background-color: var(--color1);
	width: 150%;
	height: 100%;
	z-index: -1;
	transition: all .5s;
}
article .btn:hover:before {
	transform: translate(0,0);
}
article iframe {
	display: inline-block;
	border: none;
	width: 60vw;
	height: calc(9 / 16 * 60vw);  
}
.maj {
	font-size: 95%;
	font-family: Garamond, Serif;
	font-weight: 500;
}
h1, article .h1-index, h2, article h3 {
	color: var(--color1);
	text-shadow: none;
	display: inline-block;
	margin: 35px 0;
	text-align: center;
	width: 100%;
	font-size: 180%;
	position: relative;
	top: 0;
	font-family: 'Philosopher', serif;
}
h1 {
	font-size: 300%;
	position: absolute;
	top: 30%;
	font-weight: bold;
	font-family: 'Philosopher', serif;
	/* font-display: fallback; */
	/* padding-bottom: 10px; */
	color: #fff;
	text-shadow: 0 0 10px #000000bb;
}
h2 {
	padding-bottom: 5px;
}
.logo-page {
	position: relative;
	display: inline-block;
	width: 120px;
	left: 50%;
	z-index:5;
	transform: translate(-50%,0);
	top: 20px;
}
.logo-page img {
	width: 100%;
}
h2:after, .chambres .conteneur h3:after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	background-color: rgb(0,0,0,0);
	background-image: url(../img/ornements/vague2.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100px ;
	width: 100%;
	border-radius: 0;
	height: 30px;
}
.chambres .conteneur h3:after {
	top: calc(100% + 10px);
}
.chambres h2 {
	/* top: -20px; */
}
.chambres h2:before, .histoire h2:before {
	content: '';
	position: absolute;
	bottom: 115%;
	background-color: rgb(0,0,0,0);
	/* background-image: url(../img/ornements/crown.png); */
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100px 70px;
	width: 100px;
	border-radius: 0;
	height: 70px;
}
.chambres h2:after {
	background-size: 130px ;
}

/* Aside */
.aside-important {
	/* height: 50%; */
	position: fixed;
	width: 50%;
	top: 50%;
	left: 50%;
	transform : translate(-50%,-50%);
	padding: 70px 50px 30px 50px;
	background-color: var(--color1);
	/* background-color: #7c1a1a; */
	z-index: 5;
	color: #fff;
	/* color: var(--color2); */
	transition: all .5s;
	box-shadow: 0 0 10px #000000;
	border: solid 1px #fff;
}
}
.aside-important strong {
	display: block;
	padding-bottom: 30px;
	font-size: 150%;
}
.aside-bottom {
	width: 100%;
	position: fixed;
	bottom: 0;
	padding: 30px;
	background-color: var(--color1);
	z-index: 3;
	color: #fff;
	transition: all .5s;
}
aside strong {
	text-align: left;
	font-weight: bold;
	/* font-family: philosopher; */
	font-size: 110%;
}
aside p {
	position: relative;
	margin-top: 10px;
}
.aside-close {
	display: none;
}
.aside-bottom-close {
transform: translate(0,100%);
}
.aside-important a {
	color: var(--color2);
	color: #fff;
	margin-top: 50px;
	padding: 15px 25px;
	/* background-color: #fff; */
	display: inline-block;
	position: relative;
	transition: all .5s;
	border: solid 1px #fff;
}
aside a:hover {
	color: var(--color2);
	border: solid 1px var(--color2);
	/* color: #7c1a1a; */
	/* background-color: var(--color2); */
}
aside ul li {
	text-align: left;
	list-style-type: "- ";
}
.croix {
	position: absolute;
	display: inline-block;
	right: 70px;
	top: 50px;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
.croix:before, .croix:after {
	content:'';
	transform: rotate(-45deg);
	display: inline-block;
	position: absolute;
	left: 0;
	border-radius: 2px;
	top: 15px;
	width: 30px;
	height: 2px;
	background-color: #fff;
	transition: all .5s;
}
.croix:after {
	transform: rotate(45deg);
}
.croix:hover:before, .croix:hover:after {
	height: 3px;
	top: 15px
}
.anchor {
	top: -170px;
	position: relative;
}


/* ##### */
/* Index */
/* ##### */


/* Header */
video {
	position: relative;
	height: 100vh;
	min-width: 100vw;
	z-index: 0;
	object-fit: cover;
	left: 50%;
	transform: translate(-50%,0);
}
/* .gris {
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	background-color: rgba(0,0,0,0.2);
} */
.background-img {
	width: 100%;
	top: 0;
	height: 100%;
	position: fixed;
	opacity: 1;
	z-index: 0;
	transition: opacity .5s;
	background-image: url(../img/gallery/romagne.jpg);
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat
}
.background-close {
	opacity: 0;
}
.telheader {
	position: absolute;
	left: 50px;
	bottom: 40px;
}
.telheader a {
	font-size: 25px;
	color: rgb(200,200,200,1);
	transition: all ease .5s;
}
.telheader:hover a {
	color: rgb(255,255,255,1);
}
.sn {
	text-align: center;
}
.sn a {
	display: inline-block;
  }
.sn img {
	padding: 6px;
	height: 25px;
	filter: invert(100%);
	transition: all ease .5s;
}
.sn img:hover {
	filter: invert(100%);
}
.sn-header {
	right: 50px;
	position: absolute;
	bottom: 40px;
	text-align: right;
}
.mh {
	position: absolute;
	width: 90px;
	right: 90px;
	bottom: 110px;
}
.mh img {
	width: 100%;
}
.controls {
	left: 50px;
	bottom: 50px;
	position: absolute;
	height: 40px;
}
.controls div {
	height: 100%;
	display: inline-block;
	cursor: pointer;
	position: relative;
	margin-right: 15px;
}
.controls img {
	height: 85%;
	filter: invert(100%);
	transition: all .5s;
}
.play img:last-child {
	position: absolute;
	opacity: 0;
	left: 0;
}
.sound img:last-child {
	position: absolute;
	opacity: 0;
	right: -2px;
}
.full:hover img, .play:hover img, .sound:hover img {
	filter: invert(100%);
}

/* Ornements */
.separation {
	margin: 70px;
	width: 20%;
	display: block;
}
.interlude, .ludeinter {
	display: block;
	text-align: center;
	width: 25%;
	margin-bottom: 80px; padding-top: 20px;
} 
article .ludeinter {
	transform: scaleY(-1) translate(-50%,0);
	margin: 50px 0 0 50%; padding-bottom: 10px;
}
.angle, .angle2 {
	width: 20%;
	position: absolute;
	right: 10px;
	top: 215px;
}
.angle2 {
	left: 10px;
	transform: scaleX(-1);
}


/* Chambres */
.chambres {
	padding: 25px 0;
	background: transparent;
	box-shadow: none;
	position: relative;
	width: 100%;
	margin-bottom: 40px;
}
.chambres > p {
	width: 60%;
	display: inline-block;
}
.chambres .conteneur h3 {
	font-size: 120%;
	margin-bottom: 20px;
	font-style: italic;
}
.chambres .conteneur {
	margin-top: 40px;
	width: 80%;
	display: flex;
	justify-content: space-around;
}
.chambres .btn {
	font-size: 100%;
	margin: 10px 0;
	z-index: 0;
}
.chambres .btn:before {
	height: 101%;
}
.chambres .conteneur div {
	box-shadow: 2px 2px 10px rgb(0,0,0,.3);
	width: 28%;
	background-color: #fff;
	margin-right: 30px;
}
.chambres .conteneur p {
	font-size: max(80%,1vw);
	text-align: left;
	padding: 10px 20px;
}
.chambres div img {
	border-bottom: 4px solid var(--color2);
	width: 100%;
	position: relative;
	top: 0;
}
.chambres .conteneur h3:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 20px;
	height: 20px;
	background-color: var(--color1);
	/* top: 50%; */
	left: 50%;
	bottom: 175%;
	transform: rotate(45deg) translate(-50%,0);
	/* width: 100%; */
	border: 4px var(--color2) solid;
}
.capacity {
	font-weight: bold;
}

/* Tarifs */
.tarifs {
	width: 50%;
	margin-top: 40px;
}
.tarifs p {
	display: inline-block
}
.tarifs .btn {
	display: block;
	width: 100px;
	left: 50%;
	transform: translate(-50%,0);
}
.tarifs table {
	margin-top: 20px;
	display: inline-block;
}
table {
	border-collapse: collapse
}
td, th {
	padding: 4px 10px 4px 10px;
	text-align: left;
	border: 1px solid var(--color1);
}
th {
	padding: 12px;
	background-color: rgb(230,230,230,1);
}
.tarifs tr:nth-child(2n+1) {
	background-color: rgb(255,255,255,1);
}
.tarifs tr:nth-child(2n) {
	background-color: rgb(230,230,230,1);
}
.tarifs tr td:before, .tarifs tr span {
	transition: all ease .5s;
}
.tarifs table span, .prix-2:before, .prix-adulte:before, .prix-enfant:before, .prix-1:before {
	color:var(--color2);font-weight:bold;font-size:120%;margin-right: 2px;
	text-shadow: 1px 1px 0 rgb(0,0,0,200);
	cursor: pointer;
	/* color:var(--color2);font-weight:bold;font-size:120%;margin-right: 2px;text-shadow: 1px 1px 0 var(--color1), 2px 2px 0 var(--color1), 0 0 2px var(--color1); */
}
.tarifs tr:hover td:before, .tarifs tr:hover span {
	color: var(--color1);
}
.year:before {content: var(--year);}
.prix-2:before {content: var(--prix2);} 
.prix-adulte:before {content: var(--prix-adulte);}
.prix-enfant:before {content: var(--prix-enfant);}
.prix-1:before {content: var(--prix1);}
tarifs td:first-child, tarifs th:first-child {
	text-align: right;
}
td:last-child, th:last-child {
	min-width: 150px;
}

/* Histoire  */
.histoire h2 {
	text-align: left;
	margin-bottom: 40px;
}
.histoire h2:after {
	width: 150px;
	transform: none;
	left: 40px;
}
.histoire h2:before {
	left: 115px;
}
.histoire .text {
	margin: 0;
	width: 52%;
	padding-right: 40px;
	display: inline-block;
}
.histoire p {
	word-spacing: 0.2em;
	text-align: left;
}
.histoire p:first-letter {
	margin-top: 0px;
	float: left;
	font-size: 350%;
	font-family: philosopher, sans-serif;
	padding-right: 5px;
}
.histoire .img {
	display: inline-block;
	box-shadow: 2px 2px 10px rgb(0,0,0,.3);
	width: 40%;
	padding-top: 0;
	margin-bottom: 30px;
	position: relative;
}
.histoire .text img {
	width: 30%;
	transform: none;
	margin: 0;
	margin-bottom: 10px;
	padding: 0;	
}

/* Vidéo */
.videos iframe {
	width: 30vw;
	height: calc(30vw * 9 / 16);
	padding: 10px;
}

/* Galerie */
.photos figure {
	transition-duration: .5s;
	position: relative;
	text-align: center;
	top: 0;
	width: 30%;
	display: inline-block;
	margin: 6px 6px;
	min-width: 230px;
}
figure img {
	width: 100%;
	position: relative;
}
figcaption {
    background-color: rgb(0,0,0,.5);
    color: #fff;
	font-family: Philosopher, sans-serif;
    padding: 8px 0;
    text-align: center;
	display: block;
	opacity: 0;
	width: 100%;
	position: absolute;
	bottom: 6px;
	right: 0;
	transition-duration: .5s;
}
figure:hover figcaption {
	opacity: 1;
}

/* Avis */
.avis {
	padding: 20px 20px;
	border: 1px solid var(--color1);
	margin: 20px;
	background-color: #fff;
	border-radius: 3px;
}
.livre-or > p {
	display: inline-block;
}
.avis .date {
	margin-bottom: 5px;
	font-weight: bold;
}
.avis .date:before {
	content: 'Date de séjour : ';
}
.note {
	position: absolute;
	font-weight: bold;
	margin-top: -20px;
	right: 45px;
	position: absolute;
	padding: 0 5px 2px 10px;
	border-radius: 0 0 0 5px;
	border-bottom: 1px solid var(--color1);
	border-left: 1px solid var(--color1);
}
.four:after, .five:after {
	content: '★★★★★';
	font-size: 120%;
	color: orange;
}
.four:after {
	content: '★★★★☆';
}


/* ############ */
/* Page contact */
/* ############ */


.contact {
	width: 60%;
}
.contact ul, .contact p {
	width: 70%;
	position: relative;
	left: 50%;
	transform: translate(-50%,0);
	text-align: left;
}
.contact p {
	padding-bottom: 20px;
}
.contact ul {
	border: 1px solid rgb(200,200,200,255);
	overflow: hidden;
}
.contact ul li {
	padding: 7px 15px;
	width: 100%;
	margin-left: 0;
	/* border-top: 1px solid rgb(200,200,200,255); */
}
.contact ul li:first-child {
	font-weight: bold;
	font-size: 105%;
	padding: 15px 20px;
	background-color: rgb(230,230,230,1);
	border-bottom: 1px solid rgb(200,200,200,255);
}


/* ############# */
/* Page réserver */
/* ############# */


form {
	width: 100%;
}
.formulaire {
	padding: 25px 70px;
}
.formulaire p {
	padding: 20px;
	width: 70%;
	position: relative;
	transform: translate(-50%,0);
	left: 50%;
}
.contact thead tr th {
	text-align: left;
}
form table {
	border-bottom: 1px solid rgb(200,200,200,255);
	border-left: 1px solid rgb(200,200,200,255);
	border-right: 1px solid rgb(200,200,200,255);
	position: relative;
	transform: translate(-50%,0);
	left: 50%;
	width: 70%;
	color: var(--color1);
}
form tr, form tr * {
	transition: all .3s;
}
form tr:hover {
	background-color: #D6EEEE;
}
form table th {
	border: none;
	background-color: rgb(230,230,230,1);
	padding: 15px;
	text-align: center;
	font-weight: bold;
	font-size: 110%;
	padding: 15px 20px;
	background-color: rgb(230,230,230,1);
	border-top: 1px solid rgb(200,200,200,255);
	border-bottom: 1px solid rgb(200,200,200,255);
}
form table td {
	border: none;
	padding: 8px;
}
form select, form input, form textarea {
	border: 1px rgb(200,200,200,1) solid;
}
.planning h3 {
	font-size: 120%;
	margin: 30px 0 10px 0;
}
.submit {
	text-align: center;
}
.submit button {
	background-color: #fff;
	cursor: pointer;
	position: relative;
	top: -15px;
}
/* .submit button:hover {
	color: var(--color2);
	border: 1px solid rgb(255,255,255,1);
} */
/* .submit button{
	overflow: hidden;
} */
/* .submit button:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(0,-100%);
	display: inline-block;
	background-color: var(--color1);
	width: 100%;
	height: 100%;
	transition: all .5s;
	z-index: -1;
} */
/* .submit button:hover:after {
	transform: translate(0,0);
} */
form tr:last-child:hover {
	background-color: rgb(0,0,0,0);
}
tr:last-child:hover input {
	border: 1px rgb(200,200,200,1) solid;
}
tr:last-child input:hover {
	border: 1px rgb(120,120,120,1) solid;
}
form select {
	min-width: 50px;
	background-color: #fff;
}
form input {
	cursor: text;
}
form input, form select, form textarea {
	padding: 5px;
	font-family: 'Montserrat', sans-serif;
	font-display: fallback;
	color: var(--color1);
}
form #nombreNuit {
	width: 70px;
	padding: 5px 0 5px 5px;
}
form tr:hover input, form tr:hover select, form tr:hover textarea {
	border: 1px rgb(120,120,120,1) solid;
}
form textarea {
	min-width: 200px;
	min-height: 50px;
	max-width: 250px;
	max-height: 100px;
	font-size: 85%;
}


/* ############# */
/* Page histoire */
/* ############# */


.historique section {	
	/* height: calc(9 / 16 * 100vw); */
	padding: 50px 0;
	padding-right: 20px;
	margin-top: -150px;
	/* box-shadow: none; */
}
.historique .navigation {
	width: 100%;
	position: relative;
	left: 50%;
	transform: translate(-50%,0);
	padding-bottom: 30px;
	/* padding-top: 20px; */
	margin-bottom: 50px;
}
.historique .navigation:after {
	content: '';
	display: inline-block;
	position: absolute;
	left: 50%;
	transform: translate(-50%,0);
	bottom: 0;
	border-bottom: 1px solid var(--color4);
	width: 70%;
}
.historique .navigation li {
	max-width: 250px;
	font-size: 90%;
	transition: all ease .5s;
	display: inline-block;
	cursor: pointer;
	background-color: #fff;
	padding: 15px 10px;
	position: relative;
}
.historique .navigation li a {
	transition: all ease .5s;
	color: var(--color1);
}
.historique .navigation .active {
	cursor: default;
}
.historique .navigation .active a {
	color: var(--color2);
	font-weight: bold;
}
.historique .navigation li a:hover {
	text-decoration: none;
}
.historique .navigation li:hover a {
	color: var(--color2);
}
.historique section .barre-progression {
	position: absolute;
	margin-left: 80px;
	top: 270px;
}
.fixedUl {
	position: fixed !important;
	top: 200px !important;
}
.endUl {
	top: auto !important;
	bottom: 100px !important;
}
.done {
	color: var(--color2) !important;
}
.done:before {
	border: 1px var(--color2) solid !important;
}
.historique section .barre-progression:after {
	content: '';
	border-left: 1px solid var(--color4);
	display: inline-block;
	height: calc(4 * 150px - 100px);
	top: 60px;
	position: absolute;
	margin-left: 150px;
	
}
.historique section .barre-progression li .date {
	display: block;
	font-family: philosopher;
}
.historique section .barre-progression li p {
	transition: all ease .5s;
	width: 150px;
	height: 150px;
	text-align: left;
	margin-left: 6px;
	color: var(--color1);
	cursor: pointer;
}
.siecle {
	font-size: 90%;
	font-family: garamond;
}
/* .historique section .barre-progression li p:hover {
	color: var(--color2);
} */
/* .historique section .barre-progression li p:hover:before {
	border: 1px var(--color2) solid;
} */
.historique section .barre-progression li:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	/* margin-top: 18px; */
	display: inline-block;
	width: 1px;
	height: calc(4 * 150px);
	border-left: 1px var(--color1) solid;
}
.historique section .barre-progression li .progress {
	position: absolute;
	left: 0;
	/* top: 0; */
	/* margin-top: 18px; */
	display: inline-block;
	/* height: 150px; */
	/* height: calc(4 * 150px); */
	border-left: 1px var(--color2) solid;
	z-index: 1;
}
.historique section .barre-progression li .round {
	position: absolute;
	left: 0;
	transition: all ease .5s;
	margin-left: -6px;
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 10px;
	border: 1px var(--color1) solid;
	background-color: #fff;
	z-index: 2;
}
/* .historique section .barre-progression li p span:after {
	content: '';
	position: absolute;
	left: 1px;
	margin-top: 18px;
	display: inline-block;
	width: 1px;
	height: 138px;
	border-left: 1px black solid;
} */
.historique section .barre-progression li:last-child p {
	height: auto;
}
.historique section .container {
	/* display: flex; */
	/* position: relative; */
	/* left: 50%; */
	/* width: 520%; */
	/* transform: translate(-50%,0); */
	/* justify-content: space-between; */
}
.historique section .item {
	text-align: left;
	height: 100%;
	width: 65%;
	/* border: 1px solid black; */
	/* display: inline-block; */
	position: absolute; 
	/* background-color: #fff; */
	position: relative;
	left: calc(50% + 150px);
	transform: translate(-50%,0);
}
.historique section h3 {
	padding: 10px 0;
	font-size: 190%;
}
.historique section .item h4 {
	text-align: left;
	font-size: 120%;
	font-family: garamond;
	text-transform: uppercase;
	padding-top: 40px;
	padding-bottom: 20px;
}
.historique section .item p {
	/* padding: 0 250px; */
}
.historique section .item img {
	padding-bottom: 50px;
	width: 50%; 
}

/* ######## */
/* Page JEP */
/* ######## */

.article-JEP .affiche {
	box-shadow: 0 0 20px rgb(0,0,0,0.5);
}
.article-JEP a {
	/* margin-left: 50px; */
}


/* ############# */
/* Page chambres */
/* ############# */


.baron > p, .commandeurs > p, .appartement > p {
	width: 90%;
	display: inline-block;
}

/* Caractéristiques */
.caracteristiques {
	/* margin-top: 20px; */
	display: inline-block;
	/* height: 100%; */
	position: relative;
}
.caracteristiques {
	position: absolute;
	right: 0;
	/* padding-right: 10px; */
	/* margin-top: 5px; */
	font-size: 80%;
	text-align: left;
	width: 50%;
	/* float: right; */
}
.caracteristiques h3 {
	margin: 0;
	padding: 5px 15px;
	font-size: 130%;
	text-align: left;
}
.caracteristiques p {
	padding: 5px 0;
	font-weight: 600;
}
.caracteristiques li li {
	margin-left: 5px;
	display: inline-block;
	width: 47%;
	margin: 0 0 2px 10px;
	padding: 0;
}
.caracteristiques .except {
	padding-left: 10px;
}
.caracteristiques li li:nth-child(2n+1) {
	text-align: right;
}
.caracteristiques li li:before, .caracteristiques .except:before {
	content: '✓ ';
	color: green;
	font-weight: 600;
}

/* Diaporamas chambres  */
.chambresArticle .content {
	margin: 20px 0;
	width: 90%;
	position: relative;
	transform: translateX(-50%);
	left: 50%;
}
.custom-slider { display: none; }
.slide-container {
	/* max-width: 800px; */
	position: relative;
	display: inline-block;
	/* margin: auto; */
	/* margin: 30px 0; */
	width: 45%;
	float: left;
	margin-bottom: 20px;
	margin-top: 10px;
}
.prev, .next {
	cursor: pointer;
	position: absolute;        
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: white;
	font-size: 30px;
	background-color: rgba(0,0,0,0);
	transition: background-color 0.6s ease;
}
.prev{ left: 15px; }
.next { right: 15px; }
.prev:hover, .next:hover {
	text-decoration: none;
}
.prev:hover, .next:hover {
	background-color: rgba(0,0,0,0.5);
}
.slide-text {
	position: absolute;
	color: #ffffff;
	font-size: 15px;
	padding: 15px 0;
	background-color: rgba(0,0,0,0.3);
	bottom: 5px;
	width: 100%;
	text-align: center;
}
.slide-img{ 
	width: 100%;
	object-fit: cover;
	object-position: center;
 }
.slide-dot{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.dot1, .dot2, .dot3 {
	cursor: pointer;
	height: 10px;
	width: 10px;
	margin: 0 2px;
	background-color: #999999;
	/* background-color: var(--color1); */
	border-radius: 50%;
	display: inline-block;
	transition: border 0.6s ease, background-color 0.6s ease;
	border: 2px solid #fff;
}
.active, .dot1:hover, .dot2:hover, .dot3:hover {
	background-color: var(--color1);
}
.active {
	border: 2px solid var(--color2);
}
.rdc-diapo, .suite-diapo, .appart-diapo {
	margin-top: 40px;
	width: 50%;
	height: 40vw;
}
.rdc-diapo img, .suite-diapo img, .appart-diapo img {
	border-radius: 8px;
	position: relative;
	width: 100%;
	box-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);
	transform: translate(0,-100%);
}
.appart-diapo {
	height: 32vw;
}
.actu {
	position: fixed;
	box-shadow: 2px 2px 13px rgba(0, 0, 0, 0.8);
	width: 20%;
	top: 15%;
	z-index: 2;
}
.actu img {
	width: 100%;
	transition-duration: .5s;
}
.actu img:hover {
	transform: scale(1.05) translate(2% , 0);
}

/* Planning */
.planning {
	/* width: 100%; */
	/* height: 260px; */
	margin: 60px 0;
	/* overflow: hidden; */
	/* border: 1px var(--color1) solid; */
}
.planning iframe {
	height: 270px;
	/* position: relative; */
	/* top: -52px; */
	/* width: 50%; */
	border: 1px var(--color1) solid;
	/* margin-top: 10px; */
}
.chambresArticle iframe {
	display: block;
	margin-top: 30px;
	height: 260px;
	position: relative;
	transform: translate(-50%,0);
	left: 50%;
}


/* ###### */
/* Footer */
/* ###### */


footer {
	font-family: 'Montserrat', sans-serif;
	font-display: fallback;
	background-color: var(--color1);
	cursor: default;
	font-size: 100%;
	position: relative;
	z-index: 2;
	color: #fff;
	padding-top: 70px;
	padding-bottom: 350px;
}
footer h3 {
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 20px;
	width: 90%;
	margin-left: 10px;
}
footer p {
	padding-top: 13px;
	padding-bottom: 13px;
	text-align: left;
	display: block;
	width: 100%;
}
footer a {
	color: #fff;
	transition-duration: .5s;
	display: block;
	text-decoration: none;
}
footer a:hover {
	text-decoration: underline;
}
footer .conteneur {
	display: block;
	width: 90%;
}
footer .conteneur div {
	display: inline-block;
	width: 25%;
	/* margin-right: 20px; */
	float: left;
	position: relative;
}
footer .conteneur div:after {
	content: '';
	width: 1px;
	height: 150px;
	position: absolute;
	left: -10px;
	top: 15px;
	display: inline-block;
	background-color: #fff;
}
footer .conteneur .plan:after, footer .conteneur div:first-child:after {
	display: none;
}
footer .conteneur div:first-child a {
	padding-top: 8px;
}
footer .conteneur div:first-child a:before {
	content: '';
	display: inline-block;
	position: relative;
	top: 6px;
	right: 6px;
	margin-left: -10px;
	width: 25px;
	height: 25px;
	background-size: cover;
}
.conteneur div:first-child a:nth-child(2):before {
	background-image: url(../img/map.png);
	float: left;
	top: 10px;
	margin-bottom: 20px;
}
.conteneur div:first-child a:nth-child(3):before {
	background-image: url(../img/tel.png);
}
.conteneur div:first-child a:nth-child(4):before {
	background-image: url(../img/mail.png);
	width: 30px;
}
footer .sn {
	text-align: left;
}
footer .sn a {
	display: block;
}
footer .sn span {
	position: relative;
	bottom: 15px;
}
footer .sn img {
	padding-right: 20px;
}
footer .partners {
	/* padding-top: 20px; */
}
footer .partners a {
	display: inline-block;
}
footer .partners a img {
	max-width: 120px;
	max-height: 120px;
	padding: 3px 10px;	
	display: inline-block;
}
footer .partners a {
	vertical-align: bottom;
	float: left;
}
footer .conteneur .plan {
	width: 20%;
	margin-right: 50px;
	margin-left: -30px;
}
.plan img {
	width: 100%;
	}
.xiti {
	position: absolute;
	top: 15px;
	left: 5px;
	opacity: 0.7;
}
footer .copyright {
	/* width: 100%; */
	position: absolute;
	bottom: 0;
	text-align: center;
	top: 400px;
	margin-bottom: 100px;
}



@keyframes img-transition {
    0% {
        opacity: 1;
    }
    20% {
		opacity: 1;
    }
	35% {
        opacity: 0;
    }
    65% {
		opacity: 0;
    }
	80% {
		opacity: 1;
    }
    100% {
        opacity: 1;
    }}

.liste-restaurants {
	width: 70%;
	overflow: hidden
}
.restaurants li {
	padding-bottom: 50px;
}

.logo-start img, .arrow, h1, h2:before, h2:after {
	left: 50%;
	transform: translate(-50%,0);
}



@media screen and (max-width: 1120px) {
	* {
		/* text-align: left; */
	}
	.aside-important {
		width: 80%;
		padding: 70px 15px 30px 15px;
	}
	.aside-important .none-mobile, .histoire h2:before {
		display: none;
	}
	.croix {
		top: 20px;
		right: 25px;
	}
	section {
		width: 80%;
	}
	footer div {
		padding: 20px;
	}
	footer .conteneur .plan {
		width: 250px;
		float: none;
		position: relative;
	}
	p { 
		word-break: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		-ms-hyphens: auto;
		-o-hyphens: auto;
		hyphens: auto;
		line-height: 120%;
	}
	.separation {
		width: 80%;
	}
	.tarifs {
		width: 90%;
		padding: 0;
	}
	.tarifs table {
		font-size: 80%;
	}
	.tarifs table span, .prix-2:before, .prix-adulte:before, .prix-enfant:before, .prix-1:before {
		text-shadow: 1px 1px 0 var(--color1), 2px 2px 0 var(--color1);
	}
	.contact ul, .contact p {
		width: 100%;
		/* margin: 40px; */
	}
	.contact ul span {
		display: block;
	}
	.banner {
		height: 100px;
	}
	.chambres {
		padding: 0;
	}
	header nav {
		height: 100vh;
		width: 100vw;
		background: var(--color1);
		transform: translate(-100%,0);
		padding-top: 120px;
	}
	header nav li:after {
		content: "";
		display: inline-block;
		background: #fff;
		width: 100%;
		height: 1px;
		position: absolute;
		top: 0;
		left: 0;
	}
	header nav li {
		position: relative;
		transition: all .5s;
	}
	header nav li a {
		transition: all .5s;
		padding: 20px 0;
		width: 100%;
	}
	header nav li:hover {
		background: #fff;
	}
	header nav li:hover a {
		color: var(--color1);
	}
	header nav li a:after, .mh, .sn-header {
		display: none;
	}
	.scroll2 nav li:hover, .scroll2 nav li:after, footer .conteneur div:after {
		background: var(--color1);
	}
	.scroll2 nav a {
		color: var(--color1);
	}
	.scroll2 nav li:hover a {
		color: #fff
	}
	.nav-btn {
		width: 50px;
		top: 20px;
	}
	.nav-btn span, .nav-btn-close span:first-child, .nav-btn-close span:last-child, .nav-btn:hover span {
		width: 50px;
		height: 4px;
	}
	.nav-btn-open span:first-child {
		transform: rotate(45deg);
		top: 15.5px;
	}
	.nav-btn-open span:last-child {
		transform: rotate(-45deg);
		top: -17px;
	}
	.nav-btn p {
		display: none;
	}
	.reserver {
		padding: 15px 20px;
		position: absolute;
		left: 15px;
		top: 25px;
	}
	.scroll1 .reserver {
		opacity: 0;
	}
	header nav li {
		display: block;
		height: auto;
	}
	.nav-ligne {
		display: none;
	}
	.controls {
		bottom: 150px;
		left: 20px;
		height: 40px;
	}
	.controls div {
		margin-top: 10px;
		height: 100%;
		display: block;
		cursor: pointer;
		position: relative;
	}
	.controls img {
		height: 80%;
		filter: invert(100%);
		transition: all .5s;
	}
	.play {
		left: 3px;
	}
	.play img:last-child {
		position: absolute;
		opacity: 0;
	}
	.sound img:last-child {
		position: absolute;
		opacity: 0;
	}
	
	article iframe {
		width: 80vw;
		height: calc(9 / 16 * 80vw);
	}
	.videos iframe {
		width: 70vw;
		height: calc(9 / 16 * 70vw);
	}
	/* .tarifs table {width: 80%;} */
	.tarifs td {
		width: 20%;
	}
	
	form table{
		padding: 40px;
		width: 100%;
	} 
	form table th {
		background-color: rgb(0,0,0,0);
		font-weight: bold;
	}
	form td {
		width: 100%;
		display: block;
	}
	
	.histoire .text {
		width: 95%;
		padding-right: 0;
	}
	.histoire p:first-letter {
		/* margin-top: 0; */
	}
	.histoire h2 {
		text-align: center;
	}
	.histoire h2:after {
		left: 50%;
		transform: translate(-50%,0);
	}
	.histoire .btn {
		position: absolute;
		bottom: 25px;
		padding: 15px 0;
		width: 80%;
		left: 50%;
		transform: translate(-50%,0);
	}
	.histoire .img {
		margin-bottom: 80px;
		left: 50%;
		float: left;
		transform: translate(-50%,0);
		margin-top: 20px;
		width: 80%;
		display: block;
	}
	.tarifs {
		background-color: #fff;
		padding-bottom: 20px;
		box-shadow: 0 0 10px #00000055;
	}
	.angle, .angle2 {
		display: none;
	}
	article p {
		text-align: left;
	}
	.chambres .conteneur {
		flex-wrap: wrap;
		/* display: block; */
	}
	.chambres > p {
		width: 80%;
	}
	.chambres .conteneur {
		width: 100%;
		transform: none;
		margin-left: 0;
		/* padding-top: 30px; */
	}
	.tarifs p {
		text-align: center;
		width: 80%;
	}
	.logo {
		height: 30%;
		top: 120px;
	}
	.scroll1 .logo {
		top: 10px;
		height: 100px;
		animation: width-logo .1s both;
		animation-delay: 2s;
		/* width: 150px; */
	}
	@keyframes width-logo {
		from {
			width: 30%;
			min-width: 350px;
		}
		top {
			width: 150px;
			min-width: 0;
		}
	}
	.scroll1 .logo svg {
		height: 90px;
	}
	.logo p {
		font-size: 250%;
		line-height: 10px;
	}
	.logo .inter {
		font-size: 180%;
		line-height: 40px;
	}
	.chambres .conteneur div {
		width: 350px;
		margin-right: 0;
		margin-bottom: 30px;
	}
	.avis {
		padding-top: 50px;
		margin: 20px 0;
	}
	.note {
		margin-top: -50px;
		right: 25px;
	}
	.interlude, .ludeinter {
		width: 75%;
		margin-bottom: 0; padding-top: 10px;
	} 
	.photos figure {
		width: 95%;
	}
	
	.diapo, .caracteristiques {
		padding-top: 40px;
		padding-left: 0;
		float: none;
		width: 80%;
	}
	.caracteristiques {
		width: 90%;
		position: relative;
		display: block;
	}
}


/* @font-face {
    font-family: 'montserratsemibold';
    src: url('montserrat-semibold-webfont.woff2') format('woff2'),
         url('montserrat-semibold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
} */
/* @font-face {
    font-family: 'philosopherbold';
    src: url('philosopher-bold-webfont.woff2') format('woff2'),
         url('philosopher-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
} */

/* .nav-ligne {
	height: 1px;
	background-color: var(--color1);
	position: absolute;
	left: 0;
	opacity: 0;
	width: 100%;
	top: 160px;
} */
/* .nav-open .nav-ligne {
	opacity: 1;
} */
/* .diapo {
	width: 40%;
	margin-top: 20px;
	display: inline-block;
	height: 100%;
	position: relative;
} */
/* .diapo figure {
	width: 100%;
} */
/* .diapo figure:last-child {
	animation: diapo 10s infinite;
	left: 0; top: 0;
	position: absolute;
} */
/* @keyframes diapo {
	0% {
		opacity: 0;
	}
	40% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	90% {
		opacity: 1;
	}
	100% {
		opacity: 0
	}
} */
/* .aside-important:after {
	content: "";
	display: inline-block;
	top: 10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: solid 1px #fff;
	position: absolute;
} */
/*Animation diaporama chambres : .fade {
  animation-name: fade;
  animation-duration: 1s;
} */
/* @keyframes fade {
  from {opacity: 0} 
  to {opacity: 1}
} */