:root {
    --speakup-bg: #212121;
    --speakup-bg-alt: #292929;
    --speakup-border-radius: 5px;

    --speakup-yellow: rgb(255, 210, 21);
    --speakup-error-color: #cf6679;
    --speakup-orange: #ff9515;
    --speakup-white: #fafafa;
    --speakup-border-color: rgb(117, 120, 123);

    --pf-global--primary-color--100: var(--speakup-yellow);
    --pf-global--primary-color--200: var(--speakup-yellow);

    --pf-global--warning-color--100: var(--speakup-orange);
    --pf-global--warning-color--200: var(--speakup-orange);

    --pf-global--danger-color--100: var(--speakup-error-color);
    --pf-global--danger-color--200: var(--speakup-error-color);
    --pf-global--danger-color--300: var(--speakup-error-color);

    --pf-global--Color--light-100: rgb(41, 41, 41);
    --pf-global--Color--light-200: rgb(41, 41, 41);
    --pf-global--Color--light-300: rgb(41, 41, 41);
}

.login-pf body {
    color: #fafafa;
    background: var(--speakup-bg);
    max-width: 450px;
    width: 100%;
    margin: 0 auto;
}

/* 1. Logo & Header */
div.kc-logo-text {
    background-image: url('../header-logo.svg');
    width: 130px;
    margin: 0 auto;
}


@media (min-width: 768px) {
    .login-pf-page .login-pf-page-header {
        margin-bottom: 0;
    }
}

/* End Logo & Header */


/* Center on Mobile*/
@media (max-width: 767px) {
    /*#kc-header-wrapper {*/
    /*    padding: 20px 0 0 0;*/
    /*}*/

    .login-pf-page {
        display: grid;
        height: 100%;
        min-height: 100%;
        grid-template-rows: min-content 1fr;
        grid-template-areas:
            "logo"
            "cardcontent";
    }
    #kc-header {
        grid-area: logo;
    }

    .card-pf {
        grid-area: cardcontent;
        background-color: var(--speakup-bg);
        border: none;
    }

    .kc-social-links {
        grid-template-columns: unset;
    }
}

.card-pf {
    border: 1px solid #4a4a4a;
    background-color: var(--speakup-bg-alt);
    color: #fafafa;
    border-radius: var(--speakup-border-radius);
}

/* Inputs */
html body input[type="text"],
html body input[type="email"],
html body input[type="password"] {
    border: 1px solid rgb(117, 120, 123);
    border-radius: var(--speakup-border-radius);
    background-color: #292929;
    color: #fafafa;
    font-size: 14px;
    /*Use of important here because of all the states that can change
the padding. For example :focus*/
    padding-bottom: 20px !important;
    padding-top: 20px !important;

}

input:focus {
    outline: none;
}

html body input[type="text"]:focus,
html body input[type="email"]:focus,
html body input[type="password"]:focus {
    border: 1px solid var(--speakup-orange);
}

[class*=pf-c-], [class*=pf-c-]::before, [class*=pf-c-]::after {
    margin-bottom: 10px;
}

.pf-c-input-group {
    background-color: var(--speakup-bg-alt);
}

.pf-c-button {
    color: rgb(41, 41, 41);
    background-color: rgb(255, 210, 21);
    border-radius: var(--speakup-border-radius);
    & .fa-eye,
    .fa-eye-slash{
        color: var(--speakup-white);
        background-color: var(--speakup-bg-alt);
    }
}

.pf-c-button.pf-m-control{
    background-color: var(--speakup-bg-alt);
    border: 1px solid var(--speakup-border-color);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.pf-c-input-group input[type="password"]:focus + .pf-c-button.pf-m-control,
.pf-c-input-group input[type="text"]:focus + .pf-c-button.pf-m-control {
    border-color: var(--speakup-orange);
    border-left: none;
}

#password {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

    /* Locale Dropdown */
#kc-locale ul {
    background-color: var(--speakup-bg-alt);
    border-radius: var(--speakup-border-radius);
    border: 1px solid rgb(117, 120, 123);
}

#kc-locale-dropdown a:hover{
    background-color: var(--speakup-bg);
}


/* links */
a,
a:hover,
a:focus,
a:active{
    color: var(--speakup-orange);
}

/* Errors & Feedback Cards */
.required {
    color: var(--speakup-error-color);
}

.pf-c-form-control[aria-invalid=true],
.pf-c-form-control[aria-invalid=true]:hover,
.pf-c-form-control[aria-invalid=true]:focus,
.pf-c-form-control[aria-invalid=true]:active,
input[aria-invalid=true] ~ .pf-c-button.pf-m-control
{
    background: transparent;
    border: 1px solid var(--speakup-error-color) !important;
}

#kc-info #kc-info-wrapper{
    background-color: transparent;
    border-top: 1px solid var(--speakup-bg-alt);
}

.pf-c-alert.pf-m-success {
    --pf-c-alert--BorderTopColor: var(--speakup-orange);
    --pf-c-alert__icon--Color: var(--speakup-orange);
    --pf-c-alert__title--Color: var(--speakup-orange);
    background-color: transparent;
    border-color: var(--speakup-orange);
}

.pf-c-alert.pf-m-error {
    --pf-c-error--BorderTopColor: var(--speakup-error-color);
    --pf-c-error__icon--Color: var(--speakup-error-color);
    --pf-c-error__title--Color: var(--speakup-error-color);
    background-color: transparent;
    border-color: var(--speakup-error-color);
}

.alert-warning{
    background-color: transparent;
}

.pf-c-alert.pf-m-inline{
    background: transparent;
}

#kc-info{
    margin: 0;
}

#kc-info-wrapper{
    padding: 0;
}

/* grid */
.kc-social-links{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px;
}

.pf-c-button.pf-m-control.kc-social-item{
    border:0;
        color: var(--speakup-yellow);
    background: transparent;
}


.pf-c-button::after /* Fix bottom border on social login providers*/ {
    border:0;
}

/* Mobile styling */
@media (max-width: 767px) {

    .login-pf-page {
        display: grid;
        height: 100%;
        min-height: 100%;
        grid-template-rows: min-content 1fr;
        grid-template-areas:
            "logo"
            "cardcontent";
    }

    #username,#password,.pf-c-input-group,.pf-c-button.pf-m-control {
        background-color: var(--speakup-bg);
    }

    hr /* Color the stripe above the social login buttons */{
        border-color: var(--speakup-border-color);
    }

    /* /Social Login */

    #kc-header-wrapper {
        padding: 20px 0 0 0;
    }

    #kc-header {
        grid-area: logo;
    }

    .card-pf {
        grid-area: cardcontent;
        background-color: var(--speakup-bg);
        border: none;
    }

    .kc-social-links {
        grid-template-columns: unset;
        justify-content: stretch;
    }

    ul li .pf-c-button.pf-m-control {
        margin-bottom: 0;
    }

    ul li {
        border: 2px solid var(--speakup-border-color);
        border-radius: var(--speakup-border-radius);
        display: block;
    }

    .kc-social-provider-name {
        color: var(--speakup-white)
    }

    ul li:nth-child(2n+1) { /* odd numbers border color */
        border-color: var(--speakup-orange);
    }

    ul li:nth-child(2n) { /* even numbers border color*/
        border-color: var(--speakup-yellow);
    }
}