/**
 * show/hide password field container
 */

.has-js .psc-show-password {
    display: block;
}

/** By default hide the toggle elem. Force it to be hidden in browsers that don't support changing type values with JS */
.psc-show-password {
    display: none;
    margin-bottom: .5em;
}

/**
 * show/hide password text checkbox
 */

.psc-show-password input[type="checkbox"] {
    vertical-align: inherit;
}

/**
 * show/hide password text label
 */

.psc-show-password label.field {
    float: none;
    display: inline-block;
    width: auto;
    margin: 1em 0 0 0em;
    padding: 0 0 0 2em;
    line-height: 1.4em;
}

/**
 * password strength
 */

.psc-pi-strength input {
    order: 0;
    z-index: 20;
    margin-bottom: 0;
    outline: none;
}

.psc-pi-strength {
    position: relative;/** For positioning pw strength hint */
    display: flex;
    flex-direction: column;
    margin-bottom: 1em;
    border: none;
    white-space: nowrap;
}

/**
 * password strength progress
 */

.psc-ps-text {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 0px;
    border-right: 0;
    font-weight: normal;
    cursor: help;
    order: 3;
}

span.psc-ps-text::after {
    content: '?';
    width: 1rem;
    height: 1rem;
    margin-left: .3em;
    border-radius: 1rem;
    text-align: center;
    font-size: 0.8rem;
    font-family: 'HelveticaNeueLTStd-BdCn','Helvetica Neue',Helvetica,'Roboto Sans','Segoe UI',Arial,'Lucida Grande',sans-serif;
    line-height: 1rem;
    color: #fff;
    background: black;
}

.psc-pi-strength[class*='psc-password-strength-'] .psc-ps-text {
    font-size: .8rem;
}

/** strength bar */
.psc-pi-strength[class*='psc-password-strength-']::before {
    order: 1;
    content: url(pbuic-fe-password-checker.svg);
    height: 5px;
    margin-bottom: 5px;
    background: #f2f2f2;
    background-size: 100%;
}

.psc-pi-strength.psc-password-strength-weak::before {
    background: #ff4d4d;
    background-image: url(pbuic-fe-password-checker.svg), linear-gradient(90deg, #ff4d4d 25%, #f2f2f2 25.1%, #f2f2f2 100%);
}

.psc-pi-strength.psc-password-strength-fair::before {
    background: #ffa366;
    background-image: url(pbuic-fe-password-checker.svg), linear-gradient(90deg, #ffa366 50%, #f2f2f2 50.1%, #f2f2f2 100%);
}

.psc-pi-strength.psc-password-strength-strong::before {
    background: #ffdb00;
    background-image: url(pbuic-fe-password-checker.svg), linear-gradient(90deg, #ffdb00 75%, #f2f2f2 50.1%, #f2f2f2 100%);
}

.psc-pi-strength.psc-password-strength-verystrong::before {
    background-color: #09da0d;
    background-image: url(pbuic-fe-password-checker.svg);
}

.psc-password-repeat span,
span.psc-password-information {
    display: block;
    padding: 1ex 0 0.2ex 0;
    color: #5f5f5f;
    font-size: 0.8em;
}

.psc-showStrength:focus {
    outline: none;
}

.psc-pi-strength .pbuic-content-bubble {
    right: 0 !important;
    width: 200px;
    transform: translateY(-1rem);
}

.psc-pi-strength .pbuic-content-bubble p {
    margin: 0;
    padding: 3px 5px;
    color: #fff;
    text-shadow: none;
    white-space: normal;
    font-weight: normal;
}

.pbuic-cb-arrow {
    display: none !important;
}

/**
 * styling for the input field and text message when invalid
 */

.psc-invalid input.proFormText:hover,
.psc-invalid input.proFormText:focus,
.psc-invalid input[type='text'],
.psc-invalid input[type='password'],
.psc-invalid input[type='text']:hover,
.psc-invalid input[type='password']:hover,
.psc-invalid input[type='text']:focus,
.psc-invalid input[type='password']:focus {
    background-color: #fee;
}

.psc-password-repeat {
    margin-bottom: .5em;
}

.psc-password-repeat .pbuic-pr-no-match {
    color: #f00;
}
