.flex-banner .flex-banner-grid {
	display: grid;
	grid-template-columns: 1fr;
}

.flex-banner-block {
	background: #f2f2f2;
	padding: 3rem;
	text-align: center;
	margin: 0;
	background: #f2f2f2 url(initial) center center/cover no-repeat;
	min-height: 240px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flex-banner-block .content p:last-of-type:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.flex-banner-block .content + .btn {
	margin-top: 1.5rem;
}

.flex-banner.flex-banner-contained .flex-banner-grid {
	gap: 1.5rem;
}

.flex-banner-contained .flex-banner-block {
	border-radius: 0.5rem;
}

.flex-banner-block h3 {
	margin-bottom: 0.5rem;
	font-size: 1.5rem;
}

.flex-banner-block .disclaimer {
	color: #777;
	font-style: italic;
}

.flex-banner-block.text-color-light,
.flex-banner-block.text-color-light h3 {
	color: #fff;
}

.flex-banner-block.text-color-light .content a {
	text-decoration: underline;
	color: #fff;
	opacity: 0.75;
	transition: opacity;
}
.flex-banner-block.text-color-light .content a:hover {
	opacity: 1;
}

@media screen and (max-width: 767px) {
	.flex-banner-block h3 {
		font-size: 1.25rem;
	}
	.flex-banner-block {
		padding: 2rem;
	}
}
@media screen and (min-width: 768px) {
	.flex-banner .flex-banner-grid {
		grid-auto-columns: minmax(0, 1fr);
		grid-auto-flow: column;
	}
	.flex-banner-block {
		min-height: 300px;
	}
}