.omonsch-bb-logo-carousel {
	width: 100%;
	max-width: 100%;
}

.omonsch-bb-logo-carousel__viewport {
	overflow: hidden;
	width: 100%;
	container-type: inline-size;
}

.omonsch-bb-logo-carousel__track {
	display: flex;
	width: max-content;
	animation: omonsch-bb-logo-marquee var(--omonsch-carousel-duration, 45s) linear infinite;
	will-change: transform;
}

.omonsch-bb-logo-carousel__set {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
}

.omonsch-bb-logo-carousel__item {
	box-sizing: border-box;
	display: flex;
	flex: 0 0 calc(100cqw / var(--omonsch-carousel-columns, 5));
	align-items: center;
	justify-content: center;
	width: calc(100cqw / var(--omonsch-carousel-columns, 5));
	height: var(--omonsch-carousel-height, 80px);
	padding: 0 1rem;
}

.omonsch-bb-logo-carousel__image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}

.omonsch-bb-logo-carousel--fade-edges .omonsch-bb-logo-carousel__viewport {
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0%,
		#000 10%,
		#000 90%,
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0%,
		#000 10%,
		#000 90%,
		transparent 100%
	);
}

.omonsch-bb-logo-carousel--pause-hover:hover .omonsch-bb-logo-carousel__track {
	animation-play-state: paused;
}

@keyframes omonsch-bb-logo-marquee {
	from {
		transform: translateX(0);
	}

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

@media (prefers-reduced-motion: reduce) {
	.omonsch-bb-logo-carousel__track {
		animation: none;
		transform: none;
		flex-wrap: wrap;
		width: 100%;
	}

	.omonsch-bb-logo-carousel__set--clone {
		display: none;
	}

	.omonsch-bb-logo-carousel__set {
		flex-wrap: wrap;
		width: 100%;
	}

	.omonsch-bb-logo-carousel__item {
		flex: 0 0 calc(100% / var(--omonsch-carousel-columns, 5));
		width: calc(100% / var(--omonsch-carousel-columns, 5));
	}
}
