/* Logo slide / gallery */
.luxf-logo-slide {
	--luxf-logo-cols: 8;
	--luxf-logo-cols-md: 4;
	--luxf-logo-cols-sm: 2;
	--luxf-logo-rows: 2;
	--luxf-logo-rows-md: 2;
	--luxf-logo-rows-sm: 2;
	--luxf-logo-cols-current: var(--luxf-logo-cols);
	--luxf-logo-rows-current: var(--luxf-logo-rows);
	--luxf-logo-gap: 8px;
	--luxf-logo-pad: 16px;
	--luxf-logo-img: 72%;
	--luxf-logo-width: 100%;
	--luxf-logo-bg: #fff;
	--luxf-logo-radius: 0px;
	--luxf-logo-ratio: 1 / 1;
	--luxf-logo-b-style: solid;
	--luxf-logo-b-width: 1px;
	--luxf-logo-b-color: rgb(126, 200, 227);
	position: relative;
	width: var(--luxf-logo-width);
	max-width: 100%;
	margin-inline: auto;
}

.luxf-logo-slide--slider {
	overflow: visible;
	padding-inline: 28px;
}

.luxf-logo-slide--grid .luxf-logo-slide__slider {
	grid-template-rows: none;
	grid-auto-flow: row;
	overflow: visible;
}

.luxf-logo-slide--grid .luxf-logo-slide__item {
	width: 100%;
}

.luxf-logo-slide__slider {
	--luxf-logo-col-width: calc((100% - (var(--luxf-logo-cols-current) - 1) * var(--luxf-logo-gap)) / var(--luxf-logo-cols-current));
	display: grid;
	grid-template-columns: repeat(var(--luxf-logo-cols-current), minmax(0, 1fr));
	gap: var(--luxf-logo-gap);
	align-items: stretch;
	width: 100%;
}

.luxf-logo-slide__slider:not(.flickity-enabled) {
	display: grid !important;
}

.luxf-logo-slide__slider:not(.flickity-enabled) .luxf-logo-slide__col {
	display: contents;
}

.luxf-logo-slide__slider.flickity-enabled {
	display: block;
	overflow: visible;
	gap: 0;
}

.luxf-logo-slide__col {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--luxf-logo-gap);
	padding: 0;
	margin: 0;
	min-width: 0;
}

.luxf-logo-slide__slider.flickity-enabled .luxf-logo-slide__col {
	display: flex;
	flex: 0 0 var(--luxf-logo-col-width);
	width: var(--luxf-logo-col-width);
	max-width: var(--luxf-logo-col-width);
	margin-right: var(--luxf-logo-gap);
}

.luxf-logo-slide__item {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: var(--luxf-logo-ratio);
	padding: var(--luxf-logo-pad);
	margin: 0;
	background: var(--luxf-logo-bg);
	border-radius: var(--luxf-logo-radius);
	min-width: 0;
	width: 100%;
}

.luxf-logo-slide--auto .luxf-logo-slide__item,
.luxf-logo-slide--ratio-auto .luxf-logo-slide__item {
	aspect-ratio: auto;
	min-height: 72px;
}

.luxf-logo-slide--ratio-1-1 .luxf-logo-slide__item {
	aspect-ratio: 1 / 1;
}

.luxf-logo-slide--ratio-4-3 .luxf-logo-slide__item {
	aspect-ratio: 4 / 3;
}

.luxf-logo-slide--ratio-3-2 .luxf-logo-slide__item {
	aspect-ratio: 3 / 2;
}

.luxf-logo-slide--ratio-16-9 .luxf-logo-slide__item {
	aspect-ratio: 16 / 9;
}

.luxf-logo-slide--ratio-21-9 .luxf-logo-slide__item {
	aspect-ratio: 21 / 9;
}

.luxf-logo-slide--border .luxf-logo-slide__item {
	border: none;
	box-shadow: inset 0 0 0 var(--luxf-logo-b-width) var(--luxf-logo-b-color);
}

