body form .form-group > label.required:after,
body form .form-group > legend.required:after {
  content: ' *';
  position: relative;
}
body form .form-control {
  outline: none;
  transition: 0.3s;
}
body form .form-control:focus {
  outline: none;
  box-shadow: none;
  border-color: #444;
}
body form .form-control.is-invalid:focus {
  box-shadow: none;
}
body form .field-container > div:first-child {
  padding-left: 0;
}
body form .field-container > div:last-child {
  padding-right: 0;
}
body form .form-group.label-fl {
  position: relative;
  display: inline-block;
  margin-left: 0;
  width: 100%;
}
body form .form-group.label-fl > div {
  -webkit-flex-direction: column;
  flex-direction: column;
}
body form .form-group.label-fl > div:first-child {
  padding-left: 10px;
}
body form .form-group.label-fl .form-control {
  background-color: transparent;
  padding-left: 0;
  border: 0;
  border-bottom: 1px #444 solid;
}
body form .form-group.label-fl textarea:focus + label > span,
body form .form-group.label-fl textarea.notempty + label > span {
  top: -80px;
  font-size: 12px;
}
body form .form-group.label-fl select + label {
  display: none;
}
body form .form-group.label-fl input:focus + label > span,
body form .form-group.label-fl input.notempty + label > span {
  top: -55px;
  font-size: 12px;
}
body form .form-group.label-fl > label {
  height: 0;
  padding: 0;
  display: block;
  position: relative;
  white-space: nowrap;
  -webkit-transition: width 0.4s ease;
  transition: width 0.4s ease;
}
body form .form-group.label-fl > label span {
  font-weight: bold;
  position: absolute;
  font-size: 13px;
  top: -27px;
  left: 0;
  -webkit-transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
  transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
}
