body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: Arial, sans-serif;
    background: #ffffff; /* Background color */
}

.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
}

h2 {
       text-align: center;
       font-size: 1.3em;
       color: rgb(2, 2, 2); 
    }

h3 {
       text-align: center;
       font-size: 0.9em;
       color: rgb(43, 43, 43); 
    }

.logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.background-animation {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: white;
    padding: 2.5em;
    border-radius: 25px;
    transition: .4s ease-in-out;
    box-shadow: rgba(0, 0, 0, 0.4) 1px 2px 2px;
    margin-bottom: 20px;
  }
  
  .form:hover {
    transform: translateX(-0.5em) translateY(-0.5em);
    border: 1px solid #171717;
    box-shadow: 5px 5px 0px #666666;
    margin-bottom: 20px;
  }
  
  .heading {
    color: black;
    padding-bottom: 2em;
    text-align: center;
    font-weight: bold;
  }
  
  .input {
    border-radius: 5px;
    border: 1px solid whitesmoke;
    background-color: whitesmoke;
    outline: none;
    padding: 0.7em;
    transition: .4s ease-in-out;
  }
  
  .input:hover {
    box-shadow: 6px 6px 0px #969696,
               -3px -3px 10px #ffffff;
  }
  
  .input:focus {
    background: #ffffff;
    box-shadow: inset 2px 5px 10px rgba(0,0,0,0.3);
  }
  
  .form .btn {
    margin-top: 2em;
    align-self: center;
    padding: 0.7em;
    padding-left: 1em;
    padding-right: 1em;
    border-radius: 10px;
    border: none;
    color: black;
    transition: .4s ease-in-out;
    box-shadow: rgba(0, 0, 0, 0.4) 1px 1px 1px;
  }
  
  .form .btn:hover {
    box-shadow: 6px 6px 0px #969696,
               -3px -3px 10px #ffffff;
    transform: translateX(-0.5em) translateY(-0.5em);
  }
  
  .form .btn:active {
    transition: .2s;
    transform: translateX(0em) translateY(0em);
    box-shadow: none;
  }

.firefly {
    position: absolute;
    width: 8px; /* Subtler size */
    height: 8px;
    background-color: #398378;
    border-radius: 50%;
    box-shadow: 0 0 5px #3C3C3C; /* Softer glow */
    opacity: 0; /* Start invisible */
}

/* Positioning and animations for each firefly */
.firefly:nth-child(1) { 
    left: 10%;
    top: 20%;
    animation: fly1 10s ease-in-out infinite;
}
.firefly:nth-child(2) { 
    left: 70%;
    top: 30%;
    animation: fly2 12s ease-in-out infinite;
}
.firefly:nth-child(3) { 
    left: 50%;
    top: 10%;
    animation: fly3 11s ease-in-out infinite;
}
.firefly:nth-child(4) { 
    left: 30%;
    top: 50%;
    animation: fly4 9s ease-in-out infinite;
}
.firefly:nth-child(5) { 
    left: 80%;
    top: 60%;
    animation: fly5 8s ease-in-out infinite;
}
.firefly:nth-child(6) { 
    left: 15%;
    top: 75%;
    animation: fly6 14s ease-in-out infinite;
}
.firefly:nth-child(7) { 
    left: 60%;
    top: 85%;
    animation: fly7 13s ease-in-out infinite;
}
.firefly:nth-child(8) {
    left: 20%;
    top: 80%;
    animation: fly8 9s ease-in-out infinite;
}

/* Define keyframes for each firefly */
@keyframes fly1 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    25% { opacity: 1; }
    50% { transform: translate(50px, -100px); }
    75% { opacity: 0; }
}
@keyframes fly2 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    20% { opacity: 0.8; }
    40% { transform: translate(-120px, 50px); opacity: 0.5; }
    60% { transform: translate(100px, 200px); }
    80% { opacity: 0.8; }
    100% { opacity: 0; }
}
@keyframes fly3 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    30% { opacity: 1; }
    55% { transform: translate(-80px, -150px); }
    80% { opacity: 0; }
}
@keyframes fly4 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    25% { opacity: 1; }
    45% { transform: translate(120px, 100px); }
    70% { opacity: 0; }
}
@keyframes fly5 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    20% { opacity: 1; }
    40% { transform: translate(-100px, -120px); }
    65% { opacity: 0; }
}
@keyframes fly6 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    35% { opacity: 1; }
    60% { transform: translate(150px, 80px); }
    85% { opacity: 0; }
}
@keyframes fly7 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    28% { opacity: 1; }
    56% { transform: translate(-70px, 90px); }
    84% { opacity: 0; }
}
@keyframes fly8 {
    0%, 100% { transform: translate(0, 0); opacity: 0; }
    22% { opacity: 1; }
    44% { transform: translate(80px, -60px); }
    66% { opacity: 0; }
}


@keyframes box-animate {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.words-animation {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 85%;
    transform: translate(-50%, -50%);
    font-size: 1.5em;
    color: #096A2E;
}

.word {
    opacity: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    animation: fadeInOut 25s ease-in-out infinite;
}

#word1 { animation-delay: 0s; }
#word2 { animation-delay: 5s; }
#word3 { animation-delay: 10s; }
#word4 { animation-delay: 15s; }
#word5 { animation-delay: 20s; }

@keyframes fadeInOut {
    0%, 20%, 100% { opacity: 0; }
    10% { opacity: 1; }
}

.info-text {
    color: #333;
    font-size: 1em;
    display: inline-block;
    padding: 10px 20px;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    text-align: center;
    background-color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all 0.3s ease;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer; /* Changes cursor to indicate it's clickable */
}

.info-text:hover {
    background-color: rgba(255, 255, 255, 0.8); /* Slightly lighter background on hover */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Slightly larger shadow for depth */
}

.info-text a:hover {
    text-decoration: underline;
    transform: translateX(-50%) translateY(-5px) scale(1.05)
}