@font-face {
    font-family: "NHaas";
    src: url("../images/NHaasGroteskDSPro-65Md.otf");
}
/* Custom Properties */
:root {
    /* The following styles are linked to our current branding colours */

    /* RGB values for main accent color, used for rgba styles */    
    --accent-r: 145;
    --accent-g: 0;
    --accent-b: 72;

    /* The main portal accent colour used on things like buttons, borders etc */
    --accent-color: #250e62;
    /* Accented text (dialog headers, linked text, tabs etc) */
    /* This is currently the same as the accent colour */
    --text-color: #250e62;
    
    /* Used for various backgrounds, e.g. the alert info background */
    --accent-color-light: #6750A4;
    /* used for alert info text */
    --accent-color-medium-light: #8473b3;
    /* Used on the calendar current month */
    --accent-color-extra-light: #b0aac0;
    /* Focus hover colour, buttons etc */
    --accent-color-hover-focus: #910048;
    /* Focus hover colour, disbaled buttons etc */
    --accent-color-hover-disabled-focus: #944f71;

    /* The search inout text box background */
    --bg-tinted-textbox: #dedae9;

    /* Used on the left hand menu headers (reports sections) */
    --nav-header: #dedae9;

    /* Text in the top header */
    --header-text-color: var(--text-color);
    
    /* Occupied periods on schedules*/
    --occupied-periods: #D9DCEE;

    /* Breadcrumb */
    --breadcrumb-background: #FDF7FF;
    --breadcrumb-text: #6750A4;
    --breadcrumb-active-text: #160041;

     /* header colours */
    --nav-btn-background-color: none;
    --nav-btn-background-color-hover: rgba(10,10,10,.2);
    --navbar-border: none;
    --nav-text-color: var(-text-color);
    --navbar-shadow: rgb(50,50,50);

    --dropdown-btn-background: #FFF;
    --dropdown-btn-color: #250e62;
    /* This appears next to drop-down buttons so should look the same*/
    --report-title-background: #dedae9;

    --tab-active-background: #fff;
    --tab-border: 1px solid #ddd;
    --tab-color: #6750A4;
    --tab-color-active: var(--text-color);

    --dr-active-background: #ffc72c;     
    --dr-active-color: #111;
    --dr-pending-background: #008B94; 
    --dr-pending-color: #eee;

    --brand-purple: #250e62;
    --red-brand: #e3002b;
    --red-medium-brand: #DF4E66;
    --red-light-brand: #fca6B9;
    --green-brand: #215732;
    --orange-brand: #fa4616;
    --blue-brand:#06038d;
    --yellow-brand:#ffc72c;
    --yellow-light-brand: #FFD96E;

    /* User filter buttons */
    --user-filters-background: #fff;

    --checkbox-color: #63666a;
        

    /* bootstrap 5 */
    --bs-body-font-size: 14px;
    --bs-body-line-height: 1.3;    

    --bs-font-sans-serif: "Helvetica Neue",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}

.tooltip {
    --bs-tooltip-max-width: 260px;
}

.tooltip-inner br {
    display: block;
    content: "";
    margin-top: 6px;
}

iframe {
    border: 2px;
}

.dropdown-menu {
    --bs-dropdown-link-hover-color: var(--accent-color-hover-focus);
}
.dropdown-menu .divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5;    
}

input[type=checkbox] input[type=radio] {
    color: var(--checkbox-color);
}
input {
    accent-color: var(--checkbox-color);
}

.form-control::placeholder {
    color:#999;
}

.dashWidgetMainFont {
    font-family: 'NHaas';
    font-size: x-large;
}
.dashWidgetSmallFont{
    font-size: x-small;
}

a, .btn-link {
    color: #6750A4;
}
.navLink a, .btn-link {
    color: #6750A4;
}
.alert-info a {
    color: #fff;
}
.alert.alert-info .btn-link {
    color: #fff;
}
.alert.alert-danger .btn-link {
    color: #fff;
}
.breadcrumb .btn-group.dropdown, .nav .btn-group.dropdown, .nav .btn-dialog-secondary 
.nav .dropdown .btn {
    background: none;
}

.nav-tabs {
    border-bottom: var(--tab-border);
}

.nav-tabs .nav-link.active {
    box-shadow: 1px -1px 1px #ddd;
}

/* bootstrap 5 */

a {
    text-decoration: none;
}

.breadcrumb {
    color: #eee;
    --bs-breadcrumb-bg: var(--brand-purple);
    --bs-breadcrumb-border-radius: 4px;
    --bs-breadcrumb-item-active-color: white;
    --bs-breadcrumb-padding-x: 8px;
    --bs-breadcrumb-item-padding-x: 2px;
    width: moz-fit-content;
    width: fit-content;
}

.breadcrumb a {
    color: white;
}

.breadcrumb-item {
    margin: auto;
}

a:hover {
    color: var(--accent-color-hover-focus);
    text-decoration: underline;
}

.btn:hover {
    --bs-btn-hover-color: #333;
    --bs-btn-hover-bg: #ddd;
}

.h4, h4 {
    font-size: 18px;
}

h5 {
    font-weight: 400;
    font-size: medium;
}

.nav-tabs .nav-link:hover {
    background-color: #ddd;
}

/* Hide the new bootstrap caret which is defined as an after, for a breadcrumb we will do it all differently */
.dropdown-toggle::after {
    display: none;
}

.btn-outline-secondary {
    --bs-btn-border-color: #ddd;
}

.navbar {
    --bs-navbar-toggler-font-size: 1rem;
    --bs-navbar-toggler-focus-width: .1rem;
}

.toggler-grid {
    padding: 8px;
}

.breadcrumb-container {
    display: grid;
    grid-template-columns: 2fr 1fr;
}

.breadcrumb-container-left {
    display: flex;
    margin-left: -12px;
}

.breadcrumb-container-left>a {
    padding-top: 11px;
}

.breadcrumb {
    --bs-breadcrumb-bg: var(--brand-purple);
    --bs-breadcrumb-border-radius: 4px;
    --bs-breadcrumb-item-active-color: white;
    --bs-breadcrumb-padding-x: 8px;
    width: moz-fit-content;
    width: fit-content;
    --bs-breadcrumb-padding-y: 8px;
}

.breadcrumb .btn:focus {
    border: 0;
}

.btn:focus-visible {
    color: #333;
    background-color: inherit;
}

.btn {
    --bs-btn-font-size: 14px;
    --bs-btn-hover-color: #ddd;
    --bs-btn-hover-bg: #c2d3db;
}

/* No text-left/right in bootstrap 5 */

.text-left {
    text-align: left;
}

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

/* No well in bootstrap 5 */
.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05)
}

.tooltip {
    position: absolute;
}

.tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid
}

.tooltip.top {
    padding: 5px 0;
    margin-top: -3px
}

.tooltip.right {
    padding: 0 5px;
    margin-left: 3px
}

.tooltip.bottom {
    padding: 5px 0;
    margin-top: 3px
}

.tooltip.left {
    padding: 0 5px;
    margin-left: -3px
}

.tooltip.top .tooltip-arrow {
    bottom: 0;
    left: 50%;
    margin-left: -5px;
    border-width: 5px 5px 0;
    border-top-color: #000
}

.tooltip.right .tooltip-arrow {
    top: 50%;
    left: 0;
    margin-top: -5px;
    border-width: 5px 5px 5px 0;
    border-right-color: #000
}

.tooltip.left .tooltip-arrow {
    top: 50%;
    right: 0;
    margin-top: -5px;
    border-width: 5px 0 5px 5px;
    border-left-color: #000
}

.tooltip.bottom .tooltip-arrow {
    top: 0;
    left: 50%;
    margin-left: -5px;
    border-width: 0 5px 5px;
    border-bottom-color: #000
}

.form-check {
    margin-top: 8px;
    margin-bottom: 8px;
}
/* end of bootstrap 5 */

.breadcrumb-item, .breadcrumb-item > a {
    color: white;
}

.h4, h4 {
    font-size: 18px;
}

.report-dropdown .cobalt-droplinks button {
    border: 1px solid #ddd;
    padding: 6px 8px;
    margin-bottom: 5px;
}

.dropdown-menu {
    --bs-dropdown-padding-y: 4px;
    --bs-dropdown-font-size: 14px;
    --bs-dropdown-border-radius: 2px;
    box-shadow: 0px 2px 3px 0px #999;
}

.dropdown ul.dropdown-menu-right {
    right: 0;
}

.navbar {
    display: inline-block;
}

/* end of bootstrap 5 */

label {
    font-weight: 600;
}

.nav>li>a:focus, .nav>li>a:hover {
    text-decoration: none;
}

.navLink a:hover {
    color: var(--nav-text-color);
}

.jumbotron {
    background-color: var(--breadcrumb-background) ;
}

.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {
    background-color: var(--tab-active-background);
    color: var(--tab-color-active);
    border: var(--tab-border);
    border-bottom-color: transparent;
}

.nav-tabs>li>a {
    color: var(--tab-color);
}

.breadcrumb a:hover, .btn-link:hover {
    color: var(--accent-color-hover-focus);
    text-decoration: underline;
}
.breadcrumb .btn {
    font-weight: 400;
}

/* Dialog styles */

.md-dialog {
    position: absolute;
    z-index: 80;
    /** Center the dialog. */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 260px;
    min-height: 100px;
    background-color: white;
    border: 1px solid black;
    box-shadow: 0 4px 4px;
    padding: 16px;
    max-height: calc(95vh);
    overflow-y: auto;
}

@media (prefers-reduced-motion: no-preference) {
    .md-dialog {
        -webkit-animation: dialog-animation .3s;
        -moz-animation: dialog-animation .3s;
        -o-animation: dialog-animation .3s;
        animation: dialog-animation .3s;
    }
}

@media (min-width:450px) {
    .md-dialog {
        width: 420px;
    }
}

@media (min-width:768px) {
    .md-dialog {
        width: 620px;
    }
}

.md-dialog-weather {
    margin-top: 20px!important;
}

@media (min-width:768px) {
    .md-dialog.md-dialog-weather {
        width: 580px;
    }
}

.md-dialog h4 {
    color: var(--text-color);
}

.md-dialog h4 small {
    color: var(--text-color);
}

.md-dialog h5 {
    color: var(--text-color);
}

.md-dialog .md-alert-detail {
    max-height: 240px;
    overflow: auto;
}

.md-dialog-system {
    z-index: 90;
}

.md-dialog-content {
    max-height: 90%;
}

.md-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.12);
    z-index: 10;
}

.md-backdrop-system {
    z-index: 90!important;
}

.cobalt-modal-body {
    /* overflow: auto; /*
    padding-left: 2px;
    padding-top: 1px;
    /* margin-bottom: 36px; */
    /* to allow box-shadows to show at the bottom */
    padding-bottom: 6px;
}

.md-dialog.md-dialog-noScroll {
    max-height: none;
    overflow-y: visible;
    top: max(50%, 320px);
}

@-webkit-keyframes dialog-animation {
    0% {
        opacity: .1;
        top: 0%;
    }
    100% {
        opacity: 1;
        top: 50%;
    }
}

