/*# sourceMappingURL=styles.css.map */

@import url("https://cdn-ileliok.nitrocdn.com/MDzAFGoMdRuPbLNIaehSPUkXURcsYeJh/assets/static/source/rev-3a47e06/fonts.googleapis.com/a0a0b35e41e8d0b7612e31d970f2f601.css2");

html {
	position: relative;
	margin: 0px;
	width: 100%;
	height: 100%;
}

body {
	margin: 0px;
	width: 100%;
	height: auto;
	color: #1a2632;
	font-size: 18px;
	font-family: "Montserrat", serif;
}

p {
	color: #1a2632;
	line-height: 1.6;
}

.m-font {
	font-family: "Montserrat", serif;
}

.rw-font {
	font-family: "Run Wild";
}

.noscroll {
	overflow: hidden;
}

.noscroll::after {
	content: "";
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #000;
	opacity: .5;
	z-index: 100;
}

* {
	font-weight: 300;
	line-height: 1.3;
	box-sizing: border-box;
}

*:focus {
	outline: none;
}

b, strong {
	font-weight: 500;
}

i {
	font-style: italic;
}

b i {
	font-style: italic;
	font-weight: 500;
}

a {
	text-decoration: none;
	color: #555;
}

a:hover {
	text-decoration: none;
}

h1 {
	font-size: 6rem;
}

h2 {
	font-size: 4rem;
}

h3 {
	font-size: 2rem;
}

h4 {
	font-size: 1.2rem;
}

h5 {
	font-size: 20px;
}

h6 {
	font-size: 16px;
	letter-spacing: 2px;
}

p:has(img) {
	margin: 0;
	padding: 0;
}

p:empty {
	display: none;
}

.animate {
	visibility: hidden;
}

.visibility-none {
	visibility: hidden;
}

.visibility {
	visibility: visible;
}

section {
	position: relative;
	height: auto;
}

.section-content-wrap {
	position: relative;
	width: 100%;
}

.section-bg-img-wrap {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
}

.section-bg-img {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.section-bg-colour {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.section-line {
	position: absolute;
	width: 100%;
	height: 40px;
	z-index: 1;
	overflow: hidden;
}

.section-line svg {
	height: 100%;
	width: 100%;
}

.section-line.mask-top {
	-webkit-mask-image: linear-gradient(to top, transparent 5%, black 100%);
	mask-image: linear-gradient(to top, transparent 5%, black 100%);
}

.section-line.mask-bottom {
	-webkit-mask-image: linear-gradient(to bottom, transparent 5%, black 100%);
	mask-image: linear-gradient(to bottom, transparent 5%, black 100%);
}

.button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 30px;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 2px;
	min-width: -moz-fit-content;
	min-width: fit-content;
	text-align: center;
	z-index: 1;
	overflow: hidden;
	border: none;
	max-width: -moz-fit-content;
	max-width: fit-content;
	text-transform: uppercase;
	background: none;
	color: #fff;
	border-radius: 50px;
	font-weight: 500;
}

.btn-style-2 {
	color: #215868;
	display: flex;
	align-items: center;
	font-weight: 400;
	font-size: 32px;
}

.btn-style-2 .menu-icon {
	width: 30px;
	height: 30px;
	color: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 10px;
}

.btn-style-2 .menu-icon svg {
	fill: #215868;
	width: 50%;
}

.btn-style-2:hover {
	cursor: pointer;
}

.btn-style-2:hover .menu-icon {
	background-color: #215868;
	margin-left: 20px;
}

.btn-style-2:hover .menu-icon svg {
	fill: #fff;
}

.btn-teal {
	background-color: #215868;
}

.btn-teal:hover {
	background-color: #1a2632;
	color: #fff;
	cursor: pointer;
}

.btn-teal-2 {
	background-color: #215868;
}

.btn-teal-2:hover {
	background-color: #e6f5fc;
	color: #fff;
	cursor: pointer;
}

.btn-white {
	background-color: #fff;
	color: #215868;
}

.btn-white:hover {
	background-color: #e6f5fc;
	cursor: pointer;
}

.btn-light-blue {
	background-color: #e6f5fc;
}

.btn-light-blue:hover {
	background-color: #215868;
	cursor: pointer;
}

.btn-gold {
	background-color: #e8dba9;
	color: #0a0a0a;
}

.btn-gold:hover {
	color: #0a0a0a;
	background-color: #fff;
	cursor: pointer;
}

.btn-yellow {
	background-color: #ffda42;
	color: #555;
}

.btn-yellow:hover {
	background-color: #215868;
	color: #fff;
	cursor: pointer;
}

.btn-outline {
	border: 2px solid #215868;
	color: #215868;
}

.btn-outline:hover {
	cursor: pointer;
	border: 2px solid #1a2632;
	color: #1a2632;
}

.hidden {
	display: none;
}

/* ---------------------------------------------- /*
 * Pagination
/* ---------------------------------------------- */
.pagination {
	clear: both;
	padding: 20px 0;
	position: relative;
	font-size: 12px;
	line-height: 12px;
	text-align: center;
}

.pagination div, .page-numbers {
	position: relative;
	display: inline-flex;
	margin: 3px;
	text-decoration: none;
	width: auto;
	color: #fff;
	background: #215868;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	justify-content: center;
	align-items: center;
}

.pagination .number, .page-numbers .number {
	position: absolute;
}

.page-numbers.dots {
	top: -20px;
}

.pagination div:hover, .page-numbers:hover {
	color: #fff;
	background: #e6f5fc;
}

.pagination .current, .page-numbers.current {
	background: #e6f5fc;
	color: #fff;
}

.pagination-arrows {
	margin: 3px;
	text-decoration: none;
	width: auto;
	color: #555 !important;
	background: transparent !important;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	font-size: 30px;
}

.pagination-arrows:hover {
	color: #0078de !important;
}

.animsition-overlay-slide {
	position: fixed;
	z-index: 110 !important;
	background-color: #ddd;
}

/* ---------------------------------------------- /*
 * Owl Carousel
/* ---------------------------------------------- */
.carousel-wrap {
	width: 100%;
	margin: 0 auto 0;
	position: relative;
}

.owl-carousel {
	position: relative;
	margin: auto;
	display: flex;
	flex-direction: column;
}

.owl-carousel .owl-item {
	position: relative;
	display: block;
	float: left;
	height: 100%;
}

.owl-carousel .owl-item .item {
	position: relative;
	display: block;
	height: 100%;
	width: 100%;
}

.owl-nav {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
}

.owl-nav.disabled, .owl-dots.disabled {
	display: none !important;
}

.owl-nav button {
	position: absolute;
	background: none;
	border: 0;
	color: #aaa;
	margin: 0;
	padding: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
}

.owl-nav button:hover {
	color: #0078de;
	cursor: pointer;
}

.owl-prev {
	left: 0px;
}

.owl-next {
	right: 0px;
}

.owl-dots {
	width: 100%;
	text-align: center;
}

.owl-dot {
	background-color: #d6d6d6;
	width: 10px;
	height: 10px;
	border: 0;
	margin: 5px;
	border-radius: 50%;
	padding: 0;
}

.owl-dot.active {
	background-color: #869791;
}

/* ---------------------------------------------- /*
 * Header
/* ---------------------------------------------- */
header {
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 100;
	text-align: center;
}

header.sticky {
	top: 10px;
	position: sticky;
}

.inner-header {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0 5%;
}

.inner-header .button-wrap {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
}

.inner-header .button-wrap img {
	width: 100%;
	height: 100%;
}

#logo {
	position: relative;
	margin: 20px 0;
	height: auto;
	width: 180px;
	z-index: 10;
	left: 0;
	top: 0px;
}

#logo img {
	width: 100%;
}

.fa-search {
	font-size: 26px;
}

.main {
	position: relative;
}

/* ---------------------------------------------- /*
 * Menu
/* ---------------------------------------------- */
.burger-menu {
	position: relative;
	width: 80px;
	height: 80px;
}

.burger-menu img {
	width: 100%;
	height: 100%;
}

.burger-menu .menu-white {
	display: block;
}

.burger-menu .menu-teal {
	display: none;
}

.menu-hide {
	display: none !important;
}

.menu-show {
	display: block !important;
}

.close-menu {
	position: relative;
	width: 30px;
	height: 30px;
}

.close-menu img {
	width: 100%;
	height: 100%;
}

.menu-logo {
	width: 200px;
	margin: 40px 0 30px;
}

.menu-spacing {
	margin-top: 30px !important;
}

#nav-icon:hover {
	cursor: pointer;
}

#menu-wrap {
	position: fixed;
	display: flex;
	flex-direction: column;
	top: 0;
	left: -100%;
	max-width: 400px;
	width: 100%;
	height: 100%;
	z-index: 101;
	background: #215868;
	transition: .5s ease-in-out;
}

#menu-wrap h3 {
	color: #fff;
	font-weight: 100;
	font-size: 30px;
	margin-bottom: 10px;
}

.menu-slide {
	left: 0 !important;
}

.inner-menu-wrap {
	position: relative;
	text-align: left;
	width: 100%;
	height: 100%;
	display: none;
	margin: auto;
	padding: 80px 0 80px 15%;
}

