.rate-area {
  float: left;
  border-style: none;
  width:100%
}

.rate-area:not(:checked) > input {
  position: absolute;
  /* top: -9999px; */
  clip: rect(0,0,0,0);
}

.rate-area:not(:checked) > label {
  float: right;
  width: 1.2em;
  padding: 0 .1em;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  font-size: 250%;
  line-height: 1.2;
  color: lightgrey;
  text-shadow: 1px 1px #bbb;
}

.rate-area:not(:checked) > label:before { content: '★ '; }

.rate-area > input:checked ~ label {
  color: gold;
  /* text-shadow: 1px 1px #c60; */
}

.rate-area:not(:checked) > label:hover, .rate-area:not(:checked) > label:hover ~ label { color: gold; }

.rate-area > input:checked + label:hover, .rate-area > input:checked + label:hover ~ label, .rate-area > input:checked ~ label:hover, .rate-area > input:checked ~ label:hover ~ label, .rate-area > label:hover ~ input:checked ~ label {
  color: gold;
  /* text-shadow: 1px 1px goldenrod; */
}

.rate-area > label:active {
  position: relative;
  /* top: 2px; */
  left: 2px;
}
