@charset "utf-8";
/* ==================================================
   HEADER & BOOKING FORM STYLES
   ================================================== */

/* #CSS Variables
================================================== */
:root {
	--header-height: 71px;
}

/* #Header Base Styles
================================================== */
#header.anim {
	animation: fadeInDown 0.5s both;
	animation-delay: 0.5s;
}
#header {
	float: left;
	width: 100%;
	height: var(--header-height);
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: transparent;
	border-bottom: 1px solid rgb(255 255 255 / 40%);
	padding: 0;
	position: fixed;
	top: 0;
	z-index: 5;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#header:after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: transparent;
	-webkit-backdrop-filter: blur(0px);
	backdrop-filter: blur(0px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#header > .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header .logo {
	float: left;
	width: 215px;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .logo img {
	width: 100%;
	height: auto;
}
#header .leftNav {
	display: flex;
	justify-content: flex-start;
	width: calc(50% - 107px);
}
#header .hamburger {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 31px 32px;
	border-right: 1px solid rgb(255 255 255 / 40%);
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger .navOverlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6;
	width: 100vw;
	height: 100vh;
	background: rgba(96, 96, 96, 0.32);
	backdrop-filter: blur(4px);
}
#header .hamburger #navOpen {
	width: 100%;
	height: 100%;
	appearance: none;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 6;
	cursor: pointer;
}
#header .hamburger #navOpen + label {
	position: relative;
	z-index: 5;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger #navOpen + label span {
	position: relative;
	display: block;
	width: 40px;
	height: 1px;
	margin-top: 8px;
	background-color: #ffffff;
	border-radius: 10px;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger #navOpen + label span::before {
	content: "";
	width: 40px;
	height: 1px;
	background-color: #ffffff;
	border-radius: 10px;
	position: absolute;
	top: -8px;
	left: 0;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger #navOpen ~ strong {
	font-size: 0.75rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1rem;
	text-transform: uppercase;
}
#header .hamburger:hover #navOpen ~ strong {
	color: #204F86;
}
#header .hamburger nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6;
	max-width: 650px;
	width: 100%;
	height: 100%;
	padding-top: var(--header-height);
	background-color: #F4F1EC;
	background-image: url(../../images/menu-bg.png);
	background-position: bottom 32% right;
	background-repeat: no-repeat;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-transition: -webkit-transform 1s;
	transition: transform 1s;
	overflow: hidden;
}
#header .hamburger #navOpen:checked~nav {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	transition-delay: 0.5s;
}
#header .hamburger nav .navTop {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: var(--header-height);
	border-bottom: 1px solid #D3D0CF;
	position: absolute;
	top: 0;
	left: 0;
}
#header .hamburger #navOpen:checked~nav .navTop {
	animation: fadeIn 1s both;
	animation-delay: 1.5s;
}
#header .hamburger nav .navTop #navClose {
	display: flex;
	align-items: center;
	gap: 13px;
	height: 100%;
	margin: 0;
	padding: 16px 32px;
	outline: 0;
	border: none;
	background-color: transparent;
	border-radius: 0px;
	font-size: 1rem;
	color: #606060;
	font-weight: 500;
	line-height: 1.25rem;
	letter-spacing: 0.0313rem;
	text-transform: uppercase;
	text-decoration: none;
}
/* START Gill Sans Font fix for Apple devices (Mac, iPhone, iPad) - detected server-side */
.os-mac #header .hamburger nav .navTop #navClose span {
	margin: 3px 0 -3px 0;
}
/* END Gill Sans Font fix for Apple devices */
#header .hamburger nav .navTop .bookNowMenuBtn {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 20px 33px;
	border: 1px solid #DED9D4;
	background-color: #DED9D4;
	border-radius: 0px;
	font-size: 1rem;
	color: #606060;
	font-weight: 500;
	line-height: 1.05rem;
	letter-spacing: 0.0313rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: .8s cubic-bezier(.3, 1, .3, 1);
}
#header .hamburger nav .navTop .bookNowMenuBtn:hover {
	border-color: #8C8275;
	background-color: #8C8275;
	color: #606060;
}
#header .hamburger nav .navTop .bookNowMenuBtn .btnText {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	overflow: hidden;
}
#header .hamburger nav .navTop .bookNowMenuBtn .btnText span {
	width: 100%;
	white-space: nowrap;
	text-shadow: 0px calc(20px * 1.25) transparent;
	transform: translateY(0);
	transition: text-shadow .8s cubic-bezier(.3, 1, .3, 1);
}
#header .hamburger nav .navTop .bookNowMenuBtn:hover .btnText span {
	text-shadow: 0px 20px #ffffff;
	transform: translateY(calc(20px * -1));
	transition: all .8s cubic-bezier(.3, 1, .3, 1);
}
#header .hamburger nav .navMiddle {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 32px 32px;
	overflow: hidden;
	overflow-y: auto;
}
#header .hamburger #navOpen:checked~nav .navMiddle {
	animation: fadeIn 1s both;
	animation-delay: 2s;
}
#header .hamburger nav .navMiddle::-webkit-scrollbar {
	width: 7px;
}
#header .hamburger nav .navMiddle::-webkit-scrollbar-track {
	background: rgb(0 0 0 / 10%);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
