*{
    margin: 0;
    padding: 0;
}
.rate {
    float: left;
    height: 46px;
    padding: 0 10px;
}
.rate:not(:checked) > input {
    position:absolute;
    /* tsop:-9999px; */
    display: none;
}
.rate:not(:checked) > label {
    float:right;
    width:1em;
    overflow:hidden;
    white-space:nowrap;
    cursor:pointer;
    font-size:40px;
    color:#ccc;
}
.rate:not(:checked) > label:before {
    content: '★ ';
}
.rate > input:checked ~ label {
    color: #f9bf3b;
}
.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: #e2b617;
}

/* rating bar */
.reviews-summary-container .reviews-summary-bars.rating-5-stars .progress-bar {
    background-color: #70be1a;
}
.reviews-summary-container .reviews-summary-bars.rating-4-stars .progress-bar {
    background-color: #b0cb1e;
}
.reviews-summary-container .reviews-summary-bars.rating-3-stars .progress-bar {
    background-color: #fbae06;
}
.reviews-summary-container .reviews-summary-bars.rating-2-stars .progress-bar {
    background-color: #fb9906;
}
.reviews-summary-container .reviews-summary-bars.rating-1-stars .progress-bar {
    background-color: #db7b25;
}

.reviews-summary-container .reviews-summary-bars {
    display: table-row;
}

.reviews-summary-container {
    display: table;
}

.reviews-summary-container .reviews-summary-bars>a {
    display: table-cell;
}

.reviews-summary-container .progress {
    border-radius: 30px;
    height: 13px;
}


/*---------- star rating ----------*/
.review-star-rating {
    align-items: center;
    font-size: 1.15em;
    padding: 0;
}
.back-stars {
    color: #cccccc;
    position: relative;
    text-shadow: 4px 4px 10px #cccccc;
}
.front-stars {
    color: #f9bf3b;
    overflow: hidden;
    position: absolute;
    text-shadow: 2px 2px 5px #d29b09;
    top: 0;
}
.reviews .reviews-general-rating .review-star-rating {
    justify-content: center;
}

.reviews-general-rating .review-rating-data {
    font-size: 40px;
    line-height: 48px;
    margin-bottom: 10px;
    font-weight: 600;
    color: #666;
}

@media (min-width: 992px) {
    .reviews-general-rating .review-rating-data {
        font-size: 52px;
        line-height: 58px;
        margin-bottom: 15px;
    }
}

/* circle monogram */
.reviews .circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    font-size: 15px;
    line-height: 45px;
    text-align: center;
    background: #aaa;
    color: white;
}

.reviews .circle a {
    color: white;
}

/* review body */
.product-review-title a {
    color: #444;
    font-size: 18px;
    font-weight: 600;
}

.review-body-container {
    line-height: 20px;
}

.product-review-author {
    font-weight: 500;
}

/* review comment */
.review-comment {
    font-size: 12px;
    font-weight: 600;
}

/* review paginatior */
.review-paginator .pagination {
    justify-content: center;
}

.page-item {
    margin: 0.3rem;
}
