:root {
    /* Light Mode Colors */
    --l-text: #4A5E53;
    --l-background: #F3F8F5;
    --l-primary: #7DE28F;
    --l-secondary: #FFC857;
    --l-accent: #8AB3A0;
    --l-success: #2EC4B6;
    --l-warning: #F79256;
    --l-error: #E76F51;

    /* Dark Mode Colors */
    --d-text: #E6EDE9;
    --d-background: #2D3A30;
    --d-primary: #8DEB9E;
    --d-secondary: #FFD166;
    --d-accent: #A0C9B6;
    --d-success: #3DECCF;
    --d-warning: #FFA07A;
    --d-error: #FF8C6B;
}

.gradient-text {
    background-color: #f3ec78;
    background-image: linear-gradient(45deg, var(--l-primary), var(--l-secondary));
    background-size: 100%;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent; 
    -moz-text-fill-color: transparent;
}

html, body {
    height: 100%;
    width: 100%;
}

body {
    font-family: "Raleway", sans-serif;
    background-color: var(--l-background);
    color: var(--l-text);
    position: relative;
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--l-text);
    height: 100px;
    padding-left: 10px;
    padding-right: 10px;
    position: fixed;
    width: 100%;
    background-color: var(--l-background);
}

.nav-buttons {
    display: flex;
}

ul {
    display: flex;
    justify-content: center;
    padding-left: 0px;
    padding-right: 10px;
}

li {
    text-decoration: none;
    list-style: none;
}

li a:hover {
    border: 1px solid var(--l-secondary);
    background-color: var(--l-secondary);
    transition: ease-out .2s;
}


.nav-buttons a {
    border: 1px solid var(--l-primary);
    border-radius: 10px;
    padding: 15px 20px;
    font-size: 20px;
    background-color: var(--l-primary);
    text-decoration: none;
    color: var(--l-text);
    margin-right: 20px;
}

.logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
}

.logo > a{
    display: flex;
    justify-content: start;
    align-items: center;
    text-decoration: none;
    color: inherit; /* Changes hyperlink color to its parent element */
}

.logo > a:hover {
    color: var(--d-primary);
    transition: ease-out .2s;
}

.logo p {
    font-size: 32px;
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    /* padding-top: 100px; */
    width: 100vw;
    min-height: 800px;
    flex-grow: 1;
    margin-right: 25px;
}

.card {
    margin-top: 100px;
    padding: 20px;
    border: 5px solid var(--l-accent);
    border-radius: 20px;
    background-color: var(--l-accent);
    box-shadow: 5px 5px 7px var(--l-text);
}

form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

form button {
    border: 1px solid var(--l-primary);
    border-radius: 10px;
    padding: 15px 20px;
    font-size: 20px;
    background-color: var(--l-primary);
    text-decoration: none;
    color: var(--l-text);
}

form button:hover {
    border: 1px solid var(--l-secondary);
    background-color: var(--l-secondary);
    transition: ease-out .2s;
    cursor: pointer;
}

label {
    font-size: 1.2rem;
}

input {
    height: 30px;
    font-size: 1.2rem;
    border-radius: 10px;
}

h2 {
    font-size: 28px;
    text-align: center;
}

i {
    font-size: 32px;
    cursor: pointer;
    margin-right:20px;
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid var(--l-text);
    height: 50px;
    width: 100%;
    background-color: var(--l-text);
    color: var(--l-background);
    /* position: absolute;
    bottom: 0;
    left: 0; */
}

.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

/* mobile display */

@media (max-width: 530px) {
    ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        max-width: 150px;
        margin: 0;
        gap: 10px;
        padding-right: 1rem;
    }

    li {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        width: 70px;
    }

    .nav-buttons {
        height: 100%;
    }

    .nav-buttons a {
        font-size: 0.75rem;
        padding: 10px;
        width: 100%;
        margin: 0;
        text-align: center;
    }
}

@media (max-width: 430px) {

    .card{
        margin-left: 1.5rem;
        margin-right: 1.5rem;
    }
}
