.starability {
    text-align: center;
    margin-top: 10px;
}
.starability fieldset{
    margin:0 auto;
}
.starability legend{
    font-size: 16px;
}
.starability-basic {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none
}

.starability-basic>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}

.starability-basic>input:checked~label,
.starability-basic>input:focus~label {
    background-position: 0 0
}

.starability-basic>input:checked+label,
.starability-basic>input:focus+label {
    background-position: 0 -30px
}

.starability-basic>input[disabled]:hover+label {
    cursor: default
}

.starability-basic>input:not([disabled]):hover~label {
    background-position: 0 0
}

.starability-basic>input:not([disabled]):hover+label {
    background-position: 0 -30px
}

.starability-basic>input:not([disabled]):hover+label:before {
    opacity: 1
}

.starability-basic>input:focus+label {
    outline: 1px dotted #999
}

.starability-basic .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}

.starability-basic>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}

.starability-basic>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}

.starability-basic>label,
.starability-basic>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}

.starability-basic>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 30px;
    pointer-events: none;
    opacity: 0
}

.starability-basic>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}

.starability-basic>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}

.starability-basic>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}

.starability-basic>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}

.starability-basic>label:nth-of-type(1):before {
    width: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-basic>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

@media screen and (-ms-high-contrast:active) {
    .starability-basic {
        width: auto
    }
    .starability-basic>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-basic .input-no-rate {
        display: none
    }
    .starability-basic>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-basic>label:after,
    .starability-basic>label:before {
        display: none
    }
}

.starability-slot {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none
}

.starability-slot>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}

.starability-slot>input:checked~label,
.starability-slot>input:focus~label {
    background-position: 0 0
}

.starability-slot>input:checked+label,
.starability-slot>input:focus+label {
    background-position: 0 -30px
}

.starability-slot>input[disabled]:hover+label {
    cursor: default
}

.starability-slot>input:not([disabled]):hover~label {
    background-position: 0 0
}

.starability-slot>input:not([disabled]):hover+label {
    background-position: 0 -30px
}

.starability-slot>input:not([disabled]):hover+label:before {
    opacity: 1
}

.starability-slot>input:focus+label {
    outline: 1px dotted #999
}

.starability-slot .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}

.starability-slot>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}

.starability-slot>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}

.starability-slot>label,
.starability-slot>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}

.starability-slot>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 30px;
    pointer-events: none;
    opacity: 0
}

.starability-slot>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}

.starability-slot>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}

.starability-slot>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}

.starability-slot>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}

.starability-slot>label:nth-of-type(1):before {
    width: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-slot>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

@media screen and (-ms-high-contrast:active) {
    .starability-slot {
        width: auto
    }
    .starability-slot>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-slot .input-no-rate {
        display: none
    }
    .starability-slot>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-slot>label:after,
    .starability-slot>label:before {
        display: none
    }
}

.starability-slot>input:checked~label,
.starability-slot>input:focus~label,
.starability-slot>input:hover~label {
    -webkit-transition: background-position .7s;
    transition: background-position .7s
}

@-webkit-keyframes a {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    70% {
        -webkit-transform: scale(3);
        transform: scale(3);
        opacity: 0
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@keyframes a {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    70% {
        -webkit-transform: scale(3);
        transform: scale(3);
        opacity: 0
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

.starability-grow {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none;
    will-change: contents
}

.starability-grow>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}

.starability-grow>input:checked~label,
.starability-grow>input:focus~label {
    background-position: 0 0
}

.starability-grow>input:checked+label,
.starability-grow>input:focus+label {
    background-position: 0 -30px
}

.starability-grow>input[disabled]:hover+label {
    cursor: default
}

.starability-grow>input:not([disabled]):hover~label {
    background-position: 0 0
}

.starability-grow>input:not([disabled]):hover+label {
    background-position: 0 -30px
}

.starability-grow>input:not([disabled]):hover+label:before {
    opacity: 1
}

.starability-grow>input:focus+label {
    outline: 1px dotted #999
}

.starability-grow .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}

.starability-grow>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}

.starability-grow>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}

.starability-grow>label,
.starability-grow>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}

.starability-grow>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 30px;
    pointer-events: none;
    opacity: 0
}

