/* Destination Hero */
.destination-cms-hero-swiper-wrap { position: absolute; top: 0; left: 0; right: 0; height: 100%; width: 100%; z-index: 1; }
.destination-cms-hero-swiper-wrap .swiper-container { height: 100%; }
.destination-cms-hero-swiper-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.destination-cms-hero-swiper-wrap .swiper-pagination { display: none; width: auto; padding: 0.25rem; position: absolute; bottom: 1rem; left: 50%; z-index: 99; transform: translate(-50%, 0); }
.destination-cms-hero-swiper-wrap .swiper-pagination-bullet { background: hsla(var(--white), 75%); }
.destination-cms-hero-swiper-wrap .swiper-pagination-bullet-active { background: hsl(var(--white)); }
.destination-hero-swiper-img-wrap { height: 100%; padding: 0; position: relative; background: var(--placeholderBG); }
.destination-hero-swiper-img { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
@media (min-width: 568px) {
  .destination-hero-swiper-img-wrap { height: 100%; }
}
@media (min-width: 768px) {
  .destination-cms-hero-swiper-wrap .swiper-pagination { display: flex; }
}
@media (min-width: 1025px) {
  .destination-cms-hero-swiper-wrap { position: relative; }
  .destination-hero-swiper-img-wrap { height: calc(100vh - var(--qsHeight)); max-height: 65rem; }
}

/* Destination Welcome section */
.destination-welcome { padding: 1rem 0 2rem; background: hsl(var(--white)); }
@media (min-width: 1025px) {
  .destination-welcome { padding: 3rem 0 2rem; }
}

/* Destination Callouts */
.callout-destinations-wrap { padding: 1.5rem 0; }
.callout-destinations-wrap .container { max-width: 100rem; }
.callout-destinations-wrap .title-container { padding: 0 1.875rem; }
.callout-destinations-wrap .callout-block { aspect-ratio: 1 / 1.25; }
@media (min-width: 480px) {
  .callout-destinations-wrap .callout-block { aspect-ratio: 1 / 1; }
}
@media (min-width: 1200px) {
  .callout-destinations-wrap .callout-block { aspect-ratio: 1 / 1; }
}

.callout-destinations-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) {
  .callout-destinations-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 812px) {
  .callout-destinations-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 1200px) {
  .callout-destinations-swiper .swiper-slide { --columns: 3; }
}

/* Destination Callout Blocks */
.callout-block.destination-block .destination-block-info-wrap { overflow-y: hidden; -ms-overflow-style: none; scrollbar-width: none; width: calc(100% - 3rem); max-width: 17rem; transition: all 0.4s ease-in-out; transition-delay: 0.25s; }
.callout-block.destination-block .destination-block-info-wrap::-webkit-scrollbar { display: none; }
.callout-block.destination-block:hover .destination-block-info-wrap { overflow-y: auto; max-width: 100%; max-height: calc(100% - 3rem); transition-delay: 0s; }
.callout-block.destination-block .destination-block-listing { opacity: 1; visibility: visible; max-height: 10rem; transition: all 0.4s ease-in-out; transition-delay: 0.25s; }
.callout-block.destination-block:hover .destination-block-listing { opacity: 0; visibility: hidden; max-height: 0; transition-delay: 0s; }
.callout-block.destination-block .destination-block-info-wrap .destination-block-text-wrap { opacity: 0; visibility: hidden; max-height: 0; display: flex; flex-direction: column; align-items: flex-start; margin-top: 0; transition: all 0.4s ease-in-out; transition-delay: 0s; }
.callout-block.destination-block:hover .destination-block-text-wrap { opacity: 1; visibility: visible; max-height: 50rem; margin-top: 0.5rem; transition-delay: 0.25s; }
.callout-block.destination-block .destination-block-info-wrap .destination-block-btn { margin-top: 1rem; }
.callout-block.destination-block .destination-block-info-wrap .destination-block-title { font-size: 1.5rem; transition: all 0.4s ease-in-out; }

/* Destination Secondary Content section */
.destination-secondary-content-wrap { width: 100%; position: relative; padding: 1.5rem 0 0.5rem; }
.destination-secondary-content-wrap .container { max-width: 100rem; padding: 0 1.9375rem; }
.destination-secondary-content-wrap img { display: block; object-fit: cover; width: 100%; max-width: 100%; height: auto; min-height: 20rem; margin: 0 0 1.5rem; }

/* Destination Tertiary Content section */
.destination-tertiary-content-wrap { width: 100%; position: relative; padding: 1.5rem 0 0.5rem; }
.destination-tertiary-content-wrap .container { max-width: 100rem; padding: 0 1.9375rem; }
.destination-tertiary-content-wrap img { display: block; object-fit: cover; width: 100%; max-width: 100%; height: auto; min-height: 20rem; margin: 0 0 1.5rem; }

/* Destination Recent Blog Posts */
.destination-blog-wrap { width: 100%; position: relative; padding: 2.5rem 0; background: hsla(var(--siteColor1), 10%); }
.destination-blog-wrap .container { max-width: 100rem; }
.destination-blog-wrap .title-container { padding: 0 1.875rem; }
.destination-blog-wrap .title { margin-bottom: 1rem; }
.destination-blog-wrap .tagline { margin-bottom: 0.5rem; }
.destination-blog-wrap .btn-container { margin: 3rem auto 0; text-align: center; }
.destination-blog-wrap .btn-container .btn { padding: 1.5rem 2.5rem; font-weight: var(--wBold); }
@media (min-width: 1025px) {
  .destination-blog-wrap { padding: 3rem 0; }
}

