/* ======================================================================== */
/* ============================ Contact Page ============================== */
/* ======================================================================== */
.contact_info_wrap { float:left;position:relative;width:49%; }
.map_wrap { margin:0px 0px 20px 0px;float:right;position:relative;text-align:center;width:49%;border-radius:0px;box-shadow:#000000 0px 0px 4px 1px; }
@media (max-width:768px) {
	.contact_info_wrap { float: none;width: 100%; }
	.map_wrap { margin:12px 0 0 0;float:none;width:100%; }
}

/* -- Contact Us -- */

.contact-form {
    position: relative;
    max-width: 100%;
    width: 100%;
    margin: 20px auto 120px;
    padding: 35px 20px;
    background-color: #fff;
    border-top: 3px solid var(--accent);
    box-shadow: 0 8px 15px rgba(60, 80, 120, .22);
    border-radius: 5px;
}
.contact-form form {
    max-width: 650px;
    width: 100%;
    margin-inline: auto;
}

.form_field_wrapper {
    position: relative;
    margin-top: 15px;
    padding: 0;
}
.form_field_wrapper:hover {
    background: none;
}
.form_input_error {
    color: #EB2B1F;
    font-weight: 700;
    font-size: .8rem;
}

.form_field_title {
    display: block;
    width: 100%;
    font-size: .9rem;
    font-weight: 600;
    margin-block: 0 5px;
    padding: 0;
}
.form_field_content {
    width: 100%;
}
.form_field_element {
    display: block;
    width: 100% !important;
    color: #101010;
    background-color: #fafafa;
    border: 1px solid #dddddd;
    border-radius: 5px;
    padding: 10px 12px;
    font-weight: 400;
    font-size: .9rem;
    letter-spacing: .025em;
    transition: border-color .25s, background-color .25s;
}
.form_field_element:hover,
.form_field_element:focus {
    border-color: var(--accent);
    outline: none;
}
.form_field_element:focus {
    background-color: #fff;
}
.required_field_element {
    display: none;
}
.form_field_textarea {
    resize: vertical;
}
.required-star {
    color: #E63B38;
}

.text-bold {
    font-weight: 700;
    font-style: italic;
}

#field_zip_code::-webkit-outer-spin-button,
#field_zip_code::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#field_zip_code {
    -moz-appearance: textfield;
}

.form_button {
    display: block;
    max-width: 100%;
    width: 100%;
    margin: 35px 0 20px;
    padding: 12px 28px;
    border-radius: var(--radius);
    background-color: var(--accent);
    border: 2px solid var(--accent);
    box-shadow: none;
    font-size: .95rem;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    color: var(--white);
    cursor: pointer;
    transition: all var(--transition);
}
.form_button:hover,
.form_button:focus {
    background-color: #fff;
    color: var(--accent);
}

.form_sms_wrapper {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-block: 15px;
    gap: 5px;
}
.form_sms_wrapper .radio_checkbox_wrapper {
    padding: 0;
    width: auto;
    margin: 0;
    display: block;
}
.form_sms_wrapper .form_field_title {
    font-weight: 400;
    font-size: .8rem;
    color: #484a4d;
    width: 100%;
}
.form_sms_wrapper .radio_checkbox {
    width: 30px;
    outline: none;
}
.form_sms_wrapper .radio_checkbox input {
    width: 14px;
    height: 14px;
    margin-top: 5px;
}
.form_sms_wrapper .radio_checkbox input:focus {
    outline: none;
}