html,
body {
    overflow-x: hidden;
}

.mea-infinite-slider {
    position: relative;
    width: auto !important;
    max-width: none !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.mea-infinite-slider-viewport {
    overflow: hidden;
    position: relative;
    padding-left: 2em;
    padding-right: 2em;
    box-sizing: border-box;
}

.mea-infinite-slider-track {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    will-change: transform;
    animation-duration: var(--mea-slider-duration, 20s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-play-state: running;
}

.mea-infinite-slider-pause-on-hover:hover .mea-infinite-slider-track {
    animation-play-state: paused;
}

.mea-infinite-slider-group {
    display: flex;
    align-items: stretch;
    gap: 2vw;
    width: max-content;
    padding-right: 2vw;
}

.mea-infinite-slider-element {
    flex: 0 0 var(--mea-element-width, 18vw);
    width: var(--mea-element-width, 18vw);
    display: flex;
    flex-direction: column;
    row-gap: 1vw;
}

.mea-infinite-slider-element-link {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    color: inherit;
    text-decoration: none;
}

.mea-infinite-slider-image-stack {
    position: relative;
}

.mea-infinite-slider-element-image,
.mea-infinite-slider-element-hover {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.mea-infinite-slider-element-hover {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mea-infinite-slider-element:hover .mea-infinite-slider-element-hover {
    opacity: 1;
}

.mea-infinite-slider-content {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.mea-infinite-slider-title,
.mea-infinite-slider-description {
    margin: 0;
}

.mea-infinite-slider-title {
    font-weight: 600;
}

.mea-infinite-slider img,
.mea-infinite-slider a {
    -webkit-user-drag: none;
    user-select: none;
}

.mea-infinite-slider-draggable .mea-infinite-slider-viewport {
    cursor: grab;
}

.mea-infinite-slider-draggable.is-dragging .mea-infinite-slider-viewport {
    cursor: grabbing;
}

.mea-infinite-slider-draggable,
.mea-infinite-slider-draggable * {
    user-select: none;
    -webkit-user-select: none;
}

.mea-infinite-slider-draggable .mea-infinite-slider-viewport {
    touch-action: pan-y;
}

.mea-infinite-slider-track.is-bouncing {
    transition: transform 0.28s ease-out;
}

.mea-infinite-slider-draggable .mea-infinite-slider-element-link {
    -webkit-user-drag: none;
}

.mea-infinite-slider-draggable.mea-slider-disable-links .mea-infinite-slider-element-link {
    pointer-events: none;
}

.mea-infinite-slider-track.is-direction-left {
    animation-name: meaInfiniteSliderLeft;
}

.mea-infinite-slider-track.is-direction-right {
    animation-name: meaInfiniteSliderRight;
}

@keyframes meaInfiniteSliderLeft {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-1 * var(--mea-slider-distance, 0px)));
    }
}

@keyframes meaInfiniteSliderRight {
    from {
        transform: translateX(calc(-1 * var(--mea-slider-distance, 0px)));
    }
    to {
        transform: translateX(0);
    }
}

@media (max-width: 1024px) {
    .mea-infinite-slider-group {
        gap: 3vw;
        padding-right: 3vw;
    }

    .mea-infinite-slider-element {
        flex-basis: var(--mea-element-width-tablet, var(--mea-element-width, 50vw));
        width: var(--mea-element-width-tablet, var(--mea-element-width, 50vw));
    }
}

@media (max-width: 767px) {
    .mea-infinite-slider-group {
        gap: 4vw;
        padding-right: 4vw;
    }

    .mea-infinite-slider-element {
        flex-basis: var(--mea-element-width-mobile, var(--mea-element-width-tablet, var(--mea-element-width, 60vw)));
        width: var(--mea-element-width-mobile, var(--mea-element-width-tablet, var(--mea-element-width, 60vw)));
    }
}

@media (min-width: 1901px) {
    .mea-infinite-slider-element {
        flex-basis: var(--mea-element-width-wide, var(--mea-element-width, 30vw));
        width: var(--mea-element-width-wide, var(--mea-element-width, 30vw));
    }
}