@-moz-keyframes dialog-animation {
    0% {
        opacity: .1;
        top: 0%;
    }
    100% {
        opacity: 1;
        top: 50%;
    }
}

@-o-keyframes dialog-animation {
    0% {
        opacity: .1;
        top: 0px;
    }
    100% {
        opacity: 1;
        top: 50%;
    }
}

@keyframes dialog-animation {
    0% {
        opacity: .1;
        top: 0%;
    }
    100% {
        opacity: 1;
        top: 50%;
    }
}


/* End of dialog styles */

.swarm-logo {
    width: 171px;
    height: 28px;
    margin: 2px 4px;
}

.swarm-button {
    padding: 0px;
    display: flex;
    align-items: center;
}

.swarm-button.swarm-button-readonly {
    cursor: default;    
    opacity: .8;
    background-color: #eee;
}

.swarm-button.swarm-button-readonly:hover {    
    opacity: .8;
    background-color: #eee;
}

.main {
    margin-top: 52px;
}

.cobalt-site-header {
    margin-top: 6px;
}

.cobalt-breadcrumb-header {
    margin-top: 8px;
    margin-right: 15px;
    margin-bottom: 6px;
    text-align: right;
}

.cobalt-modal-footer {
    /* bottom: 12px;
    right: 12px;
    position: absolute; */
}

.cobalt-modal-footer button {
    margin-left: 4px;
}

.cobalt-listtable-title-desc h5 {
    margin: 0 0 4px 0;
    font-weight: 600;
    font-size: 12px;
}

.cobalt-listtable-title-desc span {
    color: #555;
}

.cobalt-filter {
    width: 180px;
}

.cobalt-bullet-list {
    margin-bottom: 2px;
}

.reports-button {
   margin-left: 16px;
}

.cobalt-zoom {
    width: 190px;
}

.cobalt-zoom .dropdown {
    width: 90px;
}

.cobalt-zoom .dropdown-toggle {
    width: 90px;
    z-index: 8;
}

.cobalt-zoom .dropdown-menu {
    min-width: 90px;
}

.cobalt-listtable-rowHover:hover td {
    cursor: pointer;
    background-color: var(--accent-color-extra-light);
}

.cobalt-listtable-rowHover td a>span{
    display: inline-block;
    width: 100%;
}

.cobalt-clickRow-cell, .cobalt-clickRow-cell:hover {
    color: black;
}

.cobalt-listtable-key {
    display: inline-block;
    border: 1px solid #ddd;
    vertical-align: middle;
    height: 34px;
    margin-bottom: 10px;
}

.cobalt-listtable-key svg {
    display: inline-block;
    vertical-align: middle;
    padding-top: 3px;
}

.cobalt-listtable-key span {
    display: inline-block;
    margin-top: 5px;
    margin-right: 10px;
    vertical-align: middle;
}

.cobalt-listtable-key button {
    margin-top: 5px;
    margin-right: 4px;
    vertical-align: middle;
    padding: 2px;
}

.cobalt-listtable-key .glyphicon {
    margin-top: -3px;
    margin-right: 1px;
}

th>.cobalt-add {
    margin-left: -4px;
    padding: 1px 12px;
}

.cobalt-pointer {
    cursor: pointer;
}

.cobalt-paging {
    width: 240px;
    margin-right: 8px;
}

.cobalt-date-paging {
    width: 230px;
    margin-right: 24px;
}

.cobalt-date-paging .dateInput {
    text-align: center;
    background-color: white;
    cursor: pointer;
    width: 160px;
    font-size: small;
}

.cobalt-date-paging .dateInput:hover {
    background-color: #eee;
}

.cobalt-header-button {
    margin-left: 4px;
}

.cobalt-info {
    font-size: 16px;
    padding: 1px 3px 0px 3px;
    line-height: 1;
    margin-left: 3px;
    vertical-align: baseline;
    color: var(--blue-brand);
    background: none;
}

.cobalt-info-small {
    font-size: 15px;
    padding: 0px 0px 0px 0px;
    line-height: 1;
    margin-left: 3px;
    vertical-align: top;
    color: var(--blue-brand);
    background: none;
}

.cobalt-info-toolbar {
    font-size: 16px;
    color: var(--blue-brand);;
    height: 34px; 
}

.cobalt-info-toolbar>.glyphicon {
    top: 2px;
}

.cobalt-simple-ul {
    list-style-type: none;
    padding-left: 10px;
    margin-bottom: 2px;
}

.cobalt-simple-ul li {
    margin-bottom: 12px;
}

.cobalt-simple-ul a {
    margin-right: 10px;
}

.cobalt-small-ul {
    background-color: #f5f5f5;
    padding: 0;
    font-size: x-small;
    list-style-type: none;
    & > li {
        padding: 2px;
    }
}

.cobalt-about-copyright {
    color: grey;
    width: 70%;
    bottom: 20px;
    position: absolute;
}

.cobalt-badge-empty {
    background-color: white;
    color: #333;
    border: 1px solid #999;
    padding-left: 6px;
    padding-right: 6px;
    min-width: 62px;
}

.cobalt-badge-warn {
    color: #000;
    background-color: var(--yellow-brand);    
    min-width: 62px;
}

.cobalt-badge-error {
    background-color: var(--red-brand);    
    min-width: 62px;
}

.cobalt-badge-ok {
    background-color: var(--green-brand);    
    min-width: 62px;
}

.cobalt-badge-dr-pending {
    background-color: var(--dr-pending-background);    
    color: var(--dr-pending-color);
}

.cobalt-badge-dr-active {
    background-color: var(--dr-active-background);    
    color: var(--dr-active-color);
}

/* page date time periods */

.cobalt-paging-monitor {
    width: 290px;
    margin-bottom: 6px;
}

.cobalt-paging-monitor input:read-only {
    background-color: #FFF;
}

.cobalt-paging-monitor button {
    height: 34px;
}


/* Spinner for ajax loading screen */

.cobalt-spinner-cover,
.cobalt-spinner-cover-light {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 300px;
    z-index: 1100;
}

.cobalt-spinner-cover {
    background-color: rgba(190, 190, 190, 0.3);
}

.cobalt-spinner-cover-light {
    opacity: 0;
}

.cobalt-spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -32px;
    margin-left: -32px;
    display: block;
}

.cobalt-spinner.la-dark {
    color: #333
}
@keyframes growA {
    0% {
      transform: scale(1);      
    }
    20% {
      transform: scale(2.5) rotate(120deg);        
    }
    50% {
      transform: scale(1);      
    }
    70% {
      transform: scale(2.5) rotate(-120deg);        
    }    
  }

  @keyframes growA2 {
    0% {
      opacity: 0;     
    }
    14% {
      opacity: 0;     
    }
    15% {
      opacity: 100;
    }
    95% {
      opacity: 10;
    }
    100% {
      opacity: 00;
    }
  }

  @keyframes growA3 {
    0% {
      opacity: 0;
    }      
    70% {
      opacity: 0;
    }
    75% {
      opacity: 90;
    }
    80% {
      opacity: 100;
    }
    95% {
      opacity: 10;
    }
    100% {
      opacity: 00;
    }
  }

  .hexagon3 {
    transform-origin: center;
    animation: growA 2s infinite reverse;
  }

  .inner3 {
    transform-origin: center;
    animation: growA2 2s infinite reverse;
  }

  .outer3 {
    transform-origin: center;
    animation: growA3 2s infinite reverse;
  }

@media (prefers-reduced-motion: reduce) {
    .cobalt-spinner {
        display: none;
    }
}

.report-loading {
    background-color: #ededed;
}

.report-summary {
    background-color: #ddd;
    padding: 6px;
}

.report-summary>div>span:first-child {
    font-weight: bold;
    margin-right: 8px;
}

/* markers on org savings by month report summary */
.report-summary>div>span:not(:first-child) {
    margin-left: 6px;
}

.form-group.required label:after {
    content: "*";
    color: var(--red-brand);;
}

textarea.form-control.cobalt-textarea {
    height: 160px;
}

.breadcrumb .cobalt-droplinks button {
    color: #eee;
}

.cobalt-droplinks button {
    background-color: #fff;
    padding-left: 0;
    padding: 0;
    border-top: 0;
    vertical-align: top;
    margin-bottom: 1px;
}

.cobalt-droplinks hr {
    margin: 4px 0;
}

.cobalt-droplinks  .glyphicon {
    margin-right: 4px;
}

.cobalt-boolean-filter {
    display: inline-block;
    border: 1px solid #ddd;
    margin-left: 8px;
    height: 34px;
    vertical-align: middle;
    padding: 6px 8px 0px 8px;
}

.cobalt-boolean-filter label {
    font-size: 14px;
    font-weight: 400;
}

.cobalt-boolean-filter input {
    vertical-align: top;
}

.cobalt-boolean-filter span {
    padding-left: 5px;
}

/* SVG widgets here */


/* Set point widget */

setpoint-widget svg {
    vertical-align: bottom;
}

.spw-background {
    fill: #FFF
}

.spw-tick-background {
    fill: #DDD
}

.spw-tick {
    fill: #FFF;
    stroke-width: 0;
}

.spw-setpoint,
.spw-temp {
    text-align: center;
    display: inline-block;
    min-width: 20px;
    margin: 0 4px 0 0;
}

.spw-setpoint {
    margin-left: 4px;
}

.spw-setpoint-loadview {
    display: inline-block;    
}

.spw-temp-loadview {
    display: inline-block;
    min-width: 20px;
    margin-right: 4px;
}

.spw-heatsetpoint  {
    color: var(--red-brand);    
    margin-right: 4px;
}

.spw-coolsetpoint  {        
    color: var(--blue-brand);    
}

/* Swarm widget */

swarm-widget svg {
    vertical-align: bottom;
}

.sww-box {
    stroke-width: 1px;
    stroke: #888;
    fill: none;
}

.sww-box.sww-error {
    stroke-width: 2px;
    stroke: #f00;
}

.ssw-blade path {
    fill: #ccc;
    stroke-width: 12px;
    stroke: #bbb;
}

.ssw-blade path.ssw-enabled {
    fill: #333!important;
    stroke: #000!important;
}

.ssw-blade path.ssw-enabled-heating {
    fill: var(--red-brand)!important;
    stroke: #000!important;
}

.ssw-blade path.ssw-enabled-cooling {
    fill: var(--blue-brand)!important;
    stroke: #000!important;
}

@media (prefers-reduced-motion: no-preference) {
    .animate-blade {
        -webkit-animation: blade-rotate 4s linear 0s infinite;
        -moz-animation: blade-rotate 4s linear 0s infinite;
        -o-animation: blade-rotate 4s linear 0s infinite;
        animation: blade-rotate 4s linear 0s infinite;
    }
}

