:root {
    /* Colors */
    --gray: rgb(167, 167, 167);
    --gray-2: rgb(223, 223, 223);
    --gray-3: rgb(57, 58, 60);
    --gray-4: rgb(109, 105, 105);
    --gray-5: #474747;
    --blue: rgb(33, 124, 198);
    --blue-2: rgb(74, 143, 199);
    --yellow: rgb(9, 148, 213); 
    /*--orange: rgb(151, 113, 31);
    --yellow: rgb(168, 125, 34); */
    --yellow2: rgb(205, 152, 38);
    --yellow-light: rgb(192, 152, 64);
    --gold: rgb(216, 207, 76);
    --gold2:rgb(248, 234, 47);
    --white: rgb(255,255,255);
    --dirty-white: rgb(191, 191, 191);
    --dark-blue: #1f2326;
    --event-type-bg-color: #2196F3;
    --green: rgb(79, 155, 79);
    --red: rgb(255, 79, 79);
    --light-gold: rgb(255, 250, 186);

    /* Color elements */
    --main-bg-color: var(--white);
    --background-color: var(--dark-blue);
    --menu-background-color: var(--gray-4);
    /*--background-color: #242526;*/

    /* Banner elements */
    --banner-bg-color: var(--blue);
    --page-title-bg-color: var(--gray-3);
    --baner-text-color: var(--gold);

    --menu-bg-color: var(--yellow);
    --menu-item-hover-color: var(--yellow-light);
    --menu-item-link-color: var(--gold);

    --event-menu-bg-color: var(--gray2);
    --card-bg-color: var(--gray2);

    padding: 0;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing:border-box;
}

html, body {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    margin: 0;
    box-sizing:border-box;
    position: relative;
    background-color: var(--background-color);
    color: var(--white);
}

button, .button {
    background-color: var(--banner-bg-color);
    border: none;
    padding: 0.5em;
    color: var(--gold2);
    height: 100%;
    border-radius: 5px;
    text-align: center;
    user-select: none;
}

button:hover {
    background-color: var(--menu-item-hover-color);
    cursor: pointer;
}

@keyframes slideDown {
    from { top: -100%; }
    to { top: 1rem; }
}
.info-container {
    position: absolute;
    left: 0; 
    right: 0; 
    top: 1rem;
    margin-left: auto; 
    margin-right: auto; 
    padding: 1rem;
    max-width: 30rem;
    border: 1px solid #aeaeae;
    animation: slideDown 1s;
    background-color: rgb(79, 155, 79);
    color: white;
}

#banner
{
    display: flex;
    flex-direction: column;
    user-select: none;
    width: 70em;
    margin: auto;

    #banner_header
    {
        display: flex;
        flex-direction: row;
        justify-content:space-between;
        height: 4rem;

        a
        {
            text-decoration: none;
            display: flex;
            flex-direction: row;
        }

        h1 
        {
            padding-left: 1rem;
            text-transform: lowercase;
            letter-spacing: 0.2rem;
            color: white;
        }

        h1:nth-child(2) 
        {
            padding-left: 0rem;
            text-transform: lowercase;
            letter-spacing: 0.2rem;
            color: var(--baner-text-color);
        }
    }
}

@keyframes show-animation
{
    from    {max-height: 0rem;}
    to      {max-height: 500rem;}
}

.languages
{
    display: flex;
    flex-direction: row;
    gap: 0.5em;

    .flag
    {
        cursor: pointer;
        font-size: 1.2em;
    }

    .shine
    {
        text-shadow: 0px 0px 5px white;
    }
}

.highlight {
    color: var(--blue-2);
}

.hide
{
    display: block;
    max-height: 0rem;
}

.show
{
    display: flex;
    max-height: 500rem;
    animation: show-animation 1s;
}

.active
{
    background-color: var(--gray-5);
    box-sizing: border-box;
    border-left: 3px solid var(--gold);
}

.view_container
{
    display: flex;
    flex-direction: column;
    height: 100%;
    .menu_container {
        background-color: var(--page-title-bg-color);
        color: var(--baner-text-color);
        margin: 0;

        nav {
            width: 78em;
            margin: auto;
            letter-spacing: 0.2rem;
            font-weight: lighter;
            user-select: none;

            display: flex;
            flex-direction: row;

            user-select: none;

            a {
                color: var(--white);
                font-size: 0.7em;
                text-decoration: none;
                text-transform: capitalize;
                padding: 0 2em 0 2em;
                user-select: none;
                -webkit-user-drag: none;
            }

            a:hover {
                background-color: #1f2326;
            }
        }
    }

    .block_container {
        height: 100%;
        width: 100%;
        flex: 1;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
        flex-direction: column;
    }
}

.login-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1em;

    .login-div {
        width: 45rem;
        margin-top: 7em;
        background-color: var(--gray-5);

        p {
            padding: 0;
            margin: 0;
        }

        .caption {
            background-color: var(--page-title-bg-color);
            padding: 0.5rem;
            color: white;
        }

        .login-div-content {
            padding: 1rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;

            .login-row {
                display: flex;
                flex-direction: row;
                width: 100%;
                gap: 5px;

                p {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    flex-shrink: 0;
                    flex-grow: 0;
                }

                input {
                    width: 100%;
                    padding: 1rem;
                    border-radius: 5px;
                    border: 1px solid rgb(196, 196, 196);
                    background-color: #f1f1f1;
                }

                button {
                    width: 100%;
                }
            }
        }
    }
}

.content-area {
    width: 100%;
    min-height: 80vh;
    display: flex;
    justify-content: center;
}

.footer {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    border-top: 1px solid #474747;
    margin-top: 1em;

    .footer-content {
        display: grid;
        grid-template-columns: auto auto;
        width: 40em;

        & * {
            padding: 1em;
        }

        .footer-section {
            display: flex;
            flex-direction: column;
            align-items: center;

            a {
                padding: 0.2em;
                margin: 0;
                font-size: 0.7em;
                text-transform: capitalize;
                color: white;
            }
        }
    }
}

#container {
    width: 60em;
    height: 100%;
}