.contact,
.contact-us {
	.contact-content {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 50px;
		row-gap: 50px;
		width: 100%;
		text-align: left;

		/* Tablet Styles */
		@media (width >= 768px) {
			grid-template-columns: 1fr 1fr;
			grid-template-rows: auto auto;
		}

		/* Desktop Styles */
		@media (width >= 1024px) {
			column-gap: 110px;
		}

		>div {
			display: flex;
			flex-direction: column;

			@media (width < 768px) {
				&.location-container {
					order: 2;
				}

				&.form-container {
					order: 1;
				}
			}
		}

		h2,
		.home-heading {
			font-size: 28px;
			text-transform: none;
		}
	}

	.location-info {
		.site-locations {
			display: flex;
			flex-direction: column;

			.location-each {
				display: flex;
				flex-direction: column;
				margin-bottom: 36px;

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

				a.location-text {
					color: var(--text-color);
					text-decoration: none;
					transition: color .3s;

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

				.show-icon {
					padding-right: 20px;
				}

				&>* {
					margin-bottom: 1em;
				}

				&>.phone-text,
				&>.sms-text,
				&>.fax-text,
				&>.address-text,
				&>.phone-sms-container {
					display: flex;
					align-items: center;
					justify-content: flex-start;

					svg {
						path {
							fill: var(--primary-color);
						}
					}
				}

				.phone-sms-container {
					.sms-option:after {
						content: '\00a0';
					}
				}

				&>.address-text {
					display: flex;
					align-items: start;

					/* order: 4; */
					.location-address-block {
						display: block;

						.address-street:after {
							content: ',\00a0';
						}

						.show-icon {
							padding-top: 0.5em;
						}
					}
				}

				&>.hours-text {
					.location-hours-block {
						display: flex;
						justify-content: flex-start;

						.hours-day:after {
							content: '\00a0';
						}
					}
				}

				&>.location-map {
					margin-top: 1em;
					width: 100%;

					a {
						display: block;
						width: 100%;
						height: 100%;
					}

					.hdng {
						font-size: 21px;
						line-height: 1em;
						font-weight: var(--fw-bold);
						text-transform: uppercase;
						text-align: center;
						color: var(--light-color);
						background-color: var(--primary-color);
						width: 100%;
						padding: 15px;
						display: flex;
						align-items: center;
						justify-content: center;

						/* Desktop Styles */
						@media (width >= 1024px) {
							font-size: 40px;
						}

						svg {
							width: auto;
							height: 18px;
							margin-left: 20px;

							/* Desktop Styles */
							@media (width >= 1024px) {
								height: 47px;
							}
						}
					}

					iframe {
						width: 100%;
						height: 400px;
					}

					img {
						width: 100%;
						height: auto;
					}
				}
			}
		}
	}

	.form-content {
		padding-bottom: 1em;
	}
}


/* 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(--primary-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(--primary-color);
				}
			}

			.gfield--type-multiselect {
				select {
					font-size: 16px;
					line-height: 1em;
					color: var(--primary-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(--primary-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(--primary-color);
			}
		}

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

			input.gform_button.button {
				border: none;
				font-size: 16px;
				line-height: 1em;
				border-radius: 0px;
				margin-bottom: 0;
				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);
					}
				}
			}
		}

		/* 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;
}