ol.progtrckr li {
    display: inline-block;
    text-align: center;
    line-height: 3.8em;
    width:30%;
}

ol.progtrckr[data-progtrckr-steps="2"] li { width: 30%; }
ol.progtrckr[data-progtrckr-steps="3"] li { width: 30%; }
ol.progtrckr[data-progtrckr-steps="4"] li { width: 24%; }
ol.progtrckr[data-progtrckr-steps="5"] li { width: 19%; }
ol.progtrckr[data-progtrckr-steps="6"] li { width: 16%; }
ol.progtrckr[data-progtrckr-steps="7"] li { width: 14%; }
ol.progtrckr[data-progtrckr-steps="8"] li { width: 12%; }
ol.progtrckr[data-progtrckr-steps="9"] li { width: 11%; }

ol.progtrckr li.progtrckr-done {
    color: black;
    /*border-bottom: 4px solid yellowgreen;*/
    border-bottom:none;
    background:linear-gradient(yellowgreen,yellowgreen) bottom left /* left or right or else */ no-repeat;
    background-size:100% 4px;
}

ol.progtrckr li.progtrckr-done-last {
    color: black;
    border-bottom:none;
    background:linear-gradient(yellowgreen,yellowgreen) bottom left /* left or right or else */ no-repeat;
    background-size:60% 4px;
}

ol.progtrckr li.progtrckr-todo {
    color: black;
    border-bottom:none;
    background:linear-gradient(silver,silver) bottom left /* left or right or else */ no-repeat;
    background-size:100% 4px;
}

ol.progtrckr li.progtrckr-todo-last {
    color: black;
    border-bottom:none;
    background:linear-gradient(silver,silver) bottom left /* left or right or else */ no-repeat;
    background-size:60% 4px;
}

ol.progtrckr li:after {
    content: "\00a0\00a0";
}
ol.progtrckr li:before {
    position: relative;
    bottom: -2.5em;
    float: left;
    left: 50%;
    line-height: 1em;
}
ol.progtrckr li.progtrckr-done:before,ol.progtrckr li.progtrckr-done-last:before {
    content: "\2713";
    color: black;
    background-color: yellowgreen;
    height: 2.2em;
    width: 2.2em;
    line-height: 2.2em;
    border: none;
    border-radius: 2.2em;
}

ol.progtrckr li.progtrckr-todo:before, ol.progtrckr li.progtrckr-todo-last:before {
    content: "\039F";
    color: silver;
    background-color: silver;
    height: 2.2em;
    width: 2.2em;
    line-height: 2.2em;
    border: none;
    border-radius: 2.2em;
}

ol.progtrckr li.progtrckr-doing:before, ol.progtrckr li.progtrckr-doing-last:before {
    content: "\039F";
    color: silver;
    background-color: silver;
    height: 2.2em;
    width: 2.2em;
    line-height: 2.2em;
    border: none;
    border-radius: 2.2em;
    animation-name: progressDoingDots;
    animation-iteration-count: infinite;
    animation-duration: 2s;
}

@keyframes progressDoingDots {
    0% {background-color: yellowgreen;}
    50% {background-color: silver;}
    100% {background-color: yellowgreen;}
}

ol.progtrckr li.progtrckr-doing {
    color: black;
    /*border-bottom: 4px solid yellowgreen;*/
    border-bottom:none;
    background:linear-gradient(yellowgreen,yellowgreen) bottom left /* left or right or else */ no-repeat;
    background-size:100% 4px;
    animation-name: progressDoingLines;
    animation-iteration-count: infinite;
    animation-duration: 2s;
}

@keyframes progressDoingLines {
    0% {background:linear-gradient(yellowgreen,yellowgreen) bottom left /* left or right or else */ no-repeat;background-size:100% 4px;}
    50% {background:linear-gradient(silver,silver) bottom left /* left or right or else */ no-repeat;background-size:100% 4px;}
    100% {background:linear-gradient(yellowgreen,yellowgreen) bottom left /* left or right or else */ no-repeat;background-size:100% 4px;}
}


