.testimonials-carousel {
  --testimonials-card-width: clamp(260px, 29vw, 340px);
  --testimonials-card-gap: 20px;

  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 8px 0 14px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.testimonials-block {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 0;
  width: max-content;
  animation: testimonials-scroll var(--testimonials-scroll-duration, 35s) linear infinite;
  will-change: transform;
}

.testimonials-carousel--js-enabled .testimonials-block {
  animation: none;
}

.testimonials-track-group {
  display: flex;
  flex: 0 0 auto;
  gap: var(--testimonials-card-gap);
  padding-right: var(--testimonials-card-gap);
}

.testimonial--circle-images .testimonial-section--image img {
  border-radius: 50%;
}

.testimonial--single-item {
  display: flex;
  flex: 0 0 var(--testimonials-card-width);
  flex-direction: column;
  align-items: center;
  width: var(--testimonials-card-width);
  min-height: 270px;
  padding: 24px;
  text-align: center;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--color-scheme-background-color, var(--body-color, #ffffff)) 58%, #ffffff 42%);
  box-shadow: none;
}

.testimonial--single-item div:first-of-type {
  margin-top: 0;
}

.testimonial--single-item a {
  color: inherit;
  text-decoration: none;
}

.testimonial--single-item .h6 {
  display: block;
  margin-top: auto;
  margin-bottom: 0;
}

.testimonials--star-wrapper,
.testimonials--text-wrapper {
  justify-content: center;
}

.testimonials--star-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  margin: 0 0 18px;
  color: currentColor;
}

.testimonials--text-wrapper {
  width: 100%;
  margin: 0;
  word-wrap: break-word;
}

.testimonials--text-wrapper p {
  margin-top: 0;
}

.testimonials--text-wrapper p:last-child {
  margin-bottom: 0;
}

.testimonials--star-wrapper svg {
  margin: 0 3px;
}

.testimonial-section--image {
  display: inline-block;
  margin-bottom: 16px;
  text-align: center;
}

.testimonial-section--image > div {
  display: inline-block;
}

.testimonial-section--image img {
  display: inline-block;
  width: 56px;
  height: 56px;
  min-width: 56px;
  max-width: 56px;
  min-height: 56px;
  max-height: 56px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  font-family: "object-fit: cover, object-position: center";
}

.testimonials-carousel--pause-on-hover:not(.testimonials-carousel--js-enabled):hover .testimonials-block,
.testimonials-carousel--pause-on-hover:not(.testimonials-carousel--js-enabled):focus-within .testimonials-block {
  animation-play-state: paused;
}

.section--testimonials-wrapper .content-align--left .testimonial--single-item {
  align-items: flex-start;
  text-align: left;
}

.section--testimonials-wrapper .content-align--left .testimonials--text-wrapper {
  justify-content: flex-start;
}

.section--testimonials-wrapper .content-align--left .testimonial-section--image {
  text-align: left;
}

.section--testimonials-wrapper .content-align--right .testimonial--single-item {
  align-items: flex-end;
  text-align: right;
}

.section--testimonials-wrapper .content-align--right .testimonials--text-wrapper {
  justify-content: flex-end;
}

.section--testimonials-wrapper .content-align--right .testimonial-section--image {
  text-align: right;
}

@keyframes testimonials-scroll {
  to {
    transform: translate3d(-25%, 0, 0);
  }
}

@media screen and (max-width: 767px) {
  .testimonials-carousel {
    --testimonials-card-width: min(78vw, 310px);
    --testimonials-card-gap: 14px;

    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 10%, #000 90%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 10%, #000 90%, transparent 100%);
  }

  .testimonial--single-item {
    min-height: 245px;
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonials-carousel {
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .testimonials-block {
    display: block;
    width: auto;
    animation: none;
  }

  .testimonials-track-group {
    flex-wrap: wrap;
    justify-content: center;
    padding-right: 0;
  }

  .testimonials-track-group[aria-hidden="true"] {
    display: none;
  }
}
