/* Callouts Wrap */
.cms-callouts-wrap { padding: 0; position: relative; z-index: 1; background: hsl(var(--siteColor1)); color:hsl(var(--white)); padding: 3rem 0; }
.cms-callouts-wrap .container { max-width: 90rem; padding: 0 1.25rem; }
.cms-callouts-wrap .row { justify-content: center; }
.cms-callouts-wrap [class^=col] { padding-bottom: 1rem; }
.cms-callouts-wrap p { font-family: var(--siteFont4); }

/* Callout Wrap */
.callout-wrap { overflow: hidden; width: 100%; position: relative; background: hsl(var(--siteColor1)); border-radius: var(--borderRadius); box-shadow: var(--dropShadow), var(--dropShadow); font-family: var(--siteFont2), sans-serif; text-align: center; }
.callout-img-wrap { width: 100%; height: 100%; position: relative; background: hsl(var(--siteColor1)); text-align: center; transition: all ease-in-out 0.4s; }
.callout-img { object-fit: cover; width: 100%; height: 100%; transition: all ease-in-out 0.4s; }
.cms-callouts-wrap .title { font-size: 2rem;}
.callout-info-wrap { width: 100%; position: relative; z-index: 2; background: hsl(var(--siteColor1)); font-size: 1rem; color: hsl(var(--white)); line-height: 1.5; transition: all ease-in-out 0.4s; }
.callout-title { margin: 0; padding: 1rem; position: relative; font-size: 1.2rem; color: hsl(var(--white)); text-transform: uppercase; font-weight: var(--wBold); transition: all 0.4s ease-in-out; }
.callout-info { padding: 0.25rem 1rem 1.25rem; transition: all 0.4s ease-in-out;  }
.callout-text { margin: 0 0 1.5rem; }
.callout-btn { width: 12.5rem; max-width: 100%; margin: 0; padding: 0.75rem 1rem; border-radius: var(--borderRadiusPill); box-shadow: 0 0 0 0.125rem hsla(var(--white), 1); font-size: 1rem; color: hsl(var(--white)); }
.callout-btn:hover { background: hsl(var(--white)); box-shadow: 0 0 0 0.125rem hsla(var(--white), 0.5); }

/* Callouts Swiper */
.cms-callouts-wrap .swiper-container .swiper-lazy-preloader { --swiper-preloader-color: hsl(var(--siteColor1)); }
.callouts-container { width: 100%; max-width: 107.5rem; margin: auto; padding: 0 0 3.125rem; position: relative; }
.callouts-swiper.swiper-container { max-width: 112.5rem; padding: 1.875rem 0.9375rem; }
.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))); }
@media (min-width: 0px) {
  .callouts-swiper .swiper-slide { --columns: 1; }
}
@media (min-width: 768px) {
  .callouts-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 992px) {
  .callouts-swiper .swiper-slide { --columns: 2; }
}
@media (min-width: 1200px) {
  .callouts-swiper .swiper-slide { --columns: 2; }
}

/* Callouts Swiper Controls */
.callouts-controls { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 25rem; height: 3.25rem; margin: auto; position: relative; }
.callouts-controls .callout-btn-next,
.callouts-controls .callout-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(--siteColor1)); transition: all 0.4s ease-in-out; }
.callouts-controls .callout-btn-next:hover,
.callouts-controls .callout-btn-prev:hover { background-color: hsl(var(--siteColor1)); box-shadow: var(--dropShadow); color: hsl(var(--white)); }
.callouts-controls .callout-btn-next:focus,
.callouts-controls .callout-btn-prev:focus { outline: none; box-shadow: var(--focusShadow); }
.callouts-controls .callout-btn-next:after,
.callouts-controls .callout-btn-prev:after { display: none; }
.callouts-controls .callout-btn-next .icon,
.callouts-controls .callout-btn-prev .icon { width: 1.75rem; height: 1.75rem; }
.callouts-controls .callout-pagination { display: flex; justify-content: center; align-items: center; position: relative; top: auto; right: auto; left: auto; }

