.ts-slider {
    --ts-gap: 28px;
    --ts-items: 5;
    --ts-photo-size: 112px;
    box-sizing: border-box;
    container-type: inline-size;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.ts-slider__track {
    display: flex;
    width: max-content;
    animation: ts-slider-scroll var(--ts-speed, 90s) linear infinite;
    will-change: transform;
}

.ts-slider:hover .ts-slider__track,
.ts-slider:focus-within .ts-slider__track {
    animation-play-state: paused;
}

.ts-slider__group {
    display: flex;
    flex: 0 0 auto;
}

.ts-slider__item {
    flex: 0 0 auto;
    max-width: 220px;
    width: 180px;
    width: calc(
        (100cqw - (var(--ts-gap) * (var(--ts-items) - 1))) / var(--ts-items)
    );
    margin-right: var(--ts-gap);
}

.ts-testimonial {
    box-sizing: border-box;
    min-width: 0;
    text-align: center;
}

.ts-testimonial__photo,
.ts-slider__photo {
    display: block;
    box-sizing: border-box;
    flex: 0 0 auto;
    width: var(--ts-photo-size);
    height: var(--ts-photo-size);
    max-width: var(--ts-photo-size);
    max-height: var(--ts-photo-size);
    margin: 0 auto 12px;
    overflow: hidden;
    border-radius: 50% !important;
    background: #f2f2f2;
    line-height: 0;
}

.ts-testimonial__photo img,
.ts-slider__photo img,
.ts-testimonial__image {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    border-radius: 0 !important;
    object-fit: cover !important;
}

.ts-testimonial__name {
    color: #222;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ts-testimonial__link,
.ts-testimonial__link-text {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.ts-testimonial__link {
    color: currentColor;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ts-crop-none .ts-testimonial__photo,
.ts-crop-none .ts-slider__photo {
    height: auto;
    max-height: none;
    overflow: visible;
    border-radius: 0 !important;
    background: transparent !important;
}

.ts-crop-none .ts-testimonial__photo img,
.ts-crop-none .ts-slider__photo img,
.ts-crop-none .ts-testimonial__image {
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    background: transparent !important;
}

.ts-grid {
    --ts-photo-size: 112px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 32px 28px;
    width: 100%;
}

@keyframes ts-slider-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (max-width: 767px) {
    .ts-slider {
        --ts-gap: 18px;
        --ts-items: 2;
        --ts-photo-size: 86px;
    }

    .ts-slider__item {
        width: 140px;
        max-width: 170px;
    }

    .ts-grid {
        --ts-photo-size: 86px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 18px;
    }
}
