.imap{ 
    display:inline-block;
    background-size:100%;
    background-repeat: no-repeat;
    position:relative;
  }
  .imap-point{ top:0; left:0; position:absolute; cursor:pointer; }
  .imap-point > .sk-bounce{ --sk-color:#fff; }
  .imap-point .sk-bounce-dot{ box-shadow: 0 0 10px #999; }
  .i-point{
    top: 0;
    left: 0;
    position: absolute;
    width: 42px;
    height: 42px;
    background-color: #fff;
    border-radius: 50%;
    border: 2px solid #333;
  }
  .i-point.mark{
    background-image:url(https://meetmaps.com/images/res/platform/point.png);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background-color:transparent;
    border:0;
    cursor:pointer;
    background-color:1px solid #fff;
  } 

/* *** Modal *** */
.m-modal{ 
  display:none;
  z-index:3;
  position:fixed; 
  top:0; left:0; 
  width:100%; height:100vh; 
  background-color:rgba(0,0,0,0.5); 
}
.m-modal > .flex{ width:100%; height:100vh; justify-content:center; }
.modal-cont{ background-color:#fff; width:100%; max-width:620px; border-radius:5px; box-shadow:0 1px 6px #333; }
.modal-cont.md-s{ max-width:460px; }
.modal-cont.md-l{ max-width:860px; }
.modal-header{ background-color:#fff; display:flex; flex-flow:row nowrap; align-items:center; border-radius:5px 5px 0 0; border-bottom:1px solid #e2e2e2; padding-right:12px; }
.modal-header > i{ width:48px; min-width:48px; line-height:48px; text-align:center; cursor:pointer; font-size:16px; color:#777; }
.modal-title{ width:100%; font-weight:500; font-size:16px; color:#555; text-align:left; padding-left:30px; }
.modal-body-cont{ padding:25px; max-height:78vh; overflow:auto; }
.modal-footer{ display:flex; flex-flow:row nowrap; border-top:1px solid #e2e2e2; padding:12px 25px; justify-content:flex-end; align-items:center; }

.modal-text-title{ font-size:18px; color:#333; line-height:1.3em; font-weight:600; margin-bottom:4px; }
.modal-text{ font-size:16px; color:#333; line-height:1.3em; }
.modal-text-icon{ font-size:42px; color:#3498db; }

/* *** BUTTONS *** */
.button{ 
  display:inline-flex; 
  align-items:center;
  border:1px solid #3498db; 
  line-height:24px; 
  padding:4px 16px; border-radius:3px; /*margin:0 5px;*/ 
  cursor:pointer; 
  transition:0.2s; 
  user-select:none; 
  background-color:#fff;
  text-decoration:none;
}
.button.md-s{ padding:2px 10px; }
.button > i{ color:#3498db; font-size:12px; margin-right:8px; vertical-align:middle; }
.button.rv > i{ margin-left:0; margin-left:8px; }
.button > span{ color:#3498db; font-size:13px;vertical-align:middle; font-weight:500; }
.button.blue{ background-color:#3498db; border-color:#3498db; }
.button.blue > i, .button.blue > span{ color:#fff; }
.button.flat-red{ background-color:#fff; border-color:#e74c3c; }
.button.flat-red > i, .button.flat-red > span{ color:#e74c3c; }
.button.green{ background-color:#1abc9c; border-color:#1abc9c; }
.button.green > i, .button.green > span{ color:#fff; }

.button:hover{ box-shadow:0 0 1px 1px rgba(0, 0, 0,0.1); }
.button.dis{ background-color:#f8f8f8 !important; border-color:#e2e2e2 !important; }
.button.dis > i, .button.dis > span{ color:#bdbdbd !important; }
.button.dis:hover{ box-shadow:none; }

.imap-point-desc{ margin:8px 0 12px 0; font-size:14px; }
.imap-point-image{
  height:140px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center center;
  margin-bottom:12px;
  border-radius:3px;
}