@font-face {
    font-family: Roboto-Regular;
    src: url("/fonts/Roboto-Regular.ttf");
}

@font-face {
    font-family: Roboto-Light;
    src: url("/fonts/Roboto-Light.ttf");
}

@font-face {
    font-family: Roboto-Bold;
    src: url("/fonts/Roboto-Bold.ttf");
}

:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #fff;
    --bs-black: #000;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-gray: var(--bs-gray-600);
    --bs-gray-dark: var(--bs-gray-800);
    --bs-primary: var(--bs-blue);
    --bs-secondary: var(--bs-gray);
    --bs-success: var(--bs-green);
    --bs-info: var(--bs-cyan);
    --bs-warning: var(--bs-yellow);
    --bs-danger: var(--bs-red);
    --bs-light: var(--bs-gray-100);
    --bs-dark: var(--bs-gray-900);
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: Roboto-Regular, Arial, sans-serif;
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: var(--bs-gray-300);
    --bs-body-bg: var(--bs-black);
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: var(--bs-gray-300);
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: var(--bs-blue);
    --bs-link-hover-color: #0a58ca;
    --bs-code-color: var(--bs-pink);
    --bs-highlight-bg: #fff3cd;
    /* additional colors */
    --bs-dark-green: #082a18;
    --bs-dark-blue: #0D2138;
    --bs-dark-orange: #492d00;
    --bs-dark-yellow: #483a05;
    --bs-dark-red: #550000;
    --bs-dark-purple: #261741;
    --bs-dark-teal: #273609;
    --bs-balanced-gray: #404040;

    --bs-breadcrumb-divider: '»';
    --bs-breadcrumb-divider-color: var(--bs-gray) !important;
    --bs-breadcrumb-item-active-color: var(--bs-gray) !important;

    --bs-form-control-bg: transparent !important; /* fix forms */

    --cooltipz-bg-color: var(--bs-dark-blue);
    --cooltipz-border-width: 1px;
    --cooltipz-border-color: var(--bs-info);
    --cooltipz-text-color: var(--bs-gray-300);
    --cooltipz-border-radius: 0;
    --cooltipz-cursor: help;
}

strong {
    font-weight: bold;
    font-family: Roboto-Bold, sans-serif !important;
}

.fw-light {
    font-weight: 300 !important;
    font-family: Roboto-Light, sans-serif !important;
}

.navbar-toggler {
    border-width: 0;
}

/* fix for bs 5.3 */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #666 !important;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
    color: #666 !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #666 !important;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #666 !important;
}

/* fix for BS 5.3 */
.breadcrumb {
    --bs-breadcrumb-divider: '»';
    --bs-breadcrumb-divider-color: var(--bs-gray) !important;
    --bs-breadcrumb-item-active-color: var(--bs-gray) !important;
}

body {
    background-color: var(--bs-gray-900);
    color: var(--bs-gray);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--bs-light);
}

table {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
    --bs-table-active-color: var(--bs-body-color);
    --bs-table-active-bg: rgba(0, 0, 0, 0.1);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
    width: 100%;
    min-width: 1024px;
    margin-bottom: 1rem;
    color: var(--bs-table-color);
    vertical-align: top;
}

table > :not(caption) > * > * {
    padding: .5rem .5rem;
    background-color: var(--bs-table-bg);
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg)
}

table > tbody {
    vertical-align: inherit
}

table > thead {
    vertical-align: bottom
}

table {
    --bs-table-color: #fff;
    --bs-table-bg: #212529;
    --bs-table-border-color: #373b3e;
    --bs-table-striped-bg: #2c3034;
    --bs-table-striped-color: #fff;
    --bs-table-active-bg: #373b3e;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #323539;
    --bs-table-hover-color: #fff;
    color: var(--bs-table-color);
}

table > :not(caption) > * > * {
    padding: .25rem .25rem !important;
}

table > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: var(--bs-table-striped-bg) !important;
    color: var(--bs-table-striped-color) !important;
}

table > tbody > tr:hover > * {
    --bs-table-accent-bg: var(--bs-table-hover-bg) !important;
    color: var(--bs-table-hover-color) !important;
}

table > thead > tr > th {
    background-color: var(--bs-dark-blue) !important;
}

.bg-magic-gears {
    background-image: url("/svg/magic.svg"), url("/svg/gears.svg");
    background-size: 320px;
    background-position: -40px 100px, right -100px bottom 40px;
    background-repeat: no-repeat, no-repeat;
}

