/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,100;0,200;0,300;0,400;1,100;1,200;1,300;1,400&display=swap');
main, nav, #head-bg, #home-head-bg {
    filter: grayscale(100%);
}
#head-bg {
	position: fixed;
	top: 0px;
	display: grid;
	align-content: space-evenly;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	animation-name: fadein;
	animation-duration: 1s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	animation-delay: 1.8s;
	z-index: 0;
}
#head-text {
	position: fixed;
	top: 0px;
	display: grid;
	align-content: space-evenly;
	justify-content: center;
	width: 100%;
	height: 90%;
	color: white;
	text-shadow: 1px 1px 3px #000;
	z-index: 20;
	padding: 20px;
	font-size: 64px;
	line-height: 64px;
	font-weight: 100;
	text-align: center;
	animation-name: fadein;
	animation-duration: 1s;
	animation-timing-function: ease-out;
}
#head-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(hsla(0, 0%, 0%, 0.75), hsla(0, 0%, 0%, 0.35), hsla(0, 0%, 0%, 0.55), hsla(0, 0%, 14%, 1.00));
	z-index: 1;
}
* {
	box-sizing: border-box;
	position: relative;
}
html, body {
	width: 100%;
	height: 100%;
	margin: 0px;
	font-family: 'Jost', 'Kanit';
	scroll-behavior: smooth;
	background-color: hsla(0, 0%, 14%, 1.00);
}
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
h2 {
	margin: 0px;
}
h3 {
	margin: 0px;
}
hr {
	border-top: thin solid #CCC;
	border-bottom: none;
}
main {
	padding: 30px;
	z-index: 30;
	top: 100%;
	animation-name: showmain;
	animation-duration: 0.7s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	animation-delay: 1.3s;
}
.detail-content {
	display: none;
}
.detail-control {
	cursor: pointer;
	background-color: #000;
	color: #FFF;
	font-size: 20px;
	font-weight: 300;
	margin: 0px auto 20px;
	padding: 2px 10px 5px 5px;
	align-items: center;
	width: fit-content;
}
nav {
	position: fixed;
	top: -100px;
	width: 98%;
	height: 66px;
	margin: 1%;
	padding: 20px;
	display: grid;
	grid-template-columns: 50% 50%;
	border-bottom: thin solid #CAC5BD;
	color: white;
	z-index: 200;
	animation-name: shownav;
	animation-duration: 0.7s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	animation-delay: 1.3s;
}
nav a {
	text-decoration: none;
	padding: 10px 15px;
}
.navlink {
	color: white;
}
#navbg {
	position: absolute;
	bottom: 0px;
	width: 100%;
	height: 0%;
	background-color: #CAC5BD;
	animation-duration: 0.2s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}
