span.required {
    margin-top: -4px !important;
}

.smiley_rating label, .star_rating label {
    border: 0 transparent !important;
}

.smiley_rating label {
    color: #9a9a9a !important;
}

.smiley_rating label[for=smiley_3]:hover, .smiley_rating #smiley_3:checked+label[for=smiley_3] {
    color: var(--bs-success) !important;
}
.smiley_rating label[for=smiley_2]:hover, .smiley_rating #smiley_2:checked+label[for=smiley_2] {
    color: var(--bs-orange) !important;
}
.smiley_rating label[for=smiley_1]:hover, .smiley_rating #smiley_1:checked+label[for=smiley_1] {
    color: var(--bs-danger) !important;
}

.star_rating, .number_rating {
    float: left;
    min-width: max-content !important;
    padding: 0 32px;
    margin: 0;
    white-space: nowrap;
}

.number_rating div.stack {
    position: relative;
    width: 32px;
    height: 32px;
}

.number_rating div.stack i,.number_rating div.stack span {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.number_rating div.stack span {
    color: var(--primary);
    top: 2px;
    left: 0;
    font-size: 14pt;
    font-weight: bold;
    width: inherit;
    height: inherit;
    text-align: center;
}

.number_rating:not(:checked) > label:hover ~ div.stack span,
.number_rating input:checked ~ label div.stack span {
    color: var(--primary) !important;
}

/*.number_rating:not(:checked) > label:hover div.stack span { color: #ffffff !important;  }*/

.number_rating .btn-check {
    width: 0;
    height: 0;
}

.number_rating .btn-check:checked+.btn {
    border-color: transparent !important;
}

.star_rating > label {
    font-size: 20pt;
    float: right;
    color: var(--text-light);
}

.number_rating > label {
    font-size: 24pt;
    float: right;
    color: var(--primary);
    margin: 0;
}

.range_label {
    font-size: 8pt;
    margin-top: -16px;
}

fieldset legend {
    font-size: var(--legend-size) !important;
    font-weight: var(--legend-weight) !important;
}

#btn_submit_form {
    margin-right: 14px !important;
    background-color: var(--accent-secondary);
    border-color: transparent;
}