
 * Copyright (c) 2009 Bequant S.L.
 * All rights reserved.
 *
 * This product or document is proprietary to and embodies the
 * confidential technology of Bequant S.L., Spain.
 * Possession, use, duplication or distribution of this product
 * or document is authorized only pursuant to a valid written
 * license from Bequant S.L.
 */

:root {
  --color-bqn-red: #ff2d2d;
  --color-bqn-green: #00bf2a;
  --color-bqn-green-light: #f0fbf2;
  --color-bqn-blue: #434aff;
  --color-bqn-blue-light: #f4f4ff;
  --color-grey900: #161618;
  --color-grey800: #1c1c1e;
  --color-grey700: #232325;
  --color-grey600: #3a3a3e;
  --color-grey540: #545454;
  --color-grey500: #6b6b6e;
  --color-grey400: #929295;
  --color-grey300: #bfbfbf;
  --color-grey200: #e6e6e6;
  --color-grey100: #efefef;
}

a {
  color: var(--link-color);
  text-decoration: none
}
a:focus,
a:hover {
  color: var(--link-color-focus);
  text-decoration: underline
}
a:focus {
  outline: 0
}

.clickable {
  cursor: pointer;
}

.collapsed-arrow:after {
  font-family: "Glyphicons Halflings";
  font-size: 0.8em;
  content: "\e113";
  float: right;
  margin-left: 15px;
  transition: all 0.4s;
}
.collapsed-arrow.collapsed:after {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  transform: rotate(180deg);
}

.container-lg {
  max-width: 960px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.container-xl {
  max-width: 1200px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 768px) {
  .modal-xl {
    width: 90%;
    max-width:1200px;
  }
  .modal-xl-large {
    width: 95%;
    max-width:1200px;
  }
}

.hyperlink {
  cursor: pointer;
}

.hyperlink-generic {
  color: var(--link-color);
  cursor: pointer;
  text-decoration: none;
}
.hyperlink-generic:focus,
.hyperlink-generic:hover {
  color: var(--link-color-focus);
  cursor: pointer;
  text-decoration: none;
}

.hyperlink-text {
  color: var(--link-color);
  cursor: pointer;
  text-decoration: none;
}
.hyperlink-text:focus,
.hyperlink-text:hover {
  color: var(--link-color-focus);
  cursor: pointer;
  text-decoration: underline;
}
.hyperlink-text:focus {
  outline: 0;
}

.hyperlink-text-nocolor {
  cursor: pointer;
  text-decoration: none;
}
.hyperlink-text-nocolor:focus,
.hyperlink-text-nocolor:hover {
  cursor: pointer;
  text-decoration: underline;
}
.hyperlink-text-nocolor:focus {
  outline: 0;
}

.background-gray {
  background: none repeat scroll 0 0 #a0a0a0;
  position: relative;
}

.background-gray-1 {
  background: none repeat scroll 0 0 #a9a9a9;
  position: relative;
}

.background-gray-2 {
  background: none repeat scroll 0 0 #b3b3b3;
  position: relative;
}

.background-gray-3 {
  background: none repeat scroll 0 0 #bcbcbc;
  position: relative;
}

.background-gray-4 {
  background: none repeat scroll 0 0 #c6c6c6;
  position: relative;
}

.background-gray-5 {
  background: none repeat scroll 0 0 #cfcfcf;
  position: relative;
}

.background-gray-6 {
  background: none repeat scroll 0 0 #d9d9d9;
  position: relative;
}

.background-gray-7 {
  background: none repeat scroll 0 0 #e2e2e2;
  position: relative;
}

.background-gray-8 {
  background: none repeat scroll 0 0 #ececec;
  position: relative;
}

.background-gray-9 {
  background: none repeat scroll 0 0 #f5f5f5;
  position: relative;
}

.nvd3 .nv-y .nv-axis .tick.zero line {
  stroke: #000; /* black line for the x axis */
}

.text-wont-wrap {
  white-space: pre;
}

.nvtooltip {
  .tooltip-wide-line-wrapper{
    width: 100%;
    padding: 5px;
  }
  .tooltip-stacked-area-wrapper {
    padding: 0 5px;
  }
  .tooltip-wide-line-wrapper.large{
    width: 100%;
  }
  .tooltip-stacked-area-wrapper {
    max-width: 50vw;

    @media (max-width: 1024px) {
      max-width: 70vw;
    }
  }
  .tooltip-wide-line-wrapper.large.noPercentage  {
    width: 360px;

    @media (max-width: 1024px) {
      width: 280px;
    }
  }
  .series-tooltip-stacked-area-wrapper {
    display: grid;
    grid-template-columns: repeat(1, 100%);
    margin-top: 5px;
  }

  .series-tooltip-wide-line-wrapper.series.large{
    grid-template-columns: repeat(2, 50%);
    display: grid;
  }

  .series-tooltip-wide-line-wrapper.series.heatmap.large{
    grid-template-columns: repeat(2, 50%);
    display: grid;

    @media screen and (max-width: 900px) {
      height: 100% !important;
      max-height: 100% !important;
      grid-template-columns: repeat(1, 1fr) !important;
    }
  }

  .series-tooltip-stacked-area-wrapper.series {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }

  .series-tooltip-wide-line-wrapper.series{
    margin: 5px 0 0;
  }

  .arrange-into-columns {
    display: grid;
    grid-template-columns: repeat(2, 50%);
    margin-top: 5px;
    @media (max-width: 1024px) {
      grid-template-columns: repeat(1, 100%);
    }
  }

  .arrange-into-columns.narrow {
    grid-template-columns: repeat(1, 100%);
  }

  .series-tooltip-wide-line,
  .series-tooltip-stacked-area,
  .series-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-right: 5px;
    justify-content: space-between;
    padding: 2px 0;
    overflow: hidden;
    min-width: calc(15px + 18ch + 15ch); 
  }

  .series-tooltip-wide-line-name-color,
  .series-tooltip-stacked-area-name-color,
  .series-item .name-color {
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    flex-flow: row nowrap;
  }

  .series-tooltip-stacked-area.total.large {
    grid-column: 2;

    @media (max-width: 1024px) {
      grid-column: 1;
    }
  }

  .series-tooltip-wide-line-color,
  .series-tooltip-stacked-area-color,
  .series-item .color{
    width: 12px;
    min-width: 12px;
    height: 12px;
    border-radius: 6px;
    margin-right: 5px;
    /* flex: 12px 0 0; */
  }

  .series-tooltip-wide-line-color.square,
  .series-tooltip-stacked-area-color.square{
    border-radius: 0px;
    border: 1px solid #999;
  }

  .series-tooltip-wide-line-name{
    margin-right: 5px;
    max-width: 220px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    @media (max-width: 1024px) {
      max-width: 120px;
    }
  }

  .series-tooltip-stacked-area-name,
  .series-item .name {
    margin-right: 5px;
    /* max-width: 120px; */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    /* flex: 100% 0 1; */
  }

  .series-tooltip-wide-line-value{
    padding: 0 15px;
    text-align: right;
  }

  .series-tooltip-stacked-area-value,
  .series-item .value {
    margin-right: 5px;
    text-align: right;
    flex: 15ch 1 0;
  }

  .series-tooltip-wide-line-value.bold,
  .series-tooltip-stacked-area-value.bold,
  .total .series-item {
    align-items: flex-end;
    justify-items: flex-end;
  }
  .bold {
    font-family: "AllianceNo2-SemiBold" !important;
    font-weight: 500 !important;
  }
}

