.inp {
    position: relative;
    margin: auto;
    width: 100%;
    overflow: hidden;
}

.inp input, .inp .bootstrap-select > button, .inp .token-autocomplete-container {
    color: #5a7390;
    width: 100%;
    height: 50px;
    background: rgba(232, 240, 254, .5);
    -webkit-font-smoothing: antialiased;
    line-height: 22px;
    outline: 0;
    border: 0;
    font-size: 18px;
    border-radius: 0;
    appearance: none;
    padding: 16px 12px 0 12px;
    font-weight: 400;
    letter-spacing: .025rem;
    transition: all 250ms ease;
    -moz-transition: all 250ms ease;
    -webkit-transition: all 250ms ease;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .3);
    -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .3);
    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .3);
}

.inp .label {
    position: absolute;
    top: 20px;
    left: 12px;
    font-size: 16px;
    color: rgba(0, 0, 0, .5);
    font-weight: 500;
    -moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -moz-transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    pointer-events: none;
}

.inp .focus-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .05);
    z-index: -1;
    -moz-transform: scaleX(0);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -moz-transform-origin: left;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.inp input:not(:placeholder-shown) + .label, .inp input:read-only + .label, .inp div + .label {
    color: rgba(0, 0, 0, .5);
    -moz-transform: translate3d(0, -12px, 0) scale(.75);
    -webkit-transform: translate3d(0, -12px, 0) scale(.75);
    transform: translate3d(0, -12px, 0) scale(.75);
}

.inp input, .inp input:-webkit-autofill {
    -moz-transition: all .15s ease;
    -webkit-transition: all .15s ease;
    transition: all .15s ease;
}

.inp input:read-only, .inp input:disabled, .inp .bootstrap-select > button:disabled {
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    background: rgba(0, 0, 0, .05);
}

.inp input:disabled, .inp .bootstrap-select > button:disabled {
    background: rgba(0, 0, 0, .1) !important;
    color: #999 !important;
}

.inp input:not(:read-only):not(:disabled):hover, .inp button.dropdown-toggle:not(:disabled):hover {
    background: rgba(232, 240, 254, .8);
    -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .5);
    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .5);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .5);
}

.inp input:not(:read-only):not(:disabled):focus, .inp button.dropdown-toggle:not(:disabled):focus {
    background: #e8f0fe !important;
    -webkit-box-shadow: inset 0 -2px 0 #07f;
    -moz-box-shadow: inset 0 -2px 0 #07f;
    box-shadow: inset 0 -2px 0 #07f;
}

.inp input:focus + .label, .inp input:-webkit-autofill + .label {
    -moz-transform: translate3d(0, -12px, 0) scale(.75);
    -webkit-transform: translate3d(0, -12px, 0) scale(.75);
    transform: translate3d(0, -12px, 0) scale(.75);
}

.inp input:not(:read-only):not(:disabled):focus + .label {
    color: #07f;
    -moz-transform: translate3d(0, -12px, 0) scale(.75);
    -webkit-transform: translate3d(0, -12px, 0) scale(.75);
    transform: translate3d(0, -12px, 0) scale(.75);
}

.inp input:focus + .label + .focus-bg {
    -moz-transform: scaleX(1);
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -moz-transition: all .1s ease;
    -webkit-transition: all .1s ease;
    transition: all .1s ease;
}

.inp .bootstrap-select .dropdown-toggle .filter-option {
    margin-top: 10px;
}

.bootstrap-select .dropdown-toggle:focus, .bootstrap-select > select.mobile-device:focus + .dropdown-toggle {
    outline-offset: unset !important;
    outline: 0 !important;
}

.inp input ~ i.fa-check, .inp input ~ i.fa-times {
    font-size: .75rem;
    right: 10px;
    top: 3px;
}

.inp input:not(.input-validation-error):not(:placeholder-shown):not(:read-only):not(:disabled) ~ i.fa-check, .inp input:valid:not(:placeholder-shown):not(:read-only):not(:disabled) ~ i.fa-check {
    display: block !important;
}

.inp input:not(.input-validation-error):not(:placeholder-shown):not(:read-only):not(:disabled) ~ i.fa-times, .inp input:valid:not(:placeholder-shown):not(:read-only):not(:disabled) ~ i.fa-times {
    display: none !important;
}

.inp input:not(:placeholder-shown):not(:read-only):not(:disabled).input-validation-error ~ i.fa-check, .inp input:not(:valid):not(:placeholder-shown):not(:read-only):not(:disabled) ~ i.fa-check {
    display: none !important;
}

.inp input:not(:placeholder-shown):not(:read-only):not(:disabled).input-validation-error ~ i.fa-times, .inp input:not(:valid):not(:placeholder-shown):not(:read-only):not(:disabled) ~ i.fa-times {
    display: block !important;
}

.inp + div button[type="submit"] > i.fa-arrow-right {
    font-size: 1.2rem;
}