.callout-block-info-wrap.recent-blog-block-info-wrap { overflow-y: hidden; -ms-overflow-style: none; scrollbar-width: none; display: flex; flex-direction: column; justify-content: space-between; max-width: 100%; max-height: calc(100% - 3rem); background: hsla(var(--siteColor1), 0.9); }
.callout-block-info-wrap.recent-blog-block-info-wrap::-webkit-scrollbar { display: none; }
.callout-block.recent-blog-block { aspect-ratio: 1 / 1.25; }
.callout-block.recent-blog-block:hover .recent-blog-block-info-wrap { overflow-y: auto; background: hsl(var(--siteColor1)); }
.callout-block.recent-blog-block .recent-blog-block-title { margin-bottom: 1rem; }
.callout-block.recent-blog-block .recent-blog-block-text-wrap { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }
.callout-block.recent-blog-block .recent-blog-block-text { margin: auto; }
.callout-block.recent-blog-block .recent-blog-block-btn { margin: auto; margin-top: 0.75rem; }
@media (min-width: 480px) {
  .callout-block.recent-blog-block { aspect-ratio: 1 / 1; }
}
@media (min-width: 1025px) {
  .callout-block.recent-blog-block { padding: 2.5rem; }
  .callout-block-info-wrap.recent-blog-block-info-wrap { width: calc(100% - 5rem); /* height: calc(100% - 5rem); */ }
  .callout-block.recent-blog-block .recent-blog-block-btn { margin: 0.75rem 0 0; }
  .callout-block.recent-blog-block .recent-blog-block-text { margin: 0; }
}
@media (min-width: 1200px) {
  .callout-block.recent-blog-block { aspect-ratio: 1 / 1; }
}

/* Recent Blog Swiper */
.destination-blog-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.blog-swiper { max-width: 112.5rem; padding: 1.25rem 1rem 0; position: relative; }
.blog-swiper-controls { height: 3.25rem; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 10rem; height: 3.25rem; margin: 1.5rem auto; }
.blog-swiper-controls .blog-btn-next,
.blog-swiper-controls .blog-btn-prev { width: 3.125rem; height: 3.125rem; margin: 0; position: relative; top: auto; right: auto; left: auto; background: hsl(var(--white)); border-radius: 50vw; box-shadow: 0.125rem 0.125rem 0.5rem hsla(var(--black), 0.25); color: hsl(var(--black)); transition: all 0.4s ease-in-out; }
.blog-swiper-controls .blog-btn-next:hover,
.blog-swiper-controls .blog-btn-prev:hover { background: hsl(var(--siteColor1)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.blog-swiper-controls .blog-btn-next:focus,
.blog-swiper-controls .blog-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.blog-swiper-controls .blog-btn-next:after,
.blog-swiper-controls .blog-btn-prev:after { display: none; }
.blog-swiper-controls .blog-btn-next .icon,
.blog-swiper-controls .blog-btn-prev .icon { width: 1.25rem; height: 1.25rem; }
.blog-pagination { display: flex; display: none; align-items: center; position: relative; top: auto; right: auto; left: auto; }
@media (min-width: 667px) {
  .blog-controls { max-width: 100%; padding: 0 0.5rem; position: absolute; top: 50%; left: 50%; z-index: 9; transform: translate(-50%, -50%); margin: 0; }
}
@media (min-width: 992px) {
  .blog-controls { padding: 0 16%; }
}

.blog-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) {
  .blog-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 768px) {
  .blog-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 1200px) {
  .blog-swiper .swiper-slide { --columns: 3; }
}

/* Destination Testimonials section */
.cms-testimonials-destination-container { position: relative; padding: 0 0 10rem; background: hsl(var(--white)); }


/* Destination Grid Page */
.cms-destinations-grid-wrap { margin: 3.125rem 0; }
.cms-destinations-grid-wrap [class^=col] { display: flex; margin-bottom: 1.875rem; }
.cms-destinations-grid-wrap .card { overflow: hidden; width: 100%; position: relative; border: none; border-radius: var(--borderRadius); box-shadow: var(--dropShadow); }
.cms-destinations-grid-wrap .card:hover { box-shadow: var(--dropShadow), var(--dropShadow); background-color: hsl(var(--black)); }
.cms-destinations-grid-wrap .card-link { overflow: hidden; display: block; background: hsl(var(--black)); }
.cms-destinations-grid-wrap .card-img-top { opacity: 0.85; width: 100%; height: 15.625rem; object-fit: cover; border-radius: var(--borderRadius) var(--borderRadius) 0 0 !important; transform: scale(1); transition: all ease-in-out 0.4s; }
.cms-destinations-grid-wrap .card:hover .card-img-top { opacity: 1; transform: scale(1.2); }
.cms-destinations-grid-wrap .card-body { display: flex; flex-direction: inherit; justify-content: space-between; padding: 1rem 1.25rem; background-color: hsl(var(--white)); }
.cms-destinations-grid-wrap .card-text { margin: 0; }
.cms-destinations-grid-wrap .card-title, .cms-destinations-grid-wrap .card-sub-title { font-weight: var(--wMedium); }
.cms-destinations-grid-wrap .btn { display: block; margin-top: 0.9375rem; background-color: hsl(var(--siteColor1)); border-radius: var(--borderRadius); color: hsl(var(--white)); font-weight: var(--wMedium); transition: all ease-in-out 0.4s; }
.cms-destinations-grid-wrap .btn:hover { background-color: hsl(var(--siteColor2)); }
