/* МОДАЛЬНЫЕ ОКНА И ВЫЕЗЖАЮЩИЕ СБОКУ ПАНЕЛИ */
body.no-scroll { overflow:hidden; }
.modal-wrap {
	position:fixed; top:0px; left:0px; width:100%; height:100%; overflow:auto;
	z-index:100005; visibility:hidden; background:none; transition:background 0.5s;
}
.modal-wrap.show { background:#222; background:rgba(0,0,0,0.7); }
.modal-wrap.show, .modal-wrap.show > .modal-box { opacity:1; visibility:visible; transform:translateY(0px); }
.modal-box {
	position:absolute; visibility:hidden; z-index:1; width:600px; max-width:100%; top:0px; left:0px; right:0px; bottom:auto; overflow:auto;
	margin:50px auto 0px auto; padding:10px; background-color:#fff; box-shadow:0 5px 15px rgba(0,0,0,.5); 
	border:1px solid rgba(0,0,0,.2); border-radius:6px; transition:all 0.5s; transform:translateY(-100px); opacity:0;
}
.modal-box.modal-lg { width:800px; }
.modal-box.modal-xl { width:1000px; }
.modal-box img { max-width:100%; }
.modal-wrap > .modal-box { display:block!important; }
.modal-box > .modal-header { margin:-10px -10px 0px -10px; padding:10px; border-bottom:1px solid #e5e5e5; min-height:40px; display:block; }
.modal-box a.close {
	position:absolute; display:inline-block; top:2px; right:10px; text-decoration:none;
	color:#000; opacity:.5; filter:alpha(opacity=50); cursor:pointer; font-size:40px; font-family:Arial, sans-serif;
}
.modal-box a.close:hover { opacity:1; filter:alpha(opacity=100); }
.modal-box.modal-light { padding:0px; border-radius:0px; border:none; overflow:initial; }
.modal-box.modal-light a.close { color:#fff; right:-25px; top:-25px; }
.modal-box.modal-vcenter { position:relative; margin-top:0px; }

div:not(.modal-wrap) > .modal-toleft, div:not(.modal-wrap) > .modal-toright { display: none; }
.modal-toleft, .modal-toright {
  margin: 0px; padding: 0px; border:none; width:700px; box-shadow:none; border-radius:0px; opacity:1; visibility:visible; transition-duration:1s;
}
.modal-toleft { transform: translateX(110%); left:auto; right:0px; height: 100%; }
.modal-toright { transform: translateX(-110%); right:auto; left:0px; height: 100%; }
body.elementor-editor-active .modal-toleft, body.elementor-editor-active .modal-toright { display: block; max-width: 600px; height: auto; transform: none; }
.modal-toleft .popup-title, .modal-toright .popup-title { margin-top:0px; }
.modal-toleft .popup-content, .modal-toright .popup-content { padding:50px; color: #000; }
.modal-wrap.show .modal-toleft, .modal-wrap.show .modal-toright { transform: translateX(0%) }
.modal-toleft.modal_is_img a.close { right:auto; left:20px; color:#fff; opacity:1; }
.modal-toright.modal_is_img a.close { right:20px; color:#fff; opacity:1; }
.modal-toleft .modal-title > img, .modal-toright .modal-title > img { 
    display: block; position: relative; max-width: initial; height: auto; width: 100%;
}
.modal-toleft p, body .modal-toleft.is-layout-flex > p { margin-top: 15px; }
.modal-box.modal-toleft a.close { color: #fbff48; opacity: 1; }
.modal-popup { padding:0px; border:none; transition-duration:1s; }
.modal-popup .popup-content { padding:30px; }
.modal-popup .modal-header { margin:0px; padding-left:30px; padding-right:30px; }
@media (max-width:768px) {
	.modal-toleft .popup-content, .modal-toright .popup-content { padding:20px; }
}

/* модаль обратный звонок */
.row { display:flex; }
.pum-theme-lightbox .pum-container { border:none; border-radius:40px; }
.pum-theme-lightbox .pum-content { font-weight:300; }
.pum-theme-lightbox .pum-content + .pum-close {
	top: 20px; right: 15px; background: #fff !important; color: #000 !important;  box-shadow: none; font-size: 40px; opacity:0.5; 
}
.pum-theme-lightbox .pum-content + .pum-close:hover { opacity:1; }
.pum-modal { padding:30px; }
.pum-modal h2 { margin:0px 0px 30px 0px; font-size:30px; }
.pum-modal .modal-phone { font-size:24px; }
.pum-modal label { display: block; text-align: center; font-weight: 500; font-size: 18px; margin-top:30px; }
.pum-modal .wpcf7-text, .modal .wpcf7-tel {
	display:block; width:100%; margin-top:5px; height:65px; line-height:65px; text-align:center; border:1px solid #ccc; border-radius:10px; font-size:18px;
}
.pum-modal .btn-submit { position:relative; margin-top:40px; width: 100%; margin-bottom: 10px; }
.pum-modal .btn-submit p { margin: 0px; }
.btn-submit button {
	font-size: 18px; line-height: 24px; padding: 20px 57px; background: #1f1e49; 
	border-radius: 52px; width: 100%; color: #fff; text-align: center; border: none;
	box-shadow: 0 25px 40px rgba(0, 0, 0, .15); cursor: pointer; position: relative;
}
.btn-submit .flare {
	width: 100%; height: 100%; border-radius: 136px; overflow: hidden;
    position: absolute; top: 0; left: 0; z-index: 99;
}
.btn-submit .flare:before {
    content: ""; position: absolute; top: -50%; right: -50%; bottom: -50%; left: -50%;
    background: -webkit-gradient(linear, left top, left bottom, from(#e5ac8e), color-stop(50%, #fff), to(#e5ac8e));
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(229, 172, 142, 0)), color-stop(50%, rgba(255, 255, 255, .7)), to(rgba(229, 172, 142, 0)));
    background: -webkit-linear-gradient(top, rgba(229, 172, 142, 0), rgba(255, 255, 255, .7) 50%, rgba(229, 172, 142, 0));
    background: -o-linear-gradient(top, rgba(229, 172, 142, 0), rgba(255, 255, 255, .7) 50%, rgba(229, 172, 142, 0));
    background: linear-gradient(to bottom, rgba(229, 172, 142, 0), rgba(255, 255, 255, .7) 50%, rgba(229, 172, 142, 0));
    -webkit-transform: rotateZ(60deg) translate(-5em, 7.5em);
    -ms-transform: rotate(60deg) translate(-5em, 7.5em);
    transform: rotateZ(60deg) translate(-5em, 7.5em);
    opacity: 0; filter: alpha(opacity=0); -webkit-animation: sheens 3s infinite; animation: sheens 3s infinite
}
.btn-submit .wpcf7-spinner { position:absolute; left:40%; top:10%; }
@keyframes sheens {
    0%, 79% {
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-transform: rotateZ(60deg) translate(-5em, 7.5em);
        transform: rotateZ(60deg) translate(-5em, 7.5em)
    }
    80% {
        opacity: 1;
        filter: alpha(opacity=100);
        -webkit-transform: rotateZ(60deg) translate(-5em, 7.5em);
        transform: rotateZ(60deg) translate(-5em, 7.5em)
    }
    95% {
        opacity: 1;
        filter: alpha(opacity=100);
        -webkit-transform: rotateZ(60deg) translate(1em, -11em);
        transform: rotateZ(60deg) translate(1em, -11em)
    }
    100% {
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-transform: rotateZ(60deg) translate(1em, -9em);
        transform: rotateZ(60deg) translate(1em, -9em)
    }
}
@media (min-width:768px) {
	.row > .col-6 { width:50%; }
	.pum-modal { width: 900px; }
}
@media (max-width:767px) {
	.pum-modal img { display: none; }
	.pum-modal .row { display: block; }
	.pum-modal .row > .col-6 { width: 100%; max-width: initial; } 
}
/* /модаль звонка */
