.wtbd-ticker {
	--wtbd-duration: 600ms;
	--wtbd-easing: ease;
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	margin: 0;
	line-height: 1.2;
}

.wtbd-ticker__viewport {
	position: relative;
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	vertical-align: bottom;
	perspective: 800px;
}

.wtbd-ticker__word {
	display: inline-block;
	white-space: nowrap;
	will-change: transform, opacity, filter;
	transition:
		transform var(--wtbd-duration) var(--wtbd-easing),
		opacity var(--wtbd-duration) var(--wtbd-easing),
		filter var(--wtbd-duration) var(--wtbd-easing);
}

.wtbd-ticker.is-leaving .wtbd-ticker__word,
.wtbd-ticker.is-entering .wtbd-ticker__word {
	opacity: 0;
}

.wtbd-ticker--slide-up.is-leaving .wtbd-ticker__word { transform: translateY(-110%); }
.wtbd-ticker--slide-up.is-entering .wtbd-ticker__word { transform: translateY(110%); }
.wtbd-ticker--slide-down.is-leaving .wtbd-ticker__word { transform: translateY(110%); }
.wtbd-ticker--slide-down.is-entering .wtbd-ticker__word { transform: translateY(-110%); }
.wtbd-ticker--slide-left.is-leaving .wtbd-ticker__word { transform: translateX(-110%); }
.wtbd-ticker--slide-left.is-entering .wtbd-ticker__word { transform: translateX(110%); }
.wtbd-ticker--slide-right.is-leaving .wtbd-ticker__word { transform: translateX(110%); }
.wtbd-ticker--slide-right.is-entering .wtbd-ticker__word { transform: translateX(-110%); }
.wtbd-ticker--flip.is-leaving .wtbd-ticker__word { transform: rotateX(90deg); }
.wtbd-ticker--flip.is-entering .wtbd-ticker__word { transform: rotateX(-90deg); }
.wtbd-ticker--zoom.is-leaving .wtbd-ticker__word { transform: scale(.65); }
.wtbd-ticker--zoom.is-entering .wtbd-ticker__word { transform: scale(1.35); }
.wtbd-ticker--blur.is-leaving .wtbd-ticker__word,
.wtbd-ticker--blur.is-entering .wtbd-ticker__word { filter: blur(10px); }

.wtbd-ticker--typewriter .wtbd-ticker__word::after {
	content: "";
	display: inline-block;
	width: .08em;
	height: .9em;
	margin-left: .08em;
	background: currentColor;
	vertical-align: -.05em;
	animation: wtbd-caret .75s step-end infinite;
}

.wtbd-ticker--marquee {
	flex-wrap: nowrap;
	width: 100%;
}

.wtbd-ticker--marquee .wtbd-ticker__viewport {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
}

.wtbd-ticker__marquee-track {
	display: flex;
	align-items: center;
	width: max-content;
	animation: wtbd-marquee var(--wtbd-marquee-speed, 18s) linear infinite;
	will-change: transform;
}

.wtbd-ticker__marquee-set {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.wtbd-ticker__marquee-item {
	display: inline-block;
	flex-shrink: 0;
	white-space: nowrap;
}

.wtbd-ticker--marquee:hover .wtbd-ticker__marquee-track.wtbd-pause-hover {
	animation-play-state: paused;
}

@keyframes wtbd-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(calc(-50% - (var(--wtbd-marquee-gap, 0px) / 2))); }
}

@keyframes wtbd-caret {
	50% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.wtbd-ticker[data-wtbd-reduced="true"] .wtbd-ticker__word {
		transition: none !important;
		animation: none !important;
	}

	.wtbd-ticker[data-wtbd-reduced="true"] .wtbd-ticker__marquee-track {
		animation: none !important;
	}
}
