<!------------ Bootstrap Start ------------>
<div class="container">
  <div class="row">
    <div class="col-md-12">
      <!------------ Component Start ------------>

      <div class="BornHS__Wrapper">
        <!------------ Image Start ------------>
        <figure>
          <img class="img-fluid" src="https://images7.alphacoders.com/548/thumb-1920-548306.jpg" alt="">
        </figure>
        <!------------ Image End -------------->

        <!------------ HotSpot Wrapper Start ------------>
        <div class="BornHS__Modal">

          <!------------ HotSpot Input Start ------------>
          <div class="BornHS__Modal__Input">
            <input type="checkbox" id="H1" name="HotSpot" class="BornHS__Input" style="left: 10%; top: 15%;">
            <label for="H1" class="BornHS__Label" style="left: 10%; top: 15%;"></label>
            <label for="H1" class="BornHS__Overlay"></label>
            <!------------ Content Start ------------>
            <div class="BornHS__Modal__Content" style="left: 13%; top: 20%;">
              <div class="Content__Wrapper">
                <label for="H1" class="BornHS__Close"></label>
                <h3 class="BornHS__Title">Popup Title</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia pariatur laudantium deserunt minima delectus illum dolor!</p>
              </div>
            </div>
            <!------------ Content End -------------->
          </div>
          <!------------ HotSpot Input End -------------->

          <!------------ HotSpot Input Start ------------>
          <div class="BornHS__Modal__Input">
            <input type="checkbox" id="H2" name="HotSpot" class="BornHS__Input" style="left: 80%; top: 45%;">
            <label for="H2" class="BornHS__Label" style="left: 80%; top: 45%;"></label>
            <label for="H2" class="BornHS__Overlay"></label>
            <!------------ Content Start ------------>
            <div class="BornHS__Modal__Content" style="right: 20%; top: 50%;">
              <div class="Content__Wrapper">
                <label for="H2" class="BornHS__Close"></label>
                <h3 class="BornHS__Title">Popup Title</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia pariatur laudantium deserunt minima delectus illum dolor!</p>
              </div>
            </div>
            <!------------ Content End -------------->
          </div>
          <!------------ HotSpot Input End -------------->

          <!------------ HotSpot Input Start ------------>
          <div class="BornHS__Modal__Input">
            <input type="checkbox" id="H3" name="HotSpot" class="BornHS__Input" style="left: 60%; top: 80%;">
            <label for="H3" class="BornHS__Label" style="left: 60%; top: 80%;"></label>
            <label for="H3" class="BornHS__Overlay"></label>
            <!------------ Content Start ------------>
            <div class="BornHS__Modal__Content" style="right: 40%; bottom: 20%;">
              <div class="Content__Wrapper">
                <label for="H3" class="BornHS__Close"></label>
                <h3 class="BornHS__Title">Popup Title</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia pariatur laudantium deserunt minima delectus illum dolor!</p>
              </div>
            </div>
            <!------------ Content End -------------->
          </div>
          <!------------ HotSpot Input End -------------->
          
          

          <!------------ HotSpot Input Start ------------>
          <div class="BornHS__Modal__Input">
            <input type="checkbox" id="H4" name="HotSpot" class="BornHS__Input" style="left: 15%; top: 90%;">
            <label for="H4" class="BornHS__Label" style="left: 15%; top: 90%;"></label>
            <label for="H4" class="BornHS__Overlay"></label>
            <!------------ Content Start ------------>
            <div class="BornHS__Modal__Content" style="left: 20%; bottom: 10%;">
              <div class="Content__Wrapper">
                <label for="H3" class="BornHS__Close"></label>
                <h3 class="BornHS__Title">Popup Title</h3>
                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia pariatur laudantium deserunt minima delectus illum dolor!</p>
              </div>
            </div>
            <!------------ Content End -------------->
          </div>
          <!------------ HotSpot Input End -------------->

        </div>
        <!------------ HotSpot Wrapper End -------------->

      </div>
      <!------------ HotSpot Wrapper End -------------->

    </div>
    <!------------ Component End -------------->
  </div>
</div>
</div>
<!------------ Bootstrap End -------------->
.BornHS__Wrapper {
  position: relative;

  .BornHS__Close {
    display: none;
  }
  .Content__Wrapper {
    position: relative;
  }

  .BornHS__Modal__Content {
    background: #131313;
    border-radius: 5px;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.22);
    color: #fff;
    opacity: 0;
    position: absolute;
    transition: all 0.3s ease-in-out;
    visibility: hidden;
    width: 360px;
    z-index: 4;
    .Content__Wrapper {
      padding: 20px;
      .BornHS__Title {
        font-size: 16px;
        text-transform: uppercase;
      }
      p {
        font-size: 13px;
        margin: 0;
        padding: 0;
      }
    }
  }

  .BornHS__Input {
    height: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    text-indent: -9999px;
    width: 0;
    z-index: -1;
    + .BornHS__Label {
      background: #ec2256;
      border-radius: 50%;
      cursor: pointer;
      height: 20px;
      position: absolute;
      transition: all 300ms ease;
      width: 20px;
      z-index: 2;
      @media (min-width: 768px) {
        height: 30px;
        width: 30px;
      }
      &:before,
      &:after {
        background: #fff;
        content: "";
        cursor: pointer;
        display: block;
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
      }

      &:before {
        height: 2px;
        width: 40%;
      }
      &:after {
        height: 40%;
        width: 2px;
      }
    }
    ~ .BornHS__Overlay {
      display: none;
      height: 100%;
      left: 0;
      position: absolute;
      width: 100%;
      top: 0;
      z-index: 3;
    }
    &:checked {
      + .BornHS__Label {
        transform: rotate(45deg);
      }
      ~ .BornHS__Modal__Content {
        opacity: 1;
        visibility: visible;
      }
      ~ .BornHS__Overlay {
        display: block;
      }
    }
  }
  &.BornHS__Blur {
    figure {
      -webkit-filter: blur(2px);
      -moz-filter: blur(2px);
      -o-filter: blur(2px);
      -ms-filter: blur(2px);
      filter: blur(2px);
    }
    .BornHS__Input {
      display: none;
      + .BornHS__Label {
        opacity: 0.5;
        pointer-events: none;
      }
      &:checked {
        display: inline-block;
        + .BornHS__Label {
          opacity: 1;
          pointer-events: auto;
        }
      }
    }
  }
}

.BornHS__Modal {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 1;
}

@media (max-width: 768px) {
  .BornHS__Wrapper {
    .BornHS__Modal__Content {
      bottom: auto !important;
      left: 50% !important;
      top: 50% !important;
      transform: translate(-50%, -50%) !important;

      .BornHS__Close {
        background: #ec2256;
        border-radius: 50%;
        cursor: pointer;
        display: block;
        height: 20px;
        right: -5px;
        position: absolute;
        top: -5px;
        transition: all 300ms ease;
        transform: rotate(45deg);
        width: 20px;
        z-index: 5;

        &:before,
        &:after {
          background: #fff;
          content: "";
          cursor: pointer;
          display: block;
          left: 50%;
          position: absolute;
          top: 50%;
          transform: translate(-50%, -50%);
        }

        &:before {
          height: 2px;
          width: 40%;
        }
        &:after {
          height: 40%;
          width: 2px;
        }
      }
    }
  }
}
View Compiled
$('.BornHS__Input').change(function(){
    if($(this).is(":checked")) {
        $('.BornHS__Wrapper').addClass("BornHS__Blur");
    } else {
        $('.BornHS__Wrapper').removeClass("BornHS__Blur");
    }
});

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js