section.title-and-banner {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
	text-align: center;
	padding: 3rem 0;
}

.title-and-banner .container .inner {
	margin: 0;
}

.title-and-banner_head {
	margin: 0 auto;
	max-width: 960px;
	text-align: center;
}

.title-and-banner_title {
	color: #00aeef;
	font-family: Inter!important;
	font-size: 48px;
	font-weight: 700;
	line-height: 60px;
	margin: 0 0 1rem;
}

.title-and-banner_subtitle {
	color: #e6f7fd;
	font-family: Inter!important;
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	margin: 0 0 1.5rem;
}

.title-and-banner_cta {
	align-items: center;
	color: #ffffff;
	display: inline-flex;
	flex-wrap: nowrap;
	font-family: var(--v2-font-label), Inter, sans-serif;
	font-size: 18px;
	font-weight: 600;
	gap: 8px;
	max-width: 100%;
	text-decoration: none;
	transition: color 0.2s ease;
	white-space: nowrap;
	margin-top: 1.5rem;
}

.title-and-banner_cta-text {
	white-space: nowrap;
}

.title-and-banner_cta-icon {
	display: block;
	flex-shrink: 0;
	filter: brightness(0) invert(1);
	height: 16px;
	transition: transform 0.2s ease, filter 0.2s ease;
	width: 16px;
}

.title-and-banner_cta:hover {
	color: #00aeef;
}

.title-and-banner_cta:hover .title-and-banner_cta-icon {
	filter: brightness(0) saturate(100%) invert(57%) sepia(93%) saturate(2597%) hue-rotate(157deg) brightness(101%) contrast(101%);
	transform: translateX(2px);
}

.title-and-banner_banner {
	margin-top: 2.5rem;
}

.title-and-banner_banner-container {
	overflow: hidden;
}

.title-and-banner_banner-container .title-and-banner_image {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
}

.title-and-banner_banner-full {
	overflow: hidden;
	width: 100%;
}

.title-and-banner_banner-full .title-and-banner_image {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
}

/* Light section backgrounds */
section.title-and-banner.title-and-banner--bg-white_cyan .title-and-banner_title,
section.title-and-banner.title-and-banner--bg-green_white .title-and-banner_title,
section.title-and-banner.title-and-banner--bg-yellow_white .title-and-banner_title,
section.title-and-banner.title-and-banner--bg-purple_white .title-and-banner_title {
	color: #0a1a32;
}

section.title-and-banner.title-and-banner--bg-white_cyan .title-and-banner_subtitle,
section.title-and-banner.title-and-banner--bg-green_white .title-and-banner_subtitle,
section.title-and-banner.title-and-banner--bg-yellow_white .title-and-banner_subtitle,
section.title-and-banner.title-and-banner--bg-purple_white .title-and-banner_subtitle {
	color: #1d4990;
}

section.title-and-banner.title-and-banner--bg-white_cyan .title-and-banner_cta,
section.title-and-banner.title-and-banner--bg-green_white .title-and-banner_cta,
section.title-and-banner.title-and-banner--bg-yellow_white .title-and-banner_cta,
section.title-and-banner.title-and-banner--bg-purple_white .title-and-banner_cta {
	color: #0f1728;
}

section.title-and-banner.title-and-banner--bg-white_cyan .title-and-banner_cta-icon,
section.title-and-banner.title-and-banner--bg-green_white .title-and-banner_cta-icon,
section.title-and-banner.title-and-banner--bg-yellow_white .title-and-banner_cta-icon,
section.title-and-banner.title-and-banner--bg-purple_white .title-and-banner_cta-icon {
	filter: none;
}

/* Dark gradient accents */
section.title-and-banner.title-and-banner--bg-cyan_navy .title-and-banner_title,
section.title-and-banner.title-and-banner--bg-black_blue .title-and-banner_title {
	color: #00aeef;
}

section.title-and-banner.title-and-banner--bg-cyan_navy .title-and-banner_subtitle,
section.title-and-banner.title-and-banner--bg-black_blue .title-and-banner_subtitle {
	color: #ffffff;
}

section.title-and-banner.title-and-banner--bg-navy_cyan .title-and-banner_title,
section.title-and-banner.title-and-banner--bg-navy_cyan .title-and-banner_subtitle {
	color: #ffffff;
}

@media (max-width: 1280px) {
	.title-and-banner_title {
		font-size: 42px;
		line-height: 52px;
	}

	.title-and-banner_subtitle {
		font-size: 18px;
		line-height: 26px;
	}
}

@media (max-width: 900px) {

	.title-and-banner_title {
		font-size: 34px;
		line-height: 42px;
	}

	.title-and-banner_subtitle {
		font-size: 16px;
		line-height: 24px;
	}

	.title-and-banner_banner {
		margin-top: 2rem;
	}

}

@media (max-width: 640px) {

	.title-and-banner_head {
    		padding: 0 2rem;
	}
	.title-and-banner_title {
		font-size: 28px;
		line-height: 36px;
	}

	.title-and-banner_subtitle {
		font-size: 16px;
		line-height: 24px;
	}

	.title-and-banner_cta {
		font-size: 14px;
	}

}
