/* Background color */
.login-pf body {
    background: #0065BD;
    background-size: cover;
    height: 100%;
}

/* Single column */
.pf-v5-c-login__container {
    grid-template-columns: 34rem;
    grid-template-areas: "header"
                         "main"
}

/* Heading */
#kc-header-wrapper {
    padding: 0;
    font-size: 29px;
    text-transform: uppercase;
    letter-spacing: 3px;
    line-height: 1.2em;
    white-space: normal;
    color: var(--pf-v5-global--Color--light-100) !important;
    text-align: center;
}
.pf-v5-c-login__header {
    margin-top: 0;
}

/* Login Box */
.pf-v5-c-login__main {
    background: rgba(255, 255, 255, 0.85);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}

/* Remove red frame */
div input:focus, div select:focus {
    outline: none;
}

/* Form fields */
.pf-v5-c-form-control,
.pf-v5-c-form-control::before {
    border-radius: 4px;
    border: 0;
}
.pf-v5-c-alert,
.pf-v5-c-form-control,
.pf-v5-c-form-control::after {
    border-radius: 4px;
}

/* With Button appended */
.pf-v5-c-input-group__item > .pf-v5-c-form-control,
.pf-v5-c-input-group__item > .pf-v5-c-form-control::before,  
.pf-v5-c-input-group__item > .pf-v5-c-form-control::after {
    border-radius: 4px 0 0 4px !important;
}
.pf-v5-c-button,
.pf-v5-c-button.pf-m-control::after {
    border-radius: 0 4px 4px 0;
}

/* Input fields */
input {
    padding: 10px 15px !important;
    font-size: 16px;
}

/* Button appended to input */
.pf-v5-c-button,
.pf-v5-c-button.pf-m-control::after {
    border-radius: 0 4px 4px 0;
}

/* Select login method */
.pf-v5-c-data-list__cell,
.pf-v5-c-data-list__item-action {
    display: flex;
    align-items: center;
}
.pf-v5-c-data-list.select-auth-container {
    padding-top: 20px;
}
.pf-v5-c-data-list__item-content {
    padding-block-end: 0 !important;
}
.pf-v5-c-data-list__item,
.select-auth-box-parent:hover {
    border-radius: 4px;
}
.pf-v5-c-data-list__item.pf-m-clickable {
    margin-bottom: 10px;
}
.pf-v5-c-data-list {
    border: 0 !important;
}

/* Buttons */
#kc-form-buttons > div {
    display: flex;
}
#kc-form-buttons > div > *:not(:last-child) {
    margin-right: 10px;
}
button[type="submit"],
input[type="submit"],
#try-another-way {
    border-radius: 4px;
    padding: 10px 15px;
    flex-grow: 1;
}

#kc-login {
    background-color: #0065BD;
}
#kc-login:hover {
    background-color: #004080 !important;
}

/* Fix localization select */
.pf-v5-c-login__main-header {
    grid-template-columns: minmax(0, 1fr) 30% !important;
}
h1#kc-page-title {
    margin-top: 0px;
}
#login-select-toggle {
    border-radius: 4px;
}
.pf-v5-c-login__main-header-utilities > .pf-v5-c-form-control,
.pf-v5-c-login__main-header-utilities > .pf-v5-c-form-control::after,
.pf-v5-c-login__main-header-utilities > .pf-v5-c-form-control::before {
    border-radius: 4px;
}
.pf-v5-c-login__main-header-utilities > .pf-v5-c-form-control::before {
    border-style: none !important;
}

/* Help text */
.help-link {
    padding-top: 10px;
    font-size: 12px;
    text-align: center;
}
.help-link a {
    color: #424242;
    text-decoration: none;
}
.help-link a:hover {
    color: #848484;
}
.pf-v5-c-form__label {
    margin-bottom: 10px;
}

/* Footer */
.pf-v5-u-mb-md-on-md,
.pf-v5-c-login__main-body {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.pf-v5-c-login__main-footer {
    text-align: center;
}
#kc-login-footer-links > li{
    display: inline-block;
    text-align: center;
    padding: 16px;
    position: relative;
}
:where(a:hover) {
    --pf-v5-global--link--TextDecoration: none;
}

