/**
 * Huli HiFest Styles
 * Copyright @ 2022 Huli https://huli.io/.
 */

/* ==========================================================================
   BASE STYLES
   ========================================================================== */
:root {
    --primary-background-color: #fff;
    --primary-color: #000;
    --secondary-background-color: #94FFAC;
}

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    align-items: center;
    background-color: #F5F5F5;
    background-image: url(./img/background.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
    color: var(--primary-color);
    display: flex;
    flex-flow: column;
    font-family: sans-serif;
    -webkit-font-smoothing: antialiased;
    justify-content: flex-start;
    margin: 0;
    min-height: 100vh;
}

/* ==========================================================================
   TEMPLATE
   ========================================================================== */

.header {
    display: flex;
    font-weight: bold;
    justify-content: center;
}

.logo {
    align-items: center;
    color: black;
    display: flex;
    font-size: 2rem;
    font-style: italic;
    justify-content: center;
    margin: 0;
    width: 10rem;
}

.main {
    display: flex;
    flex-flow: column;
    padding: 1rem;
    width: 100%;
}

.main__content {
    align-items: center;
    display: flex;
    flex-flow: column;
    gap: 1em;
    justify-content: flex-start;
    margin-top: 1em;
    width: 100%;
}

.video {
    flex-grow: 0;
    left: 0;
    max-width: 56em;
    position: sticky;
    top: 0;
    width: 100%;
}

.video__wrapper {
    aspect-ratio: 16 / 9;
    width: 100%;
}

#video-player {
    border-radius: 1em;
}

.video__options {
    align-items: stretch;
    display: flex;
    gap: 0.5em;
    justify-content: center;
    margin-top: 0.5em;
}

.chat {
    height: 25em;
    width: 100%;
}

.youtube-chat {
    border: none;
    border-radius: 1em;
}

.button {
    align-items: center;
    background-color: var(--primary-background-color);
    border: 0.2rem solid var(--primary-color);
    border-radius: 1.2rem;
    color: var(--primary-color);
    cursor: pointer;
    display: flex;
    font-size: 0.9rem;
    font-weight: bold;
    padding: 0.8rem;
    text-align: left;
    text-decoration: none;
    transition: all 0.5s ease-in-out;
}

.audio-button {
    background-color: var(--secondary-background-color);
    border: 0.2rem solid green;
    color: green;
}

.audio-button::before {
    animation: audio-shine-on 0.5s ease-in-out infinite;
    border-radius: 50%;
    background-color: green;
    content: '';
    display: block;
    flex-shrink: 0;
    height: 1em;
    margin-right: 1em;
    width: 1em;
}

.audio-button--muted {
    background: #F4F1F1;
    border-color: #BEBAB9;
    color: #282828;
    display: none;
}

.audio-button--muted::before {
    animation: none;
    background-color: #BEBAB9;
}

.only-desktop {
    display: none;
}

.agenda {
    align-items: center;
    background-color: rgba(0, 0, 0, 0.8);
    bottom: 0;
    display: none;
    justify-content: center;
    left: 0;
    margin: auto;
    padding: 1rem;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1;
}

.agenda--open {
    display: flex;
}

.agenda__picture {
    border-radius: 1rem;
    height: auto;
    max-width: 44rem;
    width: 100%;
}

.issues {
    align-items: center;
    display: flex;
    height: 100%;
}

@media (min-width: 1000px) {

    body {
        background-position: top center;
        justify-content: center;
    }

    .logo {
        font-size: 4rem;
        width: 22rem;
    }

    .main {
        padding: 2rem;
    }

    .main__content {
        align-items: stretch;
        flex-flow: row;
        gap: 2em;
        justify-content: center;
        margin-top: 2em;
    }

    .button:hover {
        background-color: #A600DA;
        border-color: #A600DA;
        color: white;
    }

    .video {
        position: static;
    }

    #video-player {
        border-radius: 2em;
    }

    .video__options {
        gap: 1em;
        justify-content: flex-start;
        margin-top: 1em;
        min-height: 3em;
    }

    .chat {
        height: auto;
        max-width: 25em;
    }

    .only-desktop {
        display: block;
    }

    .agenda__picture {
        border-radius: 3rem;
    }

}

@keyframes audio-shine-on {
    0% {
        background-color: green;
    }
    50% {
        background-color: white;
    }
    100% {
        background-color: green;
    }
}