body {
  display: flex;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
  background: #eee;
}

#kc-header>#kc-header-wrapper>.announcement {
	    font-size: medium;
    text-transform: none;
    line-height: normal;
    font-weight: 300;
    letter-spacing: normal;
    max-width: 420px;
    padding: 1em;
    margin-top: 5em;
    border-radius: .5em;
}

#social-rpi-konto {
    pointer-events: none;
    filter: opacity(50%);
}

.form-signin {
    margin: 0 auto;
    background: transparent;
    border-radius: .4rem;
    max-width: 500px;
    overflow: visible;
    display: inline-block;
}

form#kc-form-login .form-floating:nth-child(2) {
    margin-top: .4rem;
}

#kc-content,
.login-card {
    background: #fff;
    padding: 1em;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    text-align: center;
}

.form-control {
    height: 36px;
    border-radius: 20px;
}

.pf-c-input-group > .form-control {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right-color: transparent;
}

.pf-c-input-group > button.pf-m-control:after {
    -background-color: transparent;
    border-left-color: transparent;
    border-right-color: rgb(187 187 187);
    border-top-color: rgb(187 187 187);
    border-bottom-color: rgb(187 187 187);
    border-image-width: 1px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    background: unset;
}

.pf-c-input-group > button.pf-m-control > i {
    color: rgb(54, 54, 54);
}

.btn-lg.btn, .pf-c-button.pf-m-control.kc-social-item {
    border: unset!important;
    border-radius: 2em;
    background: #3182CE;
    color: #fff;
    font-weight: bold;
    padding-bottom: 8px;
    --pf-c-button--after--BorderColor: unset;
    --pf-c-button--after--BorderWidth: unset;
}

.pf-c-button.pf-m-control:not(:nth-of-type(1)) {
    margin-top: .2em;
}

.login-header {
    margin-bottom: 10px !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    color: transparent;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    text-align: center;
    text-transform: lowercase;
    background: #0073aa;
    font-weight: bold;
    min-height: 160px;
    background-image: url("../img/rpi-logo.svg") ;
    background-repeat: no-repeat;
    background-position: center;
    background-position-y: -0.25em;
    background-size: 160px;
}

@media (min-width: 992px) {
    .pf-c-alert {
        margin-top: 1.5em;
    }
    .form-signin .login-card .col-md-10 {
	width: 100%;
    }
}

@media (max-width: 767px) {
    body {
    	align-items: flex-start;
    }
    .login-header {
        color: transparent;
    }
    #kc-content, .login-card {
        padding: .25em;
    }
    .pf-c-alert {
        padding: .5em;
    }
    #kc-header-wrapper {
	margin-top: 4.5em;
	text-align: center;
	font-size: 0px;
	letter-spacing: 3px;
	padding: 62px 10px 20px;
	color: #fff;
    }
    .form-signin {
	padding-left: .4rem;
	padding-right: .4rem;
	max-width: 100%;
    }
    #kc-locale {
        top: 10px;
    }
    #kc-social-providers #social-dllp {
        background: #E73665;
        font-size: small;
    }
    /*#kc-locale-dropdown a {
        text-align: center;
    }*/
    #kc-header>#kc-header-wrapper>.announcement {
        font-size: small;
    }
}

#kc-header-wrapper {
    font-size: 0px;
    /*margin-top: 3em;*/
    text-transform: lowercase;
    margin: 0 auto;
}

#kc-info,
#kc-info-wrapper {
    background-color: unset;
    margin: unset;
    -white-space: break-spaces;
    padding: 5px;
}

#kc-form,
/*#kc-social-providers h4,*/
#kc-social-providers hr {
    -display: none!important;
}

hr {
   clear: both;
}
#kc-social-providers #social-dllp {
    background: #E73665;
}

#kc-login-footer-links > li {
    display: contents
}

div.subtitle,
span.subtitle {
    margin-top: 0;
}

header.h3 .subtitle {
    font-size: 12px;
    top: -2em;
    display: none;
} 

.pf-c-alert {
    padding: .5em 1em;
    bottom: 1em;
    display: inline-block;
    border-top: unset;
    border-radius: .4rem;
    padding: .5em 1em;
}

.pf-c-alert>.pf-c-alert__icon {
    display: inline-block;
    margin-top: unset;
    line-height: normal;
    vertical-align: bottom;
}

.pf-c-alert span {
    vertical-align: middle;
}
