* {
    box-sizing: border-box;
}

:root {
    --col1: #27348b;
    --col2: #ed1d24;
}

html, body {
    min-height: 100vh;
}

body {
    margin: 0;
    padding: 0;
    background-color: white;
}

.navbar {
    font-family: 'Roboto', sans-serif;
    font-size: 1.3em;
    font-weight: 700;
    text-transform: uppercase;
    color: white;
    transform-style: preserve-3d;
    background-color: var(--col1);
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 100;
}

#menu-toggle {
    display: none;
}

.menu-icon {
    display: none;
    font-size: 2em;
    text-align: right;
    cursor: pointer;
}

.menu-icon::selection {
    background-color: var(--col1);
}

#menu-logo {
    width: 8em;
}

#menu-logo-mobile {
    display: none;
}

.menu {
    list-style: none;
    padding: 0;
    height: 3.5em;
    display: flex;
    justify-content: left;
    align-items: center;
}

h1 {
    font-family: "Montserrat", sans-serif;
    font-size: 4.5em;
    padding-top: 2em;
    text-align: center;
    color: var(--col1);
}

h2 {
    font-family: "Roboto", sans-serif;
    font-size: 2em;
    text-align: center;
    color: var(--col1);
}

#page-info {
    color: white;
    padding: 0.5em 0em;
    background-color: var(--col1);
}

#page-number {
    color: white;
    font-size: 1.5em;
    font-weight: 250;
}

#page-artist {
    color: white;
    font-size: 2em;
}

p {
    font-family: "Roboto", sans-serif;
    font-size: 1.3em;
    font-weight: 300;
    text-align: justify;
    color: var(--col1);
}

.info-text {
    padding: 0em 12vw;
}

.info-header {
    text-align: left;
}

p b {
    font-weight: 500;
}

.menu a {
    text-decoration: none;
    color: white;
    padding: 1em 1em;
    cursor: pointer;
    transition: ease-in-out 100ms;
}

.nav-button a:hover , .current a {
    background-color: white;
    color: var(--col1);
}

#artist2 {
    display: none;
}

#artist3 {
    display: none;
}

.gallery {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-bottom: 3em;
}

.gallery img {
    width: 40%;
    max-width: 15em;
}

.img-pair {
    display: flex;
    justify-content: center;
    text-align: center;
}

.img-pair input {
    display: none;
}

.img-pair img {
    width: 35%;
    max-width: 25em;
    vertical-align: middle;
    margin: 1em;
    padding: 0.3em;
    transition: ease-in-out 150ms;
}

.img-pair img:hover {
    transform: scale(110%);
}

.separator {
    background-color: var(--col1);
    padding: 0.1em;
    margin: 2em auto;
    width: 70vw;
}

#buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 2em;
}

#alert {
    color: var(--col2);
    font-weight: 400;
    text-align: center;
}

.button, #form-submit {
    font-family: "Roboto", sans-serif;
    font-size: 2em;
    text-transform: uppercase;
    border: none;
    color: white;
    background-color: var(--col1);
    padding: 0.5em;
    width: 10em;
    margin: 0.3em 2em;
    transition: ease-in-out 100ms;
    border: 4px solid white;
}

#form-submit {
    display: block;
    margin: 1em auto;
    border: 4px solid var(--col1);
    width: 7em;
    padding: 0.3em;
}

#back, #submit {
    display: none;
}

#submit, #form-submit {
    background-color: var(--col2);
}

#submit:disabled, #form-submit:disabled {
    background-color: #e78d90;
}

.button:enabled:hover {
    color: var(--col1);
    background-color: white;
    border: 4px solid var(--col1);
}

#submit:enabled:hover, #form-submit:enabled:hover {
    color: var(--col2);
    background-color: white;
    border: 4px solid var(--col2);
}

input:checked + label > img{
    border: 5px solid red;
}

.gallery-section {
    padding: 4em;
    margin: 0em 0em 2em 0em;
}

.portrait {
    max-width: 20em;
    margin: 0em 3em 2em 3em;
}

.artist-info {
    padding: 0em 8em;
}

.artist-bio {
    font-weight: 300;
    font-size: 1.2em;
    border: 1px solid var(--col1);
    padding: 0.2em 0em;
}

.blue .artist-bio {
    border: 1px solid white;
} 

