/* contact_hero */
.contact_hero {
    position: relative;
    padding-block: 12rem 8.2rem;
    overflow: hidden;
}

.contact_hero_vecto {
    pointer-events: none;
}

.contact_hero_bg {
    position: absolute;
    width: 60.69%;
    left: 28.3rem;
    top: 0;
    transform: translateY(15%);
    pointer-events: none;
    z-index: -1;
    filter: blur(13rem);
    /* opacity: .7; */
}

.contact_hero_vecto {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 25.7rem;
}

.contact_hero_form {
    grid-column: 8/13;
    grid-row: 1/3;
}

.contact_hero_content_info_tel {
    white-space: nowrap;
    display: inline-block;
}

.contact_hero_content_info {
    grid-column: 1/6;
    grid-row: 2/4;
    justify-content: end;
    display: flex;
    flex-direction: column;
}

.contact_hero_content {
    grid-column: 1/6;
    margin-top: 7rem;
}

.contact_hero_content_info_name {
    color: #ebebeb;
    margin-bottom: 1.2rem;
}

.contact_form_row {
    margin-bottom: 4rem;
}

.contact_form_row.col-2 {
    display: flex;
    gap: 4rem;
}

.contact_form_row.submit_row {
    margin-bottom: 0;
    margin-top: 4.8rem;
}

.contact_form_input {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid #262626;
    padding: 0 0 1.6rem 0;
    color: #fff;
    font-family: inherit;
    font-size: 1.6rem;
    outline: none;
    transition: border-color 0.3s ease;
}

.contact_form_input:focus {
    border-bottom-color: #F32B3B;
}

.contact_form_input::placeholder {
    color: #929292;
}

.contact_hero_content_title {
    margin-bottom: 4rem;
}

.error_msg {
    display: none;
    color: #F32B3B;
    font-size: 1.2rem;
    margin-top: 0.8rem;
    position: absolute;
}

.contact_form_row {
    position: relative;
}

.contact_form_col {
    position: relative;
    width: 100%;
}

.has-error .error_msg {
    display: block;
}

.has-error .contact_form_input {
    border-bottom-color: #F32B3B;
}

@media only screen and (max-width:991px) {
    .contact_hero_content {
        grid-column: 1/6;
    }

    .contact_hero_form {
        grid-column: 6/9;
    }

    .contact_form_row.col-2 {
        flex-direction: column;
    }

    .contact_hero {
        padding-top: 10rem;
    }

    .contact_hero_content {
        justify-content: space-between;
    }

    .contact_hero_bg {
        filter: none;
        width: 60rem;
        height: 60rem;
        background: radial-gradient(circle, rgba(230, 38, 54, 0.4) 0%, rgba(230, 38, 54, 0) 70%);
        transform: translate(30%, -30%);
        left: unset;
        right: 0;
        top: 0;
    }

    .contact_hero_bg svg {
        display: none;
    }
}

@media only screen and (max-width:767px) {
    .contact_hero_content {
        grid-column: 1/5;
        grid-row: 1/2;
        margin-top: 0;
    }

    .contact_hero_content_subtitle {
        margin-bottom: 4.8rem;
    }

    .contact_hero_form {
        grid-column: 1/5;
        grid-row: 2/3;
    }

    .contact_hero_content_info {
        grid-column: 1/5;
        grid-row: 3/4;
    }

    .contact_hero_vecto {
        left: 0;
        top: 0;
        bottom: unset;
        right: 1.6rem;
    }

    .contact_hero_bg {
        width: 60rem;
        height: 60rem;
        transform: translate(30%, -10%);
        filter: none;
        left: unset;
        right: 0;
    }

    .contact_hero_content_title {
        width: 30rem;
        margin-bottom: 2.4rem;
    }

    .contact_form_input {
        padding-bottom: 1.2rem;
    }

    .contact_form_row {
        margin-bottom: 3.2rem;
    }

    .contact_form_row {
        margin-bottom: 3.2rem;
    }

    .contact_form_row.submit_row {
        margin-top: 0;
    }

    .contact_hero_content_info_name {
        margin-bottom: .8rem;
    }

    .contact_hero_content_info {
        margin-top: 4.8rem;
    }

    .contact_hero {
        padding-bottom: 6.4rem;
        padding-top: 14.4rem;
    }
}

/* contact_img */
.contact_img {
    width: 100%;
    height: 70rem;
}

.contact_img_inner {
    width: 100%;
    height: 100%;
    /* background-attachment: fixed; */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media only screen and (max-width:767px) {
    .contact_img {
        height: 40rem;
    }

    .contact_img_inner {
        background-attachment: unset;
    }
}