:root {
	--theme-primary-bg-light: hsl(var(--theme-primary-color-h), var(--theme-primary-color-s), var(--theme-primary-color-l), 0.2)
}

.container {
	max-width: 1300px;
}

body {
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-weight: 500;
}

img {
	image-rendering: -webkit-optimize-contrast;
}

/* banner */
.has-caption .fancybox__content {
	cursor: pointer !important;
}

/* Top Header */
.header-relative {
	position: relative;
}

.top-header {
	padding: 10px 0;
	background-color: var(--theme-primary-color);
	color: #ffffff;
}

.top-header ul {
	list-style: none;
	display: flex;
	justify-content: end;
	margin: 0;
	padding: 0;
}

.top-header li {
	padding: 0 5px;
}

.top-header a {
	color: #ffffff;
}

.top-header i {
	margin: 0 10px;
}

/* Bottom Header */
.bottom-header {
	padding: 10px 0;
}

.bottom-header .menu-list {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: bold;
}

.bottom-header li {
	display: inline-block;
	padding: 10px 20px;
}

.bottom-header a {
	color: #222222;
}

.bottom-header a:hover {
	color: var(--theme-primary-color);
	text-decoration: none;
}

.bottom-header .logo {
	background: #fff;
	padding: 10px;
	position: absolute;
	top: -4.5rem;
	left: 0;
}

.bottom-header .logo img {
	width: auto;
	height: auto;
	max-width: 200px;
	max-height: 80px;
}

.bottom-header .dropdown:hover .dropdown-menu {
	display: block;
}

.bottom-header .dropdown-menu {
	position: absolute !important;
	top: 90% !important;
	transform: none !important;
	z-index: 1100;
	width: max-content;
	border: 2px ridge var(--theme-secondary-color);
	background: #fff;
	border-radius: .25rem;
}

.bottom-header .dropdown-menu>li {
	padding: 5px 10px;
	margin: 0;
	display: list-item;
	transition: all 0.3s;
}

.bottom-header .dropdown-menu>li:hover {
	background: var(--theme-primary-color);
	transition: .5s ease;
}

.bottom-header .dropdown-menu>li>a {
	font-size: 14px;
	text-transform: capitalize;
}

.bottom-header .dropdown-menu>li:focus a,
.dropdown-menu>li:hover a {
	color: #fff;
	text-shadow: 2px 2px 2px #222;
	text-decoration: none;
	transition: .5s ease;
}

/* Title Section */
.section-title span {
	color: var(--theme-primary-color);
	font-weight: bold;
}

/* Slider Section */
.slider-section {
	padding: 50px 0;
}

.slider-subtext {
	background-color: #f3f3f3;
	padding: 5px 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
	display: inline-block;
	margin-bottom: 20px;
}

/* Booking Section */
.booking-panel {
	position: relative;
}

