:root {
  --destinationPrimaryColor: 209, 56%, 22%;
}

/* Layout Wrap */
.destination-wrap { font-family: var(--siteFont1), sans-serif; font-size: 1.375rem;  }
.destination-wrap .i-content { padding: 7.5rem 0 2.5rem; font-size: 1.125rem; line-height: 1.5; color: hsl(var(--destinationPrimaryColor)); }
.destination-wrap .container { max-width: 103.75rem; }
.destination-wrap .tagline { font-family: var(--siteFont3); font-size: 13px; text-transform: uppercase; color: hsl(var(--siteColor9)); }
.destination-wrap .h1,
.destination-wrap h2,
.destination-wrap .h2,
.destination-wrap h3,
.destination-wrap .h3 { font-family: var(--siteFont2), serif; color: hsl(var(--destinationPrimaryColor)); line-height: 1.0125; text-transform: none; font-weight: var(--wHeavy); font-style: normal; }
.destination-wrap .h1 { font-size: 3rem; }
.destination-wrap h2,
.destination-wrap .h2 { font-size: 2.625rem; }
.destination-wrap h3,
.destination-wrap .h3 { font-size: 2.25rem; }
.destination-wrap .content-builder-wrap img { width: 100%; height: auto; border-radius: 3rem !important; }
@media(min-width: 1025px){
  .destination-wrap .h1 { font-size: 3.75rem; }
  .destination-wrap h2,
  .destination-wrap .h2 { font-size: 3.125rem; }
  .destination-wrap h3,
  .destination-wrap .h3 { font-size: 2.75rem; }
  .destination-wrap .content-builder-wrap { font-size: 1.625rem; }
}

.destination-wrap .swiper-wrapper { height: auto; }

.destination-wrap iframe { border-radius: 0 !important; }
.destination-wrap .embed-responsive .embed-responsive-item, .destination-wrap .embed-responsive embed, .destination-wrap .embed-responsive iframe, .destination-wrap .embed-responsive object, .destination-wrap .embed-responsive video { height: 350px; }
.destination-wrap .location-wrap.pt-5:after { content: ''; background: url(/images/layout/Baja-Stays-Partners-Bottom-BG-1.jpg); width: 100%; height: -webkit-fill-available; position: absolute; background-repeat: no-repeat; background-size: contain; }
.destination-wrap .h1.title { font-family: var(--siteFont1); font-size: 40px; text-transform: uppercase; color: hsl(var(--siteColor9)); }
.destination-wrap .desc { font-size: 1rem; font-family: 'Lato'; color: hsl(var(--siteColor9)); margin-bottom: 2rem; }

/* Destination Wrap Unordered List */
.destination-wrap ul { padding-left: 3rem; }
.destination-wrap ul li::marker { color: hsl(var(--siteColor1)); }
@media(min-width: 1025px){
  .destination-wrap ul { padding-left: 3.75rem; }
}

/* Featured Destinations Wrap */
.cms-be-featured-destinations-wrap { padding: 4rem 0; position: relative; z-index: 1; background: hsl(var(--siteColor2)); }
.cms-be-featured-destinations-wrap .container { margin-top: 1rem; }
.cms-be-featured-destinations-wrap .title { font-size: 2.625rem; color: hsl(var(--siteColor3)); }
@media(min-width: 1025px){
  .cms-be-featured-destinations-wrap .title { font-size: 3rem; }
}

