body{
  display: flex;
  flex-direction: column;
}

header {
  background-color: var(--md-sys-color-surface-container);
  color: var(--md-sys-color-on-surface);
  border-bottom: 1px solid var(--md-sys-color-outline);
  display: flex;
  padding: 1rem;
  align-items: center;
}

header p {
  border: 1px solid var(--md-sys-color-outline);
  padding: 0.5rem 1rem;
  margin-left: auto;
  border-radius: var(--md-sys-rounded-full);
}

main {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

#error-page-contents-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-5deg);
  height: 512px;
  width: 100%;
  padding: 0 50vw;
  box-sizing: content-box;
  background-color: var(--md-sys-color-error-container);
  display: flex;
  align-items: center;
  gap: 3rem;
  animation: shake 200ms linear 500ms 1;
}

#error-page-contents-wrapper img {
  width: clamp(128px, 30vw, 512px);
  margin-left: 5rem;
}

#error-description {
  display: flex;
  flex-direction: column;
  font-family: "Tapeworm";
  color: var(--md-sys-color-on-error-container);
  font-size: clamp(1rem, 2vw, 3rem);
}

#error-code{
  font-size: clamp(2rem, 6vw, 6rem);
  margin-bottom: clamp(1rem, 3vw, 3rem);
}

@media (max-width: 768px) {
  #error-page-contents-wrapper{
    flex-direction: column;
    justify-content: center;
  }

  #error-page-contents-wrapper img{
    margin-left: 0;
  }
}

@keyframes shake {
  0% {
    transform: translate(-50%, -50%) rotate(-5deg) translateX(0);
  }
  25% {
    transform: translate(-50%, -50%) rotate(-5deg) translateX(-20px);
  }
  50% {
    transform: translate(-50%, -50%) rotate(-5deg) translateX(20px);
  }
  75% {
    transform: translate(-50%, -50%) rotate(-5deg) translateX(-20px);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-5deg) translateX(0);
  }
}