/* === Layout Options === */
/* ====================== */
/* Home Option 1 */
.cms-callouts-option-1 [class^=col] { max-width: 100%; flex-basis: 100%; padding: 1rem; }
.cms-callouts-option-1 .callout-wrap { --infoWrapBGHover: var(--siteColor2); }
.cms-callouts-option-1 .callout-img-wrap { aspect-ratio: 1 / 1; }
.cms-callouts-option-1 .callout-img { transform: translateY(0); }
.cms-callouts-option-1 .callout-info-wrap { position: absolute; top: 100%; transform: translateY(0); background: hsl(var(--siteColor1)); }
.cms-callouts-option-1 .callout-title { transform: translateY(-100%); background: hsl(var(--siteColor1)); text-transform: capitalize; }
.cms-callouts-option-1 .callout-wrap:hover .callout-img { transform: translateY(-15%); }
.cms-callouts-option-1 .callout-wrap:hover .callout-info-wrap { top: 100%; transform: translateY(-100%); background: hsl(var(--infoWrapBGHover)); }
.cms-callouts-option-1 .callout-wrap:hover .callout-title { transform: translateY(0); background: hsl(var(--infoWrapBGHover)); }
@media (min-width: 667px) {
  .cms-callouts-option-1 .row { margin: 0; }
  .cms-callouts-option-1 [class^=col] { max-width: 50%; flex-basis: 50%; padding: 0.125rem; }
}
@media (min-width: 1025px) {
  .cms-callouts-option-1 [class^=col] { max-width: 33.33333%; flex-basis: 33.33333%; }
}
@media (min-width: 1320px) {
  .cms-callouts-option-1 [class^=col] { max-width: 25%; flex-basis: 25%; }
}

/* Home Option 2 */
.cms-callouts-option-2 .row { margin: 0; }
.cms-callouts-option-2 [class^=col] { max-width: 100%; flex-basis: 100%; padding: 1rem; }
.cms-callouts-option-2 .callout-img-wrap { aspect-ratio: 1 / 1; }
.cms-callouts-option-2 .callout-img { opacity: 1; transform: translateY(0); mask-image: linear-gradient(to bottom, hsl(var(--white), 1) 65%, hsla(var(--white), 0.5) 75%, hsla(var(--white), 0) 100%);  }
.cms-callouts-option-2 .callout-info-wrap { position: absolute; top: 100%; transform: translateY(0); background: transparent; line-height: 2.5; }
.cms-callouts-option-2 .callout-title { transform: translateY(-100%); }
.cms-callouts-option-2 .callout-text { font-weight: var(--wBold); }
.cms-callouts-option-2 .callout-wrap:hover .callout-img { opacity: 0.25; transform: translateY(-10%); }
.cms-callouts-option-2 .callout-wrap:hover .callout-info-wrap { top: 50%; transform: translateY(-50%); }
.cms-callouts-option-2 .callout-wrap:hover .callout-title { transform: translateY(0); }
@media (min-width: 667px) {
  .cms-callouts-option-2 .row { margin: 0 -0.625rem; }
  .cms-callouts-option-2 [class^=col] { max-width: 50%; flex-basis: 50%; padding: 0.75rem; }
}
@media (min-width: 1025px) {
  .cms-callouts-option-2 [class^=col] { max-width: 33.33333%; flex-basis: 33.33333%; }
  .cms-callouts-option-2 .callout-img-wrap { aspect-ratio: 1 / 1.5; }

}
@media (min-width: 1320px) {
  .cms-callouts-option-2 [class^=col] { max-width: 25%; flex-basis: 25%; }
}

/* Home Option 3 */
.cms-callouts-option-3 .container-fluid {
  max-width: 90rem;
}
.cms-callouts-option-3 .row {
  padding: 0 0.3125rem;
  display: grid;
  /* 5 stacked rows on mobile */
  grid-template-areas:
    'calloutOne'
    'calloutTwo'
    'calloutThree'
    'calloutFour'
    'calloutFive';
  grid-template-columns: 100%;
  grid-template-rows: repeat(5, 1fr);
}

