/* -----------------------------------------
   Contact Page Content
   ----------------------------------------- */

.page-content {
	padding-top: var(--section-spacing);
	padding-bottom: var(--section-spacing);
}


/* -----------------------------------------
   Contact Columns
   ----------------------------------------- */

.page-content > .wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: start;
	margin: 0;
}

.page-content > .wp-block-columns > .wp-block-column {
	margin: 0;
}


/* -----------------------------------------
   Section Labels
   ----------------------------------------- */

.page-content .section-label {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 1.5rem;
	color: var(--color-primary);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.page-content .section-label::after {
	content: "";
	display: block;
	width: 54px;
	height: 1px;
	background: currentColor;
}


/* Remove paragraph spacing around eyebrow */

.page-content p:has(.section-label) {
	margin: 0;
}


/* -----------------------------------------
   Headings
   ----------------------------------------- */

.page-content h2 {
	margin-top: 0;
	margin-bottom: 1.5rem;
	color: var(--color-heading);
}


/* -----------------------------------------
   Intro / Supporting Copy
   ----------------------------------------- */

.page-content > .wp-block-columns > .wp-block-column > p:not(:has(.section-label)) {
	margin-top: 0;
	margin-bottom: 2.5rem;
	color: var(--color-text);
}


/* -----------------------------------------
   Inquiry Table
   ----------------------------------------- */

.page-content .wp-block-table {
	margin: 0;
}

.page-content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	border: 0;
}

.page-content .wp-block-table td {
	padding: 1.125rem 0;
	border: 0;
	border-bottom: 1px solid var(--color-border);
	vertical-align: middle;
	color: var(--color-text);
}

.page-content .wp-block-table tr:first-child td {
	padding-top: 0;
	color: var(--color-primary);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.page-content .wp-block-table tr:first-child td {
	border-bottom: 1px solid var(--color-primary);
}

.page-content .wp-block-table td:first-child {
	width: 58%;
	padding-right: 2rem;
}

.page-content .wp-block-table td:last-child {
	width: 42%;
}

.page-content .wp-block-table a {
	color: var(--color-link);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.page-content .wp-block-table a:hover,
.page-content .wp-block-table a:focus {
	color: var(--color-link-hover);
}


/* -----------------------------------------
   Formidable Form
   ----------------------------------------- */

.page-content .frm_forms {
	margin-top: 2.5rem;
}

.page-content .frm_forms .frm_form_field {
	margin-bottom: 1.5rem;
}

.page-content .frm_forms .frm_primary_label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--color-heading);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.4;
}

.page-content .frm_forms .frm_required {
	color: var(--color-blue);
}


/* -----------------------------------------
   Form Inputs
   ----------------------------------------- */

.page-content .frm_forms input[type="text"],
.page-content .frm_forms input[type="email"],
.page-content .frm_forms input[type="tel"],
.page-content .frm_forms input[type="url"],
.page-content .frm_forms textarea,
.page-content .frm_forms select {
	width: 100%;
	box-sizing: border-box;
	padding: 0.875rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: var(--border-radius-small);
	background: var(--color-white);
	color: var(--color-text);
	font: inherit;
	transition:
		border-color var(--transition-fast),
		box-shadow var(--transition-fast);
}

.page-content .frm_forms input[type="text"]:focus,
.page-content .frm_forms input[type="email"]:focus,
.page-content .frm_forms input[type="tel"]:focus,
.page-content .frm_forms input[type="url"]:focus,
.page-content .frm_forms textarea:focus,
.page-content .frm_forms select:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(11, 58, 110, 0.08);
}

.page-content .frm_forms textarea {
	min-height: 150px;
	resize: vertical;
}


/* -----------------------------------------
   First / Last Name
   ----------------------------------------- */

.page-content .frm_forms .frm_half {
	float: left;
}

.page-content .frm_forms .frm_half + .frm_half {
	float: right;
}


/* -----------------------------------------
   Form Description
   ----------------------------------------- */

.page-content .frm_forms .frm_description {
	margin-top: 0.375rem;
	color: var(--color-slate);
	font-size: 0.75rem;
}


/* -----------------------------------------
   Submit Button
   ----------------------------------------- */

.page-content #form_contact-form .frm_submit {
	margin-top: 0.5rem;
}

.page-content #form_contact-form .frm_button_submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.875rem 1.75rem;
	border: 1px solid var(--color-primary);
	border-radius: var(--border-radius-small);
	background: var(--color-primary);
	color: var(--color-white);
	font: inherit;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition:
		background-color var(--transition-fast),
		border-color var(--transition-fast),
		transform var(--transition-fast);
}

.page-content .frm_forms .frm_button_submit:hover,
.page-content .frm_forms .frm_button_submit:focus {
	background: var(--color-blue);
	border-color: var(--color-blue);
}

.page-content .frm_forms .frm_button_submit:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(11, 58, 110, 0.12);
}


/* -----------------------------------------
   Formidable Clearfix
   ----------------------------------------- */

.page-content .frm_fields_container::after,
.page-content .frm_submit::after {
	content: "";
	display: table;
	clear: both;
}


/* -----------------------------------------
   Mobile
   ----------------------------------------- */

@media (max-width: 767px) {

	.page-content {
		padding-top: var(--section-spacing-small);
		padding-bottom: var(--section-spacing-small);
	}

	.page-content > .wp-block-columns {
		grid-template-columns: 1fr;
		gap: var(--section-spacing-small);
	}

	.page-content .wp-block-table {
		overflow-x: visible;
	}

	.page-content .wp-block-table td:first-child,
	.page-content .wp-block-table td:last-child {
		width: auto;
	}

	.page-content .frm_forms .frm_half {
		width: 100%;
		float: none;
	}

	.page-content .frm_forms .frm_half + .frm_half {
		float: none;
	}

}