@font-face {
    font-family: 'PTSans';
    src: url('assets/fonts/PT_Sans/PTSans-Regular.ttf') format('truetype');
    font-weight: normal;
}

@font-face {
    font-family: 'PTSans';
    src: url('assets/fonts/PT_Sans/PTSans-Bold.ttf');
    font-weight: bold;
}

@font-face {
    font-family: 'Righteous';
    src: url('assets/fonts/Righteous/Righteous-Regular.ttf') format('truetype');
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
    padding: 0;
    margin: 0;
}

body {
    background-color: #120C08;
}

header {
    display: flex;
    justify-content: space-between;
    background-color: #120C08;
    align-items: center;
    margin:0;
    top: 0;
    z-index: 1000;
    position: sticky;
    transition: background-color 0.3s ease-in-out;
}

header.scrolled {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    background-color: #120C08;
    
}   

.lockup {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.5rem;
    width: 8rem;
    transition: all 0.3s ease-in-out;
}

.lockup:hover {
    opacity: 0.8;
    transform: translateY(-2px);
}

nav {
    display: flex;
    align-items: center;
    gap: 2rem;
    color: #F6E9EA;
    margin: 0;
    padding: 0;
    font-family: 'PTSans';
    padding-block: 1rem;
}

.dropdown {
    position: relative;
    display: inline-block;
    font-size: 1.25rem;

}

.dropdown-toggle {
    /* cursor: pointer; */
    cursor:default;
    font-size: 1.25rem;
    color: #F6E9EA;
    letter-spacing: 0.05em;
    /* font-weight: bold; */
    transition: opacity 0.2s ease-in-out;
}

.dropdown-toggle:hover {
    opacity: 0.6;

}

.dropdown-menu {
    display: none;
    position: absolute;
    background-color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1;
    min-width: 150px;
}

.dropdown-menu a {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: black;

}

.dropdown-menu a:hover {
    background-color: #f0f0f0;
}

.dropdown:hover .dropdown-menu {
    display: block;
}

.nav-link {
    color: #F6E9EA;
    text-decoration: none;
    display: inline-block;
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    transition: opacity 0.2s ease-in-out;
}

.nav-link:hover {
    opacity: 0.6;
}

.nav-button {
    cursor: pointer;
    background-color:#6e3320;
    color: white;
    border-radius: 5px;
    border: none;
    padding: 0.5rem 1rem;
    min-width: 140px;
    height: auto; 
    display: inline-block;
    line-height: normal; 
    font-family: 'PTSans';
    margin-right: 1rem;
    transition: opacity 0.2s ease-in-out;
}

.nav-button:hover {
    opacity: 0.8;
}

.splash {
    width: 100%;
    opacity: 0.4;
}

main h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFF9F6;
    font-size: 4rem;
    text-align: center;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    font-family: 'Righteous';
    letter-spacing: 0.1rem;
    width: 100%;
}

main h2 {
    position: absolute;
    top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FBE3D7;
    font-size: 1.5rem;
    text-align: center;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    font-family: 'PTSans';
    font-weight: bold;
    letter-spacing: 0.1rem;
    width: 100%;
}

.recent-events {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 2rem;
    padding-block: 2rem;
    padding-inline: 1rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    font-family: 'PTSans';
}

.recent-events button {
    margin-top: 30px;
    min-width: 100px;
    font-size: 1.25rem;
    font-family: 'PTSans';
    letter-spacing: 0.05rem;
    align-self: center;
    justify-self: center;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    background-color: transparent;
    border: solid 2px #FBE3D7;
    color: #FBE3D7;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.recent-events button:hover {
    transform: translateY(-3px);
    opacity: 0.5;
}

.join .recent-events {
    max-width: 1300px;
    margin-top: 0;
}

.join .event-description h3 {
    justify-self: left;
    align-self: left;
}


.recent-events h3{
    justify-self: center;
    margin-block: 2rem;
    align-self: center;
    font-size: 2.5rem;
    font-weight: bold;
}

