/* INVL Gravity Forms — prototype look for any field type.
   Scoped to .invl-gf-wrap so Contact Form 7 is untouched.
   Loaded last so Orbital theme cannot override it. */

.invl-gf-wrap,
.invl-gf-wrap.gform_wrapper,
.invl-gf-wrap.gform_confirmation_wrapper {
	--font: inherit;
	--fg: #ffffff;
	--fg-2: #c3d7f5;
	--muted: #8a96c4;
	--ph: #8a96c4;
	--surface: #131359;
	--chip: #131359;
	--border: #5566b3;
	--accent: #f0be2d;
	--accent-hover: #f7cb4a;
	--accent-ink: #00003c;
	--gold: #f0be2d;
	--focus: #f0be2d;
	--focus-halo: rgba(240, 190, 45, 0.3);
	--error: #ff8a8a;
	--error-bg: #3a1c44;
	--success: #7fe0ae;
	--success-bg: #0f3a3a;
	--on-success: #00003c;
	--t-fast: 0.15s;
	--gf-font-family-base: inherit;
	--gf-color-primary: var(--focus);
	--gf-color-danger: var(--error);
	--gf-radius: 0;
	--gf-ctrl-radius: 0;
	--gf-ctrl-btn-radius: 0;
	--gf-ctrl-checkbox-check-radius: 0;
	--gf-ctrl-bg-color: var(--surface);
	--gf-ctrl-bg-color-hover: var(--surface);
	--gf-ctrl-bg-color-focus: var(--surface);
	--gf-ctrl-bg-color-error: var(--error-bg);
	--gf-ctrl-border-width: 1px;
	--gf-ctrl-border-color: transparent;
	--gf-ctrl-border-color-hover: var(--border);
	--gf-ctrl-border-color-focus: var(--focus);
	--gf-ctrl-border-color-error: var(--error);
	--gf-ctrl-outline-color-focus: var(--focus-halo);
	--gf-ctrl-outline-width-focus: 4px;
	--gf-ctrl-size: 52px;
	--gf-ctrl-padding-x: 16px;
	--gf-ctrl-font-size: 16px;
	--gf-ctrl-color: var(--fg);
	--gf-ctrl-placeholder-color: var(--ph);
	--gf-ctrl-shadow: none;
	--gf-ctrl-label-color-primary: var(--fg);
	--gf-ctrl-label-font-size-primary: 15px;
	--gf-ctrl-label-font-weight-primary: 400;
	--gf-ctrl-desc-color: var(--muted);
	--gf-ctrl-desc-font-size: 13px;
	--gf-ctrl-btn-bg-color: var(--accent);
	--gf-ctrl-btn-bg-color-primary: var(--accent);
	--gf-ctrl-btn-bg-color-hover: var(--accent-hover);
	--gf-ctrl-btn-bg-color-hover-primary: var(--accent-hover);
	--gf-ctrl-btn-color: var(--accent-ink);
	--gf-ctrl-btn-color-primary: var(--accent-ink);
	--gf-ctrl-btn-size: 54px;
	--gf-ctrl-btn-font-size: 16px;
	--gf-ctrl-btn-padding-x: 32px;
	--gf-ctrl-btn-font-weight: 500;
	--gf-ctrl-choice-size: 22px;
	--gf-ctrl-choice-check-color: var(--accent-ink);
	--gf-form-validation-color: var(--error);
	--gf-form-validation-bg-color: var(--error-bg);
	--gf-form-validation-border-color: var(--error);
	--gf-form-validation-radius: 0;
	--gf-field-gap-y: 22px;
	--gf-field-gap-x: 16px;
	--gf-color-primary: var(--focus) !important;
	--gf-color-danger: var(--error) !important;
	--gf-radius: 0 !important;
	--gf-ctrl-radius: 0 !important;
	--gf-ctrl-border-color: transparent !important;
	--gf-ctrl-bg-color: var(--surface) !important;
	--gf-ctrl-label-color-primary: var(--fg) !important;
	--gf-ctrl-btn-bg-color-primary: var(--accent) !important;
	--gf-ctrl-btn-color-primary: var(--accent-ink) !important;
	font-family: inherit;
	color: var(--fg);
}

