    .form-floating {
        position: relative;
        width: 100%;
    }

    .form-floating>.form-control,
    .form-floating>.form-select {
        /*height: calc(3.5rem + 2px);
        line-height: 1.25*/
    }

    .form-floating>label {
        position: absolute;
        top: 0;
        left: 0;
        /*height: 100%;*/
        padding: 1rem;
        pointer-events: none;
        border: 1px solid transparent;
        transform-origin: 0 0;
        transition: opacity .1s ease-in-out, transform .1s ease-in-out
    }

    @media(prefers-reduced-motion:reduce) {
        .form-floating>label {
            transition: none
        }
    }

    .form-floating>.form-control {
        padding: 1.12rem
    }

    .form-floating>.form-control::placeholder {
        color: transparent
    }

    .form-floating>.form-control:focus,
    .form-floating>.form-control:not(:placeholder-shown) {
        padding-top: 1.625rem;
        padding-bottom: .625rem
    }

    .form-floating>.form-control:-webkit-autofill {
        padding-top: 1.625rem;
        padding-bottom: .625rem
    }

    .form-floating>.form-select {
        padding-top: 1.625rem;
        padding-bottom: .625rem
    }

    .form-floating>.form-control:focus~label,
    .form-floating>.form-control:not(:placeholder-shown)~label,
    .form-floating>.form-select~label {
        /*opacity: .65;*/
        transform: scale(.85) translateY(-0.5rem) translateX(0.15rem);
        top: -6px;
        left: 12px;
        background: #fff;
        padding: 2px;
    }

    .form-floating>.form-control:-webkit-autofill~label {
        /*opacity: .65;*/
        transform: scale(.85) translateY(-.5rem) translateX(.15rem)
    }
