@media (min-width: 580px) {
    .psc-password-input input,
    .psc-password-repeat input {
        width: 95% !important;
    }

    .fullwidth .psc-password-input input,
    .fullwidth .psc-password-repeat input {
        width: 50% !important;
    }
}

.psc-show-password input {
    float: left;
    margin-top: .21em;
}

.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-bottom: 1em;
    padding: .3em 0;
    width: 90%;
    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: 0;
    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: 0;
    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: #cc3b3b;
}

.psc-password-strength-fair .psc-ps-text:after {
    right: 50%;
    background-color: #f78d20;
}

.psc-password-strength-strong .psc-ps-text:after {
    right: 25%;
    background-color: #f5d20a;
}

.psc-password-strength-verystrong .psc-ps-text:after {
    right: 0;
    background-color: #3abf5c;
}

/**
 *    Passwords not the same
 */

.pbuic-pr-no-match {
    color: #e62424 !important;
}

.psc-invalid .psc-password-repeat input {
    border-color: #ff9393 !important;
    background-color: #fff6f6;
}
