body {
    display: flex;
    flex-direction: column;
}

.login-pf body {
    background: var(--plusserver-white) none;
}

.kc-logo-text {
    display: none;
}

#kc-header::before {
    content: url(../img/logo_plusserver_blue.svg);
    display: block;
    margin: auto;
    padding-bottom: 10px;
    max-width: 300px;
}

#kc-header-wrapper {
    margin-top: 15px;
    padding: 20px 0;
    color: unset !important;
    letter-spacing: 3px;
    text-transform: none;
}

#kc-header {
    text-align: center;
    color: var(--plusserver-dark-grey);
}

.pf-v5-c-login {
    align-items: unset;
    --pf-v4-c-login__container--MaxWidth: 30rem;
}

.pf-v5-c-login__main {
    background-color: var(--plusserver-blue-background);
    border-top: 4px solid var(--plusserver-blue);
}

.pf-v5-c-login__main-header {
    grid-template-columns: unset !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.pf-v5-c-login__main-header-utilities {
    order: -1;
    align-self: end;
}

.pf-v5-c-login__main-header-utilities select {
    font-size: var(--pf-v5-global--FontSize--xs);
}

.pf-v5-c-login__main-header-utilities .pf-v5-c-form-control::before, .pf-v5-c-login__main-header-utilities .pf-v5-c-form-control::after {
    border: none;
}

.pf-v5-c-login__container {
    grid-template-areas:
        "header"
        "main"
        "footer";
}

footer.footer {
    grid-area: footer;
}

.custom-signup-container {
    text-align: center;
}

.custom-signup-container h4 {
    margin: 15px 0;
}

@media (prefers-color-scheme: dark) {
    .login-pf body {
        background: #222222 none;
    }

    .pf-v5-c-login__main {
        background-color: var(--plusserver-dark-grey);
    }

    #kc-header::before {
        content: url(../img/logo_plusserver_white.svg);
    }

    #kc-header {
        text-align: center;
        color: var(--plusserver-white);
    }

    body, h1, h2, h3, h4, h5, h6 {
        color: var(--plusserver-white);
    }
}

@media (max-width: 767px) {
    #kc-header-wrapper {
        padding: 0;
        text-align: center;
        font-weight: inherit;
        font-size: 24px;
    }
}
