/* Patternfly CSS places a "bg-login.jpg" as the background on this ".login-pf" class.
   This clashes with the "keycloak-bg.png' background defined on the body below.
   Therefore the Patternfly background must be set to none. */

@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: local('Raleway'), local('Raleway-Regular'),
        url(../Fonts/Raleway/raleway-v29-latin-regular.woff2) format('woff2');
}
@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 700;
    font-display: block;
    src: local('Raleway Bold'), local('Raleway-Bold'),
        url(../Fonts/Raleway/raleway-v29-latin-700.woff2) format('woff2');
}
@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 300;
    font-display: block;
    src: local('Fira Sans Light'), local('FiraSans-Light'),
        url(../Fonts/FiraSans/fira-sans-v17-latin-300.woff2) format('woff2');
}
@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: local('Fira Sans'), local('FiraSans-Regular'),
        url(../Fonts/FiraSans/fira-sans-v17-latin-regular.woff2) format('woff2');
}
@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 600;
    font-display: block;
    src: local('Fira Sans Semi Bold'), local('FiraSans-SemiBold'),
        url(../Fonts/FiraSans/fira-sans-v17-latin-600.woff2) format('woff2');
}
@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 700;
    font-display: block;
    src: local('Fira Sans Bold'), local('FiraSans-Bold'),
        url(../Fonts/FiraSans/fira-sans-v17-latin-700.woff2) format('woff2');
}



:root {
    --brand-font-family: 'Raleway', 'Calibri', 'Helvetica Neue', 'Arial', sans-serif;
    --brand-secondary-font-family: 'Fira Sans', 'Calibri', 'Helvetica Neue', 'Arial', sans-serif;

    --font-weight-bold: 700;
    --font-weight-regular: 500;
    --font-weight-normal: 400;
    --font-weight-light: 300;

    --font-size-h1: 1.5rem;
    --font-size-h2: 1.25rem;
    --font-size-small: .875rem;
    --font-size-normal: 1rem;

    --brand-white: #fff;
    --brand-black: #252525;
    --brand-blue-500: #29487e;
    --brand-blue-600: #20396b;
    --brand-mono-400: #a9a9a9;

    --spacing-xxs: .5rem;
    --spacing-xs: 1rem;
    --spacing-s: 1.5rem;
    --spacing-m: 2rem;
    --spacing-l: 3rem;
    --spacing-xl: 4rem;

    /* Variables that are missing in patternfly v5 */
}



@media (min-width: 996px) {



:root {
        --font-size-h1: 3.75rem;
        --font-size-h2: 2rem;
}
    }



:root {
    --pf-c-form-control--Height: calc(1rem * 1.5 + 1px * 2 + calc(.375rem - 1px) + calc(.375rem - 1px));
    --pf-c-form__helper-text--FontSize: .75rem;
    --pf-global--danger-color--200: #a30000;
    --pf-c-form__helper-text--Color: var(--pf-global--danger-color--200);
    --success-contrast-color: #3e8635;
    --pf-global--FontSize--xs: .75rem;
}

.login-pf {
    background: none;
}

body {
    background: #29487e;
    background: var(--brand-blue-500);
    font-family: 'Raleway', 'Calibri', 'Helvetica Neue', 'Arial', sans-serif;
    font-family: var(--brand-font-family);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

body * {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
}

input[type=password]::-ms-reveal,
input[type=password]::-ms-clear {
    display: none !important;
}

.background-image__top {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.background-image__top img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }

.background-image__center {
    position: absolute;
    z-index: 2;
    top: 25vh;
    background-color: #29487e;
    background-color: var(--brand-blue-500);
    width: 100%;
    height: calc(100% - 25vh);
}

.background-image__center img {
        display: none;
        width: 100%;
        height: 100%;
    }

@media (min-width: 768px) {

.background-image__center {
        top: 35vh;
        height: calc(100% - 35vh)
}
        .background-image__center img {
            display: block;
            -o-object-fit: cover;
               object-fit: cover;
        }
    }

@media (min-width: 996px) {

.background-image__center {
        top: 38vh;
        height: calc(100% - 38vh)
}
    }

.login-pf-page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.5rem 1rem;
    padding: var(--spacing-s) var(--spacing-xs);
    z-index: 3;
}

