.modal_overlay {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(66,59,59,0.95);
    z-index: 9999;
    display: none;
    flex-flow: column;
    justify-content: center;    
    animation: opacity_in 460ms both;
    animation-timing-function: ease-in;
}


.modal {
    position: relative;
	background: #fff;
    max-width: 90%;
    min-width: 340px;
	box-shadow: 3px 3px 12px rgba(0,0,0,0.46);
    display: none;
    margin: auto;
    animation: show_in_bottom 320ms both;
    animation-timing-function: ease-out;
    animation-delay: 230ms;
}


.modal .close {
    position: absolute;
    right: 20px ;
    top: 20px ;
    width: 30px ;
    height: 30px ;
    background: rgba(232, 233, 235, 0.8) ;
    z-index: 3;
    cursor: pointer;
    transition: 320ms ease-out ;
    opacity: 1;
    border-radius: 0 ;
}

.modal .close span {
    position: absolute;
    right: 10px;
    left: auto;
    top: 10px;
    width: 10px;
    height: 10px;    
    background-image: url(../img/site/sprite.svg);
    background-position: 0px -489px;
    transition: 320ms ease-out;
    transform: none;
}

.modal .close:hover {background: rgba(232, 233, 235, 1);}
.modal .close:hover span {transform: rotate(90deg);}




.modal.modal_form {
    max-width: 400px;
    padding: 20px;
    max-height: 90%;
    background: #f7f7f7;    
}




.modal_header {margin-bottom: 20px;}
.modal_header .heading {
    width: calc(100% - 40px);
    font-size: 23px;
    line-height: 110%;
    font-weight: 600;
    color: var(--lightbrown);
    padding-top: 2px;
    margin-bottom: 6px;
}

.modal_header p {
    font-size: 16px;
    line-height: 110%;
    font-weight: 300;
    color: var(--darkbrown);
}



form {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
}

form>div {margin-bottom: 6px};
form>div:last-child {margin-bottom: 0;}

form p {
    font-size: 14px;
    line-height: 100%;
    font-weight: 500;
    color: var(--darkbrown);
    display: inline-block;
    margin-bottom: 3px;
}
form p span {color: var(--lightbrown);}
form p.politica,
form p.politica span,
form p.politica a {
    color: var(--darkbrown);
    font-size: 12px;
    font-weight: 300;
    text-align: center;
}
form p.politica span,
form p.politica a {
    cursor: pointer;
    text-decoration: underline;
}


form input,
form textarea {
    position: relative;
    width: calc(100% - 20px);
    padding: 4px 10px;
    background: #fff;  
    border: none;
    border-bottom: 3px solid transparent;  
    outline: 1px solid #A6A6A6;
    font-size: 14px;
    line-height: 140%;
    font-weight: 400;
    color: var(--darkbrown);    
    transition: 320ms ease-out;
}
form input[name="company"] {display: none;}

form textarea {
    resize: vertical;
    min-height: 46px;
    max-height: 90px;
}

form input:focus,
form textarea:focus {
    outline: 1px solid var(--lightbrown);
    border-bottom: 3px solid var(--lightbrown);
}

form button {
    width: 100%;
    padding: 10px;
    margin: 8px 0;
    border: none;
    background: var(--lightbrown);
    font-size: 16px;
    line-height: 100%;
    font-weight: 600;
    text-align: center;
    color: #fff;
    transition: 320ms ease-out;
    cursor: pointer;
}


form .file {
    position: relative;
    cursor: pointer;
}
form .file input.user_file {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    z-index: 2;
}
form .file button {
    width: auto;
    padding: 6px 10px 5px;
    font-size: 14px;
    line-height: 140%;
    font-weight: 500;
    white-space: nowrap;
    margin: 0 0 0 10px;
}


form .file span.alert {
    left: 0px;
    right: auto;
    top: 120%;
    width: 260px;
    padding: 6px 12px;    
    color: var(--lightbrown);    
    border: 2px solid var(--lightbrown);
}








@media screen and (min-width: 768px) {
    form button:hover,
    form .file:hover button {background: var(--darkbrown);}
    form p.politica span:hover,
    form p.politica a:hover {color: var(--lightbrown);}

    
}