#header .hamburger nav .navMiddle::-webkit-scrollbar-thumb {
	min-height: 40px;
	background: rgb(0 0 0 / 30%);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
#header .hamburger nav .navMiddle ul.menu {
	padding: 0;
	margin: 0;
	list-style-type: none;
}
#header .hamburger nav .navMiddle ul.menu > li {
	position: relative;
	margin: 0 0 16px 0;
	font-family: 'Juana';
	font-size: 2.4375rem;
	color: #606060;
	font-weight: 200;
	line-height: 2.9375rem;
	letter-spacing: -0.025rem;
}
#header .hamburger nav .navMiddle ul.menu > li:last-child {
	margin-bottom: 0;
}
#header .hamburger nav .navMiddle ul.menu > li > a {
	display: inline-block;
	color: #606060;
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger nav .navMiddle ul.menu > li > a:hover,
#header .hamburger nav .navMiddle ul.menu > li:hover > a,
#header .hamburger nav .navMiddle ul.menu > li.current > a {
	color: #606060;
	text-decoration: none;
}
#header .hamburger nav .navMiddle ul.menu > li:after {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid #606060;
	background-color: transparent;
	border-radius: 100%;
	opacity: 0;
	position: absolute;
	top: 18px;
	right: -20px;
	z-index: 0;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger nav .navMiddle ul.menu > li:hover:after {
	opacity: 1;
	right: 0;
}
#header .hamburger nav .navMiddle ul.menu > li.current:after {
	background-color: #606060;
	opacity: 1;
	right: 0;
}
#header .hamburger nav .navMiddle ul.menu > li > a.has-opacity {
	color: rgb(96 96 96 / 48%);
}
#header .hamburger nav .navMiddle ul.menu > li > a.has-opacity + .sub-menu-btn {
	opacity: 0.4;
}
#header .hamburger nav .navMiddle ul.menu > li.has-submenu > span {
	display: inline-block;
	max-width: calc(100% - 57px);
	color: #606060;
	text-decoration: none;
	cursor: pointer;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger nav .navMiddle ul.menu > li.has-submenu:hover > span {
	color: #606060;
	text-decoration: none;
}
#header .hamburger nav .navMiddle ul.menu > li > .sub-menu-btn {
	display: inline-block;
	width: 25px;
	height: 25px;
	margin: 14px 0 0 32px;
	background: url(../../images/menu-arrow.svg) no-repeat center center;
	position: absolute;
	top: 0;
	cursor: pointer;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
	-webkit-user-select: none;
	user-select: none;
}
#header .hamburger nav .navMiddle ul.menu > li > .sub-menu-btn.open {
	transform: rotate(90deg);
}
#header .hamburger nav .navMiddle ul.menu > li > .sub-menu-btn.open + ul.sub-menu {
	animation: fadeIn 1s both;
	animation-delay: 0.5s;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu {
	display: none;
	padding: 16px 0 16px 32px;
	margin: 0;
	list-style-type: none;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li {
	margin: 0 0 16px 0;
	font-family: 'Gill Sans';
	font-size: 1.25rem;
	color: #606060;
	font-weight: 300;
	line-height: 1.4375rem;
	letter-spacing: 0rem;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li:last-child {
	margin-bottom: 0;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li.view-all {
	font-weight: 500;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li.view-all > a {
	font-weight: 500;
	color: #606060;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > span {
	display: block;
	margin: 32px 0 16px 0;
	font-size: 0.8125rem;
	color: #898787;
	font-weight: 500;
	line-height: 1.0625rem;
	text-transform: uppercase;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > a {
	display: inline-block;
	color: #606060;
	font-weight: 300;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > a:hover,
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li:hover > a,
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li.current > a {
	color: #606060;
	text-decoration: none;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > a.has-opacity {
	color: rgb(96 96 96 / 48%);
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul {
	padding: 0 0 0 16px;
	margin: 0;
	list-style-type: none;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li {
	margin: 0 0 16px 0;
	font-family: 'Gill Sans';
	font-size: 1.25rem;
	color: #606060;
	font-weight: 300;
	line-height: 1.25rem;
	letter-spacing: 0rem;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li:last-child {
	margin-bottom: 0;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li > a {
	display: inline-block;
	color: #606060;
	font-weight: 300;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li > a:hover,
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li:hover > a,
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li.current > a {
	color: #606060;
	text-decoration: none;
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li > a.has-opacity {
	color: rgb(96 96 96 / 48%);
}
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li > a br {
	display: block;
}
#header .rightNav {
	display: flex;
	justify-content: flex-end;
	width: calc(50% - 107px);
}
#header .iconsMenu {
	display: flex;
	padding: 0;
	margin: 0;
	list-style:none;
}
#header .iconsMenu .icon {
	position: relative;
	display: flex;
	align-items: center;
	border-left: 1px solid rgb(255 255 255 / 40%);
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .iconsMenu .icon > a {
	padding: 25px 32px;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .iconsMenu .icon > a > img {
	width: 21px;
	height: 21px;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .iconsMenu .icon .popups {
	display: none;
	flex-wrap: wrap;
	align-items: center;
	min-width: 100%;
	padding: 32px 32px;
	background-color: #ffffff;
	border-radius: 0px;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 1;
}
#header .iconsMenu .icon .popups[style*="display: block"] {
	display: flex !important;
}
#header .iconsMenu .icon .popups .popupsCancel {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	background-color: #C0B8AF;
	border-radius: 100%;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .iconsMenu .icon .popups .popupsCancel:hover {
	background-color: #8C8275;
}
#header .iconsMenu .icon .popups .phoneMenu {
	min-width: 186px;
}
#header .iconsMenu .icon .popups .phoneMenu ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#header .iconsMenu .icon .popups .phoneMenu ul li {
	margin-bottom: 16px;
	padding: 0 0 16px 0;
	border-bottom:1px solid #F4F1EC;
	display: inline-block;
	width: 100%;
}
#header .iconsMenu .icon .popups .phoneMenu ul li:last-child {
	margin-bottom: 0;
	padding: 0 0 0px 0;
	border-bottom: 0px;
}
#header .iconsMenu .icon .popups .phoneMenu ul li strong {
	display: inline-block;
	width: 100%;
	margin-bottom:4px;
	font-size: 0.8125rem;
	color: #606060;
	font-weight: 500;
	line-height: 1.1rem;
}
#header .iconsMenu .icon .popups .phoneMenu ul li a {
	display: inline-block;
	width: 100%;
	padding: 0;
	font-size: 1.25rem;
	color: #606060;
	font-weight: 300;
	line-height: 1.2rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .iconsMenu .icon .popups .phoneMenu ul li a:hover {
	color: #606060;
}
#header .iconsMenu .icon .popups .phoneMenu ul li.current > a {
	color: #606060;
}
#header .iconsMenu .icon .popups .phoneMenu ul li a.has-opacity {
	color: rgb(96 96 96 / 48%);
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .languageMenu {
	position: relative;
	border-left: 1px solid rgb(255 255 255 / 40%);
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .languageMenu > a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: 85px;
	padding: 25px 8px;
	font-size: 1rem;
	color: #ffffff;
	font-weight: 500;
	line-height: 1.3125rem;
	text-transform: uppercase;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .languageMenu > a::before {
	content: "";
	width: 21px;
	height: 21px;
	background-image: url(../../images/global-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .languageMenu:hover > a,
#header .languageMenu > a.open {
	color: #ffffff;
}
/* START Gill Sans Font fix for Apple devices (Mac, iPhone, iPad) - detected server-side */
.os-mac #header .languageMenu > a span {
	margin: 3px 0 -3px 0;
}
/* END Gill Sans Font fix for Apple devices */
#header .languageMenu a.open + ul {
	opacity: 1;
	visibility: visible;
}
#header .languageMenu ul {
	width: 100%;
	min-width: 154px;
	list-style-type: none;
	margin: 0;
	padding: 24px 32px;
	background-color: #ffffff;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	border-radius: 0px;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 100%;
	right: 0;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .languageMenu ul li {
	display: block;
	margin-bottom: 16px;
}
#header .languageMenu ul li:last-child {
	margin-bottom: 0;
}
#header .languageMenu ul li a {
	display: block;
	padding: 0;
	font-size: 1.25rem;
	color: #606060;
	font-weight: 300;
	line-height: 1.2rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .languageMenu ul li a:hover {
	color: #606060;
	font-weight: 300;
}
#header .languageMenu ul li.current > a {
	pointer-events: none;
	color: #606060;
	font-weight: 500;
}
#header .languageMenu ul li a.has-opacity {
	color: rgb(96 96 96 / 48%);
	transition: .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .bookNowBtn {
	display: inline-block;
	padding: 12px 17px;
	border: 0;
	border-left: 1px solid rgb(255 255 255 / 40%);
	background-color: transparent;
	border-radius: 0px;
	font-size: 1rem;
	color: #ffffff;
	font-weight: 500;
	line-height: 1.3125rem;
	letter-spacing: 0.0313rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: .8s cubic-bezier(.3, 1, .3, 1);
}
#header .bookNowBtn:hover {
	border-color: rgb(255 255 255 / 40%);
	background-color: transparent;
	color: #ffffff;
}
#header .bookNowBtn .btnText {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	overflow: hidden;
}
#header .bookNowBtn .btnText span {
	width: 100%;
	white-space: nowrap;
	text-shadow: 0px calc(20px * 1.25) transparent;
	transform: translateY(0);
	transition: text-shadow .8s cubic-bezier(.3, 1, .3, 1);
}
#header .bookNowBtn:hover .btnText span {
	text-shadow: 0px 20px #ffffff;
	transform: translateY(calc(20px * -1));
	transition: all .8s cubic-bezier(.3, 1, .3, 1);
}

/*-------------- Sticky Header Start --------------*/
#header.headerTransform {
	transform: translateY(-101%);
}
/* Anular transform cuando el menú hamburguesa está abierto */
#header.headerTransform:has(#navOpen:checked) {
	transform: translateY(0);
}
/* Asegurar altura correcta del nav cuando header está transformado */
#header.headerTransform:has(#navOpen:checked) .hamburger nav {
	height: 100dvh;
}
#header.headerTransform:has(#navOpen:checked) .hamburger nav .navMiddle {
	height: auto;
	flex: 1;
	min-height: 0;
}
#header.headerBg:after {
	background-color: #6B6B6C66;
	box-shadow: 0px 4px 32px 0px #00000014;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
