@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&display=swap');

@font-face {
  font-family: HappyTime;
  src: url(./fonts/HappyTime.otf);
  font-weight: 400;
}

*{
padding:0px;
border:0px;
margin:0px;
}

html{
width:100%;
min-width:1000px;
scroll-behavior: smooth;
}

.main_width{
width:1000px;
margin:auto;
}


body{
font-family: 'Josefin Sans', sans-serif;
font-weight:300;
background-color: #fbf6f3;
width:100%;
}


/* *********************** COMMON *********************** */

p{
color:#52362a;
line-height:25px;
font-size:18px;
margin-bottom:15px;
}

h1{
color:#52362a;
font-family: 'HappyTime', serif;
font-size: 54px;
line-height: 63px;
font-weight: 500;
margin-bottom:20px;
}

h2{
color:#52362a;
font-family: 'HappyTime', serif;
font-size: 26px;
font-weight: 500;
line-height: 45px;
margin-bottom:20px;
}

h3{
}


a.button{
display: inline-block;
background-image: url(images/button-background.svg);
background-size: 100%;
background-position: center;
background-repeat: no-repeat;
color: white;
text-transform: uppercase;
text-decoration: none;
font-size: 15px;
padding: 12px 16px;
}

a.button:hover{
}

a{
color:inherit;
text-decoration:underline;
}


/* *********************** BANNER / MENU *********************** */
#banner{
width:100%;
background-color: #fbf6f3;
padding: 30px 4%;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
}

#banner .menu_list{
display: inline-block;
vertical-align: center;
}

#banner .menu ul{
display:flex;
width: 330px;
justify-content: space-between;
align-items: center;
list-style: none;
}

#banner .menu a{
text-transform: uppercase;
text-decoration: none;
font-size: 18px;
padding: 2px 0;
color: #52362a;
}

#banner .menu a.selected, #banner .menu ul a:hover{
border-bottom: 1px solid #6a2127;
}

#banner .langues{
position: relative;
display: inline-block;
margin-left: 80px;
}

#banner .langues .active{
padding-right: 20px;
background-image: url(images/arrow-grey-bottom-small.svg);
background-size: 9px;
background-position: right 10px center;
background-repeat: no-repeat;
color: #7F7F7E;
padding: 6px 25px 6px 10px;
border: 1px solid #6a2127;
}

#banner .langues .active span{
font-size: 14px;
line-height: 14px;
}

#banner .langues .links{
opacity: 0;
position: absolute;
left: 0;
top: 30px;
height: 0;
overflow: hidden;
transition: all 0.4s;
background-color: white;
display: flex;
flex-direction: column;
width: 33px;
padding: 10px 10px;
text-align: center;
z-index: 4;
}

#banner .langues .links{
text-transform: none;
color: #97803E;
}

#banner .langues .links a{
padding: 7px 0;
display: block;
width: 100%;
text-decoration: none;
font-size: 14px;
color: #52362a;
}

#banner .langues:hover .links{
opacity: 1;
height: 58px;
object-fit: cover;
-webkit-box-shadow: 0px 25px 60px -20px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 25px 60px -20px rgba(0,0,0,0.3);
box-shadow: 0px 25px 60px -20px rgba(0,0,0,0.3);
}

#banner>.links{
position: fixed;
bottom: -1px;
right: 50px;
z-index: 10;
background-color: #6a2127;
padding: 8px 20px;	
border: 1px solid white;
}

#banner>.links a{
display: inline-block;
font-size: 19px;
text-decoration: none;
color: #fff;
padding-left: 28px;
background-size: 21px;
background-position: left 2px;
background-repeat: no-repeat;
line-height: 25px;
}

#banner>.links a:first-of-type{
background-image: url(images/icon-map-white.svg);
}

#banner>.links a:last-of-type{
background-image: url(images/icon-tel-white.svg);
}

#banner>.links a+a{
margin-left: 80px;
}

@media screen and (max-width: 1600px) {
	#banner{
		padding: 30px 2%;
	}
	.logo img{
		width: 200px;
		height: auto;
	}
	#banner>.links a+a{
		margin-left: 35px;
	}
	#banner .menu ul{
		width: 300px;
	}
	#banner .langues{
		margin-left: 35px;
	}
}

/* *********************** PAGES *********************** */

/* ***** HOME ***** */
#home .c1{
background-color: #fbf6f3;
position: relative;
padding-bottom: 130px;
}

