.responsive-video-poster {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.responsive-video-poster::before {
  display: block;
  content: "";
}

.responsive-video-poster--16by9::before {
  padding-top: 56.25%;
}

.video-overlay, .video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-overlay {
  z-index: 40;
  cursor: pointer;
  transition: all .3s ease-in;
  padding: 0;
  background: none;
}

.video-overlay.is-anim {
  opacity: 0;
}

.video-overlay.is-inactive {
  display: none;
}

.poster-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 30;
  padding: .5em;
  font-size: 2rem;
  line-height: .8;
  color: #fff;
  border-radius: 50%;
  background: #000;
  opacity: .8;
  transition: all .3s;
  pointer-events: none;
}

.video-overlay:hover .poster-btn {
  opacity: 1;
}

.poster-btn-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  fill: currentColor;
  stroke: currentColor;
}

.poster {
  position: relative;
  z-index: 20;
  max-width: 100%;
  height: auto;
  pointer-events: none;
}

.poster--cover, .poster--contain {
  width: 100%;
  height: 100%;
}

.poster--cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.poster--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.video {
  z-index: 10;
  background-color: #000;
}
