.divine-media {
  position: relative;
  display: block;
  overflow: hidden;
}

.divine-media__image {
  display: block;
  width: 100%;
  height: 100%;
}

.divine-media--skeleton::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  pointer-events: none;
  background: linear-gradient(110deg, rgb(255 255 255 / 0.06), rgb(255 255 255 / 0.14), rgb(255 255 255 / 0.06));
  background-size: 200% 100%;
  opacity: 1;
  transition: opacity 180ms ease;
  animation: divine-media-skeleton 1.4s ease-in-out infinite;
}

.divine-media--skeleton.is-loaded::before {
  opacity: 0;
}

@keyframes divine-media-skeleton {
  from {
    background-position: 200% 0;
  }

  to {
    background-position: -200% 0;
  }
}