.luxf-logo-slide--stroke .luxf-logo-slide__item {
	box-shadow: none;
	border-style: var(--luxf-logo-b-style);
	border-width: var(--luxf-logo-b-width);
	border-color: var(--luxf-logo-b-color);
}

.luxf-logo-slide__img {
	display: block;
	width: var(--luxf-logo-img);
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

.luxf-logo-slide--fit-cover .luxf-logo-slide__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.luxf-logo-slide--fit-scale .luxf-logo-slide__img {
	width: auto;
	height: auto;
	max-width: var(--luxf-logo-img);
	max-height: 100%;
	object-fit: scale-down;
}

.luxf-logo-slide__item--empty {
	min-height: 72px;
	background: repeating-linear-gradient(
		45deg,
		#f4f7f9,
		#f4f7f9 6px,
		#fff 6px,
		#fff 12px
	);
}

.luxf-logo-slide .flickity-viewport {
	overflow: hidden;
	width: 100%;
}

.luxf-logo-slide--stroke .flickity-viewport {
	padding-bottom: var(--luxf-logo-b-width);
}

.luxf-logo-slide .flickity-prev-next-button,
.luxf-logo-slide .flickity-button {
	position: absolute !important;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 28px;
	height: 44px;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	opacity: 1;
	color: #1592cb;
}

.luxf-logo-slide .flickity-prev-next-button.previous,
.luxf-logo-slide .flickity-button.previous {
	left: -8px;
}

.luxf-logo-slide .flickity-prev-next-button.next,
.luxf-logo-slide .flickity-button.next {
	right: -8px;
}

.luxf-logo-slide .flickity-prev-next-button .arrow,
.luxf-logo-slide .flickity-prev-next-button svg {
	fill: #1592cb;
}

.luxf-logo-slide .flickity-prev-next-button:hover .arrow,
.luxf-logo-slide .flickity-prev-next-button:hover svg {
	fill: #0d6f9c;
}

.luxf-logo-slide__hint {
	margin: 10px 0 0;
	color: #7a8a94;
	font-size: 13px;
	text-align: center;
}

.luxf-logo-slide__hint--count {
	margin-top: 8px;
}

.ux-builder-luxf-logo-slide {
	position: relative;
}

.ux-builder-luxf-logo-slide .luxf-logo-slide__slider {
	display: grid !important;
	grid-template-columns: repeat(var(--luxf-logo-cols-current, var(--luxf-logo-cols, 8)), minmax(0, 1fr));
	grid-template-rows: repeat(var(--luxf-logo-rows-current, var(--luxf-logo-rows, 2)), auto);
	grid-auto-flow: row;
	grid-auto-rows: auto;
	gap: var(--luxf-logo-gap, 8px);
	overflow: hidden;
}

.ux-builder-luxf-logo-slide .luxf-logo-slide__arrow {
	display: none;
}

.ux-builder-luxf-logo-slide.luxf-logo-slide--slider .luxf-logo-slide__arrow {
	display: inline-flex;
}

.ux-builder-luxf-logo-slide .luxf-logo-slide__item {
	width: 100%;
	margin-bottom: 0;
}

.luxf-logo-slide__arrow {
	position: absolute;
	top: 50%;
	z-index: 20;
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 44px;
	padding: 0;
	border: none;
	background: transparent;
	color: #1592cb;
	font-size: 36px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}

.luxf-logo-slide__arrow--prev {
	left: -8px;
}

.luxf-logo-slide__arrow--next {
	right: -8px;
}

.luxf-logo-slide--slider.ux-builder-luxf-logo-slide {
	padding-inline: 24px;
}

@media (max-width: 849px) {
	.luxf-logo-slide {
		--luxf-logo-cols-current: var(--luxf-logo-cols-md);
		--luxf-logo-rows-current: var(--luxf-logo-rows-md);
	}
}

@media (max-width: 549px) {
	.luxf-logo-slide {
		--luxf-logo-cols-current: var(--luxf-logo-cols-sm);
		--luxf-logo-rows-current: var(--luxf-logo-rows-sm);
	}
}
