/* General Styles */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #6da5c0;
    margin: 0;
    padding: 0;
    font-family: "Quicksand", serif;
}

a.ele {
    border: #0F969C;
    border-width: 0.5cap;
    border-style: solid;
}

/* Top Navigation */
.topnav {
    z-index: 999;
    background-color: #274D61;
    height: 10%;
    width: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
}

.topnav a {
    color: #705b3c;
    text-align: center;
    border-radius: 20cap;
    padding: 14px 35px;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 900;
    opacity: 1;
    animation: fadeIn 1.8s;
}

.topnav a:hover {
    color: black;
    background-color: #0F969C;
}

/* Hamburger Icon */
.hamburger {
    display: none; /* Hidden by default */
    font-size: 2rem;
    color: #705b3c;
    cursor: pointer;
    margin-left: auto;
}

/* Navigation Links */
.nav-links {
    margin-left: auto;
    display: flex;
    gap: 10px;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .hamburger {
        display: block; /* Show hamburger icon on smaller screens */
    }

    .nav-links {
        display: none; /* Hide navigation links by default on smaller screens */
        flex-direction: column;
        position: absolute;
        top: 60px; /* Adjust based on your header height */
        right: 20px;
        background-color: #274D61;
        border-radius: 10px;
        padding: 10px;
    }

    .nav-links.active {
        display: flex; /* Show navigation links when active */
    }

    .topnav a {
        padding: 10px 20px;
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    .topnav a {
        font-size: 1rem;
        padding: 8px 16px;
    }
}

.topnav a:hover {
    color: black;
    background-color: #0F969C;
}

.links {
    font-family: "Quicksand", serif;
}

/* Welcome Section */
.block {
    height: 95%;
}

.welcome {
    font-family: "Quicksand", serif;
    margin: auto;
    place-content: center;
    padding: 50px;
    width: 85%;
    height: 85vh;
    display: flex;
    flex-direction: column;
    border: black dotted 0.5cap;
}

.rectLong .rectShort {
    background-color: black;
    width: 100%;
    height: 100%;
}

.welcome h1 {
    font-size: 4rem;
    font-weight: 500;
}

.welcome p {
    text-align: center;
    font-size: 1.5rem;
}

.welcomeText {
    text-align: center;
    vertical-align: middle;
}

/* About Section */


.about, .aboutTeam {
    background-color: #0F969C;
    border: black dotted 0.5cap;
    width: 50%;
    margin: 20px auto;
    padding: 20px;
    text-align: center;
}

.aboutUs, .teamInfo {
    background-color: #274D61;
    border: black dotted 0.5cap;
    width: 90%;
    margin: 20px auto;
    padding: 20px;
    text-align: center;
    font-size: 1.5rem;
}

.teamInfo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.teamInfo img {
    border: rgb(139, 96, 96) double 1.5cap;
    border-radius: 50%;
    width: 150px;
    height: auto;
    margin-bottom: 20px;
}

.teamInfo p {
    font-size: 1.5rem;
    line-height: 1.5;
}

/* Games Section */
.gamesLogo {
    background-color: #0F969C;
    border: rgb(255, 0, 0) dotted 0.5cap;
    width: 60%;
    margin: 20px auto;
    padding: 20px;
    text-align: center;
}

.games {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #274D61;
    border: rgb(255, 0, 0) dotted 0.5cap;
    width: 90%;
    margin: 20px auto;
    padding: 20px;
}

.gamePic {
    max-width: 100%;
    height: auto;
}

.colorsofhope, .whiskerschoice {
    position: relative;
    margin: 20px 0;
    text-align: center;
}

.cohText, .wcText {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.colorsofhope:hover .cohText, .whiskerschoice:hover .wcText {
    opacity: 1;
}

/* Contact Section */
.containe {
    background-color: #0F969C;
    border: 0.25cap dotted black;
    width: 90%;
    margin: 20px auto;
    padding: 20px;
    text-align: center;
}

.contact-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-form {
    width: 100%;
    max-width: 500px;
}

.form-group {
    margin-bottom: 20px;
}

input, textarea {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: none;
    background-color: aliceblue;
}

button {
    background-color: aliceblue;
    font-size: 1rem;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

/* Responsive Media Queries */
@media (max-width: 768px) {
    .topnav a {
        font-size: 1.2rem;
        padding: 10px 20px;
    }

    .welcome h1 {
        font-size: 2rem;
    }

    .welcome p {
        font-size: 1.2rem;
    }

    .teamInfo p .aboutUs p {
        font-size: 1rem;
    }

    .gamesLogo h1 {
        font-size: 1.5rem;
    }

    .contact-form h2 {
        font-size: 1.5rem;
    }

    input {
        width: 85%;
    }

    textarea {
        width: 85%;
    }
}

@media (max-width: 480px) {
    .topnav a {
        font-size: 1rem;
        padding: 8px 16px;
    }

    .welcome h1 {
        font-size: 1.5rem;
    }

    .welcome p {
        font-size: 1rem;
    }

    /* .teamInfo p {
        font-size: 0.9rem;
    } */

    .gamesLogo h1 {
        font-size: 1.2rem;
    }

    .contact-form h2 {
        font-size: 1.2rem;
    }
}

.links {
    transition: .5 ease;
    font-size: 25px;
    color: black;
}

.links:hover {
    animation: fontIncrease 0.25s;
    font-size: 30px;
    color: aqua;
}

.blockL {
    animation: appearLeft linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
}

.blockR {
    animation: appearRight linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
}

@keyframes fontIncrease {
    from { font-size: 25px; }
    to { font-size: 30px; }
}

@keyframes appearLeft {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes appearRight {
    from {
        opacity: 0;
        transform: translateX(100px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeIn {
    from { opacity: 0; margin-top: 2.5cap;}
    to { opacity: 1; margin-top: 0cap;}
}