/*--------------------------------------------------------------
- Global
--------------------------------------------------------------*/

html:not(.no-touchevents) body {
	cursor: pointer;
}

html,
body,
input,
textarea,
button {
	letter-spacing: -0.025em;
	-webkit-appearance: none !important;
}

.overflow-hidden {
	overflow: hidden;
}

#page {
	position: relative;
	z-index: 10;
	overflow: hidden;
}

h1 {
	font-size: 4.5em;
	line-height: 1;
	letter-spacing: -0.025em;
}

h2 {
	font-size: 2.5em;
}

h3 {
	font-size: 3em;
	line-height: 1;
	letter-spacing: -0.025em;
	padding-bottom: 0.75em;
}

h4 {
	font-size: 1.125em;
}

.no-margin {
	margin: 0 !important;
}

.no-padding-top {
	padding-top: 0 !important;
}

.no-padding-bottom {
	padding-bottom: 0 !important;
}

.button {
	font-size: 0.825em;
	padding: 0.75em 1.5em;
	border-width: 2px;
}

.hide {
	opacity: 0;
}

.visible {
	opacity: 1;
}

.animateFade.hide {
	/*
    transition: opacity .9s, transform 1.2s cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transform: scale(1.08);
    transform: scale(1);
    */
    transition: opacity 1.75s, transform 1.2s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.animateFade.hide.visible {
    /*transform: rotateY(0) rotateX(0) scale(1);*/
}

.animateFade.hide.visible.button {
	transition: all 0.5s;
}

/*--------------------------------------------------------------
- Header
--------------------------------------------------------------*/

header,
nav.main-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 2.875em 0;
	z-index: 99999;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

header .logo {
	position: relative;
	display: block;
	float: left;
	width: 7.5em;
	z-index: 20;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

header .logo svg {
	display: block;
	width: 100%;
}

header .mobile-trigger {
	position: relative;
	float: right;
    height: 2em;
    width: 2.25em;
    line-height: 2em;
    margin: 2.5em 0 0 3em;
    cursor: pointer;
    z-index: 99999;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

header .mobile-trigger .cd-menu-icon {
    display: inline-block;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateX(0) translateY(-50%);
    -moz-transform: translateX(0) translateY(-50%);
    -ms-transform: translateX(0) translateY(-50%);
    -o-transform: translateX(0) translateY(-50%);
    transform: translateX(0) translateY(-50%);
    height: 0.125em;
}

header .mobile-trigger .cd-menu-icon,
header .mobile-trigger .cd-menu-icon::before,
header .mobile-trigger .cd-menu-icon::after {
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;	
}

header .mobile-trigger .cd-menu-icon::before,
header .mobile-trigger .cd-menu-icon:after {
    content: '';
    height: 100%;
    position: absolute;
    right: 0;
}

header .mobile-trigger .cd-menu-icon,
header .mobile-trigger .cd-menu-icon::before,
header .mobile-trigger .cd-menu-icon::after {
	width: 2.25em;
}

header .mobile-trigger .cd-menu-icon::before {
    top: -9px;
}

header .mobile-trigger .cd-menu-icon::after {
    top: 9px;
}

header .mobile-trigger .cd-menu-icon.is-clicked::before,
header .mobile-trigger .cd-menu-icon.is-clicked::after {
	width: 2.25em;
}

header .mobile-trigger .cd-menu-icon.is-clicked::before {
    top: 0;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}

header .mobile-trigger .cd-menu-icon.is-clicked::after {
    top: 0;
    -webkit-transform: rotate(225deg);
    -moz-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    -o-transform: rotate(225deg);
    transform: rotate(225deg);
}

body:not(.overflow-hidden) header.scroll {
	padding: 1.5em 0;
	-webkit-box-shadow: 0 0 .25em 0 rgba(0,0,0,.125);
	-ms-box-shadow: 0 0 .25em 0 rgba(0,0,0,.125);
	box-shadow: 0 0 .25em 0 rgba(0,0,0,.125);
}

body:not(.overflow-hidden) header.scroll .logo {
	width: 5em;
}

body:not(.overflow-hidden) header.scroll .mobile-trigger {
	margin-top: 1.25em;
}

nav.main-nav {
	height: 100%;
	padding: 0;
	opacity: 0;
	z-index: -9999;
}

nav.main-nav.is-visible {
	opacity: 1;
	z-index: 9999;
}

nav.main-nav .bg-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 10;
	opacity: 0.1;
}

nav.main-nav .inner {
	position: relative;
	height: 100%;
	z-index: 20;
}

nav.main-nav .inner .menu-wrap {
	position: absolute;
	top: 50%;
	left: 1em;
	transform: translate(0,-50%);
	width: calc(100% - 2em);
}

nav.main-nav .menu {
	text-align: center;
}

nav.main-nav .menu a {
	position: relative;
	font-size: 2.5em;
	line-height: 1;
	letter-spacing: -0.025em;
	display: block;
	padding: 0.5em 0;
}

nav.main-nav .menu .sub-menu {
	display: none;
}

nav.main-nav .menu li li a {
	font-size: 0.75em;
	padding: 0.25em 0;
}


/*--------------------------------------------------------------
- Footer
--------------------------------------------------------------*/

footer {
	position: relative;
	z-index: 60;
	text-align: center;
	padding: 4em 0;
}

footer .logo {
	display: block;
	width: 8em;
	margin: 0 auto 2em auto;
}

footer .logo svg {
	display: block;
	width: 100%;
}

footer p {
	font-size: 0.75em;
	line-height: 1.75;
}

footer :last-child {
	margin-bottom: 0;
}

footer .social a {
	font-size: 3em;
	margin: 0 0.375em;
}


/*--------------------------------------------------------------
- Pages
--------------------------------------------------------------*/

section {
	position: relative;
	width: 100%;
	z-index: 10;
}

main {
	padding-top: 17.5em !important;
}

main h1 {
	position: relative;
	z-index: 20;
}
/*
.home main h1::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: -0.25em;
	width: 4.175em;
	height: 0.7em;
	z-index: -10;
}
*/
.home main .image {
	position: relative;
	width: calc(100% - 20em);
	height: 25em;
	margin: -6.75em 0 5em 20em;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 10;
}

.home main .image.video-active {
	background: none !important;
}

.services {
	padding-top: 4em;
}

.service {
	position: relative;
	padding: 4em 0;
}

.service img {
	display: block;
	float: left;
	width: 30%;
	max-width: 20em;
	margin-left: 5%;
}

.service .detail {
	float: right;
	width: 55%;
	padding: 0 9em 0 4.5em;
}

.service .detail h3 {
	margin: 0 0 0 -1.5em;
}

.service .detail .book {
	text-transform: uppercase;
	margin-top: 1.5em;
}

.service .detail .book::after,
.faqs .faq .answer a::after,
.intro a::after {
	content: "";
	display: block;
	width: 100%;
	height: 0.1875em;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;	
}

.service .detail .book:hover::after,
.faqs .faq .answer a:hover::after,
.intro a:hover::after {
	width: 0;
}

.gallery {
	position: relative;
	float: none;
	width: 100%;
	height: 48em;
	margin: 0;
}

.page-template-page-book .gallery {
	height: 52em;
}

.gallery .item {
	position: absolute;
	display: block;
	width: 25% !important;
	height: 20em;
	padding: 0.5em !important;
}

.gallery .item .image {
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.gallery .item:first-child {
	top: 0;
	left: 12.5%;
}

.gallery .item:nth-child(2) {
	top: 4em;
	left: 37.5%;
	height: 22em;
}

.gallery .item:nth-child(3) {
	top: 0;
	left: 62.5%;
	height: 23em;
}

.gallery .item:nth-child(4) {
	top: 20em;
	left: 0;
	width: 37.5% !important;
	height: 15em;
}

.gallery .item:nth-child(5) {
	top: 26em;
	left: 37.5%;
	height: 22em;
}

.gallery .item:nth-child(6) {
	top: 23em;
	left: 62.5%;
	width: 37.5% !important;	
	height: 17.5em;
}

.gallery .item:nth-child(7) {
	top: 40em;
	left: 12.5%;
}

.gallery .item:last-child {
	top: 35em;
	left: 12.5%;
	height: 10em;
}

.gallery.top {
	height: 37.5em;
}

.gallery.top .item:first-child {
	top: -14.75em;
	left: 50%;	
	width: 35% !important;
	height: 22em;
}

.gallery.top .item:nth-child(2) {
	top: 0;
	left: -0.5em;
	width: 30% !important;
	height: 25em;
}

.gallery.top .item:last-child {
	top: 7.25em;
	left: calc(30% - 0.5em);
	width: calc(70% + 1em) !important;
	height: 30em;
}

.gallery.bottom {
	height: 65em;
}

.gallery.bottom .item:first-child {
	width: 70em !important;
	height: 30em;
}

.gallery.bottom .item:nth-child(2) {
	top: 32em;
	left: -4em;
	width: calc(50% + 8em) !important;
	height: 25em;
}

.gallery.bottom .item:last-child {
	top: 40em;
	left: calc(50% + 6em);
	width: 30% !important;
	height: 25em;
}

#book {
	min-height: 30em;
	padding: 8em 0 0 0;
	text-align: center;
}

#book h3 {
	padding: 0;
}

#book .intro {
	padding-bottom: 3em;
}