.info-box-3 {
  height: 65px;
  margin-bottom: 20px; }
  .info-box-3 .icon {
    top: 7px;}
    .info-box-3 .icon i {
      font-size: 50px; }
    .info-box-3 .content .text {
      margin-top: 3px; }
    .info-box-3 .content .number {
      font-size: 22px; }
      .sidebar .menu .list a {
        border-top: var(--sidebar-border); }
        .sidebar .menu .list .ml-menu li.active a.toggled:not(.menu-toggle) {
          background-color: var(--sidebar-bg-color);
          color: var(--sidebar-color); }
          .sidebar .menu .list .ml-menu li.active a.toggled:not(.menu-toggle):before {
            content: var(--sidebar-node-selected); }

.irs-line {
  height: 6px;
}
.irs-bar {
  height: 6px; top: 25px;
  background-position: 0 -60px;
}

.irs-bar, .irs-bar-edge {
  background: #ed5565;
}
.irs-from, .irs-to, .irs-single {
  background: #ed5565;
} 

.irs-slider {
  background: none;
}

.irs-from::after, .irs-to::after, .irs-single::after {
  border-top-color: #ed5565;
}

.body {
  font-family: "Source Sans Pro",Calibri,Candara,Arial,sans-serif;
}

.borderless td, .borderless th {
  border: none;
}

.border-0 {
  border: 0px !important;
}

.border-1 {
  border: 1px solid red !important;
}

.cursor-default {
  cursor: default !important;
}

.color-red {
  color:rgba(255,0,0,.7);
}

.font-size-80 {
  font-size: 80px;
}

.font-size-14 {
  font-size: 14px;
}

