body{
  opacity: 0;
  animation: fade-in 1s steps(8, end) forwards;
  animation-delay: 0.5s;
}

.wrapper{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 35px;
  height: 100vh;
}

.main{
  position: relative;
  display: flex;
  gap: 20px;
}

nav{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 42px;
}

a{
  position: relative;
  font-size: 1em;
  opacity: 0;
  animation: fade-in 0.5s steps(4, end) forwards;
}

a:hover{
  transform: translateX(-3px);
}

#keeper{animation-delay: 1.4s; left: 50px;}
#journal{animation-delay: 1.7s; left: 15px;}
#directory{animation-delay: 2s;}
#gallery{animation-delay: 1.7s; left: 15px;}
#voyage{animation-delay: 1.4s; left: 50px;}

aside, footer{
  position: relative;
  user-select: none;
  pointer-events: none;
}

footer, #clock{
  opacity: 0;
  animation: fade-in 1s steps(8, end) forwards;
  animation-delay: 2.3s;
}

footer > span{
  position: absolute;
  text-align: right;
  font-size: 0.8em;
  top: 48px;
  right: 65px;
}

#music-player{
  position: absolute;
  pointer-events: all;
  font-size: 0.8em;
  top: -5px;
  left: 90px;
}

#music-player:hover{
  transform: translateX(3px);
}

#clock{
  font-size: 0.8em;
  letter-spacing: 2px;
}

/* misc */

#halcalic{
  z-index: -1;
  top: -5px;
  right: -80px;
}

#frame-photo{
  z-index: 1;
  right: 0;
}

#frame{
  position: relative;
  z-index: 2;
}

#locket{
  z-index: 3;
  bottom: -10px;
  right: 15px;
}