appstatus { display: block; height: 5%; position: fixed; top: 0; left: 0; right: 0; padding: 2px; padding-left: 30px; background-image: url(/images/disconnect.png); background-repeat: no-repeat; background-position: 6px 13px; background-color: #222; color: white; font-size: 1.6em; line-height: 1.6em; } appstatus.backfilling { background-image: url(/images/spinner.gif); } appstatus.realtime { background-image: url(/images/connect.png); } testruns { display: block; overflow-y: scroll; height: 60%; position: fixed; top: 6%; left: 0; right: 0; } testrun { display: block; } testrunsummary { display: block; margin: 3px; border: 1px solid #aaa; left: 0; right: 0; padding: 3px; padding-left: 25px; } testrunsummary started, testrunsummary currenttest, testrunsummary statitics { display: block; } /* TODO icons for these */ testrunsummary.Running { background-image: url(/images/spinner.gif); background-repeat: no-repeat; background-position: 3px 4px; } testrunsummary.Success { background-color: lightgreen; } testrunsummary.Failed { background-color: #FFBBBB; } eventlog { display: block; position: fixed; bottom: 0; left: 0; right: 0; height: 35%; border-top: 3px solid black; overflow-y: scroll; } testevent { display: block; border-bottom: 1px solid black; line-height: 1.3em; padding-top: 2px; padding-bottom: 2px; } testevent timestamp { display: inline-block; padding-left: 5px; padding-right: 5px; } testevent.testFault { background-color: #FFBBBB; }