.modal.modal_form .politika {
    overflow: hidden;
    max-height: 0;
    transition: 320ms ease-out;
}
.modal.modal_form.pol_openned .politika {max-height: 1500px;}

.modal.modal_form.pol_openned {overflow-y: auto;}
.modal.modal_form.pol_openned::-webkit-scrollbar {width: 6px;}
.modal.modal_form.pol_openned::-webkit-scrollbar-track {background: rgba(133,91,77,0.2);}
.modal.modal_form.pol_openned::-webkit-scrollbar-thumb  {
    background: rgba(133,91,77,1);
    border-radius: 0; /* Округлость бегунка */
}


.modal .politika p {
    font-size: 14px;
    line-height: 120%;
    font-weight: 300;
    margin-bottom: 10px;
}
 
.modal .politika .modal_header {
    margin-top: 30px;
    cursor: pointer;
}
.modal .politika .heading {
    font-size: 16px;
    font-weight: 700;    
}

.modal .politika .modal_header span,
.modal .politika .close_pol span {
    position: relative;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    background: rgba(232, 233, 235, 0.8);
}

.modal .politika .close_pol span {margin-left: 10px;}
.modal .politika .modal_header span:hover,
.modal .politika .close_pol span:hover {background: rgba(232, 233, 235, 1);}

.modal .politika .modal_header span svg,
.modal .politika .close_pol span svg {
    position: absolute;
    top: 9px; left: 6px;
}


.modal .politika ul {margin: 10px 0;}
.modal .politika ul.o_ul li {    
    font-size: 14px;
    font-weight: 300;
}
.modal .politika ul.o_ul li::before {background-color: var(--lightbrown);}
.modal .politika ul.o_ul li::before {background-color: var(--lightbrown);}

.modal .politika .close_pol {
    font-size: 16px;
    line-height: 30px;
    font-weight: 700;
    color: var(--lightbrown);
    justify-content: flex-end;
    margin: 20px 0;
    cursor: pointer;
}












.modal[data-modal="modal_img"] {
    width: auto;
    max-width: 1100px;
    max-height: 90%;
    border: 16px solid #fff;
    transition: 320ms ease-out;
}
.modal[data-modal="modal_img"] .img {    
    width: 100%;
    height: 100%;
    overflow: hidden; 
}

.modal[data-modal="modal_img"] img {width: 100%;}

.modal.vert img {
    height: 99%;
    width: auto;
    cursor: zoom-in;
}
.modal.vert .zoom {display: block;}

.modal.vert.zoom_in {width: 90%;}
.modal.vert.zoom_in .img {overflow-y: auto;}
.modal.vert.zoom_in img {
    height: auto;
    width: 100%;
    cursor: zoom-out;    
}



@media screen and (max-width: 768px) {
    .modal[data-modal="modal_img"] {
        max-width: 90%;
        max-height: 80%;
        border: 6px solid #fff;
    }
}


.modal[data-modal="modal_img"] .img::-webkit-scrollbar {width: 6px;}
.modal[data-modal="modal_img"] .img::-webkit-scrollbar-track {background: rgba(133,91,77,0.2);}
.modal[data-modal="modal_img"] .img::-webkit-scrollbar-thumb  {
    background: rgba(133,91,77,1);
    border-radius: 0; /* Округлость бегунка */
}
.modal[data-modal="modal_img"] .close {background: #fff;}
.modal[data-modal="modal_img"] .text:not(:empty) {
    position: absolute;
    bottom: 4px;
    left: 0;
    width: fit-content;
    max-width: 500px;
    background: rgba(133,91,77,0.95);   
    padding: 20px 30px;
    font-size: 16px;
    line-height: 120%;
    font-weight: 600;
    color: #fff;
}








.modal .arrows {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 15%;
    height: 30%;
    cursor: pointer;
}
.modal .arrows.arr_right  {right: 0;}
.modal .arrows.arr_left  {left: 0;}
.modal .arrows span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: #fff;
    background-image: url(../img/site/sprite.svg);
    background-position: 10px -543px;
    opacity: 0.8;
    transition: 320ms ease-out;
}

.modal .arrows.arr_left span {
    left: 20px;
    transform: rotate(180deg) translateY(50%);
}
.modal .arrows.arr_right span {right: 20px;}