/*-------------- Sticky Header End --------------*/


/* #Book Form Base Styles
================================================== */
#bookFormOverlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6;
	width: 100vw;
	height: 100vh;
	background: rgba(96, 96, 96, 0.32);
	backdrop-filter: blur(4px);
}
#bookForm {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 6;
	max-width: 650px;
	width: 100%;
	height: 100%;
	padding-top: var(--header-height);
	background-color: #F4F1EC;
	background-image: url(../../images/book-now-bg.png);
	background-position: bottom 32% left;
	background-repeat: no-repeat;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: -webkit-transform 1s;
	transition: transform 1s;
	overflow: hidden;
}
#bookForm.open {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	transition-delay: 0.5s;
}
#bookForm .bookTop {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: var(--header-height);
	border-bottom: 1px solid #D3D0CF;
	position: absolute;
	top: 0;
	left: 0;
}
#bookForm.open .bookTop {
	animation: fadeIn 1s both;
	animation-delay: 1.5s;
}
#bookForm .bookTop .bookFormClose {
	display: flex;
	align-items: center;
	gap: 13px;
	height: 100%;
	margin: 0;
	padding: 16px 32px;
	outline: 0;
	border: none;
	background-color: transparent;
	border-radius: 0px;
	font-size: 1rem;
	color: #606060;
	font-weight: 500;
	line-height: 1.25rem;
	letter-spacing: 0.0313rem;
	text-transform: uppercase;
	text-decoration: none;
}
/* START Gill Sans Font fix for Apple devices (Mac, iPhone, iPad) - detected server-side */
.os-mac #bookForm .bookTop .bookFormClose span {
	margin: 3px 0 -3px 0;
}
/* END Gill Sans Font fix for Apple devices */
#bookForm .bookMiddle {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 32px 32px;
	overflow: hidden;
	overflow-y: auto;
}
#bookForm.open .bookMiddle::-webkit-scrollbar {
	width: 7px;
}
#bookForm.open .bookMiddle::-webkit-scrollbar-track {
	background: rgb(0 0 0 / 10%);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
