/******/
/*** GRAVITY FORMS ***/
/******/

/* Shared reset. Every selector is class based so forms remain portable. */
.gform_wrapper { width: 100%; color: inherit; }
.gform_wrapper .gform_heading:empty { display: none; }
.gform_wrapper .gform_fields { gap: var(--gap-16); }
.gform_wrapper .gfield { margin: 0; }
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_description,
.gform_wrapper .gform-field-label,
.gform_wrapper .gform_description { 
	color: inherit !important;
	font-family: var(--type-mono) !important;
	font-weight: var(--font-weight-medium) !important;
	letter-spacing: var(--tracking-widest) !important;
	line-height: var(--leading-base) !important;
	margin: 0;
	text-transform: uppercase;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea,
.gform_wrapper select {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.6rem 0;
	border: 0;
	border-bottom: 0.0625rem solid currentColor;
	border-radius: 0!important;
	background-color: transparent!important;
	box-shadow: none;
	color: inherit;
	font: inherit;
}
.gform_wrapper textarea { min-height: 9rem; resize: vertical; }
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder { color: currentColor; opacity: 0.72; }
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus { outline: 0; border-bottom-width: 0.125rem; }

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer { margin: var(--gap-16) 0 0; padding: 0; justify-content: center; }
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"],
.gform_wrapper .gform_button {
	min-height: 0;
	padding: 0.55rem 1rem;
	border: 0.0625rem solid currentColor !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font-size: var(--text-p-xs) !important;
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-wide) !important;
	line-height: var(--leading-base);
	text-transform: uppercase !important;
	cursor: pointer;
}

.services-intro__form .gform_wrapper, footer .gform_wrapper {
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
	flex-direction: column-reverse;
	gap: var(--gap-12);
}
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper .gform_button:hover { background-color: var(--color-confident-charcoal) !important; color: var(--color-clarity-stone) !important; }

.gform_wrapper .validation_message,
.gform_wrapper .gform_validation_errors { border-color: var(--color-venture-orange); background: transparent; color: inherit; }
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select { border-bottom-color: var(--color-venture-orange); }
.gform_wrapper .gform_ajax_spinner { width: 1rem; height: 1rem; }

/* Newsletter forms in Intro Inner and the footer match the single-line design. */
.services-intro__form .gform_wrapper form,
.footer-newsletter .gform_wrapper form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	column-gap: var(--gap-16);
	row-gap: var(--gap-8);
}
.services-intro__form .gform_wrapper .gform_body,
.footer-newsletter .gform_wrapper .gform_body { 
	min-width: 0; 
}
.services-intro__form .gform_wrapper .gform_fields,
.footer-newsletter .gform_wrapper .gform_fields {
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
	border-bottom: solid 0.0625rem var(--color-true-white);
}
.services-intro__form .gform_wrapper .gform_fields .gfield .ginput_container_email input,
footer .gform_wrapper .gform_fields .gfield .ginput_container_email input{
	background-color: transparent;
	border: none!important;
}
.services-intro__form .gform_wrapper .gform_fields .gfield .ginput_container_email input::placeholder,
footer .gform_wrapper .gform_fields .gfield .ginput_container_email input::placeholder{
	color: var(--color-true-white)!important;
}
.services-intro__form .gform_wrapper .gfield_label,
.footer-newsletter .gform_wrapper .gfield_label {
	position: absolute !important;
	width: 0.0625rem;
	height: 0.0625rem;
	margin: -0.0625rem;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
.services-intro__form .gform_wrapper input[type="email"],
.footer-newsletter .gform_wrapper input[type="email"] { min-height: 2.25rem; padding-block: 0.35rem; }
.services-intro__form .gform_wrapper .gform_footer,
.footer-newsletter .gform_wrapper .gform_footer {
	margin: 0;
	padding: 0 0 0.35rem;
	border-bottom: 0.0625rem solid currentColor;
}
.services-intro__form .gform_wrapper input[type="submit"],
.services-intro__form .gform_wrapper button[type="submit"],
.services-intro__form .gform_wrapper .gform_button,
.footer-newsletter .gform_wrapper input[type="submit"],
.footer-newsletter .gform_wrapper button[type="submit"],
.footer-newsletter .gform_wrapper .gform_button {
	font-family: var(--type-mono) !important;
	border: none !important;
	padding: 0;
	border: 0;
	border-radius: 0;
	text-decoration: underline;
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 0.25rem;
}
.services-intro__form .gform_wrapper input[type="submit"]:hover,
.services-intro__form .gform_wrapper button[type="submit"]:hover,
.services-intro__form .gform_wrapper .gform_button:hover,
.footer-newsletter .gform_wrapper input[type="submit"]:hover,
.footer-newsletter .gform_wrapper button[type="submit"]:hover,
.footer-newsletter .gform_wrapper .gform_button:hover { background: transparent !important; color: inherit !important; }
.services-intro__form .gform_wrapper .gfield_description,
.footer-newsletter .gform_wrapper .gfield_description {
	margin-top: var(--gap-8);
	font-family: var(--type-mono);
	font-size: var(--text-p-xs);
	letter-spacing: var(--tracking-wide);
	line-height: var(--leading-base);
	text-transform: uppercase;
}
.services-intro__form .gform_wrapper .gform_validation_errors,
.services-intro__form .gform_wrapper .gform_confirmation_wrapper,
.footer-newsletter .gform_wrapper .gform_validation_errors,
.footer-newsletter .gform_wrapper .gform_confirmation_wrapper { grid-column: 1 / -1; }

/* Contact Text Form uses the same controls with a roomier vertical rhythm. */
.text-form__form .gform_wrapper .gform_fields,
.contact-text-form .gform_wrapper .gform_fields { row-gap: var(--gap-24); }
.text-form__form .gform_wrapper .gfield_label,
.contact-text-form .gform_wrapper .gfield_label {
	font-family: var(--type-mono);
	font-size: var(--text-p-xs);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}
.text-form__form .gform_wrapper input[type="text"],
.text-form__form .gform_wrapper input[type="email"],
.text-form__form .gform_wrapper input[type="tel"],
.text-form__form .gform_wrapper input[type="url"],
.text-form__form .gform_wrapper input[type="number"],
.text-form__form .gform_wrapper textarea,
.text-form__form .gform_wrapper select,
.contact-text-form .gform_wrapper input[type="text"],
.contact-text-form .gform_wrapper input[type="email"],
.contact-text-form .gform_wrapper input[type="tel"],
.contact-text-form .gform_wrapper input[type="url"],
.contact-text-form .gform_wrapper input[type="number"],
.contact-text-form .gform_wrapper textarea,
.contact-text-form .gform_wrapper select {
	padding: 0.75rem;
	border: 0.0625rem solid currentColor;
}
.text-form__form .gform_wrapper textarea,
.contact-text-form .gform_wrapper textarea { min-height: 11rem; }
.text-form__form .gform_wrapper .gform_footer,
.contact-text-form .gform_wrapper .gform_footer {
	display: flex;
	margin-top: var(--gap-32);
	justify-content: center;
}

@media (max-width: 47.999rem) {
	.services-intro__updates { flex-direction: column; }
	.services-intro__updates > .grid-50 { max-width: 100%; }
	.services-intro__form .gform_wrapper form,
	.footer-newsletter .gform_wrapper form { grid-template-columns: minmax(0, 1fr) auto; }
}
