/* Logo Loop Slider for Elementor */

.lls {
	--lls-gap: 60px;
	--lls-height: 60px;
	--lls-fade: 80px;
	--lls-distance: 0px;
	--lls-duration: 30s;

	position: relative;
	direction: ltr; /* il calcolo dello scorrimento presuppone un flusso da sinistra */
	background-color: #f5f5f5;
	padding: 30px 0;
	overflow: hidden;
}

.lls__viewport {
	overflow: hidden;
}

.lls--fade .lls__viewport {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--lls-fade), #000 calc(100% - var(--lls-fade)), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 var(--lls-fade), #000 calc(100% - var(--lls-fade)), transparent 100%);
}

.lls__track {
	display: flex;
	width: max-content;
	will-change: transform;
}

.lls--ready .lls__track {
	animation: lls-scroll var(--lls-duration) linear infinite;
}

.lls--reverse .lls__track {
	animation-direction: reverse;
}

.lls--pause-hover .lls__viewport:hover .lls__track,
.lls--pause-hover .lls__viewport:focus-within .lls__track {
	animation-play-state: paused;
}

@keyframes lls-scroll {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(calc(-1 * var(--lls-distance)), 0, 0); }
}

/* Reset robusto contro gli stili del tema su ul/li */
.lls .lls__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--lls-gap);
	margin: 0;
	padding: 0 var(--lls-gap) 0 0;
	list-style: none;
}

.lls .lls__item {
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lls .lls__item::before,
.lls .lls__item::marker {
	content: none;
}

.lls__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border: 0;
	box-shadow: none;
	transition: background-color .3s ease;
}

.lls .lls__img {
	display: block;
	height: var(--lls-height);
	width: auto;
	max-width: none;
	object-fit: contain;
	-webkit-user-drag: none;
	user-select: none;
}

/* Specificità bassa di proposito: i controlli di Elementor devono poterle sovrascrivere */
.lls__img {
	opacity: .7;
	transition-property: opacity, filter, transform;
	transition-duration: .3s;
	transition-timing-function: ease;
}

.lls--grayscale .lls__img {
	filter: grayscale(1);
}

.lls--grayscale .lls__logo:hover .lls__img,
.lls--grayscale .lls__logo:focus-visible .lls__img {
	filter: none;
}

/* Chi ha chiesto meno animazioni al sistema operativo vede una fila scorrevole a mano */
@media (prefers-reduced-motion: reduce) {
	.lls--ready .lls__track {
		animation: none;
	}

	.lls__viewport {
		overflow-x: auto;
	}

	.lls .lls__group--clone {
		display: none;
	}
}