@media (min-width: 768px) {

.login-pf-page {
        padding: calc(1.5 * 4rem) 2rem 3rem;
        padding: calc(1.5 * var(--spacing-xl)) var(--spacing-m) var(--spacing-l)
}
    }

@media (min-width: 996px) {

.login-pf-page {
        padding: 4rem 3rem 6.875rem;
        padding: var(--spacing-xl) var(--spacing-l) 6.875rem
}
    }

.login-pf-page .card-pf {
        border: 0;
        -webkit-box-shadow: none;
                box-shadow: none;
        padding: 0;
        margin: 0;
        background-color: transparent;
        width: 100%;
        max-width: 82.5rem;
        margin-right: auto;
        margin-left: auto;
    }

.login-pf-page .login-form__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }

.login-pf-page .login-form__header .logo {
            color: #fff;
            color: var(--brand-white);
        }

@media (min-width: 996px) {

.login-pf-page .login-form__header .logo {
                padding-top: .5rem;
                padding-top: var(--spacing-xxs)
        }

                .login-pf-page .login-form__header .logo svg {
                    width: 224px;
                    height: 72px;
                }
            }

.login-pf-page .login-form__header__welcome {
        width: 100%;
        max-width: 14.5rem;
        padding-bottom: 2rem;
        padding-bottom: var(--spacing-m);
    }

@media (min-width: 768px) {

.login-pf-page .login-form__header__welcome {
            padding-bottom: 4rem;
            padding-bottom: var(--spacing-xl);
            max-width: 58.375rem
    }
        }

@media (min-width: 996px) {

.login-pf-page .login-form__header__welcome {
            padding-bottom: 5.625rem
    }
        }

.login-pf-page .login-form__header__welcome .title {
            font-weight: 700;
            font-weight: var(--font-weight-bold);
            font-size: 1.5rem;
            font-size: var(--font-size-h1);
            line-height: 2rem;
            color: #fff;
            color: var(--brand-white);
        }

@media (min-width: 996px) {

.login-pf-page .login-form__header__welcome .title {
                line-height: 4.375rem;
                padding-bottom: 1rem;
                padding-bottom: var(--spacing-xs)
        }
            }

.login-pf-page .login-form__header__welcome .subtitle {
            text-align: left;
            margin-top: 0;
            margin-bottom: 0;
            color: #fff;
            color: var(--brand-white);
            font-weight: 400;
            font-weight: var(--font-weight-normal);
            font-size: .875rem;
            font-size: var(--font-size-small);
            line-height: 2.25rem;
        }

@media (min-width: 996px) {

.login-pf-page .login-form__header__welcome .subtitle {
                font-size: 1.25rem;
                line-height: 2.25rem
        }
            }

.login-pf-page .login-form__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        isolation:isolate;
    }

.login-pf-page .login-form__container__form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        padding: 1.5rem;
        padding: var(--spacing-s);
        background-color: #fff;
        background-color: var(--brand-white);
        border-radius: 10px;
        color: #252525;
        color: var(--brand-black);
        width: 100%;
        max-width: 500px;
        z-index: 1;
    }

@media (min-width: 768px) {

.login-pf-page .login-form__container__form {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0
    }
        }

@media (min-width: 996px) {

.login-pf-page .login-form__container__form {
            padding: 4rem 2.5rem;
            padding: var(--spacing-xl) 2.5rem;
            max-width: -moz-fit-content;
            max-width: -webkit-fit-content;
            max-width: fit-content;
            min-width: 36rem;
            min-height: 36rem;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center
    }
        }

.login-pf-page .login-form__container__right-side-image {
        display: none;
        position: absolute;
        height: 100%;
        right: 0;
    }

@media (min-width: 768px) {

.login-pf-page .login-form__container__right-side-image {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end
    }

            .login-pf-page .login-form__container__right-side-image img {
                border-radius: 10px;
                height: 100%;
            }
        }

.login-pf-page .login-form__container h1#kc-page-title {
        margin-top: 0 !important;
    }

