/*https://github.com/tonystar/bootstrap-float-label/tree/v3-dev*/


.has-float-label {
  display: block;
  position: relative; }
  .has-float-label label, .has-float-label > span {
    position: absolute;
    left: 0;
    top: 0;
    cursor: text;
    font-size: 100%;
    opacity: 1;
    -webkit-transition: all .2s;
            transition: all .2s;
    top: -1.5em;
    left: 12px;
    z-index: 3;
    line-height: 1;
    padding: 0 1px; }
  
    .has-float-label label::after, .has-float-label > span::after {
      content: "";
      display: block;
      position: absolute;
      background: transparent;
      height: 2px;
      top: 50%;
      left: -.2em;
      right: -.2em;
      z-index: -1; }
    
  .has-float-label .form-control::-webkit-input-placeholder {
    opacity: 1;
    -webkit-transition: all .2s;
            transition: all .2s; }
  .has-float-label .form-control::-moz-placeholder {
    opacity: 1;
    transition: all .2s; }
  .has-float-label .form-control::placeholder {
    opacity: 1;
    -webkit-transition: all .2s;
            transition: all .2s; }
  .has-float-label .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder {
    opacity: 0; }
  .has-float-label .form-control:placeholder-shown:not(:focus)::-moz-placeholder {
    opacity: 0; }
  .has-float-label .form-control:placeholder-shown:not(:focus)::placeholder {
    opacity: 0; }
  .has-float-label .form-control:placeholder-shown:not(:focus) + * {
    font-size: 150%;
    opacity: .5;
    top: .3em;
    font-weight: normal; }

  
  
.input-group .has-float-label {
  display: table-cell; }
  .input-group .has-float-label .form-control {
    border-radius: 4px; }
  .input-group .has-float-label:not(:last-child) .form-control {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }
  .input-group .has-float-label:not(:first-child) .form-control {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    margin-left: -1px; }

  
  
  .checkbox label:after, 
.radio label:after {
    content: '';
    display: table;
    clear: both;
}

.checkbox .cr,
.radio .cr {
    position: relative;
    display: inline-block;
    border: 1px solid white;
    border-radius: .25em;
    width: 1.3em;
    height: 1.3em;
    float: left;
    margin-right: .5em;
}

.radio .cr {
    border-radius: 50%;
}

.checkbox .cr .cr-icon,
.radio .cr .cr-icon {
    position: absolute;
    font-size: .8em;
    line-height: 0;
    top: 50%;
    left: 20%;
}

.radio .cr .cr-icon {
    margin-left: 0.04em;
}

.checkbox label input[type="checkbox"],
.radio label input[type="radio"] {
    display: none;
}

.checkbox label input[type="checkbox"] + .cr > .cr-icon,
.radio label input[type="radio"] + .cr > .cr-icon {
    transform: scale(3) rotateZ(-20deg);
    opacity: 0;
    transition: all .3s ease-in;
}

.checkbox label input[type="checkbox"]:checked + .cr > .cr-icon,
.radio label input[type="radio"]:checked + .cr > .cr-icon {
    transform: scale(1) rotateZ(0deg);
    opacity: 1;
}

.checkbox label input[type="checkbox"]:disabled + .cr,
.radio label input[type="radio"]:disabled + .cr {
    opacity: .5;
}