/* Career / content-form panels are already --surface (#131359).
   Prototype inputs sit on a darker card (#00002A); match that contrast. */
.career-form .invl-gf-wrap,
.content-form .invl-gf-wrap,
.popup-modal__form .invl-gf-wrap {
	--surface: #00002a;
	--chip: #00002a;
}

html.light-mode .invl-gf-wrap,
html.light-mode .invl-gf-wrap.gform_wrapper,
html.light-mode .invl-gf-wrap.gform_confirmation_wrapper,
html.theme-white-orange .invl-gf-wrap,
html.theme-white-orange .invl-gf-wrap.gform_wrapper {
	--fg: #00003c;
	--fg-2: #2a3a7a;
	--muted: #4a5680;
	--ph: #6b7599;
	--surface: #ffffff;
	--chip: #ffffff;
	--border: #8a97c4;
	--accent: #f0be2d;
	--accent-hover: #d9a91e;
	--accent-ink: #00003c;
	--gold: #8a6400;
	--focus: #00003c;
	--focus-halo: rgba(0, 0, 60, 0.18);
	--error: #b3261e;
	--error-bg: #fdeceb;
	--success: #1e7f4f;
	--success-bg: #e3f3ea;
	--on-success: #ffffff;
}

html.theme-white-orange .invl-gf-wrap {
	--surface: #e6eefa;
	--chip: #ffffff;
}

.invl-gf-wrap.gform_wrapper .gform_heading {
	margin-bottom: 28px;
}

.invl-gf-wrap.gform_wrapper .gform_title {
	font-size: 26px;
	line-height: 1.27;
	font-weight: 200;
	font-style: normal;
	color: var(--fg);
}

.invl-gf-wrap.gform_wrapper .gform_description {
	display: block;
	color: var(--fg-2);
	margin-top: 10px;
	font-size: 16px;
	font-weight: 200;
	font-style: normal;
}

.career-form__fields .career-form__heading,
.faq-card__form-heading {
	font-weight: 200;
	font-style: normal;
}

/* Only .gform_fields is the 12-col grid. Putting display:grid on
   .gform_body as well nests two 12-col grids and squeezes fields
   into a single 27px column — inputs look like unstyled text. */
.invl-gf-wrap.gform_wrapper .gform_body,
.invl-gf-wrap.gform_wrapper .gform-body {
	display: block;
	width: 100%;
}

.invl-gf-wrap.gform_wrapper .gform_fields,
.invl-gf-wrap.gform_wrapper .gform_legacy_markup_wrapper .gform_fields {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--gf-field-gap-y) var(--gf-field-gap-x);
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

/* Theme reset is dequeued, so GF no longer hides these itself. */
.invl-gf-wrap.gform_wrapper .gform_required_legend {
	display: none !important;
}

.invl-gf-wrap.gform_wrapper .gfield--type-honeypot,
.invl-gf-wrap.gform_wrapper .gform_validation_container,
.invl-gf-wrap.gform_wrapper .gfield--input-type-honeypot {
	display: none !important;
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
}

.invl-gf-wrap.gform_wrapper .gfield,
.invl-gf-wrap.gform_wrapper .gfield--width-full {
	grid-column: span 12;
	min-width: 0;
	margin: 0;
	padding: 0;
	max-width: none;
	float: none;
	width: auto;
}

.invl-gf-wrap.gform_wrapper .gfield--width-half {
	grid-column: span 6;
}

.invl-gf-wrap.gform_wrapper .gfield--width-third {
	grid-column: span 4;
}

.invl-gf-wrap.gform_wrapper .gfield--width-quarter {
	grid-column: span 3;
}