.blue {
    background-color: var(--col1);
    color: white;
}

.blue h2, .blue p {
    color: white;
}

.left img {
    float: left;
}

.right img {
    float: right;
}

.left h2, .left .artist-bio {
    text-align: left;
}

.right h2, .right .artist-bio {
    text-align: right;
}

.result-container {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
}

.results {
    width: 30vw;
}

#results-global {
    display: flex;
    flex-direction: row;
}

#table-global {
    margin: auto;
    width: 40em;
}

#chart-global {
    margin: auto;
    width: 50em;
    height: 35em;
}

.result-chart {
    margin-top: 2em;
    margin-bottom: 3em;
    height: 15em;
}

.google-visualization-table-th, .google-visualization-table-td {
    font-family: "Roboto", sans-serif;
    font-size: 1.2em;
    text-align: right;
}

.legend {
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: auto;
    width: 40em;
    margin-bottom: 2.5em;
}

.legend .blue-dot::before {content: "•"; font-size: 3em; color: var(--col1); vertical-align: middle;}
.legend .red-dot::before {content: "•"; font-size: 3em; color: var(--col2); vertical-align: middle;}
.legend .green-dot::before {content: "•"; font-size: 3em; color: #0a990a; vertical-align: middle;}

h1 span {
    color: white;
    background-color: var(--col1);
    padding: 0em 0.3em;
}

.black {
    background-color: black;
    text-align: center;
    margin-bottom: 5em;
}

.black img {
    width: 40vw;
    max-width: 20em;
}

#message-send-box {
    text-align: center;
}

#message-send-box form {
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    color: white;
    padding: 2em;
    background-color: var(--col1);
}

#message-send-box label {
    display: block;
    padding: 0.5em 0em;
}

#name, #content, #password {
    padding: 0.7em;
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    resize: none;
}

#content {
    width: 40em;
    height: 6em;
}

.message-box {
    background-color: var(--col1);
    margin: 2em 10em;
    padding: 0.5em 1.5em;
}

.msg-name, .msg-content {
    color: white;
    text-align: left;
}

.msg-name {
    font-weight: 700;
}

footer {
    background-color: var(--col1);
    color: white;
    padding: 2em;
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    text-align: center;
}

#login {
    text-align: center;
}

@media screen and (max-width: 820px) {

    .navbar {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        z-index: 10;
    }

    .flex-horizontal {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1em;
    }

    .menu-icon {
        display: block;
    }

    .menu {
        display: none;
        flex-direction: column;
        justify-content: space-evenly;
        height: 0;
        overflow: hidden;
        padding: 0 1em;
        width: 100vw;
        background-color: var(--col1);
        z-index: -1;
    }

    .menu li {
        padding: 0.5em 0;
        width: 100%;
        text-align: center;
    }

    .menu a {
        padding: 0;
        color: white;
    }

    .current a {
        background-color: #27348b;
        color: white;
        text-decoration:underline;
    }

    .menu li:first-child {
        display: none;
    }

    #menu-logo-mobile {
        display: block;
        margin: auto;
        width: 6em;
    }

    #menu-toggle:checked ~ .menu {
        display: flex;
        height: 100%;
        padding: 0em 1em;
    }

    h1 {
        font-size: 12vw;
        padding-top: 3em;
    }

    h2 {
        padding: 0em 1em;
    }

    .gallery {
        margin: 0;
    }

    .img-pair img {
        width: 44%;
        margin: 0;
        padding: 0;
    }

    .portrait {
        margin: auto;
        padding: 2em 0em;
    }

    .gallery-section {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
    }

    .artist-info {
        padding: 10vw;
    }

    .gallery-section h2, .left .artist-bio, .right .artist-bio {
        text-align: center;
    }

    .result-container, #results-global {
        flex-direction: column;
        align-items: center;
    }

    #table-global, #chart-global {
        width: 90vw;
    }

    .legend {
        width: 90vw;
        flex-direction: column;
    }

    .results {
        width: 90vw;
    }

    .google-visualization-table th, .google-visualization-table td {
        font-size: 1em;
    }

    #content {
        width: 80vw;
        height: 12em;
    }

    .message-box {
    background-color: var(--col1);
    margin: 2em 1em;
    padding: 0.5em 1.5em;
    }


}