/* Homepage Testimonials Wrapper */
.cms-testimonials-home-wrap { display: flex; flex-direction: column; align-items: center; position: relative; padding: 6.125rem 0; background-color: hsl(var(--siteColor3)); background-repeat: no-repeat !important; background-position: center center !important; background-size: cover !important;  }
.cms-testimonials-home-wrap:after { opacity: 0.5; filter: saturate(0); position: absolute; content: ''; top: 0; left: 0; z-index: 1; height: 100%; width: 100%; background: hsl(var(--black)); }
.cms-testimonials-home-wrap .container { position: relative; z-index: 2;  }
.cms-testimonials-home-wrap .cms-testimonials-wrap { width: calc(100% - 2rem); position: relative; z-index: 2; }
.cms-testimonials-home-wrap .title { font-weight: var(--wHeavy); }
.cms-testimonials-home-wrap .subtitle { color: hsl(var(--white)); }
.cms-testimonials-home-wrap .testimonial-block .testimonial-signature { color: hsl(var(--white)); text-shadow: 0 0 0.25rem hsla(var(--black), 50%); }
.cms-testimonials-home-wrap .testimonials-controls { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 25rem; margin: auto; position: relative; }
.cms-testimonials-home-wrap .testimonials-controls .testimonials-btn-next,
.cms-testimonials-home-wrap .testimonials-controls .testimonials-btn-prev { background: hsl(var(--siteColor1)); color: hsl(var(--white)); }
.cms-testimonials-home-wrap .cms-testimonials-wrap .testimonials-pagination { display: none; }
.cms-testimonials-home-wrap .swiper-pagination-bullet { background-color: hsl(var(--white)); }
.cms-testimonials-home-wrap .swiper-pagination-bullet-active { background-color: hsl(var(--white)); }
.cms-testimonials-home-wrap > .btn { padding: 1.5rem 3rem; position: relative; z-index: 2; text-transform: uppercase; }
@media (min-width: 1025px) {
  .cms-testimonials-home-wrap .cms-testimonials-wrap { padding: 0 4rem; }
  .cms-testimonials-home-wrap .testimonials-controls { width: 100%; max-width: 100%; position: absolute; top: 50%; left: 0; transform: translate(0, -50%); }
  .cms-testimonials-home-wrap .testimonials-controls .testimonials-btn-next { margin-right: 0; }
  .cms-testimonials-home-wrap .testimonials-controls .testimonials-btn-prev { margin-left: 0; }
}

/* Testimonials Wrapper */
.cms-testimonials-wrap { margin: 3.125rem 0; }

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

/* Testimonial Blocks */
.testimonial-block { overflow: hidden; display: block; width: 100%; position: relative; padding: 0 0 1.25rem; }
.testimonial-block blockquote { width: 100%; position: relative; margin: 1.75rem 0; padding: 2rem 1rem; background: hsla(var(--white), 90%); border: none; border-radius: var(--borderRadius); box-shadow: var(--dropShadow); font-family: var(--siteFont1), serif; color: hsl(var(--black)); line-height: 1.75; transition: all 0.4s ease-in-out; }
.testimonial-block blockquote .icon-open-quote,
.testimonial-block blockquote .icon-end-quote { display: none; width: 2.5rem; height: 2.5rem; position: absolute; color: hsl(var(--black)); }
.testimonial-block blockquote .icon-open-quote { top: -1rem; left: 0; }
.testimonial-block blockquote .icon-end-quote { right: 0; bottom: 0; }
.testimonial-block .testimonial-signature { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; padding-left: 0; font-family: var(--siteFont2), sans-serif; font-size: 1.125rem; color: hsl(var(--black)); text-align: left; text-transform: uppercase; }
.testimonial-block .testimonial-signature .h5 { margin: 0; font-size: 1.25rem; font-weight: var(--wMedium); text-align: center; }
.testimonial-block .testimonial-rating { display: flex; align-items: center; margin: 0.25rem 0.75rem; text-align: center; }
.testimonial-block .testimonial-rating .h5 { margin: 0.25rem 0.75rem; }
.testimonial-block .testimonial-rating .icon { color: hsl(var(--siteColor3)); }
@media (min-width: 768px) {
  .testimonial-block { padding: 0 1.25rem 1.25rem; }
  .testimonial-block blockquote { padding: 2rem; }
  .testimonial-block blockquote .icon-open-quote { top: -2rem; left: -1rem; }
  .testimonial-block blockquote .icon-end-quote { right: 0; bottom: -1rem; }
}
@media (min-width: 1025px) {
  .testimonial-block blockquote { padding: 2rem 2.5rem; }
}

/* Testimonial List Blocks */
.cms-testimonial-row { flex-direction: column; }
.cms-testimonial-row .col { margin-bottom: 4rem; }
.testimonial-item-block { overflow: visible; display: flex; flex-direction: column; margin-bottom: 2rem; padding: 0 0.5rem 1.25rem; }
.testimonial-item-block blockquote { display: flex; flex-direction: column; margin: 0; padding: 2.25rem 1.5rem 2.25rem 3rem; background: hsl(var(--white)); border-radius: 0 0 1rem 1rem; border: none; box-shadow: none; color: hsl(var(--bodyFontColor)); }
.testimonial-item-block blockquote:after { display: none; border-color: hsl(0, 0%, 95%) transparent transparent transparent; }
.testimonial-item-block .testimonial-img-wrap { overflow: hidden; width: 100%; min-height: 20rem; position: relative; border-radius: 1rem 1rem 0 0; }
.testimonial-item-block .testimonial-img { object-fit: cover; object-position: 50% 50%; width: 100%; height: auto; position: absolute; top: 0; left: 0; border-radius: 1rem; }
.testimonial-item-block .testimonial-signature { color: hsl(var(--bodyFontColor)); text-shadow: none; }
.testimonial-item-block blockquote .icon-open-quote,
.testimonial-item-block blockquote .icon-end-quote { width: 1.5rem; height: 1.5rem; }
.testimonial-item-block blockquote .icon-end-quote { display: none; }
@media (min-width: 768px) {
  .testimonial-item-block { flex-direction: row; align-items: center; }
  .testimonial-item-block .testimonial-img-wrap { overflow: visible; width: 40%; position: relative; left: 0; z-index: 2; border-radius: 1rem; }
  .testimonial-item-block .testimonial-img { width: calc(100% + 2rem); max-width: unset; }
  .testimonial-item-block blockquote { border-radius: 1rem; padding-right: 2.5rem; padding-left: 4.5rem; }
  .cms-testimonial-row .col:nth-child(even) .testimonial-item-block { flex-direction: row-reverse; }
  .cms-testimonial-row .col:nth-child(even) .testimonial-item-block .testimonial-img { right: 0; left: auto; }
  .cms-testimonial-row .col:nth-child(even) .testimonial-item-block blockquote { padding-right: 4.5rem; padding-left: 2.5rem; }
}

