GUI CSS: Deployed view styles for layouts (CMK-1171)
[check_mk.git] / web / htdocs / themes / facelift / scss / _views.scss
blobe7b0e6a915f0a5f30c4596b021ead8f9d118caf7
1 /*
2 +------------------------------------------------------------------+
3 |             ____ _               _        __  __ _  __           |
4 |            / ___| |__   ___  ___| | __   |  \/  | |/ /           |
5 |           | |   | '_ \ / _ \/ __| |/ /   | |\/| | ' /            |
6 |           | |___| | | |  __/ (__|   <    | |  | | . \            |
7 |            \____|_| |_|\___|\___|_|\_\___|_|  |_|_|\_\           |
8 |                                                                  |
9 | Copyright Mathias Kettner 2012             mk@mathias-kettner.de |
10 +------------------------------------------------------------------+
12 This file is part of Check_MK.
13 The official homepage is at http://mathias-kettner.de/check_mk.
15 check_mk is free software;  you can redistribute it and/or modify it
16 under the  terms of the  GNU General Public License  as published by
17 the Free Software Foundation in version 2.  check_mk is  distributed
18 in the hope that it will be useful, but WITHOUT ANY WARRANTY;  with-
19 out even the implied warranty of  MERCHANTABILITY  or  FITNESS FOR A
20 PARTICULAR PURPOSE. See the  GNU General Public License for more de-
21 ails.  You should have  received  a copy of the  GNU  General Public
22 License along with GNU Make; see the file  COPYING.  If  not,  write
23 to the Free Software Foundation, Inc., 51 Franklin St,  Fifth Floor,
24 Boston, MA 02110-1301 USA.
27 /*-------------------------------------------------------------------------.
28 |  _____     _            ___      ___        _   _                        |
29 | |_   _|_ _| |__  ___   ( _ )    / _ \ _ __ | |_(_) ___  _ __  ___        |
30 |   | |/ _` | '_ \/ __|  / _ \/\ | | | | '_ \| __| |/ _ \| '_ \/ __|       |
31 |   | | (_| | |_) \__ \ | (_>  < | |_| | |_) | |_| | (_) | | | \__ \       |
32 |   |_|\__,_|_.__/|___/  \___/\/  \___/| .__/ \__|_|\___/|_| |_|___/       |
33 |                                      |_|                                 |
34 +--------------------------------------------------------------------------+
35 | The navi table contains the tab navigation above the content tables      |
36 | containing the buttons "filter", "commands", "display" and so on.        |
37 '-------------------------------------------------------------------------*/
39 table.filterform {
40     border-collapse: collapse;
41     padding: 0px;
42     border-style: none;
44 table.filterform td {
45     padding: 0px;
48 div.floatfilter {
49     margin: 0px 4px 3px 0px;
50     width: 310px;
51     height: 53px;
52     float: left;
53     border-width: 1px;
54     border-style: solid;
55     border-color: #acc #22404d #22414d #8ab;
56     box-shadow: 0.5px 0.5px 1px #444;
57     background-color: rgba(160, 181, 190, 0.6);
58     border-radius: 5px;
59     color: black;
62 .filterform > tbody > tr > td div.floatfilter {
63   height: auto;
64   width: 372px;
65   position: relative;
66   margin-right: 16px;
67   margin-bottom: 16px;
68   background: $theme-color-white;
69   border: 1px solid $theme-color-table-border;
70   box-shadow: none;
73 body.main.screenshotmode div.floatfilter {
74     background-color: #5893af;
77 div.floatfilter.double {
78     height: 110px;
79     display: table-cell;
82 .filterform > tbody > tr > td div.floatfilter.single {
83     height: 114px;
86 .filterform > tbody > tr > td div.floatfilter.double {
87     height: 246px;
90 div.floatfilter input[type=text] {
91     width: 294px;
94 div.floatfilter input[type=text].neg {
95     width: 229px;
98 div.floatfilter .legend {
99     color: white;
100     margin-bottom: 1px;
101     width: 300px;
102     height: 17px;
103     background-color: rgba(255, 255, 255, 0.2);
104     padding: 3px 5px 0px 5px;
105     border-radius: 5px 5px 0px 0px;
108 .filterform > tbody > tr > td div.floatfilter .legend {
109     padding: 12px;
110     box-sizing: border-box;
111     height: auto;
112     color: $theme-color-table-text;
113     text-transform: uppercase;
114     width: 100%;
117 div.floatfilter .content {
118     width: 311px;
119     height: 30px;
120     margin-top: 0px;
121     margin-left: 0px;
122     display: table-cell;
123     padding-left: 4px;
124     text-align: left;
125     padding-top: 5px;
128 .filterform > tbody > tr > td div.floatfilter .content {
129     width: 100%;
130     display: block;
131     box-sizing: border-box;
132     padding: 12px;
135 div.floatfilter.double .content {
136     height: 82px;
139 div.floatfilter .content > select {
140     width: 300px;
143 .filterform > tbody > tr > td div.floatfilter .content select {
144     box-sizing: border-box;
147 div.floatfilter .content > select.neg,
148 div.floatfilter .content > select#opthost_group,
149 div.floatfilter .content > select#optservice_contact_group,
150 div.floatfilter .content > select#opthost_contact_group,
151 div.floatfilter .content > select#optservice_group {
152     width: 237px;
155 .filterform > tbody > tr > td div.floatfilter .content table {
156     border-spacing: 8px 4px;
159 div.floatfilter .content .multigroup table {
160     margin-top: -6px;
163 div.floatfilter .content .multigroup select {
164     width: 148px;
165     height: 66px;
168 div.floatfilter .content .multigroup select.large {
169     width: 228px;
172 div.floatfilter .content .multigroup select.small {
173     width: 68px;
176 div.floatfilter .content .filtertime select {
177     width: 136px;
180 .filterform > tbody > tr > td div.floatfilter .content .checkbox {
181     display: block;
182     float: left;
183     margin-right: 8px;
184     margin-bottom: 8px;
187 .filterform > tbody > tr > td div.floatfilter .content input,
188 .filterform > tbody > tr > td div.floatfilter .content select,
189 .filterform > tbody > tr > td div.floatfilter .content textarea,
190 .filterform > tbody > tr > td div.floatfilter .content #mk_side_search_field,
191 .filterform > tbody > tr > td div.floatfilter .content select {
192     margin-bottom: 8px;
195 .filterform > tbody > tr > td div.floatfilter .content input[type^=radio],
196 .filterform > tbody > tr > td div.floatfilter .content select[type^=radio],
197 .filterform > tbody > tr > td div.floatfilter .content textarea[type^=radio],
198 .filterform > tbody > tr > td div.floatfilter .content [type^=radio]#mk_side_search_field,
199 .filterform > tbody > tr > td div.floatfilter .content select[type^=radio] {
200     width: auto;
201     margin-bottom: 0px;
204 div.floatfilter.service_custom_variable input, div.floatfilter.host_custom_variable input,
205 div.floatfilter.service_custom_variable select, div.floatfilter.host_custom_variable select {
206     display: inline-block;
207     width: 45%;
210 div.floatfilter.service_custom_variable select, div.floatfilter.host_custom_variable select {
211     margin-right: 10px;
214 .filterform > tbody > tr > td div.floatfilter .content .valuespec_tuple {
215     width: 100%;
216     border-spacing: 2px 2px;
219 /* Improving styling of floatfilters that are contained in a ListOf() */
220 table.valuespec_listof.filter {
221     width: 300px;
222     border-spacing: 0px;
225 select.vlof_filter {
226     width: 312px;
229 table.valuespec_listof td.vlof_content.filter {
230     width: 1px;
231     border-style: none;
234 table.valuespec_listof td.vlof_buttons.filter {
235     width: 1px;
236     border-style: none;
237     vertical-align: top;
240 table.valuespec_listof td.vlof_buttons.filter img {
241     position: relative;
242     top: 2px;
243     left: -28px;
244     width: 16px;
245     height: 16px;
248 table.nform table.valuespec_listof {
249     border-spacing: 0px;
252 table.nform table.valuespec_listof > tbody > tr {
253     vertical-align: middle;
256 table.nform table.valuespec_listof .vlof_content {
257     border-bottom: 1px solid $theme-color-table-border;
258     padding: 8px 0px;
259     vertical-align: top;
262 table.nform table.valuespec_listof .vlof_content .valuespec_tuple {
263     border-spacing: 8px;
266 table.nform table.valuespec_listof .vlof_content .content nobr {
267     display: inline-block;
268     margin-top: 8px;
271 table.nform table.valuespec_listof .vlof_buttons {
272     vertical-align: middle;
273     border-bottom: 1px solid $theme-color-table-border;
274     padding-bottom: 32px;
275     padding-top: 8px;
278 table.nform table.valuespec_listof.filter .vlof_content.filter .floatfilter {
279     height: auto;
280     box-shadow: none;
281     border: 1px solid $theme-color-table-border;
282     background-color: $theme-color-white;
283     width: 400px;
286 table.nform table.valuespec_listof.filter .vlof_content.filter .floatfilter .legend {
287     font-size: $theme-font-size-global;
288     text-transform: uppercase;
289     letter-spacing: $theme-letter-spacing-table;
290     color: $theme-color-table-text;
291     padding: 16px 0px 0px 16px;
294 table.nform table.valuespec_listof.filter .vlof_content.filter .floatfilter .content {
295     padding: 16px;
296     width: 100%;
299 table.nform table.valuespec_listof.filter .vlof_content.filter .floatfilter .content table {
300     border-spacing: 8px 4px;
303 table.nform table.valuespec_listof.filter .vlof_buttons.filter img {
304     top: 8px;
305     left: -40px;
308 table.filtertime td {
309     vertical-align: middle;
312 div.optiondial, div.optiondial.num_columns, div.optiondial.refresh {
313   background: $theme-color-white;
314   height: 32px;
315   width: 73px;
316   box-shadow: none;
317   border: 1px solid $theme-color-table-border;
318   border-radius: $theme-border-radius;
319   margin-right: 12px;
320   margin-bottom: 12px;
321   top: 0;
324 div.optiondial {
325     cursor: pointer;
326     position: relative;
327     margin-top: 0;
328     margin-left: 0;
329     float: left;
330     overflow: hidden;
331     box-shadow: 0px 0px 3px #123;
332     text-shadow: 0px 0.5px 0.5px #fff;
333     color: #222;
336 div.optiondial.num_columns {
337     margin-right: 0px;
338     border-right: 0px;
339     border-radius: $theme-border-radius 0px 0px 4px;
340     width: 74px;
343 div.optiondial.refresh {
344     margin-left: -6px;
345     border-radius: 0px 4px 4px 0px;
348 div.optiondial div, div.optiondial.num_columns div, div.optiondial.refresh div {
349     line-height: 34px;
350     padding: 0px;
353 div.optiondial div {
354     width: 100%;
355     height: 100%;
356     position: relative;
357     top: 0px;
358     text-align: center;
361 div.view_form {
362     margin-bottom: 10px;
365 /*-------------------------------------------------------------------------.
366 |                _                            _                            |
367 |               | |    __ _ _   _  ___  _   _| |_ ___                      |
368 |               | |   / _` | | | |/ _ \| | | | __/ __|                     |
369 |               | |__| (_| | |_| | (_) | |_| | |_\__ \                     |
370 |               |_____\__,_|\__, |\___/ \__,_|\__|___/                     |
371 |                           |___/                                          |
372 +--------------------------------------------------------------------------+
373 | Styles used by layouts of the views (plugins/views/layouts.py)           |
374 '-------------------------------------------------------------------------*/
377 /* TODO: Reproduce this html element */
378 td.fillup {
379     background-color: #eee;
382 tr.groupheader td {
383   padding: 0px;
384   color: $theme-color-text;
385   background: transparent;
388 td.groupheader {
389     margin: 0;
392 tr.groupheader td.groupheader .groupheader tbody tr td {
393     padding: 12px 0px 4px;
394     color: $theme-color-text;
395     font-weight: $theme-font-weight-global;
396     letter-spacing: $theme-letter-spacing-table;
397     display: inline-block;
398     font-size: $theme-font-table-header;
399     vertical-align: baseline;
402 tr.groupheader td.groupheader .groupheader tbody tr td a,
403 tr.groupheader td.groupheader .groupheader tbody tr td body.main .popup_menu span,
404 body.main .popup_menu tr.groupheader td.groupheader .groupheader tbody tr td span {
405     color: $theme-color-text;
406     font-weight: $theme-font-weight-global;
407     letter-spacing: $theme-letter-spacing-table;
408     display: inline-block;
409     font-size: $theme-font-table-header;
412 tr.groupheader td.groupheader .groupheader tbody tr td.state {
413     padding: 0px 8px;
414     width: auto;
415     box-shadow: none;
416     font-size: 14px;
417     text-transform: uppercase;
420 tr.groupheader td.groupheader .groupheader tbody tr td.state a,
421 tr.groupheader td.groupheader .groupheader tbody tr td.state body.main .popup_menu span,
422 body.main .popup_menu tr.groupheader td.groupheader .groupheader tbody tr td.state span {
423     font-size: 14px;
424     text-transform: uppercase;
427 tr.groupheader td.groupheader .groupheader tbody tr td.state.hstate1 a,
428 tr.groupheader td.groupheader .groupheader tbody tr td.state.hstate1 body.main .popup_menu span,
429 body.main .popup_menu tr.groupheader td.groupheader .groupheader tbody tr td.state.hstate1 span {
430     color: $theme-color-lightgrey;
433 tr.groupheader a,
434 tr.groupheader body.main .popup_menu span,
435 body.main .popup_menu tr.groupheader span {
436   color: $theme-color-text;
439 table.data.oddeven > tbody > tr.groupheader {
440     background-color: transparent;
443 table.data tr.data > td.gap,
444 table.data tr > td.last_col,
445 table.data tr > th.last_col {
446     border-right: 0;
449 td.gap, table.data .checkbox_hover.gap {
450     /* TODO: Check whether these background styles are needed */
451     background-image: url("images/contentframe_background.jpg");
452     background-attachment: fixed;
453     background-repeat: repeat;
454     width: 5px;
457 /* boxed layout */
458 table.boxlayout {
459     border-spacing: 0px;
461 table.boxlayout td.boxcolumn {
462     padding-right: 20px;
465 /* tiled layout */
466 table.tiled td {
467     border-style: none;
470 .tile {
471     width: 180px;
472     border: 1px solid #000;
473     float: left;
474     border-radius: 0px;
475     margin-right: 6px;
476     margin-bottom: 6px;
477     box-shadow: 1px 1px 3px #000;
478     background-color: #ccc;
481 table.data.tiled td.tiles div.tile {
482     border: 1px solid $theme-color-table-border;
483     border-radius: $theme-border-radius;
484     box-shadow: none;
485     background: $theme-color-white;
486     width: 240px;
487     padding: 4px;
490 .tile img.icon {
491     width: 16px;
492     height: 16px;
495 .tile table {
496     height: 70px;
497     width: 100%;
500 .tile td {
501     border-style: none;
502     font-size: 7pt;
505 table.data.tiled td.tiles {
506   padding: 0;
509 table.data.tiled td.tiles div.tile table {
510   border-spacing: 4px 8px;
513 table.data.tiled td.tiles div.tile table td {
514     padding: 8px;
517 table.data.tiled td.tiles div.tile table td.states {
518   border-radius: $theme-border-radius;
521 table.data.tiled td.tiles div.tile .cont {
522   box-sizing: border-box;
525 .tile.sstate0, .tile.hhstate0 {
526     border-color: #0f0;
529 .tile.sstate1 {
530     border-color: #ff0;
531     background-color: #ff0;
534 .tile.sstate2, .tile.hhstate1 {
535     border-color: #f00;
536     background-color: #f88;
539 .tile.sstate3, .tile.hhstate2 {
540     border-color: #f80;
541     background-color: #fc8;
544 .tile td.tl, .tile td.bl {
545     text-align: left;
548 .tile td.tr, .tile td.br {
549     text-align: right;
552 .tile td.center {
553     vertical-align: middle;
556 .tile td.center, .tile td.cont {
557     text-align: center;
560 .tile td.bl, .tile td.br {
561     vertical-align: bottom;
564 .tile td.bl, .tile td.br, .tile td.tl, .tile td.tr {
565     height: 20px;
569  LAYOUT: dataset
570  The dataset layout is used to display detailed information
571  about a single host/service on a page. e.g. the "host details"
572  page uses thislayout
574 table.data.single {
575     margin-top: 5px;
576     border-spacing: 1px;
577     padding: 0;
578     border-collapse: collapse;
579     empty-cells: show;
582 table.data.single tr.data > td {
583     padding-bottom: 4px;
584     padding: 4px 5px 2px 5px;
585     text-align: left;
586     height: 16px;
587     line-height: 14px;
588     vertical-align: top;
591 table.data.single tr.data td.left {
592     width: 10%;
593     white-space: nowrap;
594     vertical-align: top;
595     padding-right: 20px;
598 table.data.single > tbody > tr > td,
599 table.data.single > tbody tr.odd0 > td,
600 table.data.single > tbody tr.even0 > td {
601     padding: 8px 16px;
602     background-color: $theme-color-white;
603     border-radius: 0px;
606 table.data.single > tbody > tr > td.left,
607 table.data.single > tbody tr.odd0 > td.left,
608 table.data.single > tbody tr.even0 > td.left {
609     font-weight: $theme-font-weight-bold;
610     background-color: $theme-color-white;
611     border-right: 1px solid $theme-color-table-border;
612     transition: .15s ease-in-out;
615 table.data.single tr.data td.invtree table {
616     box-shadow: none;
617     border: 1px solid $theme-color-table-border;
618     margin: 8px 0px 12px;
621 table.data.single tr.data td.invtree table th {
622     background-color: whitesmoke;
623     border: 1px solid $theme-color-table-border;
624     padding: 2px 4px;
625     color: $theme-color-text;
628 table.data.single tr.data td.invtree table td {
629     background-color: $theme-color-table-background;
630     border: 1px solid $theme-color-table-border;
631     padding: 2px 4px;
634 table.data.single td.gap {
635     background-color: transparent;
636     border-left-style: none;
637     border-right-style: none;
640 /* #TODO: Check whether this style is redundant
641  * see styles for table.data.single tr.data > td
642  */
643 table.data.single td.age,
644 table.data.single td.number,
645 table.data.single td.count {
646     text-align: left;
649 table.data.single td.perfometer div.glass {
650     width: 100%;
653 table.data.matrix {
654     width: auto;
655     margin-bottom: 10px;
658 table.data.matrix tbody > tr.data > td {
659   padding: 8px;
660   border: 1px solid $theme-color-table-border;
661   border-left: 0px solid;
664 table.data.matrix tr.even0 td.left {
665     background-color: #bbb;
668 table.data.matrix tr.odd0 td.left {
669     background-color: #ccc;
672 table.data.matrix tbody > tr.data > td.left {
673     font-weight: $theme-font-weight-bold;
674     background-color: $theme-color-white;
675     border-right: 1px solid $theme-color-table-border;
676     transition: .15s ease-in-out;
677     border-left: 1px solid $theme-color-table-border;
680 table.data.matrix tbody tr.even0 td.matrixhead,
681 table.data.matrix tbody tr.odd0 td.matrixhead {
682   color: $theme-color-text;
683   font-weight: $theme-font-weight-bold;
686 table.data.matrix tr.even0 td.matrixhead {
687     background-color: #888;
690 table.data.matrix tr.odd0 td.matrixhead {
691     background-color: #999;
694 /* TODO: Reproduce this html element
695  * .perfometer seems to always be one table level lower than tr.data, so not a direct child
696  */
697 table.data.matrix tbody > tr.data > td.perfometer {
698     width: 180px;
701 table.data.matrix tbody > tr.data > td.cell td.perfometer div.title {
702     padding: 0;
705 table.data.matrix tbody > tr.data > td.cell td.perfometer div.content {
706     padding: 0;
709 table.data.matrix tbody > tr.data:hover td.left {
710   background-color: $theme-color-table-background;
713 table.data.matrix tbody > tr.data:first-child {
714   background: transparent;
717 table.data.matrix tbody > tr.data:first-child td {
718     background: transparent;
719     border: none;
722 table.data.matrix tbody > tr.data:first-child td.matrixhead {
723     font-size: $theme-font-size-global;
724     text-transform: uppercase;
725     letter-spacing: $theme-letter-spacing-table;
728 table.data.matrix td.cell {
729     padding: 0px;
732 table.data.matrix td.cell table {
733     width: 100%;
734     padding: 0px;
737 /* TODO: Reproduce this html element */
738 table.data.matrix table.cell > tbody > tr > td {
739     padding: 0px;
740     border: 1px solid red;
743 /* TODO: Reproduce this html element */
744 table.data.matrix tr.matrixhead td.left a,
745 table.data.matrix tr.matrixhead td.left {
746     color: white;
749 .even0 .minority {
750     background-color: #cff;
752 .odd0 .minority {
753     background-color: #dff;
756 table.data.matrix tr.even0 td.left.minority {
757     background-color: #bdd;
759 table.data.matrix tr.odd0 td.left.minority {
760     background-color: #cee;
763 ///*-------------------------------------------------------------------------.
764 //|              _____    _ _ _           _                                  |
765 //|             | ____|__| (_) |_  __   _(_) _____      __                   |
766 //|             |  _| / _` | | __| \ \ / / |/ _ \ \ /\ / /                   |
767 //|             | |__| (_| | | |_   \ V /| |  __/\ V  V /                    |
768 //|             |_____\__,_|_|\__|   \_/ |_|\___| \_/\_/                     |
769 //|                                                                          |
770 //+--------------------------------------------------------------------------+
771 //| Styles used while editing a view in the view editor                      |
772 //'-------------------------------------------------------------------------*/
774 //div.clear {
775 //    clear: left;
778 //input#try{
779 //    float:left;
783 ///*-------------------------------------------------------------------------.
784 //|       _     _     _            __         _                              |
785 //|      | |   (_)___| |_    ___  / _| __   _(_) _____      _____            |
786 //|      | |   | / __| __|  / _ \| |_  \ \ / / |/ _ \ \ /\ / / __|           |
787 //|      | |___| \__ \ |_  | (_) |  _|  \ V /| |  __/\ V  V /\__ \           |
788 //|      |_____|_|___/\__|  \___/|_|     \_/ |_|\___| \_/\_/ |___/           |
789 //|                                                                          |
790 //+--------------------------------------------------------------------------+
791 //| The table with the list of all views                                     |
792 //'-------------------------------------------------------------------------*/
794 //table.views {
795 //    border-collapse: collapse;
796 //    empty-cells: show;
797 //    margin-bottom: 1ex;
800 //table.views td, table.views th{
801 //    border: 1px solid #444;
802 //    padding: 2px 1ex;
805 //table.views td {
806 //    height: 25px;
807 //    padding-top: 3px;
808 //    color: #fff;
811 //table.views th {
812 //    background-color: #709aa5;
813 //    color: #fff;
816 //table.views td.legend {
817 //    background-color: #8eaeb8;
818 //    color: #fff;
821 //table.views td.content {
822 //    background-color: #9ebec8;
823 //    color: #fff;
826 //table.views td.edit {
827 //    background-color: #6ab;
828 //    text-align: center;
831 //table.views td.buttons {
832 //    padding: 3px;
833 //    vertical-align: middle;
834 //    background-color: #8EAEB8;
837 ///* Availability */
838 //table.data.availability {
839 //    width: 100%;
842 //table.data.availability td.number {
843 //    width: 60px;
846 //table.data.availability td.unused {
847 //    color: #888;
848 //    text-shadow: 1px 1px 0.5px #fff;
851 //table.data.availability tr.summary {
852 //    background-color: #bbb;
854 //table.data.availability tr.summary td {
855 //    border-top: 1px solid black;
856 //    font-weight: bold;
857 //    border-bottom-style: none;
858 //    padding-bottom: 1px;
859 //    padding-top: 1px;
863 //table.data td.flapping, table.timeline td.flapping, div.avlegend.timeline div.state.flapping {
864 //    background-color: #f0f;
866 //table.data td.downtime, table.timeline td.downtime, div.avlegend.timeline div.state.downtime {
867 //    background-color: #0af;
869 //table.data td.hostdown, table.timeline td.hostdown, div.avlegend.timeline div.state.hostdown {
870 //    background-color: #048;
871 //    color: white;
873 //table.data td.unmonitored, table.timeline td.unmonitored, div.avlegend.timeline div.state.unmonitored  {
874 //    background-color: #cacaca;
875 //    color: #888;
877 //table.timeline td.ooservice, div.avlegend.timeline div.state.ooservice {
878 //    background-color: #cacaca;
879 //    background-image: url("images/ooservice.png");
880 //    background-repeat: repeat;
882 //table.data.availability tr.odd0 td.number {
883 //    background-image: url("images/white_30percent.png");
884 //    background-repeat: repeat;
887 //table.data.availability td.number.stats {
888 //    background-image: url("images/white_30percent.png");
891 //table.data.availability tr.odd0 td.number.stats {
892 //    background-image: url("images/white_50percent.png");
896 //div.floatfilter.rangespec table.valuespec_tuple {
897 //    width: 100%;
900 //div.floatfilter.rangespec table.valuespec_tuple span.title {
901 //    position: relative;
902 //    top: 7px;
905 //div#avoptions_on {
906 //    margin-right: 3px;
909 //table.data tr.data > td.timeline {
910 //    width: 500px;
911 //    padding: 0px;
914 //table.timeline {
915 //    height: 30px;
916 //    border-spacing: 0px;
917 //    border-collapse: collapse;
920 //table.timeline.low {
921 //    height: 5px;
922 //    margin-top: -18px;
923 //    border-spacing: 0px;
924 //    border-collapse: collapse;
927 //table.timeline.standalone {
928 //    box-shadow: 0px 0px 1px #ccf;
929 //    margin-bottom: 20px;
930 //    width: 800px;
933 //table.timeline.inline {
934 //    border-style: none;
935 //    width: 500px;
937 //table.timeline.inline {
938 //    border-style: none;
939 //    width: 500px;
940 //    box-shadow: 0px 0px 1px #555 inset;
943 //table.timeline td {
944 //    padding: 0px;
945 //    border-style: none;
948 //table.timeline td.hilite {
949 //    padding: 0px;
950 //    border-style: none;
951 //    background-color: #0091b6;
952 //    filter: brightness(80%);
955 //table.timeline td.chaos {
956 //    background-color: #8844ff;
959 //table.timeline.standalone td {
960 //    border: 1px solid #444;
963 //div.timelinerange {
964 //    position: relative;
967 ///* We render the small vertical lines in a way that only
968 //   the left border is visible but the thing is thick 5 pixels.
969 //   That makes hovering over it more easy. */
970 //div.timelinerange div.timelinechoord {
971 //    position: absolute;
972 //    top: 0px;
973 //    width: 5px;
974 //    height: 30px;
975 //    border-style: none none none solid;
976 //    border-width: 0px 0px 0px 1px;
977 //    border-color: #666;
980 //table.timelineevents {
981 //    width: 800px;
983 //table.data.oddeven.timelineevents > tbody > tr.hilite {
984 //    background-color: #6ab;
985 //    color: white;
987 //div.timelinerange {
988 //    width: 800px;
989 //    float: none;
991 //div.timelinerange.inline {
992 //    width: 500px;
994 //div.timelinerange div {
995 //    width: 300px;
996 //    float: left;
998 //div.timelinerange div.until {
999 //    text-align: right;
1000 //    float: right;
1003 //table.data.timewarp {
1004 //    width: 800px;
1005 //    margin-bottom: 20px;
1008 //div.avlegend {
1009 //    background-color: rgba(255, 255, 255, 0.2);
1010 //    padding: 5px 15px;
1011 //    border-radius: 5px;
1012 //    margin-top: 10px;
1013 //    text-align: right;
1015 //div.avlegend h3 {
1016 //    margin-top: 0px;
1017 //    font-size: 13px;
1018 //    color: black;
1020 //div.avlegend div {
1021 //    display: inline-block;
1022 //    width: 50px;
1023 //    white-space: nowrap;
1024 //    margin-right: 5px;
1026 //div.avlegend div.state {
1027 //    text-align: center;
1028 //    padding: 2px 0px;
1029 //    font-size: 12px;
1031 //div.avlegend div:last-child {
1032 //    margin-right: 0px;
1034 //div.avlegend.levels div.level {
1035 //    margin-right: 15px;
1036 //    color: black;
1039 //div.avlegend.timeline div.state {
1040 //    width: 75px;
1042 //div.avlegend.timeline div.state.ooservice {
1043 //    color: black;
1047 ///*--Inventory--------------------------------------------------------------.
1048 //|            ___                      _                                    |
1049 //|           |_ _|_ ____   _____ _ __ | |_ ___  _ __ _   _                  |
1050 //|            | || '_ \ \ / / _ \ '_ \| __/ _ \| '__| | | |                 |
1051 //|            | || | | \ V /  __/ | | | || (_) | |  | |_| |                 |
1052 //|           |___|_| |_|\_/ \___|_| |_|\__\___/|_|   \__, |                 |
1053 //|                                                   |___/                  |
1054 //+--------------------------------------------------------------------------+
1055 //| Styles for displaying HW/SW-Inventory data                               |
1056 //'-------------------------------------------------------------------------*/
1058 //td.invtree {
1059 //    width: 100%;
1062 //td.invtree b.treeangle.title {
1063 //    color: black;
1064 //    font-weight: normal;
1067 //td.invtree ul.treeangle {
1068 //    margin: 0px;
1069 //    margin-bottom: 3px;
1072 //td.sla_spec table,
1073 //td.invtree table,
1074 //td.agent_config table {
1075 //   border-collapse: collapse;
1076 //   border: 0.5px solid black;
1077 //   box-shadow: 0.5px 0.5px 1px #ccc;
1078 //   margin-top: 3px;
1081 //td.invtree table td,
1082 //td.invtree table th,
1083 //table.data.single tr.data td.invtree table td,
1084 //table.data.single tr.data td.invtree table th
1086 //    border: 1px solid #888;
1087 //    padding: 1px 5px;
1088 //    height: 14px;
1091 ///* Make td class of invtree more specific, when shown in single dataset mode */
1092 ///* td.data.single td.invtree td.number { */
1093 //table.data.single td.invtree td.number {
1094 //    text-align: right;
1098 //td.invtree table th {
1099 //    text-align: left;
1102 //td.invtree table td {
1103 //    background-color: #fff;
1106 //td.invtree span.invold, span.invold table.data {
1107 //    color: #ff0000;
1110 //td.invtree span.invnew, span.invnew table.data {
1111 //    color: #00bf00;
1114 ///* Positioning of the link from an inventory dicttable to the matching multisite table */
1115 //div.invtablelink {
1116 //    position: absolute;
1117 //    top: -17px;
1118 //    right: 1px;
1122 //td.if_state.if_state_up {
1123 //    background-color: #00c020;
1124 //    box-shadow: 0px 0px 3px #ccffcc inset;
1127 //td.if_state.if_state_down {
1128 //    background-color: #bc5b4e;
1129 //    box-shadow: 0px 0px 2px #000 inset;
1132 //td.if_state.if_state_other {
1133 //    background-color: #c020c0;
1134 //    box-shadow: 0px 0px 2px #000 inset;
1137 //td.if_state {
1138 //    color: white;
1139 //    box-shadow: 0.5px 0.5px 2px #000 inset;
1140 //    text-align: center;
1141 //    font-weight: bold;
1142 //    width: 50px;
1145 //td.if_state.if_available {
1146 //    color: black;
1147 //    background-color: #80ff40;
1150 //td.if_state.if_not_available {
1151 //    color: black;
1152 //    background-color: #cccccc;
1160 //table.data.headerleft.sla th {
1161 //    width: 130px;
1162 //    text-align: left;
1163 //    padding: 4px 5px;
1166 //table.data.headerleft.sla a {
1167 //    color: white;
1168 //    text-decoration: underline;
1171 //table.data.headerleft.sla th.sla_state {
1172 //    width: 30px;
1175 //table.data.headerleft.sla th.sla_date,
1176 //table.data.headerleft.sla td.sla_date{
1177 //    width: 120px;
1178 //    padding-right: 4px;
1181 //table.data.headerleft.sla th.sla_duration{
1182 //    text-align: left;
1185 //table.data.headerleft.sla td.sla_duration{
1186 //    text-align: right;
1187 //    padding-right: 4px;
1190 //table.data.headerleft.sla td.sla_output{
1191 //    width: 70%;
1192 //    padding-left: 4px;
1195 //table.data.headerleft.sla td {
1196 //    padding: 0px;
1199 //table.data.headerleft.sla {
1200 //    margin-bottom: 20px;
1203 //table.timeline.standalone.sla td {
1204 //    border: 0px solid #444;
1205 //    padding: 0px;
1208 //table.timeline.standalone.sla  {
1209 //    margin-bottom: 5px;
1212 //table.timeline.standalone.sla.period  {
1213 //    margin-bottom: 5px;
1214 //    height: 10px;
1217 //table.timeline td.state0.even{
1218 //    background-color: #0b3;
1221 //table.timeline td.state0.odd{
1222 //    background-color: #092;
1225 //table.timeline td.state2.even{
1226 //    background-color: #f00;
1229 //table.timeline td.state2.odd{
1230 //    background-color: #900;
1233 //div.sla_details{
1234 //    background-color: #73a1b4;
1237 //td.sla > div.foldable > b{
1238 //    color: black;
1241 //h2.sla {
1242 //    margin-bottom: 3px;
1245 //h3.sla {
1246 //    margin-top: 3px;
1249 //table.data tr.sla_horizontal_line > td.sla_horizontal_line {
1250 //    height: 1px;
1253 //table.data tr.sla_horizontal_line > td.sla_horizontal_line.black {
1254 //    height: 1px;
1255 //    border-bottom: 1px solid black;
1259 //table.timeline.sla td.sla_hilite,
1260 //table.data.oddeven > tbody > tr.sla_hilite {
1261 //    padding: 0px;
1262 //    border-style: none;
1263 //    filter: brightness(70%);
1266 //table.timeline.sla td.sla_hilite.sla_error_hilite,
1267 //table.data.oddeven > tbody > tr.sla_hilite.sla_error_hilite {
1268 //    padding: 0px;
1269 //    border-style: none;
1270 //    filter: brightness(50%);
1273 //div.timelinerange.sla {
1274 //    width: auto;
1275 //    float: none;
1279 //div#avoptions td.dictleft {
1280 //    width: 99%;
1283 //div#avoptions td.dictright {
1284 //    padding-right: 4px;