#home .c1:after{
content: '';
width: 61vw;
height: 1px;
background-color: #000000;
opacity: 0.2;
position: absolute;
top: 0px;
right: 200px;
z-index: 1;
}

#home .c1 .content{
display: inline-block;
vertical-align: top;
margin-top: 95px;
position: relative;
width: 55%;
}

#home .c1 .content:after{
content: '';
position: absolute;
top: -25px;
right: 111px;
width: 100px;
height: 64px;
background-image: url(images/home-intro-deco.svg);
background-size: 100%;
background-position: center;
background-repeat: no-repeat;
}

#home .c1 .content .sub_title{
margin: 0;
font-size: 22px;
line-height: 20px;
font-weight: 400;
}

#home .c1 .content h1{
font-size: 54px;
line-height: 63px;
max-width: 555px;
margin: 10px 0 30px;
}

#home .c1 .content #heading, .heading{
background-color: #6a2127;
padding: 15px 20px;
box-sizing: border-box;
max-width: 555px;
margin-bottom: 30px;
}

#home .c1 .content #heading p, .heading p{
color: white;
margin: 0;
}

#home .c1>.image{
position: absolute;
right: 0;
top: -25px;
height: 620px;
width: 945px;
z-index: 2;
max-width: 43vw;
}

#home .c1>.image img{
width: 100%;
height: 100%;
object-fit: cover;
object-position: right top;
}

#home .c1 .intro-gallery{
position: relative;
z-index: 2;
overflow: hidden;
}

#home .c1 .intro-gallery .background{
width: calc( 1000px + ( ( 100% - 1000px ) / 2 ) + 50px );
background-color: #6a212721;
height: 265px;
position: absolute;
z-index: -1;
}

#home .c1 .intro-gallery .images{
width: 100%;
display: flex;
justify-content: space-between;
padding: 30px 0;
}

#home .c1 .intro-gallery .image{
width: 31%;
height: 205px;
-webkit-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
-moz-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
}

#home .c1 .intro-gallery .image img{
width: 100%;
height: 100%;
object-fit: cover;
}

#home .c1 .intro-gallery .image:first-of-type{
border-bottom-left-radius: 150px;
overflow: hidden;	
}

#home .c1 .intro-gallery .image:last-of-type{
border-top-right-radius: 150px;
overflow: hidden;	
}

#home .c2{
background-color: #fbf6f3;
text-align: center;
padding-bottom: 190px;
}

#home .c2 .content{
display: inline-block;
vertical-align: middle;
width: 45%;
margin-right: 4%;
text-align: left;
}

#home .c2 .content .sub_title{
margin: 0;
font-weight: 400;
font-size: 20px;
}

#home .c2 .content h2{
font-size: 38px;
line-height: 44px;
position: relative;
margin-bottom: 30px;
}

#home .c2 .content h2:after{
content:'';
position: absolute;
left: 0;
bottom: -15px;
width: 120px;
height: 1px;
background-color: #000;
opacity: 0.2;
}

#home .c2 .content a{
margin-top: 20px;
}

#home .c2 .images{
display: inline-block;
vertical-align: middle;
width: 50%;
height: 600px;
position: relative;
}

#home .c2 .images:after{
content: '';
width: 25px;
height: 171px;
position: absolute;
left: 6px;
top: 55px;
background-image: url(images/c2-deco.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#home .c2 .images .image-1{
position: absolute;
left: 50px;
top: 0;
width: 60%;
z-index: 1;	
-webkit-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
-moz-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
}

#home .c2 .images .image-2{
position: absolute;
z-index: 2;
right: 0;
top: 100px;
width: 55%;
height: 420px;
-webkit-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
-moz-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
border-top-right-radius: 120px;
overflow: hidden;
}

#home .c2 .images .image-3{
position: absolute;
z-index: 3;
bottom: 0;
left: 0;
width: 73%;
height: 290px;
-webkit-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
-moz-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.22);
border-bottom-left-radius: 120px;
overflow: hidden;
}

#home .c2 .images img{
width: 100%;
height: 100%;
object-fit: cover;
}

#home .c2 .note{
position: absolute;
bottom: -95px;
right: 75px;
padding-left: 47px;
background-image: url(images/icon-parking.svg);
background-size: 30px;
background-repeat: no-repeat;
background-position: left top;
}

