.logo-gallery {
	--marquee-gap: var(--gap-xl);
	--marquee-duration: 30s;
	overflow: hidden;
	position: relative;
}
@media screen and (max-width: 767px) {
	.logo-gallery {
		--marquee-gap: var(--gap-m);
	}
}

/* Left fade */
.logo-gallery::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(var(--gutter) * -1);
	width: 17vw;
	height: 100%;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 15%,
		rgba(255, 255, 255, 0.7) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	z-index: 9;
	pointer-events: none;
}

/* Right fade */
.logo-gallery::after {
	content: "";
	position: absolute;
	top: 0;
	right: calc(var(--gutter) * -1);
	width: 17vw;
	height: 100%;
	background: linear-gradient(
		to left,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 15%,
		rgba(255, 255, 255, 0.7) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	z-index: 9;
	pointer-events: none;
}

.logo-gallery__track {
	display: flex;
	gap: var(--marquee-gap);
}

.logo-gallery__group {
	display: flex;
	gap: var(--marquee-gap);
	flex-shrink: 0;
	min-width: 100%;
	justify-content: space-around;
	animation: logo-marquee var(--marquee-duration) linear infinite;
}

.logo-gallery__group img {
	height: auto;
	max-width: 170px;
	max-height: 100px;
	object-fit: contain;
	flex-shrink: 0;
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.logo-gallery::before,
	.logo-gallery::after {
		width: 25vw;
	}
	.logo-gallery__group img {
		height: auto;
		max-width: 120px;
		max-height: 90px;
	}
}
section.logo-gallery {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.logo-gallery h2 {
	margin-bottom: var(--gap-xs2);
}

@keyframes logo-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - var(--marquee-gap)));
	}
}

div.logo-gallery__track {
	max-inline-size: unset;
}
