.vp-overlay{
  display:none;
  position:fixed;
  z-index:2147483000;
  inset:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.72);
  align-items:center;
  justify-content:center;
  padding:20px;
  box-sizing:border-box;
}
.vp-overlay.vp-visible{display:flex;}
.vp-modal{
  position:relative;
  width:min(600px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  background:#fff;
  border-radius:10px;
  box-shadow:0 15px 50px rgba(0,0,0,.35);
  box-sizing:border-box;
  animation:vp-in .25s ease-out;
}
.vp-close{
  border:0;
  background:transparent;
  cursor:pointer;
}
.vp-modal > .vp-close{
  position:absolute;
  top:8px;
  right:10px;
  width:38px;
  height:38px;
  z-index:2;
  font-size:30px;
  line-height:38px;
  color:#555;
  padding:0;
}
.vp-image-wrap{text-align:center;padding:24px 24px 0;}
.vp-image{display:block;max-width:100%;max-height:240px;width:auto;height:auto;margin:0 auto;border-radius:6px;}
.vp-content{padding:24px 30px 30px;text-align:center;}
.vp-content h2{margin:0 0 16px;font-size:28px;line-height:1.2;}
.vp-text{font-size:17px;line-height:1.55;margin:0 0 12px;}
.vp-text-secondary{font-size:15px;}
.vp-button{
  display:inline-block;
  margin-top:12px;
  padding:11px 22px;
  border-radius:5px;
  border:0;
  cursor:pointer;
  background:#333;
  color:#fff;
  font-size:15px;
}
@keyframes vp-in{
  from{opacity:0;transform:translateY(-12px) scale(.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
body.vp-no-scroll{overflow:hidden;}
@media(max-width:600px){
  .vp-overlay{padding:12px;}
  .vp-modal{max-height:calc(100vh - 24px);}
  .vp-image-wrap{padding:18px 18px 0;}
  .vp-image{max-height:170px;}
  .vp-content{padding:20px 18px 22px;}
  .vp-content h2{font-size:23px;}
  .vp-text{font-size:16px;}
}
