html, body, form {
    height: 100%;
    font-family: SFS, Arial, sans-serif;
    color: #16325c;
}

body {
    padding: 0px;
    margin: 0 auto;
    font-size: .8125rem;
}

h2 {
    font-size: 1.125rem;
    font-family: SFSLight, Arial, sans-serif;
}

.pr {
    position: relative;
}

.mb12 {
    margin-bottom: .75rem;
}

.mb16 {
    margin-bottom: 1rem;
}

.mb24 {
    margin-bottom: 1.5rem;
}

.mt8 {
    margin-top: .5rem;
}

.r4 {
    border-radius: 4px !important;
}

img {
    vertical-align: middle;
    border: 0;
}

.label {
    font-size: 12px;
    color: #54698d;
    margin: 0 0 8px 0;
    line-height: inherit;
}

div, form {
    margin: 0px;
    padding: 0px;
}


.button {
    padding: 5px 24px;
    border-radius: 4px;
    border: 0 !important;
    font-size: .8125rem;
    font-family: SFS, Arial, sans-serif;
    color: white !important;
    background-color: #D8DDE6;
    cursor: pointer !important;
    background-image: none !important;
}

.primary {
    background-color: #0070d2;
    color: white!important;
    transition: all 0.1s;
    border: 1px solid transparent;
}

    .primary:hover, .primary:focus {
        background-color: #005fb2 !important;
    }

.wide {
    width: 100%;
}

input {
    height: auto !important;
}

    input.input,
    select.input,
    input.answer-input.input,
    input.password-input.input {
        border: 1px solid #D8DDE6;
        border-radius: 4px !important;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
        background-color: #fff !important;
        font-family: SFS, Arial, sans-serif;
        box-sizing: border-box;
        -webkit-appearance: none;
        font-size: .8125rem;
        transition: all 0.1s;
        line-height: 0.01rem !important;
    }

.input {
    padding: 12px!important;
}

input[type='submit'] {
    -webkit-appearance: none;
    /* color: white !important; */
}


.username {
    display: block!important;
}

.password {
    display: block;
}

#wrapper {
    padding: 20px 0px 0px 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: auto;
    margin-right: auto;
    max-width: 380px;
    -moz-transition: all 0.25s;
    -webkit-transition: all 0.25s;
    -o-transition: all 0.25s;
    transition: all 0.25s;
}

.standard_logo_wrapper {
    height: 113px;
    overflow: hidden;
    width: 180px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: table;
}

.standard_logo {
    margin-left: auto;
    margin-right: auto;
    vertical-align: middle;
    max-width: 180px;
    max-height: 113px;
}

#header {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 1.5rem;
    font-family: SFSLight, Arial, sans-serif;
    display: block;
}

#wrap {
    min-height: 100%;
}

#main {
    overflow: auto;
    padding-bottom: 48px;
}

#footer {
    position: relative;
    margin-top: -24px;
    height: 24px;
    width: 100%;
    clear: both;
    text-align: center;
    font-size: .75rem;
}

#content {
    margin: 0px auto;
    padding: 1.25rem;
    border-radius: 0.25rem;
    border: 1px solid #D8DDE6;
    color: #16325c;
}

#left {
    display: table-cell;
    height: 100%;
}

.inputgroup {
    position: relative;
}

.loginError {
    color: #C23934;
    margin-bottom: -30px;
    font-size: 12px;
}

@media only screen and (max-width: 1024px) {
    #left {
        width: 100%;
    }

    #right {
        display: none;
    }
}

@media only screen and (max-width: 480px) {
    #wrapper {
        max-width: 100%;
        margin-left: inherit;
        left: inherit;
        padding-top: 20px !important;
    }

    #content {
        border-left: 0px;
        border-right: 0px;
        border-radius: 0px;
    }

    .button {
        font-size: 1rem;
    }

    .label, .small, #footer {
        font-size: .875rem;
    }

    /* font must be at least 16px to prevent auto-zooming on iOS devices */
    input.input {
        font-size: 1rem;
    }
}

@media only screen and (min-height: 1200px) {
    #wrapper {
        padding-top: 240px;
    }
}

@media only screen and (max-height: 1200px) {
    #wrapper {
        padding-top: 180px;
    }
}

@media only screen and (max-height: 1000px) {
    #wrapper {
        padding-top: 140px;
    }
}

@media only screen and (max-height: 900px) {
    #wrapper {
        padding-top: 100px;
    }
}

@media only screen and (max-height: 736px) {
    #wrapper {
        padding-top: 60px;
    }
}

@media only screen and (max-height: 670px) {
    #wrapper {
        padding-top: 40px;
    }
}

@media only screen and (max-height: 610px) {
    #wrapper {
        padding-top: 20px;
    }
}
