
/* Gravity Forms */
.gform-theme.gform-theme--foundation {
	--form-field-margin-bottom: 16px;
	margin-top: calc(-1 * var(--form-field-margin-bottom));
	text-align: left;

	&.gravity-theme .ginput_complex span {
		margin-bottom: var(--form-field-margin-bottom);

		/* Tablet Styles */
		@media (width >= 768px) {
			margin-bottom: 0;
		}

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	.gform_validation_errors {
		border: 1px solid #c02b0a;

		ol,
		ul {
			li {
				&::marker {
					color: #c02b0a;
				}
			}
		}
	}

	form {
		font-size: 16px;
		line-height: 1em;

		/* Progress bar */
		.gf_progressbar_wrapper {
			.gf_progressbar_title {
				font-size: 16px;
				line-height: 1em;
				margin-bottom: 0.75em;
			}

			.gf_progressbar_percentage {
				background-color: var(--primary-color);
			}
		}

		.gform-body {
			.gform_fields {
				row-gap: 0;
				column-gap: 12px;
			}

			.gfield {
				margin-bottom: var(--form-field-margin-bottom);

				label,
				legend {
					font-size: 16px;
					line-height: 1em;
					margin-bottom: 0.75em;
				}

				input {
					text-align: left;
					font-size: 16px;
					line-height: 1em;
					font-family: var(--primary-font);
					color: var(--text-color);
					height: 48px;
					padding-left: 10px;
					background: var(--light-color);
					border-radius: 0px;
					border: 1px solid rgb(from var(--dark-color) r g b / 0.2);
				}
			}

			/* Select */
			.gfield--type-select,
			.gfield--type-time,
			.gfield--type-address {
				select {
					font-size: 16px;
					line-height: 1em;
					font-family: var(--primary-font);
					width: 100%;
					height: 48px;
					appearance: none;
					padding-top: 15px;
					padding-left: 10px;
					border-radius: 0;
					background-color: var(--light-color);
					border: 1px solid rgb(from var(--dark-color) r g b / 0.2);
					color: var(--text-color);
				}
			}

			.gfield--type-multiselect {
				select {
					font-size: 16px;
					line-height: 1em;
					color: var(--text-color);
				}
			}

			/* Checkbox and Radio Button */
			.gfield--type-choice {
				label {
					margin-bottom: 0;
					margin-left: 5px;
				}

				input {
					width: 16px;
					height: 16px;
					padding: 0;
					accent-color: var(--primary-color);
				}

				input[type="checkbox"] {
					&:before {
						color: var(--light-color);
						background-color: var(--primary-color);
					}
				}

				input[type="radio"] {
					&:before {
						background-color: var(--primary-color);
					}
				}

				/* Image Choice */
				&.gfield--type-image_choice {
					.gchoice {
						&:where(:has(input:checked)) {
							&::after {
								background-color: var(--primary-color);
							}
						}
					}
				}
			}

			/* Textarea */
			textarea {
				font-size: 16px;
				line-height: 1em;
				color: var(--text-color);
				font-family: var(--primary-font);
				width: 100%;
				padding-left: 10px;
				padding-top: 10px;
				border-radius: 0px;
				border: 1px solid rgb(from var(--dark-color) r g b / 0.2);
				text-align: left;
			}

			.gfield--type-list {

				button.add_list_item,
				button.delete_list_item {
					background-color: var(--primary-color);
				}
			}

			/* .ginput_container--name .name_last {
				padding-left: 0;
			}
			.ginput_container--name .name_first {
				padding-right: 0;
			} */
			.disclaimer {
				font-size: 12px;
				line-height: 1.8em;
				font-style: italic;
				margin-bottom: 1em;
			}

			::placeholder {
				font-size: 16px;
				line-height: 1em;
				color: var(--text-color);
			}
		}

		/* Submit Button */
		.gform-footer.gform_footer {
			margin: 0;
			padding: 0;

			input.gform_button.button, 
			button.gform_button.button {
				cursor: pointer;
				display: inline-block;
				position: relative;
				text-align: center;
				text-decoration: none;
				text-transform: uppercase;
				background-color: transparent;
				font-weight: var(--fw-bold);
				font-size: 18px;
				line-height: 1.5em;
				font-family: var(--primary-font);
				color: var(--text-color);
				padding-bottom: 4px;
				border-bottom: 1px solid var(--primary-alt);

				&:hover,
				&:active,
				&:focus {
					color: var(--primary-color);
				}

				&.btn-inverse {
					color: var(--light-color);

					&:hover,
					&:active,
					&:focus {
						color: var(--primary-alt);
					}
				}

				&.btn-dark {
					background-color: var(--dark-color);

					&:hover,
					&:active,
					&:focus {
						color: var(--primary-color);
					}
				}
			}
		}

		/* Page Break - Steps Button */
		.gform-page-footer.gform_page_footer {
			margin: 0;
			padding: 0;

			input.gform_previous_button.gform-theme-button.button,
			input.gform_next_button.button,
			input.gform_button.button {
				font-size: 16px;
				line-height: 1em;
				border-radius: 0px;
				border: none;
				cursor: pointer;
				display: inline-block;
				position: relative;
				text-align: center;
				text-decoration: none;
				text-transform: uppercase;
				font-family: var(--secondary-font);
				background-color: var(--primary-color);
				color: var(--light-color);
				padding: 12px 30px;

				&:hover,
				&:active,
				&:focus {
					background-color: var(--secondary-color);
					color: var(--light-color);
				}

				&.btn-inverse {
					background-color: var(--light-color);
					color: var(--primary-color);

					&:hover,
					&:active,
					&:focus {
						background-color: oklch(from var(--light-color) calc(l - 0.10) c h);
						color: var(--primary-color);
					}
				}

				&.btn-dark {
					background-color: var(--dark-color);

					&:hover,
					&:active,
					&:focus {
						background-color: oklch(from var(--dark-color) calc(l + 0.10) c h);
					}
				}
			}
		}
	}
}

form.seaforms {

	.text-inputtype,
	.email-inputtype,
	.tel-inputtype {
		width: 100%;
		height: 48px;
		padding-left: 10px;
		background: var(--light-color);

	}

	select {
		width: 100%;
		height: 48px;
		appearance: none;
		padding-left: 10px;
		border-radius: 0;
		margin-bottom: var(--form-field-margin-bottom);
		background: url('images/svg/select-arrow.svg');
		background-position: right 18px center;
		background-repeat: no-repeat;
		background-size: 17px 11px;
		/* background-color: #f9f9f9; */
		border: 1px solid rgb(from var(--dark-color) r g b / 0.2);
		color: #757575;
	}

	textarea {
		width: 100%;
		margin-bottom: var(--form-field-margin-bottom);
		padding-left: 10px;
		padding-top: 10px;
		border: 1px solid #c9c9c9;
	}

	input[type="radio"],
	input[type="checkbox"] {
		margin-right: 5px;
		accent-color: var(--primary-color);
	}

	.submit-btn {
		padding: 10px 30px;
		/* border: none; */
	}

	.type-text {
		font-size: 13px;
		color: var(--secondary-highlight);
	}

	.type-checkboxgroup,
	.type-file,
	.type-radiobuttons,
	.type-checkbox,
	.type-cm_integration {
		margin-bottom: 1em;
	}

	.button {
		border: none;
	}

	.type-singlelinetext,
	.type-textarea {
		label {
			display: block;
			position: absolute;
			left: -10000px;
			top: auto;
			width: 1px;
			height: 1px;
			overflow: hidden;
		}

		input {
			margin-bottom: 1em;
			padding: 1em;
			border: 1px solid rgb(from var(--dark-color) r g b / 0.2);
		}
	}

	.stopyenoh {
		position: absolute;
	}
}

.file-input-item,
.type-cm_integration,
.type-checkbox {
	label {
		margin-right: 5px;
	}
}

.disclaimer,
div[id^="gform_wrapper_"] .disclaimer {
	font-size: 13px;
	line-height: 1.5em;
	font-style: italic;
	margin-bottom: 1em;
}

@keyframes shake {

	10%,
	90% {
		transform: translate3d(-3px, 0, 0);
	}

	20%,
	80% {
		transform: translate3d(4px, 0, 0);
	}

	30%,
	50%,
	70% {
		transform: translate3d(-8px, 0, 0);
	}

	40%,
	60% {
		transform: translate3d(8px, 0, 0);
	}
}

.field-wrap {
	position: relative;
}

.error {
	border: 1px solid #E74C3C !important;
	outline: none !important;
	box-shadow: 0 0 10px #E74C3C !important;
	animation: shake 0.82s cubic-bezier(.36, .07, .19, .97) both;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	perspective: 1000px;
}

span.error {
	border: none !important;
	box-shadow: none !important;
	font-size: 0;
	top: 28px;
	right: 0;
	position: absolute;
	width: 30px;
	height: 30px;
	background-image: url(images/svg/error.svg);
	background-size: 7px 20px;
	background-repeat: no-repeat;
	background-position: center;
}

.confirmation-light {

	.seaforms_confirmation_message,
	footer div[id^="gform_confirmation_wrapper_"] .gform_confirmation_message {
		color: var(--light-color);
	}
}

.seaforms_confirmation_message,
footer div[id^="gform_confirmation_wrapper_"] .gform_confirmation_message {
	margin-bottom: 30px;
}

::placeholder {
	color: var(--primary-color);
}

.gform_required_legend {
	display: none !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2 {
	font-family: var(--primary-font) !important;
	font-size: 16px !important;
	line-height: 1.9em !important;
	font-weight: var(--fw-regular) !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors>ol {
	margin: 0 !important;
}