body {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    height: 100vh;
}

header.sticky .header-top {
    display: flex !important;
}
header.sticky .header-nav {
    position: relative !important;
}

.login-container {
    position: relative;
    height: 100%;
    padding: 5em;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.login-container > h3 {
    font-size: 1.3em;
    font-weight: 700;
    margin-top: 0;
}

.login-container form {
    border: dashed 2px var(--kbsb-dark);
    width: 280px;
    padding: 2em;
}

.login-container a {
    font-weight: 600;
}

.login-container .note {
    text-align: center;
    font-size: 0.9em;
}

.login-container .note.note-2 {
    font-size: 0.8em;
}

@media all and (max-width: 767px){
    .login-container {
        padding: 2em;
    }
}