.fform-control {
  border-radius:2px !important;
/*  border:1px solid #e5e5e5;*/
  padding:15px;
  margin-bottom:15px;
/*  height:56px;*/
}

.form-check-inline {
  display: inline-block !important;
}

.login-page .login-box a {
  color: var(--link-color) !important;
}

.logo-login {
  padding: 25px;
  margin-bottom: 25px;
}

.margin-0 {
  margin: 0px !important;
}

.margin-20 {
  margin: 20px !important;
}

.margin-b-0 {
  margin-bottom: 0px !important;
}

.margin-b-5 {
  margin-bottom: 5px !important;
}

.margin-b-10 {
  margin-bottom: 10px !important;
}

.margin-b-15 {
  margin-bottom: 15px !important;
}

.margin-b-20 {
  margin-bottom: 20px !important;
}

.margin-b-30 {
  margin-bottom: 30px !important;
}

.margin-b-40 {
  margin-bottom: 40px !important;
}

.margin-t-0 {
  margin-top: 0px !important;
}

.margin-t-5 {
  margin-top: 5px !important;
}

.margin-t-8 {
  margin-top: 8px !important;
}

.margin-t-10 {
  margin-top: 10px !important;
}

.margin-t-15 {
  margin-top: 15px !important;
}

.margin-t-20 {
  margin-top: 20px !important;
}

.margin-t-25 {
  margin-top: 25px !important;
}

.margin-t-30 {
  margin-top: 30px !important;
}

.margin-t-35 {
  margin-top: 35px !important;
}

.margin-l-0 {
  margin-left: 0px !important;
}

.margin-l-5 {
  margin-left: 5px !important;
}

.margin-l-10 {
  margin-left: 10px !important;
}

.margin-l-15 {
  margin-left: 15px !important;
}

.margin-l-20 {
  margin-left: 20px !important;
}

.margin-l-25 {
  margin-left: 25px !important;
}

.margin-l-30 {
  margin-left: 30px !important;
}

.margin-r-5 {
  margin-right: 5px !important;
}

.margin-r-10 {
  margin-right: 10px !important;
}

.margin-r-15 {
  margin-right: 15px !important;
}

.margin-r-20 {
  margin-right: 20px !important;
}

.margin-r-30 {
  margin-right: 30px !important;
}

.min-width-0 {
  min-width: 0px !important;
}

.min-width-45 {
  min-width: 45px !important;
}

.padding-0 {
  padding: 0px !important;
}

.padding-1 {
  padding: 1px !important;
}

.padding-5 {
  padding: 5px;
}


.padding-10 {
  padding: 10px;
}

.padding-b-0 {
  padding-bottom: 0px;
}

.padding-b-5 {
  padding-bottom: 5px;
}

.padding-b-10 {
  padding-bottom: 10px;
}

.padding-b-20 {
  padding-bottom: 20px;
}

.padding-b-100 {
  padding-bottom: 100px;
}

.padding-l-0 {
  padding-left: 0px;
}

.padding-l-1 {
  padding-left: 1px;
}

.padding-l-5 {
  padding-left: 5px;
}

.padding-l-10 {
  padding-left: 10px;
}

.padding-l-15 {
  padding-left: 15px;
}

.padding-l-20 {
  padding-left: 20px;
}

.padding-l-30 {
  padding-left: 30px;
}


.padding-r-0 {
  padding-right: 0px;
}

.padding-r-1 {
  padding-right: 1px;
}

.padding-r-5 {
  padding-right: 5px;
}

.padding-r-10 {
  padding-right: 10px;
}

.padding-r-12 {
  padding-right: 12px;
}

.padding-r-15 {
  padding-right: 15px;
}

.padding-r-30 {
  padding-right: 30px;
}

.padding-r-50 {
  padding-right: 50px;
}

.padding-t-0 {
  padding-top: 0px !important;
}

.padding-t-5 {
  padding-top: 5px !important;
}

.padding-t-8 {
  padding-top: 8px !important;
}

.padding-t-10 {
  padding-top: 10px !important;
}

.padding-t-20 {
  padding-top: 20px !important;
}

.padding-t-30 {
  padding-top: 30px !important;
}

.padding-t-40 {
  padding-top: 40px !important;
}

.padding-t-50 {
  padding-top: 50px !important;
}

.padding-t-100 {
  padding-top: 100px !important;
}

.vertical-center {
  position: relative;
  top: 50%;
  transform: translateY(-15%);
  //transform: translateY(-50%);
}

.vertical-expand {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: auto;
}

