.dp-ticker {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.dp-ticker-mask {
	overflow: hidden;
	width: 100%;
}

.dp-ticker-track {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	min-width: max-content;
	gap: 30px;
	will-change: transform;
	animation-name: dpTickerLeft;
	animation-duration: 30s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

.dp-ticker-group {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 30px;
}

.dp-ticker[data-direction="right"] .dp-ticker-track {
	animation-name: dpTickerRight;
}

.dp-ticker-pause-hover:hover .dp-ticker-track {
	animation-play-state: paused;
}

.dp-ticker-item {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

/* Match Elementor Icon List flex row inside the ticker; keep items inline-level in the track. */
.elementor-widget .dp-ticker .elementor-icon-list-item,
.elementor-widget .dp-ticker .elementor-icon-list-item a {
	display: inline-flex;
}

/* Rules scoped to Icon List widget in Elementor core; mirror for DP Ticker. */
.elementor-widget.elementor-widget-dp_ticker .elementor-icon-list-icon {
	text-align: var(--e-icon-list-icon-align, inherit);
}

.elementor-widget.elementor-widget-dp_ticker .elementor-icon-list-icon svg {
	margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * 0.25) 0 0);
}

.dp-ticker-item a {
	color: inherit;
	text-decoration: none;
}

@keyframes dpTickerLeft {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-1 * var(--dp-ticker-distance, 0px)));
	}
}

@keyframes dpTickerRight {
	from {
		transform: translateX(calc(-1 * var(--dp-ticker-distance, 0px)));
	}
	to {
		transform: translateX(0);
	}
}
