.password-toggle-wrapper {
    display: block;
    position: relative;
    width: 100%;
}

.input-group > .password-toggle-wrapper {
    flex: 1 1 auto;
    min-width: 0;
    width: 1%;
}

.password-toggle-wrapper .js-password-toggle-input {
    padding-right: 2.75rem;
}

.password-toggle-wrapper.is-invalid + .invalid-feedback {
    display: block;
}

.password-toggle-button {
    align-items: center;
    background: transparent;
    border: 0;
    color: #6c757d;
    cursor: pointer;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 2.75rem;
    z-index: 3;
}

.password-toggle-button:hover,
.password-toggle-button:focus {
    color: #343a40;
    outline: none;
}

.password-toggle-button:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
