.rate {
   
  height: 29px;
  padding: 0px 0px;
  display: block;
   width: 104px;
   margin: 10px 0px;
}
.rate:not(:checked) > input {
  position:absolute;
  left:-9999px;
}
.rate:not(:checked) > label {
  float:right;
  width:20px;
  overflow:hidden;
  white-space:nowrap;
  cursor:pointer;
  font-size:20px;
  color:#ccc;
}
.rate:not(:checked) > label:before {
  content: '★';
}
.rate > input:checked ~ label {
  color: #ffc700;
}
.rate:not(:checked) > label:hover,
.rate:not(:checked) > label:hover ~ label {
  color: #deb217;
}
.rate > input:checked + label:hover,
.rate > input:checked + label:hover ~ label,
.rate > input:checked ~ label:hover,
.rate > input:checked ~ label:hover ~ label,
.rate > label:hover ~ input:checked ~ label {
  color: #c59b08;
} 