.starability-grow>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}

.starability-grow>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}

.starability-grow>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}

.starability-grow>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}

.starability-grow>label:nth-of-type(1):before {
    width: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-grow>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

@media screen and (-ms-high-contrast:active) {
    .starability-grow {
        width: auto
    }
    .starability-grow>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-grow .input-no-rate {
        display: none
    }
    .starability-grow>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-grow>label:after,
    .starability-grow>label:before {
        display: none
    }
}

.starability-grow>label:after {
    content: ' ';
    position: absolute;
    opacity: 0;
    width: 30px;
    height: 30px;
    background-image: url("../../images/rating.png");
    background-repeat: no-repeat;
    bottom: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-grow>label:after {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

.starability-grow>input:checked+label:after {
    background-position: 0 -30px;
    opacity: 1;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-name: a;
    animation-name: a;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes b {
    0% {
        -webkit-transform: scale(1) rotate(0deg);
        transform: scale(1) rotate(0deg)
    }
    99% {
        -webkit-transform: scale(4) rotate(90deg);
        transform: scale(4) rotate(90deg);
        opacity: 0
    }
    to {
        -webkit-transform: scale(1) rotate(0deg);
        transform: scale(1) rotate(0deg);
        opacity: 0
    }
}

@keyframes b {
    0% {
        -webkit-transform: scale(1) rotate(0deg);
        transform: scale(1) rotate(0deg)
    }
    99% {
        -webkit-transform: scale(4) rotate(90deg);
        transform: scale(4) rotate(90deg);
        opacity: 0
    }
    to {
        -webkit-transform: scale(1) rotate(0deg);
        transform: scale(1) rotate(0deg);
        opacity: 0
    }
}

.starability-growRotate {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none;
    will-change: contents
}

.starability-growRotate>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}

.starability-growRotate>input:checked~label,
.starability-growRotate>input:focus~label {
    background-position: 0 0
}

.starability-growRotate>input:checked+label,
.starability-growRotate>input:focus+label {
    background-position: 0 -30px
}

.starability-growRotate>input[disabled]:hover+label {
    cursor: default
}

.starability-growRotate>input:not([disabled]):hover~label {
    background-position: 0 0
}

.starability-growRotate>input:not([disabled]):hover+label {
    background-position: 0 -30px
}

.starability-growRotate>input:not([disabled]):hover+label:before {
    opacity: 1
}

.starability-growRotate>input:focus+label {
    outline: 1px dotted #999
}

.starability-growRotate .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}

.starability-growRotate>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}

.starability-growRotate>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}

.starability-growRotate>label,
.starability-growRotate>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}

.starability-growRotate>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 60px;
    pointer-events: none;
    opacity: 0
}

.starability-growRotate>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}

.starability-growRotate>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}

.starability-growRotate>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}

.starability-growRotate>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}

.starability-growRotate>label:nth-of-type(1):before {
    width: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-growRotate>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

@media screen and (-ms-high-contrast:active) {
    .starability-growRotate {
        width: auto
    }
    .starability-growRotate>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-growRotate .input-no-rate {
        display: none
    }
    .starability-growRotate>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-growRotate>label:after,
    .starability-growRotate>label:before {
        display: none
    }
}

.starability-growRotate>label:after {
    content: ' ';
    position: absolute;
    opacity: 0;
    width: 30px;
    height: 30px;
    background-image: url("../../images/rating.png");
    background-repeat: no-repeat;
    bottom: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-growRotate>label:after {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

.starability-growRotate>input:checked+label:after {
    background-position: 0 -30px;
    opacity: 1;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-name: b;
    animation-name: b;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes c {
    0% {
        -webkit-transform: translateY(30px);
        transform: translateY(30px)
    }
    80% {
        opacity: 100%
    }
    to {
        -webkit-transform: none;
        transform: none;
        opacity: 0
    }
}

@keyframes c {
    0% {
        -webkit-transform: translateY(30px);
        transform: translateY(30px)
    }
    80% {
        opacity: 100%
    }
    to {
        -webkit-transform: none;
        transform: none;
        opacity: 0
    }
}

.starability-fade {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none;
    will-change: contents
}

.starability-fade>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}

.starability-fade>input:checked~label,
.starability-fade>input:focus~label {
    background-position: 0 0
}

.starability-fade>input:checked+label,
.starability-fade>input:focus+label {
    background-position: 0 -30px
}

.starability-fade>input[disabled]:hover+label {
    cursor: default
}

.starability-fade>input:not([disabled]):hover~label {
    background-position: 0 0
}

.starability-fade>input:not([disabled]):hover+label {
    background-position: 0 -30px
}

.starability-fade>input:not([disabled]):hover+label:before {
    opacity: 1
}

.starability-fade>input:focus+label {
    outline: 1px dotted #999
}

.starability-fade .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}

.starability-fade>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}

.starability-fade>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}