#bookForm.open .bookMiddle::-webkit-scrollbar-thumb {
	min-height: 40px;
	background: rgb(0 0 0 / 30%);
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
#bookForm.open .bookMiddle .titleBox {
	animation: fadeIn 1s both;
	animation-delay: 2s;
}
#bookForm.open .bookMiddle .fieldBox {
	animation: fadeIn 1s both;
	animation-delay: 2.2s;
}
#bookForm.open .bookMiddle .contentBox {
	animation: fadeIn 1s both;
	animation-delay: 2.4s;
}
#bookForm.open .bookMiddle .buttonBox {
	animation: fadeIn 1s both;
	animation-delay: 2.6s;
}
#bookForm .bookMiddle .titleBox {
	margin-bottom: 72px;
}
#bookForm .bookMiddle .titleBox .title {
	display: block;
	margin: 0 0 8px 0;
	font-family: 'Juana';
	font-size: 2.4375rem;
	color: #606060;
	font-weight: 200;
	line-height: 2.6rem;
}
#bookForm .bookMiddle .titleBox .text {
	display: block;
	margin: 0 0 10px 0;
	font-size: 1.25rem;
	color: #606060;
	font-weight: 300;
	line-height: 1.5rem;
}
#bookForm .bookMiddle .titleBox .text:last-child {
	margin-bottom: 0;
}
#bookForm .bookMiddle .fieldBox {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	z-index: 2;
}
#bookForm .bookMiddle .fieldBox .field {
	position: relative;
	width: 100%;
}
#bookForm .bookMiddle .fieldBox .field.half {
	width: calc(50% - 16px);
}
#bookForm .bookMiddle .fieldBox .field .floating-label-wrap {
	position: relative;
}
#bookForm .bookMiddle .fieldBox .field label {
	padding: 0 8px;
	background-color: #F4F1EC;
	font-size: 0.8125rem;
	color: #6D6D6D;
	font-weight: 500;
	line-height: 0.7rem;
	text-transform: uppercase;
	position: absolute;
	top: 18px;
	left: 16px;
	transition: 0.2s ease all;
	pointer-events: none;
}
#bookForm .bookMiddle .fieldBox .field input:focus ~ label,
#bookForm .bookMiddle .fieldBox .field input:not(:placeholder-shown) ~ label,
#bookForm .bookMiddle .fieldBox .field textarea:focus ~ label,
#bookForm .bookMiddle .fieldBox .field textarea:not(:placeholder-shown) ~ label,
#bookForm .bookMiddle .fieldBox .field .select.active ~ label,
#bookForm .bookMiddle .fieldBox .field select:focus ~ label,
#bookForm .bookMiddle .fieldBox .field select:not([value=""]) ~ label {
	top: -6px;
	left: 16px;
}
#bookForm .bookMiddle .fieldBox .field .form-control {
	display: flex;
	height: 48px;
	padding: 7px 24px;
	border: 1px solid #D3D0CF;
	background-color: transparent;
	border-radius: 0px;
	box-shadow: none;
	font-size: 1.25rem;
	color: #6D6D6D;
	font-weight: 300;
	line-height: 1.5rem;
}
#bookForm .bookMiddle .fieldBox .field .form-control::placeholder {
	color: #6D6D6D;
}
#bookForm .bookMiddle .fieldBox .field .popups {
	display: none;
	flex-wrap: wrap;
	align-items: center;
	min-width: 100%;
	padding: 30px 20px;
	background-color: #f4f1ec;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%);
	backdrop-filter: blur(10px);
	position: absolute;
	top: 100%;
	left: 0%;
	transform: translateX(0%);
	z-index: 1;
}
#bookForm .bookMiddle .fieldBox .field .popups[style*="display: block"] {
	display: flex !important;
}
#bookForm .bookMiddle .fieldBox .field .popups .popupsCancel {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	background-color: #C0B8AF;
	border-radius: 100%;
	z-index: 1;
	transition: .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#bookForm .bookMiddle .fieldBox .field .popups .popupsCancel:hover {
	background-color: #8C8275;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar {
	float: left;
	width: 539px;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker {
	display: block !important;
	float: left;
	width: 100%;
	margin: 0 auto;
	border: none;
	background-color: transparent;
	border-radius: 0;
	font-family: "Lato", sans-serif;
	position: static;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker:before,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker:after {
	display: none;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .ranges {
	display: none;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .drp-calendar.left {
	padding: 0;
	margin-right: 27px;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .drp-calendar.right {
	padding: 0;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table {
	padding: 0;
	border: none;
	border-radius: 0px;
	background-color: transparent;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table table {
	border-spacing: 4px;
	border-collapse: inherit;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table th,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td {
	min-width: 32px;
	width: 32px;
	height: 32px;
	border: none;
	background-color: transparent;
	border-radius: 100%;
	font-size: 0.844rem;
	color: #606060;
	line-height: normal;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table th {
	color: #606060;
	font-size: 0.75rem;
	font-weight: normal;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table th.month {
	width: auto;
	font-size: 0.938rem;
	color: #606060;
	font-weight: 500;
	text-transform: uppercase;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table .next span,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table .prev span {
	border-color: #606060;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table .next:hover span,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table .prev:hover span {
	border-color: #ffffff;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table th.available:hover,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.available:hover {
	background-color: #606060;
	color: #ffffff;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.off,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.off.in-range,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.off.start-date,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.off.end-date {
	background-color: transparent;
	color: #898787;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.in-range {
	background-color: #DED9D4;
	border-color: transparent;
	color: #606060;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.active,
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .calendar-table td.active:hover {
	background-color: #606060;
	color: #ffffff;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .drp-buttons {
	padding: 10px 0 0 0;
	border-color: rgb(0 0 0 / 20%);
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .drp-selected {
	font-size: 0.938rem;
	color: #606060;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .drp-buttons .btn {
	padding: 9px 30px;
	border-color: #D3D0CF;
	background-color: transparent;
	border-radius: 0px;
	box-shadow: none;
	font-size: 0.844rem;
	color: #606060;
	font-weight: 300;
	line-height: 1.063rem;
}
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .drp-buttons .btn:hover {
	border-color: #DED9D4;
	background-color: #DED9D4;
	color: #606060;
}
#bookForm .bookMiddle .contentBox {
	margin-top: 56px;
	padding: 16px 24px;
	border-left: 4px solid #ABA8A8;
	background-color: #ECE9E3;
}
#bookForm .bookMiddle .contentBox .title {
	display: block;
	margin: 0 0 16px 0;
	font-size: 1rem;
	color: #606060;
	font-weight: 500;
	line-height: 1.5rem;
}
#bookForm .bookMiddle .contentBox ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 8px;
	column-gap: 16px;
}
#bookForm .bookMiddle .contentBox ul li {
	display: block;
	width: calc(50% - 8px);
	font-size: 1rem;
	color: #6D6D6D;
	font-weight: 300;
	line-height: 1.4rem;
}
#bookForm .bookMiddle .contentBox ul li::before {
	content: "✓";
	display: inline-block;
	margin-right: 4px;
}
#bookForm .bookMiddle .buttonBox {
	margin-top: auto;
	padding-top: 56px;
}
#bookForm .bookMiddle .buttonBox .bookButton {
	display: inline-block;
	width: 100%;
	padding: 29px 25px;
	border: 1px solid #DED9D4;
	background-color: #DED9D4;
	border-radius: 0px;
	font-size: 1rem;
	color: #606060;
	font-weight: 500;
	line-height: 1.25rem;
	letter-spacing: 0.0313rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: .8s cubic-bezier(.3, 1, .3, 1);
}
#bookForm .bookMiddle .buttonBox .bookButton:hover {
	border-color: #8C8275;
	background-color: #8C8275;
	color: #606060;
}
#bookForm .bookMiddle .buttonBox .bookButton .btnText {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	overflow: hidden;
}
#bookForm .bookMiddle .buttonBox .bookButton .btnText span {
	width: 100%;
	white-space: nowrap;
	text-shadow: 0px calc(20px * 1.25) transparent;
	transform: translateY(0);
	transition: text-shadow .8s cubic-bezier(.3, 1, .3, 1);
}
#bookForm .bookMiddle .buttonBox .bookButton:hover .btnText span {
	text-shadow: 0px 20px #ffffff;
	transform: translateY(calc(20px * -1));
	transition: all .8s cubic-bezier(.3, 1, .3, 1);
}


/* #NEW HOVER EFFECTS FOR HEADER ICONS
================================================== */

/* Hover effect for hamburger menu icon */
#header .hamburger:hover {
	background-color: #ffffff;
	border-radius: 0px;
}
#header .hamburger:hover #navOpen + label span,
#header .hamburger:hover #navOpen + label span::before,
#header .hamburger:hover #navOpen + label span::after {
	background-color: #8C8275;
}

