.hsk-ticker {
	overflow: hidden;
	position: relative;
	width: 100%;
	text-align: left;
	font-size: var(--hsk-font-size, inherit);
	background-color: var(--hsk-bg, transparent);
	color: var(--hsk-color, inherit);
	padding: var(--hsk-padding, 0) 0;
	box-sizing: border-box;
}

.hsk-ticker .hsk-ticker-track {
	display: inline-block;
	white-space: nowrap;
	list-style: none;
	margin: 0;
	padding: 0;
	will-change: transform;
	animation: hsk-ticker-scroll var(--hsk-duration, 20s) linear infinite;
}

.hsk-ticker--dir-right .hsk-ticker-track {
	animation-direction: reverse;
}

.hsk-ticker--pause-on-hover:hover .hsk-ticker-track,
.hsk-ticker--pause-on-hover:focus-within .hsk-ticker-track {
	animation-play-state: paused;
}

.hsk-ticker .hsk-ticker-item {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	margin: 0 var(--hsk-gap, 32px) 0 0;
	padding: 0;
	font-size: inherit;
	vertical-align: top;
}

.hsk-ticker .hsk-ticker-item a {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	color: inherit;
	text-decoration: underline;
}

.hsk-ticker .hsk-ticker-icon {
	font-size: 1.15em;
	line-height: 1;
	flex: none;
}

/* Start-/Endposition setzt frontend.js in Pixeln, damit Theme-Styles den Versatz nicht überschreiben können. */
@keyframes hsk-ticker-scroll {
	from { transform: translateX(var(--hsk-start, 100%)); }
	to   { transform: translateX(var(--hsk-end, -100%)); }
}

.hsk-ticker-fallback {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
	.hsk-ticker-track {
		display: none;
	}

	.hsk-ticker-fallback {
		position: static;
		width: auto;
		height: auto;
		clip: auto;
		white-space: normal;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.hsk-ticker .hsk-ticker-fallback .hsk-ticker-item {
		display: flex;
		margin: 0 0 .5em;
	}
}