.starability-fade>label,
.starability-fade>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}

.starability-fade>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 30px;
    pointer-events: none;
    opacity: 0
}

.starability-fade>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}

.starability-fade>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}

.starability-fade>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}

.starability-fade>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}

.starability-fade>label:nth-of-type(1):before {
    width: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-fade>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

@media screen and (-ms-high-contrast:active) {
    .starability-fade {
        width: auto
    }
    .starability-fade>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-fade .input-no-rate {
        display: none
    }
    .starability-fade>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-fade>label:after,
    .starability-fade>label:before {
        display: none
    }
}

.starability-fade>label:after {
    content: ' ';
    position: absolute;
    opacity: 0;
    width: 30px;
    height: 30px;
    background-image: url("../../images/rating.png");
    background-repeat: no-repeat;
    background-position: 0 -30px;
    bottom: 30px;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-fade>label:after {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

.starability-fade>input:checked+label:after {
    opacity: 1;
    -webkit-animation-name: c;
    animation-name: c;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes d {
    0% {
        -webkit-transform: translateX(-15px);
        transform: translateX(-15px)
    }
    60% {
        opacity: 1
    }
    70% {
        -webkit-transform: none;
        transform: none
    }
    80% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes d {
    0% {
        -webkit-transform: translateX(-15px);
        transform: translateX(-15px)
    }
    60% {
        opacity: 1
    }
    70% {
        -webkit-transform: none;
        transform: none
    }
    80% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

.starability-checkmark {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none
}

.starability-checkmark>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}

.starability-checkmark>input:checked~label,
.starability-checkmark>input:focus~label {
    background-position: 0 0
}

.starability-checkmark>input:checked+label,
.starability-checkmark>input:focus+label {
    background-position: 0 -30px
}

.starability-checkmark>input[disabled]:hover+label {
    cursor: default
}

.starability-checkmark>input:not([disabled]):hover~label {
    background-position: 0 0
}

.starability-checkmark>input:not([disabled]):hover+label {
    background-position: 0 -30px
}

.starability-checkmark>input:not([disabled]):hover+label:before {
    opacity: 1
}

.starability-checkmark>input:focus+label {
    outline: 1px dotted #999
}

.starability-checkmark .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}

.starability-checkmark>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}

.starability-checkmark>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}

.starability-checkmark>label,
.starability-checkmark>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}

.starability-checkmark>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 30px;
    pointer-events: none;
    opacity: 0
}

.starability-checkmark>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}

.starability-checkmark>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}

.starability-checkmark>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}

.starability-checkmark>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}

