body {
    background-color: var(--page-bg-color) !important;
}

header {
    height: 80px; /* match height of .navbar-brand in sharp.css */
}

@media screen and (max-width: 767px) {
    header {
        height: 65px; /* match height of .navbar-brand in sharp.css */
    }
    .login.row.mt50 {
        margin-top: 0;
    }
}

@media screen and (max-width: 480px) {
    .login h3.h5 {
        font-size: 3.75vw !important; /* shrink text on smaller display - keeps text on one line */
    }
}

.container.login_container {
    background-color: var(--page-bg-color);
}

.login {
    background-color: white;
}

.login .login_header {
    max-width: initial;
}

.login .greyBtn {
    background-color: var(--light-grey);
    color: var(--dark-grey);
    border-color: var(--light-grey);
}

.login .linkBtn {
    font-size: 1em;
}

p.hr_text {
    color: var(--light-grey);
    font-weight: 600;
    display: flex;
    flex-direction: row;
    margin-bottom: 0;
}
p.hr_text:before, p.hr_text:after {
    border-bottom: 3px solid var(--light-grey);
    content: "";
    flex: 1 1;
    margin: auto;
}
p.hr_text > span {
    padding: 0 1em;
}

.login .input-group label {
    font-size: inherit;
    font-weight: 400;
}
.login .input-group:focus-within label {
    font-weight: 600;
}

.footer-upper.container {
    background-color: var(--page-bg-color);
}

:root {
    --light-grey: #dedede;
    --dark-grey: #58595b;
    --page-bg-color: #eee;
}