.invl-gf-wrap.gform_wrapper .gfield_label,
.invl-gf-wrap.gform_wrapper legend.gfield_label {
	display: flex;
	width: 100%;
	align-items: baseline;
	gap: 6px;
	font-size: 15px;
	font-weight: 400;
	color: var(--fg);
	margin: 0 0 8px;
}

.invl-gf-wrap.gform_wrapper .gfield_required,
.invl-gf-wrap.gform_wrapper .gfield_required_asterisk,
.invl-gf-wrap.gform_wrapper .gfield_required .gfield_required_text {
	color: var(--fg);
	font-weight: 400;
}

.invl-gf-wrap.gform_wrapper .gfield--type-consent .gfield_label:not(.gfield_consent_label) {
	display: none;
}

.invl-gf-wrap.gform_wrapper .ginput_container input[type="text"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="email"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="tel"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="url"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="number"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="password"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="search"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="date"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="datetime-local"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="time"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="month"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="week"],
.invl-gf-wrap.gform_wrapper .ginput_container input[type="file"],
.invl-gf-wrap.gform_wrapper .ginput_container textarea,
.invl-gf-wrap.gform_wrapper .ginput_container select,
.invl-gf-wrap.gform_wrapper .ginput_complex input,
.invl-gf-wrap.gform_wrapper .ginput_complex select {
	display: block;
	box-sizing: border-box;
	font: inherit;
	font-weight: 400;
	font-size: 16px;
	width: 100%;
	max-width: none;
	min-height: 52px;
	padding: 12px 16px;
	color: var(--fg);
	background: var(--surface);
	border: 1px solid transparent;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color var(--t-fast), box-shadow var(--t-fast), background-color var(--t-fast);
}

.invl-gf-wrap.gform_wrapper .ginput_container textarea {
	height: 88px;
	min-height: 88px;
	resize: vertical;
	line-height: 1.5;
}

.invl-gf-wrap.gform_wrapper .ginput_container select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238A96C4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
}

.invl-gf-wrap.gform_wrapper .ginput_container input::placeholder,
.invl-gf-wrap.gform_wrapper .ginput_container textarea::placeholder {
	color: var(--muted);
	opacity: 1;
	font-weight: 200;
}

.invl-gf-wrap.gform_wrapper .ginput_container input:hover,
.invl-gf-wrap.gform_wrapper .ginput_container textarea:hover,
.invl-gf-wrap.gform_wrapper .ginput_container select:hover,
.invl-gf-wrap.gform_wrapper .ginput_complex input:hover,
.invl-gf-wrap.gform_wrapper .ginput_complex select:hover {
	border-color: var(--border);
}

.invl-gf-wrap.gform_wrapper .ginput_container input:focus,
.invl-gf-wrap.gform_wrapper .ginput_container textarea:focus,
.invl-gf-wrap.gform_wrapper .ginput_container select:focus,
.invl-gf-wrap.gform_wrapper .ginput_complex input:focus,
.invl-gf-wrap.gform_wrapper .ginput_complex select:focus {
	border-color: var(--focus);
	background: var(--surface);
	box-shadow: 0 0 0 4px var(--focus-halo);
}

.invl-gf-wrap.gform_wrapper .gfield_error .ginput_container input,
.invl-gf-wrap.gform_wrapper .gfield_error .ginput_container textarea,
.invl-gf-wrap.gform_wrapper .gfield_error .ginput_container select {
	border-color: var(--error);
	background: var(--error-bg);
}

.invl-gf-wrap.gform_wrapper .gfield_description {
	font-size: 13px;
	color: var(--muted);
	margin-top: 6px;
}

.invl-gf-wrap.gform_wrapper .gfield_validation_message,
.invl-gf-wrap.gform_wrapper .validation_message {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	color: var(--error);
	font-size: 14px;
	font-weight: 400;
	margin-top: 8px;
	line-height: 1.4;
}