.inner-menu-wrap .menu-container {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.inner-menu-wrap .menu-container .social-icons-wrap {
	display: flex;
	height: 100%;
	align-items: flex-end;
}

.menu-show {
	display: block;
}

.main-menu {
	margin: 30px 0 100px;
	padding: 0;
	display: none;
}

.main-menu li {
	position: relative;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
	left: 100px;
	opacity: 0;
	text-align: left;
}

.main-menu li a, .main-menu li .nav-title {
	position: relative;
	display: flex;
	color: #fff;
	list-style: none;
	padding: 5px 0;
	font-size: 22px;
	width: 100%;
	transition: .3s ease-in-out;
}

.main-menu li a:hover, .main-menu li .nav-title:hover {
	cursor: pointer;
}

.main-menu li a:hover .menu-icon, .main-menu li .nav-title:hover .menu-icon {
	background-color: #fff;
	margin-left: 20px;
}

.main-menu li a:hover .menu-icon svg, .main-menu li .nav-title:hover .menu-icon svg {
	fill: #215868;
}

.main-menu li a:hover:hover + .sub-menu, .main-menu li .nav-title:hover:hover + .sub-menu {
	width: 250px;
}

.main-menu li .menu-icon {
	width: 30px;
	height: 30px;
	color: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 10px;
}

.main-menu li .menu-icon svg {
	fill: #fff;
	width: 50%;
}

.main-menu .sub-menu {
	position: fixed;
	background-color: #e6f5fc;
	width: 250px;
	left: 400px;
	padding: 0;
	top: 0;
	height: 100%;
	overflow-y: auto;
	width: 0;
	transition: .3s ease-in-out;
}

.main-menu .sub-menu:hover {
	display: block !important;
	width: 250px;
}

.main-menu .sub-menu .sub-menu-inner {
	padding: 0;
}

.main-menu .sub-menu .sub-menu-inner li {
	padding: 0;
	margin: 0;
	left: 0 !important;
	opacity: 1 !important;
	border-bottom: 1px solid #aaa;
}

.main-menu .sub-menu .sub-menu-inner li a {
	position: relative;
	display: block;
	width: 250px;
	padding: 20px;
	margin: 0;
	text-align: center;
	color: #215868;
}

.main-menu .sub-menu .sub-menu-inner li a:hover .menu-img-wrap > img {
	transform: scale(1.2);
}

.main-menu .sub-menu .sub-menu-inner li a:hover .img-lines {
	bottom: 0;
}

.main-menu .sub-menu .sub-menu-inner li a .sub-menu-title {
	margin-top: 10px;
	font-size: 16px;
}

.main-menu .sub-menu .sub-menu-inner li a .menu-icon {
	display: none;
}

.main-menu .sub-menu .sub-menu-inner li .menu-img-wrap {
	position: relative;
	width: 200px;
	padding-top: 100%;
	overflow: hidden;
}

.main-menu .sub-menu .sub-menu-inner li .menu-img-wrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.main-menu .sub-menu .sub-menu-inner li .img-lines {
	position: absolute;
	width: 100%;
	height: 30px;
	bottom: -30px;
}

.main-menu .sub-menu .sub-menu-inner li .img-lines img {
	height: 150%;
	width: auto;
	-o-object-position: center;
	object-position: center;
}

.current-menu-item a, .current-page-ancestor a, .current-post-ancestor a {
	color: #215868;
}

#main-menu .current-menu-item a, #main-menu .current-page-ancestor a, #main-menu .current-post-ancestor a {
	background-color: transparent !important;
}

.breadcrumb {
	text-align: center;
}

.breadcrumb ul {
	margin: 0;
	padding: 0;
	display: inline-flex;
	color: #1a2632;
}

.breadcrumb ul li {
	display: flex;
	list-style: none;
	margin: 0 10px;
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 2px;
}

.breadcrumb ul li a {
	display: flex;
	color: #215868;
	font-weight: 400;
}

.breadcrumb ul li a:hover {
	color: #1a2632;
}

.breadcrumb ul li a svg {
	width: 20px;
	margin-right: 10px;
}

#directions h5 {
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 2px;
}

/* ---------------------------------------------- /*
 * Post
/* ---------------------------------------------- */
.post-content-wrap {
	padding: 0 5%;
	margin: 50px auto 100px;
	max-width: 1400px;
}

.post-content-wrap .content .wp-block-image {
	margin: 40px 0;
}

.post-content-wrap .content img {
	position: relative;
}

.post-content-wrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.post-content-wrap .feature-img {
	padding-top: 100%;
	width: 100%;
}

.post-content-wrap .img-feat-top {
	position: relative;
	height: auto;
	margin-top: 30px;
	margin-bottom: 50px;
}

.post-content-wrap .img-feat-top img {
	position: relative !important;
}

.post-content-wrap .grid-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.post-content-wrap .grid-item hr {
	width: 100%;
}

.post-content-wrap h2, .post-content-wrap h3, .post-content-wrap h4, .post-content-wrap h5, .post-content-wrap h6 {
	margin-top: 30px;
	margin-bottom: 0px;
}

.post-content-wrap p:last-of-type {
	margin-bottom: 0;
}

.post-content-wrap a {
	margin-top: 40px;
}

.related-posts {
	padding: 100px 5% 100px;
}

.related-posts h2 {
	text-align: center;
	font-family: Run Wild;
	color: #215868;
	font-size: 4rem;
	margin-top: 0;
}

.related-posts .related-post-grid {
	text-align: center;
}

.related-posts .related-post-grid h2 {
	font-family: unset;
	font-size: 25px;
	text-transform: uppercase;
	margin: 30px;
}

.related-posts .related-post-grid .grid-item:nth-child(even) {
	margin-top: 50px;
}

.related-posts .related-post-grid .grid-item:nth-child(even) .post-feat-img {
	border-top-left-radius: 50% 50%;
	border-top-right-radius: 50% 50%;
}

.related-posts .related-post-grid .post-feat-img {
	position: relative;
	padding-top: 100%;
	width: 100%;
	overflow: hidden;
}

.related-posts .related-post-grid .post-feat-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/* ---------------------------------------------- /*
 * Content
/* ---------------------------------------------- */
.page-banner {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: auto;
}

.page-banner .page-title {
	position: relative;
	margin-top: 180px;
	color: #215868;
}

.page-banner .page-title h1 {
	font-family: "Run Wild";
	font-size: 9rem;
	text-align: center;
	margin: 0;
}

.page-banner .page-title .page-banner-text {
	text-transform: uppercase;
	top: 5px;
	text-align: center;
	padding: 0 5%;
	max-width: 1200px;
	line-height: 1.5;
	margin: 0 auto;
	position: relative;
}

.page-banner.banner-style-image {
	min-height: 1400px;
}

.page-banner.banner-style-image .banner-image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.page-banner.banner-style-image .banner-image::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	background: linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 212, 255, 0) 50%);
}

.page-banner.banner-style-image .banner-image .images-lines-h-b {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 40px;
	width: 100%;
	background-size: auto 100%;
}

.page-banner.banner-style-image .page-banner-text {
	text-shadow: 0px 0px 3px #000;
}

.page-banner.banner-style-image .page-title {
	color: #fff;
}

.page-banner.banner-style-video {
	min-height: 100vh;
	justify-content: center;
	align-items: center;
}

.page-banner.banner-style-video .page-title {
	margin-top: 0;
	color: #fff;
}

.page-banner.banner-style-video .page-title h1 {
	font-size: 6rem;
}

.page-banner.banner-style-video .banner-video {
	position: absolute;
	width: 100%;
	height: 100%;
}

.page-banner.banner-style-video .banner-video::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background-color: #0a0a0a;
	opacity: .3;
}

.page-banner.banner-style-video .banner-video video {
	position: absolute;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.page-banner.banner-style-video .banner-video iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.page-banner img {
	position: absolute;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.stats-grid {
	position: absolute;
	bottom: 0;
	display: grid;
	grid-template-columns: 40% auto 40%;
	width: 100%;
	max-width: 600px;
}

.stats-grid .grid-item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: #fff;
	flex-direction: column;
}

.stats-grid .grid-item .stats-wrap {
	text-align: center;
	margin: 0 0 20px;
}

.stats-grid .grid-item .stats-wrap h3 {
	margin: 0;
	font-size: 30px;
	font-weight: 500;
}

.stats-grid .grid-item .stats-wrap p {
	margin: 0;
	color: #fff;
	font-weight: 300;
}

.stats-grid .lines-splitter {
	position: relative;
	width: 30px;
	height: 100%;
	overflow: hidden;
	margin: 0 20px;
}

.stats-grid .lines-splitter img {
	position: absolute;
	height: 100%;
	width: 100%;
}

.offer-content hr {
	margin: 10px 0 40px;
}

.offer-content p:first-child {
	margin: 0;
}

.offer-intro-text {
	text-transform: uppercase;
	margin-bottom: 50px;
}

.offer-intro-text p {
	font-size: 20px;
}

.offer-intro-text p:first-child {
	margin-top: 0;
}

.offer-intro-text p:last-child {
	margin-bottom: 0;
}

.offer-slide .owl-item:nth-child(even) {
	margin-top: 50px;
}

.offer-slide .item {
	text-align: center;
}

.offer-slide .item .post-feat-img {
	position: relative;
	padding-top: 100%;
	margin-bottom: 30px;
}

.offer-slide .item .post-feat-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.offer-slide .item .post-title h2 {
	font-family: "Montserrat", serif;
	font-size: 32px;
}

.offer-slide .item .post-btn-wrap {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.offer-slide .item .post-btn-wrap a {
	margin-bottom: 10px;
}

.offer-slide .owl-nav-wrap .disabled {
	display: none;
}

.offer-slide .owl-nav-wrap {
	display: grid;
	grid-template-columns: auto 118px;
	padding: 50px 5% 0;
	grid-gap: 20px;
}

.offer-slide .owl-nav-wrap .owl-nav {
	position: relative;
	top: 0;
	transform: translateY(0);
	-webkit-transform: translateY(0);
	order: 2;
}

.offer-slide .owl-nav-wrap .owl-nav .arrows {
	position: relative;
	display: flex;
	border-radius: 50%;
	border: 1px solid #215868;
	width: 50px;
	height: 50px;
	padding: 10px;
}

.offer-slide .owl-nav-wrap .owl-nav .arrows:hover {
	background-color: #215868;
}

.offer-slide .owl-nav-wrap .owl-nav .arrows:hover svg {
	fill: #fff;
}

.offer-slide .owl-nav-wrap .owl-nav .arrows svg {
	width: 80%;
	position: relative;
	fill: #215868;
}

.offer-slide .owl-nav-wrap .owl-nav .arrows .left, .offer-slide .owl-nav-wrap .owl-nav .arrows .right {
	display: flex;
	justify-content: center;
	justify-items: center;
}

.offer-slide .owl-nav-wrap .owl-dots {
	width: 100%;
	position: relative;
	bottom: 0;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	order: 1;
}

.offer-slide .owl-nav-wrap .owl-dots .owl-dot {
	width: 50%;
	height: 3px;
	border-radius: 0;
	margin: 0;
}

.offer-slide .owl-nav-wrap .owl-dots .owl-dot.active {
	background-color: #215868;
}

/* ---------------------------------------------- /*
 * explore
/* ---------------------------------------------- */
.err-msg {
	display: flex;
	font-size: 30px;
	text-align: center;
	min-height: 300px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#place-info {
	font-family: "Montserrat", serif;
	text-align: center;
	padding-bottom: 20px;
	box-shadow: none;
	overflow: hidden;
}

#place-info h5 {
	font-size: 18px;
	margin: 0;
	font-weight: 400;
	color: #215868;
}

#place-info .address {
	font-size: 16px;
	margin: 20px 0;
}

