.needpopup-opened,.needpopup-opened body{overflow:hidden}
.needpopup-opened.needpopup-scrolled,.needpopup-opened.needpopup-scrolled body{height:auto;}
.needpopup-opened.needpopup-scrolled body{position:fixed;  border:2px solid blue; width:100%}


.needpopup_wrapper{position:fixed;z-index:9999999999999999;top:0;left:0;visibility:hidden; -webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;padding:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;opacity:0;background:#000;background:rgba(0,0,0,.8); cursor:auto}


.needpopup-opened .needpopup_wrapper{visibility:visible;opacity:1}
 

.needpopup {position:relative;z-index:9999; top:50%;left:50%; display:none;-webkit-box-sizing:border-box;box-sizing:border-box; width:90%; max-width:500px;   opacity:0;background:#fff; min-height:200px; }
 
.pop_wrap { display:inline-block; width:100%; height:100%; max-height:60vh; padding:35px; padding-top:50px;  box-sizing:border-box; overflow-y:auto;  }

.needpopup.opened {opacity:1; top:50%; left:50%; transform:translate(-50%, 0);}

.needpopup.stacked{top:0!important;margin-top:0!important}
.needpopup-overflow .needpopup{left:0;width:auto;margin-left:0}

.needpopup .needpopup_remover{top:30px; right:30px; position:absolute; font-size:30px; font-weight:200; color:#111; border:1px solid #111; width:25px; height:25px; display:flex; align-items:center; justify-content:center; border-radius:5px; background-color:#fff; cursor:pointer}
.needpopup .needpopup_remover:hover{color:#ccc}
.needpopup_remover:before{content:'×';  margin-bottom:4px}

    
.needpopup h3 {font-size:1.3em; margin-bottom:10px;  }
 

@media screen and (max-width:900px) {
 
		.pop_wrap {padding:20px} 
		.needpopup .needpopup_remover{  right:20px;  top:20px}
 
}










 