body {
    background-color: #fff;
}
#content {
    margin: 0;
}
#layout {
    padding-left: 0;
    text-align: center;
}
#header {
    padding-top: 2em;
}
#marketing {
    background: #414243;
    color: #fff;
    padding: 3em 1em;
    text-align: center;
}
#alma-logo {
    display: block;
}
#marketing ul {
    color: #9EC583;
    font-size: 1.2em;
    text-align: left;
    margin: 2em 0;
}
#marketing ul li {
    margin: .5em 0;
}
.login-form > fieldset,
.confirm-code-form > fieldset,
.reset-confirmation {
    text-align: left;
    padding: 3em 1em;
}
#login-form .pure-g {
    margin-left: -.5em;
    margin-right: -.5em;
}
.login-header {
    margin: 0 0.5em 1em 0.5em;
}
.login-header h2 {
    margin: .25em 0;
    display: inline-block;
}
.login-header p {
    margin: .25em 0;
}
.login-header .login-link {
    color: #888;
}
.login-header .login-link a,
.login-header .login-link button,
.privacy-terms-link a {
    padding: 0;
    vertical-align: baseline;
    color: #3FC1C8;
}
.login-form label span {
    color: #888;
    font-size: 90%;
    margin: 0 0 0 0.2em;
    text-transform: lowercase;
}
.login-form .or {
    border-bottom: 1px solid #cbcbcb;
    line-height: 0;
    margin: 2em 0;
}
.login-form .or span {
    background-color: #fff;
    color: #cbcbcb;
    font-size: 16px;
    height: 1em;
    padding: 0 0.5em;
}
.login-form .hint {
    color: #888;
    font-size: 80%;
}
.login-form button[type=submit] {
    display: block;
    margin: 1em auto;
}

.google-sign-in {
    font-family: 'roboto', sans-serif;
    display: inline-block;
    margin: 3px;
    border-radius: 2px;
    background-color: #4285F4;
    font-size: 12px;
    color: #fff;
    box-shadow: 0 0 1px rgba(0,0,0,0.12), 0 1px 1px rgba(0,0,0,0.24);
}
.google-sign-in img {
    float: left;
    padding: 8px;
    margin: 1px;
    border-radius: 1px;
    background-color: #fff; 
    width: 16px;
    height: 16px;
}
.google-sign-in span {
    line-height: 34px;
    margin: 0 1em;
}
.google-sign-in:hover,
.google-sign-in:focus {
    outline: none;
    text-decoration: none;
    box-shadow: 0 0 2px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.24), 0 0 0 3px rgba(66, 133, 244, 0.3);
}
.google-sign-in:active {
    background-color: #3367D6;
    box-shadow: 0 0 2px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.24);
}
.reset-password {
    text-decoration: underline;
    color: #70d2d7;
}
#account-help {
    float: right;
    padding: 0 0.576923077em;
    color: #888;
    font-size: 13px;
}
.yui3-skin-sam .yui3-panel.alma-message .yui3-widget-bd:before {
    content: '';
}
.validation-error {
    display: flex;
    align-items: center;
    margin: .5em auto;
    box-sizing: border-box;
    text-align: left;
    padding: 1em;
}
.validation-error i {
    font-size: 2em;
    color: #f8aa52;
    margin-right: .5em;
}
.validation-error .error {
    font-weight: bold;
    display: block;
}
@media screen and (max-width: 500px) {
    #login-form {
        box-sizing: border-box;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}
@media screen and (min-width: 48em) {
    body {
        background: #f8f7f7;
    }
    #header {
        border-bottom: none;
    }
    .login-form > fieldset,
    .login-wrapper,
    .reset-confirmation {
        background: #fff;
        border-radius: 5px;
        border: 2px solid #ddd;
        box-sizing: border-box;
        margin: 0 auto;
        max-width: 400px;
        overflow: hidden;
    }
    .login-wrapper {
        position: static;
        display: flex;
        max-width: 48em;
        margin: 2em auto;
    }
    .login-wrapper .reset-confirmation,
    .login-wrapper .login-form > fieldset {
        margin: 0;
        border-radius: 0;
        border: none;
        width: auto;
    }
    .login-wrapper > * {
        flex: 1;
        padding-left: 1em;
        padding-right: 1em;
    }
    .login-wrapper fieldset {
        padding: 3em 0;
    }
    #marketing {
        position: relative;
        padding-bottom: 5em;
    }
    .validation-error {
        border: 1px solid #f8aa52;
        max-width: 48em;
        border-radius: 5px;
    }
}