.login-pf-page .login-form__container h1#kc-page-title {
        font-weight: 700;
        font-weight: var(--font-weight-bold);
        font-size: 1.25rem;
        font-size: var(--font-size-h2);
        line-height: 1.25;
        margin-bottom: 2rem;
        margin-bottom: var(--spacing-m);
        text-align: left;
    }

@media (min-width: 996px) {

.login-pf-page .login-form__container h1#kc-page-title {
            margin-bottom: 3rem;
            margin-bottom: var(--spacing-l);
            width: 100%;
            max-width: 33.5rem
    }
        }

.login-pf-page .login-form__container .login-pf-header,
    .login-pf-page .login-form__container #kc-content-wrapper,
    .login-pf-page .login-form__container #kc-form-wrapper,
    .login-pf-page .login-form__container .form-group.login-pf-settings,
    .login-pf-page .login-form__container #kc-form-buttons {
        margin: 0;
    }

.login-pf-page .login-form__container .form-group {
        margin-bottom: calc(1.5rem + .5rem / 2);
        margin-bottom: calc(var(--spacing-s) + var(--spacing-xxs) / 2);
        position: relative;
        width: 100%;
        max-width: 26.5rem;
    }

.login-pf-page .login-form__container .form-group .pf-c-form__label {
            font-weight: 700;
            font-weight: var(--font-weight-bold);
            font-size: .875rem;
            font-size: var(--font-size-small);
            line-height: 1.6;
            padding-bottom: calc(.5rem * .75);
            padding-bottom: calc(var(--spacing-xxs) * .75);
        }

.login-pf-page .login-form__container .form-group .pf-c-form-control {
            padding: .75rem .875rem .75rem 1rem;
            background: #fff;
            background: var(--brand-white);
            border: 1px solid #a9a9a9;
            border: 1px solid var(--brand-mono-400);
            border-radius: 5px;
            font-family: 'Fira Sans', 'Calibri', 'Helvetica Neue', 'Arial', sans-serif;
            font-family: var(--brand-secondary-font-family);
        }

.login-pf-page .login-form__container .form-group .password-icon {
            position: absolute;
            top: 2.375rem;
            right: 1rem;
            cursor: pointer;
        }

.login-pf-page .login-form__container .form-group .password-icon.warning {
            color: #ef7d14;
        }

.login-pf-page .login-form__container .form-group .password-reminder {
            padding-top: calc(.5rem * .75);
            padding-top: calc(var(--spacing-xxs) * .75);
            text-align: right;

        }

.login-pf-page .login-form__container .form-group .password-reminder a {
                color: #252525;
                color: var(--brand-black);
                font-weight: 300;
                font-weight: var(--font-weight-light);
                font-size: .875rem;
                font-size: var(--font-size-small);
                font-family: 'Fira Sans', 'Calibri', 'Helvetica Neue', 'Arial', sans-serif;
                font-family: var(--brand-secondary-font-family);
                line-height: 1.6;
                letter-spacing: .01em;
            }

