@tailwind base;
@tailwind components;
@tailwind utilities;
@import url('https://fonts.googleapis.com/css2?family=League+Gothic&display=swap');

html, body {
  font-family: 'Ubuntu', sans-serif;
  
  min-height: -webkit-fill-available;
  height: -webkit-fill-available;
  
  position: relative;
}

@media screen and (min-width: 1024px) {
  :root {
    --vh: 1vh;
  }
}

/*

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-200;
  }
}

*/


.husky {
  z-index: -1;
}

a {
  @apply no-underline transition-all duration-200;
}

.league-gothic {

  font-family: "League Gothic", serif;
  font-weight: 300;
  font-style: normal;
  @apply text-[10vw] md:text-[6vw] leading-[1.1];
  margin-left: -0.03em;
}

.league-gothic-400 {
  /* font-size: 15vw; */
  font-family: "League Gothic", serif;
  /* font-optical-sizing: auto; */
  font-weight: 100;
  font-style: normal;
  @apply tracking-tight text-[9vh] md:text-[10vw];
  line-height: .8;
  margin-left: -0.03em;
}

p + p {
  @apply mt-4;
}

.directory {
  @apply mb-4;
}

.inside {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), #0D3E64 0%, #011236 100%);
  transition: background-position 0.1s ease;
}

@keyframes slideIn {
  from {
    transform: translate(-50%, -100%);
    opacity: 0;
  }
  to {
    transform: translate(-50%, 0);
    opacity: 1;
  }
}

@keyframes slideOut {
  0% {
    transform: translate(-50%, 0);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -100%);
    opacity: 0;
  }
}

.notice {
  @apply px-6 p-3 rounded-full z-50;
  @apply transition-all duration-100 mb-6 text-center min-w-[300px] cursor-pointer;
  @apply fixed left-[50%] top-4;
  transform: translateX(-50%);
  animation: slideIn 0.5s ease-out forwards, slideOut 0.5s ease-out forwards 6s;
}

.notice--success {
  @apply notice;
  @apply bg-emerald-500 text-white;
}

.notice--alert {
  @apply notice;
  @apply bg-red-500 text-white;
}

/* Hamburger Menu Animation */
.hamburger {
  @apply relative w-10 h-10 cursor-pointer;
}

.hamburger-line {
  @apply absolute left-1/2 w-6 h-0.5 bg-white transform -translate-x-1/2 transition-all duration-500 ease-[cubic-bezier(0.68,-0.55,0.265,1.55)];
}

.hamburger-top {
  @apply hamburger-line top-3;
  transform: translateX(-50%) translateY(0) rotate(0);
}

.hamburger-middle {
  @apply hamburger-line top-5;
  transform: translateX(-50%) scaleX(1);
}

.hamburger-bottom {
  @apply hamburger-line top-7;
  transform: translateX(-50%) translateY(0) rotate(0);
}

.hamburger:hover .hamburger-line {
  @apply bg-blue-300;
}

.hamburger.active .hamburger-top {
  @apply top-5;
  transform: translateX(-50%) translateY(0) rotate(225deg);
}

.hamburger.active .hamburger-middle {
  transform: translateX(-50%) scaleX(0);
}

.hamburger.active .hamburger-bottom {
  @apply top-5;
  transform: translateX(-50%) translateY(0) rotate(-225deg);
}

.hamburger:hover .hamburger-top {
  transform: translateX(-50%) translateY(-1px) rotate(0);
}

.hamburger:hover .hamburger-bottom {
  transform: translateX(-50%) translateY(1px) rotate(0);
}

.hamburger.active:hover .hamburger-top {
  transform: translateX(-50%) translateY(0) rotate(225deg) scaleX(0.9);
}

.hamburger.active:hover .hamburger-bottom {
  transform: translateX(-50%) translateY(0) rotate(-225deg) scaleX(0.9);
}

@keyframes bounceIn {
  0% {
    transform: scale(0.3);
    opacity: 0;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.8;
  }
  70% {
    transform: scale(0.9);
    opacity: 0.9;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes bounceOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  20% {
    transform: scale(1.1);
    opacity: 0.8;
  }
  100% {
    transform: scale(0.3);
    opacity: 0;
  }
}

.menu {
  animation: bounceIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.menu.hidden {
  animation: bounceOut 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
