
.rating {
    direction: rtl;
    display: inline-flex;
    font-size: 1.5rem;
}
.rating input {
    display: none;
}
.rating label {
    color: #ddd;
    cursor: pointer;
    padding: 0 5px;
}
.rating input:checked ~ label,
.rating label:hover,
.rating label:hover ~ label {
    color: gold;
}

.needs-validation{
    border:1px solid lightgrey;
    border-radius: 10px;
    box-shadow: 0 0 0 1px rgb(0 0 0 / 20%);
}
.star-rating1{
    display:flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    font-size: 2rem;
    gap: 2px;
    padding: 1rem;
}

.star-rating1 input {
    display: none;
}

.star-rating1 label{
    color: lightgray;
    cursor: pointer;
    font-size: 1.5rem;
}
.star-rating1 input:checked ~label,.star-rating1 label:hover,.star-rating1 label:hover ~label{
    color:gold;
    
}

/* show red messages and borders on invalid fields */
.form-control.is-invalid,
.form-select.is-invalid {
    border-color: #dc3545;
}

.invalid-feedback {
    display: none;
    color: #dc3545;
    font-size: 0.9rem;
    margin-top: 4px;
}

.is-invalid + .invalid-feedback,
.form-group .invalid-feedback.show {
    display: block;
}

#formMessages {
    font-weight: 600;
}