#home .c2 .note span{
font-family: 'HappyTime', serif;
color: #000;
opacity: 0.3;
font-size: 24px;
line-height: 29px;
max-width: 280px;
display: block;
text-align: left;
}

#home .c2 .note:after{
content: '';
position: absolute;
left: -98px;
width: 110px;
top: -23px;
height: 76px;
background-image: url(images/c2-note-deco.svg);
background-repeat: no-repeat;
background-size: 100%;
background-position: center;
}

#home .c3{
padding: 0 0 150px;
background-color: #fbf6f3;
text-align: center;
}

#home .c3 .opener{
	position: relative;
}

#home .c3 .big-button{
font-size: 22px;
line-height: 24px;
padding: 32px 45px 29px;
}

#home .c3 .opener.hide{
	display: none;
}

#home .c3 .opener .deco-1{
position: absolute;
left: 20%;
top: -52px;
width: 168px;
height: 55px;
background-image: url(images/c3-deco-1.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#home .c3 .opener .deco-2{
position: absolute;
left: 21%;
top: 40px;
width: 85px;
height: 125px;
background-image: url(images/c3-deco-2.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#home .c3 .opener .deco-3{
position: absolute;
right: 24%;
top: -29px;
width: 77px;
height: 150px;
background-image: url(images/c3-deco-3.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#home .c3 #menu{
overflow: hidden;
height: 0;
margin-top: -100px;
padding-top: 100px;
}

#home .c3 #menu.open{
height:auto;
}

#home .c3 #menu h2{
font-size: 38px;
line-height: 44px;
position: relative;
margin-bottom: 30px;
}

#home .c3 #menu h3{
color: #52362a;
font-family: 'HappyTime', serif;
font-size: 26px;
font-weight: 500;
line-height: 45px;
margin-bottom: -10px;
}

#home .c3 #menu .content{
background-color: white;
padding: 30px 50px;
box-sizing: border-box;
font-size: 18px;
line-height: 27px;
transition: all 0.4s;
transform: translateY(-50px);
}

#home .c3 #menu.open .content{
transform: translateY(0);
}

#home .c4{
width: 100%;
height: 600px;
position: relative;
}

#home .c4 .background{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
z-index: -1;
}

#home .c4 .background img{
width: 100%;
height: 100%;
object-fit: cover;
}

#home .c4 .content{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background-color: #6a2127b0;
width: 1000px;
padding: 40px 60px;
box-sizing: border-box;
border-top-right-radius: 120px;
border-bottom-left-radius: 120px;
text-align: center;
}

#home .c4 .content .citation{
color: white;
font-family: 'HappyTime', serif;
font-size: 38px;
line-height: 55px;
margin-bottom: 30px;
position: relative;
letter-spacing: 2px;
}

#home .c4 .content .citation .accent{
position: relative;
}

#home .c4 .content .citation .accent:after{
content: '^';
font-family: serif;
font-size: 24px;
position: absolute;
left: 58px;
top: -9px;
font-weight: 800;
}

#home .c4 .content .citation+span{
color: white;
font-size: 17px;
text-transform: uppercase;
}

#home .c4 .content .citation:after{
content: '';
position: absolute;
width: 70px;
height: 69px;
background-image: url(images/citation-deco.svg);
background-repeat: no-repeat;
background-size: 100%;
background-position: center;
top: -30px;
left: 50px;
}

#home .c4 .content .citation:before{
content: '';
position: absolute;
width: 70px;
height: 69px;
background-image: url(images/citation-deco-reverse.svg);
background-repeat: no-repeat;
background-size: 100%;
background-position: center;
bottom: -30px;
right: 35px;
}

#home .c5{
background-color: #fbf6f3;
padding: 150px 0;
text-align: center;
position: relative;
}

#home .c5 .item{
height: 300px;
margin: 0 4%;	
overflow: hidden;
margin-top: 50px;
max-width: 400px;
}

#home .c5 .item.big{
height: 400px;
margin: 0 4%;
}

#home .c5 .item.right-top{
border-top-right-radius: 130px;
}

#home .c5 .item.right-bottom{
border-bottom-right-radius: 130px;
}

#home .c5 .item.left-top{
border-top-left-radius: 130px;
}

#home .c5 .item.left-bottom{
border-bottom-left-radius: 130px;
}

#home .c5 .item img{
width: 100%;
height: 100%;
object-fit: cover;	
}

