.nld-logo-slider {
	overflow: hidden;
	padding: 20px 0;
	white-space: nowrap;
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background-color: var(--nld-background-color, #fff);
}

.nld-logo-slider *,
.nld-logo-slider *::before,
.nld-logo-slider *::after {
	box-sizing: border-box;
}

.nld-logo-slider.has-fade::before,
.nld-logo-slider.has-fade::after {
	position: absolute;
	top: 0;
	width: var(--nld-fade-width, 100px);
	height: 100%;
	content: "";
	z-index: 2;
	pointer-events: none;
}

.nld-logo-slider.has-fade::before {
	left: 0;
	background: linear-gradient(to left, rgba(255, 255, 255, 0), var(--nld-background-color, var(--nld-fade-color, #fff)));
}

.nld-logo-slider.has-fade::after {
	right: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--nld-background-color, var(--nld-fade-color, #fff)));
}

.nld-logo-track {
	display: inline-block;
	animation: nld-logo-scroll var(--nld-animation-speed, 20s) linear infinite;
	will-change: transform;
}

.nld-logo-slider.pause-on-hover:hover .nld-logo-track {
	animation-play-state: paused;
}

.nld-logo-link {
	display: inline-block;
	text-decoration: none;
	line-height: 0;
}

.nld-logo-item {
	display: inline-block;
	height: var(--nld-logo-height, 50px);
	max-height: var(--nld-logo-height, 50px);
	width: auto;
	max-width: none;
	margin: 0 var(--nld-logo-margin, 40px);
	vertical-align: middle;
	opacity: 0.5;
	transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease;
}

.nld-logo-slider.has-grayscale .nld-logo-item {
	filter: grayscale(100%);
}

.nld-logo-item:hover,
.nld-logo-link:hover .nld-logo-item,
.nld-logo-link:focus-visible .nld-logo-item,
.nld-logo-slider.has-grayscale .nld-logo-item:hover,
.nld-logo-slider.has-grayscale .nld-logo-link:hover .nld-logo-item,
.nld-logo-slider.has-grayscale .nld-logo-link:focus-visible .nld-logo-item {
	opacity: 1;
	filter: grayscale(0%) brightness(var(--nld-hover-brightness, 1.2));
	cursor: pointer;
}

.nld-logo-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

@keyframes nld-logo-scroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nld-logo-track {
		animation: none;
	}
}
