@font-face {
  font-family: 'Miguer';
  src: url('/resources/fonts/miguer-sans.otf');
}

@keyframes blink {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

body {
  font-family: Miguer, Arial, sans-serif;
  color: white;
  text-align: center;
  background: black;
  margin: 60px;
}

.gradient-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  filter: hue-rotate(50deg) opacity(.2);
}

.error-code, 
.title:hover {
  .dots {
    animation: blink 1s infinite;
  }
}

p {
  font-family: Arial, sans-serif;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  border: none;
  cursor: pointer;
  backdrop-filter: blur(50px);
  color: white;
  transition: 250ms;
  background: 
    linear-gradient(to right, rgba(255, 255, 255, 0.15)),
    linear-gradient(to right, rgba(255, 255, 255, 0.7));
  background-size: 100% 0.15em, 0 0.15em;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
}

button:hover {
  background-color: rgba(255, 255, 255, 0.2);
  background-size: 0 0.15em, 100% 0.15em;
}

button:active {
  transition: 35ms;
  background-color: rgba(255, 255, 255, 0.6);
}

.title {
  text-align: left;
}

.link {
  color: rgba(255, 255, 255, 0.8);
  
  background: 
    linear-gradient(to right, rgba(255, 255, 255, 0.15)),
    linear-gradient(to right, rgba(255, 255, 255, 0.7));
  background-size: 100% 0.05em, 0 0.05em;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: 250ms;
  padding-bottom: 3px;
}

.link:hover {
  color: rgba(255, 255, 255, 0.3);
  background-size: 0 0.05em, 100% 0.05em;
}