/* 5 callout slots */
.cms-callouts-option-3 [class^=col] {
  max-width: 100%;
  flex-basis: 100%;
  padding: 0.75rem;
}
.cms-callouts-option-3 [class^=col]:nth-child(1) { grid-area: calloutOne; }
.cms-callouts-option-3 [class^=col]:nth-child(2) { grid-area: calloutTwo; }
.cms-callouts-option-3 [class^=col]:nth-child(3) { grid-area: calloutThree; }
.cms-callouts-option-3 [class^=col]:nth-child(4) { grid-area: calloutFour; }
.cms-callouts-option-3 [class^=col]:nth-child(5) { grid-area: calloutFive; }


/* Base callout styles */
.cms-callouts-option-3 .callout-wrap {
  height: 100%;
  position: relative;
  overflow: hidden;
}
.cms-callouts-option-3 .callout-img-wrap {
  aspect-ratio: 1/1;
  min-height: 0;   /* override old 15rem */
  overflow: hidden;
}
.cms-callouts-option-3 .callout-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: all 0.4s ease-in-out;
}
.cms-callouts-option-3 .callout-info-wrap {
  position: absolute;
  inset: 0;        /* fill the callout-wrap exactly */
  display: flex;
  justify-content: flex-start;
  align-items: end;
  background: transparent;
  line-height: 2;
}
.cms-callouts-option-3 .callout-title {
  position: absolute;
  z-index: 2;
  font-size: 1.2rem !important;
  text-transform: capitalize;
  color: #fff;
  font-family: var(--siteFont3);
}
.cms-callouts-option-3 .callout-info {
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: 1;
  padding: 0.5rem 1.25rem;
  color: #fff;
}
.cms-callouts-option-3 .callout-wrap:hover .callout-img {
  opacity: 0.3;
}

/* Tablet (≥667px): two cols, three equal rows */
@media (min-width: 667px) {
  .cms-callouts-option-3 .row {
    grid-template-areas:
      'calloutOne    calloutTwo'
      'calloutThree  calloutFour'
      'calloutFive   calloutFive';
    grid-template-columns: 50% 50%;
    grid-template-rows: repeat(3, 1fr);
  }
}

/* Desktop (≥1025px): three cols, two equal rows */
@media (min-width: 1025px) {
  .cms-callouts-option-3 .row {
    grid-template-areas:
      'calloutOne    calloutTwo    calloutFive'
      'calloutOne    calloutThree  calloutFour';
    grid-template-columns: 25% 50% 25%;
    grid-template-rows: 1fr 1fr;   /* ensures calloutTwo = bottom row height */
  }
  /* remove the old forced 5/3 on all */
  .cms-callouts-option-3 .callout-img-wrap {
    aspect-ratio: auto;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
  }
  /* but keep 5/3 for the top-center only */
  .cms-callouts-option-3 [class^=col]:nth-child(2) .callout-img-wrap {
    aspect-ratio: 5/3;
  }
  .cms-callouts-option-3 .callout-title {
    font-size: 2.5rem;
  }
}

.cms-callouts-option-3 [class^=col]:nth-child(2) img { object-position: center -10rem !important; }

/* Wide (≥1400px): four cols, two equal rows */
@media (min-width: 1025px) {
  .cms-callouts-option-3 .row {
    grid-template-areas:
      'calloutOne calloutTwo   calloutTwo   calloutFive'
      'calloutOne calloutThree calloutFour  calloutFive';
    grid-template-columns: 20% 30% 30% 20%;
    grid-template-rows: 1fr 1fr;
  }
}

.cms-callouts-option-3 [class^=col]:nth-child(1),
.cms-callouts-option-3 [class^=col]:nth-child(5),
.cms-callouts-option-3 [class^=col]:nth-child(1) img,
.cms-callouts-option-3 [class^=col]:nth-child(5) img{ 
    max-height: 60vh;
    height: 60vh;
}