#home .c5 .deco-1{
position: absolute;
left: 20%;
bottom: 112px;
width: 90px;
height: 95px;
background-image: url(images/c5-deco-1.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#home .c5 .deco-2{
position: absolute;
right: 36%;
top: 90px;
width: 90px;
height: 95px;
background-image: url(images/c5-deco-2.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#home .c5 .deco-3{
position: absolute;
right: 4%;
bottom: 90px;
width: 75px;
height: 97px;
background-image: url(images/c5-deco-3.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#home .cheques-cadeaux{
	background-color: #fbf6f3; 
	text-align: center; 
	padding-bottom: 130px;
}

#home .cheques-cadeaux img{
	width: 700px; 
	height: auto; 
	max-width: 85%; 
	margin: 0 auto;
}

#reservation-form{
position: fixed;
top: 200vh;
left: 0;
width: 100%;
height: 100%;
background-color: #000000a1;
z-index: 100;
transition: all 0.5s;
}

#reservation-form.open{
top: 0;
}

#reservation-form .popup{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background-color: #fbf6f3;
padding: 70px 50px 50px;
max-width: 90%;
max-height: 90%;
overflow: auto;
box-sizing: border-box;
}

#reservation-form .close{
position: absolute;
right: 30px;
top: 30px;
width: 20px;
height: 20px;
background-image: url(images/common/close.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
}

#reservation-form h2{
margin: 0 0 10px;
font-size: 40px;
line-height: 42px;
}

#reservation-form form{
margin-top: 30px;
}

#reservation-form .form_part{
display: inline-block;
width: 100%;
max-width: 500px;
vertical-align: top;
margin: 0 auto 30px;
}

#reservation-form .form_part label{
display: block;
font-size: 19px;
line-height: 20px;
margin-bottom: 6px;
}

#reservation-form .form_part input{
padding: 10px 8px;
width: 100%;
box-sizing: border-box;
color: #515151;
border: 1px solid #6a2127;
font-family: 'Josefin Sans', sans-serif;
font-size: 16px;
background-color: white;
}

#reservation-form .form_part.text{
width: 100%;
}

#reservation-form .form_part textarea{
padding: 10px 8px;
width: 100%;
height: 80px;
box-sizing: border-box;
color: #515151;
border: 1px solid #6a2127;
font-family: 'Josefin Sans', sans-serif;
font-size: 16px;
max-width: 100%;
min-width: 100%;
max-height: 300px;
background-color: white;
}

#reservation-form .separateur{
display: block;
width: 100%;
height: 1px;
background-color: #7d7d7d80;
margin: 10px auto 30px;
}

#reservation-form .small{
font-size: 13px;
line-height: 15px;
margin-bottom: 11px;
}

#reservation-form .opt_in{
margin-bottom: 30px;
}


#reservation-form input[type="submit"]{
display: inline-block;
background-image: url(images/button-background.svg);
background-size: 100%;
background-position: center;
background-repeat: no-repeat;
color: white;
text-transform: uppercase;
text-decoration: none;
font-size: 15px;
padding: 15px 20px;
cursor: pointer;
}

.form_response{
position: fixed;
bottom: 50px;
right: -1100px;
background-color: #74b643;
padding: 20px 50px;
-webkit-box-shadow: 0px 0px 4px 2px #c0c0c0;
box-shadow: 0px 0px 4px 2px #c0c0c0;
animation-name: response;
animation-duration: 10s;
animation-delay: 1s;
z-index: 100;
}

.form_response.error{
background-color: #a34040;
}

@keyframes response {
0% {right: -850px;}
10% {right: 0;}
90% {right: 0;}
100% {right: -850px;}
}

.form_response p{
color: white;margin: 0;
}

/* ***** Mentions légales ***** */


#legal{
text-align:center;
margin-bottom: 100px;
}

#legal .main_width{
padding-top:85px;
padding-bottom:30px;
}


#legal h1{
text-align:center;
background-position:bottom center;
margin-bottom:73px;
}

#legal h2{
background-position: 0px 7px;
position: relative;
bottom: 0px;
margin-top: 14px;
margin-bottom: 14px;
font-size:28px;
line-height:30px;
background-position: bottom left;
padding-bottom: 7px;
}

#legal h3{
line-height:23px!important;
padding-bottom: 6px!important;
}

#legal p{
margin-bottom:5px;
}

#legal p span{
display:inline-block;
vertical-align:top;
width:166px;
text-decoration:underline;
}