#place-info .direction-btn {
	position: relative;
	display: grid;
	grid-template-columns: 10px auto;
	grid-gap: 0 20px;
	padding: 10px 20px;
}

#place-info .direction-btn div {
	position: relative;
	font-weight: 500;
}

#place-info .direction-btn div img {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#map {
	height: 100%;
	width: 100%;
}

#map .gm-style-iw-tc {
	display: none;
}

#map .gm-style .gm-style-iw-c {
	padding: 50px 40px 10px !important;
	max-width: 500px !important;
	border-radius: 0 !important;
	box-shadow: 0 2px 7px 1px rgba(58, 58, 58, .2) !important;
}

#map .gm-style-iw-chr {
	position: absolute;
	top: 0;
	width: 100%;
	left: 0;
}

#map .gm-style-iw-d {
	overflow: auto !important;
}

#map .gm-ui-hover-effect > span {
	background-color: #215868 !important;
}

.map-grid {
	position: relative;
	width: 100%;
	margin: 50px auto;
	padding: 0 5%;
	grid-template-columns: 40% auto;
	grid-gap: 0 10%;
}

.map-grid .filter-grid {
	position: relative;
	display: flex;
	margin-bottom: 20px;
	grid-template-columns: auto auto !important;
	gap: 25px;
	border-bottom: 1px solid #215868;
	width: 95%;
}

.map-grid .filter-grid .filter {
	cursor: pointer;
	outline: 0;
	color: #215868;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 2px;
	border: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: transparent;
	background-image: url("https://cdn-ileliok.nitrocdn.com/MDzAFGoMdRuPbLNIaehSPUkXURcsYeJh/assets/images/optimized/rev-cd4c78d/www.herobeachclub.com/wp-content/themes/herobeachclub/images/chev-down.svg");
	background-repeat: no-repeat;
	background-position-y: 50%;
}

.map-grid .filter-grid .filter-cat {
	background-position-x: 99%;
	padding: 20px 20px 20px 10px;
}

.map-grid .filter-grid .filter.nitro-lazy {
	background-image: none !important;
}

.map-grid .filter-grid .filter-dist {
	background-position-x: 100%;
	padding: 20px 20px 20px 10px;
}

.map-grid .filter-grid .filter:hover, .map-grid .filter-grid .filter:focus {
	color: #215868;
}

.map-grid .map-item {
	padding-top: 80px;
}

.map-grid .owl-nav-wrap {
	display: none;
}

.map-grid .event-locations {
	position: relative;
}

.map-grid .event-locations .carousel-wrap {
	height: 54vw;
	max-height: 738px;
	overflow: auto;
	padding-right: 20px;
}

.map-grid .event-locations .carousel-wrap::-webkit-scrollbar {
	width: 5px;
	height: 5px;
}

.map-grid .event-locations .carousel-wrap::-webkit-scrollbar-track {
	border-radius: 0;
}

.map-grid .event-locations .carousel-wrap::-webkit-scrollbar-thumb {
	background: #215868;
	border-radius: 0;
}

.map-grid .event-locations .carousel-wrap ::-webkit-scrollbar-thumb:hover {
	background: #215868;
}

.map-grid .post-title h4 {
	margin-top: 0;
	color: #215868;
	font-weight: 500 !important;
}

.map-grid .location-img {
	max-width: 100%;
	width: 100%;
	padding-top: 100%;
}

