.form{
  width: 100%;
  float: left;

  .form-field{
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 15px;
    .form-label{
      transition: all .3s ease;
      position: absolute;
      top: 50%;
      left: 0;
      z-index: 1;
      transform: translateY(-50%);
      width: 100%;
      padding: 5px 10px;
    }
    .form-text{
      position: relative;
      z-index: 2;
      width: 100%;
      height: 55px;
      padding: 15px 10px 5px;
      border: 1px solid #ccc;
      background: transparent;
      &.error{
        border: 1px solid #ae0000;
      }
    }
    &.form-field-textarea{
      .form-label{
        top: 0;
        transform: translateY(50%);
      }
      .form-text{
        height: 260px;
      }
    }
    &.form-focus{
      .form-label{
        top: 5px;
        transform: translateY(0%);
        font-size: 11px;
      }
      &.form-field-textarea{
        .form-text{
          padding-top:20px;
        }
      }
    }
  }

  /* Checkbox */
  .checkbox{
    [type="checkbox"]:not(:checked),
    [type="checkbox"]:checked {
      position: absolute;
      left: -9999px;
    }
    [type="checkbox"]:not(:checked) + label,
    [type="checkbox"]:checked + label {
      display: inline-block;
      position: relative;
      padding-left: 25px;
      cursor: pointer;
      line-height: 20px;
    }

    /* checkbox aspect */
    [type="checkbox"]:not(:checked) + label:before,
    [type="checkbox"]:checked + label:before {
      content: '';
      position: absolute;
      left:0; top: 0px;
      width: 17px; height: 17px;
      border: 1px solid #aaa;
    }
    [type="checkbox"]:not(:checked).error + label:before{
      border: 1px solid #ccc;
    }
    /* checked mark aspect */
    [type="checkbox"]:not(:checked) + label:after,
    [type="checkbox"]:checked + label:after {
      // @include sprite-image($form-check);
      // @include sprite-position($form-check);
      // @include sprite-width($form-check);
      // @include sprite-height($form-check);
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      transition: all .2s;
    }
    /* checked mark aspect changes */
    [type="checkbox"]:not(:checked) + label:after {
      opacity: 0;
      transform: scale(0);
    }
    [type="checkbox"]:checked + label:after {
      opacity: 1;
      transform: scale(1);
    }
  }


  /* Radio */
  .radio{
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;

    [type="radio"]:not(:checked),
    [type="radio"]:checked {
      position: absolute;
      left: -9999px;
    }
    [type="radio"]:not(:checked) + label,
    [type="radio"]:checked + label {
      display: inline-block;
      position: relative;
      padding-left: 25px;
      cursor: pointer;
      line-height: 20px;
      color: #ccc;
    }

    /* radio aspect */
    [type="radio"]:not(:checked) + label:before,
    [type="radio"]:checked + label:before {
      content: '';
      position: absolute;
      left:0; top: 0px;
      width: 17px; height: 17px;
      border: 1px solid #ccc;
      border-radius: 50%;
    }
    [type="radio"]:not(:checked).error + label:before{
      border: 1px solid #ccc;
    }
    /* checked mark aspect */
    [type="radio"]:not(:checked) + label:after,
    [type="radio"]:checked + label:after {
      content: '';
      display: block;
      position: absolute;
      top: 4px;
      left: 4px;
      width: 11px;
      height: 11px;
      border-radius: 50%;
      background: #ccc;
      transition: all .2s;
    }
    /* checked mark aspect changes */
    [type="radio"]:not(:checked) + label:after {
      opacity: 0;
      transform: scale(0);
    }
    [type="radio"]:checked + label:after {
      opacity: 1;
      transform: scale(1);
    }
  }

  .form-file{
    position: relative;
    .inputfile{
      opacity: 0;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      cursor: pointer;
    }
    label{
      width: 100%;
      span{
        display: block;
        width: calc(100% - 110px);
        height: 55px;
        padding: 15px 10px 15px;
        color: #ccc;
        border: 1px solid #ccc;
        font-size: 18px;
        line-height: 24px;
      }
      .btn{
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        width: 100px;
        height: 55px;
        padding: 18px 10px;
        font-weight: normal;
      }
    }
  }

  .form-submit{
    transition: background-color .3s;
    height: 55px;
    padding: 15px;
    color: #ccc;
    font-size: 18px;
    line-height: 18px;
    text-align: center;
    border: none;
    background-color: #ccc;
    &:hover{
      background-color: #d7ed2d;
    }
  }


  &.form-institucional{
    margin-bottom: 80px;
    overflow: hidden;

    .col{
      float: left;
      width: 50%;
      padding: 15px;
    }
    .col-full{
      float: left;
      width: 100%;
    }

    .form-label{
      float: left;
      width: 50%;
      padding: 0 15px;
      margin-bottom: 20px;
      span{
        transform: translateY(0);
        position: static;
        float: left;
        margin-bottom: 12px;
        padding: 0;
        color: #ccc;
      }
      .form-text{
        transition: .5s;
        position: relative;
        z-index: 2;
        width: 100%;
        height: 55px;
        padding: 15px 10px 15px;
        color: #ccc;
        font-size: 18px;
        border: 1px solid #ccc;
        background: transparent;
        &.form-text-textarea{
          height: 260px;
        }
        &.form-text-border-gray{
          border-color: #ccc;
        }
      }
      &.form-label-full{
        width: 100%;
      }
    }
    .form-submit{
      float: right;
      min-width: 180px;
      margin-right: 15px;
    }
  }

  .form-sending{
    .sending-success,
    .sending-error{
      float: left;
      margin-bottom: 0 !important;
      padding: 17px 15px;
    }
    .sending-error{
      color: #ae0000 !important;
    }
    .sending-success{
      color: #ccc;
    }
  }


}