.login-pf-page #kc-form-buttons .pf-c-button.pf-m-primary.pf-m-block.btn-lg {
        padding: .5rem .5rem .5rem 1rem;
        padding: var(--spacing-xxs) var(--spacing-xxs) var(--spacing-xxs) var(--spacing-xs);
        border-radius: 5px;
        text-align: left;
        color: #fff;
        color: var(--brand-white);
        background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcgM0g5VjVIN1YzWiIgZmlsbD0iI2ZmZmZmZiIvPgo8cGF0aCBkPSJNOSA1SDExVjdIOVY1WiIgZmlsbD0iI2ZmZmZmZiIvPgo8cGF0aCBkPSJNMTEgN0gxM1Y5SDExVjdaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik0xMyA5SDE1VjExSDEzVjlaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik0xNSAxMUgxN1YxM0gxNVYxMVoiIGZpbGw9IiNmZmZmZmYiLz4KPHBhdGggZD0iTTEzIDEzSDE1VjE1SDEzVjEzWiIgZmlsbD0iI2ZmZmZmZiIvPgo8cGF0aCBkPSJNMTEgMTVIMTNWMTdIMTFWMTVaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik05IDE3SDExVjE5SDlWMTdaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik03IDE5SDlWMjFIN1YxOVoiIGZpbGw9IiNmZmZmZmYiLz4KPC9zdmc+Cg==) no-repeat #29487e;
        background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcgM0g5VjVIN1YzWiIgZmlsbD0iI2ZmZmZmZiIvPgo8cGF0aCBkPSJNOSA1SDExVjdIOVY1WiIgZmlsbD0iI2ZmZmZmZiIvPgo8cGF0aCBkPSJNMTEgN0gxM1Y5SDExVjdaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik0xMyA5SDE1VjExSDEzVjlaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik0xNSAxMUgxN1YxM0gxNVYxMVoiIGZpbGw9IiNmZmZmZmYiLz4KPHBhdGggZD0iTTEzIDEzSDE1VjE1SDEzVjEzWiIgZmlsbD0iI2ZmZmZmZiIvPgo8cGF0aCBkPSJNMTEgMTVIMTNWMTdIMTFWMTVaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik05IDE3SDExVjE5SDlWMTdaIiBmaWxsPSIjZmZmZmZmIi8+CjxwYXRoIGQ9Ik03IDE5SDlWMjFIN1YxOVoiIGZpbGw9IiNmZmZmZmYiLz4KPC9zdmc+Cg==) no-repeat var(--brand-blue-500);
        background-size: 1.25rem 1.25rem;
        background-position: calc(100% - .5rem) 50%;
        font-weight: 500;
        font-weight: var(--font-weight-regular);
        font-size: 1rem;
        font-size: var(--font-size-normal);
        line-height: 1.25;
        width: 100%;
        max-width: 26.5rem;
    }

.login-pf-page #kc-form {
        padding-bottom: 2rem;
        padding-bottom: var(--spacing-m);
    }

.login-pf-page .login-form__contact,
    .login-pf-page .kc-passwort-reset-anchor,
    .login-pf-page #kc-form-options {
        font-family: 'Fira Sans', 'Calibri', 'Helvetica Neue', 'Arial', sans-serif;
        font-family: var(--brand-secondary-font-family);
        font-weight: 300;
        font-weight: var(--font-weight-light);
        font-size: 1rem;
        font-size: var(--font-size-normal);
        line-height: 1.25;
        letter-spacing: .01em;
    }

.login-pf-page .login-form__contact p, .login-pf-page .kc-passwort-reset-anchor p, .login-pf-page #kc-form-options p {
            color: #252525;
            color: var(--brand-black);
            margin: 0;
            padding-bottom: .5rem;
            padding-bottom: var(--spacing-xxs);
        }

.login-pf-page .login-form__contact .contact-link,
        .login-pf-page .login-form__contact a,
        .login-pf-page .kc-passwort-reset-anchor .contact-link,
        .login-pf-page .kc-passwort-reset-anchor a,
        .login-pf-page #kc-form-options .contact-link,
        .login-pf-page #kc-form-options a {
            color: #252525;
            color: var(--brand-black);
            -webkit-text-decoration: underline;
            text-decoration: underline;
            font-weight: 300;
            font-weight: var(--font-weight-light);
        }

.login-pf-page .login-form__contact .contact-link:hover, .login-pf-page .login-form__contact a:hover, .login-pf-page .kc-passwort-reset-anchor .contact-link:hover, .login-pf-page .kc-passwort-reset-anchor a:hover, .login-pf-page #kc-form-options .contact-link:hover, .login-pf-page #kc-form-options a:hover {
                -webkit-text-decoration: none;
                text-decoration: none;
            }

