.flg-logo-gallery {
	--flg-columns: 5;
	--flg-gap: 24px;
	--flg-solid-color: #333132;
	display: grid;
	grid-template-columns: repeat(var(--flg-columns), minmax(0, 1fr));
	gap: var(--flg-gap);
	width: 100%;
	position: relative;
}

.flg-logo-gallery,
.flg-logo-gallery * {
	box-sizing: border-box;
}

.flg-logo-item {
	grid-column: span min(var(--flg-span, 1), var(--flg-columns));
	transition: opacity var(--flg-duration, 600ms) ease, transform var(--flg-duration, 600ms) ease, filter var(--flg-duration, 600ms) ease;
	transition-delay: var(--flg-delay, 0ms);
}

.flg-logo-card {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 110px;
	padding: 24px;
	background: transparent;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	transition: background-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.flg-logo-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--flg-item-logo-width, 100%);
	max-width: 100%;
	height: 100%;
}

.flg-logo-visual {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: 80px;
	object-fit: contain;
	transition: opacity 220ms ease, transform 220ms ease;
}

.flg-logo-original {
	height: auto;
}

.flg-logo-solid {
	position: absolute;
	inset: 0;
	margin: auto;
}

.flg-logo-solid-mask {
	background-color: var(--flg-solid-color);
	-webkit-mask-image: var(--flg-mask);
	mask-image: var(--flg-mask);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.flg-logo-solid-img {
	height: auto;
	object-fit: contain;
}

.flg-default-solid .flg-logo-original,
.flg-default-original .flg-logo-solid {
	opacity: 0;
}

.flg-default-solid .flg-logo-solid,
.flg-default-original .flg-logo-original {
	opacity: 1;
}

.flg-hover-original .flg-logo-card:hover .flg-logo-original,
.flg-hover-original .flg-logo-card:focus .flg-logo-original,
.flg-hover-solid .flg-logo-card:hover .flg-logo-solid,
.flg-hover-solid .flg-logo-card:focus .flg-logo-solid {
	opacity: 1;
}

.flg-hover-original .flg-logo-card:hover .flg-logo-solid,
.flg-hover-original .flg-logo-card:focus .flg-logo-solid,
.flg-hover-solid .flg-logo-card:hover .flg-logo-original,
.flg-hover-solid .flg-logo-card:focus .flg-logo-original {
	opacity: 0;
}

.flg-logo-card:hover .flg-logo-visual,
.flg-logo-card:focus .flg-logo-visual {
	transform: scale(1.03);
}

.flg-layout-masonry {
	display: block;
}

.flg-layout-masonry .flg-logo-item {
	position: absolute;
	left: 0;
	top: 0;
	will-change: transform;
}

.flg-anim-none .flg-logo-item {
	opacity: 1;
	transform: none;
	filter: none;
}

.flg-logo-gallery:not(.flg-anim-none) .flg-logo-item {
	opacity: 0;
}

.flg-anim-fade .flg-logo-item { transform: none; }
.flg-anim-fade-up .flg-logo-item { transform: translate3d(0, 24px, 0); }
.flg-anim-fade-down .flg-logo-item { transform: translate3d(0, -24px, 0); }
.flg-anim-fade-left .flg-logo-item { transform: translate3d(24px, 0, 0); }
.flg-anim-fade-right .flg-logo-item { transform: translate3d(-24px, 0, 0); }
.flg-anim-zoom-in .flg-logo-item { transform: scale(.92); }
.flg-anim-pop .flg-logo-item { transform: scale(.86); }
.flg-anim-blur-in .flg-logo-item { transform: translate3d(0, 12px, 0); filter: blur(10px); }

.flg-logo-gallery .flg-logo-item.flg-is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: none;
}

@media (max-width: 1024px) {
	.flg-logo-item {
		grid-column: span min(var(--flg-span-tablet, 1), var(--flg-columns));
	}
}

@media (max-width: 767px) {
	.flg-logo-item {
		grid-column: span min(var(--flg-span-mobile, 1), var(--flg-columns));
	}
}

.flg-layout-grid.flg-equal-heights {
	grid-auto-rows: minmax(var(--flg-equal-height, 140px), auto);
	align-items: stretch;
}

.flg-layout-grid.flg-equal-heights .flg-logo-item {
	display: flex;
	min-height: var(--flg-equal-height, 140px);
}

.flg-layout-grid.flg-equal-heights .flg-logo-card {
	height: 100%;
	min-height: var(--flg-equal-height, 140px);
}
