.gb-partner-logo-marquee {
	position: relative;
	overflow: hidden;
	padding: max(var(--section-spacing-xl), calc(9.25 * var(--su))) var(--pk-site-gutter);
	background: var(--color-pistachio);
	color: var(--color-white);
}

.gb-partner-logo-marquee::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: max(95.625rem, calc(95.625 * var(--su)));
	height: max(35.875rem, calc(35.875 * var(--su)));
	background: url("../../../../assets/images/general-content-cta-line.svg") center / 100% 100% no-repeat;
	pointer-events: none;
	transform: translate(calc(-50% - max(5.125rem, calc(5.125 * var(--su)))), -50%);
}

.gb-partner-logo-marquee__inner {
	position: relative;
	z-index: 1;
	width: min(100%, max(71.875rem, calc(71.875 * var(--su))));
	margin-inline: auto;
}

.gb-partner-logo-marquee__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: max(3rem, calc(3 * var(--su)));
	overflow: hidden;
	padding: max(5rem, calc(5 * var(--su))) max(4rem, calc(4 * var(--su)));
	border-radius: 0 var(--radius-2xl) 0 var(--radius-2xl);
	background: var(--color-cypress);
}

.gb-partner-logo-marquee__heading {
	position: relative;
	z-index: 2;
	min-width: 100%;
	margin: 0;
	color: var(--color-white);
	font-size: var(--scaling-h3);
	text-align: center;
}

.gb-partner-logo-marquee__viewport {
	position: relative;
	z-index: 1;
	width: 100%;
	overflow: hidden;
}

.gb-partner-logo-marquee__viewport::before,
.gb-partner-logo-marquee__viewport::after {
	content: "";
	position: absolute;
	top: 50%;
	z-index: 2;
	width: max(14.625rem, calc(14.625 * var(--su)));
	height: max(13.125rem, calc(13.125 * var(--su)));
	pointer-events: none;
	transform: translateY(-50%);
}

.gb-partner-logo-marquee__viewport::before {
	left: 0;
	background: linear-gradient(90deg, var(--color-cypress) 0%, rgba(7, 75, 60, 0) 100%);
}

.gb-partner-logo-marquee__viewport::after {
	right: 0;
	background: linear-gradient(270deg, var(--color-cypress) 0%, rgba(7, 75, 60, 0) 100%);
}

.gb-partner-logo-marquee__track {
	display: flex;
	width: max-content;
	animation: gb-partner-logo-marquee 42s linear infinite;
}

.gb-partner-logo-marquee__group {
	display: flex;
	align-items: center;
	gap: max(4.375rem, calc(4.375 * var(--su)));
	padding-inline-end: max(4.375rem, calc(4.375 * var(--su)));
}

.gb-partner-logo-marquee__logo {
	position: relative;
	display: grid;
	width: max(4.5rem, calc(4.5 * var(--su)));
	height: max(4.5rem, calc(4.5 * var(--su)));
	flex: 0 0 auto;
	place-items: center;
	overflow: hidden;
}

.gb-partner-logo-marquee__logo img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
}

.gb-partner-logo-marquee__button {
	position: relative;
	z-index: 2;
	margin: 0;
}

@keyframes gb-partner-logo-marquee {
	to {
		transform: translateX(-50%);
	}
}

@media only screen and (max-width: 767px) {
	.gb-partner-logo-marquee {
		padding: max(var(--section-spacing-sm), calc(4 * var(--su))) var(--pk-site-gutter);
	}

	.gb-partner-logo-marquee::before {
		display: none;
	}

	.gb-partner-logo-marquee__inner {
		width: 100%;
	}

	.gb-partner-logo-marquee__panel {
		gap: max(2rem, calc(2 * var(--su)));
		padding: max(4rem, calc(4 * var(--su))) max(1.5rem, calc(1.5 * var(--su)));
		border-radius: 0 var(--radius-lg) 0 var(--radius-lg);
	}

	.gb-partner-logo-marquee__heading {
		font-size: max(1.5rem, calc(1.5 * var(--su)));
	}

	.gb-partner-logo-marquee__viewport::before,
	.gb-partner-logo-marquee__viewport::after {
		width: max(6.375rem, calc(6.375 * var(--su)));
		height: max(4.75rem, calc(4.75 * var(--su)));
	}

	.gb-partner-logo-marquee__group {
		gap: max(1.5rem, calc(1.5 * var(--su)));
		padding-inline-end: max(1.5rem, calc(1.5 * var(--su)));
	}

	.gb-partner-logo-marquee__logo {
		width: max(2.5rem, calc(2.5 * var(--su)));
		height: max(2.5rem, calc(2.5 * var(--su)));
	}
}

@media (prefers-reduced-motion: reduce) {
	.gb-partner-logo-marquee__track {
		animation-play-state: paused;
	}
}