.vertical-text {
  transform: rotate(-90deg);
  transform-origin: right, top;
  -ms-transform: rotate(-90deg);
  -ms-transform-origin:right, top;
  -webkit-transform: rotate(-90deg);
  -webkit-transform-origin:right, top;
/*  float: left;*/
  position: absolute; 
}

.vertical-text {
  width:1px;
  word-wrap: break-word;
  white-space:pre-wrap; 
}

.width-45 {
  width: 45px !important;
}

.width-85{
  width: 85%;
}

.width-100{
  width: 100%;
}

.sqr-outside {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  margin-left: 0px !important;
  margin-right: 0px !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  padding-left: 1px !important;
  padding-right: 1px !important;
}

.sqr-inside {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  margin-left: 0px !important;
  margin-right: 0px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 5px !important;
  padding-right: 2px !important;
  background-color: #FAFAFA;
}

/*
 * Navigationbar specific selectors.
 */
#navigationBar .glyphicon {
  padding-top: 8px;
  margin-bottom: 10px;
  margin-top: 10px;
}

#navigationBar .navbar-brand {
  padding: 0px 0px;
  padding-left: 5px;
}

#navigationBar .navbar-brand img {
  height: 100%;
}
#navigationBar .navbar-brand #logoImgDark {
  display: none;
}

#navigationBar .navbar,
#navigationBar .navbar .navbar-toggle,
#navigationBar .nav li a {
  background-color: var(--navbar-bg-color) !important;
  color: var(--navbar-color) !important;
}

#navigationBar .nav li ul li a,
#navigationBar .bars {
  background-color: #fff !important;
  color: #747474 !important;
}

#navigationBar .material-icons {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

.navbar .dropdown-menu {
  margin-top: 0px !important;
}

.navbar-static-side {
  overflow-y: auto; /Show the scrollbar/
}

/*
 * Sidebar specific selectors.
 */
#sidebars .glyphicon {
  color: #747474;
  margin: 7px 0px 0px;
  padding-right: 8px;
}

#leftsidebar.sidebar div.menu {
  overflow-x: hidden !important;
};

.sidebar .user-info {
  color: #747474;
  padding-top: 60px;
  background: url("../images/user-background.png") no-repeat no-repeat;
  background-color: #F0F0F0;
}

.sidebar .user-info .glyphicon {
  color: #747474;
}

.sidebar .ml-menu li:not(.active) a span {
  color: #747474 !important;
}

/*
 * Dashboard specific selectors.
 */
#viewDashboard h2 i.material-icons {
  font-size: 20px;
}

#viewDashboard .header {
  padding-top: 10px;
  padding-bottom: 10px;
}

#viewDashboard .alarms-container {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 15px;
}

#viewDashboard .alarms > div {
  padding-left: 2px;
  padding-right: 2px;
  padding: 4px;
}

#viewDashboard .progress {
  height: 8px;
}

#viewDashboard .info-box-3 {
  margin: 0px;
}

#viewDashboard .alarms div .text {
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

#viewDashboard div.body.status {
  padding-bottom: 14px;
}

#viewDashboard .info-box-3 .number {
  font-size: 16px;
}

#viewDashboard .card .body .row div {
  margin-bottom: 1px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
#viewDashboard #dashboardKPIs {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
}
#viewDashboard #dashboardKPIs > div.hide-if-experimental {
  flex: 90px 1 0;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}


/*
 * BTA configuration specific selectors.
 */
#viewBtaConfig tbody tr td {
  vertical-align: middle;
}

/*
 * BTA blacklist view.
 */
#viewBtaBlacklist tbody tr td {
  vertical-align: middle;
}

/*
 * BTA Statistics Speed specific selectors.
 */
#viewBtaStatsSp svg {
  height: 200px;
}

/*
 * Interface Overview specific selectors.
 */
#viewIfaceOverview tbody tr td {
  vertical-align: middle;
}

/*
 * Interface IP specific selectors.
 */
#viewIfaceIpAddr tbody tr td,
#viewIfaceIpRoute tbody tr td {
  vertical-align: middle;
}

/*
** Material icons color
*/
.actions-icon-color,
#viewBtaConfig i.material-icons,
#viewBtaBlacklist i.material-icons,
#viewIfaceIpAddr i.material-icons,
#viewIfaceIpAddr a i.material-icons,
#viewIfaceIpRoute i.material-icons,
#viewIfaceIpRoute a i.material-icons,
#viewIfaceOverview i.material-icons,
#viewIfaceOverview a i.material-icons,
#viewIfFire a i.material-icons,
#viewIfFire i.material-icons,
#viewSoftware i.material-icons,
#viewSysCpu i.material-icons,
#viewSysNtp i.material-icons,
#viewUsers i.material-icons,
#viewWireConf i.material-icons,
#viewProfTime i.material-icons,
table.table-striped a i.material-icons {
  color: #747474;
}
table.table-striped a i.material-icons:hover {
  color: #000000;
}