.starability-checkmark>label:nth-of-type(1):before {
    width: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-checkmark>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

@media screen and (-ms-high-contrast:active) {
    .starability-checkmark {
        width: auto
    }
    .starability-checkmark>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-checkmark .input-no-rate {
        display: none
    }
    .starability-checkmark>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-checkmark>label:after,
    .starability-checkmark>label:before {
        display: none
    }
}

.starability-checkmark>label {
    z-index: 1
}

.starability-checkmark>label:after {
    content: ' ';
    position: absolute;
    opacity: 0;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-image: url("../../images/rating.png")
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-checkmark>label:after {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

.starability-checkmark>label:nth-of-type(5):after {
    right: -45px
}

.starability-checkmark>label:nth-of-type(4):after {
    right: -75px
}

.starability-checkmark>label:nth-of-type(3):after {
    right: -105px
}

.starability-checkmark>label:nth-of-type(2):after {
    right: -135px
}

.starability-checkmark>label:nth-of-type(1):after {
    right: -165px
}

.starability-checkmark>input:checked+label:after {
    display: inline-block;
    -webkit-animation-name: d;
    animation-name: d;
    -webkit-animation-duration: .7s;
    animation-duration: .7s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes e {
    0% {
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
        opacity: 1
    }
    30% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: .7
    }
    45% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
    50% {
        -webkit-transform: scale(.9);
        transform: scale(.9)
    }
    80% {
        opacity: .9
    }
    to {
        -webkit-transform: scale(.1);
        transform: scale(.1);
        opacity: 0
    }
}

@keyframes e {
    0% {
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
        opacity: 1
    }
    30% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: .7
    }
    45% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
    50% {
        -webkit-transform: scale(.9);
        transform: scale(.9)
    }
    80% {
        opacity: .9
    }
    to {
        -webkit-transform: scale(.1);
        transform: scale(.1);
        opacity: 0
    }
}

.starability-heart {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none;
    will-change: contents
}

.starability-heart>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}

.starability-heart>input:checked~label,
.starability-heart>input:focus~label {
    background-position: 0 0
}

.starability-heart>input:checked+label,
.starability-heart>input:focus+label {
    background-position: 0 -30px
}

.starability-heart>input[disabled]:hover+label {
    cursor: default
}

.starability-heart>input:not([disabled]):hover~label {
    background-position: 0 0
}

.starability-heart>input:not([disabled]):hover+label {
    background-position: 0 -30px
}

.starability-heart>input:not([disabled]):hover+label:before {
    opacity: 1
}

.starability-heart>input:focus+label {
    outline: 1px dotted #999
}

.starability-heart .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}

.starability-heart>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}

.starability-heart>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}

.starability-heart>label,
.starability-heart>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}

.starability-heart>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 30px;
    pointer-events: none;
    opacity: 0
}

.starability-heart>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}

.starability-heart>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}

.starability-heart>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}

.starability-heart>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}

.starability-heart>label:nth-of-type(1):before {
    width: 0;
    left: 0
}

@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-heart>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}

@media screen and (-ms-high-contrast:active) {
    .starability-heart {
        width: auto
    }
    .starability-heart>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-heart .input-no-rate {
        display: none
    }
    .starability-heart>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-heart>label:after,
    .starability-heart>label:before {
        display: none
    }
}

.starability-heart>label:after {
    content: ' ';
    position: absolute;
    opacity: 0;
    width: 30px;
    height: 30px;
    background-image: url("../../images/rating.png");
    background-size: 30px auto
}


}
.starability-heart>input:checked+label:after {
    opacity: 1;
    -webkit-animation-name: e;
    animation-name: e;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}
