/* General Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Body Styling */
body {
  font-family: 'Arial', sans-serif;
  color: #000;
  overflow: hidden;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #121212;
}

#fluid {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
}
/* Animated Background */
.background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, hsl(250, 40%, 16%), hsl(230, 20%, 5%), hsl(230, 40%, 16%), hsl(250, 70%, 16%));/*
  background: linear-gradient(45deg, #ff9a9e, #fad0c4, #fbc2eb, #a18cd1);*/
  background-size: 150% 150%;
  animation: gradientAnimation 8s infinite;
  z-index: -1;
}

@keyframes gradientAnimation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Container Styling */
.container {
  text-align: center;
  max-width: 800px;
  animation: fadeInSlide 1.5s ease-out;
  overflow: visible;
}

@keyframes fadeInSlide {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Animated Text */
.animated-text {
  font-size: 2.5rem;
  font-weight: bold;/*
  background: linear-gradient(to right, #ffdd57, #ffd700, #ffa500);*/
  background-clip: text;
  color: transparent;
  animation: lights 5s 750ms linear infinite;
}

@keyframes lights {
  0% {
    color: hsl(230, 40%, 80%);
    text-shadow:
      0 0 1em hsla(320, 100%, 50%, 0.2),
      0 0 0.125em hsla(320, 100%, 60%, 0.3),
      -1em -0.125em 0.5em hsla(40, 100%, 60%, 0),
      1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
  
  30% { 
    color: hsl(230, 80%, 90%);
    text-shadow:
      0 0 1em hsla(320, 100%, 50%, 0.5),
      0 0 0.125em hsla(320, 100%, 60%, 0.5),
      -0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2),
      0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
  }
  
  40% { 
    color: hsl(230, 100%, 95%);
    text-shadow:
      0 0 1em hsla(320, 100%, 50%, 0.5),
      0 0 0.125em hsla(320, 100%, 90%, 0.5),
      -0.25em -0.125em 0.125em hsla(40, 100%, 60%, 0.2),
      0.25em 0.125em 0.125em hsla(200, 100%, 60%, 0.4);
  }
  
  70% {
    color: hsl(230, 80%, 90%);
    text-shadow:
      0 0 1em hsla(320, 100%, 50%, 0.5),
      0 0 0.125em hsla(320, 100%, 60%, 0.5),
      0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2),
      -0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
  }
  
  100% {
    color: hsl(230, 40%, 80%);
    text-shadow:
      0 0 1em hsla(320, 100%, 50%, 0.2),
      0 0 0.125em hsla(320, 100%, 60%, 0.3),
      1em -0.125em 0.5em hsla(40, 100%, 60%, 0),
      -1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
  }
}

@keyframes textGlow {
  from {
    text-shadow: 0 0 5px #ffd700, 0 0 10px #ffa500;
  }
  to {
    text-shadow: 0 0 20px #ffd700, 0 0 30px #ffa500;
  }
}

/* Sub-text */
.sub-text {
  margin-top: 5vh;
  font-size: 1.5rem;
  opacity: 0.8;
  animation: fadeIn 2s ease forwards;/*, vibrate-3 0.5s linear 2.5s infinite both;*/
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes vibrate-3 {
  0% {
    transform: translate(0);
  }
  10% {
    transform: translate(-2px, -2px);
  }
  20% {
    transform: translate(2px, -2px);
  }
  30% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(2px, 2px);
  }
  50% {
    transform: translate(-2px, -2px);
  }
  60% {
    transform: translate(2px, -2px);
  }
  70% {
    transform: translate(-2px, 2px);
  }
  80% {
    transform: translate(-2px, -2px);
  }
  90% {
    transform: translate(2px, -2px);
  }
  100% {
    transform: translate(0);
  }
}

/* Contact Button - Fixed to Bottom-Right */
.contact-button {
  position: fixed;
  bottom: 5vh;
  right: 5vh;
  display: inline-block;
  padding: 10px 20px;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  background: #fff;
  text-decoration: none;
  border-radius: 25px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  animation: fadeInSlide 1.5s ease-out, bounce 1.5s 1.5s infinite;
  transition: transform 0.3s ease, background 0.3s ease;
}

.contact-button:hover {
  transform: scale(1.1);
  background: #ffd700;
  color: #fff;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

/* Footer */
footer {
  position: fixed;
  bottom: 10px;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 0.9rem;
  animation: fadeIn 3s ease forwards;
    }
