:root {
    --ticker-animation-duration: 20s;
    --ticker-gap-x: var(--space-md);
    --ticker-img-width: 280px
}

@media(min-width: 48rem) {
    :root {
        --ticker-img-width:400px
    }
}

@media(min-width: 64rem) {
    :root {
        --ticker-img-width:550px
    }
}

.ticker {
    overflow: hidden
}

.ticker__list {
    display: flex;
    overflow: auto;
    will-change: transform;
    transform: translateZ(0px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.ticker--animate .ticker__list {
    animation: ticker-animation var(--ticker-animation-duration) infinite;
    animation-timing-function: linear
}

.ticker[data-ticker-pause-hover=on] .ticker__list:hover,.ticker--paused .ticker__list {
    animation-play-state: paused
}

.ticker__item {
    flex-shrink: 0;
    margin-right: calc(var(--ticker-gap-x)/2);
    margin-left: calc(var(--ticker-gap-x)/2)
}

.ticker__img {
    display: block;
    width: var(--ticker-img-width)
}

.ticker-control {
    display: inline-flex;
    width: 40px;
    height: 40px;
    background-color: hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),0.75);
    border-radius: 50%;
    transition: .2s
}

.ticker-control i {
    position: relative;
    display: block;
    width: 16px;
    height: 16px;
    margin: auto;
    color: var(--color-bg)
}

.ticker-control i::before,.ticker-control i::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: currentColor;
    transition: -webkit-clip-path .2s var(--ease-out);
    transition: clip-path .2s var(--ease-out);
    transition: clip-path .2s var(--ease-out),-webkit-clip-path .2s var(--ease-out)
}

.ticker-control i::before {
    -webkit-clip-path: polygon(1px 1px,5px 1px,5px calc(100% - 1px),1px calc(100% - 1px));
    clip-path: polygon(1px 1px,5px 1px,5px calc(100% - 1px),1px calc(100% - 1px))
}

.ticker-control i::after {
    -webkit-clip-path: polygon(calc(100% - 5px) 1px,calc(100% - 1px) 1px,calc(100% - 1px) calc(100% - 1px),calc(100% - 5px) calc(100% - 1px));
    clip-path: polygon(calc(100% - 5px) 1px,calc(100% - 1px) 1px,calc(100% - 1px) calc(100% - 1px),calc(100% - 5px) calc(100% - 1px))
}

.ticker-control:hover {
    cursor: pointer;
    background-color: hsla(var(--color-contrast-higher-h),var(--color-contrast-higher-s),var(--color-contrast-higher-l),0.95)
}

.ticker-control[aria-pressed=true] i::before {
    -webkit-clip-path: polygon(2px 0%,100% 50%,100% 50%,2px 100%);
    clip-path: polygon(2px 0%,100% 50%,100% 50%,2px 100%)
}

.ticker-control[aria-pressed=true] i::after {
    -webkit-clip-path: polygon(calc(100% - 5px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 5px) calc(100% - 1px));
    clip-path: polygon(calc(100% - 5px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 5px) calc(100% - 1px))
}

.ticker:not(.ticker--anim-off) .ticker__list {
    overflow: visible
}

.ticker--reverse:not(.ticker--anim-off) .ticker__list {
    flex-direction: row-reverse
}

.ticker--reverse.ticker--animate:not(.ticker--anim-off) .ticker__list {
    transform: translateX(calc(100vw - 100%));
    animation-name: ticker-animation-reverse
}

@keyframes ticker-animation {
    0% {
        transform: translateX(0%)
    }

    100% {
        transform: translateX(-50%)
    }
}

@keyframes ticker-animation-reverse {
    0% {
        transform: translateX(calc(100vw - 100%))
    }

    100% {
        transform: translateX(calc(100vw - 50%))
    }
}