@media screen and (min-width: 768px) {
    .modal .arrows.arr_left:hover span {
        left: 10px;
        opacity: 1;
    }
    .modal .arrows.arr_right:hover span {
        right: 10px;
        opacity: 1;
    }
}






.modal[data-modal="modal_akciya"] {
    width: auto;
    max-width: 1100px;
    max-height: 90%;
    transition: 320ms ease-out;
}

.modal[data-modal="modal_akciya"] .image {
    background-size: cover;
    background-position: center;
}
.modal[data-modal="modal_akciya"] .text {padding: 60px 40px;}
.modal[data-modal="modal_akciya"] .text .heading {
    margin-bottom: 30px;
}

.modal[data-modal="modal_akciya"] .text p {
    font-size: 16px;
    line-height: 150%;
    font-weight: 400;
    margin-bottom: 15px;
}
.modal[data-modal="modal_akciya"] .text p a {
    color: var(--lightbrown);
    text-decoration: underline;
}







body.message_send_page {
    position: relative; 
    width: 100%;
    height: 100%;
    padding: 0;
    background: var(--darkbrown);
    display: flex;
    flex-flow: column;
    justify-content: center;    
}

body.message_send_page .modal {
    display: block;
    padding: 20px;
    padding-bottom: 60px;
}
body.message_send_page .modal .modal_body p {
    margin-top: 30px;
    font-size: 16px;
    font-weight: 400;
    color: var(--darkbrown);
}


body.message_send_page .modal .back_button {
    margin-top: 60px;
    display: inline-block;
    background: var(--lightbrown);
    width: 49px;
    padding: 8px 23px;
    font-size: 16px;
    line-height: 16px;
    color: #fff;
    transition: 320ms ease-out;
    animation: back_width 8800ms both;
    animation-delay: 1200ms;
    animation-timing-function: ease-out;
}
body.message_send_page .modal .back_button:hover {background: var(--darkbrown);}

@keyframes back_width {
    0% {width: 49px;}
    100% {width: calc(100% - 46px);}
}









.b24-window-close {
    position: absolute !important;
    right: 20px  !important;
    top: 20px  !important;
    width: 30px  !important;
    height: 30px  !important;
    background: rgba(232, 233, 235, 0.8)  !important;
    z-index: 3;
    cursor: pointer;
    transition: 320ms ease-out  !important;
    opacity: 1 !important;
    border-radius: 0  !important;
}

.b24-window-close::before {
    position: absolute !important;
    right: 10px !important;
    left: auto !important;
    top: 10px !important;
    width: 10px !important;
    height: 10px !important;   
    background-color: transparent !important; 
    background-image: url(../img/site/sprite.svg) !important;
    background-position: 0px -489px;
    transition: 320ms ease-out !important;
    transform: none !important;
}

.b24-window-close:hover {background: rgba(232, 233, 235, 1) !important;}
.b24-window-close:hover::before {transform: rotate(90deg) !important;}
.b24-window-close::after {display: none !important;}
.b24-window-scroll-anchor {height: 0 !important;}

.b24-window-overlay {background: rgba(66,59,59,0.95) !important;}

