.fl-post-image,
.project-card {
	position: relative;
	overflow: hidden;
}

.fl-post-gallery-post .project-card {
	height: 100%;
}

.fl-post-image > a:not(.project-image-overlay),
.project-card > a:not(.project-image-overlay) {
	display: block;
}

.fl-post-gallery-post .project-card > a:not(.project-image-overlay) {
	height: 100%;
}

.fl-post-image > a:not(.project-image-overlay) img,
.project-card > a:not(.project-image-overlay) img {
	display: block;
}

.fl-post-gallery-post .project-card > a:not(.project-image-overlay) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.project-image-overlay {
	position: absolute;
	inset: 0;
	z-index: 999;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	color: #111 !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	opacity: 0;
	overflow: hidden !important;
	visibility: hidden;
	pointer-events: none;
	isolation: isolate;
	transition: opacity 180ms ease, visibility 180ms ease;
}

.project-image-overlay:not(.bpio-overlay-mounted) {
	display: none !important;
}

.project-image-overlay::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	display: block !important;
	background: #fff !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none !important;
}

.project-image-overlay::after {
	content: none !important;
	display: none !important;
}

.project-image-overlay:hover,
.project-image-overlay:focus {
	color: #111 !important;
	text-decoration: none !important;
}

.project-image-overlay__inner {
	box-sizing: border-box !important;
	display: grid !important;
	justify-items: center !important;
	align-items: center !important;
	gap: 18px;
	padding: 24px;
	text-align: center !important;
	position: relative;
	z-index: 2 !important;
	width: 100% !important;
	max-width: 90% !important;
	height: auto !important;
	min-height: 0 !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none !important;
}

.project-image-overlay__logo {
	display: block !important;
	width: auto;
	max-width: min(70%, 220px);
	max-height: 120px;
	object-fit: contain;
	position: relative !important;
	z-index: 3 !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	filter: none !important;
}

.project-image-overlay__button {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 18px;
	border: 1px solid #8bb400 !important;
	border-radius: 4px;
	background: #97c004 !important;
	color: #fff !important;
	font-size: 14px;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0;
	text-indent: 0 !important;
	position: relative !important;
	z-index: 3 !important;
	width: auto !important;
	height: auto !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	white-space: nowrap !important;
}
.project-image-overlay__button:hover {
    background: #6f8d0b !important;
}
@media (hover: hover) and (pointer: fine) {
	.fl-post-image:hover .project-image-overlay,
	.fl-post-image:focus-within .project-image-overlay,
	.project-card:hover .project-image-overlay,
	.project-card:focus-within .project-image-overlay {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}
}

.fl-post-image.project-overlay-active .project-image-overlay,
.project-card.project-overlay-active .project-image-overlay {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}
