.custom-control-label::before , .custom-control-label::after {
    left: auto;
    right: -1.5rem;
}

// float label


.form-control {

  outline: initial!important;
  box-shadow: initial!important;
  font-size: 0.8rem;
  padding: 0.5rem 0.75rem;
  line-height: 1;
  border: 1px solid #d7d7d7;
  background: #fff;
  color: #3a3a3a;
  border-color: #d7d7d7;
  height: calc(3em + .8rem);
}

.has-float-label > span:last-of-type,
.has-float-label label     {
  position: absolute;
  cursor: text;
  font-size: 100%;
  opacity: 1;
  top: -.4em;
  right: 0.75rem;
  z-index: 3;
  line-height: 1;
  padding: 0 1px;
}

.label > span
{
   font-weight: 700;
  color: $text-color-black;
}

.has-float-label > span,
.has-float-label label,
.has-top-label > span,
.has-top-label label {
  font-weight: 700;
color: #000;
}


.has-float-label > span::after,
.has-float-label label::after {
  background: #fff;
}

.has-float-label > span::after,
.has-float-label label::after {
  content: " ";
  display: block;
  position: absolute;
  height: 5px;
  top: 4px;
  left: -.2em;
  right: -.2em;
  z-index: -1;
}


// upload form
.form-control-upload input {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    opacity: 0;
}

.form-control-upload {
    border: 1px solid #d7d7d7;
    border-radius: .25rem;
    height: 51px;
    line-height: 49px;
    background: transparent;
    padding-left: 20px;
}

.upload-info {
    height: 51px;
    line-height: 49px;
    background: transparent;
    padding-right: 20px;
    font-size: 13px;
    font-weight: 400;
    color: #888 !important;


    text-overflow: ellipsis;
    height: 100%;
    overflow: hidden;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    padding-left: 20px;
}


// req
.label.req {
    position: relative;
}

label.req  {
    & > span:not(.select2) {
      &:before {
        content: "*";
        padding: 0 5px;
        color: #f00;
        font-weight: 700;
        font-size: 150%;
        position: absolute;
        top: 0;
        display: block;
        line-height: 1;
        // transform: translateY(-50% );
        right: 100%;
        background: #fff;
      }
    }
}


.optional span small {
    color: $secondary;
    font-weight: 700;
    margin:0 8px;
}


// Responsive

@include maxMedia(map-get($breakpoints, medium)) {
  .form-actions-cont {
      flex-wrap: wrap;
      justify-content: flex-start;
  }

  .form-actions-cont .btn {
      margin: .35rem;
  }
}