.map-grid .location-img img {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.map-grid .grid-2 {
	grid-template-columns: auto 58%;
}

.map-grid .button img {
	margin-right: 6px;
}

.duration {
	display: inline-flex;
}

.duration .duration-info {
	display: flex;
	padding: 0 20px;
}

.duration .duration-info:first-child {
	padding-left: 0;
}

.duration .duration-info:last-child {
	padding-right: 0;
}

.duration .duration-info .duration-icon {
	padding-right: 10px;
}

.duration .duration-info.car-duration {
	border-right: 1px solid #555;
}

.location-info-wrap-bg {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	left: 0;
	z-index: 100;
	display: none;
}

.location-info-wrap {
	position: fixed;
	max-width: 40%;
	width: 100%;
	height: 100vh;
	top: 0;
	right: -100%;
	background-color: #fff;
	z-index: 101;
	display: flex;
	justify-content: center;
	padding: 80px 50px;
}

.location-info-wrap.selected {
	right: 0;
}

.location-info-wrap .button img {
	margin-right: 6px;
}

.location-info-wrap .location-info {
	position: relative;
	width: 100%;
	overflow: auto;
}

.location-info-wrap .location-info::-webkit-scrollbar {
	width: 5px;
	height: 5px;
}

.location-info-wrap .location-info::-webkit-scrollbar-track {
	border-radius: 0;
}

.location-info-wrap .location-info::-webkit-scrollbar-thumb {
	background: #215868;
	border-radius: 0;
}

.location-info-wrap .location-info ::-webkit-scrollbar-thumb:hover {
	background: #215868;
}

.location-info-wrap .location-info .location-img {
	position: relative;
	padding-top: 60%;
}

.location-info-wrap .location-info .location-img img {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.location-info-wrap .location-info .btn-wrap {
	margin-top: 30px;
	display: flex;
	gap: 10px;
}

.location-info-wrap .location-info .direction-btn {
	position: relative;
	display: grid;
	grid-template-columns: 10px auto;
	grid-gap: 0 20px;
}

.location-info-wrap .location-info .direction-btn div {
	position: relative;
	font-weight: 500;
}

.location-info-wrap .location-info .direction-btn div img {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.location-info-wrap .location-info .event-address h5 {
	font-size: 16px;
	margin-bottom: 10px;
	font-weight: 400;
}

.location-info-wrap .location-info .event-address p {
	font-size: 16px;
	margin-top: 10px;
}

.location-info-wrap .info-close {
	position: absolute;
	top: 40px;
	left: 50px;
	width: 30px;
	height: 30px;
}

.location-info-wrap .info-close:hover {
	cursor: pointer;
}

.location-info-wrap .info-close img {
	width: 100%;
}

.location-info-wrap .post-title h4 {
	color: #215868;
	font-weight: 500 !important;
}

.location-grid {
	margin: 10px 0;
	padding: 10px;
	background-color: #faf9f8;
}

.location-grid .location-btn, .location-grid .btn-li {
	position: relative;
	display: grid;
	grid-template-columns: 10px auto;
	grid-gap: 0 10px;
	padding: 10px 20px;
}

.location-grid .location-btn div, .location-grid .btn-li div {
	position: relative;
	font-weight: 500;
}

.location-grid .location-btn img, .location-grid .btn-li img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.location-grid:first-of-type {
	margin-top: 0;
}

.location-grid:last-of-type {
	margin-bottom: 0;
}

.location-grid .grid-item {
	display: flex;
	align-items: center;
}

.location-grid .btn-wrap {
	margin-top: 25px;
	display: grid;
	grid-template-columns: auto auto;
	grid-gap: 15px 10px;
	width: -moz-fit-content;
	width: fit-content;
}

/* ---------------------------------------------- /*
 * calendar
/* ---------------------------------------------- */
.search-wrap {
	position: relative;
	padding: 30px 5%;
	color: #215868;
	z-index: 1;
}

.search-wrap .search-bg {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	z-index: 100;
	top: 0;
	left: 0;
	display: none;
}

.search-wrap input, .search-wrap textarea {
	border: 1px solid #eee;
	box-sizing: border-box;
	margin: 0;
	outline: none;
	padding: 10px;
	width: 100%;
}

.search-wrap input[type=button] {
	-webkit-appearance: button;
	cursor: pointer;
}

.search-wrap input::-webkit-outer-spin-button, .search-wrap input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.search-wrap .input-group {
	clear: both;
	margin: 15px 0;
	position: relative;
}

.search-wrap .input-group input[type=button] {
	background-color: #eee;
	min-width: auto;
	width: auto;
	transition: all 300ms ease;
	padding: 0 10px;
}

.search-wrap .input-group .button-minus, .search-wrap .input-group .button-plus {
	font-weight: bold;
	height: 38px;
	padding: 0;
	width: auto;
	position: relative;
}

.search-wrap .input-group .quantity-field {
	position: relative;
	height: 38px;
	left: 0;
	text-align: center;
	width: 100%;
	display: inline-flex;
	font-size: 13px;
	margin: 0 0 5px;
	resize: vertical;
}

.search-wrap input[type=number] {
	-moz-appearance: textfield;
	-webkit-appearance: none;
}

.search-wrap .option-box-wrap.option-active {
	background: #215868;
	color: #fff;
}

.search-wrap .option-box-wrap.option-active svg {
	fill: #fff;
	stroke: #fff;
}

.search-wrap .option-box-wrap.option-active .arrow-down svg {
	fill: none;
}

#room-search-form {
	position: relative;
}

#room-search-form.overlay {
	z-index: 105;
}

.search-title {
	position: relative;
	margin-top: 100px;
	text-transform: uppercase;
	font-size: 20px;
	text-align: center;
	color: #215868;
	padding: 0 5%;
}

.search-wrap-fixed {
	position: sticky !important;
	top: 80vh;
	opacity: 0;
	z-index: 50;
}

.search-wrap-fixed-opacity {
	opacity: 1;
}

.search-option {
	display: flex;
	padding: 10px 30px;
	align-items: center;
	width: 100%;
	font-size: 16px;
}

.search-option .search-option-wrap, .search-option .name {
	font-weight: 400;
}

.search-option .icon {
	position: relative;
	font-size: 0;
	margin-right: 10px;
	width: 20px;
}

.search-option .icon svg {
	width: 100%;
	fill: #215868;
}

.room-availability-search {
	display: grid;
	grid-template-columns: 35% 25% auto auto;
	grid-gap: 20px 0;
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	border-radius: 10px;
	box-shadow: 0 0 7px rgba(58, 58, 58, .2);
	z-index: 101;
	background: #fff;
}

.room-availability-search .dates-selected {
	position: relative;
	display: flex;
	align-items: center;
	border-right: 1px solid #aaa;
}

.room-availability-search .dates-selected .datepicker-container {
	position: absolute;
	left: 0;
	padding: 30px 0;
	background-color: #fff;
}

.room-availability-search .dates-selected .datepicker-container .datepicker {
	padding: 0 18px;
}

.room-availability-search .dates-selected .datepicker-container.search-top {
	bottom: 120%;
}

.room-availability-search .dates-selected .datepicker-container.search-bottom {
	top: 120%;
}

.room-availability-search .dates-selected .arrow-right {
	width: 20px;
	margin: 0 10px;
	display: flex;
	align-items: center;
}

.room-availability-search .dates-selected .arrow-right svg {
	fill: #215868;
	width: 100%;
}

.room-availability-search .dates-selected .tax-fee-text {
	font-size: 12px;
	padding: 0 20px 30px;
	color: #215868;
}

.room-availability-search .dates-selected .price-currency-text {
	font-size: 12px;
	padding: 10px 0;
	text-align: center;
	box-shadow: 0 0 7px rgba(58, 58, 58, .2);
	color: #215868;
}

.room-availability-search .dates-selected .calender-btn-wrap {
	display: flex;
	gap: 20px;
	justify-content: flex-end;
	padding: 30px 20px 0;
	background-color: #fff;
	border-top: 1px solid #ccc;
}

.room-availability-search .dates-wrap {
	display: flex;
	padding: 10px 30px 10px 10px;
}

.room-availability-search .dates-wrap span {
	font-weight: 400;
}

.adult-children-select {
	position: relative;
	border-right: 1px solid #aaa;
	display: flex;
}

.adult-children-select .arrow-down {
	position: absolute;
	right: 20px;
	width: 10px;
}

.adult-children-select .arrow-down svg {
	width: 100%;
	stroke: #215868;
	fill: none;
}

.adult-children-select .name {
	font-weight: 500;
	font-size: 16px;
}

.adult-children-select .num-adult-child-wrap {
	background: #fff;
	position: absolute;
	left: 0;
	bottom: 120%;
	width: 280px;
}

.adult-children-select .num-adult-child-wrap .number-box {
	display: grid;
	grid-template-columns: 40% 55%;
	grid-gap: 0 5%;
	vertical-align: middle;
	width: 100%;
}

.adult-children-select .num-adult-child-wrap .number-box .name {
	display: flex;
	align-items: center;
}

.adult-children-select .num-adult-child-wrap .number-box .input-group {
	display: flex;
}

.special-codes {
	position: relative;
	display: flex;
	align-items: center;
}

.special-codes .arrow-down {
	position: absolute;
	right: 10px;
	width: 10px;
}

.special-codes .arrow-down svg {
	width: 100%;
	stroke: #215868;
	fill: none;
}

.special-codes .special-codes-title {
	font-weight: 400;
}

.special-codes .special-codes-option {
	position: absolute;
	right: -50%;
	bottom: 120%;
	background-color: #fff;
	max-width: 600px;
	width: 600px;
	transform: translateX(10%);
}

.special-codes .special-codes-option .grid-item {
	display: flex;
	flex-direction: column;
}

.search-room {
	display: flex;
	align-items: center;
	padding: 10px;
	justify-content: flex-end;
}

.search-option-box {
	padding: 20px;
	display: none;
	box-shadow: 0 0 10px #555;
	border-radius: 5px;
	color: #215868;
}

.search-option-box .name {
	font-weight: 400;
	font-size: 16px;
}

.search-option-box .close-option {
	width: 20px;
	float: right;
	position: relative;
}

.search-option-box .close-option:hover {
	cursor: pointer;
	color: #1a2632;
}

.search-option-box .close-option img {
	max-width: 100%;
	height: auto;
}

.loader {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	z-index: 110;
	top: 0;
	left: 0;
	display: none;
}

.loader .loader-inner {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
}

.ui-widget-header .ui-icon {
	background-image: none !important;
}

.ui-widget-header .ui-icon.nitro-lazy {
	background-image: none !important;
}

.ui-datepicker .ui-datepicker-prev {
	background-image: url("https://cdn-ileliok.nitrocdn.com/MDzAFGoMdRuPbLNIaehSPUkXURcsYeJh/assets/images/optimized/rev-cd4c78d/www.herobeachclub.com/wp-content/themes/herobeachclub/images/chev-down.svg") !important;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 50%;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
}

.ui-datepicker .ui-datepicker-prev.nitro-lazy {
	background-image: none !important;
}

.ui-datepicker .ui-datepicker-next {
	background-image: url("https://cdn-ileliok.nitrocdn.com/MDzAFGoMdRuPbLNIaehSPUkXURcsYeJh/assets/images/optimized/rev-cd4c78d/www.herobeachclub.com/wp-content/themes/herobeachclub/images/chev-down.svg") !important;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 50%;
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
}

.ui-datepicker .ui-datepicker-next.nitro-lazy {
	background-image: none !important;
}

.date-availability-cal .ui-datepicker-inline {
	flex-direction: column;
}

.ui-datepicker-inline {
	width: auto !important;
	display: flex !important;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
	width: 100% !important;
}

.ui-state-default, .ui-widget-content .ui-state-default {
	border: none;
	background: #fff;
	font-weight: normal;
	color: #000;
	text-align: center;
	height: 100%;
	font-size: 14px;
	width: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.ui-state-default .rates-cal, .ui-widget-content .ui-state-default .rates-cal {
	display: none;
	font-size: 11px;
	margin-top: 5px;
	font-weight: 300;
	color: #215868;
}

.ui-datepicker {
	padding: 0;
}

.ui-datepicker td {
	border: 1px solid #ccc;
	padding: 0;
	height: 30px;
	width: 30px;
}

.ui-widget.ui-widget-content {
	border: none;
}

.ui-widget-header {
	border: none;
	background: #fff;
	color: #333;
	font-weight: bold;
}

.dp-highlight .ui-state-default {
	background: #215868;
	color: #fff;
}

.dp-highlight .ui-state-default .rates-cal {
	font-size: 11px;
	margin-top: 5px;
	font-weight: 300;
	color: #fff;
}

.ui-datepicker-calendar th span {
	font-size: 14px;
}

.ui-datepicker-calendar tr {
	height: 50px !important;
}

.ui-datepicker-group-first {
	margin-right: 30px !important;
}

.ui-datepicker-group-last {
	margin-left: 30px !important;
}

.ui-datepicker-title {
	font-family: "Montserrat", serif;
	font-size: 16px;
}

.single-room-content {
	padding: 0 5% 100px;
}

.single-room-content .content {
	grid-template-columns: 60% 35%;
	grid-gap: 5%;
}

.single-room-content .content .amenities-list {
	padding: 0 5%;
}

.single-room-content .content .amenities-list li {
	margin: 10px 0;
}

.single-room-content .content .amenities-list li:first-child {
	margin-top: 0;
}

.single-room-content .content .amenities-list li::marker {
	font-size: 10px;
}

.date-booking {
	position: sticky;
	top: 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	box-shadow: 0 2px 7px 1px rgba(58, 58, 58, .2) !important;
}

.date-booking .date-booking-inner {
	padding: 20px;
	width: 100%;
}

.date-booking .booking-title, .date-booking .starting-text {
	text-transform: uppercase;
	font-size: 16px;
	text-align: center;
	margin-bottom: 20px;
	letter-spacing: 1px;
}

.date-booking .dates-available-wrap {
	position: relative;
	border: 1px solid #555;
	border-radius: 5px;
	margin-bottom: 0;
	width: auto;
}

.date-booking .dates-available-wrap .search-option-box {
	background-color: #fff;
	position: absolute;
	bottom: 50px;
	right: 0;
}

.date-booking .dates-available-wrap .arrow-right {
	width: 20px;
	margin: 0 10px;
	display: flex;
	align-items: center;
}

.date-booking .dates-available-wrap .arrow-right svg {
	fill: #215868;
	width: 100%;
}

.date-booking .button {
	width: 100%;
	max-width: 100%;
	margin-top: 20px;
}

.date-booking .rates-price-wrap {
	text-align: center;
	padding: 20px;
	width: 100%;
	color: #fff;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.date-booking .rates-price-wrap .starting-text {
	margin-bottom: 0;
}

.date-booking .rates-price-wrap h3 {
	margin: 5px 0 20px;
	color: #ffda42;
	font-weight: 400;
}

.date-booking .rates-price-wrap .button {
	margin-top: 0;
}

/* ---------------------------------------------- /*
 * Footer
/* ---------------------------------------------- */
.popout-form {
	position: fixed;
	max-width: 40%;
	width: 100%;
	height: 100vh;
	top: 0;
	right: -100%;
	background-color: #fff;
	z-index: 100;
	display: flex;
	justify-content: center;
	padding: 80px 30px 80px 50px;
}

.popout-form.form-active {
	right: 0;
}

.popout-form .button img {
	margin-right: 6px;
}

.popout-form .form-wrap {
	position: relative;
	width: 100%;
	overflow: auto;
	padding-left: 5px;
	padding-right: 20px;
}

.popout-form .form-wrap iframe {
	width: 100%;
	border: 0px !important;
	height: 100%;
}

.popout-form .btn-wrap {
	margin-top: 30px;
	display: flex;
	gap: 10px;
}

.popout-form .info-close {
	position: absolute;
	top: 40px;
	left: 50px;
	width: 30px;
	height: 30px;
}

.popout-form .info-close:hover {
	cursor: pointer;
}

.popout-form .info-close img {
	width: 100%;
}

footer {
	position: relative;
	display: flex;
	flex-direction: column;
	color: #fff;
}

footer a {
	color: #fff;
}

footer a:hover {
	text-decoration: underline;
	text-underline-offset: 6px;
}

footer h2, footer h3, footer h4 {
	font-size: 16px;
	letter-spacing: 2px;
	font-family: "Montserrat", serif;
	text-transform: uppercase;
	margin-top: 0;
	color: #fff !important;
}

footer .footer-lines {
	height: 35px;
	background-size: auto 100%;
}

footer .line {
	width: 90%;
	margin: auto;
	height: 1px;
	background-color: #fff;
}

footer .contact-details ul {
	padding: 0;
}

footer .contact-details ul li {
	list-style: none;
	margin: 10px 0;
}

footer .site-info, footer .builtby-wrap {
	display: grid;
	grid-template-columns: auto auto;
}

footer .site-info img, footer .builtby-wrap img {
	width: 80px;
}

footer .copyright-text {
	margin-right: 30px;
	display: flex;
	align-items: center;
}

footer .builtby {
	margin-right: 10px;
	display: flex;
	align-items: center;
}

footer .current-menu-item a, footer .current-page-ancestor a, footer .current-post-ancestor a {
	background-color: transparent !important;
	color: #fff;
}

footer .current-menu-item a:hover, footer .current-page-ancestor a:hover, footer .current-post-ancestor a:hover {
	background-color: transparent !important;
}

footer .footer-widgets {
	grid-template-columns: 30% 20% auto;
}

#revinate_contact_api_form .signup-thankyou {
	display: none;
	color: #fff;
	max-width: 300px;
}

.newsletter-signup .checkbox-wrap {
	display: flex;
	align-items: center;
}

.newsletter-signup .checkbox-wrap input {
	margin-right: 15px;
}

.newsletter-signup label {
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.newsletter-signup label.lowercase {
	text-transform: initial;
}

.newsletter-signup label span {
	font-size: 10px;
	color: #ffda42;
}

.newsletter-signup .submit-btn {
	position: relative;
	padding: 15px 30px;
	font-size: 14px;
	width: -moz-fit-content;
	width: fit-content;
	color: #215868;
	outline: 0;
	overflow: hidden;
	z-index: 1;
	cursor: pointer;
	background: #e6f5fc;
	border: 0;
	border-radius: 50px;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 400;
}

.newsletter-signup .form-input {
	width: 100%;
	padding: 10px 0;
	font-size: 16px;
	text-indent: 10px;
	border: 1px solid #fff;
	background: transparent;
	border-radius: 10px;
	color: #fff;
}

.footer-inner {
	padding: 50px 5% 20px;
	margin: auto;
	width: 100%;
}

#menu-footer-menu {
	margin: 0;
	padding: 0;
}

#menu-footer-menu li {
	list-style: none;
	margin: 0 0 5px;
}