/* Hover and active effect for phone icon */
#header .iconsMenu .icon:has(img[src*="phone-white-icon"]) > a:hover,
#header .iconsMenu .icon:has(img[src*="phone-white-icon"]).active > a {
	background-color: #ffffff;
	border-radius: 0px;
}
#header .iconsMenu .icon:has(img[src*="phone-white-icon"]) > a:hover > img,
#header .iconsMenu .icon:has(img[src*="phone-white-icon"]).active > a > img {
	filter: brightness(0) saturate(100%) invert(57%) sepia(8%) saturate(768%) hue-rotate(356deg) brightness(92%) contrast(87%);
}

/* Hover and active effect for language selector */
#header .languageMenu:hover > a,
#header .languageMenu.active > a {
	background-color: #ffffff;
	border-radius: 0px;
	color: #8C8275;
}
#header .languageMenu:hover > a::before,
#header .languageMenu.active > a::before {
	filter: brightness(0) saturate(100%) invert(57%) sepia(8%) saturate(768%) hue-rotate(356deg) brightness(92%) contrast(87%);
}

/* Enhanced hover effect for Book Now button */
#header .bookNowBtn:hover {
	background-color: #ffffff;
	color: #8C8275;
	border-color: rgb(255 255 255 / 40%);
}
#header .bookNowBtn:hover .btnText span {
	text-shadow: 0px 20px #8C8275;
	transform: translateY(calc(20px * -1));
	transition: all .8s cubic-bezier(.3, 1, .3, 1);
}