.recent-events.index h3, .subheading {
    color: #F4C9B2;
    letter-spacing: 0.1em;
    font-size: 1.5rem;
}

.home-columns {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    margin-top: 1rem;
}

.join .home-columns {
    display: flex;
    align-items: center;
    /* gap: 2rem; */
    max-width: 1300px
}

.join .event-poster {
    align-self: center;
}

.event-poster img {
    max-width: 350px;
    width: 100%;
}

.event-description {
    flex: 1;
}

.event-description a {
    text-decoration: none;
    color: rgb(207, 207, 207);
    transition: filter 0.2s ease-in-out;
}

.event-description a:hover {
    text-decoration: none;
    filter: brightness(1.4);
    
}

.event-description h4 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    color: #FEF2EB;
    opacity: 0.9;
}



.event-description p {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.5;
    color: rgba(254, 242, 235, 0.7); /* Matches FEFEF2EB @ 70% opacity */
    opacity: 1;
}

.event-description b {
    color: rgba(254, 242, 235, 0.9); /* 90% opacity */
}



.club-photo img {
    display: flex;
    max-width: 300px;
    width: 100%;
    justify-self: center;
    align-self: center;
}

/* ABOUT AVGE*/
.banner {
    position: relative;
    width: 100%;
    height: 160px; /* Adjust for desired thinness */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
}

.banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.5;
}

.banner h1 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #FFF9F6;
    font-size: 2.5rem;
    font-family: 'Righteous', 'PTSans', sans-serif;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    margin: 0;
    letter-spacing: 0.05em;
}