#menu-footer-menu li a {
	font-size: 16px;
}

.terms {
	margin: 0 auto;
	padding: 0;
	display: inline-flex;
	font-size: 14px;
	text-align: center;
}

.terms li {
	margin: 0 10px;
	list-style: none;
}

.footer-bar {
	margin: 20px auto;
	font-size: 14px;
	color: #fff;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 90%;
}

.footer-bar .footer-menu {
	padding: 0;
}

.footer-bar .footer-menu li {
	display: inline-block;
	margin-right: 20px;
}

.footer-bar .footer-menu li:last-of-type {
	margin-right: 0;
}

.social-links ul {
	display: inline-flex;
	padding: 0;
	margin: 0;
	gap: 20px;
}

.social-links ul li {
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

.social-links ul li a {
	width: 40px;
	height: 40px;
	font-size: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	border-radius: 50%;
	border: 1px solid #fff;
	text-decoration: none;
}

.social-links ul li a:hover {
	background-color: #fff;
	color: #215868 !important;
}

/* ---------------------------------------------- /*
 * custom scrollbar
/* ---------------------------------------------- */

/* width */
::-webkit-scrollbar {
	width: 5px;
	height: 5px;
}

/* Track */
::-webkit-scrollbar-track {
	box-shadow: inset 0 0 5px grey;
	border-radius: 5px;
	overflow: hidden;
}

/* Handle */
::-webkit-scrollbar-thumb {
	background: #215868;
	border-radius: 10px;
	overflow: hidden;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: #215868;
}

/* ---------------------------------------------- /*
 * CONTACT PAGE ===== Contact Form
/* ---------------------------------------------- */
.fa-map-marked-alt, .fa-phone, .fa-fax {
	font-size: 30px;
}

.wpcf7-form-control-wrap .form-input {
	width: 100%;
	padding: 8px 0;
	font-size: 16px;
	text-indent: 10px;
	border: 1px solid #aaa;
}

.wpcf7-form-control-wrap select {
	width: 100%;
	height: 40px;
	font-size: 16px;
	text-indent: 10px;
}

.wpcf7-form-control-wrap textarea {
	width: 100%;
	padding: 10px !important;
	font-size: 16px;
	/* Safari/Chrome, other WebKit */
	
	/* Firefox, other Gecko */
	box-sizing: border-box;
	border-color: #ccc;
	height: 150px;
	text-indent: 0px !important;
}

.wpcf7-not-valid-tip {
	font-size: 16px !important;
	color: #fff;
}

.form-group {
	margin-bottom: 15px;
}

.form-control {
	display: block;
	width: 100%;
	height: 53px;
	padding: 6px 12px;
	font-size: 16px;
	line-height: 1.42857143;
	color: #000;
	font-weight: 400;
	background-color: #f4f4f4;
	background-image: none;
	border: none;
	border-radius: 0px;
	box-shadow: none;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form-control.nitro-lazy {
	background-image: none !important;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	text-align: center;
	color: #f00;
	border: none !important;
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
	border: none !important;
}

div.wpcf7-mail-sent-ok {
	text-align: center;
	border: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
	border: none;
	margin: 0;
	padding: 0;
}

.wpcf7 form.sent .wpcf7-response-output {
	border: none;
}

.submit-btn {
	position: relative;
	padding: 10px;
	font-size: 14px;
	width: 150px;
	color: #fff;
	outline: 0;
	overflow: hidden;
	background: none;
	z-index: 1;
	cursor: pointer;
	background: #215868;
	border: 0;
	transition: .3s ease-in-out;
}

.submit-btn:hover {
	background: #1a2632;
	color: #fff;
}

::-moz-placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #ccc;
	opacity: 1;
	/* Firefox */
	font-family: "Montserrat", serif !important;
}

::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #ccc;
	opacity: 1;
	/* Firefox */
	font-family: "Montserrat", serif !important;
}

:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #ccc;
	font-family: "Montserrat", serif !important;
}

::-ms-input-placeholder {
	/* Microsoft Edge */
	color: #ccc;
	font-family: "Montserrat", serif !important;
}

.contact-form {
	padding: 20px;
}

.contact-form p {
	padding-bottom: 20px;
}

/* ---------------------------------------------- /*
 * Animation
/* ---------------------------------------------- */
.lds-ring, .lds-ring div {
	box-sizing: border-box;
}

.lds-ring {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}

.lds-ring div {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: 64px;
	height: 64px;
	margin: 8px;
	border: 8px solid #fff;
	border-radius: 50%;
	animation: lds-ring 1.2s cubic-bezier(.5, 0, .5, 1) infinite;
	border-color: #fff transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
	animation-delay: -.45s;
}

.lds-ring div:nth-child(2) {
	animation-delay: -.3s;
}

.lds-ring div:nth-child(3) {
	animation-delay: -.15s;
}

@keyframes lds-ring {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

@keyframes fadein {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
		visibility: visible;
	}
}

/* Firefox < 16 */

/* Safari, Chrome and Opera > 12.1 */

/* Internet Explorer */
.latest-blog .post-category {
	margin: 0 0 25px;
}

.blog {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 50px;
	padding-bottom: 300px;
	padding-left: 5%;
	padding-right: 5%;
}

.blog.blog-bg {
	background-color: #e6e1dd;
}

.blog-grid, .blog-grid-display {
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 80px 40px;
}

.blog-grid .grid-item, .blog-grid-display .grid-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #fff;
	padding: 35px;
}

.blog-grid .grid-item .post-category, .blog-grid-display .grid-item .post-category {
	margin: 0 auto 35px;
}

.blog-grid .grid-item .post-title h3, .blog-grid-display .grid-item .post-title h3 {
	margin: 35px 0;
}

.blog-grid .grid-item .post-img, .blog-grid-display .grid-item .post-img {
	height: 14rem;
	width: 100%;
}

.blog-grid .grid-item .post-img img, .blog-grid-display .grid-item .post-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.blog-grid .grid-item .post-wrap, .blog-grid-display .grid-item .post-wrap {
	text-align: center;
}

.post-category {
	margin: 0 auto 25px;
	width: -moz-fit-content;
	width: fit-content;
}

.post-category h3 {
	font-size: 14px;
	line-height: 14px;
	font-weight: 400;
	color: #215868;
	text-transform: uppercase;
	border: 1px solid #c2c6c9;
	border-radius: 40px;
	padding: 9px 16px;
	width: -moz-fit-content;
	width: fit-content;
}

.featured-post-title h2 {
	font-size: 80px;
	font-weight: 400;
	color: #215868;
}

.post-title h3 {
	font-size: 24px;
	font-weight: 400;
	color: #215868;
}