.intro {
	padding: 4em 0 6em 0;
}

.intro:not(.full-width) {
	max-width: 22em;
}

.page-template-page-contact .intro {
	float: left;
	padding-left: 6em;
	padding-bottom: 8em;
}

.intro ul {
	list-style: disc outside;
	margin-bottom: 1.5em;
	padding-left: 1em;
}

.intro :last-child {
	margin-bottom: 0;
}

.team {
	padding: 8em 0;
}

.team .member {
	display: block;
	width: 100%;
	padding: 2em 0;
}

.team .member img {
	float: left;
	width: calc(40% - 9em);
	margin-left: 9em;
}

.team .member .detail {
	float: right;
	width: 50%;
	padding: 3em 9em 0 0;
}

.team .member .detail :last-child {
	margin-bottom: 0;
}

.team .member .detail h3 {
	font-size: 1.75em;
}

.team .member:nth-child(odd) img {
	float: right;
	margin-left: 0;
	margin-right: 9em;
}

.team .member:nth-child(odd) .detail {
	float: left;
	padding-left: 9em;
	padding-right: 0;
}

.faqs {
	padding: 8em 0 0 0;
}

.page-template-page-contact .faqs {
	padding-bottom: 4em;
}

.faqs h3 {
	padding-bottom: 1.5em;
	text-align: center;
}

