/* ******************** FONTS ******************** */
@font-face
{
	font-family: 'Gill Sans';
	src: url('../fonts/GillSans-Light.woff') format('woff2'),
	url('../fonts/GillSans-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}

@font-face
{
	font-family: 'Traulha';
	src: url('../fonts/Traulha-Frenchie.woff') format('woff2'),
	url('../fonts/Traulha-Frenchie.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face
{
	font-family: 'traulha-triallineara';
	src: url('../fonts/traulha_trial_lineara-webfont.woff') format('woff2'),
	url('../fonts/traulha_trial_lineara-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

.triallineara
{
	font-family: 'traulha-triallineara';
	font-weight: normal;
	font-style: normal;
	letter-spacing: 1px;
}

.gillsans
{
	font-family: 'Gill Sans';
	font-weight: 300;
	font-style: normal;
	letter-spacing: 4px;
}

.traulha
{
	font-family: 'Traulha';
	font-weight: normal;
	font-style: normal;
}

/* ******************** THEME ******************** */

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto
{
	padding-left: 25px;
	padding-right: 25px;
}

*
{
	overflow-x: hidden;
}

/* ******************** SVG ******************** */

#header-logo svg, #mobile-header-logo svg
{
	width: 188px;
}

#close-menu svg
{
	width: 16px;
}

#burger-menu svg, #mobile-burger-menu svg
{
	width: 20px;
}

svg path, svg polygon, svg rect
{
	transition: all 0.5s ease;
}

.svg-black svg path, .svg-black svg polygon, .svg-black svg rect
{
	fill: #000000 !important;
}

/* ******************** HEADER ******************** */
.navbar-default
{
	background: none;
	border: none;
}

.navbar-brand, .navbar
{
	padding-top: 0;
	padding-bottom: 0;

	margin-top: 0;
	margin-bottom: 0;
}

#masthead
{
	padding: 60px 0;
	position: fixed;
	top: 0
	left: 0;
	width: 100%;
	z-index: 2;
}
#lang-menu
{
	float: left;
	margin-right: 50px;
}

#burger-menu
{
	float: right;
	display: block;
	line-height: 55px;
}

#close-menu
{
	line-height: 55px;
}

#lang-menu, #lang-menu a
{
	color: #fff;
	font-size: 20px;
	line-height: 50px;
}

#lang-menu .separator:last-child, #mobile-lang-menu .separator:last-child
{
	display: none;
}

#lang-menu .current-lang, #mobile-lang-menu .current-lang
{
	border-bottom: 2px solid #fff;
}

.lang-menu-black, .lang-menu-black a
{
	color: #000 !important;
}

#mobile-lang-menu
{
	margin-top: 60px;
}

#mobile-lang-menu, #mobile-lang-menu a
{
	color: #ffffff;
	font-size: 50px;
	line-height: 90px;
}

/* ******************** MENU ******************** */

#header-menu
{
	background: #92a6b4;
	color: #ffffff;
	text-align: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 3;
	display: none;
	padding: 60px 0;
	min-height: 100vh;
}

#header-menu-menu
{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	z-index: -1;
}

#header-menu-menu a, #mobile-lang-menu
{
	color: #ffffff;
	font-size: 50px;
	line-height: 90px;
	text-transform: uppercase;
}

#header-menu-menu a:hover
{
	text-decoration: none;
	border-bottom: 2px solid #fff;
}

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

#colophon
{
	text-align: center;
	background: #92a6b4;
	color: #ffffff;
	padding: 90px 0;
}

.footer-title h3
{
	font-size: 30px;
	line-height: 40px;
	margin: 0;
	margin-bottom: 40px;
}

.footer-text
{
	font-size: 20px;
	line-height: 25px;
}

.footer-text p
{
	margin: 0;
	margin-bottom: 20px;
}

.footer-text a
{
	color: #ffffff;
	text-decoration: none;
}

.footer-text a:hover
{
	color: #ffffff;
	text-decoration: underline;
}

/* ******************** SPACER ******************** */

.menu-spacer
{
	width: 100%;
	height: 60px;
}

.spacer-footer
{
	width: 100%;
	height: 20px;
}

/* ******************** ACCUEIL ******************** */

#banner
{
	width: 100%;
	height: 100vh;
	position: relative;
	background: #92a6b4;
}

#banner-content
{
	position: absolute;
	bottom: 85px;
	width: 100%;
}

#banner-content p
{
	margin: 0;
}

#banner table, #banner td
{
	width: 100%;
}

#banner td
{
	vertical-align: middle;
}

.banner-button, #mobile-banner-button
{
	text-transform: uppercase;
}

.banner-button a, #mobile-banner-button a
{
	display: block;
	font-size: 20px;
	line-height: 22px;
	color: #ffffff;
	border: solid 2px #fff;
	padding: 15px 0;
	text-align: center;
	margin: 0 auto;
	transition: all 0.5s ease;
}

.banner-button a:hover, #mobile-banner-button a:hover
{
	background: #fff;
	color: #000;
	text-decoration: none;
}

.banner-text, .banner-text a
{
	text-align: center;
	font-size: 20px;
	line-height: 36px;
	color: #ffffff !important;
}

#introduction
{
	padding: 120px 0;
	font-size: 20px;
	line-height: 34px;
}

#introduction-text p
{
	margin-bottom: 65px;
}

#introduction-signature
{
	text-align: right;
}

#text
{
	background: #92a6b4;
	color: #ffffff;
	padding: 120px 0;
}

#text p
{
	margin: 0;
}

#menu
{
	padding: 150px 0;
}

.menu-image
{
	margin-bottom: 40px;
}

.menu-title
{
	margin-bottom: 20px;
	text-transform: uppercase;
}

.menu-title h3
{
	font-size: 26px;
	/*line-height: 26px;*/
	margin: 0;
	font-weight: normal;
}

.menu-text
{
	font-size: 16px;
	line-height: 25px;
	min-height: 200px;
}

.menu-button
{
	margin-top: 40px;
}

.menu-button a
{
	display: block;
	max-width: 360px;
	border: solid 2px #000000;
	padding: 5px 0;
	text-transform: uppercase;
	font-size: 15px;
	line-height: 25px;
	margin: 0 auto;
	text-align: center;
	color: #000000;
	transition: all 0.5s ease;
}

.event-menu-button
{
	margin-top: 0;
}

.event-menu-button a
{
	max-width: 400px;
}

.menu-button a:hover
{
	text-decoration: none;
	background: #000000;
	color: #ffffff;
}

#instagram
{
	padding: 120px 0;
}

#instagram-title h2, #event-title h2,  #seasonal-title h2, #seasonal-title-2 h2
{
	text-align: center;
	font-weight: normal;
	font-size: 30px;
	line-height: 50px;
	margin: 0;
	text-transform: uppercase;
}

#slider, #mobile-slider
{
	background: #92a6b4;
	width: 100%;
}

.mobile-slider-item td
{
	vertical-align: middle;
}

.slider-item
{
	height: 100vh;
}

.slick-prev, .slick-next
{
	z-index: 1;
}

.slick-prev::before, .slick-next::before
{
	display: none;
}

#prev-arrow
{
	background: url(../images/prev_arrow.png) top left no-repeat;
	width: 32px;
	height: 34px;
	cursor: pointer;
	margin-left: 62px;
	transition: all 0.5s ease;
	opacity: 0.5;
}

#next-arrow
{
	background: url(../images/next_arrow.png) top left no-repeat;
	width: 32px;
	height: 34px;
	cursor: pointer;
	margin-right: 62px;
	transition: all 0.5s ease;
	opacity: 0.5;
}

#prev-arrow:hover, #next-arrow:hover
{
	opacity: 1;
}

.slick-dots
{
	padding: 20px 0 30px 0;
	background: #92a6b4;
}

.slick-dots li button::before, .slick-dots li.slick-active button::before
{
	color: #fff;
}

.slick-dots
{
	opacity: 0;
}

#banner-text-1, #banner-text-2
{
	font-size: 20px;
	line-height: 34px;
	color: #ffffff;
	text-align: center;
}

#banner-text-1
{
	margin-bottom: 70px;
}

#banner-baseline
{
	margin-bottom: 70px;
	text-align: center;
}

#banner-image
{
	text-align: right;
}

#home-text
{
	text-align: center;
	font-size: 35px;
	line-height: 50px;
}

#slider-title h2
{
	text-align: center;
	color: #ffffff;
	font-weight: normal;
	text-transform: uppercase;
	margin: 0;
	margin-bottom: 30px;
}

.slick-dots
{
	position: relative;
	bottom: 0;
}

#mobile-banner-content a
{
	color: #000;
	border: solid 2px #000;
}

#mobile-banner-content a:hover
{
	background: #000;
	color: #fff;
}


/* ******************** LANGS ******************** */

#masthead.white-header
{
	background: #fff;
	padding: 12px 0 6px 0;
}

#masthead.white-header #header-logo svg
{
	width: auto;
	height: 35px;
}

#masthead.white-header .current-lang
{
	border-bottom: 2px solid #000;
}

#lang-menu a:hover
{
	border-bottom: 2px solid #fff;
	text-decoration: none;
}

#masthead.white-header #lang-menu a:hover
{
	border-bottom: 2px solid #000;
}

/* ******************** FORMS ******************** */

.form-title
{
	margin-bottom: 30px;
}

.form-title h2
{
	font-size: 30px;
	line-height: 30px;
	margin: 0;
	font-weight: normal;
	text-align: center;
	text-transform: uppercase;
}

.form-text
{
	font-size: 22px;
	line-height: 25px;
	letter-spacing: normal;
}

.form-text p
{
	margin-bottom: 30px;
}

.form-form
{
	margin-top: 100px;
}

.form-form label
{
	text-align: right;
	font-size: 20px;
}

.form-control
{
	border-radius: 0;
	border: 1px solid #000;
	color: #000;
}

.input-file input
{
	line-height: 40px;
}

.form-notice
{
	font-size: 16px;
	line-height: 22px;
	font-style: italic;
}

.input-date input
{
	padding: 4px 12px 6px 12px;
	border-radius: 0;
	border: 1px solid #000;
}

.form-control:focus
{
	border-color: #878787;
	box-shadow: none;
}

.input-text input, .input-date input
{
	width: 40%;
}

.input-submit
{
	margin-top: 40px;
	text-align: center;
}

.input-submit input
{
	border: solid 1px #000;
	background: none;
	padding: 10px 30px;
	text-transform: uppercase;
	cursor: pointer;
}

#mobile-lang-menu, #mobile-lang-menu a
{
	text-transform: none !important;
}


#legal-link
{
	font-size: 14px;
	color: #fff !important;
}

#page-content
{
	padding-top: 275px;
	padding-bottom: 100px;
}

#page-title
{
	font-size: 30px;
	line-height: 40px;
	margin: 0;
	margin-bottom: 0px;
	margin-bottom: 40px;
	text-transform: uppercase;
}

#page-text
{
	font-size: 16px;
	line-height: 30px;
}

.slider-item img, #slider
{
	max-height: calc( 100vh - 73px );
	overflow: hidden;
}

.img-left
{
	text-align: right;
	padding: 0;
}

.img-right
{
	text-align: left;
	padding: 0;
}

.slick-slide img
{
	display: inline-block;
}

.event-title h2
{
	font-size: 20px;
	line-height: 34px;
	margin-bottom: 50px;
	text-transform: uppercase;
}

.event-text
{
	font-size: 20px;
	line-height: 34px;
}

.event-item
{
	margin-bottom: 50px;
}

.spacer-event
{
	width: 100%;
	height: 50px;
}

#events, #seasonal, #seasonal-2
{
	margin-bottom: 150px;
}

.form-form .btn-primary
{
	color: #000;
}

.form-form .btn-primary:hover
{
	color: #fff;
	background-color: #000;
	border-color: #000;
}

#seasonal-image, #seasonal-image-2
{
	margin-bottom: 50px;
}

/* ******************** COOKIE BANNER ******************** */

.has-cookie-bar #catapult-cookie-bar
{
	opacity: 0.9 !important;
}

#catapult-cookie-bar .ctcc-inner
{
	font-size: 15px;
}

#catapult-cookie-bar .x_close span
{
	background: #fff;
}

#booking-adress
{
	margin-bottom: 40px !important;
	min-height: auto !important;
}