/* #Responsive Styles - iPad Pro (959px - 1180px)
================================================== */
@media only screen and (min-width: 959px) and (max-width: 1180px) {

#header .leftNav 									{ width: calc(38% - 107px); }
#header .hamburger 									{ padding: 31px 22px; }
#header .rightNav 									{ width: calc(62% - 107px); }
#header .iconsMenu .icon > a 						{ padding: 25px 25px; }
#header .languageMenu > a 							{ width: 71px; }

}


/* #Responsive Styles - Tablet Portrait (768px - 959px)
================================================== */
@media only screen and (min-width: 768px) and (max-width: 959px) {

#header .leftNav 									{ width: calc(40% - 107px); }
#header .hamburger 									{ padding: 31px 17px; }
#header .hamburger nav .navTop #navClose span 		{ margin: 3px 0 -3px 0; }
#header .rightNav 									{ width: calc(60% - 107px); }
#header .iconsMenu .icon > a 						{ padding: 25px 25px; }
#header .languageMenu > a 							{ width: 71px; }
#header .languageMenu > a span 						{ margin: 3px 0 -3px 0; }
#header .bookNowBtn 								{ display: none; }

#bookForm .bookTop .bookFormClose span 				{ margin: 3px 0 -3px 0; }
#bookForm .bookMiddle .fieldBox .field .popups .calendar { width: 100%; }
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker { float: none; width: 542px; }

}