.about-columns, .about h3, .join {
    display: block;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.join h3, .about h3, .current h3, .eboard h3, .alumni h3 {
    color: #FEF2EB;
    opacity: 0.9;
    margin-bottom: 20px;
    font-family: "PTSans";
    font-size: 2rem;
}

.join p {
    font-size: 1.1rem;
    color: #e6d9d1;
    opacity: 0.8;
    font-family: 'PTSans';
}

.join p a {
    color: white;
    transition: opacity 0.2s ease-in-out;
}

.join p a:hover {
    opacity: 0.7;
}

.about-columns {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: left;
    gap: 20px;
    text-align: left;
}

.support.about-columns {
    align-items: start;
}

h3 .subheading{
    color: #F4C9B2;
    letter-spacing: 0.1em;
    font-size: 1.5rem;
}


.about-columns p {
    max-width: 550px;
    color: #FEF2EB;
    opacity: 0.8;
    font-family: "PTSans";
    font-size: 1.1rem;
    font-weight: normal;
}

.about-columns a {
    color: #FEF2EB;
    transition: opacity 0.2s ease-in-out;
}

.about-columns a:hover {
    opacity: 0.7;
}

.about-columns img {
    max-width: 450px;
}

/* "Spring 2025 Season" */
h3.subheading {
    font-size: 1.5rem;
    color: #F4C9B2;
    letter-spacing: 0.1em;
    font-size: 1.5rem;
}


.join > h3,
    .join > p {
    margin-inline: 1rem; /* or your preferred value */
    }

.main-layout {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    max-width: 1300px;
    margin: 0 auto;
    /* padding: 2rem 1rem; */
    font-family: 'PTSans';
    color: #FEF2EB;
}

aside {
    font-family: 'PTSans';
    width: 220px;
    color: #FEF2EB;
    border-radius: 10px;
    padding: 1.5rem 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    position: sticky;
    top: 100px;
    height: fit-content;
    margin-right: 50px;
}

aside h3 {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

aside a {
    text-decoration: none;
    color: #FEF2EB;
}

aside ul {
    margin-top: 20px;
    list-style: none;
    font-size: 1.25rem;
}

aside li {
    margin-block: 20px;
}

aside ul li a {
    color: #8e8e8e; /* Inactive: grey */
    transition: color 0.2s;
}

aside ul li a:hover {
    color: #FEF2EB;
}

aside ul li a.active {
    color: #FEF2EB; /* Active: white */
}

section {
    display: block;
    padding: 5rem;
}

.content {
    display: block;
}

.eboard-img-container {
    text-align: center;
}

.eboard-img-container p {
    font-size: 0.875rem;
}


.columns {
    display: flex;
    gap: 50px;
    flex-wrap: wrap;

}

.content hr {
    width: 400px;
    align-self: center;
    justify-self: center;
}

.event-content h3 {
    font-size: 1.75rem;
}

.event-content {
    max-width: 900px;
}

.event-content a {
    transition: filter 0.2s ease-in-out;
}

.event-content a:hover {
    filter: brightness(1.4);
}


.column h4, .content h4{
    padding-top: 20px;
    padding-bottom: 5px;
    font-size: 1.25rem;
}

.column {
    min-width: 200px;
}

.column p {
    font-size: 1.1rem;
    opacity: 0.7;
}

.content h2 {
    font-size: 2rem;
    letter-spacing: normal;
}

.contact img {
    width: 100%;
    max-width: 450px;
    aspect-ratio: 3 / 2;         
    object-fit: cover;       
}



.login {
    display: flex;
    flex-direction: column;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    font-family: 'PTSans';
}

.login h3 {
    font-size: 2.5rem;
    margin-block: 1rem;
}

.login p {
    font-size: 1.25rem;
    margin-block: 1rem;
}

label {
    margin-block: 1rem;
}

.login span {
    font-size: 1.25rem;
    font-weight: bold;
    margin-right: 1rem;
}
 

.login button {
  display: flex;
  align-items: center;              
  gap: 0.5rem;                      
  cursor: pointer;
  background-color: #6e3320;
  color: white;
  border-radius: 5px;
  border: none;
  padding: 0.5rem 1rem;
  font-family: 'PTSans';
  font-size: 1.25rem;
  transition: opacity 0.2s ease-in-out;
  margin-top: 30px;
}

.login button img {
  height: 24px;                     
  width: 24px;
}

.login p code {
    font-size: 0.85rem;
    background-color: rgb(42, 42, 42);
    border-radius: 5px;
    padding: 0.2rem 0.2rem;
}



.login button:hover {
    opacity: 0.8;
}

.current .row {
  display: flex;
  flex-wrap: wrap; /* This is the key line */
  justify-content: center;
  gap: 20px; /* Optional: adds spacing between items */
  margin-block: 20px;
}


#photos .current h4 {
    margin-bottom: 10px;
}

.album-thumbnail {
    max-width: 250px;
    position: relative;
    flex: 1 1 200px; /* allows them to shrink/grow */
    width: 100%;

    border-radius: 5px;
    border: 1px solid #e6d9d1;
    transition: all 0.2s ease-in-out;
}

.album-thumbnail:hover {
    transform: translateY(-3px);
    opacity: 0.7;
}

.album-thumbnail img {
    width: 100%;
    display: block;
    border-radius: 5px;
}

.album-thumbnail p {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    background-color: rgba(0,0,0,0.75);
    color: #e6d9d1;
    text-align: center;
    font-size: 1.1rem;
    padding: 0.5rem 1rem;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

#photos p a {
    color: #e6d9d1;
    transition: opacity 0.2s ease-in-out;
}

#photos p a:hover {
    opacity: 0.5;
}

#sheets a {
    color: #e6d9d1;
    opacity: 0.8;
    transition: opacity 0.2s ease-in-out;
}

#sheets p {
    color: #e6d9d1;
    opacity: 0.7;
}

#sheets a:hover {
    opacity: 0.5;
}

#alumni a {
    color: #e6d9d1;
    opacity: 0.8;
    transition: opacity 0.2s ease-in-out;
}

#alumni a:hover {
    opacity: 0.5;
}

footer {
    margin-top: 30px;
    display: block;
    justify-content: center;
    text-align: center;
    align-items: center;
    background-color:#241E1E;
    font-family: "PTSans";
    font-size: 1rem;
    padding-top: 20px;
    padding-bottom: 5px;
}

footer h3 {
    font-weight: bold;
    margin-bottom: 5px;
    color: #FEF2EB;
    opacity: 0.8;
}