.b24-window-popup-wrapper {
    max-width: 500px !important;
    max-height: 90% !important;    
    box-shadow: 3px 3px 12px rgba(0,0,0,0.46) !important;
    border-radius: 0 !important;
}
.b24-form-wrapper {background: #f7f7f7 !important;}
.b24-form-padding-side {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.b24-form-header {
    padding: 20px 20px 10px !important;
    text-align: left !important;
}

.b24-form-header-title,
.b24-window-popup-title {
    font-size: 23px !important;
    line-height: 110% !important;
    font-weight: 600 !important;
    color: var(--lightbrown) !important;
    padding-top: 2px !important;
    margin-bottom: 6px !important;
    letter-spacing: normal !important;
    font-family: "Montserrat", sans-serif !important;
    white-space: unset !important;
}
.b24-form-header-description {
    font-size: 16px !important;
    line-height: 110% !important;
    font-weight: 300 !important;
    color: var(--darkbrown) !important;
    opacity: 1 !important;
    letter-spacing: normal !important;
    font-family: "Montserrat", sans-serif !important;
    margin: 0 !important;
}

input.b24-form-control,
textarea.b24-form-control {
    position: relative !important;
    height: auto !important;
    padding: 5px 10px 3px !important;
    border: none !important; 
    border-radius: 0 !important;
    border-bottom: 3px solid transparent !important;  
    background-color: #fff !important;
    outline: 1px solid #A6A6A6 !important;    
    font-family: "Montserrat", sans-serif !important;   
    font-size: 14px !important;
    line-height: 140% !important;
    font-weight: 400 !important;
    color: var(--darkbrown) !important;
    transition: 320ms ease-out !important;
}



textarea.b24-form-control {
    resize: vertical !important;
    min-height: 46px !important;
    max-height: 90px !important;
}



input.b24-form-control:focus,
textarea.b24-form-control:focus {
    outline: 1px solid var(--lightbrown) !important;
    border-bottom: 3px solid var(--lightbrown) !important;
}


.b24-form-control-container {
    display: flex !important;
    flex-flow: column !important;
    justify-content: flex-start !important;
}

.b24-form-control+.b24-form-control-label,
.b24-form-control:focus+.b24-form-control-label,
.b24-form-control-not-empty+.b24-form-control-label {
    position: relative !important;
    order: 1 !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    white-space: unset !important;
    transform: none !important;
    font-size: 14px !important;
    line-height: 100% !important;
    font-weight: 500 !important;
    color: var(--darkbrown) !important;
    display: inline-block !important;
    margin-bottom: 3px !important;
    opacity: 1 !important;
    overflow: unset !important;
}

.b24-form-control-container textarea,
.b24-form-control-container input:not([type='checkbox']) {order: 2;}

.b24-form-control-label {font-family: "Montserrat", sans-serif !important;}
.b24-form-control-required {color: var(--lightbrown) !important;}


.b24-form-field, 
.b24-form-field.b24-form-control-alert {margin-bottom: 10px !important;}

.b24-form-dropdown {
    position: absolute !important;
    bottom: 0 !important;
    width: 100% !important;
}
.b24-form-icon-before, 
.b24-form-icon-after {height: 35px !important;}
.b24-form-control-list .b24-form-icon-remove {
    right: -2px !important;
    top: 15px !important;
}

.b24-form-control-alert.b24-form-control-string .b24-form-control {
    border-color: transparent !important;
    outline: 1px solid var(--lightbrown) !important;
}
.b24-form-control-alert-message {
    left: 20px !important;    
    top: 20px !important;    
    animation: none !important;
    background: var(--lightbrown) !important;
    font-family: "Montserrat", sans-serif !important;
}
.b24-form-control-alert-message::after {
    border: 3px solid var(--lightbrown) !important;
    border-top-color: transparent !important;
    border-right-color: transparent !important;
}

.b24-form-field:last-child {margin-bottom: 0;}


.b24-form-btn {
    width: 100% !important;
    min-height: auto !important;
    font-family: "Montserrat", sans-serif !important;
    padding: 10px !important;
    margin: 0 0 20px !important;
    border: none !important;
    border-radius: 0 !important;
    background: var(--lightbrown) !important;
    font-size: 16px !important;
    line-height: 100% !important;
    font-weight: 600 !important;
    text-align: center !important;
    color: #fff !important;
    transition: 320ms ease-out !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

@media screen and (min-width: 768px) {.b24-form-btn:hover {background: var(--darkbrown) !important;}}






.b24-form-field-agreement .b24-form-control-container {
    display: flex !important;
    flex-flow: row nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
}
.b24-form-field-agreement .b24-form-control-container input[type="checkbox"] {
    appearance: none;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    border: 1px solid #a6a6a6;
    border-radius: 0px;
    position: relative;
    cursor: pointer;
}

.b24-form-field-agreement .b24-form-control-container input[type="checkbox"]:checked {
    background-color: var(--lightbrown);
    border-color: var(--lightbrown);
}

.b24-form-field-agreement .b24-form-control-container input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 0;
    left: 6px;
    width: 6px;
    height: 12px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.b24-form-field-agreement .b24-form-control-container .b24-form-control-alert-message {top: 25px;}


.b24-form-wrapper.b24-form-border-bottom {border: none !important;}
.b24-form-sign {display: none !important;}



.b24-window-mounts .b24-window-popup {z-index: 9999999999; }
.b24-window-mounts .b24-window-overlay {z-index: 9999999999; background-color: transparent !important;}

