.floating-label {
    position: relative;
    /* margin-bottom: 1.5rem; */
    margin-top: 20px;
}

.floating-label .form-control {
    width: 100%!important;
    height: 50px;
    /* padding: 12px 40px 12px 12px; */
    border: 1px solid #efefef;
    border-radius: unset;
    outline: none;
    transition: border-color 0.3s;
    padding-left: 30px;
}

.floating-label .form-control:focus {
    border-color: #fa2456; /* red theme */
}

.floating-label label {
    position: absolute;
    top: 12px;
    left: 12px;
    color: #888;
    pointer-events: none;
    transition: all 0.2s ease-in-out;
    padding-left: 20px;
    font-family: inherit;
    font-size: 16px;
}

.floating-label .form-control:focus + label{
    top: -8px;
    left: 10px;
    font-size: 12px;
    color: #fa2456; /* red theme on active */
    background: #fff;
    padding: 0 4px;
}

.floating-label .input-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #fa2456;
    pointer-events: none;
}
textarea.form-control {
    height: calc(1.5em * 5)!important; 
}
.floating-label .form-control:focus + label,
.floating-label .form-control:not(:placeholder-shown) + label {
    top: -8px;
    left: 10px;
    font-size: 12px;
    color: #fa2456;
    background: #fff;
    padding: 0 4px;
}



.floating-label-select {
  position: relative;
  margin: 20px 0;
}

.floating-label-select select {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  appearance: none; /* removes default arrow */
}

.floating-label-select label {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  pointer-events: none;
  color: #999;
  transition: 0.2s ease all;
  background: #fff;
  padding: 0 4px;
}

/* Float label when focused or value selected */
.floating-label-select select:focus + label,
.floating-label-select select:not([value=""]) + label {
  top: -8px;
  left: 8px;
  font-size: 12px;
  color: #fa2456;
}