#single-post {
	background-color: #e6e1dd;
	padding: 50px 0 300px;
}

#single-post .single-post-carousel-header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 50px;
}

#single-post .single-post-carousel-header .section-title {
	text-align: center;
	font-size: 4rem;
	font-family: "Run Wild";
	color: #215868;
	margin: 0;
}

.single-post .post-category {
	margin: 50px auto 25px;
}

.single-post-carousel-slider-box {
	position: relative;
}

.single-post-carousel-slider-box .section-title {
	color: #215868;
	font-family: Run Wild;
	margin-top: 0;
	margin-bottom: 0;
}

.single-post-carousel-slider-box .carousel-wrap {
	overflow: hidden;
}

.single-post-carousel-slider-box .carousel-wrap .post-category {
	margin: 0 auto 25px;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide {
	display: block;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-item .item {
	background-color: #fff;
	padding: 40px;
	text-align: center;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap {
	display: grid;
	grid-template-columns: auto 118px;
	padding: 50px 5% 0;
	grid-gap: 20px;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav {
	position: relative;
	top: 0;
	transform: translateY(0);
	-webkit-transform: translateY(0);
	order: 2;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows {
	position: relative;
	display: flex;
	border-radius: 50%;
	border: 1px solid #215868;
	width: 50px;
	height: 50px;
	padding: 10px;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows:hover {
	background-color: #215868;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows:hover svg {
	fill: #fff;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows svg {
	width: 80%;
	position: relative;
	fill: #215868;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows .left, .single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows .right {
	display: flex;
	justify-content: center;
	justify-items: center;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots {
	width: 100%;
	position: relative;
	bottom: 0;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	order: 1;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots .owl-dot {
	width: 50%;
	height: 3px;
	border-radius: 0;
	margin: 0;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots .owl-dot.active {
	background-color: #215868;
}

.single-post-carousel-slider-box .carousel-wrap .content-slide .links-btn-wrap {
	text-align: center;
}

.single-post-carousel-slider-box .post-feat-img {
	position: relative;
	padding-top: 65%;
	width: 100%;
	max-height: 14rem;
	overflow: hidden;
}

.single-post-carousel-slider-box .post-feat-img img {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	left: 0;
}

.single-post-carousel-slider-box .post-excert {
	margin-bottom: 30px;
}

.single-post-carousel-slider-box .post-title h3 {
	font-size: 25px;
	text-transform: uppercase;
	color: #215868;
}

.single-post-carousel-slider-box .post-btn-wrap a {
	margin: 0 10px;
}

.acf-block-preview .content-slide {
	display: grid;
	grid-gap: 0 4%;
	grid-template-columns: repeat(3, 1fr);
}

.acf-block-preview .content-slide .item {
	display: none;
}

.acf-block-preview .content-slide .item:nth-child(-n+3) {
	display: block;
}

.social-share-flex {
	margin-top: 50px;
	display: grid;
	grid-template-columns: 80% auto;
	align-items: center;
}

.social-share-flex .social-share-line {
	height: 2px;
	border: 1px solid #c2c6c9;
}

.social-share-flex .social-share {
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: center;
}

.social-share-flex .social-share p {
	font-size: 16px;
	font-weight: 500;
	color: #215868;
	text-transform: uppercase;
	margin-top: 0;
}

.social-share-flex .social-share a {
	margin-top: 0 !important;
}

.social-share-flex .social-share .social-icon {
	width: 56px;
	height: 56px;
	display: inline-block;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid #215868;
	transition: transform .3s ease;
}

.social-share-flex .social-share .social-icon i {
	position: relative;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	color: #215868;
}

.social-share-flex .social-share .social-icon i:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.social-share-flex .social-share .social-icon i:hover {
	color: #fff;
	background-color: #215868;
}

.social-share-flex .social-share .social-icon:hover {
	transform: scale(1.1);
}

.post-category {
	margin: 0 auto 25px;
	width: -moz-fit-content;
	width: fit-content;
}

.post-category h3 {
	font-size: 14px;
	line-height: 14px;
	font-weight: 400;
	color: #215868;
	text-transform: uppercase;
	border: 1px solid #c2c6c9;
	border-radius: 40px;
	padding: 9px 16px;
	width: -moz-fit-content;
	width: fit-content;
}

.featured-post-title h2 {
	font-size: 80px;
	font-weight: 400;
	color: #215868;
}

.post-title h3 {
	font-size: 24px;
	font-weight: 400;
	color: #215868;
}

.stay-grid {
	grid-template-columns: repeat(2, 1fr);
	max-width: 1400px;
	margin: 0 auto;
}

.stay-grid .grid-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #faf9f8;
	padding: 40px;
}

.stay-grid .grid-item.unavailable {
	display: none;
}

.stay-grid .grid-item .rates-price .starting-text {
	text-transform: uppercase;
	font-size: 16px;
	text-align: center;
	margin-bottom: 0;
	letter-spacing: 1px;
}

.stay-grid .grid-item .rates-price h3 {
	margin-top: 0;
	color: #215868;
	font-weight: 400;
	text-align: center;
}

.stay-grid .grid-item .post-img {
	height: 25rem;
	width: 100%;
}

.stay-grid .grid-item .post-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.stay-grid .grid-item .post-title h3 {
	font-family: Run Wild;
	font-size: 50px;
	margin-bottom: 10px;
	margin-top: 30px;
}

.stay-grid .grid-item .post-wrap {
	text-align: center;
	width: 100%;
}

.stay-grid .grid-item .stay-buttons {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.stay-grid .grid-item .stay-info {
	margin-bottom: 20px;
}

.stay-grid .grid-item .stay-info p {
	display: flex;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
}

.stay-grid .grid-item .stay-info p span {
	border-right: 1px solid #c2c6c9;
	padding: 0 12px;
}

.stay-grid .grid-item .stay-info p span:last-child {
	border-right: none;
}

#single-room {
	background-image: linear-gradient(180deg, #e6e1dd, rgba(230, 225, 221, 0));
	padding: 50px 0 300px;
}

#single-room .single-post-carousel-header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 50px;
}

#single-room .single-post-carousel-header .section-title {
	text-align: center;
	font-size: 4rem;
	font-family: "Run Wild";
	color: #215868;
	margin: 0;
}

.single-room-carousel-slider-box {
	position: relative;
}

.single-room-carousel-slider-box .section-title {
	color: #215868;
	font-family: Run Wild;
	margin-top: 0;
	margin-bottom: 0;
}

.single-room-carousel-slider-box .carousel-wrap {
	overflow: hidden;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide {
	display: block;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-item .item {
	background-color: #fff;
	padding: 40px;
	text-align: center;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-item .room-header-slider {
	background-color: #fff;
	padding: 0 !important;
	text-align: center;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap {
	display: grid;
	grid-template-columns: auto 118px;
	padding: 50px 5% 0;
	grid-gap: 20px;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav {
	position: relative;
	top: 0;
	transform: translateY(0);
	-webkit-transform: translateY(0);
	order: 2;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows {
	position: relative;
	display: flex;
	border-radius: 50%;
	border: 1px solid #215868;
	width: 50px;
	height: 50px;
	padding: 10px;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows:hover {
	background-color: #215868;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows:hover svg {
	fill: #fff;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows svg {
	width: 80%;
	position: relative;
	fill: #215868;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows .left, .single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows .right {
	display: flex;
	justify-content: center;
	justify-items: center;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots {
	width: 100%;
	position: relative;
	bottom: 0;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	order: 1;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots .owl-dot {
	width: 50%;
	height: 3px;
	border-radius: 0;
	margin: 0;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots .owl-dot.active {
	background-color: #215868;
}

.single-room-carousel-slider-box .carousel-wrap .content-slide .links-btn-wrap {
	text-align: center;
}

.single-room-carousel-slider-box .post-feat-img {
	position: relative;
	padding-top: 70%;
	width: 100%;
	max-height: 14rem;
	overflow: hidden;
}

.single-room-carousel-slider-box .post-feat-img img {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	left: 0;
}

.single-room-carousel-slider-box .post-excert {
	margin-bottom: 30px;
}

.single-room-carousel-slider-box .post-title h3 {
	font-family: "Run Wild";
	font-size: 35px;
	color: #215868;
	margin-bottom: 10px;
}

.single-room-carousel-slider-box .stay-buttons {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.single-room-carousel-slider-box .stay-info {
	margin-bottom: 20px;
}

.single-room-carousel-slider-box .stay-info p {
	font-size: 14px;
	line-height: 20px;
	text-align: center;
}

.single-room-carousel-slider-box .stay-info p span {
	border-right: 1px solid #c2c6c9;
	padding: 0 10px;
}

.single-room-carousel-slider-box .stay-info p span:last-child {
	border-right: none;
}

.single-room-columns {
	grid-template-columns: auto 350px;
}

.single-room-gallery-carousel-slider-box {
	position: relative;
	margin: 50px 0 100px;
}

.single-room-gallery-carousel-slider-box .section-title {
	color: #215868;
	font-family: Run Wild;
	margin-top: 0;
	margin-bottom: 0;
}

.single-room-gallery-carousel-slider-box .carousel-wrap {
	overflow: hidden;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide {
	display: block;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-stage {
	height: 500px;
	overflow: hidden;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-item {
	display: inline-flex;
	height: 100%;
	float: initial;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-item .item {
	background-color: #fff;
	text-align: center;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-item .room-header-slider {
	background-color: #fff;
	padding: 0 !important;
	text-align: center;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap {
	display: grid;
	grid-template-columns: auto 118px;
	padding: 50px 5% 0;
	grid-gap: 20px;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav {
	position: relative;
	top: 0;
	transform: translateY(0);
	-webkit-transform: translateY(0);
	order: 2;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows {
	position: relative;
	display: flex;
	border-radius: 50%;
	border: 1px solid #215868;
	width: 50px;
	height: 50px;
	padding: 10px;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows:hover {
	background-color: #215868;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows:hover svg {
	fill: #fff;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows svg {
	width: 80%;
	position: relative;
	fill: #215868;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows .left, .single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-nav .arrows .right {
	display: flex;
	justify-content: center;
	justify-items: center;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots {
	width: 100%;
	position: relative;
	bottom: 0;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	order: 1;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots .owl-dot {
	width: 50%;
	height: 3px;
	border-radius: 0;
	margin: 0;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-nav-wrap .owl-dots .owl-dot.active {
	background-color: #215868;
}

.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .links-btn-wrap {
	text-align: center;
}

.single-room-gallery-carousel-slider-box .post-feat-img {
	position: relative;
	width: auto;
	overflow: hidden;
	height: 100%;
}

.single-room-gallery-carousel-slider-box .post-feat-img img {
	position: relative;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.stay-cat {
	background-color: #fff;
	padding: 100px 0 0 0;
}

.stay-cat .no-margin {
	margin: 0 auto !important;
}

.filters-columns {
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* Optional: Align items vertically */
	width: 100%;
	/* Ensure full width */
	padding: 150px 5% 30px;
	background-color: #fff;
}

.filters-columns p {
	font-weight: 400;
	font-size: 12px;
	line-height: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 10px;
	color: #1a2632;
}

.filters-columns select {
	display: block;
	background: transparent;
	padding: 15px;
	min-width: 320px;
	border: 1px solid #215868;
	border-radius: 10px;
	color: #215868;
	font-weight: 400;
	font-size: 16px;
	line-height: 16px;
	list-style: none;
	cursor: pointer;
	font-family: "Montserrat", serif;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: transparent;
	background-image: url("https://cdn-ileliok.nitrocdn.com/MDzAFGoMdRuPbLNIaehSPUkXURcsYeJh/assets/images/optimized/rev-cd4c78d/www.herobeachclub.com/wp-content/themes/herobeachclub/images/chev-down.svg");
	background-repeat: no-repeat;
	background-position-y: 50%;
	background-position-x: 95%;
}

.filters-columns select.nitro-lazy {
	background-image: none !important;
}

/* ---------------------------------------------- /*
 * gravity form
/* ---------------------------------------------- */
.gform_button.button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 15px 30px !important;
	font-size: 14px;
	letter-spacing: 2px !important;
	font-weight: 500 !important;
	line-height: 1;
	min-width: -moz-fit-content;
	min-width: fit-content;
	text-align: center;
	z-index: 1;
	overflow: hidden;
	border: none;
	max-width: -moz-fit-content;
	max-width: fit-content;
	text-transform: uppercase !important;
	background: none;
	color: #fff;
	border-radius: 50px !important;
	background: #215868 !important;
	transition: .3s ease-in-out;
}

.gform_button.button:hover {
	background: #1a2632 !important;
	color: #fff !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text] {
	width: 100% !important;
}

.gfield label, .gfield_label {
	padding-left: 1em !important;
	position: relative;
	/* important */
	text-transform: uppercase !important;
	font-size: 12px !important;
}

.gfield_required {
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-42%) !important;
}

.gfield_label.gform-field-label {
	position: relative;
	/* important */
	font-size: 12px !important;
}

.not-required .gfield_label, .not-required .gform-field-label {
	padding-left: 0 !important;
}

.form-link {
	text-decoration: underline;
	color: #1a2632;
}

.form-link:hover {
	text-decoration: underline;
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=email], body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel], body .gform_wrapper .gform_body .gform_fields .gfield input[type=text], body .gform_wrapper .gform_body .gform_fields .gfield textarea {
	padding: 20px 16px !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=checkbox] {
	width: 15px;
	height: 15px;
}

.gform-theme--foundation .gform_fields {
	row-gap: 30px !important;
}

.gfield select.large {
	height: 43px !important;
	border-radius: 8px !important;
	padding-top: 1px !important;
}

.ginput_container.ginput_container_date::after {
	width: 0 !important;
	position: relative !important;
	left: -20px !important;
}

/* ---------------------------------------------- /*
 * Responsive
/* ---------------------------------------------- */
@media only screen and (min-width: 0px) and (max-width: 500px) {
	.map-grid {
		margin: 0 auto 50px;
		padding: 0 5%;
	}
	
	.map-grid .event-locations .carousel-wrap {
		height: auto !important;
		max-height: initial !important;
		overflow: hidden;
		padding-right: 0;
	}
	
	.map-grid .location-img {
		max-width: 100%;
		width: 100%;
		padding-top: 100%;
	}
	
	.map-grid .grid-2 {
		grid-template-columns: 150px auto !important;
		grid-gap: 0 10px;
	}
	
	.duration {
		display: flex;
		font-size: 14px;
		gap: 10px;
	}
	
	.duration .duration-info {
		display: flex;
		padding: 0 !important;
		align-items: center;
	}
	
	.duration .duration-info .duration-icon {
		padding-right: 5px;
	}
	
	.duration .duration-info.car-duration {
		border: none;
	}
	
	.location-info-wrap {
		max-width: 100%;
		justify-content: center;
		padding: 60px 20px;
	}
	
	.location-info-wrap .location-info {
		position: relative;
		width: 100%;
		overflow: auto;
	}
	
	.location-info-wrap .location-info .btn-wrap {
		margin-top: 30px;
		flex-direction: column;
	}
	
	.location-info-wrap .info-close {
		position: absolute;
		top: 20px;
		left: 20px;
		width: 20px;
		height: 20px;
	}
	
	.location-grid {
		margin: 20px 0;
		padding: 10px;
		background-color: #f1f1f1;
	}
	
	.location-grid .btn-wrap {
		grid-template-columns: auto !important;
	}
}

@media only screen and (min-width: 0px) and (max-width: 768px) {
	body {
		font-size: 16px;
	}
	
	#page {
		overflow: hidden;
	}
	
	h1 {
		font-size: 65px !important;
	}
	
	h2 {
		font-size: 30px;
	}
	
	h3 {
		font-size: 25px;
	}
	
	h4 {
		font-size: 22px;
	}
	
	h5 {
		font-size: 20px;
	}
	
	h6 {
		font-size: 16px;
	}
	
	.burger-menu {
		width: 50px;
		height: 50px;
	}
	
	#logo {
		width: 120px;
	}
	
	.main-menu {
		margin: 30px 0;
		padding: 0;
		display: none;
	}
	
	.main-menu li {
		position: relative;
		display: block;
		text-align: left;
	}
	
	.main-menu li a:hover, .main-menu li .nav-title:hover {
		cursor: pointer;
	}
	
	.main-menu li a:hover .menu-icon, .main-menu li .nav-title:hover .menu-icon {
		background-color: transparent;
		margin-left: 10px;
	}
	
	.main-menu li a:hover .menu-icon svg, .main-menu li .nav-title:hover .menu-icon svg {
		fill: #fff;
	}
	
	.main-menu li a:hover:hover + .sub-menu, .main-menu li .nav-title:hover:hover + .sub-menu {
		width: 250px;
	}
	
	.main-menu li.menu-item-has-children .menu-icon {
		display: flex;
		transform: rotate(90deg);
	}
	
	.main-menu li.menu-item-has-children .menu-icon.menu-icon-rotate {
		transform: rotate(270deg) !important;
	}
	
	.main-menu li .menu-icon {
		display: none;
	}
	
	.main-menu li .menu-icon svg {
		fill: #fff;
		width: 50%;
	}
	
	.main-menu .sub-menu {
		position: relative;
		background-color: transparent;
		width: 100%;
		left: 0;
		padding: 0;
		top: 0;
		overflow-y: initial;
		transition: none;
		display: none;
	}
	
	.main-menu .sub-menu .sub-menu-inner li {
		border-bottom: none;
		margin-left: 20px;
	}
	
	.main-menu .sub-menu .sub-menu-inner li a {
		position: relative;
		display: block;
		width: -moz-fit-content;
		width: fit-content;
		padding: 5px 0;
		margin: 0;
		text-align: left;
		color: #fff;
	}
	
	.main-menu .sub-menu .sub-menu-inner li a .sub-menu-title {
		margin-top: 0;
		font-size: 18px;
	}
	
	.main-menu .sub-menu .sub-menu-inner li a .menu-icon {
		display: none;
	}
	
	.main-menu .sub-menu .sub-menu-inner li .menu-img-wrap {
		position: relative;
		width: 200px;
		padding-top: 0;
		overflow: hidden;
	}
	
	.main-menu .sub-menu .sub-menu-inner li .menu-img-wrap img {
		display: none;
	}
	
	.main-menu .sub-menu .sub-menu-inner li .img-lines {
		display: none;
	}
	
	.page-banner .page-title {
		margin-top: 140px;
	}
	
	.page-banner.banner-style-image {
		min-height: 101vh;
	}
	
	.inner-menu-wrap {
		position: relative;
		text-align: left;
		width: 100%;
		height: 100%;
		margin: auto;
		padding: 50px 30px;
	}
	
	.inner-menu-wrap .menu-container {
		display: flex;
		flex-direction: column;
		height: 100%;
	}
	
	.inner-header .button-wrap {
		width: 50px;
		height: 50px;
	}
	
	#explore-page {
		position: relative;
		display: flex;
		flex-direction: column;
	}
	
	#explore-page .filter-grid {
		order: 1;
		position: relative;
		display: flex;
		margin-top: 50px;
		margin-bottom: 20px;
		flex-direction: column;
		gap: 25px;
		width: 100%;
		padding: 20px;
	}
	
	#explore-page .filter-grid .filter {
		cursor: pointer;
		outline: 0;
		color: #215868;
		font-size: 14px;
		text-transform: uppercase;
		letter-spacing: 2px;
		border: 1px solid #464646;
		border-radius: 5px;
		-webkit-appearance: none;
		-moz-appearance: none;
		background: transparent;
		background-image: url("https://cdn-ileliok.nitrocdn.com/MDzAFGoMdRuPbLNIaehSPUkXURcsYeJh/assets/images/optimized/rev-cd4c78d/www.herobeachclub.com/wp-content/themes/herobeachclub/images/chev-down.svg");
		background-repeat: no-repeat;
		background-position-y: 50%;
		background-position-x: 95%;
		padding: 15px 20px;
	}
	
	#explore-page .filter-grid .filter.nitro-lazy {
		background-image: none !important;
	}
	
	#explore-page .filter-grid .filter:hover, #explore-page .filter-grid .filter:focus {
		color: #215868;
	}
	
	#explore-page .map-grid {
		order: 2;
	}
	
	.map-grid {
		position: relative;
		grid-gap: 30px 0 !important;
	}
	
	.map-grid .grid-2 {
		grid-template-columns: 50% auto !important;
		grid-gap: 0 10px;
	}
	
	.map-grid .event-locations {
		order: 2;
	}
	
	.map-grid .map-item {
		order: 1;
		padding-top: 0 !important;
	}
	
	.map-grid .map-item #map {
		height: 400px;
	}
	
	.map-grid .map-item #map .gm-style .gm-style-iw-c {
		padding: 50px 20px 10px !important;
		max-width: 100% !important;
		border-radius: 0 !important;
	}
	
	.map-grid .filter-grid {
		gap: 15px;
		width: 100%;
	}
	
	.map-grid .carousel-wrap {
		height: auto !important;
		max-height: initial !important;
		overflow: hidden !important;
		padding-right: 0;
	}
	
	.map-grid .carousel-wrap .explore-slide {
		display: block;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap {
		display: grid;
		grid-template-columns: auto 112px;
		padding: 50px 1% 0;
		grid-gap: 20px;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-nav {
		position: relative;
		top: 0;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		order: 2;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-nav .arrows {
		position: relative;
		display: flex;
		border-radius: 50%;
		border: 1px solid #215868;
		width: 50px;
		height: 50px;
		padding: 10px;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-nav .arrows:hover {
		background-color: #215868;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-nav .arrows:hover svg {
		fill: #fff;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-nav .arrows svg {
		width: 80%;
		position: relative;
		fill: #215868;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-nav .arrows .left, .map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-nav .arrows .right {
		display: flex;
		justify-content: center;
		justify-items: center;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-dots {
		width: 100%;
		position: relative;
		bottom: 0;
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		order: 1;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-dots .owl-dot {
		width: 50%;
		height: 3px;
		border-radius: 0;
		margin: 0;
	}
	
	.map-grid .carousel-wrap .explore-slide .owl-nav-wrap .owl-dots .owl-dot.active {
		background-color: #215868;
	}
	
	.location-grid .btn-wrap {
		grid-template-columns: auto !important;
	}
	
	.duration {
		display: inline-flex;
	}
	
	.duration .duration-info {
		display: flex;
		padding: 0 10px;
	}
	
	.duration .duration-info .duration-icon {
		padding-right: 5px;
	}
	
	.filters-columns {
		flex-direction: column;
		align-items: normal;
	}
	
	.filters-columns select.blog-select {
		width: 100%;
	}
	
	.filters-columns select.order-select {
		width: 100%;
	}
	
	.btn-style-2 {
		font-size: 24px;
	}
	
	#menu-footer-menu {
		-moz-columns: 2;
		columns: 2;
	}
	
	.stay-cat {
		background-color: #fff;
		padding: 50px 5% 0;
	}
	
	.stay-grid {
		margin: 0 auto;
		grid-gap: 20px 0 !important;
	}
	
	.stay-grid .grid-item {
		padding: 20px;
	}
	
	.stay-grid .grid-item .post-img {
		height: 250px;
	}
	
	.stay-grid .grid-item .post-title h3 {
		font-size: 32px;
		margin-top: 20px;
	}
	
	.single-room-gallery-carousel-slider-box {
		position: relative;
		margin: 50px 0 100px;
	}
	
	.single-room-gallery-carousel-slider-box .section-title {
		color: #215868;
		font-family: Run Wild;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.single-room-gallery-carousel-slider-box .carousel-wrap .content-slide .owl-stage {
		height: 250px;
		overflow: hidden;
	}
	
	footer .footer-bar {
		flex-direction: column;
	}
	
	footer .footer-bar .left-side .footer-menu {
		-moz-columns: 2;
		columns: 2;
	}
	
	footer .footer-bar .right-side .site-info {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 0 10px;
	}
	
	footer .footer-bar .footer-menu li {
		margin: 10px 20px 10px 0;
	}
	
	footer .builtby {
		align-items: flex-start;
	}
	
	.footer-widgets .footer-item {
		border-bottom: 1px solid #fff;
		padding-bottom: 5px;
	}
	
	.footer-widgets .footer-item:last-of-type {
		border-bottom: none;
		padding-bottom: 0;
	}
	
	.popout-form {
		max-width: 100%;
		width: 100%;
	}
	
	.social-share-flex {
		margin-top: 50px;
		display: grid;
		grid-template-columns: auto 210px;
		align-items: center;
		grid-gap: 0 10px;
	}
	
	.social-share-flex .social-share-line {
		height: 2px;
		border: 1px solid #c2c6c9;
	}
	
	.social-share-flex .social-share {
		gap: 10px;
	}
	
	.social-share-flex .social-share a {
		margin-top: 0 !important;
	}
	
	.social-share-flex .social-share-flex {
		grid-template-columns: auto 200px;
		gap: 20px;
	}
	
	.social-share-flex .social-share-flex .social-share {
		gap: 10px;
	}
	
	.breadcrumb {
		margin-bottom: 10px;
	}
	
	.breadcrumb ul li {
		font-size: 12px;
		margin: 0 5px;
		display: flex;
		align-items: center;
	}
	
	.breadcrumb ul li.truncate {
		width: 160px;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
	}
	
	.mobile-section-padding {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}
	
	.mobile-section-margin {
		margin-top: 60px !important;
		margin-bottom: 60px !important;
	}
	
	.blog {
		padding-bottom: 60px;
	}
	
	#how-to-find-us {
		margin-top: 60px !important;
	}
	
	#map {
		height: 400px;
		width: 100%;
	}
	
	#map .gm-style .gm-style-iw-c {
		padding: 50px 10px 10px !important;
		max-width: 100% !important;
	}
	
	.single-room-content {
		padding: 0 5% 60px;
	}
	
	.single-room-columns .content {
		grid-gap: 60px 0 !important;
	}
	
	.single-room-columns .content .left-content p:last-of-type {
		margin-bottom: 0;
	}
	
	.single-room-columns .content .right-content .amenities-list {
		margin-top: 20px;
		margin-bottom: 0;
	}
	
	.date-booking .dates-available-wrap .search-option-box {
		right: 50%;
		transform: translateX(50%);
		width: 100%;
	}
	
	.room-availability-search {
		grid-template-columns: 100%;
		grid-gap: 0;
	}
	
	.room-availability-search .dates-selected {
		position: relative;
		width: 100%;
		flex-direction: column;
		padding: 20px 20px 0;
	}
	
	.room-availability-search .dates-selected .datepicker-container {
		position: relative;
		bottom: 0;
	}
	
	.room-availability-search .dates-selected .datepicker-container.search-bottom {
		top: unset !important;
	}
	
	.room-availability-search .dates-selected .datepicker-container.search-top {
		bottom: unset !important;
	}
	
	.room-availability-search .dates-selected .dates-wrap {
		text-align: center;
		border: 1px solid #ccc;
		border-bottom: none;
	}
	
	.room-availability-search .adult-children-select {
		padding: 0 20px;
		width: 100%;
		text-align: center;
		flex-direction: column;
	}
	
	.room-availability-search .adult-children-select .arrow-down {
		position: absolute;
		right: 30px;
	}
	
	.room-availability-search .adult-children-select .search-option {
		padding: 10px;
		border: 1px solid #ccc;
	}
	
	.room-availability-search .adult-children-select .num-adult-child-wrap {
		position: relative;
		width: 100%;
		bottom: 0;
	}
	
	.room-availability-search .special-codes {
		padding: 0 20px;
	}
	
	.room-availability-search .special-codes .arrow-down {
		position: absolute;
		right: 30px;
	}
	
	.room-availability-search .special-codes .search-option {
		padding: 10px;
		border: 1px solid #ccc;
		border-top: none;
	}
	
	.room-availability-search .search-room .button {
		width: 100%;
		max-width: 100%;
	}
	
	.datepicker-container {
		width: 100%;
	}
	
	.ui-state-default, .ui-widget-content .ui-state-default {
		width: auto;
	}
	
	.ui-datepicker-inline {
		flex-direction: column;
	}
	
	.tax-fee-text {
		text-align: center;
	}
	
	.calender-btn-wrap {
		flex-direction: column;
	}
	
	.calender-btn-wrap div {
		max-width: 100%;
	}
	
	.special-codes {
		flex-direction: column;
	}
	
	.special-codes .special-codes-option {
		position: relative;
		right: 0;
		bottom: 0%;
		background-color: #fff;
		max-width: 600px;
		width: 100%;
		transform: translateX(0);
	}
	
	.special-codes .special-codes-option .grid-3 {
		grid-gap: 10px;
	}
	
	.ui-datepicker-group-first {
		margin-right: 0 !important;
	}
	
	.ui-datepicker-group-last {
		margin-left: 0 !important;
	}
	
	#room-search-form {
		z-index: 105;
	}
	
	#room-search-form .search-title {
		margin-top: 50px;
	}
	
	.search-wrap-fixed {
		position: relative !important;
		top: 0 !important;
	}
	
	.search-wrap .search-bg {
		display: none !important;
	}
	
	.search-wrap .option-box-wrap.option-active {
		background: #fff;
		color: #215868;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1199px) {
	.btn-style-2 {
		font-size: 26px;
	}
	
	.location-grid .btn-wrap {
		grid-template-columns: auto !important;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1440px) {
	.btn-style-2 {
		font-size: 28px;
	}
	
	.location-grid .btn-wrap {
		grid-template-columns: auto !important;
	}
}
