.rating, .rating-stat {
	display: table-footer-group;
	overflow: hidden;
	width: 265px;
	margin: 0 auto;
}
.rating:not(:checked) > input, .rating-stat:not(:checked) > input {
	display: none;
}
.rating:not(:checked) > label, .rating-stat:not(:checked) > label {
	float: right;
	width: 42px;
	padding: 0;
	cursor: pointer;
	font-size: 32px;
	line-height: 32px;
	color: lightgrey;
	text-shadow: 1px 1px #bbb;
}

@media (min-width:480px) and (max-width:1200px) {
	.rating:not(:checked) > label, .rating-stat:not(:checked) > label {
		width: 36px;
	}
}

@media (min-width:360px) and (max-width:378px) {
	.rating:not(:checked) > label, .rating-stat:not(:checked) > label {
		width: 26px;
	}
}

@media (max-width:378px) {
	.rating:not(:checked) > label, .rating-stat:not(:checked) > label {
		width: 18px;
	font-size: 20px;
	line-height: 20px;
	}
}
.rating:not(:checked) > label:before, .rating-stat:not(:checked) > label:before {
	content: '★';
}
.rating > input:checked ~ label, .rating-stat > input:checked ~ label {
	color: gold;
	text-shadow: 1px 1px #c60;
}
.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
	color: gold;
}
.rating > input:checked + label:hover,
.rating > input:checked + label:hover ~ label,
.rating > input:checked ~ label:hover,
.rating > input:checked ~ label:hover ~ label,
.rating > label:hover ~ input:checked ~ label {
	color: gold;
	text-shadow: 1px 1px goldenrod;
}
.rate-area > label:active {
	position: relative;
}