* {
    font-family: "Lato", sans-serif;
}

body {
    margin: 0;
}

.content {
    grid-area: content;
    background-color: #efefef;
    padding: 20px;
}


#app {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    height: 100vh;
    display: grid;
    grid-template-rows: 60px 1fr 40px;
    grid-template-columns: 300px 1fr;
    grid-template-areas:
        "header header"
        "content content"
        "footer footer";
}

.header {
    grid-area: header;
    background: linear-gradient(to right, #1e469a, #49a7c1);
    
    display: flex;
    justify-content: center;
    align-items: center;
    }
    
    .title {
    font-size: 1.2em;
    color: #fff;
    font-weight: 100;
    flex-grow: 1;
    text-align: center;
    }
    
    .title a {
    color: #fff;
    text-decoration: none;
    }
    
    .title a:hover {
    color: #fff;
    text-decoration: none;
    }
    
    header.header > a.toggle {
    width: 60px;
    height: 100%;
    color: #fff;
    justify-self: flex-start;
    text-decoration: none;
    
    display: flex;
    justify-content: center;
    align-items: center;
    }
    
    header.header > a.toggle:hover {
    background: rgba(0, 0, 0, 0.2);
    color: #fff;
    }

.auth-content {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.auth-modal {
    background-color: #FFF;
    width: 350px;
    padding: 35px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);

    display: flex;
    flex-direction: column;
    align-items: center;
}

.auth-title {
    font-size: 1.2rem;
    font-weight: 100;
    margin-top: 10px;
    margin-bottom: 15px;
}

.auth-modal input {
    border: 1px solid #BBB;
    width: 100%;
    margin-bottom: 15px;
    padding: 3px 8px;
    outline: none;
}

.auth-modal button {
    align-self: flex-end;
    background-color: #2460ae;
    color: #FFF;
    padding: 5px 15px;
}

.auth-modal a {
    margin-top: 35px;
}

.auth-modal hr {
    border: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right,
        rgba(120, 120, 120, 0),
        rgba(120, 120, 120, 0.75),
        rgba(120, 120, 120, 0));
}

.footer {
    grid-area: footer;
    background-color: #DDD;
    color: #333;
    
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 10px;
}