.page-footer {
    color: #fff;
    color: var(--brand-white);
    background-color: #20396b;
    background-color: var(--brand-blue-600);
    padding: 2rem 1rem;
    padding: var(--spacing-m) var(--spacing-xs);
    z-index: 3;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

@media (min-width: 768px) {

.page-footer {
        padding: 1rem 2rem;
        padding: var(--spacing-xs) var(--spacing-m)
}
    }

@media (min-width:996px) {

.page-footer {
        padding-right: 3rem;
        padding-right: var(--spacing-l);
        padding-left: 3rem;
        padding-left: var(--spacing-l)
}
    }

.page-footer .page-footer__content {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        row-gap: 1.5rem;
        row-gap: var(--spacing-s);
        width: 100%;
        max-width: 82.5rem;
        margin-right: auto;
        margin-left: auto;
    }

@media (min-width: 768px) {

.page-footer .page-footer__content {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -moz-column-gap: 1.5rem;
                 -webkit-column-gap: 1.5rem;
                 column-gap: 1.5rem;
            -moz-column-gap: var(--spacing-s);
                 -webkit-column-gap: var(--spacing-s);
                 column-gap: var(--spacing-s);
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            max-height: 3.15rem
    }
        }

.page-footer .page-footer__links {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 1.5rem;
        row-gap: var(--spacing-s);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

@media (min-width: 768px) {

.page-footer .page-footer__links {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -moz-column-gap: 1.5rem;
                 -webkit-column-gap: 1.5rem;
                 column-gap: 1.5rem;
            -moz-column-gap: var(--spacing-s);
                 -webkit-column-gap: var(--spacing-s);
                 column-gap: var(--spacing-s);
            -webkit-box-align: start;
                -ms-flex-align: start;
                    align-items: flex-start
    }
        }

.page-footer .page-footer__links a {
            color: #fff;
            color: var(--brand-white);
            font-size: 1rem;
            font-size: var(--font-size-normal);
            font-weight: 700;
            font-weight: var(--font-weight-bold);
            line-height: 1.25rem;
        }

.page-footer .page-footer__links a:hover {
            color: #fff;
            color: var(--brand-white);
        }

.anag-tempalte .ccm-root .ccm-settings-summoner {
    bottom: 1rem;
    right: 1rem;
    left: auto;
    left: initial;
}

@media (min-width: 768px) {

.anag-tempalte .ccm-root .ccm-settings-summoner {
        bottom: 5rem;
        right: 2rem
}
    }

@media (min-width: 996px) {

.anag-tempalte .ccm-root .ccm-settings-summoner {
        right: 3rem
}
    }

@media (min-width: 1410px) {

.anag-tempalte .ccm-root .ccm-settings-summoner {
        right: 3.75rem
}
    }

textarea.pf-c-form-control {
    height: auto;

}

p.instruction {
    margin: 5px 0;
}

.pf-c-button.pf-m-control {
    border: solid var(--pf-global--BorderWidth--sm);
    border-color: rgba(230, 230, 230, .5);
}

h1#kc-page-title {
    margin-top: 10px;
}

#kc-locale ul {
    background-color: var(--pf-global--BackgroundColor--100);
    display: none;
    top: 20px;
    min-width: 100px;
    padding: 0;
}

#kc-locale-dropdown {
    display: inline-block;
}

#kc-locale-dropdown:hover ul {
    display:block;
}

#kc-locale-dropdown a {
    color: var(--pf-global--Color--200);
    text-align: right;
    font-size: var(--pf-global--FontSize--sm);
}

a#kc-current-locale-link::after {
    content: '\2c5';
    margin-left: var(--pf-global--spacer--xs);
}

.login-pf .container {
    padding-top: 40px;
}

.login-pf a:hover {
    color: #0099d3;
}

#kc-logo {
    width: 100%;
}

div.kc-logo-text {
    background-image: url(../img/keycloak-logo-text.png);
    background-repeat: no-repeat;
    height: 63px;
    width: 300px;
    margin: 0 auto;
}

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

#kc-header {
    color: #ededed;
    overflow: visible;
    white-space: nowrap;
}

#kc-header-wrapper {
    font-size: 29px;
    text-transform: uppercase;
    letter-spacing: 3px;
    line-height: 1.2em;
    padding: 62px 10px 20px;
    white-space: normal;
}

#kc-content {
    width: 100%;
}

#kc-attempted-username {
    font-size: 20px;
    font-family: inherit;
    font-weight: normal;
    padding-right: 10px;
}

#kc-username {
    text-align: center;
    margin-bottom:-10px;
}

#kc-webauthn-settings-form {
    padding-top: 8px;
}

#kc-form-webauthn .select-auth-box-parent {
    pointer-events: none;
}

#kc-form-webauthn .select-auth-box-desc {
    color: var(--pf-global--palette--black-600);
}

#kc-form-webauthn .select-auth-box-headline {
    color: var(--pf-global--Color--300);
}

