.reviews-slider-container {
  max-width: 40rem;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.reviews-slider {
  display: flex;
  flex-wrap: nowrap;
  transition: transform .5s ease-in-out;
  will-change: transform;
  animation: slideLoop 24s infinite ease-in-out;
}
.review-card {
  flex: 0 0 40rem;
  box-sizing: border-box;
  text-align: center;
}
.stars { color:#ffa500; font-size:20px; padding-bottom:15px; }
.review-text { color:#666; font-size:14px; line-height:1.6; margin-bottom:20px; font-style:italic }

@keyframes slideLoop {
  0%,25%   { transform: translateX(0) }
  33%,58%  { transform: translateX(-40rem) }
  66%,91%  { transform: translateX(-80rem) }
  100%     { transform: translateX(0) }
}
@media (min-width:40rem) and (max-width:43.75rem) {
  .review-card { flex:0 0 100% }
}

@media (max-width:43.75rem) {
  .reviews-slider-container { max-width:100%; width:100%; margin:20px auto }
  .reviews-slider { animation: slideLoopMobile 24s infinite ease-in-out }
  .review-card {
    flex:0 0 100%;
    min-width:100%;
    box-sizing:border-box;
    padding:20px;
  }
  @keyframes slideLoopMobile {
    0%,25%   { transform: translateX(0) }
    33%,58%  { transform: translateX(-100%) }
    66%,91%  { transform: translateX(-200%) }
    100%     { transform: translateX(0) }
  }