body {
	background-color: rgb(243, 238, 232);
	color: #5e5e5e;
	font-size: 10pt;
}
html {
	scroll-behavior: smooth;
}
a:link,
a:visited,
a:hover,
a:active {
	text-decoration: none;
	color: #484848;
}
hr {
	background-color: #f38433;
	color: #f38433;
	height: 2px;
	border: none;
	margin: 5px;
}
/* ===================== SiderBar ================== */
.offcanvas {
	background-color: #f3eee8;
	font-family: "Urbanist", sans-serif;
}
.btn-close {
	padding: 15px;
}

.btn-close:hover {
	background-color: rgba(0, 0, 0, 0.06);
	color: #f38433;
}

.offcanvas a.list-group-item.thispage {
	color: #f38433;
	background-color: #fff;
	border-radius: 10px;
}
.offcanvas a.list-group-item {
	font-size: 12pt;
	background-color: #f3eee8;
	padding-left: 30px;
	border-bottom: 1px solid rgba(241, 187, 141, 0.3);
}

.offcanvas a.list-group-item:hover {
	background-color: rgba(255, 255, 255, 0.8);
	color: #f38433;
	border-radius: 10px;
}

a.accordion-button {
	padding-left: 30px;
	background-color: #f3eee8;
	text-decoration: none;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	text-align: left;
	overflow-anchor: none;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}

a.accordion-button:not(.collapsed) {
	color: #f38433;
	background: rgba(255, 255, 255, 0.2);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
	border-radius: 10px;
}

.accordion-body a {
	display: block;
	padding: 10px 30px;
	border-radius: 10px;
	margin-bottom: 5px;
	font-size: 12pt;
}
.accordion-body a.thispage {
	background-color: rgba(255, 239, 224, 0.6);
}
.accordion-body a:hover {
	background-color: rgba(255, 239, 224, 0.3);
}
/* ===================== Header ================== */
.top-nav {
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(10px);
}
.header-height {
	height: 55px;
}

/* Sidebar menu */
a.btn-menu i {
	font-size: 25pt;
	color: #595959;
}
a.btn-menu i:hover,
a.btn-menu i:active {
	color: #f38433;
}

.navbar-brand {
	width: 200px;
}
.navbar-brand-sm {
	width: 120px;
	margin: 10px;
}

.nav-menu {
	border-style: solid;
	border-color: #f1bb8d;
	border-width: 1px 0;
}
/* 主選單 */
.nav-menu a {
	white-space: nowrap;
	color: #363636;
	margin: 0px;
	display: inline-block;
}
/* 英文 */
.nav-menu div.en a {
	font-size: 10pt;
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.1em;
	padding: 12px 14px;
}

/* 中文 日文 */
.nav-menu div.zh a,
.nav-menu div.jp a {
	color: #6e6e6e;
	font-size: 11pt;
	padding: 12px 16px;
}
.nav-menu div.zh a {
	font-family: "Noto Sans TC", sans-serif;
}
.nav-menu div.jp a {
	font-family: "Noto Sans JP", sans-serif;
}

.nav-menu a.active,
.nav-menu div.zh a.active,
.nav-menu div.jp a.active {
	color: #f38433;
	border-block-end: 3px rgba(255, 176, 154, 1) solid;
}
.nav-menu a:hover,
.nav-menu div.zh a:hover,
.nav-menu div.jp a:hover {
	background-color: rgba(255, 255, 255, 0.8);
	color: #f38433;
}

.nav-line {
	border-style: solid;
	border-color: #f1bb8d;
	border-width: 1px 0 0 0;
}
/***************   language   ***************/
div.langlist {
	font-size: 10pt;
	margin-top: 30px;
	right: 0px;
}
div.langlist i {
	vertical-align: middle;
}

.btn-linklist {
	font-family: "Urbanist", sans-serif;
	letter-spacing: 0.1em;
	--bs-btn-color: #585858;
	--bs-btn-hover-color: #f38433;
	--bs-btn-hover-bg: #f3e3d5;
	--bs-btn-active-color: #f38433;
	--bs-btn-active-bg: #f3e3d5;
}
.dropdown-menu a:hover {
	background-color: #fbefe4;
	color: #f38433;
}

.dropdown-menu a {
	color: #767676;
	font-size: 11pt;
	letter-spacing: 0.1em;
}

.dropdown-menu .thispage {
	color: #f38433;
	background-color: #fff;
}

/**   btn-reserve  **/
a.btn-reserve {
	background-color: #5a4f3b;
	color: #fff;
	padding: 15px 35px;
	transition: 0.7s;
}
a.btn-reserve:hover {
	opacity: 0.75;
}

/*******/
.title-wrap {
	margin-top: 4em;
	margin-bottom: 3em;
}
.title-a {
	font-size: 1.5em;
	letter-spacing: 0.2em;
	padding: 0px;
	margin: 0px;
}

/*   中日文標題   */
.title-a-zh,
.title-a-jp {
	font-style: normal;
	font-optical-sizing: auto;
	font-size: 24px;
	color: rgba(0, 0, 0, 0.7);
	letter-spacing: 3px; /*字間距*/
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
	font-weight: 600;
	padding: 0px;
	margin: 0px;
}
.title-a-zh {
	font-family: "Noto Serif TC", serif;
}
.title-a-jp {
	font-family: "Noto Serif JP", serif;
}
/*------------------------*/

