﻿.has-float-label {
    position: relative;
}

    .has-float-label label {
        position: absolute;
        left: 0;
        top: 0;
        cursor: text;
        font-size: xx-small;
        opacity: 1;
        -webkit-transition: all .2s;
        transition: all .2s;
        top: -.5em;
        left: 12px;
        z-index: 3;
        line-height: 1;
        padding: 0 1px;
    }

        .has-float-label label::after {
            content: " ";
            display: block;
            position: absolute;
            background: white;
            height: 2px;
            top: 50%;
            left: -.2em;
            right: -.2em;
            z-index: -1;
        }

    .has-float-label .form-control::-webkit-input-placeholder {
        opacity: 1;
        -webkit-transition: all .2s;
        transition: all .2s;
    }
    .has-float-label .form-control::-moz-placeholder {
        opacity: 1;
        -webkit-transition: all .2s;
        transition: all .2s;
    }

    .has-float-label .form-control::-ms-input-placeholder {
        opacity: 1;
        -webkit-transition: all .2s;
        transition: all .2s;
    }
    .has-float-label .form-control::placeholder {
        opacity: 1;
        -webkit-transition: all .2s;
        transition: all .2s;
    }

    .has-float-label .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder {
        opacity: 0;
    }
    .has-float-label .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder {
        opacity: 0;
    }

    .has-float-label .form-control:placeholder-shown:not(:focus)::-moz-placeholder {
        opacity: 0;
    }

    .has-float-label .form-control:placeholder-shown:not(:focus):-ms-input-placeholder {
        opacity: 0;
    }

    .has-float-label .form-control:placeholder-shown:not(:focus)::placeholder {
        opacity: 0;
    }
    .has-float-label .form-control:placeholder-shown:not(:focus) + label {
        font-size: 150%;
        opacity: .5;
        top: .3em;
        font-weight: normal;
    }

.input-group .has-float-label {
    display: table-cell;
}


    .input-group .has-float-label:not(:first-child) .form-control {
        margin-left: -1px;
    }
.has-float-label .form-control:placeholder-shown:not(:focus) + label {
    pointer-events: none;
}

.has-float-label .form-control:placeholder-shown:not(:focus) + label {
    font-size: inherit !important;
    top: .7em !important;
}

.has-float-label .form-control:placeholder-shown:not(:focus) + * {
    font-size: 150%;
    opacity: .5;
    top: .3em;
    font-weight: normal;
}

.input-cont .has-float-label {
    display: -ms-flexbox;
    display: -webkit-box;
}

.has-float-label {
    position: relative;
}

.form-control-feedback {
    top: 10px !important;
}

.form-control-feedback {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: block;
    width: 34px;
    height: 34px;
    line-height: 25px;
    text-align: center;
    pointer-events: none;
}

.form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #db3928;
    outline: 0;
    box-shadow: unset;
}





@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .has-float-label input:invalid:not(:focus) + *,
    .has-float-label textarea:invalid:not(:focus) + * {
        font-size: small;
        opacity: .5;
        top: .7em;
        font-weight: normal;
    }
}




.has-float-label input:focus,
.has-float-label select:focus,
.has-float-label textarea:focus {
    outline: 0;
    border-color: #db3928;


}