.invl-gf-wrap.gform_wrapper .gfield_validation_message::before,
.invl-gf-wrap.gform_wrapper .validation_message::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6.5'/%3E%3Cpath d='M8 4.8v3.9M8 11.2v.1'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6.5'/%3E%3Cpath d='M8 4.8v3.9M8 11.2v.1'/%3E%3C/svg%3E") center / contain no-repeat;
}

.invl-gf-wrap.gform_wrapper .gfield_validation_message[hidden],
.invl-gf-wrap.gform_wrapper .validation_message[hidden] {
	display: none;
}

.invl-gf-wrap.gform_wrapper .gform_validation_errors {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: stretch;
	padding: 14px 16px;
	margin: 0 0 28px;
	background: var(--error-bg);
	border: 0;
	border-left: 3px solid var(--error);
	border-radius: 0;
	color: var(--fg);
	outline: none;
}


.invl-gf-wrap.gform_wrapper .gform_validation_errors[hidden] {
	display: none;
}

.invl-gf-wrap.gform_wrapper .gform_validation_errors:focus-visible {
	box-shadow: 0 0 0 4px var(--focus-halo);
}

.invl-gf-wrap.gform_wrapper .gform_validation_errors .gform-icon {
	flex: none;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	color: var(--error);
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='8.2'/%3E%3Cpath d='M10 6v5M10 14v.1'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='8.2'/%3E%3Cpath d='M10 6v5M10 14v.1'/%3E%3C/svg%3E") center / contain no-repeat;
}

.invl-gf-wrap.gform_wrapper .gform_validation_errors .gform-icon svg,
.invl-gf-wrap.gform_wrapper .gform_validation_errors .gform-icon img {
	display: none;
}

.invl-gf-wrap.gform_wrapper .gform_submission_error {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	font-weight: 500;
	margin: 0 0 4px;
	color: var(--fg);
}

.invl-gf-wrap.gform_wrapper .gform_validation_errors ol,
.invl-gf-wrap.gform_wrapper .gform_validation_errors ul,
.invl-gf-wrap.gform_wrapper .gform_validation_errors_list {
	margin: 0;
	padding-left: 18px;
	font-size: 14px;
	font-weight: 400;
	color: var(--fg-2);
}

.invl-gf-wrap.gform_wrapper .gform_validation_errors_list li {
	margin: 2px 0;
}

.invl-gf-wrap.gform_wrapper .gform_validation_error_link {
	color: var(--fg);
	text-decoration-color: var(--error);
	text-underline-offset: 3px;
}