@keyframes blade-rotate {
    0% { transform: rotate(0); }
    100% { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: no-preference) {
    .animate-flake {
        -webkit-animation: flake-keyframes 4s 0s infinite;
        -moz-animation: flake-keyframes 4s 0s infinite;
        -o-animation: flake-keyframes 4s l0s infinite;
        animation: flake-keyframes 4s l 0s infinite;
    }
}

@keyframes flake-keyframes {
    0% { transform: rotate(-10deg); }
    25% { transform: rotate(10deg); }
    50% { transform: rotate(-10deg); }
    75% { transform: rotate(10deg); }
    100% { transform: rotate(-10deg); }
}

@media (prefers-reduced-motion: no-preference) {
    .animate-heat {
        -webkit-animation: heat-keyframes 4s 0s infinite;
        -moz-animation: heat-keyframes 4s 0s infinite;
        -o-animation: heat-keyframes 4s 0s infinite;
        animation: heat-keyframes 4s 0s infinite;
    }
}

@keyframes heat-keyframes {
    0% { transform: scale(.7); }
    50% { transform: scale(1.2); }
    100% { transform: scale(0.7); }
}

.ssw-cool path {
    fill: #ccc;
    stroke-width: 4px;
    stroke: #bbb;
}

.ssw-cool path.ssw-enabled {
    fill: var(--blue-brand);
    stroke: #000;
}

.ssw-cool path.ssw-enabled.dehumid {
    fill: var(--green-brand);
    stroke: #000;
}

.ssw-heat path,
.ssw-heat circle {
    fill: #ccc;
    stroke-width: 4px;
    stroke: #bbb;
}

.ssw-heat path.ssw-enabled,
.ssw-heat circle.ssw-enabled {
    fill: var(--red-brand);
    stroke: #000;
}

.ssw-heat path.ssw-enabled.dehumid,
.ssw-heat circle.ssw-enabled.dehumid {
    fill: var(--green-brand);    
}

.ssw-unknown {
    font-weight: bold;
    font-size: x-large;
    font-family: Arial, Helvetica, sans-serif;
}

.sww-overlay {
    cursor: pointer;
    opacity: 0;
}


/* Schedule widget */

schedule-widget svg {
    vertical-align: bottom;
}

.shw-can-click {
    cursor: pointer;
}

.shw-cover {
    opacity: 0;
}

.shw-expand {
    cursor: pointer;
}

.shw-expand rect {
    stroke-width: .75;
    stroke: #333;
    fill: white;
}

.shw-expand path {
    stroke-width: .5;
    stroke: #333;
    fill: #333;
}

.shw-expand:hover rect {
    fill: #999;
}

.shw-title {
    font-size: 14px;
    font-weight: 600;
    color: #0070af;
    padding: 4px 4px 4px 0;
}

.shw-period {
    stroke-width: 1px;
    stroke: rgb(0, 0, 0);
}

.shw-periodText {
    font-size: 14px;
    opacity: 0.5;
}

.shw-periodOverlay {
    opacity: 0;
}

.shw-periodOverlay.shw-edit:hover {
    opacity: 0.2;
    color: var(--red-brand);
    cursor: pointer;
}

.shw-periodTime text {
    fill: #FFF;
}

.shw-periodTitle {
    font-size: 24px;
    fill: #FFF;
}

.shw-dayTitle text {
    font-size: 24px;
    opacity: 0.5;
}

.shw-periodTime {
    fill: #333;
    ;
    stroke-width: 3px;
    font-size: 14px;
}

.shw-periodTime.shw-edit:hover {
    cursor: e-resize;
    fill: #722;
}

.shw-periodTime.shw-dragging {
    cursor: none;
    fill: #722;
}

.shw-sp-heat {
    fill: var(--red-brand);
}

.shw-sp-cool {
    fill: var(--blue-brand);
}

.shw-timeline {
    stroke: #0070af;
    stroke-width: 3px;
    stroke-dasharray: 4, 3;
}

.shw-timeline-shadow {
    stroke: White;
    stroke-width: 2px;
    stroke-dasharray: 4, 3;
}

.shw-tick {
    fill: #BBB;
    stroke-width: 0;
}

.shw-occupied {
    fill: var(--occupied-periods);
}

.cobalt-listtable-key .bg-occupied {
    display: inline-block;
    background-color: var(--occupied-periods);
    height: 23px;
    width: 23px;
    vertical-align: middle;
    margin: 4px;
}

.cobalt-listtable-key .key-title {
    display: inline-block;
    margin: 4px;
    vertical-align: middle;
}

.shw-unoccupied {
    fill:#fff;
}

.shw-tick-text {
    font-size: 12px;
    fill: #444;
    stroke-width: 0;
}


/* Device schedule widget */
.dshw-periodOccupied {
    fill: var(--occupied-periods);
}

.dshw-periodUnoccupied {
    fill:#fff;
}

.dshw-periodStartEnd {
    fill: #99cac6;
    stroke-width: 1px;
    stroke: rgb(0, 0, 0);
}

.dshw-periodEven {
    fill: #b4b4b4;
    stroke-width: 1px;
    stroke: rgb(0, 0, 0);
}

.dshw-periodOdd {
    fill: #ebebeb;
    stroke-width: 1px;
    stroke: rgb(0, 0, 0);
}

.dshw-blade path {
    fill: #333;
    stroke: rgb(0, 0, 0);
    stroke-width: 12px;
    opacity: 0.6;
}

.dshw-autofan {
    fill: none!important;
}

.dshw-dayPending {
    font-size: 10px!important;
}


/* Google maps holder for create (and edit) site dialog */

.cobalt-create-map {
    width: 100%;
    border: 1px solid #DDD;
    height: 230px;
    margin-top: 6px;
    z-index: 81;
}


/* Google maps holder for main page screens/tabs */

.cobalt-static-map {
    width: 100%;
    border: 1px solid #DDD;
    height: 300px;
}

/* Usually have the pagefiller auto-resize directive on this div */

.cobalt-static-map>:first-child {
    display: block;
}


.float-start .cobalt-dropdown-view:not(:first-child) {
    margin-left: 4px;
}

.cobalt-dropdown-view button {
    background-color: var(--dropdown-btn-background);
    color: var(--dropdown-btn-color);
    border: 1px solid #ddd;
}

.cobalt-dropdown-view button:hover {
    background-color: #ddd;
}


.cobalt-dropdown-view.wide .btn-group {
    width: 160px;
}

.cobalt-dropdown-view.wide .btn-group button {
    width: 100%;
}

.filter-button {
    margin-left: 6px;
}

.filter-button.filter-reset {
    padding-left: 12px;
}

.cobalt-dropdown-view.report-filter button:not(.defaultItem) {
   box-shadow: inset 0px 0px 0px 2px var(--accent-color-light);
}

.cobalt-boolean-filter:not(.defaultItem) {
    box-shadow: inset 0px 0px 0px 2px var(--accent-color-light);
}

.cobalt-dropdown-view {
    margin-left: 6px;
}
.noLeftMargin .cobalt-dropdown-view {
    margin-left: 0px;
}

.cobalt-dropdown-menu {
    margin-left: 8px;
}

.cobalt-dropdown-view.userFilter button {
    background-color: var(--user-filters-background);
}

.cobalt-dropdown-menu .dropdown-menu .divider {
    margin: 2px 0;
}

/* Cobalt Drop tree classes */

.cobalt-dropdown-tree > div > button {
    background-color: #fff;
    border: 1px solid #ddd;
}

.cobalt-dropdown-tree > div > ul > li > button {
    background-color: #fff;
    border: 0;
}

.cobalt-dropdown-tree {
    margin-left: 8px;
}

.dropdown-menu>li>a {
    padding: 3px 24px;
    white-space: nowrap;
}

.navbar-right .dropdown-menu>li>a {
    max-width: 300px;
    overflow-x: hidden;
    text-overflow: ellipsis;
}

.navbar .navLink {
    margin: 7px 4px;
    display: inline-block;
    padding: 8px 10px 7px 10px;
}

.navbar .navLink:hover {
    background-color: var(--nav-btn-background-color-hover);
    cursor: pointer;
}

.nav-stacked>li {
    width: -moz-available;
    width: -webkit-fill-available;
    width: fill-available;
}

.nav>li.reportlistitem {
    display:flex;
    /* make sure they occupy the line to themselves so the next item can't wrap */    
    justify-content: space-between;
    width: 100%;
}
.nav>li.reportlistitem a {
    text-decoration: none;
}

.nav>li.active .reportlisticon {
    color: var(--text-color);
    background-color: #fff;
}

/* drop down tree control */

.dropdown-tree {
    -webkit-transform: translateZ(0);
}

.cobalt-dropdown-focus {
    background-color: #80A2B7!important;
}

.cobalt-dropdown-current {
    background-color: var(--accent-color-extra-light)!important;
}

/* Latest version of angular strips the space that would 
   have sat between the dropdown button text and down arrow (.caret) */ 
.btn .caret{
    margin-left:6px;
}

.cobalt-dropdown-menu li>a>span {
    margin-left: -19px;
}

.cobalt-button-leftspace {
    margin-left: 8px;
}

.cobalt-dropdown-menu button {
    background-color: #fff;
    border: 1px solid #ddd;
}

.cobalt-device {
    border: 1px solid #AAA;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 16px;
    box-shadow: 0 4px 4px;
    padding-left: 14px;
    padding-right: 14px;
}

.cobalt-tou-frame-main {
    height: 100%;
}

.cobalt-tou-frame {
    min-height: 400px;
    width: 100%;
}

.cobalt-tou-frame-footer {
    display: table-row;
    vertical-align: bottom;
}

.navbar-collapse.collapse.important-hidden {
    display: none!important;
}

/* Overriding these navbar and toggle collapse styles as we will control them ourselves based on the presence of a customer logo */
@media (min-width: 768px) {
    .navbar-collapse {
        padding-right: 15px;
        padding-left: 15px;
        overflow-x: visible;
        border-top: 1px solid transparent;
        -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
        -webkit-overflow-scrolling: touch;
    }
    .navbar-collapse.collapse {
        display: none!important;
        overflow-x: visible;
    }
    .navbar-toggle.collapsed {
        display: inline;
        position: relative;
        float: right;
        padding: 9px 10px;
        margin-right: 15px;
        margin-top: 8px;
        margin-bottom: 8px;
        background-color: transparent;
        background-image: none;
        /* border: 1px solid transparent; */
        border-radius: 4px;
    }
    .navbar-toggle.collapse {
        display: none!important;
    }
    .navbar-toggle {
        display: block; 
    }
}

/* We want the navbar to stay right under the collapsed menu */
.navbar-right 
{
    float:right!important;
    margin-right:-15px
}

.cobalt-tou-box {
    border: 1px solid #AAA;
    max-width: 800px;
    min-width: 400px;
    min-height: 400px;
    overflow: auto;
    margin-left: auto;
    margin-right: auto;
    margin-top: 16px;
    box-shadow: 0 4px 4px;
    padding: 14px;
}

.cobalt-device [class^=col-] {
    border: 1px solid rgba(200, 200, 200, .5);
}

.cobalt-device-save-buttons {
    padding: 8px;
}

.cobalt-device-header {
    text-align: center;
    width: 100%;
}

.cobalt-device-offline,
.cobalt-device-upgrading,
.cobalt-device-commdisabled,
.cobalt-device-commlost {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-left: -14px;
    margin-right: -14px;
}

.cobalt-device-offline {
    background-color: var(--red-light-brand);
}

.cobalt-device-commlostLabel,
.cobalt-device-commlost,
.cobalt-device-commdisabled,
.cobalt-device-upgrading {
    background-color: var(--yellow-light-brand);
}

.cobalt-device-section {
    padding: 8px 0 8px 0px;
}

.cobalt-device-section>div {
    overflow: hidden;
    text-overflow: ellipsis;
}

.cobalt-device-section.align-bottom {
    position: absolute;
    bottom: 0px;
}

.cobalt-device-section h2,
.cobalt-device-section h3 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.cobalt-device-section h4 {
    margin-top: 5px;
    margin-bottom: 5px;
    color: var(--text-color);
}

.cobalt-device .col-tall {
    min-height: 300px;
}

.cobalt-device .col-short {
    min-height: 160px;
}

.cobalt-device-humidity {
    color: #0070af;
}

.cobalt-device-temperature {
    color: var(--orange-brand);
}

.cobalt-device-setpoint-container {
    width: 220px;
    border: 1px solid #DDD;
    padding: 2px;
    margin-bottom: 4px;
}

.cobalt-device-setpoint {
    display: inline-block;
    vertical-align: top;
    margin-top: 12px;
    margin-bottom: 11px;
    width: 170px;
    font-size: 16px;
}

.cobalt-device-setpoint-changed,
.cobalt-device-actions .changed,
.cobalt-cancelhold-changed {
    background-color: var(--yellow-brand);
}

.cobalt-cancelhold-changed {
    margin-top: 4px;
    padding: 10px 4px;
    width: 210px;
}

.cobalt-device-setpoint-buttons {
    display: inline-block;
}

.cobalt-device-setpoint-buttons button {
    padding: 1px 12px;
}

.cobalt-device-setpoint-buttons>:first-child {
    display: block;
    margin-bottom: 1px;
}

/* Need to override boostrap here as we set a background on some rows and don't want it override by the tds */
.table>:not(caption)>*>* {
    background-color: inherit;
}

.cobalt-device-actions {
    width: 110px;
    display: inline-block;
    vertical-align: top;
}

.cobalt-device-actions button {
    width: 100px;
    padding: 6px 2px;
    color: #666;
}

.cobalt-device-actions button.active {
    background-color: var(--accent-color)!important;
    color: white!important;
}

.cobalt-device-label {
    font-weight: 600;
}

.cobalt-device-label.cdl-middle {
    vertical-align: super;
}

.cobalt-device-warning {
    background-color: #FFBE42;
    color: #333;
    border: 1px solid #DDD;
    margin-top: 15px;
    margin-bottom: 10px;
}

.cobalt-device-curtailed {
    background-color: var(--accent-color-medium-light)!important;
    color: white!important;
    border: 1px solid #DDD;
    padding: 10px 2px;
    margin-top: 0px;
    margin-bottom: 0px;
}

.cobalt-overflow-inherit {
    overflow: inherit;
}

.cobalt-color-picker {
    width: 100%;
    border: 1px solid #DDD;
    border-spacing: 2px;
    border-collapse: separate;
}

.cobalt-color-picker td {
    padding: 8px 0;
    border: 4px solid #fff;
}

.cobalt-color-picker td.cobalt-selected-color {
    border: 4px solid #666;
}

.cobalt-headline-table {
    max-width: 600px;
}

.cobalt-headline-table>tbody>tr>td {
    text-align: center;
}

.cobalt-headline-table>tbody>tr>td>span {
    display: block;
    font-size: x-large;
}

.cobalt-chart-table {
    max-width: 600px;
}

.cobalt-import-summary-table {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
}

.cobalt-chart-table thead th {
    font-size: small;
    font-weight: 500;
}

list-table .table {
    margin-bottom: 1px;
}

list-table .table tr {
    font-size: small;
}

list-table .table>tbody>tr>td {
    vertical-align: middle;
}

list-table .table-striped>tbody>tr.extraFooter {
    background-color: #fff;
    border-top: 2px solid #ddd;
}

list-table .table-striped>tbody>tr.extraFooter>td {
    padding-top: 10px;
}

list-table .table>thead>tr.extraHeaderRow>th {
    border-bottom: 0;
}

list-table .table>thead>tr>th {
    border-top: 0;
}

list-table .left-border {
    border-left: 1px solid #ddd;
}

list-table .table>thead .headerDiv {
    position: relative;
    display: inline-block;    
}

list-table .table>thead span.glyphicon {
    left: 0;
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: -8px;
    top: auto;
    font-size: smaller;
}

list-table .table>thead .cobalt-listtable-th-diag span.glyphicon,
list-table .table>thead .cobalt-listtable-th-diagmedium span.glyphicon,
list-table .table>thead .cobalt-listtable-th-diagwide span.glyphicon {
    bottom: -2px;
}

.extraHeaderDiaglines.extraHeaderRow th:before {
    content: "";
    position: absolute;
    height: 150px;
    border-right: 1px solid #f2f2f2;
    margin-left: -6px;
    margin-top: 25px;
}

.table-sm.cobalt-condensed>tbody>tr>td {
    padding: 2px;
}

.table-sm.cobalt-condensed>tbody>tr>td input {
    height: 26px;
}

/* This style allows us to give the heading text the width of the column which places the :before element in the correct position */
.extraHeaderDiaglines.extraHeaderRow th span {
    width: 100%;
    display: inline-block;
}
.table-striped>tbody>tr:nth-of-type(odd).cobalt-listtable-rhl,
.cobalt-listtable-rhl {
    background-color: var(--accent-color-extra-light);
}

.cobalt-listtable-widget-td {
    padding: 2px 2px!important;
}

.cobalt-listtable-noPadding-td {
    padding-top: 0!important;
    padding-bottom: 0!important;
}

.cobalt-listtable-action-td {
    padding: 2px 1px!important;
}

.cobalt-listtable-action-th {
    width: 110px!important;
}

.table.cobalt-listtable-diag {
    width: auto;
}

th.cobalt-listtable-rightalign {
    text-align: right;
}

th.cobalt-listtable-centeralign {
    text-align: center;
}

.table-sm>tbody>tr>td.cobalt-listtable-rightalign {
    text-align: right;
}

.table-sm>tbody>tr>td.cobalt-listtable-centeralign {
    text-align: center;
}

.cobalt-listtable-th-diag {
  height: 150px;
  white-space: nowrap;
  vertical-align: bottom;
}

.cobalt-listtable-th-diag > div {
    transform: rotate(-45deg);
    margin-top: -9px;
    margin-left: 100%;
}

list-table .table>thead .cobalt-listtable-th-diag .headerDiv {
    border-bottom: 1px solid #ccc;
    display: inline-block;
    position: absolute;
    white-space: nowrap;
    left: -8px;
    top: -14px;
    padding-bottom: 9px;
}

.table-sm>thead>tr>th.cobalt-listtable-th-diag {
    padding-left: 40px!important;
}

list-table tr td .cellIcon {
    margin-left: 1px;
    padding: 1px;
}

.cobalt-listtable-td-diag {
    text-align: center;
    border-right: 1px solid lightgray;
}

.cobalt-listtable-action-td .dropdown-toggle {
    width: 100px!important;
    padding-top: 2px!important;
    padding-bottom: 2px!important;
}

.cobalt-listtable-action-td .dropdown-toggle:hover {
    background-color: #bbb;
}

.droptree-group {
    border: 0;
}

.cobalt-form-extra,
.cobalt-form-extra2 {
    background-color: #E7E7E7;
    padding: 5px;
    margin-bottom: 6px;
}

.cobalt-form-group {
    border: 1px solid #e7e7e7;
}

.cobalt-form-extra label,
.cobalt-form-extra2 label {
    font-size: smaller;
}

.cobalt-form-extra textarea,
.cobalt-form-extra input,
.cobalt-form-extra select,
.cobalt-form-extra2 textarea,
.cobalt-form-extra2 input,
.cobalt-form-extra2 select {
    margin-bottom: 2px;
    display: inline-block;
}

.cobalt-pin {
    width: 75px;
}

.alert.cobalt-alert-small {
    font-size: small;
    padding: 4px;
    border-radius: 0;
    margin-bottom: 6px;
}

.alert.cobalt-alert-site {
    margin-top: 6px;
    margin-bottom: 8px;
    position: absolute;
    right: 15px;
    left: 16px;
}

@media (prefers-reduced-motion: no-preference) {
    .alert.cobalt-alert-site.show-in {
        -o-animation:carousel-in 2s ease;
        -moz-animation:carousel-in 2s ease;
        -webkit-animation:carousel-in 2s ease;
        animation:carousel-in 2s ease;
    }

    .alert.cobalt-alert-site.show-out {
        -o-animation:carousel-out 2s ease;
        -moz-animation:carousel-out 2s ease;
        -webkit-animation:carousel-out 2s ease;
        animation:carousel-out 2s ease;
    }
}

.carousel-hover {
    z-index: 8;
    right: 10px;
    position: relative;
    top: 18px;
}

.carousel-hover > div {
    background-color:#fcf8e3;
    border: 2px solid #003D37;
    border-radius: 10px;
    display: inline;
    width: 20px;
    height: 20px;
    float: right;
    margin-right: 10px;
    cursor: pointer;
}

.carousel-hover > div.pane-selected {
    background-color:#7DBD41;
}

.cobalt-alert-site-container {
    height: 56px;
    overflow: hidden;
    position: relative;
}

@keyframes carousel-in {
    0% {
        -webkit-transform: translateY(-56px);
        -moz-transform: translateY(-56px);
        -o-transform: translateY(-56px);
        transform: translateY(-56px);
    }
    100% {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes carousel-out {
    0% {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
    }
    100% {
        -webkit-transform: translateY(56px);
        -moz-transform: translateY(56px);
        -o-transform: translateY(56px);
        transform: translateY(56px);
    }
}

@media (min-width:450px) {
    .cobalt-form-extra textarea,
    .cobalt-form-extra select,
    .cobalt-form-extra input {
        width: 324px;
    }
}

@media (min-width:768px) {
    .cobalt-form-extra textarea,
    .cobalt-form-extra input,
    .cobalt-form-extra select {
        width: 500px;
    }
}

.cobalt-form-extra alert {
    margin-bottom: 6px;
}

@media (min-width:450px) {
    .cobalt-form-extra2 textarea,
    .cobalt-form-extra2 select,
    .cobalt-form-extra2 input {
        width: 265px;
    }
}

@media (min-width:768px) {
    .cobalt-form-extra2 textarea,
    .cobalt-form-extra2 input,
    .cobalt-form-extra2 select {
        width: 460px;
    }
}

.cobalt-form-extra2 alert {
    margin-bottom: 6px;
}

.cobalt-form-setpoint-container {
    width: 200px;
    border: 1px solid #DDD;
    padding: 2px;
    margin-bottom: 4px;
}

.cobalt-form-setpoint {
    display: inline-block;
    vertical-align: top;
    margin-left: 4px;
    margin-top: 12px;
    margin-bottom: 11px;
    width: 150px;
    font-size: 16px;
}


/* Set point form control with up/down buttons */

.cobalt-form-setpoint-buttons {
    display: inline-block;
    height: 45px;
}

.cobalt-form-setpoint-buttons button {
    padding: 1px 12px;
}

.cobalt-form-setpoint-buttons>:first-child {
    display: block;
    margin-bottom: 1px;
}


/* Our own icons */

.cobalt-icon-space {
    position: relative;
    top: 1px;
    display: inline-block;
    line-height: 1;
    margin-top: -1px;
    margin-bottom: -1px;
    width: 25px;
    height: 16px;
}

.cobalt-icon {
    margin-top: -1px;
    margin-bottom: -1px;
    background-position: top left;
    background-size: 14px 16px;
    width: 14px;
    height: 16px;
    display: inline-block;
}

.cobalt-icon-large {
    margin-top: -3px;
    margin-bottom: -4px;
    background-position: top left;
    background-size: 20px 22px;
    width: 20px;
    height: 22px;
}

.icon-swarm-on,
.icon-swarm-off,
.icon-swarm-on-bl,
.icon-swarm-on-disabled,
.icon-swarm-off-disabled,
.icon-swarm-on-bl-disabled,
.icon-switch-on,
.icon-switch-on-disabled,
.icon-switch-off,
.icon-switch-off-disabled {
    width: 40px;
    background-size: 32px 16px;
    background-repeat: no-repeat;
    top: 3px;
}

.icon-swarm-on {
    background-image: url("../images/swarm-on.svg");
}

.icon-swarm-off {
    background-image: url("../images/swarm-off.svg");
}

.icon-swarm-on-bl {
    background-image: url("../images/swarm-on-bl.svg");
}

.icon-swarm-on-disabled {
    background-image: url("../images/swarm-on-disabled.svg");
}

.icon-swarm-off-disabled {
    background-image: url("../images/swarm-off-disabled.svg");
}

.icon-swarm-on-bl-disabled {
    background-image: url("../images/swarm-on-bl-disabled.svg");
}

.icon-switch-on {
    background-image: url("../images/switch-on.svg");
}

.icon-switch-on-disabled {
    background-image: url("../images/switch-on-disabled.svg");
}

.icon-switch-off {
    background-image: url("../images/switch-off.svg");
}

.icon-switch-off-disabled {
    background-image: url("../images/switch-off-disabled.svg");
}

.icon-thermometer {
    background-image: url("../images/therm.svg");
}

.icon-dollar {
    background-image: url("../images/dollar.svg");
}

.icon-fdd {
    background-image: url("../images/fdd.svg");
}

.icon-performance {
    background-image: url("../images/perf.svg");
}

.icon-sun {
    background-image: url("../images/sun.svg");
}

.icon-sun-cloud {
    background-image: url("../images/sun-cloud.svg");
}

.icon-cold {
    background-image: url("../images/cold.svg");
}

.icon-cloud {
    background-image: url("../images/cloud.svg");
}

.icon-share {
    background-image: url("../images/share.svg");
}

.icon-occupied {
    background-image: url("../images/occupied.svg");
}

.icon-unoccupied {
    background-image: url("../images/unoccupied.svg");
}

.change-password {
    background-image: url("../images/key.svg");
}

.change-password-form-group {
    margin-top: 10px;
    margin-bottom: 10px;
}

.icon-lock {
    background-image: url("../images/keypad-lock.svg");
    margin-top: -1px;
    margin-bottom: -4px;
    background-size: 18px 20px;
    width: 18px;
    height: 20px;
}

.icon-unlock {
    background-image: url("../images/keypad-unlock.svg");
    margin-top: -1px;
    margin-bottom: -4px;
    background-size: 18px 20px;
    width: 18px;
    height: 20px;
}

.top-buffer {
    margin-top: 8px;
}

.top-buffer-large {
    margin-top: 16px;
}

.bottom-buffer {
    margin-bottom: 12px;
}

.chart-bottom-margin svg {
    margin-bottom: 16px;
}

.form-group.bottom-buffer-large {
    margin-bottom: 16px;
}

.dl-horizontal {
    margin-bottom: 0;
}

.dl-horizontal dt {
    text-align: left;
    width: 140px;
    font-weight: normal;
}

.cobalt-controlrow {
    margin-right: 0px;
    margin-left: 0px;
    padding: 8px;
    margin-bottom: 6px;
    min-width: 330px;
}

.cobalt-controlrow h5 {
    color: var(--text-color);
    margin-top: 3px;
    margin-bottom: 5px;
}

.cobalt-controlrow input:not([type='checkbox']) {
    width: 72px;
    display: inline-block;
}

.cobalt-controlrow select {
    width: 180px;
}

.cobalt-controlrow label {
    display: block;
}

label.cob-spaced {
    margin-top: 8px;
    margin-bottom: 8px;
}

.cobalt-controlrow>div {
    padding-left: 0px;
    padding-right: 0px;
}

.cobalt-detail-table tr td:first-child {
    padding-right: 12px;
}

.cobalt-page-refresh {
    position: fixed;
    bottom: 0px;
    right: 0px;
    background-color: white;
    z-index: 999;
    border: 1px solid #AAA;
    font-size: small;
    padding: 1px 1px;
    line-height: .5;
}

.loadViewCol, .loadViewSmCol {
    display: inline-block;
    vertical-align: text-top;
    text-wrap: balance;
}

.loadViewSmCol {
    width: 30px;
}

/* Make sure buttons in the tab bar have a bottom margin when they are pushed down due to page being narrowed */

.tab-buttons {
    top: -4px;
    position: relative;
}

/* ----------- Charting -------------- */

.cobalt-chart-nodata {
    margin-left: 60px;
}

.chart-series {
    fill: none;
    stroke-width: 1px;
}

.focus-series {
    stroke-opacity: 0.6;
}


/* Power */

.dropdown .power {
    color: #006058;
}

.power.chart-series,
.cobalt-chart .power .tick line,
.cobalt-chart .power .domain {
    stroke: #006058;
}

.power.dot,
.cobalt-chart .power .tick text {
    fill: #006058;
}


/* 15 min Average Power */

.dropdown .poweravg {
    color: #b82e8a;
}

.poweravg.chart-series,
.cobalt-chart .poweravg .tick line,
.cobalt-chart .poweravg .domain {
    stroke: #b82e8a;
}

.poweravg.dot,
.cobalt-chart .poweravg .tick text {
    fill: #b82e8a;
}


/* Temperature */

.dropdown .temperature {
    color: #D0A000;
}

.indoorTemp.chart-series,
.cobalt-chart .temperature .tick line,
.cobalt-chart .temperature .domain {
    stroke: #D0A000;
}

.indoorTemp.dot,
.cobalt-chart .temperature .tick text {
    margin-left: 4px;
    fill: #D0A000;
}


/* Cool Set Point */

.dropdown .coolsetpoint {
    color: var(--blue-brand);
}

.coolsetpoint.chart-series,
.cobalt-chart .coolsetpoint .tick line,
.cobalt-chart .coolsetpoint .domain {
    stroke: var(--blue-brand);
}

.coolsetpoint.dot,
.cobalt-chart .coolsetpoint .tick text {
    margin-left: 4px;
    fill: var(--blue-brand);
}


/* Heat Set Point */

.dropdown .heatsetpoint {
    color: var(--red-brand);
}

.heatsetpoint.chart-series,
.cobalt-chart .heatsetpoint .tick line,
.cobalt-chart .heatsetpoint .domain {
    stroke: var(--red-brand);
}

.heatsetpoint.dot,
.cobalt-chart .heatsetpoint .tick text {
    margin-left: 4px;
    fill: var(--red-brand);
}


/* Desired Power */

.dropdown .desiredpower {
    color: #abc145;
}

.desiredpower.chart-series,
.cobalt-chart .desiredpower .tick line,
.cobalt-chart .desiredpower .domain {
    stroke: #abc145;
}

.desiredpower.dot,
.cobalt-chart .desiredpower .tick text {
    margin-left: 4px;
    fill: #abc145;
}


/* Humidity */

.dropdown .humidity {
    color: #5cd65c;
}

.indoorHumid.chart-series,
.cobalt-chart .humidity .tick line,
.cobalt-chart .humidity .domain {
    stroke: #5cd65c;
}

.indoorHumid.dot,
.cobalt-chart .humidity .tick text {
    fill: #5cd65c;
}


/* offline */

.offline.chart-series {
    fill: #644;
    opacity: 0.4;
}

.offline.dot,
.cobalt-chart .offline .tick text {
    fill: #C2B4B4;
}

/* Comfort */

.dropdown .comfort {
    color: var(--red-brand);
}

/* comfortWarn */

.comfortWarn.chart-series {
    fill: var(--red-brand);
    opacity: 0.3;
}

.comfortWarn.dot,
.cobalt-chart .comfortWarn .tick text {
    fill: var(--orange-brand);
}

/* bypass */

.bypass.chart-series {
    fill: var(--blue-brand);
    opacity: 0.4;
}

.bypass.dot,
.cobalt-chart .bypass .tick text {
    fill: #55a;
}


/* swarm enabled */

.swarm-enabled.chart-series {
    fill: #007B72;
    opacity: 0.4;
}

.swarm-enabled.dot,
.cobalt-chart .swarm-enabled .tick text {
    fill: #007B72;
}


/* dr event */

.dr-event.chart-series {
    fill: #cca300;
    opacity: .8;
}

.dr-event.dot,
.cobalt-chart .dr-event .tick text {
    fill: #cca300;
}


/* baseline */

.baseline.chart-series {
    fill: #bf4040;
    opacity: .6;
}

.baseline.dot,
.cobalt-chart .baseline .tick text {
    fill: #bf4040;
}

.axis text {
    font-size: small;
    fill: #222;
}

.axis path,
.axis line {
    fill: none;
    stroke: #000;
    shape-rendering: crispEdges;
}

chartfocus .textlabel rect {
    fill: #777;
    stroke: none;
    shape-rendering: crispEdges;
}

chartfocus .textlabel text {
    stroke: none;
    fill: #fff;
}

.brush .selection {
    fill-opacity: .125;
    shape-rendering: crispEdges;
    stroke: none;
}

.brush-highlight {
    fill: none;
    stroke-opacity: 1;
    stroke: #777;
    shape-rendering: crispEdges;
}

.cobalt-chart .x .domain {
    stroke: darkgray;
}

.cobalt-chart .tick line {
    stroke: lightgrey;
    opacity: 0.7;
}

.cobalt-chart .highlight {
    stroke: gray;
    stroke-dasharray: 6, 4;
    opacity: 0.7;
}

.cobalt-chart .charttip-rect {
    fill: white;
    stroke: gray;
    stroke-width: 1px;
}

.cobalt-chart .charttip {
    font-size: 12px;
}

.cobalt-chart .charttitle-rect {
    fill: var(--accent-color);
}

.cobalt-chart .charttitle {
    fill: white;
}

.charttitle {
    white-space: pre;
}

.cobalt-enabled {
    background-color: #9F9;
}

.cobalt-disabled {
    background-color: #F88;
}

.cobalt-active {
    background-color: #9F9;
}

.cobalt-blank {
    background-color: #f0f0f5;
}

.cobalt-drEnabled {
    background-color: #95a4fa;
}

.noTopBorder tbody>tr>td {
    border-top: 0;
}

/* toggle control (svg) */

cobalt-toggle {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    cursor: pointer;
}

cobalt-toggle .toggle-outline,
cobalt-toggle .toggle-outline-rim {
    stroke: none;
}

cobalt-toggle circle {
    stroke-width: 3;
    stroke: #333;
    fill: #eee;
}

cobalt-toggle text {
    fill: #222;
}

cobalt-toggle svg:focus {
    outline: 1px solid #aaccee;
}

.cobalt-toggle-popimage {
    border: 1px solid #ccc;
    padding: 2px 2px 2px 2px;
    margin: 3px 1px;
    display: inline-block;
    vertical-align: top;
    z-index: 10;
    border-radius: 12px;
}


/* Date picker */

cobalt-calendar thead>tr>th {
    color: #FFF;
    background-color: var(--accent-color);
    text-align: center;
    height: 30px;
}

cobalt-calendar tr>td {
    width: 40px;
    text-align: center;
    height: 30px;
    color: #656;
}

cobalt-calendar .currentMonth {
    background-color: var(--accent-color-extra-light);
}

cobalt-calendar .canSelect {
    cursor: pointer;
    color: #000;
}

cobalt-calendar .currentDay {
    font-weight: 700;
    background-color: var(--accent-color);
    color: #fff;
}

cobalt-calendar .canSelect:hover {
    cursor: pointer;
    background-color: #5F7EB0;
}

cobalt-calendar .calendar-header .input-group {
    width: auto;
}

cobalt-calendar .calendar-header-txt {
    width: 48px;
    text-align: center;
    padding: 6px 2px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
    display: inline-block;
    vertical-align: bottom;
}

cobalt-calendar .calendar-header-btn {
    padding: 6px 5px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
}

cobalt-calendar .calendar-header-btn:hover {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
}

cobalt-calendar .calendar-header-btn[disabled] {
    color: #CCC;
}

cobalt-calendar .todayButton {
    width: 71px;
}

cobalt-timepicker {
    display: inline-block;
    margin-left: 8px;
}

cobalt-timepicker .timeBtnDiv {
    display: inline-block;
    width: 90px;
    border: 1px solid #DDD;
    padding: 2px;
    margin-bottom: 2px;
    text-align: center;
}

cobalt-timepicker .timeBtnArea {
    display: inline-block;
    vertical-align: top;
    margin-top: 10px;
    margin-bottom: 7px;
    width: 26px;
    font-size: 20px;
    margin-left: 6px;
}

cobalt-timepicker .timeBtns {
    display: inline-block;
    height: 45px;
}

cobalt-timepicker .timeBtns button {
    padding: 1px 12px;
}

cobalt-timepicker .timeBtns>:first-child {
    display: block;
    margin-bottom: 1px;
}

cobalt-timepicker .smalltimeBtns {
    display: inline-block;
    height: 10px;
}

cobalt-timepicker .smalltimeBtns button {
    padding: 0 0;
    margin-right: 0;
    margin-left: 0;
    font-size: x-small;
    width: 18px;
}

cobalt-timepicker .ampmTimeBtns {
    margin-left: 3px;
}

cobalt-timepicker .ampmTimeBtns button {
    padding: 1px 16px;
}

cobalt-timepicker .ampmTimeBtns button.active {
    background-color: #d4d4d4;
    font-weight: 700;
}

cobalt-timepicker .timesepCont {
    height: 45px;
    display: inline-block;
    vertical-align: top;
}

cobalt-timepicker .timesep {
    width: 4px;
    text-align: center;
    font-weight: 600;
    font-size: 20px;
    display: inline-block;
    padding-top: 12px;
}

cobalt-timepicker .timeBtnDiv.ampm {
    vertical-align: top;
    width: 63px;
}

.cobalt-numeric {
    width: 100px!important;
}

.cobalt-hidespin::-webkit-outer-spin-button,
.cobalt-hidespin::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

.cobalt-hidespin[type=number] {
    -moz-appearance:textfield; /* Firefox */
}

.cobalt-nameselector {
    width: 360px;
    position: absolute;
    background-color: white;
    left: 0;
    border: 1px solid #3F8AAC;
    margin-left: 22px;
    max-height: 100px;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.5);
    z-index: 100;
    font-size: 12px;
}

.cobalt-nameselector ul {
    margin-top: 2px;
    margin-bottom: 2px;
    padding-left: 4px;
}

.cobalt-nameselector li {
    padding-top: 2px;
    height: 20px;
    list-style: none;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cobalt-nameselector .selected-user,
.cobalt-nameselector li:hover {
    background-color: #ddd;
}

.cobalt-namelist {
    margin-top: 6px;
    max-height: 120px;
    overflow-y: auto;
}

.cobalt-namelist ul {
    padding: 2px 2px 2px 0;
    border: 1px solid #ccc;
    height: 60px;
}

.cobalt-namelist li {
    list-style: none;
    border-radius: 10px;
    background-color: var(--accent-color-extra-light);
    color: #fff;
    margin-bottom: 2px;
    padding-top: 2px;
    padding-bottom: 0px;
    display: inline-block;
    padding-left: 6px;
    margin-left: 3px;
}

.cobalt-namelist li > button {
    margin-left: 4px;
    padding: 3px 5px;
    border: 0;
    background-color: transparent;
    border-radius: 15px;
}

.cobalt-faded {
    opacity: 0.6;
}

.btn-group.dropdown,
.btn-dialog-secondary {
    background-color: #ddd;
}

/* TODO - These  need to come from tweaking bootstrap 3 less (or bootstrap 4 sass) */

.jumbotron.cobalt-jumbo {
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;

    cursor: pointer;
    display: inline-block;

    -moz-box-shadow: inset 0 0 6px #999;
    -webkit-box-shadow: inset 0 0 6px #999;
    box-shadow: inset 0 0 6px #999;

    width: 700px;
}

.jumbotron.cobalt-jumbo-wide {
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;

    cursor: pointer;
    display: inline-block;

    -moz-box-shadow: inset 0 0 6px #999;
    -webkit-box-shadow: inset 0 0 6px #999;
    box-shadow: inset 0 0 6px #999;
}

.cobalt-jumbo-wide hr {
    border-top: 1px solid #666;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cobalt-jumbo-container {
    text-align: center;
}

.cobalt-jumbo-leftpanel .left-padding {
    padding-left: 25px;
}

.cobalt-jumbo-leftpanel .right-padding {
    padding-right: 28px;
}

.cobalt-jumbo-middlepanel .right-padding {
    padding-right: 28px;
}

.jumbotron h6 {
    font-size: medium;
    color: #666;
    margin: 16px;
}

@media (min-width:768px) {
    .cobalt-jumbo-leftpanel {
        border-bottom: 0;
        border-right: 1px solid #666;
    }

    .cobalt-jumbo-rightpanel {
        border-left: 1px solid #666;
        margin-left: -1px;
        float: right;
        margin-right: 1px;
    }  

    .cobalt-jumbo-middlepanel {
        border-bottom: 0;
        border-left: 1px solid #666;
        margin-left: -1px;        
    } 
  
    .cobalt-jumbo-thirdpanel {
        border-left: 1px solid #666;
        margin-left: -1px;
        float: right;
        margin-right: 1px;
    }  
}

@media (min-width:992px) {
    .cobalt-jumbo-container {
        text-align: left;
    }

    .cobalt-jumbo-rightpanel {
        margin-left: -1px;
        margin-right: 1px;
    }

    .cobalt-jumbo-middlepanel {
        border-right: 1px solid #666;
    } 

    .cobalt-jumbo-thirdpanel {
        margin-left: -1px;
        margin-right: 2px;
    }    
}

@media (min-width:768px) {
    .jumbotron.cobalt-jumbo-wide {
        width: 720px;
    }
}

@media (min-width:992px) {
    .jumbotron.cobalt-jumbo-wide {
        width: 950px;
    }
}

@media (min-width:1200px) {
    .jumbotron.cobalt-jumbo-wide {
        width: 1100px;
    }
}

.cobalt-jumbo th {
    width: 50%;
    font-size: large;
}

.cobalt-jumbo td {
    font-size: large;
}

.cobalt-jumbo hr {
    border-top: 1px solid #666;
}

.cobalt-jumbo .table>tbody>tr>th, .cobalt-jumbo .table>tbody>tr>td {
    border-top: 0;
}

.cobalt-split-table .table {
    margin-bottom: 2px;
}

.cobalt-split-table tbody>tr>td {
    /* This helps fix the height of the table whether it's rows are populated or not */
    height: 33px;
}

.cobalt-split-table tbody>tr>td:first-child {
    width: 30%;
}

.cobalt-split-table>div {
    width: 100%;
    display: inline-block;
}

@media (min-width:992px) {
    .cobalt-split-table>div {
        width: 49%;
    }
}

@media (min-width:992px) {
    .cobalt-split-table>div:last-child {
        width: 50%;
    }
}

@media screen and (max-width: 767px) {
    .cobalt-narrow-table .table-responsive {
        border: 0;
    }
}

@media (min-width:992px) {
    .topMarginChange {
         margin-top: -18px;
    }
}

.powerGauge {
    margin: 12px;
}

.cobalt-narrow-table {
    width: 100%;
}

@media (min-width:560px) {
    .cobalt-narrow-table {
        width: 532px;
    }
}

@media (min-width:768px) {
    .cobalt-narrow-table {
        width: 740px;
    }
}

.filter-list .dropdown {
    margin: 3px 0;
}

/* Mandatory fields prompt can appear in header */

.navbar {
    min-height: 0px;
    margin-bottom: 0px;
    background-color: #FFF;
    
    border: var(--navbar-border-color);

    -moz-box-shadow: 0 0 8px var(--navbar-shadow);
    -webkit-box-shadow: 0 0 8px var(--navbar-shadow);
    box-shadow: 0 0 8px var(--navbar-shadow);
    padding: 0;
}

/* Allow dialogs to float over the navbar, helps with small screens */
.navbar.fixed-top {
    z-index: 9;
}

.navbar-toggle {
    border-color: var(--accent-color);
}

.navbar-toggle .icon-bar {
    background-color: var(--accent-color);
}

.navbar-brand {
    padding: 8px 15px;
    overflow: hidden;
}
.navbar-brand img {
    width: 206px;
}

.navbar-user>li>a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 128px;
}

@media (max-width:767px) {
    .navbar-user>li>a {
        max-width: 240px;
    }
}

@media (min-width:860px) {
    .navbar-user>li>a {
        max-width: 230px;
    }
}

@media (min-width:910px) {
    .navbar-user>li>a {
        max-width: 280px;
    }
}

@media (min-width:960px) {
    .navbar-user>li>a {
        max-width: 330px;
    }
}

.demo-title {
    font-size: medium;
    margin-top: 2px;
    position: fixed;
    bottom: 34px;
    transform: rotate(45deg);
    background-color: red;
    color: white;
    width: 200px;
    text-align: center;
    left: -54px;
    pointer-events: none;
    box-shadow: 6px 3px 9px -2px rgba(0, 0, 0, 3.14);
}

.navLogo {
    padding: 0px 8px;
}

@media (min-width:520px) {
    .navbar-logo {
        margin-left: -15px;
    }
    .navbar-brand {
        width: auto;
    }
}

@media (max-width:768px) {
    .navbar-logo {
        margin-left: -15px;
    }
    .navbar-nav {
        margin-right: 0; 
        margin-left: 0; 
    }
}

.tab-line {
    display:flex; justify-content:space-between;
    border-bottom: 1px solid #ddd;
    overflow: visible;
    box-shadow: inset 0px -4px 4px -3px rgba(0, 0, 0, 0.14);
    margin-bottom: 8px;
}

.tab-line button{
    height: 35px;
}

.nav-tabs {
    border-bottom: 0;
}

.nav-tabs>li.active>a {
    box-shadow: 3px -2px 4px -2px rgba(0, 0, 0, 0.14);
}

h4 small {
    line-height: 2;
    font-size: 65%;
    color: #333;
}

textarea {
    resize: none;
}

/* Workaround for safari iOS box-shadow box */

.dropdown-menu {
    -webkit-transform: translateZ(34px);
    transform: translate(0px, 34px);    
}

.nav .dropdown {
    margin-top: 6px;
}

.cobalt-navbar {
    display: flex;
    justify-content: left;    
}

.cobalt-navbar.narrow {
    display: grid;
    grid-template: 'navbar-left navbar-left navbar-left toggle'
                   'navbar-search navbar-search navbar-right navbar-right';
    justify-content: space-between;
}

.cobalt-navbar.extra-narrow {
    display: grid;
    grid-template: 'navbar-left navbar-left navbar-left  toggle'
                   'navbar-search navbar-search navbar-search navbar-search'
                   'navbar-right navbar-right navbar-right navbar-right';
    justify-content: space-between;
}

.cobalt-navbar-left {
    display: flex;
    grid-area: navbar-left;
}

.cobalt-navbar-right {
    display: flex;    
    justify-self: end;
    padding-right: 6px;
}

.cobalt-navbar-right-header {
    grid-area: navbar-right;
    justify-self: end;
    width: -moz-available;
    width: -webkit-fill-available;
    width: fill-available;
    display: grid;
}

/* Under the extra narrow header we remvoe the fill on the right nav buttons */
.cobalt-navbar.extra-narrow .cobalt-navbar-right-header {
    width: auto;
}

.cobalt-navbar-right-header.collapse {
  /*  display: none; */
}

/* Search box */
.navbar-search {
    margin-top: 6px;
}

.navbar-search input {
    width: 210px;
    margin-left: 10px;
    background-image: url("../images/search.svg");
    background-repeat: no-repeat;
    background-position: 185px 8px;
    background-size: 16px 16px;
    background-color: var(--bg-tinted-textbox);
    border-radius: 4px;
}

/* Auto-complete search textbox */
.autocomplete-search {
    margin-top: 6px; 
}

.autocomplete-search input {
    width: 300px;
    margin-left: 10px;
    background-image: url("../images/search.svg");
    background-repeat: no-repeat;
    background-position: 265px 8px;
    background-size: 16px 16px;
    background-color: var(--bg-tinted-textbox);
    border-radius: 4px;
}

.cobalt-searchselector {
    width: 270px;
    position: absolute;
    background-color: white;
    /* left: 0; */
    border: 1px solid var(--accent-color);
    /* margin-left: 22px; */
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.5);
    z-index: 100;
}

.cobalt-searchselector ul {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    width: 268px;
}

.cobalt-searchselector li {
    list-style: none;
    cursor: pointer;
    line-height: 1.1;
    color: var(--text-color);
}

.cobalt-searchselector li small {
    padding: 3px 4px 2px 0px;
    cursor: pointer;
    vertical-align: text-top;
}

.cobalt-searchselector li span {
    font-size: small;
    width: 230px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
    cursor: pointer;
    padding-top: 3px;
    padding-left: 2px;
}

.cobalt-autocomplete-item {
    font-size: small;
    width: 230px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
    cursor: pointer;
    padding-top: 3px;
    padding-left: 2px;
}

.cobalt-searchselector .selected-object,
.cobalt-searchselector li:hover {
    background-color: #ddd;
}

/* End of search box */

/*.nav .dropdown .btn {
    color: var(--nav-text-color);
    background-color: var(--nav-btn-background-color);
}*/

.nav .dropdown .btn:hover {
    background-color: var(--nav-btn-background-color-hover);
}

.nav .dropdown .glyphicon {
    font-size: 18px;
    vertical-align: middle;
}


/* Get rid of horizontal scrollbar in dialogs */

.form-horizontal .form-group {
    margin-right: 0px;
    margin-left: 0px;
}

.form-horizontal .form-group .checkbox input[type=checkbox] {
    margin-left: 0px;
}

.form-error {
    color: var(--red-brand);
}

.form-control,
.btn {
    border-radius: 3px;
}

.form-control.ng-invalid.ng-touched.ng-dirty {
    border: 1px solid red;
}

.form-inline input {
    display: inline-block;
}

.form-group {
    margin-bottom: 4px;
}

.form-label {
    margin-bottom: 2px;
}

.input-group-btn {
    display: flex;
}

.input-group-addon {
    padding: 7px 8px;
    border: 1px solid #ddd;
    border-radius: 3px 0px 0px 3px;
}

/* This allows us to add buttons to the right of controls in a form */

.form-group .input-group {
    width: 100%;
}

.form-group .input-group button {
    margin-left: 1px;
}

.form-group .input-group select {
    width: 174px;
}

.radio label {
    font-size: 14px;
    font-weight: bold;
}

.help-block {
    margin-top: 4px;
    display: block;
}

@media (min-width:450px) {
    .form-group .input-group select {
        width: 334px;
    }
}

@media (min-width:768px) {
    .form-group .input-group select {
        width: 510px;
    }
}

.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: "";
}

