.logotypes {
	padding: 60px 0;
}

.logotypes .inner {
	max-width: var(--max-width);
	margin: 0 auto;
}

.logotypes__viewport {
	overflow: hidden;
	width: 100%;
	position: relative;
}

.logotypes__track {
	display: flex;
	align-items: center;
	width: max-content;
	flex-wrap: nowrap;
}

.logotypes__group {
	display: flex;
	align-items: center;
	gap: 80px;
	flex: 0 0 auto;
	margin: 0 calc(80px / 2);
}

.logotypes__item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.logotypes__image {
	display: block;
	width: auto;
	height: auto;
	max-height: 150px;
	object-fit: contain;
}

.logotypes--scroll .logotypes__track {
	will-change: transform;
	animation: logotypes-marquee var(--logotypes-duration, 30s) linear infinite;
}

/* .logotypes--scroll:hover .logotypes__track {
	animation-play-state: paused;
} */

@keyframes logotypes-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(calc(-1 * var(--logotypes-distance, 0px)), 0, 0);
	}
}


/* scrolling mode */

.logotypes--scroll {
	position: relative;
}

.logotypes--scroll:before,
.logotypes--scroll:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 60px;
	height: 100%;
	background: linear-gradient(to right, #ffffff 0%, rgba(255,255,255,0) 100%);
	z-index: 10;
}

.logotypes--scroll:after {
	left: initial;
	right: 0;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, #ffffff 100%);
}

.logotypes--scroll > .inner {
	max-width: 100%;
}


@media (max-width:880px) {


	.logotypes {
		padding: 20px 0 0 0;
	}

	.logotypes__track {
		width: 100%;
	}

	/* not .logotypes--scroll */
	.logotypes__group { 
		box-sizing: border-box;
		gap: 20px;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: center;
		flex: initial;
		width: var(--max-width-full);
	}

	.logotypes__item {
		width: calc(50% - 10px);
	}
}