/*------------------------------------*\

    WebFX Gravity Forms Customizations
    CF7 visual parity for Gravity Forms fields

\*------------------------------------*/

.gform-theme--foundation .gform_fields {
	grid-row-gap: 0 !important;
	row-gap: 0 !important;
}

/* Floating labels for GF text-like fields. */
.gform_wrapper .gfield {
	position: relative;
}

.gform_wrapper .gfield:not(.gfield--type-radio):not(.gfield--type-checkbox):not(.gfield--type-consent) > .gfield_label {
	position: absolute;
	top: 13px;
	left: 10px;
	width: calc(100% - 60px);
	padding: 5px;
	margin: 0;
	background-color: #fff;
	pointer-events: none;
	transition: all ease 0.3s;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	z-index: 1;
}


.gform_wrapper .gfield.fx-gf-is-focused > .gfield_label,
.gform_wrapper .gfield.fx-gf-is-filled > .gfield_label {
	top: 1px !important;
	font-size: 12px !important;
	background-color: transparent !important;
}

/* CSS fallback: float label while the field is focused. */
.gform_wrapper .gfield:focus-within > .gfield_label {
	top: 1px !important;
	font-size: 12px !important;
	background-color: transparent !important;
}

.gform_wrapper .gfield--type-radio > .gfield_label, .gform_wrapper .gfield--type-checkbox > .gfield_label, .gform_wrapper .gfield--type-consent  > .gfield_label {
	position: static;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}

/* Match spacing used by legacy .form-col wrappers. */
.gform_wrapper .gfield {
	margin-bottom: 15px;
}

@media (min-width: 768px) {
	.gform_wrapper .gfield {
		margin-bottom: 25px;
	}
}

/* Default radio/checkbox style parity from CF7. */
.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield_checkbox .gchoice {
	display: inline-block;
	margin-right: 20px;
	margin-left: 0;
	margin-bottom: 10px;
}

.gform_wrapper .gfield_radio .gchoice label,
.gform_wrapper .gfield_checkbox .gchoice label {
	position: static;
	margin-left: 5px;
	font-weight: 400;
	pointer-events: auto;
}

.gform_wrapper input[type="radio"] {
	pointer-events: auto;
	accent-color: #000;
	position: relative;
	top: 2px;
}

/* Validation message color parity. */
.gform_wrapper .validation_message,
.gform_wrapper .gfield_validation_message,
.gform_wrapper .gform_validation_errors,
.gform_wrapper .gform_submission_error {
	color: #ec1d30 !important;
	font-size: 14px !important;
}

.gform_wrapper h2.gform_submission_error {
	margin-bottom: 0 !important;
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: #ec1d30;
}

/* Submit button parity: black background + right icon. */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="button"] {
	position: relative !important;
	display: inline-block !important;
	border-radius: 0 !important;
	font-size: 18px !important;
	line-height: 1.28em !important;
	font-weight: normal !important;
	padding: 13px 33px 13px 20px !important;
	text-decoration: none !important;
	transition: all ease-in-out 0.3s !important;
	border: 1px solid #000 !important;
	color: #fff !important;
	background-color: #000 !important;
	font-family: "stratumno1bold", sans-serif !important;
	text-transform: uppercase !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 16px) 50% !important;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAALCAYAAABCm8wlAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC1SURBVHgBdY/NDcIwDIWfSzgglR1ypO0lK7BB2YBuABMwAmwAGzAC3YAegCvdANEicWhQiNUgwk8t2XLk7+XZqJBM71ASHREQSD7Q7G5I1F+AiwGkzf0V0ewH0NAbAsqWDpY14oUPEJcLRlKgt7Xty6YQ6E8GKEryabvHme3cMx/iOBbc8RUazfo9pNxaZ06lFCtrJKbNeOX/Kgx0Cqe0fvMQp0/ADUoDykIccnxHhSjlK9ARTxjdN0IMEQE4AAAAAElFTkSuQmCC") !important;
}
/* Hover State for Submit Buttons, and Buttons. */
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="submit"]:focus,
.gform_wrapper .gform_footer input[type="submit"]:active,
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:focus,
.gform_wrapper .gform_page_footer input[type="submit"]:active,
.gform_wrapper .gform_page_footer input[type="button"]:hover,
.gform_wrapper .gform_page_footer input[type="button"]:focus,
.gform_wrapper .gform_page_footer input[type="button"]:active {
	background-color: #595959 !important;
	border-color: #595959 !important;
	color: #fff !important;
}

/* Apply legacy field styles specifically to Gravity Forms inputs. */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="datetime"],
.gform_wrapper input[type="datetime-local"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="month"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="week"],
.gform_wrapper input[type="number"] {
	width: 100% !important;
	display: block !important;
	height: 51px !important;
	border: 1px solid #b3b3b3 !important;
	padding: 18px 15px 5px !important;
	font-size: 16px !important;
	text-align: left !important;
	font-weight: 700 !important;
	color: #000 !important;
	font-family: "Barlow", sans-serif !important;
	text-transform: none !important;
	background-color: #fff !important;
	border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
}

.gform_wrapper textarea {
	width: 100% !important;
	display: block !important;
	border: 1px solid #b3b3b3 !important;
	padding: 18px 15px 5px !important;
	font-size: 16px !important;
	text-align: left !important;
	font-weight: 700 !important;
	color: #000 !important;
	font-family: "Barlow", sans-serif !important;
	text-transform: none !important;
	background-color: #fff !important;
	border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
}

.gform_wrapper select,
.gform_wrapper .gfield_select {
	width: 100% !important;
	display: block !important;
	height: 51px !important;
	border: 1px solid #b3b3b3 !important;
	padding: 14px 38px 5px 15px !important;
	font-size: 16px !important;
	text-align: left !important;
	font-weight: 700 !important;
	color: #000 !important;
	font-family: "Barlow", sans-serif !important;
	text-transform: none !important;
	background-color: #fff !important;
	border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 14px) 50% !important;
	background-size: 10px 6px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%23f0002b' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") !important;
}

/* Hide default select text until interaction to avoid text peeking behind floating label. */
.gform_wrapper .gfield--type-select:not(.fx-gf-is-focused):not(.fx-gf-is-filled) .gfield_select {
	color: transparent !important;
	text-shadow: 0 0 0 transparent !important;
}

.gform_wrapper .gfield--type-select.fx-gf-is-focused .gfield_select,
.gform_wrapper .gfield--type-select.fx-gf-is-filled .gfield_select {
	color: #000 !important;
}

.gform_wrapper select::-ms-expand {
	display: none;
}

.contact-form .gform_wrapper .gform_footer input[type="submit"],
.newsletter__form .gform_wrapper .gform_footer input[type="submit"] {
	width: 100%;
}

.gform-theme--foundation .gform_footer, .gform-theme--foundation .gform_page_footer {
	margin-top: 0 !important;
}

@media (min-width: 1200px) {
	.gform_wrapper .gform_footer input[type="submit"]:hover,
	.gform_wrapper .gform_page_footer input[type="submit"]:hover,
	.gform_wrapper .gform_page_footer input[type="button"]:hover {
		background-color: #595959;
		border-color: #595959;
		color: #fff;
	}
}

.gform_wrapper .gform_heading .gform_required_legend {
	font-size: 15px !important;
	margin-bottom: 1rem;
}