/* General Styles */
body {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #042A57;
    height: 100vh;
    flex-direction: column;
    overflow: hidden;
}

/* Splash Screen Styles */
.splash-screen {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50%;
    box-sizing: border-box;
    gap: 40px; /* Space between the logo and the buttons */
}

/* Rainbow Ball Styles */
.rainbow-ball {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: linear-gradient(45deg, 
        #EF485F 0%,  /* Pink */
        #F58A20 16%, /* Orange */
        #FEDC27 33%, /* Yellow */
        #BAD538 50%, /* Green */
        #0588CC 66%, /* Blue */
        #895DA8 83%, /* Purple */
        #EF485F 100%  /* Back to Pink */
    );
    opacity: 0; /* Initially hidden */
}

/* Logo Image Styles */
.logo img {
    width: 100%; 
    max-width: 230px; 
    height: auto;
    display: block;
}

/* Button Container Styles */
.buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 80%;
    max-width: 400px;
}

/* Button Styles */
.login-button, .register-button, .guest-text {
    position: relative;
    transform: translateX(-150%); /* Start off-screen to the left */
    opacity: 0; /* Initially invisible */
}

.login-button, .register-button {
    display: block;
    width: 100%;
    padding: 18px 0; /* Remove left/right padding to prevent conflicts */
    font-size: 18px;
    text-align: center; /* Center text */
    border: 1px solid #F4F4F4;
    border-radius: 15px;
    box-sizing: border-box; /* Includes border and padding in width */
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
}

.login-button:hover, .register-button:hover {
    background-color: #002244; /* Dark background when hovered */
    color: white; /* White text when hovered */
    border-color: #ffcc00; /* Change border color on hover */
}

.login-button {
    background-color: #F4F4F4;
    color: #042A57;
}

.register-button {
    background-color: transparent;
    color: #F4F4F4;
}

/* Guest Text Styles */
.guest-text {
    margin-top: 18%;
    color: #F0F0F0;
    font-size: 14px;
    font-family: "Montserrat", sans-serif;
    font-weight: 500
}

.guest-text:hover {
    text-decoration: underline; /* Underline effect on hover */
}

/* Media Query for Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* Reduce padding for smaller screens */
    .splash-screen {
      padding: 10px;
    }
  
    /* Make the logo smaller */
    .logo img {
      max-width: 200px;
    }
  
    /* Buttons take up full width and reduce font size */
    .login-button, .register-button {
      width: 100%;
      font-size: 14px;
      padding: 12px;
    }
  
    /* Adjust guest text positioning */
    .guest-text {
      margin-top: 15px;
      font-size: 14px;
    }
  }
  
  /* Media Query for Tablets (max-width: 1024px) */
  @media (max-width: 1024px) {
    /* Optionally adjust for medium-sized screens (like tablets) */
    .splash-screen {
      padding: 15px;
    }
  
    .logo img {
      max-width: 250px; /* Slightly larger than for mobile */
    }
  
    .login-button, .register-button {
      width: 100%;
      font-size: 15px;
      padding: 14px;
    }
  }