/*
 * Software specific selectors.
 */
#viewSoftware tbody tr td {
  vertical-align: middle;
}

/*
 * Sytem/NTP specific selectors.
 */
#viewSysNtp tbody tr td {
  vertical-align: middle;
}

/*
 * Sytem/CPU specific selectors.
 */
#viewSysCpu div.progress {
  margin-bottom: 5px !important;
}

/*
 * Users specific selectors.
 */
#viewUsers tbody tr td {
  vertical-align: middle;
}

#dbHelpBtn i.material-icons, #dbReloadBtn i.material-icons {
  color: #949494;
}

#dbHelpBtn i.material-icons:hover, #dbReloadBtn i.material-icons:hover {
  color: #444444;
}

.modal-backdrop.in {
  filter: alpha(opacity=25);
  opacity: .25;
}

.valign-bottom {
  vertical-align: bottom;
}

.valign-bottom-div {
  display: flex;
  align-items: flex-end;
}

.valign-icon {
  vertical-align: bottom;
}

.valign-middle {
  vertical-align: middle;
}

.valign-middle-div {
  display: flex;
  align-items: center;
}

.valign-top {
  vertical-align: top;
}

.modal-scroll {
  max-height: 80vh;
  overflow-y: auto;
}

.progressbar {
  width: 100%;
  height: 6px;
}

