/* Modern Contact Form Page */

/* This file is loaded only by /templates/modern-form.cfm. */

html,
body {
	background: #f5f9fc !important;
	min-width: 0 !important;
}

#masthead,
nav.main.large,
nav.main {
	display: none !important;
}

#mainContainer,
#mainContent,
.globalContainer {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

#mainContent > h1,
.globalContainer > h1 {
	display: none !important;
}

body:has(.validate-modern-form-page) #mainContent h1:first-child,
body:has(.validate-modern-form-page) .globalContainer h1:first-child,
body:has(.validate-modern-form-page) .pageTitle,
body:has(.validate-modern-form-page) .page-title,
body:has(.validate-modern-form-page) .contentTitle,
body:has(.validate-modern-form-page) .content-title {
	display: none !important;
}

.validate-modern-form-page {
	background: #f5f9fc;
	color: #071936;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	min-height: 100vh;
	overflow-x: hidden;
}

.validate-form-hero {
	padding: 72px 24px 104px;
}

.validate-form-shell {
	max-width: 1180px;
	margin: 0 auto;
}

.validate-eyebrow {
	color: #2577ff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 2px;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.validate-form-shell h1 {
	border-bottom: 1px solid #d8e3ee;
	color: #071936;
	font-size: 64px;
	font-weight: 800;
	line-height: 1.05;
	margin: 0 0 28px;
	padding-bottom: 30px;
}

.validate-form-intro,
.validate-form-below,
.validate-form-success {
	max-width: 980px;
}

.validate-form-intro {
	margin: 0 0 46px;
}

.validate-form-intro p,
.validate-form-below p,
.validate-form-success p {
	color: #293d5a;
	font-size: 19px;
	line-height: 1.7;
	margin: 0 0 22px;
}

.validate-form-intro strong,
.validate-form-success strong {
	color: #071936;
	font-weight: 800;
}

.validate-form-intro a,
.validate-form-below a,
.validate-form-success a {
	color: #2577ff;
	font-weight: 800;
	text-decoration: none;
}

.validate-form-intro a:hover,
.validate-form-below a:hover,
.validate-form-success a:hover {
	text-decoration: underline;
}

.validate-form-card,
#thisForm.validate-form-card {
	background: #fff;
	border: 1px solid #d8e3ee;
	border-radius: 12px;
	box-shadow: 0 24px 70px rgba(7, 25, 54, 0.07);
	box-sizing: border-box;
	display: block;
	max-width: 1100px;
	padding: 48px 56px 52px;
}

.validate-form-card .formFieldRequiredDesc {
	color: #5c6e86;
	display: block !important;
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 30px;
	padding: 0 !important;
	width: auto !important;
}

.validate-form-card .formFieldGroup,
#thisForm.validate-form-card .formFieldGroup {
	clear: both !important;
	display: grid !important;
	grid-template-columns: 260px minmax(0, 1fr) !important;
	gap: 14px 44px;
	align-items: start;
	margin: 0 0 26px;
	padding: 0 !important;
	width: 100% !important;
}

.validate-form-card .formFieldLabel,
#thisForm.validate-form-card .formFieldLabel {
	color: #071936;
	display: block !important;
	float: none !important;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.3;
	margin: 0;
	padding: 16px 0 0 !important;
	overflow-wrap: normal;
	text-align: left !important;
	white-space: normal;
	width: auto !important;
	word-break: normal;
}

.validate-form-card .formFieldDescription {
	color: #56687f;
	font-size: 14px;
	font-style: italic;
	grid-column: 2;
	margin: -16px 0 0;
	width: auto !important;
}

.validate-form-card input[type="text"],
.validate-form-card textarea,
.validate-form-card select,
#thisForm.validate-form-card input[type="text"],
#thisForm.validate-form-card textarea,
#thisForm.validate-form-card select {
	background: #fff;
	border: 1px solid #bfd0e3;
	border-radius: 8px;
	box-sizing: border-box;
	color: #071936;
	font: 700 17px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
	min-height: 58px;
	outline: none;
	padding: 15px 18px;
	width: 100% !important;
}

.validate-form-card select,
#thisForm.validate-form-card select {
	max-width: 520px;
}

.validate-form-card textarea,
#thisForm.validate-form-card textarea {
	min-height: 210px;
	resize: vertical;
}

.validate-form-card input[type="text"]:focus,
.validate-form-card textarea:focus,
.validate-form-card select:focus {
	border-color: #2577ff;
	box-shadow: 0 0 0 4px rgba(37, 119, 255, 0.14);
}

.validate-form-card .required,
.validate-form-card .icon-asterisk.required {
	color: #e03131;
	font-size: 13px;
	font-style: normal;
	margin-left: 6px;
}

.validate-captcha-group img,
#thisForm.validate-form-card .validate-captcha-group img {
	display: block;
	grid-column: 2;
	justify-self: start;
	margin: 0 0 4px;
	max-width: 100%;
}

.validate-captcha-group .formFieldLabel,
#thisForm.validate-form-card .validate-captcha-group .formFieldLabel {
	grid-column: 1;
	grid-row: 2;
}

.validate-captcha-group input[type="text"],
#thisForm.validate-form-card .validate-captcha-group input[type="text"] {
	grid-column: 2;
	grid-row: 2;
	max-width: 520px;
}

.validate-choice-list {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.validate-form-card input[type="submit"],
.validate-form-card #Submit,
#thisForm.validate-form-card input[type="submit"],
#thisForm.validate-form-card #Submit {
	background: #2577ff;
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 800;
	grid-column: 2;
	justify-self: start;
	margin-left: 304px;
	min-width: 150px;
	padding: 18px 30px;
	text-transform: uppercase;
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.validate-form-card input[type="submit"]:hover,
.validate-form-card #Submit:hover {
	background: #0d5fe8;
	box-shadow: 0 14px 28px rgba(37, 119, 255, 0.22);
	transform: translateY(-1px);
}

.validate-form-alert {
	background: #fff2f2;
	border: 1px solid #ffc9c9;
	border-radius: 8px;
	color: #a61212;
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 28px;
	padding: 18px 20px;
}

.validate-form-success {
	background: #fff;
	border: 1px solid #d8e3ee;
	border-radius: 12px;
	box-shadow: 0 22px 60px rgba(7, 25, 54, 0.08);
	padding: 40px 44px;
}

@media (max-width: 760px) {
	.validate-form-hero {
		padding: 56px 18px 72px;
	}

	.validate-form-shell h1 {
		font-size: 38px;
	}

	.validate-form-intro p,
	.validate-form-below p,
	.validate-form-success p {
		font-size: 17px;
	}

	.validate-form-card {
		display: block;
		padding: 26px 20px;
	}

	.validate-form-card .formFieldGroup {
		display: block;
		margin-bottom: 22px;
	}

	.validate-form-card .formFieldLabel,
	.validate-form-card .formFieldDescription {
		display: block;
		margin: 0 0 8px;
	}

	.validate-captcha-group img {
		margin: 0 0 16px;
		max-width: 100%;
	}

	.validate-form-card input[type="submit"],
	.validate-form-card #Submit {
		margin-left: 0;
		width: 100%;
	}
}