.breadcrumb {
    margin-bottom: 8px;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.14), 0px 1px 4px rgba(0, 0, 0, 0.28);
    background-color: var(--breadcrumb-background);
    color: var(--breadcrumb-text);
    font-family: "NHaas";
    font-weight: 400;
}
.breadcrumb .cobalt-droplinks button {
    background-color: var(--breadcrumb-background);
    color: var(--breadcrumb-text);
}

.breadcrumb a, .btn-link {
    color: var(--breadcrumb-text);
}

.breadcrumb>.active {
    color: var(--breadcrumb-active-text);
}

.breadcrumb li.emptyName btn:first {
    margin-left: -6px;
}

.breadcrumb li.emptyName droplinks:not([caretstyle="right"]) .btn-group {
    margin-left: -6px;
} 

.caret {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.caret2 {
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px solid transparent;
    border-top: 4px solid\9;
    border-right: 4px solid transparent;
    border-left: 4px dashed;
    border-bottom: 4px solid transparent;
    margin-bottom: 2px;
}

.caret2Filler {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 4px;
    vertical-align: middle;
    border-top: 4px solid transparent;
    border-top: 4px solid\9;
    border-right: 4px solid transparent;
    border-left: 4px dashed;
    border-bottom: 4px solid transparent;
    margin-bottom: 1px;
    margin-right: 2px;
}

.breadcrumb li.emptyName .btn .caret {
    margin-right: 1px
}

.alert {
    border-radius: 2px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.checkbox label {
    font-weight: 600;
}

.btn-xs {
    margin-right: 2px;
}

/* An icon link styled like a button with btn + a btn style eg btn-default */
.linkBtn>span {
    background-size: 20px 22px;
    background-position-y: -4px;
    background-position-x: -3px;
    color: var(--bs-btn-color);
    opacity: 1;
    font-size: large;
    line-height: 1px;
    vertical-align: -2px;
}

.btn-link {
    border: 0;
    font-size: 14px;
    padding-top: 0px;
    padding-bottom: 2px;
    padding-left: 0px;
    text-decoration: none;
}

.btn-site-link {
    text-decoration: underline;
}
.btn-site-link:hover {
    background-color: var(--accent-color-hover-focus);
}

.btn-new-window {
    width: 20px;
}
.btn-new-window>span {
    margin-left: 4px;
    font-size: smaller;
    vertical-align: text-top;
}

.btn-default.btn-toggle.active {
    background-color: var(--accent-color);
}

.btn-toggle:focus {    
    outline: 1px auto var(--accent-color);
}

.disabled-toggle {
    cursor: not-allowed;
    opacity: 0.5;
}

.disabled-toggle:hover {
    background-color: white;
}

list-table .alert .btn-link {
    vertical-align: baseline;
    user-select: text;
}

list-table table .btn-link {
    border: 0;
    font-size: small;
}

list-table table .icon-list-button {
    border: 1px solid #bbe;
    border-radius: 2px;
    padding-right: 1px;
    margin-right: 4px;
    background-color: #fcfcfc;
}

list-table table .icon-list-button:hover {
    background-color: #ddd;
    border-color: #666;
}

list-table table .icon-list-button span{
    left: -1px;
}

.btn-link-nospace {
    padding-right: 0px;
    text-decoration: underline;
}

.btn-primary,
.btn-primary[disabled] {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--accent-color-hover-focus);
    border-color: var(--accent-color-hover-focus);
    color: #fff;
}

.btn-primary.disabled.focus,
.btn-primary.disabled:focus,
.btn-primary.disabled:hover,
.btn-primary[disabled].focus,
.btn-primary[disabled]:focus,
.btn-primary[disabled]:hover {
    background-color: var(--accent-color-hover-disabled-focus);    
}

.btn-dialog-secondary:hover, .btn-dialog-secondary:focus,
.btn-file:active, .btn-file:active,
.btn-file:hover, .btn-file:hover {
    background-color:var(--accent-color-hover-focus);
    color: white;
}

a:focus {
    color: var(--text-color);
}

a:focus,
.btn:focus,
input[type=checkbox]:focus {
    outline: 1px auto var(--accent-color);
}

.btn.btn-primary:focus {
    border-color: #FFFFFF;
}

.form-control:focus, .btn:focus {
    border-color: var(--accent-color);
}

.labelFocus {
    border-color: #FFFFFF;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 10px rgba(0, 82, 96, .6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 10px rgba(0, 82, 96, .6);
}

.alert-info {
    color: #FFF;
    background-color: var(--accent-color-medium-light);
    border-color: var(--accent-color);
}

.alert-danger {
    background-color: var(--red-medium-brand);
}

.alert-info a {
    text-decoration: underline;
    cursor: pointer;
}

.alert-warning {
    background-color: var(--yellow-light-brand);
}

.listtable-fixedHeight {
    overflow: auto;
    display: block;
}

.nav-pills>li.active>a,
.nav-pills>li.active>a:focus,
.nav-pills>li.active>a:hover {
    color: #fff;
    background-color: var(--accent-color);
}

.nav-pills>li>a {
    border-radius: 0px;
}

.nav-stacked>li>a {
    position: relative;
    display: block;
    padding: 8px 15px;
}

.nav-stacked-small>li {
    float: none;
}

.nav-stacked-small>li>a {
    position: relative;
    display: block;
    padding: 2px 15px;
}

.nav-stacked-small .navHeader {
    width: 100%;
    position: relative;
    display: block;
    padding: 7px 10px;
    float: none;
    color: var(--nav-text-color);
    background-color: var(--nav-header);
    white-space: nowrap;
    cursor: pointer;
}

droplinks.btn .cobalt-droplinks button {
    padding-left: 0; 
    padding: 4px 12px;
    border: 1px solid #aaa;
    vertical-align: middle;
    margin-bottom: 4px;
    margin-left: -13px!important;
}

.cobalt-droplinks .emptyList {
    margin-left: 16px;
    cursor: pointer;
}

.nav-stacked {
    margin-bottom: 8px;
}

.nav-stacked>li {
    float: left;
}

@media (min-width: 992px) {
    .nav-stacked>li {
        float: none;
    }
}

.reportTitle {
    padding: 8px 12px;
    background-color: var(--report-title-background);
    color: var(--dropdown-btn-color);
    position: relative;
    float: left;
}

.sysOpOnly::before {
    content:"\f47a";
}

cobalt-field-number {
    width: 70px;
}

.row-border {
    border: solid 1px;
}

.cobalt-justify-text {
    text-align: justify;
}

.btn-file {
    /* position: relative; */
    overflow: hidden;
}
.btn-file input[type=file] {
    position: absolute;
    top: 0;
    left: 50px;
    width: 100px;
    height: 30px;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

.peak-widget {
    fill: #006058;
}

.con-widget {
    fill: #722;
}

.boxLink {
    display: inline-block;
}

.boxLink:hover {
    text-decoration: none;
    border-color: var(--accent-color);
    -webkit-box-shadow: inset 0 1px 1px rgba(var(--accent-r), var(--accent-g), var(--accent-b), .075), 0 0 8px rgba(var(--accent-r), var(--accent-g), var(--accent-b), .6);
    box-shadow: inset 0 1px 1px rgba(var(--accent-r), var(--accent-g), var(--accent-b), .075), 0 0 8px rgba(var(--accent-r), var(--accent-g), var(--accent-b), .6);
}

.cobalt-dial-container {
    text-align: center;
    width: 155px;
    display: inline-block;
    vertical-align: top;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 2px 2px 4px #ccc;
}

.dial-title {
    margin: 4px 0;
}

@media (prefers-reduced-motion: no-preference) {
    .cobalt-dial-container svg circle {
        animation: dial-offset 0.5s linear forwards;
    }
}

@keyframes dial-offset {
    0% {
        opacity: .1;
        -webkit-transform: scale(0.1) rotate(-180deg);
        transform: scale(0.1)  rotate(-180deg);
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1) rotate(0);
        transform: scale(1) rotate(0);
    }
}

@media (min-width: 768px) {
    .cobalt-dial-container {
        width: 155px;
    }

    .cobalt-dial-wide {
        width: 160px;
    }
}

@media (min-width: 992px) {
    .cobalt-dial-container {
        width: 160px;
    }
}

.cobalt-dial-container {
    color: #333;
    font-size: 85%;
}

cobalt-dial text {
    font-size: 130%;
}

.cobalt-dial-container hr, .drDashPanel hr {
    margin-top: 5px;
    margin-bottom: 5px;
    border-top: 1px solid #ccc;
}

cobalt-dial tspan.units {
    font-size: small;
}

.cobalt-dial-minicircle {
    border-radius: 20px;
    width: 35px;    
    display: inline-block;
    height: 35px;
    padding-top: 5px;
    font-size: large;
    color: #333;
    border: 1px solid #333;
    margin: 4px 8px;
}

.cobalt-dial-minicircle.active {
    background-color: var(--dr-active-background); 
    color: var(--dr-active-color); 
}

.cobalt-dial-minicircle.pending {
    background-color: var(--dr-pending-background);    
    color: var(--dr-pending-color);    
}

/* Shown in schedule report dialog */
.readOnlyFilter {
    display: inline-block;
    padding: 6px 12px;
    margin: 5px 8px 0px;
    text-align: center;
    white-space: nowrap;
    background-color: #eee;
    border: 1px solid #ddd;
}

/* If it's the last child then set height to 85px - this is the buffer on the bottom of the charts*/
.chartHolderDiv div:last-child {
    height: 110px;
}
/* But of there is only one chart (this is the second item) then don't do it */
.chartHolderDiv div:last-child:nth-child(2) {
    height: 0;
}

.dashboard {
    display:grid;
    grid-gap: 10px;
    grid-template: 'a' 
    'pills' 136px
    'graphs'
    'siteHealth'
    'deviceHealth';
}
.dashboardDr {
    grid-template: 'a a' 
                'pills pills' 92px
                'graphs graphs'
                'siteHealth'
                'deviceHealth'
                '. dr dr';
}

.dashboardDrNoSavings {
    grid-template: 'siteHealth'
                'deviceHealth'
                'dr';
}

.dashboard {
    display:grid;
    grid-gap: 10px;
}

@media (min-width:768px) {
    .dashboard {
        grid-template: 'a a' 
                    'pills pills' 92px
                    'graphs graphs'
                    'siteHealth deviceHealth';             
    }
    .dashboardDr {
        grid-template: 'a a' 
                    'pills pills' 92px
                    'graphs graphs'
                    'siteHealth deviceHealth'
                    '. dr dr';
    }
    .dashboardDrNoSavings {
        grid-template: 'siteHealth'
                    'deviceHealth'
                    'dr';
    }
}

@media (min-width:1320px) {
    .dashboard {
            grid-template: 'a a a pills pills pills' 92px
            'graphs graphs graphs graphs graphs graphs'
            'siteHealth siteHealth siteHealth deviceHealth deviceHealth deviceHealth';
    }  
    
    .dashboardDr {
        grid-template: 'a a pills pills pills' 92px
                        'graphs graphs graphs graphs graphs'
                        'siteHealth siteHealth deviceHealth deviceHealth dr';
    }  

    .dashboardDrNoSavings {
        grid-template: 'siteHealth siteHealth deviceHealth deviceHealth dr';
    }
}

.pills {
    display: grid;
    grid-template: 'h' 22px
                   'p';
    grid-gap: 10px
}

.dials {
    display: grid;
    grid-template: 'h' 45px
                   'p';
}

.pills>div:nth-child(2) {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-evenly;
   gap: 14px;
}

.dials>div:nth-child(2) {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: 8px;
 }
 
.graphs {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 10px;
}

.graphs>div {
    height: 300px;
    width: 320px;
    padding: 0px;
    flex-grow: 1;
    border: 1px solid #ccc;
    box-shadow: 2px 2px 4px 1px #ccc;
    border-radius: 4px;
}

.dashboard > div {
    text-align: center;
    border: 1px solid #ccc;
    box-shadow: 2px 2px 4px 1px #ccc;
    border-radius: 4px;
}

.dashboard h4 {
    margin-top: 8px;
    margin-bottom: 4px;
}

.drDashPanel {
    font-size: 85%;
    text-align: center;
}

.drDashPanel table {
    width: 150px;
    margin-bottom: 4px;
}

.drDashPanel table td:nth-child(1) {
    text-align: left;
}

.drDashPanel table td:nth-child(2) {
    text-align: right;
}

.cobalt-card-header {
    display: flex;
}

.cobalt-outer-card-header {
    display:flex;
    justify-content:space-between;
    background-color: var(--accent-color-extra-light);
    cursor: pointer;
    display:flex;
}

.cobalt-card-header > div {
    width: 20%;
    min-width: 90px;
}

.cobalt-card-items {
    padding-left: 40px;
    width: 100%;    
}

.list-group {
    list-style-type: none;
}

.cobalt-incident-device-header {
    display: flex;
    justify-content: space-between;
    padding: 6px;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    margin-left: 12px;
    margin-top: 4px;
    margin-bottom: 4px;    
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    cursor: pointer;
    background-color: var(--bg-tinted-textbox);
}

.cobalt-incident-device-header-info {
    display: flex;
    justify-content: start;
    gap: 8px;
}

.cobalt-queue-header {
    cursor: pointer;
    display:flex;
    justify-content: space-between;
    background-color: var(--accent-color);
    color: #fff;
    padding: 6px;
    border-start-start-radius: 4px;
    border-start-end-radius: 4px;
    & > div {
        font-weight: bold;
    }
    & > button {
        color: #FFF;
    }
    & > button:focus {
        color: #999;
    }
}

.cobalt-queue-header:hover {
    background-color: var(--accent-color-light);
}

.queue-items-container {
    width: 100%;
    margin-bottom: 4px;
}

.queue-items {
    padding: 6px;
    border: 1px solid #ccc;
    width: 100%;
}

.incident-tags {
    display: flex;
    justify-content:space-between;
    padding: 6px;
    padding-left: 16px;
    padding-right: 16px;
    border-bottom: 1px solid #ccc;
    background-color: var(--accent-color-extra-light);
    & > div:not(first-child) {
        margin-left: 0;
        display: flex;
        justify-content: flex-end;
        gap: 6px
    }
}

.schedule-report-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 26px;
    align-items: end;
}

