/* Off-screen holder for the email gate + its Gravity Form while the modal is
   closed. Not display:none — GF validation/focus needs layout to work. */
.vfg-email-gate-holder {
	position: absolute;
	height: 0;
	overflow: hidden;
}

.vfg-email-gate-modal .fancybox-content {
	width: min(560px, 100%);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 48px 32px 32px;
}

/* The bb-theme skin applies a global "pressed" effect —
   button:active, button:focus { position: relative; top: 1px; } —
   which knocks Fancybox's absolutely-positioned close button back into
   normal flow the instant it's pressed. It jumps below the form mid-click,
   the mouseup lands elsewhere, and the modal can never be closed by the X.
   Pin it through every state, and keep the theme's green button skin off it. */
.vfg-email-gate-modal .fancybox-close-small,
.vfg-email-gate-modal .fancybox-close-small:hover,
.vfg-email-gate-modal .fancybox-close-small:focus,
.vfg-email-gate-modal .fancybox-close-small:active {
	position: absolute;
	top: 0;
	right: 0;
	background: transparent;
	border: none;
}

.vfg-email-gate__heading {
	margin: 0 0 16px;
}

.vfg-email-gate__intro {
	margin-bottom: 24px;
}

.vfg-email-gate__continue {
	margin-top: 24px;
}

/* ---------------------------------------------------------------------------
   Match the contact page form (PowerPack GF styler node fl-node-db81jr0u93tm /
   .contact-form). That styling is scoped to the contact page's layout CSS, so
   the same rules are mirrored here for the gate's copy of the form.
   ------------------------------------------------------------------------- */

/* Placeholders act as labels, same as the contact form. */
/* .vfg-email-gate .gform_wrapper .gfield .gfield_label {
	display: none;
} */

.vfg-email-gate .gform_wrapper.gravity-theme .gform_fields {
	grid-row-gap: 20px !important;
}
.vfg-email-gate .gform_wrapper.gravity-theme .gform_fields .gfield_label_before_complex {
	grid-row-gap: 20px !important;
	border: none;
}

.vfg-email-gate .gform_wrapper .gfield input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']),
.vfg-email-gate .gform_wrapper .gfield select,
.vfg-email-gate .gform_wrapper .gfield textarea {
	color: #5e5e5e;
	background-color: transparent;
	width: 100% !important;
	outline: none;
	border: 1px solid #5e5e5e;
	border-radius: 5px;
	padding: 5px;
	font-weight: 600;
	font-size: 13px;
	text-align: left;
}

.vfg-email-gate .gform_wrapper .gfield select {
	color: #334631 !important;
	margin-top: 4px !important;
}

.vfg-email-gate .gform_wrapper .gfield input::placeholder,
.vfg-email-gate .gform_wrapper .gfield textarea::placeholder {
	color: #5e5e5e;
	opacity: 1;
}

.vfg-email-gate .gform_wrapper .gfield input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']):focus,
.vfg-email-gate .gform_wrapper .gfield select:focus,
.vfg-email-gate .gform_wrapper .gfield textarea:focus {
	border-color: #5e5e5e;
}

.vfg-email-gate .gform_wrapper .gform_footer {
	text-align: center;
	justify-content: center;
}

.vfg-email-gate .gform_wrapper .gform_footer .gform_button {
	width: 170px;
	color: #ffffff;
	background-color: #336649;
	border: none;
	border-radius: 5px;
	padding-top: 12px;
	padding-bottom: 12px;
	white-space: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 13px;
}

.vfg-email-gate .gform_wrapper .gform_footer .gform_button:hover {
	color: #ffffff;
	background: #113c27;
}

/* Validation styling, mirrored from the contact form module. */
.vfg-email-gate .gform_wrapper .gform_validation_errors,
.vfg-email-gate .gform_wrapper .gform_validation_errors > h2 {
	color: #ff0000 !important;
	border: none;
	background: transparent;
	box-shadow: none;
	padding-top: 0;
	padding-bottom: 0;
}

.vfg-email-gate .gform_wrapper .gfield.gfield_error {
	background-color: transparent;
	border: none;
	padding-top: 0;
	padding-bottom: 0;
}

.vfg-email-gate .gform_wrapper .gfield_error .validation_message {
	display: block;
	color: #790000;
	background: transparent;
	border: none;
	padding-left: 0;
	padding-right: 0;
}

.vfg-email-gate .gform_wrapper .gfield_error input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']),
.vfg-email-gate .gform_wrapper .gfield_error .ginput_container select,
.vfg-email-gate .gform_wrapper .gfield_error .ginput_container textarea {
	border-color: #5e5e5e;
	border-width: 1px !important;
}
