html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

body {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-size: cover;

    font-family: Tahoma, sans-serif;
    font-size: 110%;
}
body:not(.gate-opened) {
    background-image: url("/static/gate-closed.jpg");
    background-position: bottom;
}
body.gate-opened {
    background-image: url("/static/grasslands.jpg");
    background-position: center;
}

main {
    padding: 15px;
    background: rgba(255,255,255,.85);
    border-radius: 20px;
}

#authn {
    width: 80%;
    margin: 0 10%;
}

#version-note {
    position: fixed;
    font-size: 50%;
    opacity: .35;
    left: 0;
    bottom: 0;
    border-top-right-radius: 10px;
    padding: 3px 6px 2px 2px;
    background: rgba(255,255,255,.8);
}
#version-note:hover { opacity: 1; font-size: 80%; }

#source-note {
    position: fixed;
    font-size: 75%;
    right: 0;
    bottom: 0;
    border-top-left-radius: 10px;
    padding: 3px 2px 2px 6px;
    background: rgba(255,255,255,.8);
}

span.mono { font-family: monospace; }

li.happy { color: #003500; }
li.happy::marker { list-style-type: '☺';}
li.sad { color: #500000; text-decoration: underline; font-weight: bold; }
li.sad::marker { list-style-type: '☹'; }