/* Destination Property Wrap */
.be-featured-destination { overflow: hidden; height: 100%; display: flex; flex-direction: column; position: relative; border-radius: 1.5rem; box-shadow: var(--dropShadow); font-family: var(--siteFont2), sans-serif; transition: all 0.4s ease-in-out; }
.be-featured-destination:hover { box-shadow: var(--dropShadow), var(--dropShadow); }
.be-featured-destination-img-wrap { overflow: hidden; aspect-ratio: 4 / 3; min-height: 15rem; position: relative; z-index: 1; background-color: var(--placeholderBG); transition: all 0.4s ease-in-out; }
.be-featured-destination-img-link { display: block; width: 100%; height: 100%; position: absolute; inset: 0; border-radius: inherit; }
.be-featured-destination-img { display: block; object-fit: cover; width: 100%; height: 100%; position: absolute; inset: 0; border-radius: inherit; transform: scale(1); transition: all 0.4s ease-in-out; }
.be-featured-destination:hover .be-featured-destination-img { transform: scale(1.03); }
.be-featured-destination-info-wrap { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; position: relative; padding: 1rem 1.25rem 1.5rem; background-color: hsl(var(--white)); color: hsl(var(--bodyFontColor)); line-height: 1; font-weight: var(--wMedium); }
.be-featured-destination-location { display: flex; align-items: center; margin-bottom: 0.75rem; font-size: 1rem; color: hsl(var(--siteColor2)); text-align: center; text-transform: capitalize; }
.be-featured-destination-location .icon { color: inherit; margin-right: 0.25rem; }
.be-featured-destination-title { width: 100%; margin: 0 0 1.125rem; font-size: 1.75rem; color: hsl(var(--siteColor1)); line-height: 1.25; font-weight: var(--wHeavy); text-transform: capitalize; }
.be-featured-destination-title .h3 { font-size: inherit; color: inherit; line-height: inherit; font-weight: inherit; text-transform: inherit; }
.be-featured-destination-rating { display: flex; align-items: center; margin-bottom: 2rem; color: hsl(41, 99%, 53%); }
.be-featured-destination-rating .icon { width: 1.25rem; height: 1.25rem; color: inherit; }
.be-featured-destination-desc { display: none; margin-bottom: 1rem; font-size: 1rem; line-height: 1.25; }
.be-featured-destination-info { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; gap: 0.375rem; font-size: 1rem; color: hsl(var(--siteColor2)); line-height: 1.5; text-transform: capitalize; }
.be-featured-destination-info-item { display: flex; align-items: center; margin-bottom: 0.375rem; position: relative; text-align: center; }
.be-featured-destination-info-item:last-child { margin-right: 0; padding-right: 0 }
.be-featured-destination-info-item .icon { width: 1.25rem; height: auto; margin-right: 0.25rem; color: inherit; }
.be-featured-destination-info-item span { margin-left: 0.375rem; }
.be-featured-destination-info-item-link { display: flex; width: 100%; margin-top: 0.375rem; text-transform: uppercase; }
.be-featured-destination-link { width: calc(100% - 1.5rem); display: flex; justify-content: center; align-items: center; margin: auto; padding: 0.75rem 1rem; background: hsl(var(--siteColor4)); border-radius: var(--borderRadiusPill); font-family: var(--siteFont1), sans-serif; font-size: 1rem; color: hsl(var(--white)); line-height: 1; font-weight: var(--wBold); font-style: italic; text-transform: capitalize; transition: all 0.4s ease-in-out; }
.be-featured-destination-link:hover { color: hsl(var(--black)); text-decoration: none; }
.be-featured-destination-link .text { display: inline-flex; }

