@font-face {
  font-family: "Matrix Symbols";
  src: url("./font/matrix.otf") format("opentype"),
       url("./font/matrix.ttf") format("truetype");
}

body,
html {
  margin: 0;
  padding: 0;
}

body {
  background: #000;
  color: #3f3;
  font-family: "Matrix Symbols";
  opacity: 0;
  overflow: hidden;
  transition: opacity 5s ease-in-out;
}

body.loaded {
  opacity: 1;
  transition: opacity 2s ease-in-out;
}

#the_matrix {
  display: flex;
  flex-wrap: wrap;
  height: 100vh;
  width: 100vw;
}

.column {
  display: flex;
  flex-direction: column;
  font-size: 4vw;
  height: 100vh;
  line-height: 3vw;
  text-align: center;
  text-shadow: 0 0 5px #dfd;
  transform: scaleX(-1);
  width: 2.5vw;
}

.cell {
  display: inline-block;
  height: 3.33vw;
  transition: all 500ms linear;
}
.cell.hidden {
  visibility: hidden;
}
.cell.last {
  color: #efe !important;
  opacity: 1 !important;
  text-shadow: -2px -2px 12px #cfc,
    -2px 2px 12px #cfc,
    2px -2px 12px #cfc,
    2px 2px 12px #cfc;
  transition: none !important;
}