.psc-show-password input {
    float: left;
    margin-top: .38rem;
}

.psc-show-password label {
    display: block;
    margin-left: 22px;
}

.psc-password-repeat span {
    display: block;
}

.psc-ps-text {
    position: relative;
    display: inline-block;
    overflow: hidden;
    margin-top: -.3rem;
    padding: .3rem 0 .3rem 1rem;
    width: 40%;
    text-indent: -100px;
    vertical-align: middle;
    white-space: nowrap;
    transition: text-indent .15s ease-in-out;
}

/**
 *    Password strength meter
 */

.psc-ps-text::before {
    position: absolute;
    display: block;
    right: 100%;
    bottom: 0;
    left: 1rem;
    height: 3px;
    content: '';
    background-color: rgba(0,0,0, .05);
    transition: right .15s ease-in-out;
}

.psc-ps-text::after {
    position: absolute;
    right: 100%;
    bottom: 0;
    left: 1rem;
    display: block;
    height: 3px;
    content: '';
    background-color: rgba(0,0,0, .05);
    transition: all .5s ease-in-out;
}

span[class*='psc-password-strength'] .psc-ps-text {
    text-indent: 0;
}

span[class*='psc-password-strength'] .psc-ps-text::before {
    right: 0;
}

.psc-password-strength-weak .psc-ps-text::after {
    right: 75%;
    background-color: var(--noticeFail);
}

.psc-password-strength-fair .psc-ps-text::after {
    right: 50%;
    background-color: var(--passwordStrengthFair);
}

.psc-password-strength-strong .psc-ps-text::after {
    right: 25%;
    background-color: var(--noticeWarning);
}

.psc-password-strength-verystrong .psc-ps-text::after {
    right: 0;
    background-color: var(--noticeSuccess);
}

/**
 *    Passwords not the same
 */

.pbuic-pr-no-match {
    color: var(--noticeFail);
}

.psc-invalid .psc-password-repeat input {
    border-color: var(--invalidFieldBorderColor) !important;
    background-color: var(--invalidFieldColor);
}