/* Choice chips (CSS class gf-chips on the field) */
.invl-gf-wrap.gform_wrapper .gf-chips {
	border: 0;
	padding: 0;
	margin: 0;
	min-width: 0;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gfield_radio,
.invl-gf-wrap.gform_wrapper .gf-chips .gfield_checkbox {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gchoice {
	position: relative;
	display: inline-flex;
	width: max-content;
	flex: 0 0 auto;
	max-width: 100%;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gfield-choice-input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gform-field-label--type-inline,
.invl-gf-wrap.gform_wrapper .gf-chips label {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: max-content;
	min-height: 44px;
	margin: 0;
	padding: 0 18px;
	font-weight: 400;
	font-size: 14px;
	background: var(--chip);
	color: var(--fg);
	cursor: pointer;
	border: 1px solid transparent;
	white-space: nowrap;
	transition: background-color var(--t-fast), color var(--t-fast), border-color var(--t-fast);
	user-select: none;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gform-field-label--type-inline::before,
.invl-gf-wrap.gform_wrapper .gf-chips label::before {
	content: "";
	display: block;
	flex: none;
	width: 14px;
	height: 14px;
	opacity: 0;
	margin-right: -22px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gfield-choice-input:checked + label {
	background: var(--accent);
	color: var(--accent-ink);
	font-weight: 500;
	padding: 0 7px;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gfield-choice-input:checked + label::before {
	opacity: 1;
	margin-right: 0;
}

.invl-gf-wrap.gform_wrapper .gf-chips .gfield-choice-input:focus-visible + label {
	box-shadow: 0 0 0 4px var(--focus-halo);
	border-color: var(--focus);
}

.invl-gf-wrap.gform_wrapper .gf-chips label:hover {
	border-color: var(--border);
}

.invl-gf-wrap.gform_wrapper .gfield_error.gf-chips .gfield-choice-input:not(:checked) + label {
	border-color: var(--error);
}

/* Theme CF7 rule `html.dark-mode .career-form__form label { color: #c3d7f5 !important }`
   would paint chip/field labels and kill the yellow selected state. */
html.dark-mode .career-form__form .invl-gf-wrap label,
html.dark-mode .career-form__form .invl-gf-wrap .gfield_label,
html.dark-mode .career-form__form .invl-gf-wrap .gform-field-label {
	color: var(--fg) !important;
}

html.dark-mode .career-form__form .invl-gf-wrap .gfield_consent_label,
html.dark-mode .career-form__form .invl-gf-wrap .gfield--type-radio:not(.gf-chips) label,
html.dark-mode .career-form__form .invl-gf-wrap .gfield--type-checkbox:not(.gf-chips) label {
	color: var(--fg-2) !important;
}

html.dark-mode .career-form__form .invl-gf-wrap .gf-chips .gfield-choice-input:checked + label {
	color: var(--accent-ink) !important;
}

/* Default radio / checkbox (any new choice field without gf-chips) */
.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) .gfield_radio,
.invl-gf-wrap.gform_wrapper .gfield--type-checkbox:not(.gf-chips) .gfield_checkbox {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) .gchoice,
.invl-gf-wrap.gform_wrapper .gfield--type-checkbox:not(.gf-chips):not(.gfield--type-consent) .gchoice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
}

.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) input[type="radio"],
.invl-gf-wrap.gform_wrapper .gfield--type-checkbox:not(.gf-chips):not(.gfield--type-consent) input[type="checkbox"],
.invl-gf-wrap.gform_wrapper .gfield--type-consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	flex: none;
	width: 22px;
	height: 22px;
	margin: 1px 0 0;
	background: var(--surface);
	border: 1.5px solid var(--border);
	border-radius: 0;
	display: grid;
	place-items: center;
	cursor: pointer;
}

.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) input[type="radio"] {
	border-radius: 50%;
}

.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) input[type="radio"]::after,
.invl-gf-wrap.gform_wrapper .gfield--type-checkbox:not(.gf-chips) input[type="checkbox"]::after,
.invl-gf-wrap.gform_wrapper .gfield--type-consent input[type="checkbox"]::after {
	content: "";
	width: 14px;
	height: 14px;
	background: var(--accent-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: scale(0.6);
	opacity: 0;
}

.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) input[type="radio"]::after {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--accent-ink);
	-webkit-mask: none;
	mask: none;
}

.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) input[type="radio"]:checked,
.invl-gf-wrap.gform_wrapper .gfield--type-checkbox:not(.gf-chips) input[type="checkbox"]:checked,
.invl-gf-wrap.gform_wrapper .gfield--type-consent input[type="checkbox"]:checked {
	background: var(--accent);
	border-color: var(--accent);
}

.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) input[type="radio"]:checked::after,
.invl-gf-wrap.gform_wrapper .gfield--type-checkbox:not(.gf-chips) input[type="checkbox"]:checked::after,
.invl-gf-wrap.gform_wrapper .gfield--type-consent input[type="checkbox"]:checked::after {
	transform: scale(1);
	opacity: 1;
}

