@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,300;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;700;900&display=swap');

html {
	scroll-behavior: smooth;
}

body {
	position: relative;
	min-height: 100vh;
	height: 100%;
	padding-bottom: 100px;
	background: #fff;
}

body, h1, h2, h3, h4, h5, h6, p {
	font-family: 'Lato', sans-serif;
	letter-spacing: 0.048em;
	color: #0a0a0a;
	font-weight: 300;
	font-smooth: always;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Zen Old Mincho', serif;
	font-weight: 500;
	color: #232965;
	line-height: 110%;
	letter-spacing: normal;
}

h1 {
	font-size: 30px;
}

.button {
	font-weight: 700;
}

.clear { clear: both; }

.anchor {
    display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}

.anchorm {
    display: block;
    position: relative;
    top: -140px;
    visibility: hidden;
}

table {
	font-size: 14px;
}

.header-fix { clear: both; width: 100%; height: 70px; }

.header {
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 70px;
	top: 0;
	background: #fff;
	box-shadow: -6px 6px 10px rgb(0 0 0 / 10%);
}

.header .logo {
	text-align: right;
}

.header .logo img {
	height: 58px;
	margin-top: 6px;
}

.navigation ul {
	margin: 0;
	margin-top: 20px;
	text-align: left;
}

.navigation ul li {
	list-style: none;
	display: inline-block;
	margin-left: 10px;
	text-transform: uppercase;
}

.navigation ul li a {
	color: #232965;
	font-weight: 400;
	font-size: 14px;
	display: inline-block;
	width: 100%;
}

.navigation ul li a:hover {
	color: #48c2c4;
}

