/*! * WebVirtCloud (http://github.com/retspen/webvirtcloud) * Code licensed under the Apache License v2.0. * For details, see http://www.apache.org/licenses/LICENSE-2.0. */ /* pages stop at Bootstrap's lg container width (960px): its xl and xxl widths (1140px, 1320px) leave the panel's forms and lists too wide */ @media (min-width: 1200px) { .container { max-width: 960px; } } /* a count or label badge: text-bg-light keeps a light background with the theme's light-text colour, white on grey in Darkly, Superhero and Vapor; the page's own colours read in every theme */ .badge.text-bg-light.border { color: var(--bs-body-color) !important; background-color: var(--bs-body-bg) !important; } #editor { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } /* Tom Select's control keeps the text colour of the select it replaces: its own stylesheet fixes one, unreadable on some Bootswatch themes */ .ts-wrapper.form-select .ts-control, .ts-wrapper.form-select .ts-control input { color: inherit; } .xmlheight { height: 364px; } .ace_editor { height: 350px; } /* headers of sortable tables (static/js/sort_tables.js): the sorted one shows its direction, up for ascending */ th[role=columnheader]:not([data-sort-method="none"]) { cursor: pointer; user-select: none; } th[aria-sort]:not([data-sort-method="none"])::after { content: ""; display: inline-block; margin-left: 0.4em; vertical-align: middle; border: 0.3em solid transparent; border-top-color: currentColor; } th[aria-sort="ascending"]:not([data-sort-method="none"])::after { border-top-color: transparent; border-bottom-color: currentColor; } /* a phone keeps Bootstrap's own cell padding: some themes (Zephyr) double it, and a list's last column no longer fits the screen */ @media (max-width: 575.98px) { .table > :not(caption) > * > * { padding-left: 0.5rem; padding-right: 0.5rem; } } /* a choice shown as a card around its radio button (the VM's disk source, a new pool's type): the chosen card by its border only, as the Bootswatch dark themes keep light "subtle" backgrounds */ .source-option { cursor: pointer; } .source-option:has(input:checked) { border-color: var(--bs-primary) !important; box-shadow: inset 0 0 0 1px var(--bs-primary); } .source-option:has(input:focus-visible) { outline: 2px solid var(--bs-primary); outline-offset: 2px; } .host-collapsed tr[host] { display: none; } /* a live chart (static/js/charts.js) fills the width of its card at this height */ .chart { height: 160px; } /* the host's sections (computes/host_nav.html) on one line in every theme: one font size, and the divider spaced alike on its two sides (Zephyr doubles the space after it) */ .host-nav .breadcrumb { --bs-breadcrumb-item-padding-x: .5rem; font-size: .875rem; } .host-nav .breadcrumb-item + .breadcrumb-item::before { padding-right: var(--bs-breadcrumb-item-padding-x); } /* the boot order editor numbers its checked devices, top to bottom */ .boot-sequence { counter-reset: boot; } .boot-sequence > label:has(> input:checked) { counter-increment: boot; } .boot-rank { width: 1rem; text-align: center; } .boot-rank::before { content: "—"; } .boot-sequence > label:has(> input:checked) .boot-rank::before { content: counter(boot); } /* a log message keeps a readable width when its table scrolls on a phone */ .log-message { min-width: 16rem; }