/* #Responsive Styles - Mobile Portrait (max 767px)
================================================== */
@media only screen and (max-width: 767px) {

#header .logo										{ width: 175px; }
#header .leftNav 									{ width: auto; }
#header .hamburger 									{ padding: 31px 17px; }
#header .hamburger nav .navTop #navClose 			{ padding: 16px 15px; }
#header .hamburger nav .navTop #navClose span 		{ margin: 3px 0 -3px 0; }
#header .hamburger nav .navTop .bookNowMenuBtn 	{ padding: 20px 15px; }
#header .hamburger nav .navMiddle 					{ padding: 15px 15px; }
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu { padding: 16px 0 16px 16px; }
#header .hamburger nav .navMiddle ul.menu > li > ul.sub-menu > li > ul > li > a br { display: none; }
#header .rightNav 									{ width: auto; }
#header .iconsMenu 									{ display: none; }
#header .languageMenu > a 							{ width: 71px; }
#header .languageMenu > a span 						{ margin: 3px 0 -3px 0; }
#header .bookNowBtn 								{ display: none; }

#bookForm .bookTop .bookFormClose 					{ padding: 16px 15px; }
#bookForm .bookTop .bookFormClose span 				{ margin: 3px 0 -3px 0; }
#bookForm .bookMiddle 								{ padding: 15px 15px; }
#bookForm .bookMiddle .titleBox 					{ margin-bottom: 32px; }
#bookForm .bookMiddle .titleBox .title 				{ font-size: 2.125rem; line-height: 2.75rem; }
#bookForm .bookMiddle .fieldBox .field.half 		{ width: calc(100% - 0px); }
#bookForm .bookMiddle .fieldBox .field .popups .calendar { width: 100%; }
#bookForm .bookMiddle .fieldBox .field .popups .calendar .daterangepicker .drp-calendar.left { float: none; margin-right: auto; margin-left: auto; }
#bookForm .bookMiddle .contentBox 					{ margin-top: 32px; }
#bookForm .bookMiddle .contentBox ul li 			{ width: calc(100% - 0px); }
#bookForm .bookMiddle .buttonBox 					{ padding-top: 32px; }
#bookForm .bookMiddle .buttonBox .bookButton 		{ padding: 12px 25px; }

}


