@-webkit-keyframes flash {
  to {
    -webkit-transform: translateX(60em);
            transform: translateX(60em); /* line width shouldn’t be more than this */
  }
}

@keyframes flash {
  to {
    -webkit-transform: translateX(60em);
            transform: translateX(60em); /* line width shouldn’t be more than this */
  }
}

.img {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
  overflow: hidden;
  color: transparent;
  font-size: 1em;
  line-height: 0.875;
  border-radius: 4px
}

.img::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--manifold-grayscale-10);
    border-radius: 4px;
    content: '';
    pointer-events: none;
  }

.img::after {
    position: absolute;
    top: 0;
    right: 100%;
    width: 20em; /* derived from font size */
    height: 100%;
    background-image: linear-gradient(
      45deg,
      transparent 25%,
      var(--manifold-grayscale-100i),
      transparent 75%
    );
    opacity: 0.4;
    -webkit-animation-name: flash;
            animation-name: flash;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    content: '';
    pointer-events: none;
  }