.nav-jump {
	background-color: #A49E95;
	color: #FFF;
	padding: 2px 10px;
	font-size: 14px;
	font-weight: 300;
	text-align: center;
}
.nav-jump a {
	display: inline-block;
	color: #FFF;
	padding: 0px 5px;
}
#booking {
	position: fixed;
	bottom: -100%;
	width: 100%;
	height: auto;
	max-height: 88%;
	overflow-y: auto;
	z-index: 1000;
	background-color: #FFF;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-in-out;
}
#overlay {
	position: fixed;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: #242424;
	display: none;
	opacity: 0;
	z-index: 900;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-in-out;
}
.booking-logo {
	position: absolute;
	text-align: center;
	font-family: 'EB Garamond', serif;
	font-size: 26px;
	width: 98%;
	line-height: 66px;
	margin: 1% 1% 20px;
	background-color: #CAC5BD;
	/*border-bottom: thin solid #CAC5BD;*/
}
.booking-grid {
	display: grid;
	grid-template-columns: 33% 66%;
}
#booking_form {
	background-color: #FFF;
	padding: 30px;
}
#logo {
	position: absolute;
	left: 50%;
	margin-left: -90px;
	width: fit-content;
	padding: 20px;
	text-align: center;
	font-family: 'EB Garamond', serif;
	font-size: 26px;
	line-height: 20px;
	z-index: 100;
}
#mainmenu-l {
	display: block;
	z-index: 90;
}
#mainmenu-s {
	display: none;
	z-index: 90;
}
#mainmenu-r {
	display: block;
	z-index: 90;
}
#mainmenu-h {
	display: none;
	width: 100%;
	z-index: 90;
}
#mainmenu-h a {
	color: #242424;
	font-weight: 300;
}
.container {
	padding: 20px;
}
.social-grid {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: start;
	grid-gap: 5px;
}
footer {
	width: 100%;
	padding: 50px;
	background-color: #EEE;
	color: #333;
	font-size: 20px;
	font-weight: 300;
}
footer a {
	text-decoration: none;
	color: #333;
}
footer a:hover {
	text-decoration: underline;
}
footer .booking {
	padding: 10px 20px;
	border: thin solid #222;
	font-weight: 500;
}
#footer-nav-grid {
	display: grid;
	grid-template-columns: auto auto auto auto;
	padding: 15px;
	justify-content: center;
}
.footer-nav-grid-item {
	background-color: #000;
	padding: 12px 25px 15px;
	margin: 1px;
}
.footer-nav-grid-item a {
	color: #FFF;
	text-decoration: none;
	font-family: 'EB Garamond', serif;
	font-size: 20px;
	font-weight: 300;
}
.footer-nav-grid-item a:hover {
	text-decoration: underline;
}
#booking-l {
	border: thin solid #FFF;
	font-weight: 500;
}
.section-tag {
	width: fit-content;
	padding: 10px;
	background-color: #242424;
	font-family: 'EB Garamond', serif;
	font-size: 24px;
	font-weight: 300;
	color: #FFF;
}
.section-subtag {
	width: fit-content;
	padding: 10px;
	background-color: #FFF;
	font-family: 'EB Garamond', serif;
	font-size: 24px;
	font-weight: 100;
	color: #888;
}
.grif_1_1 {
	display: grid;
	grid-template-columns: 100%;
}
.grid_2_1 {
	display: grid;
	grid-template-columns: 50% 50%;
}
.grid_3_1 {
	display: grid;
	grid-template-columns: 33% 33% 33%;
}
.grid_4_1 {
	display: grid;
	grid-template-columns: auto auto auto auto;
}
.grid_4_2_1 {
	display: grid;
	grid-template-columns: 25% 25% 25% 25%;
}
.grid_5_1 {
	display: grid;
	grid-template-columns: auto auto auto auto auto;
}
.gridgap-1 {
	grid-gap: 1px;
}
.grid-item {
	padding: 18px;
	background-size: cover;
	background-position: center;
}
.span_col_2 {
	grid-column: span 2;
}
.span_col_3 {
	grid-column: span 3;
}
.span_row_2 {
	grid-row: span 2;
}
.box_1_1 {
	aspect-ratio: 1 / 1;
}
.box_4_3 {
	aspect-ratio: 4 / 3;
}
.box_3_4 {
	aspect-ratio: 3 / 4;
}
.box_16_9 {
	aspect-ratio: 16 / 9;
}
.box_9_16 {
	aspect-ratio: 9 / 16;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.container {
	width: 100%;
}
.content {
	margin: 0 auto;
	padding: 5px 0px;
	font-size: 22px;
	font-weight: 200;
	max-width: 1200px;
}
.form-item {
	padding: 5px;
	box-sizing: border-box;
}
input[type=text], input[type=date], textarea, select {
	width: 100%;
	padding: 12px 20px;
	margin: 8px 0;
	display: inline-block;
	border: 0px;
	border: 1px solid #928E85;
	border-radius: 4px;
	box-sizing: inherit;
	font-size: 20px;
	font-weight: 200;
}
input[type=submit], input[type=button] {
	width: 100%;
	background-color: #928E85;
	color: white;
	font-size: 20px;
	font-weight: 200;
	padding: 14px 20px;
	margin: 8px 0;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}
label {
	padding: 5px 7px 5px 5px;
	margin: 3px;
	background-color: #CAC5BD;
	border-radius: 5px;
}
.txt64 {
	font-size: 64px;
	line-height: 70px;
}
.txt32 {
	font-size: 32px;
}
.txt20 {
	font-size: 20px;
}
.txt18 {
	font-size: 18px;
}
.txt16 {
	font-size: 16px;
}
.txt14 {
	font-size: 14px;
}
.txt12 {
	font-size: 12px;
}
.w100 {
	font-weight: 100;
}
.w200 {
	font-weight: 200;
}
.w300 {
	font-weight: 300;
}
.w400 {
	font-weight: 400;
}
.w500 {
	font-weight: 500;
}
.w600 {
	font-weight: 600;
}
.bg_white {
	background-color: #FFF;
}
.bg_white_g {
	background-image: linear-gradient(hsla(0, 0%, 100%, 0.75), hsla(0, 0%, 100%, 1.00));
}
.st0 {
	fill: #242424;
}
.st1 {
	fill: #242424;
	stroke: #000000;
	stroke-width: 0.85;
	stroke-linecap: round;
	stroke-miterlimit: 10;
}
@keyframes shownav {
	from {
		top: -100px;
	}
	to {
		top: 0px;
	}
}
@keyframes hidenav {
	from {
		top: 0px;
	}
	to {
		top: -150px;
	}
}
@keyframes showbooking {
	from {
		bottom: -100%;
	}
	to {
		bottom: 0;
	}
}
@keyframes hidebooking {
	from {
		bottom: 0;
	}
	to {
		bottom: -100%;
	}
}
@keyframes expandbooking {
	from {
		height: 0%;
	}
	to {
		height: 75%;
	}
}
@keyframes showoverlay {
	from {
		opacity: 0;
	}
	to {
		opacity: 0.5;
	}
}
@keyframes hideoverlay {
	from {
		opacity: 0.5;
	}
	to {
		opacity: 0;
	}
}
@keyframes navbgon {
	from {
		height: 0%;
	}
	to {
		height: 100%;
	}
}
@keyframes navbgoff {
	from {
		height: 100%;
	}
	to {
		height: 0%;
	}
}
@keyframes showmain {
	from {
		top: 100%;
	}
	to {
		top: 85%;
	}
}
@keyframes fadein {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@media only screen and (max-width: 1023px) {
	nav {
		grid-template-columns: 100%;
	}
	#booking-l {
		display: none;
	}
	#booking-s {
		width: 100%;
		text-align: center;
	}
	#logo {
		right: 0;
		margin-left: auto;
		width: 80%;
		text-align: right;
	}
	#mainmenu-l {
		display: none;
	}
	#mainmenu-s {
		display: block;
		cursor: pointer;
	}
	#mainmenu-h {
		display: none;
	}
	#mainmenu-h a {
		display: block;
		width: 100%;
		font-size: 28px;
	}
}
@media only screen and (max-width: 768px) {
	h2 {
		margin: 0px;
	}
	main {
		padding: 0px;
	}
	.container {
		padding: 0px;
	}
	#head-text {
		font-size: 48px;
		line-height: 48px;
		font-weight: 100;
		text-align: center;
	}
	.content {
		padding: 15px 0px;
		font-size: 20px;
	}
	footer {
		padding: 15px;
		font-size: 20px;
	}
	footer .booking {
		display: block;
		width: 100%;
		text-align: center;
	}
	#footer-nav-grid {
		grid-template-columns: 100%;
		justify-content: left;
	}
	.footer-nav-grid-item {
		font-size: 24px;
		font-weight: 200;
	}
	.booking-grid {
		display: grid;
		grid-template-columns: 100%;
	}
	.grid_1_1 {
		display: grid;
		grid-template-columns: 100%;
	}
	.grid_2_1 {
		display: grid;
		grid-template-columns: 100%;
	}
	.grid_3_1 {
		display: grid;
		grid-template-columns: 100%;
	}
	.grid_4_1 {
		display: grid;
		grid-template-columns: 100%;
	}
	.grid_4_2_1 {
		display: grid;
		grid-template-columns: 100%;
	}
	.grid_5_1 {
		display: grid;
		grid-template-columns: auto;
	}
	.content {
		padding: 5px 0px;
	}
	.span_col_2 {
		grid-column: 1;
	}
	.span_col_3 {
		grid-column: 1;
	}
	.span_row_2 {
		grid-row: 1;
	}
	.txt64 {
		font-size: 50px;
		line-height: 54px;
	}
	.box_4_3 {
		aspect-ratio: 1 / 1;
	}
	.box_3_4 {
		aspect-ratio: 1 / 1;
	}
	.box_16_9 {
		aspect-ratio: 1 / 1;
	}
}