:root {
    --cas-theme-primary: #5b7e5b;
    --mdc-theme-body: #efefef;
}
.mdc-top-app-bar, .cas-footer {
    background-color: #4d5054;
}
.mdc-button--raised:not(:disabled), .mdc-button--outline:not(:disabled) {
    border-radius: 4px;
}

.mdc-floating-label {
    z-index: 1;
}

input:focus {
    outline: none;
}

.fas.fa-shield-alt, .fas.fa-door-open, .fas.fa-sign-out-alt {
    display: none;
}

main:has(.d-flex > section:only-of-type) {
    max-width: inherit;
}

@media (max-width: 599px) {
    .mdc-top-app-bar--fixed-adjust {
        padding-top: 100px;
    }
    #app-bar > nav {
        height: auto;
    }
    #app-bar > nav > div {
        flex-wrap: wrap;
    }
}

.fp-advert {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    background-color: white;
    justify-content: space-between;
    align-items: center;
    padding: 16px 16px;
    box-shadow: 1px 1px 3px #888;
    border-radius: 4px;
}

.fp-logos {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.fp-logos p {
    font-size: 0.85rem;
}
.fp-advert .fp-trustpilot {

}

#main-content {
    max-width: 1320px;
}

.mdc-card.mdc-card-content {
    width: 100%;
}

.login-section.login-form {
    flex-grow: 1;
}

.login-form .form-wrapper {
    width: 100%;
}

/* Hide the h2 heading if empty */
#login-form-controls h2:empty {
    display: none;
}

/* Hide icons in headings */
.fas.fa-shield-alt, .fas.fa-door-open, .fas.fa-sign-out-alt, .mdi-login {
    display: none;
}