.block-cta-cards-grid {
	margin: 20px auto;
}

.layout-boxed .block-cta-cards-grid {
	max-width: var(--max-width-x-large);
	border-radius: var(--border-radius);
}

.block-cta-cards-grid-inner {
	width: 100%;
	max-width: 100%;
	margin: auto;
}

/* Top Content */

.block-cta-cards-grid .top-content-container {
	padding: 0 var(--side-spacing);
}

.block-cta-cards-grid .top-content {
	text-align: center;
	max-width: var(--max-width-small);
	margin: 0 auto 70px;
}

.block-cta-cards-grid .top-content h2 {
	margin-bottom: 12px;
}

.block-cta-cards-grid .top-content > *:last-child {
	margin-bottom: 0;
}

/* Cards Grid */

.block-cta-cards-grid .card-grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--grid-gap-small);
}

.block-cta-cards-grid .cta-card {
	flex-grow: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	color: #fff;
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

/* alignment */

.block-cta-cards-grid .cta-card.card-align-center {
	text-align: center;
}

.block-cta-cards-grid .cta-card.card-align-center .card-content {
	margin-left: auto;
	margin-right: auto;
}

.block-cta-cards-grid .cta-card.card-align-center .inner-block-buttons {
	justify-content: center;
}

/* card width */

.block-cta-cards-grid .cta-card.card-width-one-full {
	flex-basis: 100%;
}

.block-cta-cards-grid .cta-card.card-width-two-thirds {
	flex-basis: calc(66.666% - (var(--grid-gap-small) / 2));
}

.block-cta-cards-grid .cta-card.card-width-one-half  {
	flex-basis: calc(50% - (var(--grid-gap-small) / 2));
}

.block-cta-cards-grid .cta-card.card-width-one-third {
	flex-basis: calc(33.333% - ((var(--grid-gap-small) * 2) / 3));
}

.block-cta-cards-grid .cta-card.card-width-one-fourth {
	flex-basis: calc(25% - ((var(--grid-gap-small) * 3) / 4));
}

/* background image */

.block-cta-cards-grid .cta-card .card-background {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 100%;
	z-index: -1;
}

.block-cta-cards-grid .cta-card .card-background img {
	object-fit: cover;
	height: 100%;
	width: 100%;
	position: relative;
	z-index: -1;
}

/* content */

.block-cta-cards-grid .cta-card .card-content {
	width: 500px;
	max-width: 100%;
}

.block-cta-cards-grid .cta-card .card-content .cta-heading {
	color: #fff;
	margin-bottom: 7px;
}

.block-cta-cards-grid .cta-card .card-content h2.cta-heading {
	margin-bottom: 15px;
}

.block-cta-cards-grid .cta-card .card-content p {
	line-height: var(--line-height-large);
}

.block-cta-cards-grid .cta-card .card-content > *:last-child {
	margin-bottom: 0;
}

/* card with background gradient: bottom to top */

.block-cta-cards-grid .cta-card.gradient-bottom-to-top {
	padding-top: 20%;
}

.block-cta-cards-grid .cta-card.gradient-bottom-to-top:not(:has(.inner-block-buttons)) {
	padding-top: 11%;
}

.block-cta-cards-grid .cta-card.gradient-bottom-to-top .card-gradient {
	width: 100%;
	background: linear-gradient(to top, rgba(0,0,0,0.85) 0%,rgba(0,0,0,0) 100%);
	padding: 130px var(--side-spacing-large) 50px;
	margin-top: auto;
}

.block-cta-cards-grid .cta-card.gradient-bottom-to-top .card-gradient:not(:has(.inner-block-buttons)) {
	padding-top: 230px;
	padding-bottom: 100px;
}

/* card with background gradient: top to bottom */

.block-cta-cards-grid .cta-card.gradient-top-to-bottom {
	padding-bottom: 20%;
}

.block-cta-cards-grid .cta-card.gradient-top-to-bottom .card-gradient {
	width: 100%;
	background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%);
	padding: 50px var(--side-spacing-large) 80px;
	margin-top: auto;
}

/* card with background gradient: left to right */

.block-cta-cards-grid .cta-card.gradient-left-to-right .card-gradient {
	height: 100%;
	display: flex;
	flex-direction: column;
	background: linear-gradient(to right, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%);
	padding: 50px 180px var(--side-spacing-large) 50px;
}

.block-cta-cards-grid .cta-card.gradient-left-to-right .card-gradient:not(:has(.inner-block-buttons)) {
	padding-bottom: 100px;
}

.block-cta-cards-grid .cta-card.gradient-left-to-right.content-position-bottom .card-content {
	margin-top: auto;
}

/* full width card */

.block-cta-cards-grid .cta-card.gradient-bottom-to-top.card-width-one-full .card-gradient {
	padding-bottom: 80px;
}

.block-cta-cards-grid .cta-card.card-width-one-full .card-content {
	width: 800px;
}

.block-cta-cards-grid .cta-card.card-width-one-full .card-content p {
	max-width: 660px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}



@media screen and (max-width: 1200px) {

	.block-cta-cards-grid .cta-card.card-width-one-fourth {
		flex-basis: calc(50% - (var(--grid-gap-small) / 2));
	}

}

@media screen and (max-width: 900px) {

	.block-cta-cards-grid .cta-card,
	.block-cta-cards-grid .cta-card.card-width-two-thirds,
	.block-cta-cards-grid .cta-card.card-width-one-half,
	.block-cta-cards-grid .cta-card.card-width-one-third,
	.block-cta-cards-grid .cta-card.card-width-one-fourth {
		flex-basis: 100%;
	}

}