.internal-link-icon {
    margin-left: 6px;
    border-radius: 8px;
    & > span {
        border-radius: 8px;
        font-size: small;
        background-color: rgba(140, 120, 140, 0.3);    
        color: #453b3b;
        padding: 0 3px;
    }

    & > span:hover {
        background-color: rgba(245, 241, 245, 0.4);    
        color: rgb(34, 25, 59);
    }
}

.month-picker-filter {
    display: inline-block;
    border: 1px solid #ddd;
    margin-left: 8px;
    height: 34px;
    width: 160px;
    vertical-align: middle;
}

.month-picker {
    display: inline-block;
    width:100%;
    justify-content: space-between;
    & > button {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width:100%;
        height: 32px;
    }
}

.month-picker-panel {
    position: relative;
    top: 0px;
    left: 0px;
    width: 260px;
    height: 180px;
    background-color: #fff;
    border: 1px solid #999;
    z-index: 8;

    border-radius: var(--bs-dropdown-border-radius);
    box-shadow: 0px 2px 3px 0px #999;

    & .year-selector {
       display: flex;
       justify-content: space-around;
       padding: 6px 0;
       align-items: center;
       height: 40px;
       border-bottom: 1px solid #ddd;
    }
}

.month-picker-button {
    border: 1px solid #ddd;
    background-color: white;
    cursor: pointer;
    padding: 4px 8px;
}

.month-picker-button:hover {
    background-color: #ddd;
}

.month-picker-months {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    & > div {
        text-align: center;
        padding: 8px 0;
        cursor: pointer;        
    }
    & > div:hover {
        background-color: #ddd;
    }
    & > div.active {
        background-color: var(--accent-color-extra-light);
    }
}

.month-picker-selected {
    background-color: var(--accent-color)!important;
    color: white;
}

.month-picker-filter.report-filter > button:not(.defaultItem) {
    box-shadow: inset 0px 0px 0px 2px var(--accent-color-light);
 }
 
 .month-picker-filter:not(.defaultItem) {
     box-shadow: inset 0px 0px 0px 2px var(--accent-color-light);
 }