#kc-form-webauthn .select-auth-box-icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 3em;
            flex: 0 0 3em;
}

#kc-form-webauthn .select-auth-box-icon-properties {
    margin-top: 10px;
    font-size: 1.8em;
}

#kc-form-webauthn .select-auth-box-icon-properties.unknown-transport-class {
    margin-top: 3px;
}

#kc-form-webauthn .pf-l-stack__item {
    margin: -1px 0;
}

#kc-content-wrapper {
    margin-top: 20px;
}

#kc-form-wrapper {
    margin-top: 10px;
}

#kc-info {
    margin: 20px -40px -30px;
}

#kc-info-wrapper {
    font-size: 13px;
    padding: 15px 35px 35px;
}

#kc-form-options span {
    display: block;
}

#kc-form-options .checkbox {
    margin-top: 0;
    color: #72767b;
}

#kc-terms-text {
    margin-bottom: 20px;
}

#kc-registration-terms-text {
    max-height: 100px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 5px;
}

#kc-registration {
    margin-bottom: 0;
}

/* TOTP */

.subtitle {
    text-align: right;
    margin-top: 30px;
    color: #909090;
}

.required {
    color: #a30000;
    color: var(--pf-global--danger-color--200);
}

ol#kc-totp-settings {
    margin: 0;
    padding-left: 20px;
}

ul#kc-totp-supported-apps {
    margin-bottom: 10px;
}

#kc-totp-secret-qr-code {
    max-width:150px;
    max-height:150px;
}

#kc-totp-secret-key {
    background-color: #fff;
    color: #333;
    font-size: 16px;
    padding: 10px 0;
}

/* OAuth */

#kc-oauth h3 {
    margin-top: 0;
}

#kc-oauth ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#kc-oauth ul li {
    border-top: 1px solid rgba(255, 255, 255, .1);
    font-size: 12px;
    padding: 10px 0;
}

#kc-oauth ul li:first-of-type {
    border-top: 0;
}

#kc-oauth .kc-role {
    display: inline-block;
    width: 50%;
}

/* Code */
#kc-code textarea {
    width: 100%;
    height: 8em;
}

/* Social */
.kc-social-links {
    margin-top: 20px;
}

.kc-social-links li {
    width: 100%;
}

.kc-social-provider-logo {
    font-size: 23px;
    width: 30px;
    height: 25px;
    float: left;
}

.kc-social-gray {
    color: var(--pf-global--Color--200);
}

.kc-social-item {
    margin-bottom: var(--pf-global--spacer--sm);
    font-size: 15px;
    text-align: center;
}

.kc-social-provider-name {
    position: relative;
}

.kc-social-icon-text {
    left: -15px;
}

.kc-social-grid {
    display:grid;
    grid-column-gap: 10px;
    grid-row-gap: 5px;
    grid-column-end: span 6;
    --pf-l-grid__item--GridColumnEnd: span 6;
}

.kc-social-grid .kc-social-icon-text {
    left: -10px;
}

.kc-login-tooltip {
    position: relative;
    display: inline-block;
}

.kc-social-section {
    text-align: center;
}

.kc-social-section hr {
    margin-bottom: 10px;
}

.kc-login-tooltip .kc-tooltip-text {
    top:-3px;
    left:160%;
    background-color: #000;
    visibility: hidden;
    color: #fff;

    min-width:130px;
    text-align: center;
    border-radius: 2px;
    -webkit-box-shadow:0 1px 8px rgba(0,0,0,.6);
            box-shadow:0 1px 8px rgba(0,0,0,.6);
    padding: 5px;

    position: absolute;
    opacity:0;
    -webkit-transition:opacity .5s;
    transition:opacity .5s;
}

/* Show tooltip */
.kc-login-tooltip:hover .kc-tooltip-text {
    visibility: visible;
    opacity: .7;
}

/* Arrow for tooltip */
.kc-login-tooltip .kc-tooltip-text::after {
    content: ' ';
    position: absolute;
    top: 15px;
    right: 100%;
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent #000 transparent transparent;
}