/* ==================================================
   NEOLOYALTY WIDGET STYLES
   ================================================== */

/* #NeoLoyalty Widget Button Styles
================================================== */
#header .iconsMenu .icon.loyalty .neoloyalty-main-button {
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 25px 32px !important;
	outline: none !important;
	cursor: pointer;
}
#header .iconsMenu .icon.loyalty .neoloyalty-main-button:hover {
	background-color: #ffffff !important;
}
#header .iconsMenu .icon.loyalty .neoloyalty-main-button svg .a {
	transition: fill .25s cubic-bezier(0.645, 0.045, 0.355, 1), stroke .25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#header .iconsMenu .icon.loyalty .neoloyalty-main-button:hover svg .a {
	fill: #8C8275;
	stroke: #8C8275;
}

/* #NeoLoyalty Popup Modal Styles
================================================== */
.neoloyalty-popover-content {
	font-family: 'Gill Sans', sans-serif !important;
	background-color: #F4F1EC !important;
	background-image: url(../../images/menu-bg.png) !important;
	background-position: bottom right !important;
	background-repeat: no-repeat !important;
	background-size: auto 80% !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: 0 0 15px 0 rgb(41 51 88 / 10%) !important;
	padding: 32px !important;
}
.neoloyalty-popover-content .neoloyalty-title {
	font-family: 'Gill Sans', sans-serif !important;
	font-size: 1.375rem !important;
	font-weight: 400 !important;
	line-height: 1.75rem !important;
	color: #606060 !important;
	margin: 0 0 12px 0 !important;
}
.neoloyalty-popover-content .neoloyalty-description {
	font-family: 'Gill Sans', sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 300 !important;
	line-height: 1.25rem !important;
	color: #898787 !important;
	margin: 0 0 16px 0 !important;
}
.neoloyalty-popover-content .neoloyalty-benefits {
	list-style: none !important;
	padding: 16px !important;
	margin: 0 0 16px 0 !important;
	background-color: #D6CFC5 !important;
	border-radius: 0 !important;
}
.neoloyalty-popover-content .neoloyalty-benefit {
	font-family: 'Gill Sans', sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 300 !important;
	line-height: 1.375rem !important;
	color: #606060 !important;
	margin-bottom: 6px !important;
}
.neoloyalty-popover-content .neoloyalty-benefit:last-child {
	margin-bottom: 0 !important;
}
.neoloyalty-popover-content .neoloyalty-benefit svg {
	fill: #606060 !important;
}
.neoloyalty-popover-content .neoloyalty-call-to-action {
	font-family: 'Gill Sans', sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 300 !important;
	line-height: 1.25rem !important;
	color: #898787 !important;
	margin: 0 0 20px 0 !important;
}
.neoloyalty-popover-content .neoloyalty-inner-button {
	display: block !important;
	width: 100% !important;
	padding: 12px 20px !important;
	font-family: 'Gill Sans', sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.0313rem !important;
	text-transform: uppercase !important;
	text-align: center !important;
	color: #606060 !important;
	background-color: #D6CFC5 !important;
	border: 1px solid #D6CFC5 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: .8s cubic-bezier(.3, 1, .3, 1) !important;
}
.neoloyalty-popover-content .neoloyalty-inner-button:hover {
	color: #ffffff !important;
	background-color: #8C8275 !important;
	border-color: #8C8275 !important;
}