/* Featured Destinations Swiper Styles */
.cms-be-featured-destinations-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.be-featured-destinations-swiper { max-width: 115rem; padding: 2rem 1rem; }
.be-featured-destinations-controls { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 25rem; height: 3.25rem; margin: auto; position: relative; }
.be-featured-destinations-controls .be-featured-destinations-btn-next,
.be-featured-destinations-controls .be-featured-destinations-btn-prev { width: 3rem; height: 3rem; margin: auto; position: relative; top: auto; right: auto; left: auto; background-color: transparent; border-radius: var(--borderRadiusCircle); box-shadow: none; color: hsl(var(--white)); transition: all 0.4s ease-in-out; }
.be-featured-destinations-controls .be-featured-destinations-btn-next:hover,
.be-featured-destinations-controls .be-featured-destinations-btn-prev:hover { background-color: hsl(var(--siteColor4)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.be-featured-destinations-controls .be-featured-destinations-btn-next:focus,
.be-featured-destinations-controls .be-featured-destinations-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.be-featured-destinations-controls .be-featured-destinations-btn-next:after,
.be-featured-destinations-controls .be-featured-destinations-btn-prev:after { display: none; }
.be-featured-destinations-controls .be-featured-destinations-btn-next .icon,
.be-featured-destinations-controls .be-featured-destinations-btn-prev .icon { width: 1.75rem; height: 1.75rem; }
.be-featured-destinations-controls .be-featured-destinations-pagination { display: flex; justify-content: center; align-items: center; position: relative; top: auto; right: auto; left: auto; }
.be-featured-destinations-swiper .swiper-slide { --marginRight: 1.25rem; --columns: 1; margin-right: var(--marginRight); width: calc(calc(100% / var(--columns)) - var(--marginRight) + calc(var(--marginRight) / var(--columns))); height: auto; }
@media (min-width: 0px) {
  .be-featured-destinations-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 667px) {
  .be-featured-destinations-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 992px) {
  .be-featured-destinations-swiper .swiper-slide { --columns: 3; }
}
@media (min-width: 1200px) {
  .be-featured-destinations-swiper .swiper-slide { --columns: 4; }
}
/* Mobile Specific */
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .be-featured-destination-img-wrap { aspect-ratio: 1 / 1; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .be-featured-destination-img-wrap { aspect-ratio: 3 / 2; }
}


/* Things to Do Callouts */
.cms-destination-callouts-swiper-wrap { padding: 4rem 0 0rem; position: relative; }
.cms-destination-callouts-swiper-wrap .container { margin-top: 1rem; }
.destinations-gallery-hero .subtitle,
.cms-destination-callouts-swiper-wrap .subtitle { margin-bottom: 1rem; font-family: var(--siteFont3); font-size: 13px; text-transform: uppercase; color: hsl(var(--siteColor9)); font-weight: 100; }

/* Destination Callout Carousel Wrap */
.cms-destination-callouts-wrap { padding: 4rem 0; position: relative; }
.cms-destination-callouts-wrap > .container .desc { max-width: 51.5rem; margin-top: 2.5rem; margin-bottom: 0; }
.destination-callout-wrap { display: block; background: transparent; border-radius: 0; box-shadow: none; }
.destination-callout-wrap .destination-callout-img-wrap { overflow: hidden; margin-bottom: 1.25rem; border-radius: 0rem; background: transparent; }
.destination-callout-wrap .destination-callout-img { object-fit: cover; aspect-ratio: 3 / 2; width: 100%; height: 400px; transform: scale(1); transition: all 0.4s ease-in-out; border-radius: inherit; }
.destination-callout-wrap .destination-callout-title { text-align: center; }
.destination-callout-wrap:hover { text-decoration: none; }
.destination-callout-wrap:hover .destination-callout-img { transform: scale(1.1); }
@media(min-width: 1025px){
  .cms-destination-callouts-wrap > .container .desc { font-size: 1.625rem; color: hsl(var(--destinationPrimaryColor)); }
}

/* Destinations Callouts Swiper Styles */
.cms-destination-callouts-swiper-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.cms-destination-callouts-swiper-wrap > .container .desc { max-width: 51.5rem; margin-top: 2.5rem; margin-bottom: 0; }
.cms-destination-callouts-swiper-wrap .callouts-container { max-width: 101.5rem; }
.destination-callouts-swiper { max-width: 100rem; padding: 2rem 1rem; }
.destination-callouts-swiper .swiper-slide { --marginRight: 1.25rem; --columns: 1; margin-right: var(--marginRight); width: calc(calc(100% / var(--columns)) - var(--marginRight) + calc(var(--marginRight) / var(--columns))); height: auto; }
@media(min-width: 1025px){
  .cms-destination-callouts-swiper-wrap > .container .desc { font-size: 1.625rem; color: hsl(var(--destinationPrimaryColor)); }
}

.destination-callouts-swiper .destination-swiper-controls { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 25rem; height: 3.25rem; margin: 2rem auto 0; position: relative; z-index: 1; }
.destination-callouts-swiper .destination-swiper-btn-next,
.destination-callouts-swiper .destination-swiper-btn-prev { width: 3rem; height: 3rem; margin: auto; position: relative; inset: auto; transform: none; background-color: hsl(var(--destinationPrimaryColor)); border-radius: var(--borderRadiusCircle); box-shadow: none; color: hsl(var(--white)); transition: all 0.4s ease-in-out; }
.destination-callouts-swiper .destination-swiper-btn-next:hover,
.destination-callouts-swiper .destination-swiper-btn-prev:hover { background-color: hsl(var(--siteColor4)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.destination-callouts-swiper .destination-swiper-btn-next:focus,
.destination-callouts-swiper .destination-swiper-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.destination-callouts-swiper .destination-swiper-btn-next:after,
.destination-callouts-swiper .destination-swiper-btn-prev:after { display: none; }
.destination-callouts-swiper .destination-swiper-btn-next .icon,
.destination-callouts-swiper .destination-swiper-btn-prev .icon { width: 1.75rem; height: 1.75rem; }
@media (min-width: 0px) {
  .destination-callouts-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 568px) {
  .destination-callouts-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 768px) {
  .destination-callouts-swiper .swiper-slide { --columns: 3; }
}
@media (min-width: 1025px) {
  .destination-callouts-swiper .swiper-slide { --columns: 4; }
}
@media (min-width: 1200px) {
  .destination-callouts-swiper .swiper-slide { --columns: 5; }
}

.destination-callouts-mobile-swiper .swiper-slide { --marginRight: 1.25rem; --columns: 1; margin-right: var(--marginRight); width: calc(calc(100% / var(--columns)) - var(--marginRight) + calc(var(--marginRight) / var(--columns))); height: auto; }
@media (min-width: 0px) {
  .destination-callouts-mobile-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 568px) {
  .destination-callouts-mobile-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 1025px) {
  .destination-callouts-mobile-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 1200px) {
  .destination-callouts-mobile-swiper .swiper-slide { --columns: 2; }
}

/* Location Wrap */
.location-wrap { background: #DBD1C0; padding: 4rem 0 14rem; }
.location-wrap .title { margin-bottom: 1rem; font-family: var(--siteFont1); font-size: 2.35rem; text-transform: uppercase; color: hsl(var(--siteColor9)); }
.destination-wrap .card-body,
.location-wrap .location-desc { font-size: 1rem; font-family: 'Lato'; color: hsl(var(--siteColor9)); }
.location-wrap .location-desc .btn { }
.location-wrap .location-map { margin-bottom: 0rem; }
.location-wrap .location-map .embed-responsive { margin: 0; }


/* FAQs */
.destination-faqs-wrap { padding: 5.5rem 0 2rem; }
.destination-faqs-wrap .title { margin-bottom: 1rem; }
.destination-faqs-collapse-wrap .accordion > .card .card-header button { font-size: 1.5rem; font-style: normal; text-transform: capitalize; font-family: var(--siteFont1); color: #1f1705; }
.destination-faqs-wrap img { width: 100%; object-fit: cover; border-radius: 0rem !important; }

/* Secondary Content Wrap */
.secondary-content-wrap { padding: 2rem 0; }
.secondary-content-wrap .title { margin-bottom: 2rem; }
.secondary-content-wrap .cms-destination-callouts-wrap { display: flex; flex-direction: column; padding: 0; }
@media(min-width: 1025px){
  .secondary-content-wrap { font-size: 1.625rem; color: hsl(var(--destinationPrimaryColor)); }
  .secondary-content-wrap .cms-destination-callouts-wrap { padding: 3rem 0 0; }
}

/* Tertiary Content Wrap */
.tertiary-content-wrap { padding: 3.5rem 0; }
.tertiary-content-wrap .title { margin-bottom: 2rem; }
.tertiary-content-wrap .list-table { background-color: hsla(var(--white), 50%); }
@media(min-width: 1025px){
  .tertiary-content-wrap { font-size: 1.625rem; color: hsl(var(--destinationPrimaryColor)); }
}
.destination-callout-text.p{ font-size: 1rem; font-family: var(--siteFont2); color: hsl(var(--siteColor9)) !important; margin-bottom: 1rem; }

/* Gallery Slider */
.destinations-gallery-hero{ position:relative; width:100%; height: fit-content; overflow:hidden; }
.destinations-gallery-hero-swiper{ width:100%; height:100%; }
.destinations-gallery-hero-swiper .swiper-slide,
.destinations-gallery-hero-swiper .gallery-item{ width:100%; height:100%; }
.destinations-gallery-hero-swiper img{ width: 100%; height: 600px; display: block; object-fit: contain; }
.destinations-gallery-btn{ position:absolute; top:50%; transform:translateY(-50%); z-index:10; width:48px; height:48px; border:1px solid rgba(255,255,255,.65); background:rgba(0,0,0,.25); border-radius:999px; cursor:pointer; }
.destinations-gallery-btn-prev{ left:18px; }
.destinations-gallery-btn-next{ right:18px; }
.destinations-gallery-btn:focus{ outline:none; }
.destinations-gallery-btn:hover{ background:rgba(0,0,0,.4); }
.destinations-gallery-btn::before{ content:""; display:block; width:10px; height:10px; border-right:2px solid #fff; border-bottom:2px solid #fff; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(135deg); }
.destinations-gallery-btn-next::before{ transform:translate(-50%,-50%) rotate(-45deg); }
.destinations-gallery-pagination{ position:absolute; left:0; right:0; bottom:14px; z-index:10; display:flex; justify-content:center; gap:8px; }
#destinationsGalleryHero .swiper-pagination-bullet{ width:10px; height:10px; opacity:1; background:rgba(255,255,255,.45); }
#destinationsGalleryHero .swiper-pagination-bullet-active{ background:rgba(255,255,255,.95); }
#destinationsGalleryHero button.destinations-gallery-btn.destinations-gallery-btn-next,
#destinationsGalleryHero button.destinations-gallery-btn.destinations-gallery-btn-prev { background: none; border: none !important; box-shadow: none; }
.gallery-wrap { background: hsl(var(--white)); padding: 4rem 0; }
.destinations-gallery-hero { width: 75%; }

@media (max-width: 1200px) {
  .destination-faqs-wrap { padding: 3.5rem 0 0rem; }
  .destination-callouts-swiper { padding-top: 0; }
  .location-wrap { padding: 4rem 0 5rem; }
  .destination-wrap .location-wrap.pt-5:after { display: none; }  
  .destinations-gallery-hero { width: 100%; }
}
