.alm-marquee {
	--alm-green: #35a936;
	--alm-dark-green: #137b2a;
	--alm-orange: #f7941d;
	--alm-yellow: #ffd84d;
	--alm-gap-desktop: 56px;
	--alm-gap: var(--alm-gap-desktop);
	--alm-duration: 30s;
	--alm-logo-height: 70px;
	--alm-mobile-height: 50px;
	--alm-bg: #fff;
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 30px 0;
	background: var(--alm-bg);
	isolation: isolate;
}

.alm-marquee.alm-has-accent::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--alm-orange), var(--alm-yellow) 42%, var(--alm-green));
	z-index: 2;
}

.alm-viewport {
	overflow: hidden;
	width: 100%;
}

.alm-edge-fade .alm-viewport {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.alm-track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: var(--alm-gap);
	will-change: transform;
	animation: alm-scroll var(--alm-duration) linear infinite;
	animation-play-state: paused;
}

.alm-ready .alm-track {
	animation-play-state: running;
}

.alm-marquee[data-direction="right"] .alm-track {
	animation-direction: reverse;
}

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

.alm-group {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: var(--alm-gap);
}

.alm-logo-item {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	min-width: calc(var(--alm-logo-height) * 1.75);
	transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease, background-color .3s ease;
}

.alm-logo-item a {
	display: grid;
	place-items: center;
	text-decoration: none;
	outline-offset: 6px;
}

.alm-logo-item img {
	display: block;
	width: auto;
	max-width: min(220px, 24vw);
	height: var(--alm-logo-height);
	object-fit: contain;
	transition: filter .3s ease, opacity .3s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}

.alm-style-cards .alm-logo-item {
	min-width: calc(var(--alm-logo-height) * 2.3);
	padding: 18px 24px;
	border: 1px solid rgba(19, 123, 42, .1);
	border-radius: 16px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 8px 28px rgba(18, 61, 26, .07);
}

.alm-logo-item:hover {
	transform: translateY(-3px);
}

.alm-style-cards .alm-logo-item:hover {
	border-color: rgba(53, 169, 54, .25);
	box-shadow: 0 14px 34px rgba(18, 61, 26, .12);
}

.alm-effect-soft .alm-logo-item img {
	filter: saturate(.78);
	opacity: .88;
}

.alm-effect-soft .alm-logo-item:hover img,
.alm-effect-soft .alm-logo-item:focus-within img {
	filter: saturate(1);
	opacity: 1;
}

.alm-effect-grayscale .alm-logo-item img {
	filter: grayscale(1);
	opacity: .72;
}

.alm-effect-grayscale .alm-logo-item:hover img,
.alm-effect-grayscale .alm-logo-item:focus-within img {
	filter: grayscale(0);
	opacity: 1;
}

.alm-editor-message {
	padding: 12px 16px;
	border-left: 4px solid #f7941d;
	background: #fff8ed;
	color: #58330b;
}

@keyframes alm-scroll {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(calc(-50% - (var(--alm-gap) / 2)), 0, 0); }
}

@media (max-width: 767px) {
	.alm-marquee {
		--alm-gap: min(var(--alm-gap-desktop), 34px);
		padding: 22px 0;
	}
	.alm-edge-fade .alm-viewport {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
	}
	.alm-logo-item {
		min-width: calc(var(--alm-mobile-height) * 1.75);
	}
	.alm-logo-item img {
		height: var(--alm-mobile-height);
		max-width: 150px;
	}
	.alm-style-cards .alm-logo-item {
		min-width: calc(var(--alm-mobile-height) * 2.25);
		padding: 14px 18px;
		border-radius: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.alm-marquee.alm-ready .alm-track {
		animation-play-state: paused;
	}
	.alm-viewport {
		overflow-x: auto;
		scrollbar-width: thin;
	}
}