.title-b {
	font-size: 10pt;
	letter-spacing: 0.2em;
	padding: 0px;
	margin: 0px;
}

.title-c {
	font-weight: bold;
	margin: 20px 0px 10px 0px;
}

.txt-small {
	font-size: 0.7em;
}
/***  location  ***/
.location {
	margin: 20px 10px 50px 10px;
}

/***  Hero BG (banner) ***/
.hero-banner {
	--bs-aspect-ratio: 25%;
	max-width: 1400px;
	margin-bottom: 5vw;
}
.hero-banner .title {
	letter-spacing: 0.05em;
	color: #fff;
	font-size: 5vw;
	margin-left: 8vw;
}
.carousel-control-next,
.carousel-control-prev {
	width: 10%;
}
.carousel-item {
	transition: transform 1s ease-in-out;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
	transition: opacity 0s 1s;
}
/**************** 
 Discover 4 
 *************** */
.discover {
	border-radius: 5px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top;
	background-size: 100%;
	color: #fff;
	font-size: small;
	font-family: "Urbanist", sans-serif;
}

.discover .content {
	text-indent: 1em;
	padding-top: 75%;
}

/*--- Footer ---*/
.footer-logo {
	width: 150px;
}
.footer {
	color: #fff;
	background: linear-gradient(90deg, #4e3f26, #93815d);
	font-size: small;
	padding: 20px 20px 20px 0px;
}
.footer a:link,
.footer aa:visited {
	color: #fff;
}
img.room-btn:hover {
	opacity: 0.9;
}
.icon a {
	font-size: 16pt;
	margin-left: 12px;
	color: #fff;
}
/********* 
Room 
**********/
.room-title {
	font-family: "DM Serif Display", serif;
	letter-spacing: 0.1em;
}
.room-title-b {
	font-family: Arial, Helvetica, sans-serif;
}

a.check-btn {
	color: #585858;
	border-radius: 0%;
	border-style: solid;
	border-color: #c4c4c4;
	border-width: 1px;
	transition: 0.7s;
}
a.check-btn:hover {
	background-color: #f3e3d5;
	color: #f38433;
	border-color: #f1bb8d;
}
.room-title-c {
	font-size: 3vw;
	color: #fff;
}
.room-content-L {
	bottom: 1rem;
	left: 3vw;
	font-size: 10pt;
	line-height: 0.6;
}
.room-content {
	bottom: 1rem;
	right: 3vw;
	font-size: 10pt;
	line-height: 0.6;
}

.A-title {
	font-family: "DM Serif Display", serif;
	letter-spacing: 0.1em;
	font-size: 18pt;
}
.A-title-jp {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	letter-spacing: 0.1em;
	font-size: 18pt;
}
.A-title-zh {
	font-family: "Noto Serif TC", serif;
	font-weight: 600;
	letter-spacing: 0.1em;
	font-size: 18pt;
}
.B-title {
	font-family: "Urbanist", sans-serif;
	font-size: 14pt;
	letter-spacing: 0.05em;
}
.B-title-jp {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14pt;
	letter-spacing: 0.05em;
}
.B-title-zh {
	font-family: "Noto Sans TC", sans-serif;
	font-size: 14pt;
	letter-spacing: 0.05em;
}
.g-map {
	--bs-aspect-ratio: 100%;
}
/* ================
漸變
=================*/
.fadein {
	animation: fadein 3s;
}
.mov-r {
	position: relative;
}
@keyframes fadein {
	0% {
		opacity: 0%;
	}
	100% {
		opacity: 100%;
	}
}
@keyframes mov-r {
	0% {
		left: -80px;
		top: 0px;
		opacity: 0%;
	}
	100% {
		left: 0px;
		top: 0px;
		opacity: 100%;
	}
}
.mov-l {
	position: relative;
}
@keyframes mov-l {
	0% {
		left: 80px;
		top: 0px;
		opacity: 0%;
	}
	100% {
		left: 0px;
		top: 0px;
		opacity: 100%;
	}
}

/*************************
Responsiveness 
*************************/
/*--- sm ---*/
@media screen and (min-width: 576px) {
	.txt-small {
		font-size: 0.8em;
	}
}
/*--- md ---*/
@media screen and (min-width: 768px) {
	.experience {
		font-size: 10pt;
	}
	.txt-small {
		font-size: 0.9em;
	}
	.location {
		margin: 20px 10px 150px 10px;
	}
	.footer-logo {
		width: 200px;
	}
	.room-title-c {
		font-size: 20pt;
	}
	.g-map {
		--bs-aspect-ratio: 80%;
	}
}

/*--- lg ---*/
@media screen and (min-width: 992px) {
	.header-height {
		height: 145px;
	}
	.mov-r {
		position: relative;
		animation-name: mov-r;
		animation-duration: 2s;
	}
	.mov-l {
		position: relative;
		animation-name: mov-l;
		animation-duration: 2s;
	}
	.g-map {
		--bs-aspect-ratio: 60%;
	}
}

/*--- xl ---*/
@media screen and (min-width: 1200px) {
	.g-map {
		--bs-aspect-ratio: 50%;
	}
}

/*--- xxl ---*/
@media screen and (min-width: 1400px) {
	.g-map {
		--bs-aspect-ratio: 40%;
	}
	.hero-banner {
		margin-bottom: 70px;
	}
	.hero-banner .title {
		font-size: 43pt;
	}
}