.color-label {
  border-radius: 6px;
  padding: 1px 8px;
  width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.color-label-number {
  border-radius: 6px;
  padding: 1px 8px;
}


.sw-input {
  display: none ;
}
.sw-label {
  position: relative;
  display: inline-block;
  //min-width: 112px;
  min-width: 90px;
  cursor: pointer;
  font-weight: 600;
  text-align: left;
  //margin: 16px;
  margin: 0;
  //padding: 16px 0 16px 44px;
  padding: 4px 0 4px 44px;
  color: #707070;
}
.sw-label:before, .sw-label:after {
  content: "";
  position: absolute;
  margin: 0;
  outline: 0;
  top: 50%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.sw-label:before {
  left: 1px;
  width: 34px;
  height: 14px;
  background-color: #9E9E9E;
  border-radius: 8px;
}
.sw-label:after {
  left: 0;
  width: 20px;
  height: 20px;
  background-color: #FAFAFA;
  border-radius: 50%;
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
}
.sw-label .toggle--on {
  display: none;
}
.sw-label .toggle--off {
  display: inline-block;
}
.sw-input:checked + .sw-label:before {
  background-color: #A5D6A7;
}
.sw-input:checked + .sw-label:after {
  background-color: #4CAF50;
  -ms-transform: translate(80%, -50%);
  -webkit-transform: translate(80%, -50%);
  transform: translate(80%, -50%);
}
.sw-input:checked + .sw-label .toggle--on {
  display: inline-block;
}
.sw-input:checked + .sw-label .toggle--off {
  display: none;
}

/* Literal cli output */
.literal-CLI-output {
  display: inline-block;
  text-align: left;
}
/* Modals error message */
.modal-err-msg {
  text-align: center;
  overflow: auto;
}

div.tooltip {
    position: absolute;
    text-align: center;
    //width: 90px;
    height: 25px;
    padding: 4px 4px 0px 4px;
    font: 10px sans-serif;
    background: #CCC;
    //border: 10px;
    //border-color: black;
    border-radius: 2px;
    pointer-events: none;
}

.select-shadow {
  background-image: linear-gradient(#eee, #fff);
}

.unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.dos-interval {
}
.untooltip {
    position: absolute;
    background: var(--Background-Modal, rgba(0, 0, 0, 0.75));
    color: var(--Text-Modal, #fff) !important;
    border: 1px solid rgba(0,0,0,0.5);
    border-radius: 4px;
    pointer-events: none;
}
.untooltip.with-transitions, .with-transitions .untooltip {
    transition: opacity 50ms linear;
    transition-delay: 200ms;
}
.untooltip span {
    display: inline-block;
    margin-top: 3px;
    margin-left: 8px;
}
.untooltip table {
    margin: 6px;
    border-spacing:0;
}
.untooltip table td {
    padding: 2px 3px 0px 2px;
    vertical-align: middle;
}

.db-counters {
  //white-space: pre;
  //font-family: courier;
  //font-size: 10px;
}

.bg-yellow-bqn {
  background-color: #f2db14 !important;
  color: #fff; }
  .bg-yellow-bqn .content .text,
  .bg-yellow-bqn .content .number {
    color: #fff !important;
}

.table thead {
  background-color: var(--thead-bg-color) !important;
  color: var(--thead-color) !important;
}

.align-contents-middle {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.align-contents-middle > * {
  margin: 0 0.1em;
}

.flex-panel-row {
  display: flex;
  flex-direction: row;
}

.flex-panel-row-sidebar, .flex-panel-row-content {
  display:flex;
}

.flex-panel-row-sidebar {
  flex-direction: column;
  display:flex;
  min-width: 10vw;
}
.flex-panel-row-content {
  display: flex;
  flex: 1;
  width: 100%;
  min-height: 50vh;
}
.flex-panel-row-content.center-contents {
  flex-wrap: nowrap;
  justify-content: center;
}
.flex-panel-row-content.align-contents-right {
  flex-wrap: nowrap;
  justify-content: end;
}
.center-me {
  margin: auto;
}

.list-group-item.bottom {
  margin-top: auto;
}

.inline-icon,
.inline-icon-right {
  vertical-align: bottom;
  font-size: 18px !important;
  padding
}
.inline-icon-right {
  float: right;
  position: relative;
  display: inline-block;
}

.list-group-item, .action{
  cursor: pointer;
}
.action > i {
  color: #555;
}
.action.disabled > i {
  color: #c5c5c5;
}

.list-group-item.selected {
  background-color: var(--brand-primary) ;
  color: var(--color-over-brand-primary);
}
.btn-group.disabled {
  box-shadow: none;
}
.list-group-item.deleted {
  opacity: 0.6;
}
button + .profiles,
button + .ranges,
button + #profIfTbl,
button + #profVlanTbl,
button + #profPoliciesRateTbl,
button + #profIntTbl,
button + #profAccTbl,
button + #profThrouTbl,
button + #profDpiTbl{
  margin-top: 1.5em;
}

.control.modal-footer {
  border-top: none;
}
.ranges.table thead tr th {
  text-transform: uppercase;
}
.ranges.table thead tr th,
.ranges.table tbody tr td {
  text-align: center;
  vertical-align: middle;
}
button.btn.btn-circle.borderless {
  background-color: transparent !important;
  border: none;
}
.context-menu a {
  cursor: pointer;
}
.context-menu a.disabled {
  cursor: not-allowed;
  color: #aaa;
}
.context-menu a:hover.disabled {
  cursor: not-allowed;
  color: #aaa;
}

@media print{
  .context-menu{
    display: none !important;
  }
}

.form-line.inline input {
  width: auto;
  margin-bottom: none;
}
.modal-err-msg.align-left {
  margin-left: 2em;


  float: left;
}

.modal-err-msg.text-align-left h5{
  text-align: left;
}

.from-group.nowrap,
.input-group .form-line.inline.nowrap,
.btn-group.nowrap, .btn-toolbar.nowrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

.input-group.spinner {
  margin-bottom: 0;
}

/* Chrome, Safari, Edge, Opera */
.spinner input::-webkit-outer-spin-button,
.spinner input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.spinner input[type=number] {
  -moz-appearance: textfield;
}
.spinner span a {
  cursor: pointer;
}

#leftsidebar.sidebar .menu .list .ml-menu span {
  margin-left: 0 !important;
}

#leftsidebar.sidebar .menu-theme {
  display: none;
}

table.profiles {
    width: 100%;
    /* width: 0; */
}
table.profiles thead th {
  text-transform: uppercase;
}

.input-group.align-center .btn-toolbar.nowrap,
td.align-center .btn-toolbar.nowrap {
  align-items: center;
  align-content: center;
  justify-content: center;
  margin: auto;
}

.input-group.align-top {
  align-items: flex-start;
}

.table-class-striped > tbody > tr.odd {
  background-color: #f9f9f9;
}

.table-class-striped > tbody > tr.odd td,
.table-class-striped > tbody > tr.even td {
  border-top: 1px solid #eee;
  border-bottom: 1px solid transparent;
}

.table-class-striped > tbody > tr.odd.has-many td,
.table-class-striped > tbody > tr.even.has-many td{
  border-bottom: 1px solid transparent;
}
.table-class-striped > tbody > tr.odd.has-many td:first-child,
.table-class-striped > tbody > tr.even.has-many td:first-child{
  border-bottom: 1px solid #eee;
}

.table-class-striped > tbody > tr.odd.merge-top td,
.table-class-striped > tbody > tr.even.merge-top td{
  border-top: 1px solid transparent;
}

.table-class-striped > tbody > tr.odd.merge-top:last-child td,
.table-class-striped > tbody > tr.even.merge-top:last-child td{
  border-bottom: 1px solid #eee;
}
.btn.shadow-none {
  box-shadow: none !important;
}

#dpiStatsTt.inspectable-categories .nvd3.nv-pie path.enabled {
  cursor: pointer;
}

#dpiStatsVolumeCategoryGraph {
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}

#dpiStatsVolumeCategoryGraph > canvas {
  max-height: 30vh;
}

