﻿.has-float-label,
.has-float-label-only {
    display: block;
    position: relative;
}

    .has-float-label label,
    .has-float-label > span,
    .has-float-label-only label,
    .has-float-label-only > span {
        position: absolute;
        left: 0;
        top: 0;
        cursor: text;
        font-size: 75%;
        opacity: 1;
        -webkit-transition: all 0s;
        transition: all 0s;
        top: -.5em;
        left: 0.75rem;
        z-index: 3;
        line-height: 1;
        padding: 0 1px;
    }

        .has-float-label label::after,
        .has-float-label > span::after,
        .has-float-label-only label::after,
        .has-float-label-only > span::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: 0;
        -webkit-transition: all 0s;
        transition: all 0s;
    }

    .has-float-label .form-control::-moz-placeholder {
        opacity: 0;
        transition: all 0s;
    }

    .has-float-label .form-control:-ms-input-placeholder {
        border-style: solid !important;
        opacity: 1 !important;
        transition: all 0s !important;
    }

    .has-float-label .form-control::placeholder {
        opacity: 0;
        -webkit-transition: all 0s;
        transition: all 0s;
    }

    .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) + * {
        font-size: .75rem;
        opacity: .6;
        left: 0.5rem;
        top: .8em;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        max-width: 10em;
    }

    .has-float-label > .dropdown-menu{
        opacity: 1!important;
    }

.input-group .has-float-label,
.input-group .has-float-label-only {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-bottom: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

    .input-group .has-float-label .form-control,
    .input-group .has-float-label-only .form-control {
        width: 100%;
        border-radius: 0.25rem;
    }

    .input-group .has-float-label:not(:last-child),
    .input-group .has-float-label:not(:last-child) .form-control,
    .input-group .has-float-label-only:not(:last-child),
    .input-group .has-float-label-only:not(:last-child) .form-control {
        border-bottom-right-radius: 0;
        border-top-right-radius: 0;
        border-right: 0;
    }

    .input-group .has-float-label:not(:first-child),
    .input-group .has-float-label:not(:first-child) .form-control,
    .input-group .has-float-label:not(:first-child) .ng-select-container,
    .input-group .has-float-label:not(:first-child) select,
    .input-group .has-float-label-only:not(:first-child),
    .input-group .has-float-label-only:not(:first-child) .form-control,
    .input-group .has-float-label-only:not(:first-child) .ng-select-container{
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
    }

    .input-group .btn:first-child{
        border-bottom-right-radius: 0;
        border-top-right-radius: 0;
    }

    .input-group .btn:last-child{
        border-bottom-right-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
    }

@media (min-width: 768px) {
    .has-float-label .form-control:placeholder-shown:not(:focus) + * {
        max-width: 20em;
    }
}
