.password-input{--icon-size:calc(0.75em + 0.375rem);--button-padding:.5rem;--feedback-icon-offset:.125rem;position:relative}.password-input .form-control{padding-right:calc(var(--icon-size)*2)!important}.password-input .form-control::-ms-reveal{display:none}.password-input .form-control.is-valid,.password-input .form-control.is-invalid{background-position:right calc(var(--icon-size)*2 - var(--feedback-icon-offset)) center;padding-right:calc(var(--icon-size)*3.5 - var(--feedback-icon-offset))!important}.password-input button{position:absolute;margin:0;padding:0;border:0;background:none;cursor:pointer;top:calc(50% - (var(--icon-size) + var(--button-padding))/2);right:calc(var(--icon-size)/2 - var(--button-padding)/2);width:calc(var(--icon-size) + var(--button-padding));height:calc(var(--icon-size) + var(--button-padding))}.password-input button.with-strength-meter{top:calc(50% - (var(--icon-size) + var(--button-padding))/2 - 20px + 0.5rem)}.password-input button svg{position:absolute;top:calc(var(--button-padding)/2);left:calc(var(--button-padding)/2);width:var(--icon-size);height:var(--icon-size)}.password-input .progress{position:relative;margin-top:.5rem;height:20px}.password-input .progress .progress-info{position:absolute;width:100%;text-align:center;font-size:.85rem;font-weight:600;line-height:20px;text-shadow:0 0 5px #fff}