.scrolling-logo-wrapper-279 {
	width: 100vw;
	max-width: 100vw;
	overflow: hidden;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	display: flex;
}

.scrolling-logo-track-279 {
	display: flex;
	align-items: center;
	width: max-content;
	animation: scrollLogos279 var(--animation-duration, 20s) linear infinite;
	animation-direction: var(--animation-direction, normal);
}

.scrolling-logo-pause-hover-yes .scrolling-logo-track-279:hover {
	animation-play-state: paused;
}

.scrolling-logo-item-279 {
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	/* Width calculation based on viewport width, gap, and logos per view */
	/* 100vw minus the total gap space divided by the number of logos per view */
	width: calc((100vw - (gap * (var(--logos-per-view, 6) - 1))) / var(--logos-per-view, 6));
}

.scrolling-logo-item-279 img {
	max-width: 100%;
	object-fit: contain;
	transition: opacity 0.3s ease, filter 0.3s ease;
}

.scrolling-logo-item-279 a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

@keyframes scrollLogos279 {
	0% {
		transform: translateX(0);
	}
	100% {
		/* Translate by half the width since we duplicate the content */
		transform: translateX(-50%);
	}
}

/* Fallback calculation if gap variable isn't fully supported in calc yet in some older browsers */
@supports not (width: calc((100vw - (gap * 5)) / 6)) {
	.scrolling-logo-item-279 {
		width: calc(100vw / var(--logos-per-view, 6));
		padding: 0 15px; /* fallback padding */
	}
	.scrolling-logo-track-279 {
		gap: 0 !important; /* disable gap when using padding fallback */
	}
}