#subsStatusDetailPolicyRate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.table td.truncate {
  overflow: hidden;
  white-space: nowrap;
  word-wrap:break-word;
  text-overflow: ellipsis;
  max-width: 40vw;
}

.icon-label {
  position: absolute;
  width: 20px;
  height: 18px;
}

.label-icon {
  position: relative;
  padding-left: 30px;
  padding-top: 2px;
  width: auto;
  white-space: nowrap;
}

.table .action.disabled a i.material-icons{
  color: #c4c4c4;
  cursor: not-allowed;
}

.filter-selector-wrapper select.filter-selector{
    width: 16ch;
    margin-right: 1ch;
}
.form-line.filter-selector-wrapper{
    border-bottom: none !important;
}
.form-line.filter-selector-wrapper input{
    border-bottom: 1px solid #ddd;
}

.filter-selector-wrapper input[for]{
    display: flex;
    flex: 10ch 1 0;
}
.form-line.filter-selector-wrapper {
    display: flex;
    flex-flow: row wrap;
    width: auto;
}
.form-line.filter-selector-wrapper select{
    flex: 10ch 0 0;
}

.form-line.filter-selector-wrapper .input-group-addon{
    width: auto;
}

.form-line.filter-selector-wrapper .material-icons{
    width: 1.5em;
}

.input-group.centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.input-group.centered > * {
    width: auto;
}
.dataTables_filter .export-icon {
  line-height: 1.2em;
  vertical-align: middle;
  color: rgb(51, 51, 51);
  margin-right: 1em;
}

.dataTables_filter .export-label {
  font-weight: bold;
}

.nowrap{
  white-space: nowrap;
}

.clearLeft{
  clear:left;
}

@media print {
  .container-fluid {
    max-width: 18cm;
    /* padding: 0 1cm; */
  }
  .modal.fade, #aboutHelp {
    display: none;
  }
  #navigationBar,  #sectSidebars { display: none !important; }
  section.content {margin: 1em; }
  .card {page-break-after: always;box-shadow: none !important;}
}

.input-group input[type="number"] {
    border: none;
    box-shadow: none;
    padding-left: 0;
    text-align: right;
}
.input-group input[type="number"].no-arrows::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.input-group input[type="number"].left {
  text-align: left;
  padding-left: 5px;
}

/* Firefox */
.input-group input[type="number"].no-arrows {
  -moz-appearance: textfield;
}

td.cell-with-icon-left{
  position: relative !important;
  padding-left: 30px !important;
}

td.cell-with-icon-left i{
  position: absolute;
  left: 0;
}

td.col-red *{
  color: #F44336 !important; 
}

.td-interface-with-icon{
  position:relative;
}

.td-interface-with-icon a{
  position: absolute;
    top: 5px;
    margin-left: 15px;
}

td.align-right {
  text-align:right;
}

@media print{
  .no-print{
    display: none !important;
  }
}

body.no-transitions * {
  transition: none !important;
}

.spin-up, .spin-down{
  text-decoration: none;
  height: 10px;
  width: 10px;
  overflow: hidden;
  display: block;
  text-align: center;
  color: #999;
}

.spin-up span a, .spin-down span a{
  cursor: pointer;
}

.spin-up .glyphicon, .spin-down .glyphicon{
  font-size: 10px;
  top: -2px;
}

.transparent{
  opacity: 0
}

.hide-profiles-no-first-entries tr:not(:first-child) td:not(.first-entry):nth-child(1){
  color: transparent;
}

.hide-profiles-no-first-entries tr:not(:first-child) td:not(.first-entry):nth-child(2){
  color: transparent;
}

.hide-profiles-no-first-entries tr:not(:first-child) td:not(.first-entry):nth-child(4) a{
  display: none;
}

body.profile-operator .hidden-to-operators,
body.profile-operator .hides-content-to-operators * {
  display: none !important;
  opacity: 0;
}

body.profile-operator-with-hidden-rate .hidden-to-operators-with-hidden-rate,
body.profile-operator-with-hidden-rate .hides-content-to-operators-with-hidden-rate * {
  display: none !important;
  opacity: 0;
}