@-webkit-keyframes f {
    0% {
        -webkit-transform: translateY(15px);
        transform: translateY(15px)
    }
    
    30% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }
    
    45% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
    
    50% {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
    
    75% {
        opacity: .9
    }
    
    to {
        -webkit-transform: scale(1.25);
        transform: scale(1.25);
        opacity: 0
    }
}
@keyframes f {
    0% {
        -webkit-transform: translateY(15px);
        transform: translateY(15px)
    }
    
    30% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }
    
    45% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
    
    50% {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
    
    75% {
        opacity: .9
    }
    
    to {
        -webkit-transform: scale(1.25);
        transform: scale(1.25);
        opacity: 0
    }
}
.starability-heartbeat {
    display: block;
    position: relative;
    width: 150px;
    min-height: 60px;
    padding: 0;
    border: none;
    will-change: contents
}
.starability-heartbeat>input {
    position: absolute;
    margin-right: -100%;
    opacity: 0
}
.starability-heartbeat>input:checked~label,
.starability-heartbeat>input:focus~label {
    background-position: 0 0
}
.starability-heartbeat>input:checked+label,
.starability-heartbeat>input:focus+label {
    background-position: 0 -30px
}
.starability-heartbeat>input[disabled]:hover+label {
    cursor: default
}
.starability-heartbeat>input:not([disabled]):hover~label {
    background-position: 0 0
}
.starability-heartbeat>input:not([disabled]):hover+label {
    background-position: 0 -30px
}
.starability-heartbeat>input:not([disabled]):hover+label:before {
    opacity: 1
}
.starability-heartbeat>input:focus+label {
    outline: 1px dotted #999
}
.starability-heartbeat .starability-focus-ring {
    position: absolute;
    left: 0;
    width: 100%;
    height: 30px;
    outline: 2px dotted #999;
    pointer-events: none;
    opacity: 0
}
.starability-heartbeat>.input-no-rate:focus~.starability-focus-ring {
    opacity: 1
}
.starability-heartbeat>label {
    position: relative;
    display: inline-block;
    float: left;
    width: 30px;
    font-size: .1em;
    color: transparent;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 0 -30px
}
.starability-heartbeat>label,
.starability-heartbeat>label:before {
    height: 30px;
    background-image: url("../../images/rating.png")
}
.starability-heartbeat>label:before {
    content: '';
    position: absolute;
    display: block;
    background-position: 0 30px;
    pointer-events: none;
    opacity: 0
}
.starability-heartbeat>label:nth-of-type(5):before {
    width: 120px;
    left: -120px
}
.starability-heartbeat>label:nth-of-type(4):before {
    width: 90px;
    left: -90px
}
.starability-heartbeat>label:nth-of-type(3):before {
    width: 60px;
    left: -60px
}
.starability-heartbeat>label:nth-of-type(2):before {
    width: 30px;
    left: -30px
}
.starability-heartbeat>label:nth-of-type(1):before {
    width: 0;
    left: 0
}
@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-heartbeat>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}
@media screen and (-ms-high-contrast:active) {
    .starability-heartbeat {
        width: auto
    }
    
    .starability-heartbeat>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    
    .starability-heartbeat .input-no-rate {
        display: none
    }
    
    .starability-heartbeat>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    
    .starability-heartbeat>label:after,
    .starability-heartbeat>label:before {
        display: none
    }
}
.starability-heartbeat>label:after {
    content: ' ';
    position: absolute;
    opacity: 0;
    width: 30px;
    height: 30px;
    background-image: url("../../images/rating.png");
    background-size: 30px auto
}

}
.starability-heartbeat>input:checked+label:after {
    opacity:1;
    -webkit-animation-name:f;
    animation-name:f;
    -webkit-animation-timing-function:cubic-bezier(.19,
    1,
    .69,
    1.35);
    animation-timing-function:cubic-bezier(.19,
    1,
    .69,
    1.35);
    -webkit-animation-duration:1s;
    animation-duration:1s;
    -webkit-animation-fill-mode:forwards;
    animation-fill-mode:forwards
}
.starability-result {
    position:relative;
    width:150px;
    font-size:.1em;
    color:transparent
}
.starability-result,
.starability-result:after {
    height:30px;
    background-image:url("../../images/rating.png")
}
.starability-result:after {
    content:' ';
    position:absolute;
    left:0;
    background-position:0 -30px
}
.starability-result[data-rating="5"]:after {
    width:150px
}
.starability-result[data-rating="4"]:after {
    width:120px
}
.starability-result[data-rating="3"]:after {
    width:90px
}
.starability-result[data-rating="2"]:after {
    width:60px
}
.starability-result[data-rating="1"]:after {
    width:30px
}
@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-result,
    .starability-result:after {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}
