* WARNING:This file is generated by generate_standalone_timeline_view.py * * Do not edit directly. */.track-button{background-color:rgba(255,255,255,0.5);border:1px solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.2);font-size:10px;height:12px;text-align:center;width:12px}.track-button:hover{background-color:rgba(255,255,255,1.0);border:1px solid rgba(0,0,0,0.5);box-shadow:0 0 .05em rgba(0,0,0,0.4);color:rgba(0,0,0,1)}.track-close-button{left:2px;position:absolute;top:2px}.track-collapse-button{left:17px;position:absolute;top:2px}.canvas-based-track{-webkit-box-align:stretch;-webkit-box-orient:horizontal;background-color:white;display:-webkit-box;margin:0;padding:0 5px 0 0}.canvas-based-track-title{background-color:#d6dde5;border-right:1px solid #8e8e8e;overflow:hidden;padding-right:5px;padding-left:18px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.canvas-based-track-canvas-container{-webkit-box-flex:1;width:100%}.canvas-based-track-canvas{-webkit-box-flex:1;display:block}.slice-track{height:18px}.counter-track{height:30px;position:relative}.thread-track{-webkit-box-orient:vertical;display:-webkit-box;position:relative}.thread-track>.slice-group-track.first-visible-child>.slice-track.first-visible-child .canvas-based-track-canvas-container{border-top:1px solid #d8d8d8;height:21px;padding-top:2px}.process-track.first-visible-child>.thread-track.first-visible-child>.slice-group-track.first-visible-child>.slice-track.first-visible-child .canvas-based-track-canvas-container{border-top:0}.thread-track>.slice-group-track.first-visible-child .canvas-based-track:first-child{height:21px}.thread-track .canvas-based-track:last-child .canvas-based-track-canvas-container{margin-bottom:4px}.thread-track .canvas-based-track:last-child{height:22px}.thread-track>.slice-group-track.first-visible-child .canvas-based-track:first-child:last-child{height:22px}.model-track{-webkit-box-flex:1}.ruler-track{height:12px}.ruler-track-with-distance-measurements{height:24px}.ruler-track .canvas-based-track-canvas-container{border-bottom:1px solid #8e8e8e}.timeline-track-view *{-webkit-user-select:none;cursor:default}.timeline-track-view{-webkit-box-orient:vertical;display:-webkit-box}.model-track-container{-webkit-box-flex:1;overflow:auto}.drag-box{background-color:rgba(0,0,255,0.25);border:1px solid #000060;font-size:75%;position:fixed}.analysis{font-family:monospace;white-space:pre}.analysis *{-webkit-user-select:text!important;cursor:text}.analysis-table{border-collapse:collapse;border-width:0}.analysis-table>tr>td:first-child{padding-left:2px}.analysis-table>tr>td{padding:2px 4px 2px 4px}.analysis-table-header{text-align:left}.analysis-table-row{vertical-align:top}.analysis-table-row:nth-child(2n+0){background-color:#e2e2e2}.analysis-slices-table-col-1{text-align:right}.analysis-slices-table-col-2{text-align:right}.overlay-root *{-webkit-user-select:none;box-sizing:border-box}.overlay-root{-webkit-box-align:stretch;-webkit-box-orient:horizontal;-webkit-box-pack:center;-webkit-user-select:none;background:rgba(0,0,0,0.8);display:-webkit-box;font-family:sans-serif;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.overlay-root:not([visible]),.overlay:not([visible]){display:none}.overlay-root>.content-host{-webkit-box-align:stretch;-webkit-box-orient:vertical;-webkit-box-pack:center;-webkit-user-select:auto;display:-webkit-box}.overlay-root>.content-host>*{background:#fff}.overlay{max-height:500px;overflow:auto;padding:8px}.view *{-webkit-user-select:none;box-sizing:border-box}.view{-webkit-box-flex:1;-webkit-box-orient:vertical;cursor:default;display:-webkit-box;font-family:sans-serif;padding:0}.view>.control>.title{font-size:14px;height:19px;padding-left:2px;padding-right:8px;padding-top:2px}.view>.control{background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#e5e5e5),to(#d1d1d1));background-color:#e6e6e6;border-bottom:1px solid #8e8e8e;display:-webkit-box}.view>.control>.controls{display:-webkit-box}.view>.control>span{padding-left:5px;padding-right:10px}.view>.control>.controls>button,.view>.control>.controls>label{font-size:11px;margin:1px 2px 1px 2px;height:19px}.view>.control>.spacer{-webkit-box-flex:1}.view>.container{-webkit-box-flex:1;display:-webkit-box;border-bottom:1px solid #8e8e8e}.view>.container>*{-webkit-box-flex:1}.drag-handle{background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#e5e5e5),to(#d1d1d1));height:8px;border-top:1px solid white;border-bottom:1px solid #8e8e8e;cursor:ns-resize}.view>.analysis-container{height:250px;overflow:auto;padding-left:2px;padding-right:2px}.view .selection{margin:2px}.view .selection ul{margin:0}.find-control{-webkit-user-select:none;display:-webkit-box;position:relative}.find-control .hit-count-label{left:0;opacity:.25;pointer-events:none;position:absolute;text-align:right;top:2px;width:170px;z-index:1}.find-control input{-webkit-user-select:auto;background-color:#f8f8f8;border:1px solid rgba(0,0,0,0.5);box-sizing:border-box;height:19px;margin-bottom:1px;margin-left:0;margin-right:0;margin-top:1px;padding:0;width:170px}.find-control input:focus{background-color:white}.button.find-previous{border-left:none;margin-left:0;margin-right:0}.button.find-next{border-left:none;margin-left:0}.view-help-overlay{padding:6px}.button{background-color:#f8f8f8;border:1px solid rgba(0,0,0,0.5);color:rgba(0,0,0,0.8);font-size:14px;height:19px;margin:1px;text-align:center;width:23px}.button:hover{background-color:rgba(255,255,255,1.0);border:1px solid rgba(0,0,0,0.8);box-shadow:0 0 .05em rgba(0,0,0,0.4);color:rgba(0,0,0,1)}.view-info-button{width:auto;padding-left:4px;padding-right:4px}.view-info-button:hover{border:solid 1px}.view-import-errors-button{color:darkred;border:solid 1px rgba(128,0,0,0.2)}.view-import-errors-button:hover{color:red;border:solid 1px red}.import-errors-dialog{overflow:auto;min-width:400px;min-height:200px;max-width:800px;max-height:500px}.import-errors-dialog-text{white-space:pre;font-family:monospace;margin:8px}.metadata-dialog{overflow:auto;min-width:400px;min-height:200px;max-width:800px;max-height:500px}.metadata-dialog-text{white-space:pre;font-family:monospace;margin:8px}.category-filter-dialog{min-width:400px;min-height:200px;padding:20px}.category-filter-dialog-form{padding:10px;font-size:80%}.category-filter-dialog-form input{margin-right:7px}