.lazy-wrapper {
  display: inline-block;
  position: relative;
  overflow: hidden;
  width: 100%;
  background: #353535;
}

.lazy-wrapper img.lazyload {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
  position: relative;
  z-index: 2;
}

.lazy-wrapper img.lazyloaded {
  opacity: 1;
}

.lazy-wrapper .placeholder {
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #80808000 5%, gray 35%, transparent);
  z-index: 1;
  height: 100%;
  width: 100%;
  animation: pulse-img 1.2s infinite linear;
  pointer-events: none;
}

@keyframes pulse-img {
  0%   { transform: translateX(-100%); }
  50%  { transform: translateX(0); }
  100% { transform: translateX(100%); }
}