.bg-monitors {
    background-image: url("/images/monitors.jpg");
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.main {
    min-height: 1024px;
}

.text-gray {
    color: var(--bs-gray);
}

.bg-gray {
    background-color: var(--bs-balanced-gray) !important;
}

.bg-black {
    background-color: var(--bs-black);
!important;
}

.bg-dark-blue {
    background-color: var(--bs-dark-blue) !important;
}

.bg-dark-green {
    background-color: var(--bs-dark-green) !important;
}

.bg-dark-orange {
    background-color: var(--bs-dark-orange) !important;
}

.bg-dark-red {
    background-color: var(--bs-dark-red) !important;
}

.bg-dark-cyan {
    background-color: var(--bs-dark-red) !important;
}

.bg-darker {
    background-color: #00000055;
}

.bg-lighter {
    background-color: #ffffff33;
}

.bg-darker-hover:hover {
    filter: brightness(0.8);
}

.bg-lighter-hover:hover {
    filter: brightness(1.2);
}

.doc {
    background-color: var(--bs-dark);
}

.doc pre {
    background-color: var(--bs-black);
    color: var(--bs-light);
    padding: 15px;
}

.doc blockquote {
    font-family: Roboto-Light, sans-serif !important;
    font-size: 1.5rem;
    font-style: italic;
    color: var(--bs-info);
    margin-bottom: 40px;
}

table {
    border-style: solid;
    border-width: 1px;
    border-color: var(--bs-gray);
}

input[type="checkbox"] {
    outline: 1px solid var(--bs-gray-300);
}

.navbar {
    border-bottom: 1px solid var(--bs-gray);
}

header.navbar {
    padding-top: 20px;
    padding-bottom: 20px;
}

footer {
    padding-top: 50px;
    padding-bottom: 50px;
    border-top: 1px solid var(--bs-gray);
    background-color: var(--bs-dark);
}

section.border-bottom {
    border-color: var(--bs-gray) !important;
}

section {
    padding-bottom: 80px;
    padding-top: 80px;
}

.section-dark {
    background-color: var(--bs-dark);
    color: var(--bs-gray);
}

.section-secondary {
    background-color: var(--bs-secondary);
    color: var(--bs-black);
}

.section-light {
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

.section-dark-blue {
    background-color: var(--bs-dark-blue);
    color: var(--bs-gray);
}


h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, th, strong {
    font-family: Roboto-Bold, sans-serif !important;
}

small, em {
    font-family: Roboto-Light, sans-serif !important;
}

.no-transition {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    -ms-transition: none !important;
    transition: none !important;
}

.yes, .circle-green {
    height: 12px;
    width: 12px;
    background-color: var(--bs-green);
    border-radius: 50%;
    display: inline-block;
}

.maybe, .circle-gray {
    height: 12px;
    width: 12px;
    background-color: var(--bs-gray);
    border-radius: 50%;
    display: inline-block;
}

.no, .circle-red {
    height: 12px;
    width: 12px;
    background-color: var(--bs-red);
    border-radius: 50%;
    display: inline-block;
}

/* scrollbar */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-corner {
    background: var(--bs-gray-900);
}

::-webkit-scrollbar-track {
    background: var(--bs-gray-900);
}

::-webkit-scrollbar-thumb {
    background: rgba(108, 117, 125, 0.5);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--bs-gray-600);
}

.btn, .card, .card-header:first-child, .form-control, .form-select, .dropdown-menu, .progress, .modal-content, .nav-pills .nav-link, .badge {
    border-radius: 0 !important; /* rectangular components */
}

.badge {
    color: var(--bs-dark); /* better than white */
    -webkit-user-select: none !important; /* select not allowed */
    -moz-user-select: none !important;
    user-select: none !important;
}

.dropdown-menu-end {
    right: 0 !important; /* fix menu alignment */
}

.dropdown-menu {
    z-index: 2000 !important; /* fix menu for navbar */
}

.modal-fullscreen { /* make it really fullscreen */
    position: fixed;
    z-index: 2000;
}


.server.OK, .monitor.OK {
    background-color: var(--bs-dark-green) !important;
}

.server.Warning, .monitor.GettingWorse {
    background-color: var(--bs-dark-orange) !important;
}

.server.Error, .monitor.Error {
    background-color: var(--bs-dark-red) !important;
}

.monitor.GettingBetter {
    background-color: var(--bs-dark-teal) !important;
}

.monitor.Toggling {
    background-color: var(--bs-dark-purple) !important;
}

.monitor.StartToggling {
    background-color: var(--bs-dark-yellow) !important;
}

.monitor.StopToggling {
    background-color: var(--bs-dark-blue) !important;
}

.server {
    min-height: 115px;
    max-height: 115px;
    height: 115px;
}

.monitor {
    min-height: 115px;
    max-height: 115px;
    height: 115px;
    background-color: var(--bs-gray-800);
}

.domain {
    min-height: 115px;
    max-height: 115px;
    height: 115px;
}

.ip-address {
    min-height: 115px;
    max-height: 115px;
    height: 115px;
}

.certificate {
    min-height: 115px;
    max-height: 115px;
    height: 115px;
}

span.Warning, th.Warning, td.Warning {
    color: var(--bs-warning) !important;
}

span.Error, th.Error, td.Error {
    color: var(--bs-danger) !important;
}

span.Info, th.Info, td.Info {
    color: var(--bs-info) !important;
}

div.Error {
    background-color: var(--bs-danger) !important;
}

div.Warning {
    background-color: var(--bs-warning) !important;
}

div.Info {
    background-color: var(--bs-info) !important;
}


.progress {
    height: 4px;
    margin-top: 8px;
    background-color: var(--bs-black);
}

.modal-header {
    border-bottom-color: var(--bs-black);
}

.ticks {
    display: flex;
}

.tick {
    width: 8px;
    height: 15px;
    border-color: var(--bs-black);
    border-style: solid;
    border-width: 1px;
}

.tick:hover {
    filter: brightness(1.2);
}

.tick-success {
    background-color: var(--bs-green);
}

/**************************************************/
/* TagCloud /*
/**************************************************/

.tagcloud1 {
    margin-right: 10px;
    color: #82a4dc;
    font-size: 14px;
    line-height: 24px;
}

.tagcloud2 {
    margin-right: 10px;
    color: #4c4db8;
    font-size: 16px;
    line-height: 24px;
}

.tagcloud3 {
    margin-right: 10px;
    color: #3c3d98;
    font-size: 18px;
    line-height: 24px;
}

.tagcloud4 {
    margin-right: 10px;
    color: #333389;
    font-size: 24px;
    line-height: 24px;
}

.shadow-box {
    border-style: solid;
    border-width: 1px;
    border-color: rgba(110, 114, 116, 0.25);
    border-radius: 3px !important;
    box-shadow: 0 1rem 2rem rgba(9, 10, 10, 1);
}

.lighter-hover:hover {
    filter: brightness(1.2);
}