.invl-gf-wrap.gform_wrapper .gfield--type-consent .ginput_container_consent {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.invl-gf-wrap.gform_wrapper .gfield_consent_label,
.invl-gf-wrap.gform_wrapper .gfield--type-radio:not(.gf-chips) label,
.invl-gf-wrap.gform_wrapper .gfield--type-checkbox:not(.gf-chips) label {
	font-size: 15px;
	color: var(--fg-2);
	cursor: pointer;
	margin: 0;
	background: none;
	padding: 0;
	min-height: 0;
	width: auto;
	display: inline;
}

.invl-gf-wrap.gform_wrapper .gfield_consent_label a {
	color: var(--gold);
	text-underline-offset: 3px;
}

.invl-gf-wrap.gform_wrapper .gfield--type-consent input[type="checkbox"]:focus-visible {
	box-shadow: 0 0 0 4px var(--focus-halo);
	border-color: var(--focus);
	outline: none;
}

.invl-gf-wrap.gform_wrapper .gfield_error.gfield--type-consent input[type="checkbox"],
.invl-gf-wrap.gform_wrapper .gfield_error.gfield--type-radio:not(.gf-chips) input[type="radio"],
.invl-gf-wrap.gform_wrapper .gfield_error.gfield--type-checkbox:not(.gf-chips) input[type="checkbox"] {
	border-color: var(--error);
}

.invl-gf-wrap.gform_wrapper .gform_fileupload_rules,
.invl-gf-wrap.gform_wrapper .ginput_container_fileupload {
	color: var(--muted);
	font-size: 13px;
}

.invl-gf-wrap.gform_wrapper .gfield--type-html,
.invl-gf-wrap.gform_wrapper .gfield--type-section {
	color: var(--fg-2);
}

.invl-gf-wrap.gform_wrapper .gsection_title {
	font-size: 20px;
	font-weight: 500;
	color: var(--fg);
	margin: 0 0 8px;
}

.invl-gf-wrap.gform_wrapper .gform_footer,
.invl-gf-wrap.gform_wrapper .gform_page_footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	margin-top: 34px;
	grid-column: span 12;
	padding: 0;
	width: 100%;
}

.invl-gf-wrap.gform_wrapper .gform_footer .gform_button,
.invl-gf-wrap.gform_wrapper .gform_page_footer .gform_button,
.invl-gf-wrap.gform_wrapper .gform_footer button.gform_button,
.invl-gf-wrap.gform_wrapper .gform_footer input[type="submit"] {
	width: 100%;
	min-height: 54px;
	height: auto;
	padding: 0 32px;
	border: 0;
	border-radius: 0;
	background: var(--accent);
	background-color: var(--accent);
	background-image: none;
	color: var(--accent-ink);
	font-size: 16px;
	font-weight: 500;
	font-family: inherit;
	line-height: 1.2;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	box-shadow: none;
	text-transform: none;
	letter-spacing: 0;
	transition: background-color var(--t-fast), transform 0.1s;
}

.invl-gf-wrap.gform_wrapper .gform_footer .gform_button:hover,
.invl-gf-wrap.gform_wrapper .gform_footer button.gform_button:hover {
	background: var(--accent-hover);
	background-color: var(--accent-hover);
	color: var(--accent-ink);
}

.invl-gf-wrap.gform_wrapper .gform_footer .gform_button:active {
	transform: translateY(1px);
}

.invl-gf-wrap.gform_wrapper .gform_footer .gform_button:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 3px;
}

.invl-gf-wrap.gform_wrapper .gform_footer .gform_button[disabled],
.invl-gf-wrap.gform_wrapper form.is-sending .gform_button,
.invl-gf-wrap.gform_wrapper form[aria-busy="true"] .gform_button {
	cursor: progress;
	opacity: 0.9;
}

.invl-gf-wrap.gform_wrapper .gform_button svg.arrow {
	width: 18px;
	height: 18px;
}

