/* ==========================================================================
   GF Banner widget
   ========================================================================== */

.gf-banner {
	position: relative;
	display: flex;
	flex-direction: column;
	height: var(--gf-banner-h, 100vh);
	background-color: #f3f3f3;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	overflow: hidden;
}

/* --gf-header-offset is measured by header.js (header + admin bar); 99px is the desktop fallback */
.gf-banner--offset {
	height: calc(var(--gf-banner-h, 100vh) - var(--gf-header-offset, 99px));
}

.gf-banner--fade::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 60%;
	background: linear-gradient(to bottom, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .7) 45%, rgba(255, 255, 255, 0) 100%);
	pointer-events: none;
}

.gf-banner__hero {
	position: relative;
	z-index: 1;
	flex: 1 0 auto;
	padding: 93px 20px 60px;
}

.gf-banner__content {
	max-width: 820px;
	width: 65%;
	margin: 0 auto;
	text-align: center;
}

/* Title */
.gf-banner__title {
	margin: 0;
	font-family: var(--gf-font-alt);
	font-size: 58px;
	font-weight: 700;
	line-height: .95;
	letter-spacing: -2.6px;
	color: var(--gf-navy);
}

.gf-banner__title > span {
	vertical-align: middle;
}

.gf-banner__highlight {
	position: relative;
	display: inline-block;
	margin: 0 6px;
	padding: 2px 32px 6px;
	background-color: var(--gf-navy);
	border-radius: 14px;
	color: var(--gf-white);
	overflow: hidden;
	isolation: isolate;
}

.gf-banner__highlight::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 4%;
	z-index: -1;
	width: 110%;
	aspect-ratio: 1;
	background-image: var(--gf-hl-img, none);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: .22;
	transform: translateY(-50%);
	pointer-events: none;
}

/* Description */
.gf-banner__desc {
	margin: 38px auto 0;
	font-family: var(--gf-font-body);
	font-size: 18px;
	line-height: 1.25;
	color: #3d3d3d;
}

/* Buttons */
.gf-banner__buttons {
	display: flex;
	align-items: center;
	justify-content: var(--gf-banner-justify, center);
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 38px;
}

.gf-banner__buttons .gf-btn {
	min-width: 200px;
	min-height: 62px;
	padding: 14px 28px;
	font-weight: 600;
}

.gf-banner__buttons .gf-btn--red {
	background: linear-gradient(90deg, #e02626 0%, #f04848 100%);
	border-color: transparent;
	box-shadow: 0 6px 18px rgba(226, 43, 43, .25);
}

.gf-banner__buttons .gf-btn--red:hover,
.gf-banner__buttons .gf-btn--red:focus {
	background: var(--gf-red-dark);
}

.gf-banner__buttons .gf-btn--outline {
	background: rgba(255, 255, 255, .6);
}

.gf-banner__buttons .gf-btn--outline:hover,
.gf-banner__buttons .gf-btn--outline:focus {
	background: var(--gf-black);
}

/* Certified by */
.gf-banner__certified {
	position: absolute;
	top: 0;
	right: var(--gf-cert-right, 72px);
	width: 182px;
	padding: 32px 20px 38px;
	background: var(--gf-white);
	border: 1px solid #e3e3e3;
	border-top: 0;
	border-radius: 0 0 0 110px;
	text-align: center;
}

.gf-banner__certified-title {
	margin: 0 0 18px;
	font-family: var(--gf-font-alt);
	font-size: 16px;
	font-weight: 600;
	color: var(--gf-black);
}

.gf-banner__certified ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gf-banner__certified ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}

.gf-banner__certified img {
	display: block;
	width: auto;
	max-width: 120px;
	max-height: 90px;
}

/* Responsive */
@media (max-width: 1440px) {
	.gf-banner {
		--gf-cert-right: 30px;
	}
}

@media (max-width: 1199px) {
	.gf-banner__hero {
		padding-top: 70px;
	}

	.gf-banner__title {
		font-size: 58px;
		letter-spacing: -2px;
	}

	.gf-banner__certified {
		position: relative;
		top: auto;
		right: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 24px;
		width: max-content;
		max-width: 100%;
		margin: 40px auto 0;
		padding: 14px 30px;
		border: 1px solid #e3e3e3;
		border-radius: 60px;
	}

	.gf-banner__certified-title {
		margin: 0;
	}

	.gf-banner__certified ul {
		flex-direction: row;
		gap: 20px;
	}

	.gf-banner__certified img {
		max-width: 90px;
		max-height: 60px;
	}

}

@media (max-width: 767px) {
	/* Let content grow on short phone screens instead of being clipped */
	.gf-banner,
	.gf-banner--offset {
		height: auto;
		min-height: calc(var(--gf-banner-h, 100vh) - var(--gf-header-offset, 81px));
		background-position: center bottom;
	}

	.gf-banner__hero {
		padding: 50px 16px 40px;
	}

	.gf-banner__title {
		font-size: 40px;
		line-height: 1.05;
		letter-spacing: -1.2px;
	}

	.gf-banner__highlight {
		margin: 0 3px;
		padding: 0 14px 4px;
		border-radius: 10px;
	}

	.gf-banner__desc {
		margin-top: 24px;
		font-size: 15px;
		line-height: 1.4;
	}

	.gf-banner__buttons {
		gap: 12px;
		margin-top: 28px;
	}

	.gf-banner__buttons .gf-btn {
		width: 100%;
		min-height: 54px;
	}

	.gf-banner__certified {
		flex-direction: column;
		gap: 12px;
		padding: 16px 24px;
		border-radius: 20px;
	}

	.gf-banner__certified img {
		max-width: 72px;
		max-height: 50px;
	}



}
