
.contact, .contact-us {
	main {
		aside {
			display: none;
		}
		.contact-content {
			display: grid;
			grid-template-columns: 1fr;
			column-gap: 50px;
			row-gap: 50px;
			width: 100%;
			/* padding-top: 50px; */
			/* padding-bottom: 50px; */
			text-align: left;
			@media (min-width: 768px) {
				grid-template-columns: 1fr 1fr;
				grid-template-rows: auto auto;
				/* padding-top: 80px; */
				/* padding-bottom: 80px; */
			}
			@media (min-width: 1060px) {
				column-gap: 110px;
			}
			> div {
				display: flex;
				flex-direction: column;
				@media (max-width: 767px) {
					&.location-container {
						order: 2;
					}
					&.form-container {
						order: 1;
					}
				}
			}
			h2, .home-heading {
				font-size: 28px;
				font-size: 1.75rem;
				text-transform: none;
			}
		}
		.location-info {
			.site-locations {
				display: flex;
				flex-direction: column;
				.location-each {
					display: flex;
					flex-direction: column;
					margin-bottom: 37.5px;
					&:last-of-type {
						margin-bottom: 0;
					}
					a:not(.icon-content-link):not(.icon-img-link):not(.button):not(.button-primary-color) {
						color: var(--default-color);
						text-decoration: none;
						transition: color .3s;
						&:hover, &:active, &:focus {
							color: var(--primary-color);
						}
					}
					.show-icon {
						padding-right: 20.5px;
					}
					> * {
						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;
							font-size: 1.3125rem;
							line-height: 1em;
							font-weight: var(--fw-bold);
							letter-spacing: 0.05em;
							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;
							@media (min-width: 1060px) {
								font-size: 40px;
								font-size: 2.5rem;
								line-height: 1em;
							}
							svg {
								width: auto;
								height: 18px;
								margin-left: 20px;
								@media (min-width: 1100px) {
									height: 47px;
								}
							}
						}
						iframe {
							width: 100%;
							height: 400px;
						}
						img {
							width: 100%;
							height: auto;
						}
					}
				}
			}
		}
		.form-content {
			padding-bottom: 1em;
		}
		/* .contact-information {
			@include media($tablet) {
				display: flex;
			}
			> div,
			> address {
				@include media($tablet) {
					@include font(14px);
					width: 50%;
				}
				@include media($desktop) {
					@include font(16px);
				}
			}
		}
		.location-details {
			width: 100%;
			padding-bottom: 20px;
			span {
				display: block;
			}
		}
		.hours-text {
			.location-hours-block {
				margin-bottom: 20px;
				@include media($desktop) {
					margin-bottom: 0;
				}
				> div {
					@include media($desktop) {
						display: inline;
					}
				}
			}
		} */
	}
}

/* .location-map {
	width: 100%;
	margin-bottom: 16px;
	border: 1px solid rgba($darkColor, .2);
	iframe {
		display: block;
		width: 100%;
		height: 200px;
	}
} */

/* Gravity Forms */
/* div[id^="gform_wrapper_"] { */
.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);
		@media (min-width: 620px) {
			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;
		font-size: 1rem;
		line-height: 1em;
		font-weight: var(--fw-light);
		/* Progress bar */
		.gf_progressbar_wrapper {
			.gf_progressbar_title {
				font-size: 16px;
				font-size: 1rem;
				line-height: 1em;
				margin-bottom: 0.75em;
			}
			.gf_progressbar_percentage {
				background-color: var(--primary-color);
			}
		}
		.gform-body {
			.gform_fields {
				row-gap: 0;
			}
			.gfield {
				margin-bottom: var(--form-field-margin-bottom);
				label, legend {
					font-size: 16px;
					font-size: 1rem;
					line-height: 1em;
					margin-bottom: 0.75em;
				}
				input {
					text-align: left;
					font-size: 16px;
					font-size: 1rem;
					line-height: 1em;
					font-weight: var(--fw-light);
					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;
					font-size: 1rem;
					line-height: 1em;
					font-weight: var(--fw-light);
					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;
					font-size: 1rem;
					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;
				font-size: 1rem;
				line-height: 1em;
				font-weight: var(--fw-light);
				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;
				font-size: 0.75rem;
				line-height: 1.16em;
				margin-bottom: 1em;
			}
			::placeholder {
				font-size: 16px;
				font-size: 1rem;
				line-height: 1em;
				font-weight: var(--fw-light);
				color: var(--primary-color);
			}
		}

		/* Submit Button */
		.gform-footer.gform_footer {
			margin: 0;
			padding: 0;
			position: relative;
			&:after {
				content: '';
				position: absolute;
				width: 29px;
				height: 5px;
				bottom: 0;
				left: 0;
				background-color: var(--primary-highlight);
				transition: all .3s;
			}
			&:hover {
				&:after {
					width: 100%;
				}
			}
			input.gform_button.button {
				border: none;
				font-size: 16px;
				font-size: 1rem;
				line-height: 1.1em;
				font-weight: var(--fw-regular);
				letter-spacing: 0.03em;
				text-transform: uppercase;
				font-family: var(--primary-font);
				border-radius: 0px;
				/* @extend .button; */
				background-color: transparent;
				margin-bottom: 0;
				padding: 10px 0px;
			}
		}

		/* 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;
				font-size: 1rem;
				line-height: 1em;
				border-radius: 0px;
				border: none;
				/* NOTE: original used @extend .button here — declarations duplicated from .button in common.scss (css/common.css) */
				cursor: pointer;
				display: inline-block;
				position: relative;
				text-align: center;
				text-decoration: none;
				text-transform: uppercase;
				font-family: var(--primary-font);
				color: var(--primary-color);
				background-color: transparent;
			}
		}
	}
}

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: 12px;
		font-size: 0.75rem;
		/* color: $secondaryHighlight; */
	}
	.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: 12px;
	font-size: 0.75rem;
	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);
  }
}

/* NOTE: $red was a local SCSS variable (declared inline in _contact.scss, not present in css/variables.css) — translated to var(--red) with a literal fallback below; verify and consider adding --red to variables.css */
.field-wrap {
	position: relative;
}
.error {
	border: 1px solid var(--red, #E74C3C)!important;
	outline: none !important;
	box-shadow: 0 0 10px var(--red, #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;
}
