ntopng/http_src/views/private/clients/white-mode.scss
Alfredo Cardigliano 22cc48a6c5 Fix navbar margin
2025-07-14 13:05:11 +02:00

1264 lines
21 KiB
SCSS

:root {
--sidebar-width: 4.5rem;
--footer-height: 4rem;
--padding-md-four: 1.5rem;
--scrollable-dropdown-height: 20rem;
--ntop-orange: #FF8F00;
--ntop-orange-light: #FFC046;
--ntop-orange-dark: #C56000;
--ntop-blue: #37474F;
--ntop-blue-light: #62717B;
--ntop-blue-dark: #101F27;
}
/* White-Mode */
:root[data-theme='light'] {
--ntop-text-color: #111111;
--loading-bg: rgba(243, 244, 246, 0.9);
--loading-text-color: #374151;
--loading-spinner-border: #6b7280;
}
/* Dark-Mode */
:root[data-theme='dark'] {
--ntop-text-color: #e2e2e2;
--loading-bg: #28242c;
--loading-text-color: #e2e8f0;
--loading-spinner-border: #334155;
}
a,
.btn-link {
text-decoration: none;
}
summary>span {
border-bottom: 1px dotted #808080;
color: initial;
}
code {
color: #393D44;
}
.masthead>.nav>.nav-item {
margin-left: 3px;
margin-right: 3px;
}
.sliderticks {
display: flex;
justify-content: space-between;
padding: 0 10px;
}
.sliderticks p {
position: relative;
display: flex;
justify-content: center;
text-align: center;
width: 1px;
background: #D3D3D3;
height: 10px;
line-height: 40px;
margin: 0 0 20px 0;
}
.btn-edit {
--bs-btn-close-bg: url("data:image/svg+xml,<svg xmlns= 'http://www.w3.org/2000/svg' viewBox= '0 0 16 16' fill= 'currentColor'> <path d= 'M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z'/> </svg> ") !important;
height: 1em !important;
width: 2em !important;
}
.highlighted-json {
white-space: pre-wrap;
font-family: monospace;
color: white;
padding: 10px;
border: 1px solid #ccc;
background-color: #3e3d3d;
}
/* sprobe ****************************** */
.circle {
border-radius: 50%/50%;
width: 9px;
height: 9px;
margin-right: 5px;
}
.node circle {
cursor: pointer;
stroke-width: 1.5px;
}
.node text {
font-size: 11px;
}
.report-icon {
font-size: 18px;
}
path.link {
fill: none;
stroke: #CCCCCC;
stroke-width: 1.5px;
}
/* ****************************** */
#historical-tab-chart .nv-area-stroke-hint {
animation-name: line-stroke-appear;
animation-duration: 1.5s;
animation-fill-mode: both;
}
@keyframes line-stroke-appear {
from {
stroke-opacity: 0;
stroke-width: 0;
}
to {
stroke-opacity: 1;
stroke-width: 1.2;
}
}
.line-animated .nv-line {
animation-name: line-appear;
animation-delay: 0.25s;
animation-duration: 1.25s;
animation-fill-mode: backwards;
}
@keyframes line-appear {
from {
-webkit-clip-path: polygon(0px -1000px,
0px -1000px,
0px 1000px,
0px 1000px);
}
to {
-webkit-clip-path: polygon(0px -1000px,
100% -1000px,
100% 1000px,
0px 1000px);
}
}
.ntop-progress-stacked {
width: 400px;
}
.ntop-progress-stacked-legend {
margin-top: 4px;
}
.ntop-progress-stacked-legend>span>span:last-child {
margin-left: 3px;
}
.ntop-progress-stacked-legend>span:not(:first-child) {
margin-left: 20px;
}
.form-inline {
display: inline;
}
.typeahead-dropdown-right .dropdown-menu {
right: 0;
}
.link {
fill: none;
stroke: #666666;
stroke-width: 1.5px;
}
.link.proc2host {
stroke-dasharray: 0, 2 1;
}
.ebpf_circle {
fill: #CCCCCC;
stroke: #333333;
stroke-width: 1.5px;
}
.ebpf_text {
font: 10px sans-serif;
pointer-events: none;
text-shadow: 0 1px 0 #FFFFFF, 1px 0 0 #FFFFFF, 0 -1px 0 #FFFFFF, -1px 0 0 #FFFFFF;
}
.drilldown-icon {
font-size: 16px;
}
/* Fix for fa-share blocked by adblock */
.fa-topology-alt::before {
content: '\f1e0';
}
/* end of CSS for EBPF charts */
.mt-6 {
margin-top: 6rem !important;
}
.navbar-shadow {
box-shadow: var(0, 0, transparent, 0 0 #000000), var(0, 0, transparent, 0 0 #000000), var(0 1px 3px 0 #00000003, 0 1px 2px 0 #0000000F);
border-radius: 0.25rem;
}
/* Align search to the top */
.navbar-main-top {
align-items: flex-start;
}
/* Control main navbard badges display based on window size */
@media (max-width: 1280px) {
.navbar-main-badges {
width: 360px;
}
}
@media (max-width: 1200px) {
.navbar-main-badges {
width: 300px;
}
}
@media (max-width: 1080px) {
.navbar-main-badges {
width: 200px;
}
}
.table:not(.dataTable) td,
.table:not(.dataTable) th {
padding: 0.50rem !important;
}
.traffic-report-table {
height: auto !important;
}
.square-btn {
width: 2rem;
height: 2rem;
}
/*
Class to apply to dropdown that must scroll elements.
When the dropdown height is greater than 20 rem then crop it and enable
scroll on y-axis
*/
.scrollable-dropdown {
max-height: var(--scrollable-dropdown-height);
height: auto;
overflow-y: auto;
overflow-x: hidden;
}
.dark-gray {
color: #363943;
}
.ntop-color {
color: #FF7500;
}
.bg-ntop {
background-color: #FF7500;
}
/* increase switches size */
.custom-control-label-lg {
transform: scale(1.5);
}
.dt-search {
display: inline !important;
}
/* Container */
main#n-container {
height: 100%;
display: flex;
flex-flow: column;
display: inline-block;
width: 100%;
}
.info-stats div.down,
.downup-charts div.down,
.info-stats div.up,
.downup-charts div.up {
min-width: 12rem;
}
.info-stats div.down,
.downup-charts div.down {
margin-top: -0.55rem;
}
.info-stats,
.downup-charts {
display: flex;
align-items: center;
}
.info-stats a {
color: rgb(56, 59, 69);
text-decoration: none;
}
.network-load a {
margin: 0 0.1em;
}
.w-10 {
max-width: 12rem;
}
#n-navbar {
z-index: 1000;
transition: 0.2s ease-out all;
background-color: transparent;
box-shadow: none;
}
#n-navbar.scrolled {
box-shadow: 0 1px 3px 0 #0000001A, 0 1px 2px 0 rgba(88, 49, 49, 0.06) !important;
background-color: initial;
}
.no-scroll {
overflow-y: hidden;
}
.chips-container {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
color: #495057;
background-color: #FFFFFF;
background-clip: padding-box;
border: 1px solid #CED4D9;
border-radius: 0.25rem;
}
.chips-container>input[type='text'] {
border: none;
outline: none;
display: inline-block;
width: auto;
min-width: 100%;
}
.chips-container>input[type='text']:focus {
border: none !important;
outline: none !important;
}
.input-group.template input.form-control {
border-top-right-radius: 0.25rem !important;
border-bottom-right-radius: 0.25rem !important;
}
.multiple-select {
height: 12rem !important;
overflow-y: auto;
max-height: 20rem;
}
.multiple-select-small {
height: 8rem !important;
overflow-y: auto;
max-height: 12rem;
}
.pointer {
cursor: pointer;
}
.p-btn {
padding: 0.375rem 0rem;
}
.scroll-x {
white-space: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.dt-table-wrapper table.table tbody td {
vertical-align: middle;
}
details#dt-top-summary {
margin: 1.25rem 0;
}
details div.progress {
height: 0.55rem;
}
details summary::-webkit-details-marker {
display: none;
}
details div.details {
padding: 1rem;
border: 1px solid #CCCCCC;
border-radius: 3px;
}
details ul {
margin: 0;
width: 100%;
padding: 0;
display: table;
}
details ul li {
display: table-cell;
margin: 0.5rem;
text-align: center;
vertical-align: middle;
white-space: nowrap;
width: 1%;
border-right: 1px solid #CCCCCC;
}
details ul li:only-child {
border: none;
}
details ul li:first-child {
border-right: 1px solid #CCCCCC;
}
details ul li:last-child {
border: none;
}
details ul li i.dot {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
}
details ul li>span {
color: #8E8E8E;
}
.switches-list-container {
width: 100%;
height: 200px;
overflow-y: auto;
border: 1px solid #CCCCCC;
border-radius: 3px;
padding: 0.5rem;
background-color: #FBFBFB;
}
.switches-list-container>ul {
list-style-type: none;
padding-left: 0;
}
#updates-install-li {
font-size: 0.875rem;
}
div.help-block.with-errors .list-unstyled {
margin-top: 0.5em;
margin-bottom: 0px !important;
}
th.dt-head-center {
text-align: center;
}
td.dt-body-right {
text-align: right;
}
.notification-bell {
font-size: 0.5rem;
position: absolute;
right: 1rem;
top: 0.2rem;
}
.bigger-icon {
font-size: 12rem;
}
.scrollable-log {
height: 16rem;
overflow-y: scroll;
}
.scrollable-log>code {
word-break: break-all;
}
.toast {
width: 350px;
}
.toast p {
word-break: break-all;
}
.toast:not(:last-child) {
margin-bottom: 0.2rem;
}
.toast-container {
position: fixed;
top: 0.5rem;
right: 0.5rem;
z-index: 1050;
}
.blog-section {
width: 30rem;
}
#lldp_network {
height: 600px;
}
.pre-wrap {
white-space: pre;
}
.toast-body.bg-info a {
font-weight: 600;
}
.body {
padding-top: 4.5rem;
}
.notes {
margin-top: 1rem;
padding: 1rem;
border-radius: 3px;
box-shadow: 0 1px 2px 0 #0000000D;
}
.notes b {
margin-bottom: 0.2rem;
}
.card-shadow {
box-shadow: 0px 3px 10px 0 #0000000D;
}
.extrainfo {
position: absolute;
z-index: 1;
border-radius: 4px;
left: 8px;
top: 8px;
padding: 8px;
background: #DEE2E6;
}
footer {
width: 100%;
height: var(--footer-height);
}
.form-control-with-spinner {
position: relative;
}
.form-control-with-spinner .spinner-border {
position: absolute;
right: 0.5rem;
top: calc(50% - 0.5rem);
}
.btn[role='combobox'] {
border-color: #CED4D9;
background-color: #FFFFFF;
}
.btn-gray {
background-color: #F0F0F0;
}
.px-25 {
padding: 0 25% !important;
}
.actions-group {
min-width: 120px;
}
.scrollable-list {
max-height: 16rem;
overflow-y: auto;
}
.largegroup {
width: 500px;
}
.dtr-details {
width: 100%;
}
.ntop-widget-container>.error-box {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
.no-wrap {
white-space: nowrap;
}
.resizable-y-container {
resize: vertical;
overflow: auto;
}
.overlay {
display: flex;
z-index: 1000;
}
.tagify-non-editable .tagify__input {
display: none !important;
}
.dashboard-widget-container {
--tw-shadow: 0 4px 6px -1px #00000003, 0 2px 4px -1px #0000000F;
--tw-ring-offset-shadow: 0 0 transparent;
height: auto;
border: 1px solid #E5E7EB;
border-radius: 0.375rem;
display: flex;
flex-direction: column;
box-shadow: var(--tw-ring-offset-shadow, 0 0 transparent), var(--tw-ring-shadow, 0 0 transparent), var(--tw-shadow);
}
.dashboard-widget-header {
padding: 0.45rem 1rem;
margin-bottom: 0;
background-color: #00000005;
border-bottom: 1px solid #00000020;
font-size: 0.85rem;
color: #6B7280;
}
.dashboard-widget-body {
height: 100%;
}
.percentage-widget {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.percentage-widget .value {
font-size: 4rem;
font-weight: 600;
}
.percentage-widget .percentage {
font-size: 1.5rem;
margin-top: -0.50rem;
}
.percentage-widget .percentage.positive {
color: #2CA61C;
}
.percentage-widget .percentage.negative {
color: #E93D3D;
}
.widget-name {
text-align: center;
}
.fit-content {
width: fit-content;
width: -moz-fit-content;
}
.time-input {
width: 18ch;
}
.h-auto {
height: auto;
}
.f-1 {
font-size: 1rem;
}
td.dashboard-counter {
font-size: 2rem;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.fa-ntopng-warning {
color: #B94A48;
}
#particles-js {
position: absolute;
width: 100%;
height: 100%;
background-color: #F5F5F5;
background-image: none;
background-repeat: no-repeat;
background-size: cover;
background-position: 50% 50%;
}
/* ---- stats.js ---- */
.fa-external-link-alt {
color: #0D6EFD;
cursor: pointer;
}
.leaflet-top.leaflet-left {
z-index: auto;
}
.btn {
-webkit-appearance: none !important;
-moz-appearance: none !important;
appearance: none !important;
}
.alert-warning {
color: #5F4702;
background-color: #FFF0A5;
border-color: #F7E694;
}
li>a>.fa-external-link-alt {
color: #0091EA;
}
.fix-safari-input {
line-height: 1.0 !important;
padding-left: 0.7rem !important;
padding-top: 0.5rem !important;
}
.widget-box-container {
background-color: #EFF4F7;
}
.widget-box {
box-shadow: 0px 1px 22px -12px #607D8B;
background-color: #FFFFFF;
padding: 25px 35px 20px 30px;
}
.widget-box-fix {
padding-bottom: 60px;
}
.widget-box-main-dashboard {
margin-top: 1rem;
padding-left: 0.25rem;
padding-right: 0.25rem;
padding-bottom: 0.25rem;
}
.row-2 {
height: 7rem;
}
.row-4 {
height: 25rem;
}
.row-8 {
height: 45rem;
}
.row-12 {
height: 65rem;
}
.tagify__input {
min-width: 175px;
}
.tagify__tag {
white-space: nowrap;
margin: 3px 0px 5px 5px;
}
.tagify__tag select.operator {
margin: 0px 4px;
border: 1px solid #C4C4C4;
border-radius: 4px;
}
.tagify__tag b.operator {
margin: 0px 4px;
background-color: #FFFFFF;
border: 1px solid #C4C4C4;
border-radius: 4px;
padding: 0.05em 0.2em;
}
.tagify__tag>div {
display: flex;
align-items: center;
}
.bootstrap-select:not([class *='col-']):not([class *='form-control']):not(.input-group-btn) {
min-width: 10rem !important;
}
.standard-color {
color: #111111 !important;
}
.ntopng-truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.ntopng-external-link {
display: inline-block;
vertical-align: middle;
}
.help {
cursor: help;
}
/* Using the unicode as content, fontawesome icons are not working */
table.dataTable thead th.sorting::after {
color: #111111;
font-size: 1em;
padding-left: inherit;
opacity: 0.2;
}
table.dataTable thead th.sorting_desc::after {
content: '\25BE';
padding-left: inherit;
opacity: 1;
}
table.dataTable thead th.sorting_asc::after {
content: '\25B4';
padding-left: inherit;
opacity: 1;
}
.dataTables_filter {
margin-bottom: 8px;
}
.component-fade-enter-active,
.component-fade-leave-active {
transition: opacity .3s ease;
}
.component-fade-enter,
.component-fade-leave-to
/* .component-fade-leave-active below version 2.1.8 */
{
opacity: 0;
}
.nav-item {
cursor: pointer;
}
.vis-tooltip {
visibility: hidden;
border: 1px solid rgb(255, 255, 255);
padding: 0.5rem;
background-color: rgb(255, 255, 255);
border-radius: 0.5rem;
box-shadow: rgba(128, 128, 128, 0.5) 3px 3px 10px;
white-space: nowrap;
}
.centered-message {
position: absolute;
margin-top: 4rem;
margin-left: auto;
margin-right: auto;
z-index: 10 !important;
left: 50%;
/* 50% left from the parent */
transform: translate(-50%, 0);
/* 50% from the element itself */
}
/* left + transform center orizzontally the elements */
.ntopng-gray-out {
opacity: 0.6;
filter: blur(1px);
}
/* Gray out an html element using blur effect */
.ntopng-table {
table-layout: auto;
white-space: nowrap;
}
.ntopng-input-error {
border-color: rgb(220, 53, 69);
}
.ntopng-hide-placeholder {
color: transparent;
}
.filters-label {
color: rgb(108, 117, 125);
font-size: 14px;
}
.wizard-card {
margin-top: 10px;
border-radius: 4px;
box-shadow: 0px 2px 3px 0 #AAA;
/* Blue shadow */
}
/* .wizard-selected */
.wizard-card:hover {
background: #EBF5FB;
box-shadow: 0px 2px 3px 0 #2471A3;
/* Blue shadow */
}
.wizard-form-group {
padding-top: 0rem;
}
.wizard-link {
text-decoration: none;
}
.select2-selection {
overflow: hidden;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
border-color: rgb(118, 118, 118) transparent transparent;
}
.select2-selection__rendered {
color: var(--bs-body-color) !important;
white-space: normal;
word-break: break-all;
}
//select2: fixes word text wrap issues on long select values
li.select2-selection__choice {
overflow: hidden;
text-overflow: ellipsis; //use this if you want to shorten
}
.select2-results__option {
overflow: hidden;
text-overflow: ellipsis; //use this if you want to shorten
color: var(--bs-body-color) !important;
white-space: nowrap;
word-break: break-all;
}
.select2-dropdown {
display: inline-block !important;
}
.invalid {
border: 1px solid red;
}
/* Table Styling */
/* D3 */
.d3-tooltip {
position: absolute;
z-index: 1070;
font-size: 12px;
background-color: white;
border: 1px solid #ddd;
border-radius: 3px;
padding: 5px;
pointer-events: none;
}
.ntopng-table {
border: none !important;
border-collapse: separate !important;
border-spacing: 0 !important;
width: 100% !important;
margin-bottom: 1rem !important;
color: #212529 !important;
border-radius: 8px !important;
overflow: visible !important;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
}
.ntopng-table thead th {
background-color: #f8f9fa !important;
color: bold !important;
font-weight: 600 !important;
border: none !important;
padding: 0.75rem 0.75rem !important;
border-bottom: 1px solid #e9ecef !important;
text-transform: capitalize !important;
position: relative !important;
}
.ntopng-table th:not(:last-child)::after {
content: "" !important;
position: absolute !important;
top: 25% !important;
right: 0 !important;
height: 50% !important;
width: 2px !important;
background: #dee2e6 !important;
cursor: col-resize !important;
}
.ntopng-table th:not(:last-child):hover::after {
background: #adb5bd !important;
}
.ntopng-table th.resizing::after {
background: #0d6efd !important;
width: 3px !important;
}
.ntopng-table tbody tr {
border: none !important;
transition: background-color 0.2s ease !important;
height: 2.75rem !important;
}
.ntopng-table tbody tr td {
padding: 0.5rem 0.75rem !important;
vertical-align: middle !important;
border: none !important;
border-bottom: 1px solid #e9ecef !important;
height: 2.75rem !important;
position: relative !important;
overflow: visible !important;
}
.ntopng-table tbody tr:empty {
height: 2.75rem !important;
}
.ntopng-table tbody tr:last-child td {
border-bottom: none !important;
position: relative !important;
overflow: visible !important;
}
.ntopng-table tbody tr:hover {
background-color: rgba(0, 123, 255, 0.08) !important;
}
.ntopng-table tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.05) !important;
}
.table-striped tbody tr:nth-of-type(odd),
.table-striped tbody tr:nth-of-type(even) {
background-color: transparent !important;
}
.wrap-column {
text-overflow: ellipsis !important;
white-space: nowrap !important;
overflow: hidden !important;
width: 100% !important;
color: #212529 !important;
line-height: 1.4 !important;
padding: 0 !important;
margin: 0 !important;
pointer-events: auto !important;
pointer-events: auto !important;
position: relative !important;
z-index: 1 !important;
}
.fa-sort,
.fa-sort-up,
.fa-sort-down {
margin-left: 0.5rem !important;
opacity: 0.6 !important;
}
// pagination link button
.page-link {
border: none !important;
border-radius: 4px !important;
padding: 0.4rem 0.65rem !important;
color: #495057 !important;
font-weight: 500 !important;
font-size: 0.85rem !important;
transition: all 0.2s ease !important;
background-color: #f8f9fa !important;
line-height: 1.2 !important;
}
.page-link:hover {
background-color: #e9ecef !important;
color: #0d6efd !important;
transform: translateY(-1px) !important;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
}
.page-item.active .page-link {
background-color: #0d6efd !important;
color: white !important;
box-shadow: 0 2px 5px rgba(13, 110, 253, 0.3) !important;
}
.page-item.disabled .page-link {
background-color: #f1f3f5 !important;
color: #adb5bd !important;
cursor: not-allowed !important;
box-shadow: none !important;
}
@media (max-width: 768px) {
.ntopng-table {
display: block !important;
overflow-x: auto !important;
}
input[type="search"] {
width: 150px !important;
}
input[type="search"]:focus {
width: 170px !important;
}
}
.ntopng-gray-out {
opacity: 0.6 !important;
pointer-events: none !important;
}
.centered-message {
text-align: center !important;
padding: 1rem !important;
color: #6c757d !important;
font-style: italic !important;
}
.query {
color: #6c757d !important;
font-size: 0.75rem !important;
}
.badge.bg-secondary {
cursor: pointer !important;
transition: all 0.2s ease !important;
font-size: 0.7rem !important;
padding: 0.25rem 0.5rem !important;
}
.badge.bg-secondary:hover {
background-color: #5a6268 !important;
}
.detail-value {
color: #212529;
font-weight: normal;
}
.link-button {
cursor: pointer;
color: var(--bs-dropdown-link-color) !important;
}
table th.sticky-column-th {
position: sticky !important;
left: 0 !important;
z-index: 2 !important;
box-shadow: 2px 0 5px -2px rgba(0, 0, 0, 0.2) !important;
}
.ntopng-table tbody tr td.sticky-column-td {
position: sticky !important;
left: 0 !important;
z-index: 2 !important;
box-shadow: 2px 0 5px -2px rgba(0, 0, 0, 0.2) !important;
}
.search-container {
position: relative;
width: 250px;
transition: width 0.3s ease;
}
.search-container.expanded {
width: 400px;
}
#chart-vue .card {
overflow: visible !important;
position: relative;
z-index: 99;
}
a.disabled{
pointer-events: none;
cursor: default;
}
.input {
color: var(--ntop-text-color);
}