JSFiddle - React, Tailwind, and code Playground

HTML

<body>
  <h1></h1>
  <div class="distribution-map">


    <button class="map-point" style="top:24%;left:26.5%">
      <div class="content">
        <div class="centered-y">
          <h2>Another</h2>
          <p>details</p>
          <iframe width="350" height="197" src="https://www.youtube.com/embed/5MgBikgcWnY" frameborder="0" allowfullscreen></iframe>
        </div>
      </div>
    </button>
    <button class="map-point" style="top:26%;left:49%">
      <div class="content">
        <div class="centered-y">
          <h2>Another</h2>
          <p>Details...</p>
        </div>
      </div>
    </button>
    <button class="map-point" style="top:27.3%;left:71.4%">
      <div class="content">
        <div class="centered-y">
          <h2>Another</h2>
          <p>Details...</p>
        </div>
      </div>
    </button>
    <button class="map-point" style="top:63.5%;left:31.5%">
      <div class="content">
        <div class="centered-y">
          <h2>Another one</h2>
          <p>Details...</p>
        </div>
      </div>
    </button>
    <button class="map-point" style="top:65%;left:56%">
      <div class="content">
        <div class="centered-y">
          <h2>another one</h2>
          <p>Details...</p>
        </div>
      </div>
    </button>
    <button class="map-point" style="top:68%;left:74%">
      <div class="content">
        <div class="centered-y">
          <h2>Another</h2>
          <p>Details...</p>
        </div>
      </div>
    </button>
  </div>

CSS

html color: #e5e5e5;
text-align: center;
font-family: "Roboto",
Helvetica,
sans-serif;

}
body {
  max-width: 1200px;
  margin: 20px auto;
  padding: 0 100px;
  overflow-x: hidden;
}
.description {
  max-width: 600px;
  margin: 0 auto;
  color: rgba(229, 229, 229, 0.7);
}
div,
img,
footer {
  position: relative;
  box-sizing: border-box;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 20px;
  text-transform: uppercase;
  font-family: "Roboto Condensed", Helvetica, sans-serif;
  font-weight: 300;
}
h1 {
  font-size: 36pt;
}
h2 {
  font-size: 24pt;
}
h3 {
  font-size: 18pt;
}
h4 {
  font-size: 16pt;
}
h5 {
  font-size: 14pt;
}
h6 {
  font-size: 12pt;
}
p {
  font-size: 12pt;
  margin-bottom: 12pt;
  margin-right: 12px;
  margin-left: 12px;
}
strong {
  font-weight: 900;
  font-family: "Roboto Condensed", Helvetica, sans-serif;
  color: #e5e5e5;
}
a {
  -webkit-transition: color 0.25s ease-in-out;
  transition: color 0.25s ease-in-out;
  font-family: "Roboto Condensed", Helvetica, sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  color: #dff3fd;
}
a:visited {
  color: #dff3fd;
}
li.active a,
a:hover,
a:active {
  color: #e5e5e5;
}
.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -50px;
  margin-left: -100px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.centered-y {
  position: inline-block;
  width: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.distribution-map {
  position: relative;
  width: 1190px;
  padding: 20px;
  box-sizing: border-box;
  margin: 0 auto;
}
.distribution-map > img {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 0;
}
.distribution-map .map-point {
  cursor: pointer;
  outline: none;
  z-index: 0;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  -webkit-transform: translate(-50%, -50%);
  transform:...