@keyframes move {
  0% { background-position: 0 0; }
  100% { background-position: -15vmin 0; }
}

:root {
  background: #ccc;
  margin: 0;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4vmin;
  
  &::before, &::after {
    content: "";
    width: 60vmin;
    height: 15vmin;
    display: block;
    background: 
      linear-gradient(90deg, #fff, #777 20% 30%, #fff 50%, #000 0, #777 70% 80%, #000) 0 0 / 15vmin 100%;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    animation: move 0.75s linear infinite;
  }

  &::after {
    animation-timing-function: steps(4,end);
  }
}