footer h4 {
    font-weight: normal;
    margin-bottom: 10px;
    color: #FEF2EB;
    opacity: 0.7;
}

footer p {
    font-size: 0.85rem;
    opacity: 0.7;
    color: #FEF2EB;
}

footer img {
    max-width: 100px;
    margin-bottom: 10px;
}

footer .social-icons img {
    margin-inline: 10px;
    margin-block: 10px;
    width: 30px;
    height: auto;
    transition: all 0.2s ease-in-out;
    opacity: 0.7
}

footer .social-icons img:hover {
    transform: translateY(-3px);
    opacity: 0.8;
}

footer a {
    color: #fdf5f1;
    transition: opacity 0.2s ease-in-out;
}

footer a:hover {
    opacity: 0.7;
}

/* Hide hamburger by default */
.hamburger {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  font-family: 'PTSans';
  color: white;
  cursor: pointer;
  padding: 0.5rem 1rem;
  transition: opacity 0.2s ease-in-out;
}

.hamburger:hover {
    opacity: 0.5;
}

@media (max-width: 986px) {
    .splash-container h2 {
        top: 30%;
    }

    .splash-container h1 {
        top: 40%;
    }
}





@media (max-width: 900px) {

    aside {
        display: none;
    }
  .about-columns {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: left;
  }

  .about h3 {
    max-width: 90%;
    margin-left: 1rem;
  }
  .about-columns p {
    max-width: 90%;
    /* width: 100%; */
    font-size: 1rem;
  }
  .about-columns img {
    max-width: 100%;
    width: 80%;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .about h3 {
    font-size: 1.5rem;
  }

  .splash-container h2 {
        top: 30%;
        font-size: 1.25rem;
    }

    .splash-container h1 {
        top: 35%;
        font-size: 3rem;

    }

    .event-content h3 {
        text-align: center;

    }
  
}


/* Responsive menu */
@media (max-width: 768px) {
  .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: black;
    flex-direction: column;
    gap: 0;
    display: none;
    z-index: 999;
  }

  .nav-links.show {
    display: flex;
  }

  .nav-links .dropdown-toggle:hover {
    cursor: pointer;
  }

  .nav-links .dropdown-toggle,
  .nav-links .nav-link {
    padding-left: 1rem;
  }

  .nav-button {
    margin-left: 1rem;
  }

  .nav-links a,
  .nav-links .dropdown {
    padding-block: 1rem;
    width: 100%;
    text-align: left;
  }

  .hamburger {
    display: block;
  }

  .dropdown-menu {
    position: static;
    box-shadow: none;
  }

  .dropdown:hover .dropdown-menu {
    display: none;
  }

  .dropdown.open .dropdown-menu {
    display: block;
  }

.recent-events {
    padding: 1rem;
    max-width: 100%;
  }

  .recent-events h3 {
    margin-bottom: 5px;
  }


  .home-columns {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .event-poster img,
  .club-photo img {
    max-width: 60%;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .event-description h3,
  .event-description h4 {
    font-size: 1.3rem;
  }
  .recent-events h3 {
    font-size: 1.5rem;
  }

  .eboard .columns, .current .columns, .alumni .columns {
    gap: 0px;
    color: #FEF2EB;
    opacity: 0.8;
  }

  .eboard .column {
    padding-top: 0px;
    padding-bottom: 5px;
    font-size: 1.25rem;
}



    .join .club-photo img {
        max-width: 95%;
        margin: 1rem auto;
    } 

    .join .recent-events:nth-of-type(2) .home-columns {
        flex-direction: column-reverse;
    }

    




}

@media (max-width: 753px) {
    .splash-container h2 {
        top: 25%;
        font-size: 1.25rem;
    }

    .splash-container h1 {
        top: 35%;
        font-size: 3rem;

    }


}

@media (max-width: 405px) {
    .splash-container h2 {
        top: 15%;
        font-size: 1.25rem;
    }

    .splash-container h1 {
        top: 25%;
        font-size: 2.5rem;

    }


}
