* {
  box-sizing: border-box;
}

.container {
  display: flex;
  flex-wrap: wrap;
  height: 100vh;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}

.rating {
  display: flex;
  width: 100%;
  justify-content: center;
  overflow: hidden;
  flex-direction: row-reverse;
  height: 150px;
  position: relative;
}

.rating-0 {
  filter: grayscale(100%);
}

.rating > input {
  display: none;
}

.rating > label {
  cursor: pointer;
  width: 40px;
  height: 40px;
  margin-top: auto;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='126.729' height='126.73'%3e%3cpath fill='%23e3e3e3' d='M121.215 44.212l-34.899-3.3c-2.2-.2-4.101-1.6-5-3.7l-12.5-30.3c-2-5-9.101-5-11.101 0l-12.4 30.3c-.8 2.1-2.8 3.5-5 3.7l-34.9 3.3c-5.2.5-7.3 7-3.4 10.5l26.3 23.1c1.7 1.5 2.4 3.7 1.9 5.9l-7.9 32.399c-1.2 5.101 4.3 9.3 8.9 6.601l29.1-17.101c1.9-1.1 4.2-1.1 6.1 0l29.101 17.101c4.6 2.699 10.1-1.4 8.899-6.601l-7.8-32.399c-.5-2.2.2-4.4 1.9-5.9l26.3-23.1c3.8-3.5 1.6-10-3.6-10.5z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 76%;
  transition: 0.3s;
}

.rating > input:checked ~ label,
.rating > input:checked ~ label ~ label {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='126.729' height='126.73'%3e%3cpath fill='%23fcd93a' d='M121.215 44.212l-34.899-3.3c-2.2-.2-4.101-1.6-5-3.7l-12.5-30.3c-2-5-9.101-5-11.101 0l-12.4 30.3c-.8 2.1-2.8 3.5-5 3.7l-34.9 3.3c-5.2.5-7.3 7-3.4 10.5l26.3 23.1c1.7 1.5 2.4 3.7 1.9 5.9l-7.9 32.399c-1.2 5.101 4.3 9.3 8.9 6.601l29.1-17.101c1.9-1.1 4.2-1.1 6.1 0l29.101 17.101c4.6 2.699 10.1-1.4 8.899-6.601l-7.8-32.399c-.5-2.2.2-4.4 1.9-5.9l26.3-23.1c3.8-3.5 1.6-10-3.6-10.5z'/%3e%3c/svg%3e");
}

.rating > input:not(:checked) ~ label:hover,
.rating > input:not(:checked) ~ label:hover ~ label {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='126.729' height='126.73'%3e%3cpath fill='%23d8b11e' d='M121.215 44.212l-34.899-3.3c-2.2-.2-4.101-1.6-5-3.7l-12.5-30.3c-2-5-9.101-5-11.101 0l-12.4 30.3c-.8 2.1-2.8 3.5-5 3.7l-34.9 3.3c-5.2.5-7.3 7-3.4 10.5l26.3 23.1c1.7 1.5 2.4 3.7 1.9 5.9l-7.9 32.399c-1.2 5.101 4.3 9.3 8.9 6.601l29.1-17.101c1.9-1.1 4.2-1.1 6.1 0l29.101 17.101c4.6 2.699 10.1-1.4 8.899-6.601l-7.8-32.399c-.5-2.2.2-4.4 1.9-5.9l26.3-23.1c3.8-3.5 1.6-10-3.6-10.5z'/%3e%3c/svg%3e");
}

.emoji-wrapper {
  width: 100%;
  text-align: center;
  height: 100px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

.emoji-wrapper:before,
.emoji-wrapper:after {
  content: "";
  height: 15px;
  width: 100%;
  position: absolute;
  left: 0;
  z-index: 1;
}

.emoji-wrapper:before {
  top: 0;
  background: linear-gradient(to bottom, #01163c 0%, #01163c 35%, rgba(255, 255, 255, 0) 100%);
}

.emoji-wrapper:after {
  bottom: 0;
  background: linear-gradient(to top, #01163c 0%, #01163c 35%, rgba(255, 255, 255, 0) 100%);
}

.emoji {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: 0.3s;
}

.emoji > svg {
  margin: 15px 0;
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}

#rating-1:hover ~ .emoji-wrapper > .emoji {
  transform: translateY(-100px);
}

#rating-2:hover ~ .emoji-wrapper > .emoji {
  transform: translateY(-200px);
}

#rating-3:hover ~ .emoji-wrapper > .emoji {
  transform: translateY(-300px);
}

#rating-4:hover ~ .emoji-wrapper > .emoji {
  transform: translateY(-400px);
}

#rating-5:hover ~ .emoji-wrapper > .emoji {
  transform: translateY(-500px);
}

#rating-1:checked ~ .emoji-wrapper > .emoji {
  transform: translateY(-100px);
}

#rating-2:checked ~ .emoji-wrapper > .emoji {
  transform: translateY(-200px);
}

#rating-3:checked ~ .emoji-wrapper > .emoji {
  transform: translateY(-300px);
}

#rating-4:checked ~ .emoji-wrapper > .emoji {
  transform: translateY(-400px);
}

#rating-5:checked ~ .emoji-wrapper > .emoji {
  transform: translateY(-500px);
}

.feedback {
  max-width: 360px;
  background-color: #fff;
  width: 100%;
  padding: 30px;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

.chart {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
}

.chart .rate-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  height: 30px;
  padding: 20px 0;
  padding: 10px;
}
.chart .rate-box > * {
  height: 100%;
  display: flex;
  align-items: center;
  font-weight: 300;
  color: #444;
}
.rate-box .value {
  display: flex;
  align-items: center;
}
.rate-box .value:hover {
  color: #66bb6a;
}
.chart .value {
  font-size: 30px;
  cursor: pointer;
}
.rate-box .progress-bar {
  border-width: 1px;
  position: relative;
  background-color: #cfd8dc91;

  height: 10px;
  border-radius: 100px;
  width: 350px;
}
.rate-box .progress-bar .progress {
  background-color: #66bb6a;
  height: 100%;
  border-radius: 100px;
  transition: 300ms ease-in-out;
}

.global {
  height: 100%;
  width: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.one .fas {
  color: #cfd8dc;
}

.two {
  background: linear-gradient(to right, #66bb6a 0%, transparent 0%);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent;
  transition: 0.5s ease-in-out all;
}

.global > span {
  font-size: 90px;
  font-weight: 300;
  text-align: center;
}

.rating-icons {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 10%;
}
.rating-icons span {
  position: absolute;
  display: flex;
  font-size: 30px;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 5px;
}

.total-reviews {
  font-size: 25px !important;
}