.faqs .faq {
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

.faqs .faq:last-child {
	margin: 0;
	padding: 0;
	border: 0;
}

.faqs .faq h4 {
	opacity: 0.6;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;		
	cursor: pointer;
}

.faqs .faq h4:hover,
.faqs .faq h4.open {
	opacity: 1;
}

.faqs .faq h4 .fa {
	font-size: 0.8em;
	float: right;
	margin-top: 0.4em;
}

.faqs .faq h4 .fa-chevron-right {
	margin-right: 0.1em;
}

.faqs .faq h4 .fa-chevron-down,
.faqs .faq h4.open .fa-chevron-right {
	display: none;
}

.faqs .faq h4.open .fa-chevron-down {
	display: block;
}

.faqs .faq .answer {
	display: none;
	padding-top: 1em;
	overflow: hidden;
}

.faqs .faq .answer a::after,
.intro a::after {
	height: 0.0625em;
}

.faqs .faq .answer :last-child {
	margin-bottom: 0;
}

.app {
	max-width: 14em;
	margin-top: 3em;
	padding: 2em 2em 2.25em 2em;
}

.app a::after {
	display: none;
}

.app a,
.app img {
	display: block;
}

.map {
	display: block;
	float: right;
	width: calc(100% - 30em);
	height: 25em;
	margin: 8em 0;
}

.map iframe {
	height: 100% !important;
}

.booking {
	max-width: 70% !important;
	margin: 0 auto;
}


/*--------------------------------------------------------------
- 404
--------------------------------------------------------------*/

.error404 .intro {
	padding-bottom: 7em;
}


/*--------------------------------------------------------------
- Cookie notice
--------------------------------------------------------------*/

#scripts #cookie-notice {
	font-family: inherit;
	font-size: 0.75em;
	line-height: 1.5;
	padding: 0.5em 1em;
}

#scripts #cookie-notice.cookie-notice-hidden {
	padding: 0;
	z-index: -10;
}

#scripts #cookie-notice #cn-notice-text {
	display: block;
}

#scripts #cookie-notice .cn-close-icon {
	display: none;
}

#scripts #cookie-notice .cn-button {
	margin: 0.5em;
	border-width: 2px;
	border-style: solid;	
}


/*--------------------------------------------------------------
- Responsive
--------------------------------------------------------------*/

