@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=VT323&display=swap');

* {
  font-family: "Urbanist", serif !important;
  font-size: 20px;
  color: #FFF;
}

/* frames */

@keyframes x {
  0% { width: 0; }
  50% { width: calc(50% - 30px); }
  75% { width: calc(50% - 30px); }
  100% { width: 0; }
}
@keyframes y {
  0% { height: 0; }
  50% { height: calc(50% - 30px); }
  75% { height: calc(50% - 30px); }
  100% { height: 0; }
}
@keyframes fade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes spin {
  0% { transform: rotate(0deg) translateX(200px) rotate(0deg); }
  100% {transform: rotate(360deg) translateX(200px) rotate(-360deg); }
}
@keyframes size {
  0% { transform: scale(0); }
  100% { transform: scale(1); }
}

/* tags */

body {
  background: #000;
  margin: 0;
}
main {
  opacity: 0;
  animation: fade 3s forwards;
  animation-delay: 2s;
}

/* classes */

.load,
.menu,
.fill {
  position: fixed;
  z-index: 10;
  margin: auto;
}
.load {
  background: #FFF;
}
.menu {
  cursor: pointer;
  text-decoration: none;
}
.fill {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.hide {
  display: none;
}

/* ids */

#noise {
  background: url('img/noise.gif');
  background-size: 200px;
  pointer-events: none;
  opacity: 0.1;
}
#light {
  width: 500px;
  height: 500px;
  z-index: 0;
  background: #651FFF;
  border-radius: 50%;
  filter: blur(100px);
  animation: spin 20s infinite;
}

#top,
#bottom {
  width: 100%;
  left: 0;
  right: 0;
  animation: y 2s forwards;
}
#top {
  top: 0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#bottom {
  bottom: 0;
  clip-path: polygon(0 100%, 100% 100%, 50% 0);
}
#left,
#right {
  height: 100%;
  top: 0;
  bottom: 0;
  animation: x 2s forwards;
}
#left {
  left: 0;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#right {
  right: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}

#json {
  font-family: "VT323", serif !important;
  max-width: 350px;
  max-height: 350px;
  background: #FFF;
  border: none;
  border-radius: 10px;
  padding: 10px;
  color: #000;
  animation: size 1s forwards;
}

#about {
  top: 30px;
  left: 30px;
}
#work {
  top: 30px;
  right: 30px;
}
#email {
  bottom: 30px;
  right: 30px;
}
#link {
  bottom: 30px;
  left: 30px;
}
#name,
#text {
  width: fit-content;
  height: fit-content;
  font-size: 125px;
  animation: fade 3s forwards;
}