.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-select,
.form-floating .select2-selection {
  min-height: calc(3.5rem + 4px);
  padding: 1rem 0.75rem;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  padding: 1rem 0.75rem;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
  z-index: 2;
  font-size: 14px;
}
.form-floating .select2-selection,
.form-floating .select2-container--default.select2-container--focus .select2-selection--multiple,
.form-floating .select2-container--default .select2-selection--multiple {
  border-radius: 0;
}
.form-floating .select2-container--default .select2-selection--multiple {
	min-height: calc(3.5rem + 4px);
}
.form-floating .select2-container--default.select2-container--focus .select2-selection--multiple {
  border: none;
  box-shadow: 1px 0 0 0 #003394, 0 1px 0 0 #003394, 1px 1px 0 0 #003394, /* Just to fix the corner */ 1px 0 0 0 #003394 inset, 0 1px 0 0 #003394 inset!important;
}
.form-floating .select2-container .select2-search--inline .select2-search__field {
  margin: 2px 0 0 0;
  font-size: 1rem;
  color: #495057;
}
.form-floating .select2-container .select2-search--inline .select2-search__field::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #495057;
}
.form-floating .select2-container .select2-search--inline .select2-search__field::-moz-placeholder { /* Firefox 19+ */
color: #495057;
}
.form-floating .select2-container .select2-search--inline .select2-search__field:-ms-input-placeholder { /* IE 10+ */
color: #495057;
}
.form-floating .select2-container .select2-search--inline .select2-search__field:-moz-placeholder { /* Firefox 18- */
color: #495057;
}


@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
	transition: none;
  }
}
.form-floating > .form-control::-webkit-input-placeholder {
  color: transparent;
  font-size: 14px;
}
.form-floating > .form-control::-moz-placeholder {
  color: transparent;
  font-size: 14px;
}
.form-floating > .form-control::placeholder {
  color: transparent;
  font-size: 14px;
}
.form-floating > .form-control:not(:-moz-placeholder-shown),
.form-floating .select2-selection:not(:-moz-placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown),
.form-floating .select2-selection:focus,
.form-floating .select2-selection:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating .select2-selection:focus,
.form-floating .select2-selection:not(:placeholder-shown) {
	border-color: #ced4da;
  border: none;
  box-shadow: 1px 0 0 0 #ced4da, 0 1px 0 0 #ced4da, 1px 1px 0 0 #ced4da, /* Just to fix the corner */ 1px 0 0 0 #ced4da inset, 0 1px 0 0 #ced4da inset!important;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating .select2-selection:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select,
.form-floating .select2-selection {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label,
.form-floating .select2-selection:not(:-moz-placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label,
.form-floating .select2-selection:focus ~ label,
.form-floating .select2-selection:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label,
.form-floating .select2-selection:-webkit-autofill ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