@-webkit-keyframes g {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 0
    }
    25% {
        -webkit-transform: translateY(-34px);
        transform: translateY(-34px);
        opacity: 1
    }
    30% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }
    35% {
        -webkit-transform: translateY(-30px) rotateY(0deg);
        transform: translateY(-30px) rotateY(0deg)
    }
    50% {
        -webkit-transform: translateY(-30px) rotateY(180deg);
        transform: translateY(-30px) rotateY(180deg)
    }
    65% {
        -webkit-transform: translateY(-30px) rotateY(0deg);
        transform: translateY(-30px) rotateY(0deg)
    }
    85% {
        -webkit-transform: translateY(-34px);
        transform: translateY(-34px);
        opacity: 1
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 0
    }
}
@keyframes g {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 0
    }
    25% {
        -webkit-transform: translateY(-34px);
        transform: translateY(-34px);
        opacity: 1
    }
    30% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }
    35% {
        -webkit-transform: translateY(-30px) rotateY(0deg);
        transform: translateY(-30px) rotateY(0deg)
    }
    50% {
        -webkit-transform: translateY(-30px) rotateY(180deg);
        transform: translateY(-30px) rotateY(180deg)
    }
    65% {
        -webkit-transform: translateY(-30px) rotateY(0deg);
        transform: translateY(-30px) rotateY(0deg)
    }
    85% {
        -webkit-transform: translateY(-34px);
        transform: translateY(-34px);
        opacity: 1
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 0
    }
}
.starability-coinFlip {
    display:block;
    position:relative;
    width:150px;
    min-height:60px;
    padding:0;
    border:none;
    will-change:contents
}
.starability-coinFlip>input {
    position:absolute;
    margin-right:-100%;
    opacity:0
}
.starability-coinFlip>input:checked~label,
.starability-coinFlip>input:focus~label {
    background-position:0 0
}
.starability-coinFlip>input:checked+label,
.starability-coinFlip>input:focus+label {
    background-position:0 -30px
}
.starability-coinFlip>input[disabled]:hover+label {
    cursor:default
}
.starability-coinFlip>input:not([disabled]):hover~label {
    background-position:0 0
}
.starability-coinFlip>input:not([disabled]):hover+label {
    background-position:0 -30px
}
.starability-coinFlip>input:not([disabled]):hover+label:before {
    opacity:1
}
.starability-coinFlip>input:focus+label {
    outline:1px dotted #999
}
.starability-coinFlip .starability-focus-ring {
    position:absolute;
    left:0;
    width:100%;
    height:30px;
    outline:2px dotted #999;
    pointer-events:none;
    opacity:0
}
.starability-coinFlip>.input-no-rate:focus~.starability-focus-ring {
    opacity:1
}
.starability-coinFlip>label {
    position:relative;
    display:inline-block;
    float:left;
    width:30px;
    font-size:.1em;
    color:transparent;
    cursor:pointer;
    background-repeat:no-repeat;
    background-position:0 -30px
}
.starability-coinFlip>label,
.starability-coinFlip>label:before {
    height:30px;
    background-image:url("../../images/rating.png")
}
.starability-coinFlip>label:before {
    content:'';
    position:absolute;
    display:block;
    background-position:0 30px;
    pointer-events:none;
    opacity:0
}
.starability-coinFlip>label:nth-of-type(5):before {
    width:120px;
    left:-120px
}
.starability-coinFlip>label:nth-of-type(4):before {
    width:90px;
    left:-90px
}
.starability-coinFlip>label:nth-of-type(3):before {
    width:60px;
    left:-60px
}
.starability-coinFlip>label:nth-of-type(2):before {
    width:30px;
    left:-30px
}
.starability-coinFlip>label:nth-of-type(1):before {
    width:0;
    left:0
}
@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-coinFlip>label {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}
@media screen and (-ms-high-contrast:active) {
    .starability-coinFlip {
        width: auto
    }
    .starability-coinFlip>input {
        position: static;
        margin-right: 0;
        opacity: 1
    }
    .starability-coinFlip .input-no-rate {
        display: none
    }
    .starability-coinFlip>label {
        display: inline;
        float: none;
        width: auto;
        height: auto;
        font-size: 1em;
        color: inherit;
        background: none
    }
    .starability-coinFlip>label:after,
    .starability-coinFlip>label:before {
        display: none
    }
}
.starability-coinFlip>label:after {
    content:' ';
    position:absolute;
    opacity:0;
    width:30px;
    height:30px;
    background-image:url("../../images/rating.png");
    background-repeat:no-repeat;
    bottom:0;
    left:0;
    z-index:1
}
@media screen and (-webkit-min-device-pixel-ratio:2),
screen and (min-resolution:192dpi) {
    .starability-coinFlip>label:after {
        background-image: url("../../images/rating.png");
        background-size: 30px auto
    }
}
.starability-coinFlip>input:checked+label:after {
    background-position:0 -30px;
    opacity:1;
    -webkit-animation-name:g;
    animation-name:g;
    -webkit-animation-duration:1.2s;
    animation-duration:1.2s;
    -webkit-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
    -webkit-animation-timing-function:ease-in-out;
    animation-timing-function:ease-in-out
}
.half{
  background-position:0 -60px !important;
}