#legal .c0{
width:600px;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
text-align:left;
padding:1%;
margin-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c1{
display:inline-block;
vertical-align:top;
width:36%;
margin-right:6%;
padding:1%;
border:1px solid #c0c0c0;
text-align:left;
margin-bottom:30px;
min-height:262px;
background-color:white;
border-radius:13px;
}

#legal .c1.last{
margin-right:0px;
}

#legal .c1 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2{
width:36%;
padding:1%;
margin-right:4%;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
margin-bottom:30px;
height:600px;
overflow:auto;
padding-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c2 h3{

}

#legal .c2 h4{

}

#legal .c2 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2 ul li{
margin-bottom:5px;
font-size:13px;
line-height:22px;
padding-left:15px;
list-style-type:none;
}

#legal .c2 ul ul li{
padding-left:30px;
}

#legal .c2.last{
margin-right:0px;
}


/* ***** 404 ***** */

#e404{
text-align:center;
margin-bottom: 100px;
}

#e404 .main_width{
padding-top:85px;
padding-bottom:30px;
}

#e404 h1{
text-align:center;
background-position:bottom center;
margin-bottom:73px;
}


/* *********************** FOOTER *********************** */


#footer{
background-color: #6a2127;
text-align: center;
padding-top: 70px;
padding-bottom: 50px;
}

#footer .c1{
display: inline-block;
width: 36%;
text-align: left;
margin-right: 5%;
vertical-align: top;
}

#footer .c1 .logo{
width: 300px;
height: auto;
display: block;
margin-bottom: 30px;
}

#footer .c1 .logo img{
width: 100%;
height: auto;
}

#footer .c1 .links a, #footer .c1 .links>span{
display: block;
width: 100%;
margin-bottom: 20px;
color: white;
font-size: 19px;
text-decoration: none;
background-size: 21px;
background-position: left 2px;
background-repeat: no-repeat;
line-height: 29px;
padding-left: 28px;
}

#footer .c1 .links a.address{
background-image: url(images/icon-map-white.svg);
}

#footer .c1 .links a.tel{
background-image: url(images/icon-tel-white.svg);
}

#footer .c1 .links .mail{
background-image: url(images/icon-mail-white.svg);
}

#footer .c1 .social{
margin-top: 25px;
}

#footer .c1 .button{
background-image: url(images/button-background-white.svg);
color: #6a2127;
font-size: 14px;
padding: 12px 15px;
vertical-align: center;
}

#footer .c1 .facebook{
display: inline-block;
width: 35px;
height: 35px;
background-image: url(images/icon-facebook.svg);
background-size: 100%;
background-position: center;
background-repeat: no-repeat;
vertical-align: middle;
margin-left: 20px;
}

#footer .c1 .tripadvisor{
display: inline-block;
width: 35px;
height: 35px;
background-image: url(images/icon-tripadvisor.svg);
background-size: 100%;
background-position: center;
background-repeat: nor-repeat;
vertical-align: middle;
margin-left: 20px;
}

#footer .c2{
display: inline-block;
vertical-align: top;
width: 46%;
text-align: left;
margin-top: 20px;
}

#footer .c2 p{
color: white;
margin-bottom: 14px;
font-size: 16px;
}

#footer .c2 span{
color: white;
font-size: 15px;
margin-top: 20px;
display: block;
}

#footer .c2 .title{
color: #52362a;
font-family: 'HappyTime', serif;
font-size: 26px;
font-weight: 500;
line-height: 45px;
margin-bottom: 20px;
font-size: 28px;
line-height: 28px;
position: relative;
margin-bottom: 30px;
color: white;
}

#footer .c2 .title:after{
content:'';
position: absolute;
left: 0;
bottom: -15px;
width: 120px;
height: 1px;
background-color: white;
}

#footer p.copyright{
color: white;
font-size: 14px;
margin: 0;
padding: 0px 0px 37px;
text-align: center;
position: relative;
margin-top: 70px;
}

#footer p.copyright a{
color: white;
}

#footer p.copyright a:last-of-type{
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 5px;
}

#footer .copyright a img{
display: inline-block;
width: 94px;
margin-left: 10px;
height: auto;
}

/* ***** CAPTCHA ***** */

.grecaptcha-badge { 
	visibility: hidden; 
}


/* ***** COOKIES ***** */

#cookieChoiceInfo{
	box-sizing: border-box;
}

/* ***** AOS ***** */

.fade_container {
    overflow-x: hidden;
}