.js_overlay, .js_overlay_op {
    /* position: absolute; */
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: .7;
    background-color: #000;
    z-index: 998;
}
.side_wrap {
    position: fixed;
    width: 360px;
    height: 100%;
    overflow-y: auto;
    top: 0;
    left: -100%;
    transition: left .3s ease 0s;
    background: #fff;
    z-index: 9999;
}
.side_wrap {
    width: 100%;
    max-width: 360px;
    background: var(--color-black);
}
.side_wrap.active {
    left: 0;
}
.side_header {
    height: 77px;
    border-bottom: 3px solid var(--color-y);
    background: var(--color-white);
}
.right_form-call, .right_form-close {
    width: 48px;
    height: 48px;
    border-radius: 100%;
    background: #d4eff2;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.right_form-close img {
    cursor: pointer;
}
.right_form-call, .right_form-close {
    width: 48px;
    height: 48px;
    border-radius: 100%;
    background: #d4eff2;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.right_form-call.telto {
    pointer-events: all;
}
.h_tel.mob_telto.telto:before {
    content: '';
    display: block;
    width: 48px;
    height: 48px;
    background: url(../images/svg/mob_phone.svg) 50% 50% / cover no-repeat;
}
.side_menu .side_menu-el {
    border-bottom: 1px solid var(--color-grey);
}
.side_menu .side_menu-el a {
    padding-left: 16px;
    padding-right: 16px;
    display: block;
    color: var(--color-grey);
    font-weight: 400;
    line-height: 54px;
    text-transform: uppercase;
}

/* right_form и Доп. стили >>> */
.btn.focus, .btn:focus, input:focus {
    outline: 0;
    box-shadow: none;
}
.right_form {
    position: fixed;
    width: 360px;
    height: 100%;
    overflow-y: auto;
    top: 0;
    right: -200%;
    transition: right .3s ease 0s;
    z-index: 9999;
}
.right_form.active {
    right: 0;
}
.right_form {
    width: 100%;
    max-width: 360px;
    background: var(--color-grey);
}
.right_form .side_body {
    padding-top: 40px;
    position: relative;
}
.loading, .ajax_response {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0.9;
    z-index: 998;
    background: #fff;
}
.loading {
    background: #fff url(/hostcmsfiles/images/ajax_loader.gif) 50% 50% no-repeat;
}
.right_form .ajax_response_wrap {
    position: absolute;
    display: none;
    top: 25px;
    left: 16px;
    height: 100%;
    width: calc(100% - 16px);
    background: var(--color-grey);
    color: #fff;
    z-index: 999;
}
.ajax_message_wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    padding-left: 15px;
    padding-right: 15px;
}
.right_form .ajax_message_wrap {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -25px;
    margin-right: 16px;
    flex-direction: column;
}
.right_form .ajax_result {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 20px;
}
.right_form-title {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 30px;
    margin-bottom: 25px;
}
.right_form-title, .right_form-desc {
    color: var(--color-black);
    display: inline-block;
}
.inp_wrap {
    margin-bottom: 20px;
    text-align: center;
}
.inp_wrap .inp {
    /* color: var(--font-white); */
    line-height: 125%;
    padding: 0 18px;
    border: 2px solid #fff;
    border-radius: 5px;
    color: var(--color-black);
    height: 50px;
    width: 210px;
    text-align: center;
    background: transparent;
}
.inp_wrap .inp::placeholder {
    color: var(--color-black);
}
.right_form .inp_wrap .inp {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--color-black);
    border-radius: 0;
    padding-left: 5px;
    padding-right: 5px;
    text-align: left;
    font-weight: 400;
    font-size: 14px;
    line-height: 114%;
}
input.inp {
    outline: none;
}
.right_form .inp_wrap .inp.input_error {
    border-color: var(--red);
}
.right_form .inp_wrap .inp.input_error::placeholder {
    color: var(--red);
}
.custom-checkbox.fz_wrap {
    margin-top: 12px;
    font-weight: 400;
    font-size: 12px;
    display: inline-block;
    width: 100%;
    text-align: left;
}
.custom-control {
    padding-left: 26px;
}
.custom-checkbox.fz_wrap a {
    color: var(--font-white);
    text-decoration: underline;
}
label.fz_label, .right_form .fz_wrap, .right_form .fz_wrap a {
    color: var(--color-black);
}
.custom-checkbox.fz_wrap a:hover {
    opacity: .9;
}
.inp.input_error {
    border-color: var(--red);
}
.fz_input.input_error + label {
    text-decoration: underline;
    text-decoration-line: spelling-error;
    text-decoration-color: var(--red)
}
.custom-checkbox .custom-control-label::before {
	content: none;
}
.custom-checkbox .custom-control-label::after {
	width: 20px;
	height: 20px;
	left: -28px;
	top: 0;
	cursor: pointer;
	box-shadow: none;
	border-radius: 50%;
	border: none;
	background: var(--color-black) url("data:image/sAvg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3e%3crect width='20' height='20' fill='%23fff' rx='10'/%3e%3crect width='20' height='20' stroke='%23DB2B39' rx='10'/%3e%3c/svg%3e") 0 0 / cover;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    border-radius: 50%;
    border: none;
    background: var(--color-black) url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2220%22%20height%3D%2220%22%20rx%3D%2210%22%20fill%3D%22%23292929%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%225%22%20width%3D%2210%22%20height%3D%2210%22%20rx%3D%225%22%20fill%3D%22%23FFBB00%22%2F%3E%3C%2Fsvg%3E") 0 0 / cover;
}
form .btn_wrap {
    display: flex;
    justify-content: center;
}
form .btn {
    color: var(--color-white);
    font-weight: 700;
    line-height: 125%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    border-bottom: 3px solid var(--color-y);
    border-radius: 8px;
    padding: 16px 24px;
    width: 310px;
    height: 64px;
    background: var(--color-black)
}
/* right_form и Доп. стили <<< */