.input_label{position: relative;width: 100%;display: block;float: left;}
.input_label label, label.input_label{margin-bottom: 0;}
.input_label label, label.input_label *.label{
  position: absolute;
  left: 0;
  top: 0;
  color: #333;
  font-weight: normal;
  background: none!important;
  border: none!important;
  top: 0;
  box-shadow: none;
  cursor: text;
  width: auto;
}

.input_label_required:before{
  position: absolute;
  left: 0;
  top: 50%;
  content: '*';
  color: red;
  font-weight: bold;
  font-size: 110%;
  height: 10px;
  margin-top: -5px;
  line-height: 20px;
}

.input_label.center_label label, label.input_label.center_label *.label{
  height: auto!important;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
/*.input_label textarea+label{top: 7.5px;}*/
.input_label input:focus+label, .input_label textarea:focus+label, label.input_label *:focus+*.label{opacity: 0.5;}
.input_label *[required]:invalid+label, label.input_label *[required]:invalid+*.label{display: block;}
.input_label input[required]:valid+label, .input_label textarea[required]:valid+label, label.input_label *[required]:valid+*.label
, .input_label .value_preenchido+label, .input_label .value_preenchido+.label{display: none!important;}
.form_destaque input.error{border-color: red;}