footer, footer.footer_wrp {
    position: relative;
    width: 100%;
    height: auto;
}

footer .footer_wrp .footer {
    --pad_vertic: 16.5625em;
    /* --pad_horiz: ; */
    padding-bottom: 2.9375em;
    position: relative;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--GnpG5_clr_background);
}

.footer .ftr_form {
    width: auto;
    position: relative;
    display: flex;
    flex-direction: row;
    margin-bottom: 7.5625em;
    align-self: center;
    background-color: var(--GnpG5_clr_pure_wht);
}

.footer .ftr_logo {
    position: relative;
    width: 5.5625em;
    height: auto;
    aspect-ratio: 89/155;
    margin-bottom: 3.3125em;
    align-self: center;
} 

.footer .ftr_contacts {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    margin-bottom: 6.3125em;
    align-self: center;
}

.footer .ftr_contacts .item_addrs {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5em;
    flex: 1 0 33%;
}

.footer .ftr_contacts .item_addrs a:first-child {
    width: 12.5em;
    line-height: 1.4;
}

.footer .ftr_contacts .item_addrs a {
    color: var(--GnpG5_clr_gold);
    line-height: .7;
    transition: color .2s;
}

.footer .ftr_contacts .item_addrs .b_inf {
    display: flex;
    flex-direction: column;
    gap: .3em;
    font-size: .725em;

}

.footer .ftr_contacts .item_tel_ml {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1em;
    text-align: center;
    flex: 1 0 33%;
}

.footer .ftr_contacts .item_tel_ml a:first-child {
    font-size: 1.5em;
    text-transform: uppercase;
    line-height: 1;
}

.footer .ftr_contacts .item_tel_ml a:last-child {
    line-height: 1;
}

.footer .ftr_contacts .item_soc {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1em;
    flex: 1 0 33%;
}

.footer .ftr_contacts .item_soc a {
    line-height: .7;
}

.footer .ftr_copywriting {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
}

.footer .ftr_trms {
    margin-top: 2.325em;
    opacity: .6;
    font-size: .725em;
    display: flex;
    flex-direction: column;
}

.footer .ftr_copywriting,
.footer .ftr_contacts,
.footer .ftr_form,
.footer .ftr_logo,
.footer .ftr_trms {
    z-index: 1;
}

.footer .ftr_bckgrnd {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    z-index: 0;
    mask-image: linear-gradient(180deg, rgba(17, 59, 71, 0) 1.99%, #113B47 300%);
}

.ftr_form {
    display: flex;
    flex-direction: row;
}

.frm_inf {
    width: min-content;
    padding: 5.375em 4.5em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: .5em;
}

.frm_inf p {
    text-transform: uppercase;
    font-weight: 400;
    color: var(--GnpG5_clr_pure_black); 
}

.frm_inf p.txt_m {
    text-transform: none;
}

.send_form {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.input_wrp,
.btn_snd_wrp {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 1em;
}

.btn_snd_wrp {
    flex-direction: row-reverse;
}

.btn_snd_wrp > .btn_frm {
    align-self: flex-start;
}

.frm_img {
    display: flex;
    width: 24em;
    aspect-ratio: 384/558;
}

.footer .btn_frm,
.js_ajax_pp_form .btn_frm  {
    border-radius: 2.375em;
}

.input_wrp input {
    all: unset;
    width: 20.875em;
    padding: 1.5em 1.4em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--GnpG5_clr_light_grey);
    font-family: var(--GnpG5_font2);
    font-size: 1.25em;
    font-weight: 700;
    line-height: 120%;
    /* color: var(--GnpG5_clr_pure_wht); */
    text-align: start;
    cursor: pointer;
    transition: .3s all;
    border-radius: 2.375em;
    font-size: 1em;
    border: 2px solid #00000000;
}

.input_wrp input::placeholder {
    color: var(--GnpG5_clr_pure_black);
    opacity: .45;
}

.input_wrp input:focus {
    border: 2px solid var(--GnpG5_clr_gold);
}

.footer .ftr_contacts .item_addrs a:last-child:hover {
    color: var(--GnpG5_clr_gold_light);
}

.footer .ftr_contacts .item_tel_ml a,
.footer .ftr_contacts .item_soc a {
    color: var(--GnpG5_clr_pure_wht);
    transition: color .2s;
}

.footer .ftr_contacts .item_tel_ml a:hover,
.footer .ftr_contacts .item_soc a:hover {
    color: var(--GnpG5_clr_river);
}

.checbox_inpt_terms {
    display: flex;
    flex-direction: row;
    gap: 1em;
    align-items: center;
}

.checbox_inpt_terms > input {
    width: 2.5em;
    aspect-ratio: 1;
    align-self: center;
}

.trms_txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .125em;
}

.trms_txt p {
    margin: 0;
}

.trms_txt a {
    color: var(--GnpG5_clr_river);
}

.trms_txt .dd_ch {
    display: none;
    font-size: .5em;
}

.checbox_inpt_terms:has(.ddnt_chckd) .trms_txt .dd_ch {
    display: block;
    color: red;
}

@media screen and (max-width: 981px) {
    .frm_inf {
        width: auto;
        padding: 3.414em 1.9512em;
    }

    .input_wrp, .btn_snd_wrp {
        flex-direction: column;
    }

    .frm_img {
        display: none;
    }

    .frm_inf p {
        text-align: center;
    }

    .input_wrp input {
        width: 100%;
    }

    .btn_snd_wrp {
        flex-direction: column-reverse;
    }

    .footer .ftr_contacts {
        width: 100%;
        flex-direction: column;
        margin-bottom: 6.3125em;
    }

    .ftr_contacts {
        flex-wrap: wrap;
        gap: 3em;
    }

    .footer .ftr_contacts .item_addrs,
    .footer .ftr_contacts .item_tel_ml,
    .footer .ftr_contacts .item_soc {
        align-self: center;
        flex: 1 0 100%;
        text-align: center;
    }

    .footer .ftr_contacts .item_addrs a:last-child {
        align-self: center;
    }

    .footer .ftr_contacts .item_tel_ml{order: 1; align-items: center;}
    .footer .ftr_contacts .item_addrs{order: 2; align-items: center;}
    .footer .ftr_contacts .item_soc{order: 3; align-items: center;}

    .popup_frm_wrp .frm_inf .cls_pp_frm {
        top: -4em;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }

    .popup_frm_wrp {
        padding: 1em;
        box-sizing: border-box;
    }

}