@media (min-width: 768px) {
    #kc-container-wrapper {
        position: absolute;
        width: 100%;
    }

    .login-pf .container {
        padding-right: 80px;
    }

    #kc-locale {
        position: relative;
        text-align: right;
        z-index: 9999;
    }
}
@media (max-width: 767px) {
    #kc-header {
        padding-left: 15px;
        padding-right: 15px;
        float: none;
        text-align: left;
    }

    #kc-header-wrapper {
        font-size: 16px;
        font-weight: bold;
        padding: 20px 60px 0 0;
        color: #72767b;
        letter-spacing: 0;
    }

    div.kc-logo-text {
        margin: 0;
        width: 150px;
        height: 32px;
        background-size: 100%;
    }

    #kc-form {
        float: none;
    }

    #kc-info-wrapper {
        border-top: 1px solid rgba(255, 255, 255, .1);
        background-color: transparent;
    }

    .login-pf .container {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    #kc-locale {
        position: absolute;
        width: 200px;
        top: 20px;
        right: 20px;
        text-align: right;
        z-index: 9999;
    }
}
@media (min-height: 646px) {
    #kc-container-wrapper {
        bottom: 12%;
    }
}
@media (max-height: 645px) {
    #kc-container-wrapper {
        padding-top: 50px;
        top: 20%;
    }
}

.card-pf form.form-actions .btn {
    float: right;
    margin-left: 10px;
}

#kc-form-buttons {
    margin-top: 20px;
}

.login-pf-page .login-pf-brand {
    margin-top: 20px;
    max-width: 360px;
    width: 40%;
}

.select-auth-box-arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 2rem;
}

.select-auth-box-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 2em;
            flex: 0 0 2em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 1rem;
    margin-left: 3rem;
}

.select-auth-box-parent {
    border-top: 1px solid var(--pf-global--palette--black-200);
    padding-top: 1rem;
    padding-bottom: 1rem;
    cursor: pointer;
}

.select-auth-box-parent:hover {
    background-color: #f7f8f8;
}

.select-auth-container {
    padding-bottom: 0 !important;
}

.select-auth-box-headline {
    font-size: var(--pf-global--FontSize--md);
    color: var(--pf-global--primary-color--100);
    font-weight: bold;
}

.select-auth-box-desc {
    font-size: var(--pf-global--FontSize--sm);
}

.select-auth-box-paragraph {
    text-align: center;
    font-size: var(--pf-global--FontSize--md);
    margin-bottom: 5px;
}

.card-pf {
    margin: 0 auto;
    -webkit-box-shadow: var(--pf-global--BoxShadow--lg);
            box-shadow: var(--pf-global--BoxShadow--lg);
    padding: 0 20px;
    max-width: 500px;
    border-top: 4px solid;
    border-color: var(--pf-global--primary-color--100);
}

/*phone*/
@media (max-width: 767px) {
    .login-pf-page .card-pf {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        -webkit-box-shadow: 0 0;
                box-shadow: 0 0;
    }

    .kc-social-grid {
        grid-column-end: 12;
        --pf-l-grid__item--GridColumnEnd: span 12;
    }

    .kc-social-grid .kc-social-icon-text {
        left: -15px;
    }
}

.login-pf-page .login-pf-signup {
    font-size: 15px;
    color: #72767b;
}
#kc-content-wrapper .row {
    margin-left: 0;
    margin-right: 0;
}

.login-pf-page.login-pf-page-accounts {
    margin-left: auto;
    margin-right: auto;
}

.login-pf-page .btn-primary {
    margin-top: 0;
}

.login-pf-page .list-view-pf .list-group-item {
    border-bottom: 1px solid #ededed;
}

.login-pf-page .list-view-pf-description {
    width: 100%;
}

#kc-form-login div.form-group:last-of-type,
#kc-register-form div.form-group:last-of-type,
#kc-update-profile-form div.form-group:last-of-type,
#kc-update-email-form div.form-group:last-of-type {
    margin-bottom: 0;
}

.no-bottom-margin {
    margin-bottom: 0;
}

#kc-back {
    margin-top: 5px;
}

/* Keycloak 26 changes */
.pf-c-form-control {
    width: 100%;
}

