.action-bar a { color: @icinga-blue; &:hover::before { text-decoration: none; } margin-right: 1em; } 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 ); } } } /** BEGIN Tiles **/ .tiles:after { content:''; display:block; clear: both; } .tiles > div { width: 12em; height: 6em; float: left; margin-right: 0.2em; margin-bottom: 0.2em; color: @text-color; border: 1px solid @text-color; border-left: 0.5em solid @text-color; a:hover { background-color: @text-color; color: white; } } .tiles > div.parent::before { content: '&'; position: absolute; font-size: 1.2em; } .tiles > div.parent { width: 100%; height: 2em; } .tiles > 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; width: 100%; height: 12em; box-sizing: border-box; &:focus { outline: none; text-decoration: underline; } i { float: left; font-size: 2.5em; margin-top: -0.1em; } } .tiles > div > a:hover { color: white; } .badges { display: block; padding: 0.5em; .badge { border: 1px solid white; margin: 0; margin-right: 1px; } } .badge-critical, .badge-down { background: @colorCritical; } .badge-unknown, .badge-unreachable { background: @colorUnknown; } .badge-warning { background: @colorWarning; } .badge-pending { background: @colorPending; } .badge-missing { background: #ccc; } .tiles { > .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; } > .warning { border-color: @colorWarning; } > .warning.handled { border-color: @colorWarningHandled; } > .ok { border-color: @colorOk; } > .pending { border-color: @colorPending; } > .missing { border-color: #ccc; } } .tiles { > .critical a:hover { background: @colorCritical; } > .critical.handled a:hover { background: @colorCriticalHandled; } > .down a:hover { background: @colorCritical; } > .down.handled a:hover { background: @colorCriticalHandled; } > .unknown a:hover { background: @colorUnknown; } > .unknown.handled a:hover { background: @colorUnknownHandled; } > .unreachable a:hover { background: @colorUnknown; } > .unreachable.handled a:hover { background: @colorUnknownHandled; } > .warning a:hover { background: @colorWarning; } > .warning.handled a:hover { background: @colorWarningHandled; } > .ok a:hover { background: @colorOk; } > .pending a:hover { background: @colorPending; } > .missing a:hover { background: #ccc; } } .tiles > .addnew { border-color: @icinga-blue; a { color: @icinga-blue; &:hover { background: @icinga-blue; } } &.with-form { width: auto; height: auto; min-width: 30em; min-height: 10em; a { display: none; } } } .tiles .missing a { pointer-events: none; cursor: default; } .tiles.few { font-size: 3em; } .tiles.normal { font-size: 2em; } .tiles.many { font-size: 1.5em; } #layout.twocols, #layout.layout-minimal, .compact { .tiles.few { font-size: 1.8em; } .tiles.normal { font-size: 1.4em; } .tiles.many { font-size: 0.9em; } } /** END of tiles **/ /** BEGIN breadcrumb **/ .breadcrumb { list-style: none; overflow: hidden; padding: 0; .badges { display: inline-block; padding: 0 0 0 0.5em; .badge { line-height: 1.25em; font-size: 0.8em; border: 1px solid white; margin: 0; margin-right: 1px; } } } .breadcrumb { > .critical a { background: @colorCritical; } > .critical.handled a { background: @colorCriticalHandled; } > .unknown a { background: @colorUnknown; } > .unknown.handled a { background: @colorUnknownHandled; } > .warning a { background: @colorWarning; } > .warning.handled a { background: @colorWarningHandled; } > .ok a { background: @colorOk; } } .breadcrumb { > .critical a:after { border-left-color: @colorCritical; } > .critical.handled a:after { border-left-color: @colorCriticalHandled; } > .unknown a:after { border-left-color: @colorUnknown; } > .unknown.handled a:after { border-left-color: @colorUnknownHandled; } > .warning a:after { border-left-color: @colorWarning; } > .warning.handled a:after { border-left-color: @colorWarningHandled; } > .ok a:after { border-left-color: @colorOk; } } .breadcrumb:after { content:''; display:block; clear: both; } .breadcrumb li { float: left; cursor: pointer; user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } .breadcrumb li a { color: white; margin: 0; font-size: 1.2em; text-decoration: none; padding-left: 2em; line-height: 2.5em; background: @icinga-blue; position: relative; display: block; float: left; &:focus { outline: none; } } .breadcrumb li a:before, .breadcrumb li a:after { content: " "; display: block; width: 0; height: 0; border-top: 1.3em solid transparent; border-bottom: 1.2em solid transparent; position: absolute; margin-top: -1.2em; top: 50%; left: 100%; } .breadcrumb li a:before { border-left: 1.2em solid white; margin-left: 1px; z-index: 1; } .breadcrumb li a:after { border-left: 1.2em solid @icinga-blue; z-index: 2; } .breadcrumb li:first-child a { padding-left: 1em; } .breadcrumb li:last-child a { cursor: default; } .breadcrumb li:last-child a:hover { } .breadcrumb li:not(:last-child) a:hover { background: @text-color; color: white; } .breadcrumb li:not(:last-child) a:hover:after { border-left-color: @text-color; } .breadcrumb li a:focus { text-decoration: underline; } #layout.twocols, #layout.layout-minimal, .compact { .breadcrumb { font-size: 0.9em; } } /** END of breadcrumb **/ ul.error { padding: 0; list-style-type: none; background-color: @colorCritical; 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; } }