.masked-secret{
  visibility: hidden;
}
.masked-secret.ready{
  visibility: visible;
  line-height: 1em;
  vertical-align: middle;
  font-family: monospace;
}
.masked-secret.ready a {
  margin-left: 10px;
  vertical-align: middle;
  line-height: 14px;
  cursor: pointer;
}
.masked-secret.ready a i {
  font-size: 18px;
}
.masked-secret.ready a:hover {
  text-decoration: none;
}

.block-header h2{
  text-transform: uppercase;
}
.header .title{
  text-transform: uppercase;
}
.block-header .title.case-sensitive,
.header .title.case-sensitive,
.block-header .title .case-sensitive,
.header .title .case-sensitive{
  text-transform: initial;
}

@media (max-width: 768px) {
  .small-screen-no-top-margin {
    margin-top: 0px !important;
  }
}
.historical-metrics .subtitle{
  width: 100%;
  text-align: center;
}

.card .body .historical-metrics-controls {
  margin-top: -55px;
  justify-content: flex-start;
  flex-direction: row;

  @media (max-width: 650px) {
    margin-top: -10px;
    margin-bottom: 10px;
    display: flex;
    align-items: flex-end;
  }
}

.card .body .historical-metrics-header {
  justify-content: center;
}

.card .body .historical-metrics-header .context-menu {
  position: absolute;
  right: 20px;
}

.subtitle-controls {
  font-size: 18px;
  font-weight: 500;
  display: flex;
  width: 100%;
}

.card .subscriber-flows-header-table {
  display: block;
  text-align: center;
  position: relative;
}

.card .subscriber-flows-header-table .header-dropdown {
  position: absolute;
  right:0;
  top: 0px;
}


.card .subscriber-flows-header-table .header-dropdown li {
  list-style-type: none;
}

.card .subscriber-flows-header-table .header-dropdown i {
  font-size: 20px;
}

.has-rounded-corners .nv-multibarHorizontal .nv-group {
  fill-opacity: 1 !important;
}

.nvd3.nv-wrap.nv-multiBarHorizontalChart .nv-group {
  fill-opacity: 1 !important;
}

#subsGroupsReportContainer .time-evolution-metrics,
#subscribersReportContainer .time-evolution-metrics {
  padding:0;
}

.time-evolution-metrics > div {
  border: none;
  padding: 0;
  margin: 20px 0;
  border-radius: 0px;
}

.time-evolution-metrics .input-group.sw-input {
  justify-content: flex-start;
}

.time-evolution-metrics .input-group.sw-input > span {
  margin-right: 10px;
  font-weight: bold;
  font-size: 14px;
}

.latency-charts .latency-charts-header {
  display: block;
}

.card .body .dpi-chart-container .dpi-live-chart-header {
  display: none;
}


.modal-header h4.modal-title.uppercase {
  text-transform: uppercase;
}

#poliFlowName{
  max-width: 100%;
}

.row-wrap{
  display: flex;
  max-width: 100%;
  justify-content: space-between;
  flex-wrap: wrap;
}

.form-line input{
  min-width: 50px
}

.kpi-container{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 5px;
}

.kpi-item{
  width: 130px;
}

.icon-expand-row{
  position: absolute;
  margin-left: 5px;
  top: -1px;
}

table .grouping {
  cursor: pointer;
  position: relative;
  display: block;
}
table .grouping, 
table .grouping > span {
  line-height: 18px;
  vertical-align: top;
}
table .grouping .icon-collapse-row {
  transform: rotate(0deg);
  transition: transform .5s ease-in-out;
}
table .grouping.collapsed .icon-collapse-row {
  transform: rotate(180deg);
  transition: transform .5s ease-in-out;
}
table .grouping + .entries {
  padding: 0;
  margin: 0;
  overflow: hidden;
  list-style: none;
  max-height: 1000px;
  transition: max-height 0.5s ease-in-out;
}
table .grouping + .entries li {
  padding: 0;
  line-height: 30px;
  vertical-align: middle;
}
table .grouping.collapsed + .entries {
  max-height: 0px;
  transition: max-height 0.5s ease-in-out;
}
table .grouping.along {
  opacity: 0;
}

.btn-group>button.labour + button.btn.waves-effect.weekend {
    margin-left: 5px;
}

.title-with-nav{
  display: flex;
  align-items: center;
  width: 100%;
}

.back-button{
  width: 35px;
  height: 35px;
  background: var(--color-grey200);
  border-radius: 5px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;

  i{
    color: var(--color-grey900);
    opacity: 0.5;
  }
}