.pf-c-form-control:not(textarea) {
    height: calc(1rem * 1.5 + 1px * 2 + (.375rem - 1px) + (.375rem - 1px));
    height: calc(1rem * 1.5 + 1px * 2 + calc(.375rem - 1px) + calc(.375rem - 1px));
    height: var(--pf-c-form-control--Height);
    text-overflow: ellipsis;
}

.form-group {
    text-align: left;
}

.form-group label,
.form-group input {
    display: inline-block;
}

.pf-c-button.pf-m-primary {
    border: none;
}

.pf-c-form__helper-text {
    font-size: .75rem;
    font-size: var(--pf-c-form__helper-text--FontSize);
    color: #a30000;
    color: var(--pf-c-form__helper-text--Color);
}

.form-group.login-pf-settings {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.alert-success {
    color: #363636;
    background-color: #e9f4e9;
    border-color: #3f9c35;
    -webkit-box-shadow: none;
            box-shadow: none;
    position: relative;
    display: grid;
    padding: 1rem;
    font-size: .875rem;
    border-top: 2px solid #3e8635;
    border-top: 2px solid var(--success-contrast-color);
    grid-template-columns: -webkit-max-content 1fr -webkit-max-content;
    grid-template-columns: max-content 1fr max-content;
    grid-template-areas: 'icon title action' '. description description' '. actiongroup actiongroup';
}

.pf-c-alert__icon {
    grid-area: icon;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: .0625rem;
    margin-right: .5rem;
    font-size: 1.125rem;
    color: #3e8635;
    color: var(--success-contrast-color);
}

.pf-c-alert__title {
    font-size: .75rem;
    font-size: var(--pf-global--FontSize--xs);
    grid-area: title;
    font-weight: 700;
    color: #1e4f18;
    word-break: break-word;
}

.fa-fw {
    width: 1.28571429em;
    text-align: center;
}
.fa {
    display: inline-block;
    /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
    font: normal normal normal 14px / 1 Font Awesome\ 5 Free;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fa-check-circle::before {
    content: '\f058';
}

/* Recovery codes */
.kc-recovery-codes-warning {
    margin-bottom: 32px;
}

.kc-recovery-codes-warning .pf-c-alert__description p {
    font-size: .875rem;
}
.kc-recovery-codes-list {
    list-style: none;
    -moz-columns: 2;
         -webkit-columns: 2;
         columns: 2;
    margin: 16px 0;
    padding: 16px 16px 8px;
    border: 1px solid #d2d2d2;
}
.kc-recovery-codes-list li {
    margin-bottom: 8px;
    font-size: 11px;
}
.kc-recovery-codes-list li span {
    color: #6a6e73;
    width: 16px;
    text-align: right;
    display: inline-block;
    margin-right: 1px;
}

.kc-recovery-codes-actions {
    margin-bottom: 24px;
}
.kc-recovery-codes-actions button {
    padding-left: 0;
}
.kc-recovery-codes-actions button i {
    margin-right: 8px;
}

.kc-recovery-codes-confirmation {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-bottom: 16px;
}
/* End Recovery codes */

/* Passwort Reset form*/
#kc-passwd-update-form .form-group, #kc-reset-password-form .form-group {
        margin-left: 0;
        margin-right: 0;
    }
#kc-passwd-update-form .form-group div, #kc-reset-password-form .form-group div {
            padding-left: 0;
            padding-right: 0;
        }
#kc-passwd-update-form .form-group #kc-form-options, #kc-reset-password-form .form-group #kc-form-options {
            padding: 1rem 0;
            padding: var(--spacing-xs) 0;
        }

#kc-reset-password-form + #kc-info {
    margin: 0;
}

#kc-reset-password-form + #kc-info #kc-info-wrapper {
        padding: 0;
        text-align: left;
        max-width: 26.5rem;
    }

.kc-passwort-reset-anchor {
    padding-top: 1rem;
    padding-top: var(--spacing-xs);

}
/* End Passwort Reset form*/

.pf-c-alert.pf-m-inline {
    max-width: 26.5rem;
    margin-bottom: 1rem;
    margin-bottom: var(--spacing-xs);
}

@media (min-width: 996px) {

.pf-c-alert.pf-m-inline {
        margin-bottom: 1.5rem;
        margin-bottom: var(--spacing-s)
}

    }

