/* start of setup */

.test-color {
    background-color: #552c00;
}

:root {
    --light-border-color: #cccccc;
    --dark-border-color: #222222;

    --light-background-color: #ffffff;
    --light-text-color: #000000;

    --dark-background-color: #000000;
    --dark-text-color: #ffffff;

    --safe-background-color-1: #8a8a00;
    --safe-text-color-1: #cccccc;

    --accent-color-1: #0F7A71;
    --accent-color-2: #091929; /* material-ui */
    --accent-color-3: #2196f3; /* material-ui */
    --accent-color-4: #d60000;
    --accent-color-5: #ff6f6f;

    --light-accent-color-1: #e7ffae;
    --light-accent-color-2: #fae4ff;
    --light-accent-color-3: #faf0f0;

    --dark-accent-color-1: #213000;
    --dark-accent-color-2: #2a0033;
    --dark-accent-color-3: 	#2B0B0B;
    --dark-accent-color-4: 	#1C2B1F;
    --dark-accent-color-5: 	#191970;
    --dark-accent-color-6: 	#2A003F;
    --dark-accent-color-7: 	#102820;
    --dark-accent-color-8: 	#2C1A24;
    --dark-accent-color-9: 	#12343B;
    --dark-accent-color-10: #643843;
    --dark-accent-color-11: #583C42;
    --dark-accent-color-12: #6D3B47;
    --dark-accent-color-13: #452B3C;
    --dark-accent-color-14: #4A2E3A;
    --dark-accent-color-15: #0F4C5C;
    --dark-accent-color-16: #1B1C31;
    --dark-accent-color-17: #500000;
}

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

body {
    display: flex; flex-direction: column; min-height: 100vh; line-height: 1.6; font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

a {
    text-decoration: none; transition: opacity 0.2s ease;
    color: var(--light-text-color);
    /*
    &:hover {
        opacity: 0.7;
    }
    */
}


input,
button,
textarea,
select {
    /* font: inherit; color: inherit; background-color: transparent; */
    border: none; outline: none;
}

button {
    cursor: pointer;
}

textarea {
    padding: 8px; border: 1px solid var(--light-border-color);
    background-color: var(--light-background-color); color: var(--light-text-color);
}

html[data-theme="light"] {
    background-color: var(--light-background-color);
    color: var(--light-text-color);
}

html[data-theme="dark"] {
    background-color: var(--dark-background-color);
    color: var(--dark-text-color);

    a {
        color: var(--dark-text-color);
    }
    textarea {
        background-color: var(--dark-background-color); color: var(--dark-text-color);
    }
}

/* end of setup */



/* start of app style */

header {
    padding: 8px; background-color: var(--accent-color-2); position: sticky; top: 0px; left: 0px;
}

.app-logo {
    display: flex; align-items: center;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    img {
        vertical-align: middle;
    }
}


.navbar {
    display: flex; align-items: center; justify-content: space-between;

    a {
        color: var(--dark-text-color); text-decoration: none;
    }
    ul {
        list-style: none;
        display: flex; align-items: center;

        li {
            display: inline-block;

            a {
                img {
                    height: 48px; vertical-align: middle; margin-right: 8px;
                    transition: opacity 0.3s ease;
                }
                span {
                    display: inline-block;
                    transition: opacity 0.3s ease;
                }
            }
        }
    
    }
}

.navbar-hamburger-menu-button {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    min-width: 30px; text-align: center;

    display: none; font-size: 30px; cursor: pointer;

    &:hover {
        opacity: 0.7;
    }
}


.navbar-menu-item {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    margin-right: 32px;
    width: 100%;
    text-align: left;

    a {
        transition: opacity 0.3s ease;

        &:hover {
            color: var(--light-accent-color-1);
        }
    }

    &.navbar-hamburger-menu-close-button {
        display: none;
    }

    &.navbar-menu-item-selected {
        a {
            color: var(--accent-color-1);

            &:hover {
                color: var(--light-accent-color-1);
            }
        }
    }
}

.toggle-theme-button-container {
    cursor: pointer;

    &:hover {
        opacity: 0.7;
    }
}


.toggle-theme-button {
    background: none; border: 1px solid #fff; border-radius: 50%; font-size: 0.75em; cursor: pointer; padding-left: 0.02em; aspect-ratio: 1/1;

    &:hover {
        opacity: 0.7;
    }
}


main {
    flex: 1;
}

h1 {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

footer {
    padding: 8px;
    text-align: center;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@media screen and (max-width: 768px) {
    .navbar {
        ul {
            box-shadow: -2px 0 4px rgba(0, 0, 0, 0.5); text-align: right; background-color: var(--accent-color-2); width: 60%; padding-top: 64px; max-width: 200px; position: fixed; top: 0; right: -100%; flex-direction: column; align-items: flex-start;
        }
        &.navbar-menu-small-screen {
            align-items: center;
        }
        &.navbar-menu-small-screen ul {
            display: flex;
            right: 0;
        }
    }

    .navbar-hamburger-menu-button {
        display: inline-block; color: var(--dark-text-color);
    }

    .navbar-menu-item {
        margin-right: 0px;

        a {
            display: block; padding: 16px;
        }
        &:hover {
            background-color: var(--dark-background-color);
        }
        &.navbar-hamburger-menu-close-button {
            width: auto;
            display: block; color: var(--dark-text-color); position: absolute; top: 10px; right: 10px; font-size: 30px; cursor: pointer;
            text-align: right;

            &:hover {
                opacity: 0.7;
                background-color: initial;
            }
        }
    }

    .toggle-theme-button-container {
        padding: 16px; text-align: left;
    }
}

@keyframes loading-spinner {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* end of app style */
