.gem-logo-scroll{--gem-logo-height:80px;--gem-logo-gap:30px;--gem-logo-duration:24s;--gem-fade-width:12%;width:100%;overflow:hidden}.gem-logo-scroll__viewport{width:100%;overflow:hidden}.gem-logo-scroll--fade .gem-logo-scroll__viewport{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--gem-fade-width),#000 calc(100% - var(--gem-fade-width)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--gem-fade-width),#000 calc(100% - var(--gem-fade-width)),transparent)}.gem-logo-scroll__track,.gem-logo-scroll__group{display:flex;width:max-content;align-items:center}.gem-logo-scroll__group{flex:0 0 auto;gap:var(--gem-logo-gap);padding-right:var(--gem-logo-gap)}.gem-logo-scroll__item{flex:0 0 auto}.gem-logo-scroll__link,.gem-logo-scroll__image-wrap{display:flex;align-items:center;min-height:calc(var(--gem-logo-height) + 16px)}.gem-logo-scroll__image{display:block;width:auto;height:var(--gem-logo-height);max-width:min(240px,48vw);object-fit:contain;transition:.25s}.gem-logo-scroll__separator{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:var(--gem-logo-height);line-height:1}.gem-logo-scroll__separator--uikit{height:var(--gem-logo-height)}.gem-logo-scroll__uikit-divider.uk-divider-vertical{display:block;width:0;height:100%;min-height:24px;margin:0;border-left:max(1px,calc(1em / 12)) solid currentColor;opacity:.65}.gem-logo-scroll--running .gem-logo-scroll__track{animation:gem-logo-marquee var(--gem-logo-duration) linear infinite}.gem-logo-scroll--right .gem-logo-scroll__track{animation-direction:reverse}.gem-logo-scroll--running:hover .gem-logo-scroll__track{animation-play-state:paused}.gem-logo-scroll--grayscale .gem-logo-scroll__image{filter:grayscale(1);opacity:.72}.gem-logo-scroll--grayscale .gem-logo-scroll__item:hover .gem-logo-scroll__image{filter:none;opacity:1}.gem-logo-scroll--zoom .gem-logo-scroll__item:hover .gem-logo-scroll__image{transform:scale(1.05)}@keyframes gem-logo-marquee{to{transform:translate3d(-25%,0,0)}}@media(prefers-reduced-motion:reduce){.gem-logo-scroll--running .gem-logo-scroll__track{animation:none}}

/* Bewegungsart: Hin und zurück. Das Band fährt bis zum rechten Ende und wieder zurück. */
.gem-logo-scroll--running.gem-logo-scroll--alternate .gem-logo-scroll__track {
    animation-name: gem-logo-marquee-alternate;
    animation-direction: alternate;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

/* In der Bouncing-Variante wird nur eine Logo-Gruppe benötigt. */
.gem-logo-scroll--alternate .gem-logo-scroll__group {
    min-width: max-content;
}

@keyframes gem-logo-marquee-alternate {
    0%, 3% {
        transform: translate3d(0, 0, 0);
    }
    97%, 100% {
        transform: translate3d(calc(-100% + 100vw), 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .gem-logo-scroll--alternate .gem-logo-scroll__track {
        animation: none !important;
    }
}


/* Optionaler lustiger Bounce der einzelnen Logos */
.gem-logo-scroll--logo-bounce-hover .gem-logo-scroll__item:hover .gem-logo-scroll__image,
.gem-logo-scroll--logo-bounce-hover .gem-logo-scroll__item:focus-within .gem-logo-scroll__image {
    animation: gem-logo-item-bounce var(--gem-logo-bounce-duration) ease both;
}
.gem-logo-scroll--logo-bounce-continuous .gem-logo-scroll__item .gem-logo-scroll__image {
    animation: gem-logo-item-bounce var(--gem-logo-bounce-duration) ease-in-out infinite;
}
.gem-logo-scroll--logo-bounce-continuous .gem-logo-scroll__item:nth-child(2n) .gem-logo-scroll__image {
    animation-delay: calc(var(--gem-logo-bounce-duration) / -2);
}
@keyframes gem-logo-item-bounce {
    0%, 100% { transform: translateY(0) scale(1); }
    35% { transform: translateY(calc(var(--gem-logo-bounce-height) * -1)) scale(1.03); }
    55% { transform: translateY(0) scale(.99); }
    72% { transform: translateY(calc(var(--gem-logo-bounce-height) * -.35)) scale(1.01); }
}
@media (prefers-reduced-motion: reduce) {
    .gem-logo-scroll--logo-bounce .gem-logo-scroll__image { animation: none !important; }
}
