2 +------------------------------------------------------------------+
3 | ____ _ _ __ __ _ __ |
4 | / ___| |__ ___ ___| | __ | \/ | |/ / |
5 | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
6 | | |___| | | | __/ (__| < | | | | . \ |
7 | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
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.
28 /* special background for embedded views */
30 background-image: none;
31 background: transparent;
35 body.main.dashlet div.warning {
41 /*-------------------------------------------------------------------------.
42 | _____ _ ___ ___ _ _ |
43 | |_ _|_ _| |__ ___ ( _ ) / _ \ _ __ | |_(_) ___ _ __ ___ |
44 | | |/ _` | '_ \/ __| / _ \/\ | | | | '_ \| __| |/ _ \| '_ \/ __| |
45 | | | (_| | |_) \__ \ | (_> < | |_| | |_) | |_| | (_) | | | \__ \ |
46 | |_|\__,_|_.__/|___/ \___/\/ \___/| .__/ \__|_|\___/|_| |_|___/ |
48 +--------------------------------------------------------------------------+
49 | The navi table contains the tab navigation above the content tables |
50 | containing the buttons "filter", "commands", "display" and so on. |
51 '-------------------------------------------------------------------------*/
54 border-collapse: collapse;
63 margin: 0px 4px 3px 0px;
69 border-color: #acc #22404d #22414d #8ab;
70 box-shadow: 0.5px 0.5px 1px #444;
71 background-color: rgba(160, 181, 190, 0.6);
76 body.main.screenshotmode div.floatfilter {
77 background-color: #5893af;
80 div.floatfilter input[type=text].neg {
84 div.floatfilter.double {
89 div.floatfilter input[type=text] {
93 div.floatfilter .legend {
98 background-color: rgba(255, 255, 255, 0.2);
99 padding: 3px 5px 0px 5px;
100 border-radius: 5px 5px 0px 0px;
103 div.floatfilter .content {
113 div.floatfilter.double .content {
116 div.floatfilter .content > select {
120 div.floatfilter .content > select.neg,
121 div.floatfilter .content > select#opthost_group,
122 div.floatfilter .content > select#optservice_contact_group,
123 div.floatfilter .content > select#opthost_contact_group,
124 div.floatfilter .content > select#optservice_group {
128 div.floatfilter .content .multigroup table {
132 div.floatfilter .content .multigroup select {
137 div.floatfilter .content .multigroup select.large {
141 div.floatfilter .content .multigroup select.small {
145 div.floatfilter .content .filtertime select {
149 div.floatfilter.service_custom_variable input, div.floatfilter.host_custom_variable input,
150 div.floatfilter.service_custom_variable select, div.floatfilter.host_custom_variable select {
151 display: inline-block;
155 div.floatfilter.service_custom_variable select, div.floatfilter.host_custom_variable select {
159 /* Improving styling of floatfilters that are contained in a ListOf() */
160 table.valuespec_listof.filter {
167 table.valuespec_listof td.vlof_content.filter {
171 table.valuespec_listof td.vlof_buttons.filter {
176 table.valuespec_listof td.vlof_buttons.filter img {
184 table.filtertime td {
185 vertical-align: middle;
193 margin: 0px 0px 0px 0;
195 background-repeat: no-repeat;
196 background-position: 1px -1px;
198 box-shadow: 0px 0px 3px #123;
199 text-shadow: 0px 0.5px 0.5px #fff;
213 div.optiondial.num_columns {
217 div.optiondial.refresh {
223 div.optiondial.num_columns { background-image: url("images/dial_num_columns.png"); }
224 div.optiondial.num_columns.off { background-image: url("images/dial_num_columns_off.png"); }
226 div.optiondial.refresh { background-image: url("images/dial_refresh.png"); }
227 div.optiondial.refresh.off { background-image: url("images/dial_refresh_off.png"); }
233 /*-------------------------------------------------------------------------.
235 | | | __ _ _ _ ___ _ _| |_ ___ |
236 | | | / _` | | | |/ _ \| | | | __/ __| |
237 | | |__| (_| | |_| | (_) | |_| | |_\__ \ |
238 | |_____\__,_|\__, |\___/ \__,_|\__|___/ |
240 +--------------------------------------------------------------------------+
241 | Styles used by layouts of the views (plugins/views/layouts.py) |
242 '-------------------------------------------------------------------------*/
246 background-color: #eee;
253 table.data tr.data > td.gap,
254 table.data tr > td.last_col,
255 table.data tr > th.last_col {
259 td.gap, table.data .checkbox_hover.gap {
260 background-image: url("images/contentframe_background.jpg");
261 background-attachment: fixed;
262 background-repeat: repeat;
270 table.boxlayout td.boxcolumn {
282 border: 1px solid #000;
287 box-shadow: 1px 1px 3px #000;
288 background-color: #ccc;
303 .tile.sstate0, .tile.hhstate0 {
308 background-color: #ff0;
310 .tile.sstate2, .tile.hhstate1 {
312 background-color: #f88;
314 .tile.sstate3, .tile.hhstate2 {
316 background-color: #fc8;
322 .tile td.tl, .tile td.bl {
325 .tile td.tr, .tile td.br {
329 vertical-align: middle;
331 .tile td.center, .tile td.cont {
334 .tile td.bl, .tile td.br {
335 vertical-align: bottom;
338 .tile td.bl, .tile td.br, .tile td.tl, .tile td.tr {
344 The dataset layout is used to display detailed information
345 about a single host/service on a page. e.g. the "host defails"
352 border-collapse: collapse;
356 table.data.single tr.data > td {
358 padding: 4px 5px 2px 5px;
365 table.data.single tr.data td.left {
377 table.data.matrix tr.even0 td.left,
378 table.data.single tr.even0 td.left {
379 background-color: #bbb;
382 table.data.matrix tr.odd0 td.left,
383 table.data.single tr.odd0 td.left {
384 background-color: #ccc;
387 table.data.matrix tr.even0 td.matrixhead {
388 background-color: #888;
392 table.data.matrix tr.odd0 td.matrixhead {
393 background-color: #999;
397 table.data.matrix td.cell {
401 table.data.matrix td.cell table {
406 table.data.matrix table.cell > tbody > tr > td {
408 border: 1px solid red;
411 table.data.matrix tr.matrixhead td.left a,
412 table.data.matrix tr.matrixhead td.left {
417 background-color: #cff;
420 background-color: #dff;
423 table.data.matrix tr.even0 td.left.minority {
424 background-color: #bdd;
426 table.data.matrix tr.odd0 td.left.minority {
427 background-color: #cee;
431 table.data.single td.gap {
432 background-color: transparent;
433 border-left-style: none;
434 border-right-style: none;
436 table.data.single td.age,
437 table.data.single td.number,
438 table.data.single td.count {
442 table.data.single td.perfometer div.content {
445 table.data.single td.perfometer div.glass {
448 table.data.single td.perfometer div.title {
452 /*-------------------------------------------------------------------------.
454 | | ____|__| (_) |_ __ _(_) _____ __ |
455 | | _| / _` | | __| \ \ / / |/ _ \ \ /\ / / |
456 | | |__| (_| | | |_ \ V /| | __/\ V V / |
457 | |_____\__,_|_|\__| \_/ |_|\___| \_/\_/ |
459 +--------------------------------------------------------------------------+
460 | Styles used while editing a view in the view editor |
461 '-------------------------------------------------------------------------*/
472 /*-------------------------------------------------------------------------.
474 | | | (_)___| |_ ___ / _| __ _(_) _____ _____ |
475 | | | | / __| __| / _ \| |_ \ \ / / |/ _ \ \ /\ / / __| |
476 | | |___| \__ \ |_ | (_) | _| \ V /| | __/\ V V /\__ \ |
477 | |_____|_|___/\__| \___/|_| \_/ |_|\___| \_/\_/ |___/ |
479 +--------------------------------------------------------------------------+
480 | The table with the list of all views |
481 '-------------------------------------------------------------------------*/
484 border-collapse: collapse;
489 table.views td, table.views th{
490 border: 1px solid #444;
501 background-color: #709aa5;
505 table.views td.legend {
506 background-color: #8eaeb8;
510 table.views td.content {
511 background-color: #9ebec8;
515 table.views td.edit {
516 background-color: #6ab;
520 table.views td.buttons {
522 vertical-align: middle;
523 background-color: #8EAEB8;
527 table.data.availability {
531 table.data.availability td.number {
535 table.data.availability td.unused {
537 text-shadow: 1px 1px 0.5px #fff;
540 table.data.availability tr.summary {
541 background-color: #bbb;
543 table.data.availability tr.summary td {
544 border-top: 1px solid black;
546 border-bottom-style: none;
552 table.data td.flapping, table.timeline td.flapping, div.avlegend.timeline div.state.flapping {
553 background-color: #f0f;
555 table.data td.downtime, table.timeline td.downtime, div.avlegend.timeline div.state.downtime {
556 background-color: #0af;
558 table.data td.hostdown, table.timeline td.hostdown, div.avlegend.timeline div.state.hostdown {
559 background-color: #048;
562 table.data td.unmonitored, table.timeline td.unmonitored, div.avlegend.timeline div.state.unmonitored {
563 background-color: #cacaca;
566 table.timeline td.ooservice, div.avlegend.timeline div.state.ooservice {
567 background-color: #cacaca;
568 background-image: url("images/ooservice.png");
569 background-repeat: repeat;
571 table.data.availability tr.odd0 td.number {
572 background-image: url("images/white_30percent.png");
573 background-repeat: repeat;
576 table.data.availability td.number.stats {
577 background-image: url("images/white_30percent.png");
580 table.data.availability tr.odd0 td.number.stats {
581 background-image: url("images/white_50percent.png");
585 div.floatfilter.rangespec table.valuespec_tuple {
589 div.floatfilter.rangespec table.valuespec_tuple span.title {
598 table.data tr.data > td.timeline {
606 border-collapse: collapse;
613 border-collapse: collapse;
616 table.timeline.standalone {
617 box-shadow: 0px 0px 1px #ccf;
622 table.timeline.inline {
626 table.timeline.inline {
629 box-shadow: 0px 0px 1px #555 inset;
637 table.timeline td.hilite {
640 background-color: #0091b6;
641 filter: brightness(80%);
644 table.timeline td.chaos {
645 background-color: #8844ff;
648 table.timeline.standalone td {
649 border: 1px solid #444;
656 /* We render the small vertical lines in a way that only
657 the left border is visible but the thing is thick 5 pixels.
658 That makes hovering over it more easy. */
659 div.timelinerange div.timelinechoord {
664 border-style: none none none solid;
665 border-width: 0px 0px 0px 1px;
669 table.timelineevents {
672 table.data.oddeven.timelineevents > tbody > tr.hilite {
673 background-color: #6ab;
680 div.timelinerange.inline {
683 div.timelinerange div {
687 div.timelinerange div.until {
692 table.data.timewarp {
698 background-color: rgba(255, 255, 255, 0.2);
710 display: inline-block;
715 div.avlegend div.state {
720 div.avlegend div:last-child {
723 div.avlegend.levels div.level {
728 div.avlegend.timeline div.state {
731 div.avlegend.timeline div.state.ooservice {
736 /*--Inventory--------------------------------------------------------------.
738 | |_ _|_ ____ _____ _ __ | |_ ___ _ __ _ _ |
739 | | || '_ \ \ / / _ \ '_ \| __/ _ \| '__| | | | |
740 | | || | | \ V / __/ | | | || (_) | | | |_| | |
741 | |___|_| |_|\_/ \___|_| |_|\__\___/|_| \__, | |
743 +--------------------------------------------------------------------------+
744 | Styles for displaying HW/SW-Inventory data |
745 '-------------------------------------------------------------------------*/
751 td.invtree b.treeangle.title {
756 td.invtree ul.treeangle {
763 td.agent_config table {
764 border-collapse: collapse;
765 border: 0.5px solid black;
766 box-shadow: 0.5px 0.5px 1px #ccc;
772 table.data.single tr.data td.invtree table td,
773 table.data.single tr.data td.invtree table th
775 border: 1px solid #888;
780 /* Make td class of invtree more specific, when shown in single dataset mode */
781 /* td.data.single td.invtree td.number { */
782 table.data.single td.invtree td.number {
787 td.invtree table th {
791 td.invtree table td {
792 background-color: #fff;
795 td.invtree span.invold, span.invold table.data {
799 td.invtree span.invnew, span.invnew table.data {
803 /* Positioning of the link from an inventory dicttable to the matching multisite table */
811 td.if_state.if_state_up {
812 background-color: #00c020;
813 box-shadow: 0px 0px 3px #ccffcc inset;
816 td.if_state.if_state_down {
817 background-color: #bc5b4e;
818 box-shadow: 0px 0px 2px #000 inset;
821 td.if_state.if_state_other {
822 background-color: #c020c0;
823 box-shadow: 0px 0px 2px #000 inset;
828 box-shadow: 0.5px 0.5px 2px #000 inset;
834 td.if_state.if_available {
836 background-color: #80ff40;
839 td.if_state.if_not_available {
841 background-color: #cccccc;
849 table.data.headerleft.sla th {
855 table.data.headerleft.sla a {
857 text-decoration: underline;
860 table.data.headerleft.sla th.sla_state {
864 table.data.headerleft.sla th.sla_date,
865 table.data.headerleft.sla td.sla_date{
870 table.data.headerleft.sla th.sla_duration{
874 table.data.headerleft.sla td.sla_duration{
879 table.data.headerleft.sla td.sla_output{
884 table.data.headerleft.sla td {
888 table.data.headerleft.sla {
892 table.timeline.standalone.sla td {
893 border: 0px solid #444;
897 table.timeline.standalone.sla {
901 table.timeline.standalone.sla.period {
906 table.timeline td.state0.even{
907 background-color: #0b3;
910 table.timeline td.state0.odd{
911 background-color: #092;
914 table.timeline td.state2.even{
915 background-color: #f00;
918 table.timeline td.state2.odd{
919 background-color: #900;
923 background-color: #73a1b4;
926 td.sla > div.foldable > b{
938 table.data tr.sla_horizontal_line > td.sla_horizontal_line {
942 table.data tr.sla_horizontal_line > td.sla_horizontal_line.black {
944 border-bottom: 1px solid black;
948 table.timeline.sla td.sla_hilite,
949 table.data.oddeven > tbody > tr.sla_hilite {
952 filter: brightness(70%);
955 table.timeline.sla td.sla_hilite.sla_error_hilite,
956 table.data.oddeven > tbody > tr.sla_hilite.sla_error_hilite {
959 filter: brightness(50%);
962 div.timelinerange.sla {
968 div#avoptions td.dictleft {
972 div#avoptions td.dictright {