/**
 * Form — copy and a logo row beside a form panel.
 *
 * Gravity Forms' own stylesheets are switched off, so the field chrome is the theme's global
 * form styles; this file only lays the form out inside the panel. The honeypot field is hidden
 * here because nothing else hides it once the plugin's CSS is off.
 */

/*** Module: Form ***/

.module.form {
	padding-bottom: var(--module-spacing-large);
	--texture-fade: 100%;
}

.module.form.under-header {
	padding-top: calc(var(--header-space) + var(--text-spacing-xlarge));
}

.module.form.textured > .texture::after {
	background: linear-gradient(to left, var(--navy), var(--navy-clear) 87%);
	content: '';
	inset: 0;
	position: absolute;
	z-index: 1;
}

.module.form .container {
	align-items: start;
}

.module.form .content {
	grid-column: 1 / span 7;
	padding-top: var(--text-spacing-xlarge);
	position: sticky;
	top: var(--text-spacing-xlarge);
}

.module.form .heading-1 {
	margin: 0;
}

.module.form .description {
	margin-top: var(--text-spacing-small);
}

.module.form .description > :first-child {
	margin-top: 0;
}

.module.form .description > :last-child {
	margin-bottom: 0;
}

.module.form .logo-garden {
	margin-top: var(--text-spacing-xxlarge);
}

/** Form Panel **/

.module.form .panel {
	background: var(--navy-deep);
	grid-column: 8 / -1;
	margin-right: calc(var(--gap) * -1);
	padding: var(--text-spacing-xlarge);
}

.module.form .gform_required_legend {
	color: var(--slate);
	font-size: var(--text-xsmall-size);
	line-height: calc(20 / 14);
	margin: 0;
}

.module.form .gform_fields {
	gap: var(--text-spacing-medium);
}

.module.form .gfield {
	margin: 0;
	min-width: 0;
}

.module.form .gfield_checkbox {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.module.form textarea {
	height: 144px;
}

.module.form .gform_confirmation_message {
	font-size: var(--text-large-size);
	font-weight: 500;
	line-height: calc(32 / 20);
}

/***************************************************************************************************************************************************************************************/
/* MQ MAX-WIDTH 1200 - Smaller Desktop Sizes / Larger Tablet Sizes */
/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(1200rem / 16)) {
	.module.form .content {
		grid-column: 1 / span 6;
	}

	.module.form .panel {
		grid-column: 7 / -1;
		margin-right: 0;
	}
}

/***************************************************************************************************************************************************************************************/
/* MQ MAX-WIDTH 950 - Tablet Sizes */
/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(950rem / 16)) {
	.module.form .content,
	.module.form .panel {
		grid-column: 1 / -1;
	}

	.module.form .content {
		padding-top: 0;
		position: static;
	}

	.module.form.under-header {
		padding-top: calc(var(--header-space) + var(--module-spacing-small));
	}
}

/***************************************************************************************************************************************************************************************/
/* MQ MAX-WIDTH 650 - Mobile Sizes */
/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(650rem / 16)) {
	.module.form .panel {
		margin-left: var(--viewport-edge);
		margin-right: var(--viewport-edge);
		padding: var(--text-spacing-xlarge) calc(var(--viewport-edge) * -1);
	}
}
