/* Resort Swiper Wrapper */
.cms-resorts-gallery-wrap { margin: 3.125rem 0; max-width: 100%; }
.cms-resorts-gallery-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
@media (min-width: 1025px) {
  .cms-resorts-gallery-wrap { max-width: calc(100vw - var(--srpMapContainerWidth) - var(--scrollbarWidth) - 6rem); }
  .map-collapse .cms-resorts-gallery-wrap { max-width: calc(100vw - var(--scrollbarWidth) - 6rem); }
}

/* Resort Swiper Controls */
.resorts-gallery-swiper { padding: 1.875rem 0.9375rem; }
.resorts-gallery-controls { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 25rem; margin: auto; position: relative; }
.resorts-gallery-controls .resort-btn-next,
.resorts-gallery-controls .resort-btn-prev { width: 3.125rem; height: 3.125rem; margin: auto; position: relative; top: auto; right: auto; left: auto; background: transparent; border-radius: 50vw; box-shadow: none; color: hsl(var(--siteColor1)); transition: all 0.4s ease-in-out; }
.resorts-gallery-controls .resort-btn-next:hover,
.resorts-gallery-controls .resort-btn-prev:hover { background: hsl(var(--siteColor1)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.resorts-gallery-controls .resort-btn-next:focus,
.resorts-gallery-controls .resort-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.resorts-gallery-controls .resort-btn-next:after,
.resorts-gallery-controls .resort-btn-prev:after { font-size: 1.875rem; }
.resorts-gallery-controls .resort-pagination { /* width: auto; */ display: flex; align-items: center; position: relative; top: auto; right: auto; bottom: auto; left: auto !important; transform: none !important; }

/* Resort Swiper Images */
.resort-gallery-img-wrap { width: 100%; position: relative; padding-bottom: 70%; overflow: hidden;  background: var(--placeholderBG); border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.resort-gallery-link { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.resort-gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 2; }
.resort-gallery-link .swiper-caption { padding: 0.3125rem 0.75rem 0.3125rem 1rem; position: absolute; bottom: 0; left: 0; z-index: 3; background: hsla(var(--black), 75%); border-top-right-radius: var(--borderRadiusCheckbox); color: hsl(var(--white)); line-height: 1; }

/* CLS Fixes */
.resorts-gallery-controls { height: 3rem; }
.resorts-gallery-img-wrap { height: 15rem; padding-bottom: 0; }
.resorts-gallery-swiper .swiper-slide { --marginRight: 1.875rem; --columns: 1; margin-right: var(--marginRight); width: calc(calc(100% / var(--columns)) - var(--marginRight) + calc(var(--marginRight) / var(--columns))); }
@media (min-width: 0) {
  .resorts-gallery-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 667px) {
  .resorts-gallery-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 992px) {
  .resorts-gallery-swiper .swiper-slide { --columns: 3; }
}
@media (min-width: 1200px) {
  .resorts-gallery-swiper .swiper-slide { --columns: 4; }
}

/* Resort Single Image */
.resort-detail-content-wrap { display: flex; flex-wrap: wrap; flex-direction: row; align-items: center;  }
.resort-single-img-wrap { width: 100%; max-width: 43.75rem; position: relative; padding-bottom: 70%; overflow: hidden; background: var(--placeholderBG); border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.resort-single-img { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 2; }
.resort-detail-content-wrap .resort-detail-info-wrap { width: 100%; }
@media (min-width: 812px) {
  .resort-single-img-wrap { width: 45%; flex-basis: 45%; padding-bottom: 30%; }
  .resort-detail-content-wrap .resort-detail-info-wrap { width: 55%; flex-basis: 55%; }
}

/* Resort Detail Info */
.resort-detail-info-wrap { padding: 1rem; }
.resort-detail-description { margin-bottom: 1rem; }
.resort-detail-amenities { margin-bottom: 1rem; }

.resorts-back-to-condos, .resorts-back-to-condos a { color:#929292; }
.resort-navigation { margin: 0 -0.25rem; }
.resort-navigation a { padding:0 0.25rem 0.25rem; text-transform:uppercase; }
.resort-detail-content-wrap { display:flex; flex-wrap:wrap; align-items:flex-start; margin:1rem 0; }
.resort-detail-nav-tabs, .resorts-info-sidebar { width:100%;  margin-bottom:1rem;}
  .resort-detail-nav-tabs { order:1; }
  .resorts-info-sidebar { order:2; }
@media(min-width:1025px){
  .resort-detail-content-wrap { margin-left:-0.5rem; margin-right:-0.5rem; }
  .resort-detail-nav-tabs, .resorts-info-sidebar { width:50%; padding:0 0.5rem; margin-bottom:0; }

}

.resort-header-bar-sub-navigation { padding: 0; margin: 0 0 1rem 0; display: none; justify-content: center; align-items: center; border-bottom:none; background-color:hsl(var(--white)); border-radius: 1rem; }
.resort-header-bar-sub-navigation-item.nav-item { display: flex; justify-content: center; align-items: center; list-style: none; padding: 0; margin: 0 .25rem; border-radius: 1rem; position: relative; margin-bottom:0; flex-grow:1; }
.resort-header-bar-sub-navigation-item .resort-header-bar-sub-navigation-btn.nav-link { background-color: transparent; width:100%; font-size: 1rem; font-weight: var(--wBold); padding: 1rem 0.75rem; color: hsl(var(--white)); border:none; border-radius: 0; text-transform:uppercase; background-color: hsl(var(--siteColor1));  }
.resort-header-bar-sub-navigation-item:first-child  .resort-header-bar-sub-navigation-btn.nav-link{ border-left:none; }
.resort-header-bar-sub-navigation-item .resort-header-bar-sub-navigation-btn.nav-link.active { background-color:hsla(var(--siteColor1), 75%); color:hsl(var(--white)); }
.resort-header-bar-sub-navigation-btn:hover,
.resort-header-bar-sub-navigation-btn:active,
.resort-header-bar-sub-navigation-btn:focus { box-shadow: none; }

#resortTabContent.tab-content>.tab-pane { display:block; opacity:1; width:100%;}
#resortTabContent .resort-section-header { font-size:1.25rem; position:relative; cursor:pointer; color:#9a9a9a; font-weight:var(--wHeavy); background-color: hsl(0,0%,97.3%);  border: 1px solid hsl(var(--siteColor6)); padding:0.75rem 1.5rem; border-radius: 0; margin:0.25rem 0; }
#resortTabContent .resort-section-header:after { content: ""; display: block;height: 1.25rem; position: absolute; top: 50%; right: 1rem; transform: translate(0, -50%);  width: 15px; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="hsl(0,0%,60.4%)" d="M368 224H224V80c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h144v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V288h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path></svg>'); }
#resortTabContent .resort-section.open .resort-section-header { background-color:hsl(var(--siteColor1)); color:hsl(var(--white)); }
#resortTabContent .resort-section.open .resort-section-header:after { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="hsl(0,0%,100%)" d="M368 224H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path></svg>'); }
#resortTabContent .resort-section-body { background-color: hsl(0,0%,97.3%); height:0; border: 1px solid hsl(var(--siteColor6)); padding:0 1.5rem; border-radius:var(--borderRadius); opacity:0; transition:all 0.3s; overflow:hidden; margin:0; }
.resort-section-body-wrapper { display: flex; flex-direction: column;}
.resort-left-image { width: 100%; }
.resort-left-image img { margin-bottom: 1rem; width: 100%; }
.resort-info-right { padding-left: 0rem; }
#resortTabContent .resort-section.open .resort-section-body { padding:1.5rem; height:auto; opacity:1; visibility:visible; margin:0.5rem 0;}
#resortTabContent #resortLocationMap { height:30rem; }
#resortTabContent .be-read-more-wrap { --defaultHeight: auto; }
#resortTabContent .be-read-more-wrap:after { content:none; }
#resortTabContent .be-read-more-btn { display:none; }

@media(min-width:1025px){
	.resort-header-bar-sub-navigation { display:flex; }
	#resortTabContent.tab-content>.tab-pane { display:none; opacity:0; }
	#resortTabContent.tab-content>.active { display:block; opacity:1; }
	#resortTabContent { width: 95%; margin: 0 auto; background-color: hsl(0,0%,97.3%);  border: 1px solid hsl(var(--siteColor6)); padding:1.5rem; border-radius: .5rem; }
	#resortTabContent .resort-section-body { background-color:transparent; border:none; padding:0; border-radius:0; margin-bottom:0; opacity:1; visibility:visible; height:auto;; }
	#resortTabContent .resort-section-header { display:none; }
	#resortTabContent .be-read-more-wrap {  --defaultHeight: 9.6rem; }
	#resortTabContent .be-read-more-wrap:after { content:''; background:linear-gradient(0deg, hsl(0,0%,97.3%) 0%, hsla(0,0%,97.3%, 0) 100%); }
	#resortTabContent .be-read-more-btn { display:inline-flex; }
	#resortTabContent .be-read-more-btn:hover, #resortTabContent .be-read-more-btn:focus {box-shadow: none;}
	.resort-section-body-wrapper { display: flex; flex-direction: row;}

	.resort-left-image img { width: unset; }

}
@media(min-width:1200px){
	.resort-header-bar-sub-navigation-item .resort-header-bar-sub-navigation-btn.nav-link { padding:0.75rem 1rem; font-size:1rem; }
}

/* SRP - FAQs - Questions and Answers */
.resort-faqs-question { font-size: 1.125rem; }
.resort-faqs-question-author { font-size: 1rem; color: hsl(var(--siteColor1)); font-style: italic; margin-top: 0.5rem; }
.resort-faqs-question-posted { font-size: 1rem; color: hsla(var(--bodyFontColor), 75%); }
.resort-faqs-response { font-size: 1rem; margin: 0 0 1rem 3rem; background-color: hsla(var(--siteColor1), 15%); padding: 1.25rem 1.5rem; border-radius: 1rem; }
.resort-faqs-response p:last-child { margin-bottom: 0; }
.resort-faqs-btns { position: relative; }
.resort-faqs-btns .btn { display: flex; justify-content: space-between; width: 100%; position: relative; }
.resort-faqs-btns .btn .icon { margin: 0; }
.resort-faqs-btns-row { margin-bottom: 0.75rem; display: flex; flex-wrap:wrap; justify-content: space-between; }
.resort-faqs-btns-row:last-child { margin-bottom: 0; }
.resort-faqs-btns .resort-faqs-btn-next { padding-right: 0.75rem; margin-right: 0.25rem; margin-bottom:0.25rem; }
.resort-faqs-btns .resort-faqs-pagination { width: auto; bottom: auto; left: auto; }
.resort-faqs-btns .resort-faqs-btn-ask-your-question { justify-content: center; margin-bottom:0.25rem; }
.resort-faqs-btns .resort-faqs-btn-ask-your-question .icon { margin-right: 0.75rem; }
@media (min-width: 1025px) {
	.resort-faqs.hasSwiper { opacity:0; }
	.resort-faqs.hasSwiper.show { opacity:1; }
	.resort-faqs-btns { display: flex; justify-content: center; flex-wrap: wrap; }
	.resort-faqs-btns-row:first-child { padding-right: 0.25rem; }
	.resort-faqs-btns-row:last-child { margin-bottom: 0.75rem; }
	.resort-faqs-btns .btn { width: auto; min-width: 10rem; }
}

/* SRP Sidebar Amenities szection */
.resort-sidebar-header-bar { width: 90%; padding-top: 3rem; background-color: none; display: flex; justify-content: space-evenly; align-items: center; padding: 0; line-height: 1; margin-right: -0.5rem; border-radius:0.5rem 0.5rem 0 0; text-transform: capitalize; }
.resort-sidebar-header-bar hr { border-top: 1px solid hsl(var(--siteColor1)); width: 80%; margin-left: 1rem; }
.resort-sidebar-header-bar img { height: 170%; width: 4rem; transform: rotate(-70deg); margin-right: -1rem; margin-bottom: 1rem; }
.resort-sidebar-header-bar span { margin-left: .25rem; font-size: 1rem; text-transform: uppercase;}
.resort-sidebar-header-heading { font-size: 1.5rem !important; letter-spacing: .15rem; font-weight: var(--wMedium); color: hsl(var(--siteColor1)); font-family: var(--siteFont4); text-transform: capitalize !important; }
.resort-sidebar-main-content { padding:0; background-color:hsl(var(--white)); overflow-y: auto; }
.resort-sidebar-main-content .resort-dates-datepicker .btn { padding:0.75rem 0.25rem; }
.resort-sidebar-more-hr { position: relative; padding: 0.75rem 0; }
.resort-sidebar-more-hr-icon { cursor: pointer; padding: 0.75rem; background-color: hsl(var(--white)); position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2; }
.resort-sidebar-more-hr-icon .icon { color: hsla(var(--siteColor1), 50%); width: 1rem; height: 1rem; }
.property-details { display: grid; width: 100%; margin: 0 auto; text-align: center; font-size: 1rem; }
.property-details p { margin:1em; max-height: 15rem; overflow: hidden; }
.property-details-title { display:none; }
.property-details .icon { color:#929292; height:1.5rem; width:1.5rem; }
.property-details .property-details-text { margin-bottom:2rem; color:hsl(var(--siteColor1)); }

@media (min-width: 1025px) {
  .resort-sidebar-header-bar { height: 3rem; margin: 1rem 0 1rem; display:flex; justify-content:space-evenly; }
  .resort-sidebar-main { scrollbar-color: transparent transparent; margin-bottom:4rem;  } /* Firefox */
  .resort-sidebar-header-heading { font-size: 5rem; }
	.resort-sidebar-main-content {  border-radius:0 0 0.5rem 0.5rem; padding:0 1rem;}
  .property-details-title { display:block; }
  .resort-sidebar-header-bar span { margin-left: .75rem; font-size: 3rem; text-transform: uppercase;}
  .resort-sidebar-header-bar img { height: 170%; width: 6rem; transform: rotate(-70deg); margin-right: -1rem; margin-bottom: 1rem; }
  .property-details { display: block; width: 100%; margin: 0 auto; text-align: left; font-size: 1rem; }
}

/* SRP - Gallery Format Modal */
.resort-gallery-format-modal-img-link { display: block; width: 100%; height: auto; margin-bottom: 1rem; }
.resort-gallery-format-modal-img-link:last-child { margin-bottom: 0; }
.resort-gallery-format-modal-img { width: 100%; height: auto; }

.resort-section.resort-property-photos { padding:0 1rem; }
.resort-property-widget-placeholder { padding-bottom: calc(var(--sliderPaddingBottom) + 32.5%); display:none;  }
.resort-property-widget-placeholder.loaded { padding-bottom: 0; }
.resort-property-widget-placeholder.loaded .resort-section.resort-property-photos { opacity: 1; visibility: visible; position: relative; left: auto; }
.resort-property-widget-placeholder .resort-property-widget { margin: 0; }
.resort-property-widget-placeholder .resort-property-widget .be-property-widget { margin: 0; }
.resort-property-widget-img-area-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	grid-template-areas:
		"large large"
		"small show"
	;
}
.resort-property-widget-img-area-grid .be-property-widget-img-area-favorite { top: 1rem; }
.resort-property-widget-img-area-grid-item { padding-bottom: 65%; border-radius: 0.5rem; cursor: pointer; position: relative; }
.resort-property-widget-img-area-grid-item.large { grid-area: large; position: relative; }
.resort-property-widget-img-area-grid-item.small { grid-area: small; margin:0.5rem 0.5rem 0 0; }
.resort-property-widget-img-area-grid-item.small.show { grid-area: show; position: relative; margin-right:0; }

.resort-property-widget-img-area  { background: none; }
.resort-property-widget-img-area .be-property-widget-img-link { width: auto; height: auto; position: relative; top: auto; left: auto; right: auto; bottom: auto; background: none; }
.resort-property-widget-img-area-grid-item-show-overlay { background-color: hsla(var(--black), 35%); display: flex; justify-content: center; align-items: center; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; width: 100%; height: 100%; }
.resort-property-widget-img-area-grid-item-show-overlay-content { display: flex; justify-content: center; align-items: center; }
.resort-property-widget-img-area-grid-item-show-overlay-content .icon { margin-right: 0.5rem; }
.resort-property-widget-img-area-grid-item-show-overlay-content .icon,
.resort-property-widget-img-area-grid-item-show-overlay-content span { color: hsl(var(--white)); }
.resort-property-widget-img-area-grid-item-show-overlay-content span { font-size: 1.5rem; }

@media (min-width: 1025px) {
	.resort-main { padding:0 0 3rem 1.5rem; }
	.resort-property-widget-placeholder { display: none; }
	.resort-section.resort-property-photos { opacity: 1; visibility: visible; position: relative; left: auto; }
	.be-wrapper {
		grid-template-columns: 1fr minmax(1rem, var(--mainContainerWithSidebar)) var(--sidebarWidth) 1fr;
		grid-template-areas:
			"header header header header"
			". title title ."
			". main sidebar ."
			"footer footer footer footer"
		;
	}
	.resort-property-widget {  z-index: 1; }
	.resort-property-widget .be-property-widget { margin: 0; box-shadow: none; }
	.resort-property-widget-img-area-grid {
		display: grid;
    grid-template-columns: 50% 1fr 1fr;
		grid-template-areas:
			"large left-top right-top"
			"large left-bottom show"
		;
	}
  .resort-property-widget-img-area-grid-item.large { margin-right:0.5rem; }
  .resort-property-widget-img-area-grid-item.small { margin: 0 0 0.5rem 0.5rem; }
  .resort-property-widget-img-area-grid-item.small.show { margin-bottom: 0; }
  .resort-property-widget-img-area-grid-item.small.left-top { grid-area: left-top; }
  .resort-property-widget-img-area-grid-item.small.right-top { grid-area: right-top; }
  .resort-property-widget-img-area-grid-item.small.left-bottom { grid-area: left-bottom; margin-bottom:0; }
}

/* Palm Fronds */
.srp-main { z-index: 1; }
.be-main-resort:before { content: ''; opacity: 50%; position: absolute; top: -30%; left: 0; width: 70%; height: 100%; z-index: 0; background: url('/images/layout/Featured-Left-Frond.png') no-repeat center center / cover; }
.be-main-resort:after { display: block; content: ''; opacity: 50%; position: absolute; top: 0; right: 0; height: 30rem; width: 20%; z-index: 0; background: url('/images/layout/Popular-Search-Right-Frond.png') no-repeat center center / cover; }
.property-details { column-count: 2; column-gap: 2rem; }
.property-details p { display: list-item; list-style-type: disc; list-style-position: outside; break-inside: avoid; margin: 0 0 .5rem 0; overflow: inherit; }
.title-resort { gap: 16px; align-items: center;  }
.title-resort img { height: 170%; width: 3rem; transform: rotate(-70deg); margin-right: -1rem; margin-bottom: 1rem; }