/* Gravity Forms appointment forms (includes/gravity-forms.php)
   Gravity Forms' own CSS is disabled. Its wrapper elements are flattened so the
   theme's existing .estimate-form .form-row styles lay the fields out as before. */

.estimate-form .gform_body,
.estimate-form .gform_fields,
.estimate-form .gform_footer,
.estimate-form .ginput_container {
	display: contents;
}

.gform_wrapper .gform_heading,
.estimate-form .gform_validation_container,
.estimate-form .gform_hidden {
	display: none !important;
}

/* Contact page - the legacy rules use nth-child(1-5), but Gravity Forms puts its
   (hidden) honeypot field first, so they're keyed off the comments row instead */
.new-keowee-layout .contactPageForm .estimate-form .gfield.form-row:not(.comments-row) {
	flex-wrap: nowrap;
	border: 0;
	border-bottom: 2px solid #545a54;
}
.new-keowee-layout .contactPageForm .estimate-form .gfield.form-row:not(.comments-row) label {
	padding: 0;
}
.new-keowee-layout .contactPageForm .estimate-form .gfield.form-row:not(.comments-row) input {
	min-height: 0;
}
@media only screen and (min-width: 768px) {
	.new-keowee-layout .contactPageForm .estimate-form .gfield.form-row:not(.comments-row) {
		width: calc(50% - 5px);
	}
}
.new-keowee-layout .contactPageForm .estimate-form .gfield.form-row.comments-row {
	width: 100%;
	flex-wrap: wrap;
	border: 2px solid #545a54;
}
.new-keowee-layout .contactPageForm .estimate-form .gfield.form-row.comments-row label {
	padding: 5px 8px;
}
.new-keowee-layout .contactPageForm .estimate-form .gfield.form-row.comments-row input {
	min-height: 100px;
}

/* Validation messages - the page reloads at #gf_{id}; keep it clear of the sticky header */
.gform_wrapper .gform_anchor {
	scroll-margin-top: 170px;
}
.gform_wrapper .gform_validation_errors {
	width: 100%;
	margin: 0 0 15px;
}
.gform_wrapper .gform_validation_errors h2 {
	margin: 0;
	font: bold 14px/20px "open sans", sans-serif;
	text-transform: none;
	text-align: left;
	color: #b3261e;
}
/* Error summary list (the form's "validation summary" setting) */
.gform_wrapper .gform_validation_errors ol {
	margin: 5px 0 0 20px;
	padding: 0;
	text-align: left;
}
.gform_wrapper .gform_validation_errors li,
.gform_wrapper .gform_validation_errors a {
	font: 13px/18px "open sans", sans-serif;
	color: #b3261e;
	text-align: left;
}
.estimate-form .gfield_error.form-row {
	flex-wrap: wrap !important; /* the placements' rows are nowrap - let the message drop below */
}
.contactPageForm .estimate-form .gfield_error.form-row input,
.contactPageForm .estimate-form .gfield_error.form-row select,
.footer .estimate-form .gfield_error.form-row input,
.footer .estimate-form .gfield_error.form-row select {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
}
.estimate-form .gfield_validation_message {
	order: 3; /* below the input, even when the form places validation "above" */
	width: 100%;
	text-align: left;
	padding: 2px 0;
	font: bold 13px/18px "open sans", sans-serif;
	color: #b3261e;
}
.footer .gform_wrapper .gform_validation_errors h2,
.footer .gform_wrapper .gform_validation_errors li,
.footer .gform_wrapper .gform_validation_errors a,
.footer .estimate-form .gfield_validation_message {
	color: #ffb4ab;
}