.invl-gf-wrap.gform_wrapper .gform_button .invl-gf-spinner,
.invl-gf-wrap.gform_wrapper .gform_button .gform-loader {
	display: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2.5px solid rgba(0, 0, 60, 0.25);
	border-top-color: var(--accent-ink);
	animation: invl-gf-spin 0.8s linear infinite;
	background: none;
	margin: 0;
}

.invl-gf-wrap.gform_wrapper form.is-sending .gform_button .invl-gf-spinner,
.invl-gf-wrap.gform_wrapper form[aria-busy="true"] .gform_button .invl-gf-spinner {
	display: inline-block;
}

.invl-gf-wrap.gform_wrapper .gform-loader,
.invl-gf-wrap.gform_wrapper .gform_ajax_spinner {
	display: none !important;
}

.invl-gf-wrap.gform_wrapper form.is-sending .gform_button .arrow,
.invl-gf-wrap.gform_wrapper form[aria-busy="true"] .gform_button .arrow {
	display: none;
}

.invl-gf-wrap.gform_wrapper form.is-sending .gform_fields,
.invl-gf-wrap.gform_wrapper form[aria-busy="true"] .gform_fields {
	opacity: 0.6;
	pointer-events: none;
}

.invl-gf-wrap.gform_wrapper .gform_hint {
	font-size: 13px;
	color: var(--muted);
	text-align: center;
	margin: 0;
}

.invl-gf-wrap.gform_wrapper form.is-sending .gform_hint,
.invl-gf-wrap.gform_wrapper form[aria-busy="true"] .gform_hint {
	color: var(--fg-2);
}

.invl-gf-wrap .gform_confirmation_wrapper[hidden],
.invl-gf-wrap.gform_wrapper form[hidden] {
	display: none;
}

.invl-gf-wrap.gform_confirmation_wrapper .gform_confirmation_message,
.invl-gf-wrap.gform_wrapper .gform_confirmation_message {
	padding: 36px 32px;
	background: var(--success-bg);
	color: var(--fg);
}

.invl-gf-wrap .gform_confirmation_message .ok,
.invl-gf-wrap .invl-gf-confirm .ok {
	width: 48px;
	height: 48px;
	background: var(--success);
	color: var(--on-success);
	display: grid;
	place-items: center;
	margin-bottom: 20px;
}

.invl-gf-wrap .gform_confirmation_message .ok svg,
.invl-gf-wrap .invl-gf-confirm .ok svg {
	display: none;
}

.invl-gf-wrap .gform_confirmation_message .ok::before,
.invl-gf-wrap .invl-gf-confirm .ok::before {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.invl-gf-wrap .gform_confirmation_message h3,
.invl-gf-wrap .invl-gf-confirm h3 {
	font-size: 26px;
	line-height: 1.25;
	font-weight: 500;
	margin: 0 0 10px;
	color: var(--fg);
}

.invl-gf-wrap .gform_confirmation_message p,
.invl-gf-wrap .invl-gf-confirm__lead {
	font-size: 16px;
	line-height: 1.5;
	color: var(--fg-2);
	margin: 0;
}

.invl-gf-wrap .gform_confirmation_message p + p,
.invl-gf-wrap .invl-gf-confirm__note {
	margin: 10px 0 0;
	font-size: 14px;
	color: var(--muted);
}

.invl-gf-wrap .gform_confirmation_message .again,
.invl-gf-wrap .invl-gf-confirm .again {
	display: inline-block;
	margin-top: 22px;
	color: var(--fg);
	font-size: 15px;
	text-underline-offset: 4px;
}

@media (max-width: 600px) {
	.invl-gf-wrap.gform_wrapper .gfield--width-half,
	.invl-gf-wrap.gform_wrapper .gfield--width-third,
	.invl-gf-wrap.gform_wrapper .gfield--width-quarter {
		grid-column: span 12;
	}
}

@keyframes invl-gf-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.invl-gf-wrap .gform_button .invl-gf-spinner {
		animation: none;
	}
}