.cms-callouts-option-3 [class^=col]:nth-child(2),
.cms-callouts-option-3 [class^=col]:nth-child(3),
.cms-callouts-option-3 [class^=col]:nth-child(4) {
  max-height: 30vh; 
}

.cms-callouts-option-3 [class^=col]:nth-child(2) .callout-img-wrap,
.cms-callouts-option-3 [class^=col]:nth-child(3) .callout-img-wrap,
.cms-callouts-option-3 [class^=col]:nth-child(4) .callout-img-wrap{
  aspect-ratio: 1 / 1;
}

@media (max-width: 1028px) {
  .callout-wrap { border-radius: 0; }
  .cms-callouts-option-3 .row { display: block; }
  .cms-callouts-option-3 .row a { width: 100%; }
  .cms-callouts-option-3 [class^=col] { max-height: 100% !important; height: 100% !important; }
  .cms-callouts-option-3 [class^=col] .callout-img-wrap { aspect-ratio: 2 / 1 !important; }
  .cms-callouts-option-3 [class^=col]:nth-child(2) img { object-position: initial !important; }
}
/* Option 3 Swiper Options */

/* Sidebar Options */
.cms-callouts-sidebar-wrap { padding: 2rem 0 0; }
.cms-callouts-sidebar-wrap .container-fluid { padding: 0; }
.cms-callouts-sidebar-wrap .row { display: flex; flex-wrap: wrap; justify-content: center; }
.cms-callouts-sidebar-wrap [class^=col] { flex-basis: 100%; max-width: 100%; padding-top: 1rem; padding-bottom: 1rem; }
@media (min-width: 667px) {
  .cms-callouts-sidebar-wrap [class^=col] { flex-basis: 50%; max-width: 50%; }
}
@media (min-width: 992px) {
  .cms-callouts-sidebar-wrap { padding: 0; }
  .cms-callouts-sidebar-wrap [class^=col] { flex-basis: 100%; max-width: 100%; }
}

/* Option 1 Sidebar Callouts */
.cms-callouts-sidebar-wrap.cms-callouts-option-1 [class^=col] { padding-top: 0.125rem; padding-bottom: 0.125rem; }
@media (min-width: 992px) {
.cms-callouts-sidebar-wrap.cms-callouts-option-1 [class^=col] { padding: 1rem 0; }
}

/* Option 2 Sidebar Callouts */
@media (min-width: 992px) {
  .cms-callouts-sidebar-wrap.cms-callouts-option-2 .callout-img-wrap { aspect-ratio: 1 / 1; }
}

/* Option 3 Sidebar Callouts */
@media (min-width: 992px) {
  .cms-callouts-sidebar-wrap.cms-callouts-option-3 .row { display: flex; flex-direction: column; }
  .cms-callouts-sidebar-wrap.cms-callouts-option-3 [class^=col] { max-width: 100%; flex-basis: 100%; padding: 1rem; }
  .cms-callouts-sidebar-wrap.cms-callouts-option-3 .callout-img-wrap { aspect-ratio: 1 / 1; }
}

/* Mobile Specific */
@media (orientation: portrait) and (min-device-width:320px) and (max-device-width:1024px) {
  .callout-img-wrap,
  .cms-callouts-option-1 .callout-img-wrap { aspect-ratio: 1 / 1; }
  .cms-callouts-option-2 .callout-img-wrap { aspect-ratio: 1 / 1; }
  .cms-callouts-option-3 .callout-img-wrap { aspect-ratio: 1 / 1; }
}
@media (orientation: landscape) and (min-device-width:480px) and (max-device-width:1024px) {
  .callout-img-wrap,
  .cms-callouts-option-1 .callout-img-wrap { aspect-ratio: 3 / 2; }
  .cms-callouts-option-2 .callout-img-wrap { aspect-ratio: 3 / 2; }
  .cms-callouts-option-3 .callout-img-wrap { aspect-ratio: 3 / 2; }
}