.transition-overlay {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  width: 120%;
  height: 100%;
  z-index: 9999;
  pointer-events: none;
  transform: translateX(-7%);
}

.transition-column {
  flex: 1;
  transform: rotate(-12deg) translateY(-150%);
  transition: transform 0.6s ease-in-out;
  height: 150%;
}

.transition-column:nth-child(1) { background-color: red; }
.transition-column:nth-child(2) { background-color: black; }
.transition-column:nth-child(3) { background-color: grey; }
.transition-column:nth-child(4) { background-color: red; }
.transition-column:nth-child(5) { background-color: black; }
.transition-column:nth-child(6) { background-color: grey; }
.transition-column:nth-child(7) { background-color: red; }
.transition-column:nth-child(8) { background-color: black; }
.transition-column:nth-child(9) { background-color: grey; }

.transition-overlay.enter .transition-column {
  transform: rotate(-12deg) translateY(-25%);
}

.transition-overlay.exit .transition-column {
  transform: rotate(-12deg) translateY(150%);
}

.transition-column:nth-child(1) { transition-delay: 0s; }
.transition-column:nth-child(2) { transition-delay: 0.2s; }
.transition-column:nth-child(3) { transition-delay: 0.4s; }
.transition-column:nth-child(4) { transition-delay: 0.6s; }
.transition-column:nth-child(5) { transition-delay: 0.8s; }
.transition-column:nth-child(6) { transition-delay: 1.0s; }
.transition-column:nth-child(7) { transition-delay: 1.2s; }
.transition-column:nth-child(8) { transition-delay: 1.4s; }
.transition-column:nth-child(9) { transition-delay: 1.6s; }