.nav-icon { width: 20px; margin: 0; cursor: pointer; position: fixed; left: 10px; top: 20px; }
.nav-icon:after, .nav-icon:before, .nav-icon div { background-color: #232965; -o-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;content: ''; display: block; height: 4px;margin: 5px 0; -moz-transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out; transition: all .2s ease-in-out; }
.nav-icon.enabled:before { transform: translateY(9px) rotate(135deg); -moz-transform: translateY(9px) rotate(135deg); -webkit-transform: translateY(9px) rotate(135deg); }
.nav-icon.enabled:after { transform: translateY(-9px) rotate(-135deg); -moz-transform: translateY(-9px) rotate(-135deg); -webkit-transform: translateY(-9px) rotate(-135deg); }
.nav-icon.enabled div { -moz-transform: scale(0); -webkit-transform: scale(0); transform: scale(0); }
.nav-icon.enabled:before { transform: translateY(9px) rotate(135deg); -moz-transform: translateY(9px) rotate(135deg); -webkit-transform: translateY(9px) rotate(135deg); }
.nav-icon.enabled:after { transform: translateY(-9px) rotate(-135deg); -moz-transform: translateY(-9px) rotate(-135deg); -webkit-transform: translateY(-9px) rotate(-135deg); }
.nav-icon.enabled div { -moz-transform: scale(0); -webkit-transform: scale(0); transform: scale(0); }

.submenu {
	width: 100%;
	height: 60px;
	background: #ddd;
	position: fixed;
	top: 70px;
	z-index: 888;
}

.submenu ul {
	margin: 0;
	margin-top: 15px;
	text-align: center;
}

.submenu ul li {
	list-style: none;
	display: inline-block;
	margin-left: 10px;
	text-transform: uppercase;
}

.submenu ul li a {
	color: #232965;
	font-weight: 400;
	font-size: 14px;
	display: inline-block;
	width: 100%;
}

.submenu ul li a:hover {
	color: #48c2c4;
}

.footer {
	box-shadow: -6px 6px 20px rgb(0 0 0 / 10%);
	margin-top: 20px;
	padding: 20px 0;
	font-size: 14px;
	background: #fff;

	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	height: 60px;
}
.footer a {
	float: right;
	margin-left: 10px;
	color: #232965;
}

.header-video video {
	width: 100%    !important;
	height: auto   !important;
}

/* Small Navigation */
@media print, screen and (max-width: 700px) {
	.header {
		background: #fff;
	}

	.navigation {
		position: fixed;
		width: 200px;
		top: 70px;
		left: 0;
	}
	.navigation.cell {
		padding: 0 !important;
	}

	.navigation ul {
		margin: 0;
		background: #fff;
	}

	.navigation ul li {
		margin: 0;
		width: 100%;
		display: block;
		padding: 10px;
		text-align: center;
		border-bottom: #eee 1px solid;
	}

	.navigation ul li:last-child {
		border-bottom: none;
	}

	.footer {
		text-align: center;
		height: 100px;
	}
	.footer span {
		display: inline-block;
		width: 100%;
		margin-bottom: 10px;
	}

	.footer a {
		float: none;
		margin: 0;
	}
}

.about {
	text-align: center;
	margin: 80px auto;
}

.about .content {
	font-style: italic;
}
.about .content h1 {
	margin-bottom: 30px;
}

.about .image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.about ul {
	text-align: left;
}

.full-width {
	text-align: center;
	background-color: rgba(0, 0, 0, 0.5);
    background-blend-mode: multiply;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-bottom: 40px;
}
.full-width .content {
	margin: 120px 0;
}
.full-width .content h4, .full-width .content p {
	color: #fff;
}

.cards {
	margin-bottom: 20px;
}
.cards .cell {
	margin-bottom: 30px;
}

.cards .item {
	box-shadow: -0px 0px 20px rgb(0 0 0 / 10%);
	/* background: #f2f2f2; */
	padding-bottom: 5px;
	transition: all .2s ease-in-out;
	display: block;
	height: 100%;
}
.cards .item:hover {
	transform: scale(1.01);
}
.cards .item img {
	padding: 20px;
}
.cards .item h3, .cards .item h5, .cards .item p {
	text-align: center;
	padding: 0 10px;
}
.facilities {
	text-align: center;
}
.facilities span {
	display: inline-block;
	margin: 0 5px;
	color: #666;
	cursor: pointer;
}
.facilities span:hover {
	color: #48c2c4;
}

.gallery-main {
	margin-bottom: 20px;
	/* box-shadow: -6px 6px 20px rgb(0 0 0 / 30%); */
}
.gallery-nav .thumb {
	cursor: pointer;
	margin-right: 20px;
}

.cabin {
	margin: 50px 0;
}

.cabin .details ul li {
	float: left;
	width: 48%;
	padding-right: 30px;
}

.trips .cell {
	
}

.trips .item {
	box-shadow: -0px 0px 20px rgb(0 0 0 / 10%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	/* background: #f2f2f2; */
	padding-bottom: 5px;
	transition: all .2s ease-in-out;
	display: block;
	height: 500px;
	padding: 20px;
	position: relative;
	margin-bottom: 20px;
}
.trips .item:hover {
	transform: scale(1.01);
}

.trips .bottom-content h3, .trips .bottom-content p, .trips .facilities span {
	color: #fff;
}

.trips .bottom-content {
	position: absolute;
	bottom: 20px;
}

@media print, screen and (max-width: 55em) {
	.cabin .details ul li {
		width: 100%;
	}
}

.cabin .floorplan img {
	box-shadow: -6px 6px 20px rgb(0 0 0 / 30%);
}

.cabin .facilities {
	text-align: left;
}

.full { color: #ff0000; font-weight: bold; }
.slots { color: #ff7700; font-weight: bold; }
.available { color: #4ca800; font-weight: bold; }

.floater {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 70px;
	height: 70px;
	border-radius: 70px;
	text-align: center;
	background: #232965;
	color: #fff;
	box-shadow: -6px 6px 20px rgb(0 0 0 / 50%);
	line-height: 18px;
	padding-top: 18px;
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	z-index: 20;
}
.floater:hover {
	color: #48c2c4;
}

.errors {
	color: #ff0000;
	font-size: 14px;
}
.offer-reveal:before {
	background: url('/assets/img/offer_back.jpeg');
	content: " ";
	position: absolute;
	top: 0; 
	left: 0;
	width: 100%; 
	height: 100%;  
	opacity: .5; 
	z-index: -1;
}

.offer-reveal {
	
	outline: none;
	border: #ffe600 10px solid;
}

.offer-popup {
	text-align: center;
	position: relative;
	overflow: visible !important;
}
.popup-logo {
	margin-top: -80px;
}

.offer-book {
	background: #ffe600;
	color: #000;
}

.offer-popup h1 {
	padding-top: 60px;
	font-family: 'Lato', sans-serif !important;
	font-weight: 900;
	text-transform: uppercase;
	color: #000;
}

.offer-reveal {
	width: 500px;
}

/* Medium */
@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
	.offer-reveal {
		width: 50% !important;
	}	
}
/* Small */
@media print, screen and (max-width: 39.99875em) {
	.offer-popup h1 {
		font-size: 30px;

	}

	.offer-reveal {
		width: 70% !important;
		left: 50%;
		transform: translate(-50%, 0);
		height: auto !important;
		min-height: auto !important;
	}

	.intro {
		padding-top: 70px;
	}
	.header-video {
		padding-top: 70px;
	}
	
	.about .content h1 {
		font-size: 3rem;
	}

	.about {
		margin: 40px auto;
	}

	.about .image {
		height: 400px;
	}

	.cabin .gallery {
		margin-top: 40px;
	}
}