/* Normalize CSS */ .content { a { font-weight: normal; color: inherit; } .text-small { color: inherit; font-size: inherit; } p a { color: @icinga-blue; text-decoration: underline; } } .controls h1 a { color: inherit; float: right; font-weight: normal; } .controls h1 form { display: inline; } .action-bar a { color: @icinga-blue; &:hover::before { text-decoration: none; } margin-right: 1em; } h1 a:focus { outline: none; } div.bp { margin-bottom: 4px; } .simulation div.bp { border-right: 1em solid @colorCriticalHandled; padding-right: 1em; background: white; } table.bp { /* Business process table styling starts here */ width: 100%; margin: 0; padding: 0; color: #0a0a0a; border-collapse: collapse; border-spacing: 0; box-sizing: border-box; font-size: 1em; font-weight: normal; /* Reset all paddings and margins, just to be on the safe side */ th, td { padding: 0; margin: 0; } /* Left outer margin on nested BPs */ table.bp { width: 99.6%; margin-left: .4%; margin-top: 4px; } .time-since { display: none; } } table.bp th { font-weight: bold; } /* END of font settings */ /* No focus outline on our links, look ugly */ table.bp a:focus { outline: none; } /* No link underlining */ table.bp a, table.bp a:hover { text-decoration: none; } /* White font for all hovered objects */ table.bp.hovered { color: white; > tbody > tr > td > a > .time-since { display: inline; } } table.bp.handled.hovered { color: #0a0a0a; } table.bp a { color: inherit; } /* Show a pointer when hovering th, highlighting is JS-triggered */ table.bp tr th { cursor: pointer; } /* Expand / collapse styling */ table.bp.process { position: relative; > tbody > tr:first-child > td:before { content: '\e81d'; font-family: ifont; position: absolute; font-size: 1.5em; margin-left: -0.8em; -webkit-transition: -webkit-transform 0.3s; -moz-transition: -moz-transform 0.3s; -o-transition: -o-transform 0.3s; transition: transform 0.3s; } &.collapsed { > tbody > tr:first-child > td:before { -webkit-transform:rotate(-90deg); -moz-transform:rotate(-90deg); -o-transform:rotate(-90deg); .rotate(360deg); } table.bp, th span { display: none; } } } table.bp th > a, table.bp td > a, table.bp td > span { display: block; text-decoration: none; } table.bp span.op { width: 1.5em; min-height: 1.5em; margin-top: 1em; display: block; line-height: 2em; transform: rotate(-90deg); -moz-transform: rotate(-90deg); } table.bp .icon { float: left; margin-top: 0.4em; margin-right: 0.4em; } table.bp.node { td:before { font-family: ifont; z-index: 10; font-size: 1.25em; position: absolute; margin-left: 1.25em; margin-top: 0.25em; } } table.bp.node.subtree td:before { content: '\e80e'; } table.bp.node.service td:before { content: '\e840'; } table.bp.node.host td:before { content: '\e866'; } /* Border defaults */ table.bp { border-width: 0; border-style: solid; border-color: transparent; } table.bp tr, table.bp tbody, table.bp th, table.bp td, table.bp.node td > a, table.node.missing td > span { border-width: 0; border-style: inherit; border-color: inherit; } table.bp td > a, table.node.missing td > span { line-height: 2em; padding-left: 0.5em; display: block; } table.bp.node td > a:last-child, table.node.missing td > span { padding-left: 2.5em; background-repeat: no-repeat; background-position: 0.5em 0.5em; border-left-width: 0.8em; } table.bp.node.handled td > a:last-child, table.bp.node.ok td > a:last-child, table.node.missing td > span, table.bp.node.up td > a:last-child { border-left-width: 0.3em; background-position: 1em 0.5em; padding-left: 3em; } table.bp th { border-left-width: 0.8em; width: 1.2em; } table.bp.handled > tbody > tr > th, table.bp.ok > tbody > tr > th { border-left-width: 0.3em; width: 2em; } /* Operator: upper line */ table.bp.operator > tbody > tr:first-child > * { border-top-width: 1px; border-top-style: dotted; } table.bp.operator.hovered > tbody > tr:first-child > * { border-top-style: solid; } /* Set colors based on element state */ table.bp { &.ok { border-color: @colorOk; } &.up { border-color: @colorOk; } &.warning { border-color: @colorWarning; } &.warning.handled { border-color: @colorWarningHandled; } &.critical { border-color: @colorCritical; } &.critical.handled { border-color: @colorCriticalHandled; } &.down { border-color: @colorCritical; } &.down.handled { border-color: @colorCriticalHandled; } &.unknown { border-color: @colorUnknown; } &.unknown.handled { border-color: @colorUnknownHandled; } &.unreachable { border-color: @colorUnknown; } &.unreachable.handled { border-color: @colorUnknownHandled; } &.pending { border-color: @colorPending; } &.missing { border-color: #ccc; } &.hovered { &.ok > tbody > tr > { th, td > a { background-color: @colorOk; } } &.up > tbody > tr > { th, td > a { background-color: @colorOk; } } &.warning > tbody > tr > { th, td > a { background-color: @colorWarning; } } &.warning.handled > tbody > tr { > th, > td > a { background-color: @colorWarningHandled; } } &.critical > tbody > tr > { th, td > a { background-color: @colorCritical; } } &.critical.handled > tbody > tr > { th, td > a { background-color: @colorCriticalHandled; } } &.down > tbody > tr > { th, td > a { background-color: @colorCritical; } } &.down.handled > tbody > tr > { th, td > a { background-color: @colorCriticalHandled; } } &.unknown > tbody > tr > { th, td > a { background-color: @colorUnknown; } } &.unknown.handled > tbody > tr > { th, td > a { background-color: @colorCUnknownHandled; } } &.unreachable > tbody > tr > { th, td > a { background-color: @colorUnknown; } } &.unreachable.handled > tbody > tr > { th, td > a { background-color: @colorCUnreachableHandled; } } &.pending > tbody > tr > { th, td > a { background-color: @colorPending; } } &.missing > tbody > tr > { th, td > a, td > span { background-color: #ccc; } } } } /* Reduce font size after the 3rd level... */ table.bp table.bp table.bp table.bp { font-size: 0.9em; } /* ...and keep it constant afterwards */ table.bp table.bp table.bp table.bp table.bp { font-size: 1em; } /* Transitions */ table.bp { // That's ugly, I know .transition(@val1, @val2) { transition: @val1, @val2; -moz-transition: @val1, @val2; -o-transition: @val1, @val2; -webkit-transition: @val1, @val2; } > tbody > tr > td > a:last-child, > tbody > tr > td > span, > tbody > tr > th { // Fade out .transition(color 0.5s 0.1s step-start, background-color 0.5s 0.1s ease-out ); } &.hovered > tbody > tr { > td > a:last-child, > td > span, > th { // Fade in .transition(color 0.0s 0.0s step-start, background-color 0.0s 0.0s ease-out ); } } } .toplevel:after { content:''; display:block; clear: both; } .toplevel.few { font-size: 3em; } .toplevel.normal { font-size: 2em; } .toplevel.many { font-size: 1.5em; } #layout.twocols, #layout.layout-minimal, .compact { .toplevel.few { font-size: 1.8em; } .toplevel.normal { font-size: 1.4em; } .toplevel.many { font-size: 0.9em; } } .toplevel > div { width: 5em; height: 5em; float: left; margin-right: 0.2em; margin-bottom: 0.2em; color: white; background: #ccc; } .toplevel > div > a { text-decoration: none; font-size: 0.5em; color: inherit; vertical-align: middle; text-align: center; display: block; padding: 1em; font-weight: bold; word-wrap: break-word; height: 10em; width: 10em; box-sizing: border-box; } .toplevel > div > a:hover { color: black; } .toplevel > div.critical, .toplevel .badge-critical { background: @colorCritical; } .toplevel > div.critical.handled { background: @colorCriticalHandled; } .toplevel > div.down, .toplevel .badge-down { background: @colorCritical; } .toplevel > div.down.handled { background: @colorCriticalHandled; } .toplevel > div.unknown, .toplevel .badge-unknown { background: @colorUnknown; } .toplevel > div.unknown.handled { background: @colorUnknownHandled; } .toplevel > div.unreachable, .toplevel .badge-unreachable { background: @colorUnknown; } .toplevel > div.unreachable.handled { background: @colorUnknownHandled; } .toplevel > div.warning, .toplevel .badge-warning { background: @colorWarning; } .toplevel > div.warning.handled { background: @colorWarningHandled; } .toplevel > div.ok { background: @colorOk; } .toplevel > div.pending, .toplevel .badge-pending { background: @colorPending; } .toplevel > div.missing, .toplevel .badge-missing { background: #ccc; } ul.error { padding: 0; list-style-type: none; background-color: @colorCritical; font-size: 0.8em; li { font-weight: bold; color: white; padding: 0.3em 0.8em; } li a { color: inherit; } } table.sourcecode { font-family: monospace; white-space: pre-wrap; th { vertical-align: top; padding-right: 0.5em; user-select: none; -moz-user-select: none; -o-user-select: none; -ms-user-select: none; -webkit-user-select: none; font-weight: bold; } td { vertical-align: top; } } .diff { font-family: monospace; white-space: pre-wrap; del, ins { text-decoration: none; } del { color: @colorCritical; background-color: #fdd; } ins { color: @colorOk; background-color: #dfd; } } .badges { display: block; padding: 0.5em; .badge { border: 1px solid white; margin: 0; margin-right: 1px; } }