/**
 * Carrier logo marquee.
 * Loaded separately from index.css, which is a build artefact and gets overwritten.
 */

.carriers {
	--carriers-gap: 3.75rem;
	--carriers-logo-height: 3.5rem;
	--carriers-logo-max-width: 10rem;
	padding: 2.125rem 0;
}

.carriers__viewport {
	position: relative;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}

.carriers__track {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	animation: carriers-scroll var(--carriers-duration, 60s) linear infinite;
}

.carriers__viewport:hover .carriers__track {
	animation-play-state: paused;
}

.carriers__set {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--carriers-gap);
	padding-right: var(--carriers-gap);
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.carriers__item {
	display: flex;
	flex: none;
	align-items: center;
	height: var(--carriers-logo-height);
}

.carriers__logo {
	display: block;
	width: auto;
	height: 100%;
	max-width: var(--carriers-logo-max-width);
	object-fit: contain;
}

@keyframes carriers-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (width < 64em) {
	.carriers {
		--carriers-gap: 2.5rem;
		--carriers-logo-height: 3rem;
		--carriers-logo-max-width: 8.75rem;
	}
}

@media (width < 48em) {
	.carriers {
		--carriers-gap: 2rem;
		--carriers-logo-height: 2.5rem;
		--carriers-logo-max-width: 7.5rem;
		padding: 2rem 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.carriers__track {
		width: auto;
		animation: none;
	}

	.carriers__set[aria-hidden="true"] {
		display: none;
	}

	.carriers__viewport {
		overflow-x: auto;
	}
}
