.state[data-value="UNKNOWN"] {
    stroke: white;
    fill: rgb(128,128,128) !important;
    color: white;
    background: rgb(128,128,128);
}

.state[data-value="INIT"] {
    fill: rgb(204,204,122) !important;
    background: rgb(204,204,122);
}

.state[data-value="DISABLE"] {
    fill: rgb(255,0,255) !important;
    background: rgb(255,0,255);
}

.state[data-value="STANDBY"] {
    fill: rgb(255,255,0) !important;
    background: rgb(255,255,0);
}

.state[data-value="ON"],
.state[data-value="OPEN"],
.state[data-value="EXTRACT"] {
    stroke: #00000;
    fill: #00FF00 !important;
    color: #00000;
    background: #00FF00;
} 

.state[data-value="OFF"],
.state[data-value="CLOSE"],
.state[data-value="INSERT"] {
    stroke: grey;
    fill: white;
    color: grey;
    background: white;
}

.state[data-value="FAULT"] {
    stroke: white;
    fill: red !important;
    color: white;
    background: red;
}

.state[data-value="RUNNING"],
.state[data-value="MOVING"] {
    fill: rgb(128,160,255) !important;
    background: rgb(128,160,255);
}

.state[data-value="ALARM"] {
    stroke: white;
    fill: rgb(255,140,0) !important;
    color: white;
    background: rgb(255,140,0);
}

.boolean[data-value="true"]:not(text) {
    fill: #0F0 !important;
    background: #0f0;
}

.boolean[data-value="false"]:not(text) {
    fill: red !important;
    background: red;
}

[data-quality='ATTR_INVALID'] {
    text-decoration: line-through !important;
}

[data-quality='ATTR_INVALID']:not(text) {
    fill: grey !important;
}

[data-quality='ATTR_MOVING'] {
    text-decoration: overline !important;
}


@-webkit-keyframes alarmBlink {
    from {
        fill: red !important;
    }
    
    to {
        fill: black !important;
    }
}

[data-quality='ATTR_ALARM'] {
    text-decoration: blink overline;
    -webkit-animation-duration: 1s;
    -webkit-animation-name: alarmBlink;
    -webkit-animation-iteration-count: infinite;
}

@-webkit-keyframes warningBlink {
    from {
        fill: yellow  !important;
    }
    to {
        fill: inherit  !important;
    }
}

[data-quality='ATTR_WARNING'] {
    text-decoration: underline;
    -webkit-animation-duration: 3s;
    -webkit-animation-name: warningBlink;
    -webkit-animation-iteration-count: infinite;
}