/* Booking Tab */
.book-list-pills {
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.book-tab .book-menu-tabs {
	border: none;
	background-color: #ededed !important;
	border-radius: 30px;
	flex-wrap: nowrap;
	text-align: center;
}

.book-tab .book-menu-tabs li a {
	color: #222222;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 1px;
	padding: 5px 15px;
	border: none;
	box-shadow: none;
	border-radius: 30px;
	overflow: hidden;
	position: relative;
	z-index: 1;
	text-transform: uppercase;
	transition: all 0.5s ease 0s;
}

.book-tab .nav-link.active {
	background-color: var(--theme-primary-color) !important;
	color: #ffffff;
}

.book-height {
	padding: 30px 50px;
	background: var(--theme-primary-bg-light);
	border-radius: 10px;
}

.book-form .book-group {
	position: relative;
	padding: 0;
}

.book-form .book-group-border {
	border-right: 1px solid #f0eafb;
	border-left: 1px solid #f0eafb;
}

.book-form .book-control {
	font-size: 15px !important;
	width: 100%;
	height: 55px;
	background-color: #fff;
	color: #222;
	border: none;
	border-radius: 0;
}

.book-form .book-control:not(.selectize-control),
.book-form .book-control>.selectize-input {
	padding: 18px 25px 14px 45px;
	font-weight: 500;
}

.book-form .book-control .selectize-input {
	border: none !important;
}

.book-group-rounded .book-control,
.book-group-rounded .book-control .selectize-input {
	border-radius: 10px 0 0 10px;
}

.book-group .selectize-control.single .selectize-input:after {
	top: 65%;
	right: calc(0.75rem + 20px);
}

.book-form .field-img {
	position: relative;
}

.book-form .field-img img {
	position: absolute;
	z-index: 111;
	left: 20px;
	top: 10px;
}

.book-icon-swap {
	position: absolute;
	top: 10px;
	right: -15px;
	z-index: 10;
}

.book-icon-swap i {
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 3px #555;
	padding: 10px;
	color: var(--theme-primary-color);
}

.book-form .book-button {
	background: var(--theme-primary-color);
	color: #ffffff;
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	border: none;
	border-radius: 10px;
	padding: 16px 30px;
	margin: 0;
}

.book-form button:focus {
	outline: none;
}

/* Amenity Section */
.amenity-section {
	padding: 50px 0;
	background: linear-gradient(0deg, rgba(255, 255, 255, 1) 32%, var(--theme-primary-bg-light) 32%);
}

.amenity-cards {
	margin-top: 50px;
	border-radius: 8px;
	box-shadow: 0 0 0.25rem rgba(0, 0, 0, .1);
	background-color: #ffffff;
}

.amenity-card {
	padding: 20px 10px;
	text-align: center;
}

.amenity-icon {
	border-radius: 50%;
	box-shadow: 0 0 0.2rem rgba(0, 0, 0, .19);
	display: inline-block;
	padding: 30px;
}

.amenity-card:hover .amenity-icon {
	box-shadow: 0 0 0.2rem var(--theme-secondary-color);
}

.amenity-icon img {
	transition: transform 2s ease;
}

.amenity-card:hover img {
	transform: scaleX(-1);
}

.amenity-title {
	margin: 20px 0;
}

.amenity-card:hover .amenity-title {
	color: var(--theme-primary-color);
	font-weight: bold;
}

/* Feature Section */
.feature-section {
	padding: 50px 0;
	background: linear-gradient(0deg, var(--theme-primary-bg-light) 32%, rgba(255, 255, 255, 1) 32%);
}

.feature-cards {
	margin-top: 50px;
}

.feature-card {
	padding: 20px 10px;
	text-align: center;
	border-radius: 6px;
	border: 2px solid #ccc;
	background-color: #ffffff;
	height: 100%;
}

.feature-card p {
	margin: 0;
}

.feature-card:hover {
	border-color: var(--theme-primary-color);
}

.feature-title {
	font-weight: bold;
}

.feature-card:hover .feature-title {
	color: var(--theme-primary-color);
}

.feature-icon {
	margin: 0 auto 20px;
}

.feature-icon img {
	transition: transform 2s ease;
}

.feature-card:hover .feature-icon img {
	transform: scaleX(-1);
}

/* Facility Section */
.facility-section {
	padding: 50px 0;
	background-color: var(--theme-primary-bg-light);
}

.facility-cards {
	margin-top: 30px;
}

.facility-card {
	padding: 20px 10px;
	border-radius: 6px;
	background-color: #ffffff;
	height: 100%;
}

.facility-title {
	font-weight: bold;
	transition: .1s all;
}

.facility-card p {
	margin: 0;
}

.facility-card:hover .facility-title {
	color: var(--theme-primary-color);
	font-size: 18px;
	transition: .3s all;
}

/* Benefit Section */
.benefit-section {
	padding: 50px 0;
}

.benefit-cards {
	margin-top: 50px;
}

.benefit-card {
	text-align: center;
	border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, .15);
	box-shadow: 0 0 0.25rem rgba(0, 0, 0, .1);
	height: 100%;
	overflow: hidden;
}

.benefit-card:hover {
	box-shadow: 0 0 0.25rem var(--theme-secondary-color);
	border-color: transparent;
}

.benefit-inner {
	background-color: #f9f7fe;
	padding: 10px;
}

.benefit-icon {
	border-radius: 50%;
	background-color: #ffffff;
	display: inline-block;
	padding: 5px;
}

.benefit-icon img {
	transition: transform 1s ease;
}

.benefit-card:hover .benefit-icon img {
	transform: scale(1.3);
}

.benefit-title {
	margin: 30px 0;
}

.benefit-card:hover .benefit-title {
	color: var(--theme-primary-color);
	font-weight: bold;
}

/* Top Footer */
.top-footer {
	padding: 20px 0;
	background-color: var(--theme-primary-bg-light);
	border-top: 2px solid var(--theme-primary-color);
	color: #222222;
}

.top-footer .footer-links {
	margin: 0;
	padding: 0;
	text-align: center;
}

.top-footer .footer-links li {
	display: inline-block;
	padding: 0 20px;
	margin: 6px 0;
}

.top-footer .footer-links li:not(:last-child) {
	border-right: 1px solid #222222;
}

.top-footer .footer-links a {
	color: #222222;
}

/* Bottom Footer */
.bottom-footer {
	padding: 5px 0;
	background-color: var(--theme-primary-color);
	color: #ffffff;
}

.bottom-footer p,
.bottom-footer a {
	margin: 0;
	color: #ffffff;
}

@media (max-width: 992px) {

	.book-form .book-group {
		margin-bottom: 10px;
	}

	.book-control,
	.book-control .selectize-input {
		border-radius: 10px !important;
	}

	.book-form .book-button {
		width: 100%;
	}

	.feature-card,
	.benefit-card {
		height: auto;
		margin-bottom: 15px;
	}
}

@media (max-width: 768px) {
	.top-header ul {
		justify-content: space-evenly;
	}

	.bottom-header .logo {
		position: relative;
		padding: 0;
		top: 0;
		left: 0;
	}

	.book-height {
		padding: 20px;
	}

	.book-form .book-group {
		margin-bottom: 5px;
	}

	.book-control,
	.book-control .selectize-input {
		border-radius: 10px !important;
	}

	.book-form .book-button {
		font-size: 14px;
		padding: 10px 15px;
		width: 100%;
	}

	.slider-section,
	.amenity-section,
	.feature-section,
	.facility-section,
	.benefit-section {
		padding: 20px 0;
	}

	.amenity-cards,
	.feature-cards,
	.benefit-cards {
		margin-top: 30px;
	}

	.facility-card {
		height: auto;
		margin-bottom: 15px;
	}

	.top-footer {
		padding: 15px 0;
	}
}