/* COLORS */
/* FreeWave Blue          #323E48 */
/* Modusense Green (+25%)   #5a6670 */
/* Modusense Green (-25%)   #0a1620 */
/* Modusense Grey           #797a7d */
/* Modusense Grey (+25%)    #9a9b9d */
/* Modusense Grey (-25%)    #5a5b5d */
/* Modusense White          #fdfdfd */
/* Modusense Green Alt      #a4c48d */
/* Modusense Grey Light         #bfc4c3 */
/* Modusense Grey Light (+25%)  #ced2d2 */
/* Modusense Grey Light (-25%)  #8c9593 */
/* Modusense Warning  #ffc107 */
/* Modusense Danger  #ba000d */

/* Global overrides */
html, body {
    /* These are on the styles.scss now */
    /*color: rgba(0,0,0,.87);*/
    /*font-family: 'Roboto', sans-serif;*/
    overflow-x: hidden;
}

code {
    font-family: 'Roboto Mono', monospace;
    color: #797a7d;
    background-color: #f0f0f0;
    border-radius: 4px;
    padding: 4px;
    display: inline;
}

i {
    font-style: normal !important;
}

*:focus {
    outline: none;
}

p {
    margin-bottom: 0;
}

.pe-none {
    pointer-events: none !important;
}

/* Modusense App Styles */
body.login {
    background-color: #181B29;
    width: 100vw;
    height: 100vh !important;
}

body.login .login-box {
    width: 360px;
}

body.login img.logo {
    max-width: 420px;
    max-height: 280px;
    width: 100%;
    padding-bottom: 16px;
}

div.wrapper {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

nav.main-header {
    position: sticky !important;
    top: 0 !important;
    bottom: initial !important;
    left: initial !important;
    right: initial !important;
}

div.content-wrapper {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    flex: 1 !important;
    position: relative;
}

div.content-wrapper .inner-wrapper {
    display: flex;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    /* Added so that footer does not block the content of the inner-wrapper */
    /* Set for small mobile */
    margin-bottom: 126px !important;
}

/* Added so that footer does not block the content of the inner-wrapper (For different screen size) */
/* Set for big mobile */
@media screen and (min-width: 310px) {
    div.content-wrapper .inner-wrapper {
        margin-bottom: 86px !important;
    }
}

/* Added so that footer does not block the content of the inner-wrapper (For different screen size) */
/* Set for laptop */
@media screen and (min-width: 768px) {
    div.content-wrapper .inner-wrapper {
        margin-bottom: 60px !important;
    }
}

/* Added so that footer does not block the content of the inner-wrapper (For different screen size) */
/* Set for bigger screen */
@media screen and (min-width: 992px) {
    div.content-wrapper .inner-wrapper {
        margin-bottom: 42px !important;
    }
}

footer.main-footer {
    margin-left: 258px !important;
    position: fixed !important;
    top: initial !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
}

footer.main-footer {
    color: rgba(0,0,0,0.83);
}

div.content-wrapper {
    background-color: #f8f8f8;
}

.content-header {
    padding: 1.5rem 1.5rem;
}

div.content-wrapper section.content {
    padding: 0 1.5rem;
    flex-grow: 1;
}

nav.main-header {
    max-width: 100vw;
}

nav.main-header div.search-wrapper input {
    width: 100%;
    transition: width 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

nav.main-header div.search-wrapper input:focus {
    width: 100%;
}

@media screen and (min-width: 576px) {
    nav.main-header div.search-wrapper input {
        width: 206px;
    }

    nav.main-header div.search-wrapper input:focus {
        width: 320px;
    }
}

@media screen and (min-width: 768px) {
    nav.main-header div.search-wrapper input:focus {
        width: 460px;
    }
}

div.user-profile img {
    max-width: 320px;
    max-height: 320px;
    aspect-ratio: 1;
    object-fit: cover;
}

div.max-width-container-xs {
    max-width: 800px;
    width: 100%;
    height: 100%;
    margin: auto;
    position: relative;
    display: flex;
    flex-direction: column;
}

div.max-width-container, div.max-width-container-sm {
    max-width: 1000px;
    width: 100%;
    height: 100%;
    margin: auto;
    position: relative;
    display: flex;
    flex-direction: column;
}

div.max-width-container-md {
    max-width: 1200px;
    width: 100%;
    height: 100%;
    margin: auto;
}

div.max-width-container-lg {
    max-width: 1400px;
    width: 100%;
    height: 100%;
    margin: auto;
    position: relative;
    display: flex;
    flex-direction: column;
}

div.max-width-container-xl {
    max-width: 1600px;
    width: 100%;
    height: 100%;
    margin: auto;
    position: relative;
    display: flex;
    flex-direction: column;
}

.vh-75 {
    height: 75vh;
}

table td, table th {
    padding: 4px;
}

table.role-table {
    background-color: #fff;
    border-radius: 4px;
    font-size: 13px;
}

table.role-table tr th {
    border-bottom: 1px solid #e0e0e0;
}

table.role-table tr th, table.role-table tr td {
    padding: 8px 16px;
}

table.role-table tr td:first-of-type {
    white-space: nowrap;
}

table.role-table tr td, table.role-table tr th {
    text-align: center;
}

table.role-table tr:first-of-type td {
    border-top: 2px solid #e0e0e0;
}

table.role-table tr th:not(:last-of-type) {
    border-right: 1px solid #e0e0e0;
}

div.permission-circle {
    border: 1px solid rgba(0,0,0,0);

    border-radius: 50%;
    width: 26px;
    height: 26px;

    cursor: pointer;

    display: inline-block;
}

div.permission-circle.disabled {
    pointer-events: none;
}

div.permission-circle div.permission-inner-circle {
    border: 1px solid #797a7d;
    background-color: #fff;

    border-radius: 50%;
    width: 18px;
    height: 18px;
    margin: 2px;

    display: flex;
    flex-direction: row;
    overflow: hidden;

    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
}

div.permission-circle:hover div.permission-inner-circle {
    background-color: rgba(50, 62, 72, 0.2);
    border-color: #323E48;
}

div.permission-circle:active div.permission-inner-circle {
    background-color: rgba(50, 62, 72, 0.4);
    border-color: #323E48;
}

div.permission-circle.permission-read div.permission-inner-circle,
div.permission-circle.permission-write div.permission-inner-circle,
div.permission-circle.permission-admin div.permission-inner-circle {
    border: 1px solid #757575;
}

div.permission-circle.permission-read:hover div.permission-inner-circle,
div.permission-circle.permission-write:hover div.permission-inner-circle,
div.permission-circle.permission-admin:hover div.permission-inner-circle {
    border-color: #323E48;
    background-color: rgba(50, 62, 72, 0.2);
}

div.permission-circle.permission-read:active div.permission-inner-circle,
div.permission-circle.permission-write:active div.permission-inner-circle,
div.permission-circle.permission-admin:active div.permission-inner-circle {
    background-color: rgba(50, 62, 72, 0.4);
}

div.permission-circle div.permission-inner-circle > div {
    display: inline-block;
    width: 50%;
    height: 100%;
    border-color: #bfc4c3;
}

div.permission-circle.permission-read div.permission-inner-circle > div:first-of-type,
div.permission-circle.permission-write div.permission-inner-circle > div:last-of-type {
    background-color: #bfc4c3;

    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color;
}

div.permission-circle.permission-read:hover div.permission-inner-circle > div:first-of-type,
div.permission-circle.permission-write:hover div.permission-inner-circle > div:last-of-type {
    background-color: #5a6670;
}

div.permission-circle.permission-read:active div.permission-inner-circle > div:first-of-type,
div.permission-circle.permission-write:active div.permission-inner-circle > div:last-of-type {
    background-color: #323E48;
}

div.permission-circle.permission-admin {
    border: 1px solid #323E48;
}

/* Styles overriding DataTables styles */
table.dataTable {
    margin: 0 !important;
    font-size: 13px;
    background-color: #fff;
    border-bottom: none;
    border-radius: 4px;
    width: 100% !important;
}

table.dataTable td, table.dataTable th {
    padding: 8px;
    vertical-align: middle;
    border: none;
    border-bottom: 1px solid #e0e0e0;
}

table.dataTable tr:last-of-type td {
    border-bottom: none
}

table.dataTable tr td:first-of-type, table.dataTable tr th:first-of-type {
    padding-left: 16px;
}

table.dataTable td:last-child:not(.dataTables_empty), table.dataTable th:last-child:not(.dataTables_empty) {
    width: 1px;
    text-align: right;
    white-space: nowrap;
}

table.dataTable tr:last-of-type td {
    border-bottom: none
}

table.dataTable tr.expanded + tr {
    background-color: rgba(0,0,0,.1);
}

table.dataTable tr.expanded + tr td.force-wrap {
    width: auto;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}

div.table-scroll-wrapper {
    overflow-y: auto;
    clear: both;
    border-radius: 4px;
}

div.dataTables_wrapper div.dataTables_length {
    float: left;
}

div.dataTables_wrapper div.dataTables_length label {
    line-height: 38px;
    height: 38px;
    margin-bottom: 16px;
}

div.dataTables_wrapper div.dataTables_length span.select2 {
    width: 72px !important;
    display: inline-block;
}

div.dataTables_wrapper div.dataTables_filter {
    float: right;
}

div.dataTables_wrapper div.dataTables_filter label {
    margin-bottom: 16px;
}

div.dataTables_wrapper div.dataTables_info {
    padding: 0;
    margin-top: 16px;
    float: left;
}

div.dataTables_wrapper div.dataTables_paginate {
    margin-top: 16px;
    float: right;
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button {
    border: 1px solid #323E48;
    border-right: none;
    color: #0a1620;
    padding: 6px 12px;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    font-weight: 500;

    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
}

div.dataTables_wrapper div.dataTables_paginate span.ellipsis {
    border: 1px solid #323E48;
    border-right: none;
    color: #0a1620;
    padding: 6px 12px;
    cursor: default;
    display: inline-block;
    text-decoration: none;
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button:hover {
    background-color: rgba(50, 62, 72, 0.2);
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button:active {
    background-color: rgba(50, 62, 72, 0.4);
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button.previous {
    border-radius: 4px 0 0 4px;
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button.current {
    background-color: #323E48;
    border-color: #323E48;
    color: #fff;
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button.current:hover {
    background-color: #5a6670;
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button.next {
    border-right: 1px solid #323E48;
    border-radius: 0 4px 4px 0;
}

div.dataTables_wrapper th {
    border: none;
    border-bottom: 1px solid #e0e0e0;
}

div.dataTables_wrapper td {
    border: none;
    border-bottom: 1px solid #e0e0e0;
}

td.dataTables_empty {
    text-align: center;
    padding: 16px;
    font-size: 14px;
}

td.dataTables_empty {
    text-align: center;
    padding: 16px;
    font-size: 14px;
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    div.dataTables_wrapper table {
        font-size: 12px;
    }

    div.dataTables_wrapper div.dataTables_length,
    div.dataTables_wrapper div.dataTables_filter,
    div.dataTables_wrapper div.dataTables_info,
    div.dataTables_wrapper div.dataTables_paginate {
        float: none;
    }
}

/* Styles overriding default admin styles */
body.modusense aside.main-sidebar .sidebar .os-content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.modusense aside.main-sidebar div.user-panel {
    border: none;
    border-bottom: 1px solid rgba(255,255,255,.2);
    padding: 8px;
    margin: 0 -8px;
    background-color: #323E48;

    position: sticky;
    bottom: 0;
    box-sizing: content-box;

    flex-shrink: 0;
    cursor: pointer;

    transition: background-color 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

body.modusense aside.main-sidebar div.user-panel:hover {
    background-color: #5a6670;
}

body.modusense aside.main-sidebar div.user-panel img {
    width: 42px;
    height: 42px;
    object-fit: cover;
}

#settings-dropdown, #questions-dropdown, #actions-dropdown{
    cursor: pointer;
}

#actions-dropdown-menu {
    position: fixed;
    left: auto;
    right: 92px;
    bottom: unset;
    top: 48px;
    width: 200px;
    display: block;
    opacity: 1;
    transition: opacity 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
    pointer-events: all;
}

#questions-dropdown-menu {
    position: fixed;
    left: auto;
    right: 60px;
    bottom: unset;
    top: 48px;
    width: 200px;
    display: block;
    opacity: 1;
    transition: opacity 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
    pointer-events: all;
}

#settings-dropdown-menu {
    position: fixed;
    left: auto;
    right: 25px;
    bottom: unset;
    top: 48px;
    display: block;
    opacity: 1;
    transition: opacity 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
    pointer-events: all;
}

body.modusense aside.main-sidebar hr.nav-divider {
    background-color: rgba(255,255,255,.6);
    margin: .5em;
}

body.modusense.sidebar-collapse aside.main-sidebar li.nav-item ul.nav-treeview {
    display: none !important;
}

body.modusense.sidebar-collapse aside.main-sidebar:hover li.nav-item.menu-is-opening ul.nav-treeview {
    display: block !important;
    /*height: 16px;*/
}

body.modusense nav.main-header a.btn-icon-toolbar {
    margin-top: 1px;
}

body.modusense .navbar-expand .navbar-nav .dropdown-menu {
    top: 48px;
}

body.modusense .text-muted {
    color: rgba(0,0,0,0.6) !important;
}

body.modusense .text-semibold {
    font-weight: 500;
}

body.modusense .text-muted-light {
    color: rgba(255,255,255,0.8) !important;
}

body.modusense .text-primary {
    color: #323E48 !important;
}

body.modusense .text-danger {
    color: #ba000d !important;
}

body.modusense .text-warning {
    color: #e9ab00 !important;
}

body.modusense .bg-primary {
    background-color: #323E48 !important;
}

body.modusense .bg-danger {
    background-color: #ba000d !important;
}

body.modusense .bg-theme {
    background-color: #323E48 !important;
}

body.modusense .bg-theme-light {
    background-color: #5a6670 !important;
}

body.modusense .bg-theme-dark {
    background-color: #0a1620 !important;
}

body.modusense .border-theme {
    border-color: #323E48 !important;
}

body.modusense .border-theme-light {
    border-color: #5a6670 !important;
}

body.modusense .border-theme-dark {
    border-color: #0a1620 !important;
}

body.modusense .text-theme, .text-theme {
    color: #ffffff !important;
}

body.modusense .text-theme-inverted {
    color: rgba(0,0,0,.87) !important;
}

body.modusense .icon-text-theme {
    color: rgba(255,255,255,.8) !important;
}

body.modusense .icon-text-theme-inverted {
    color: rgba(0,0,0,.6) !important;
}

body.modusense .border-strong-top {
    border-top: 2px solid rgba(0,0,0,.6) !important;
}

body.modusense .border-top {
    border-top: 1px solid rgba(0,0,0,.2) !important;
}

.bg-white {
    background-color: white !important;
}

.text-elevation-1 {
    text-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.text-elevation-2 {
    text-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

.text-white-outline {
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

/* Datepicker styles */
.datepicker-top-left, .datepicker-top-right {
    border-top-color: #323E48;
}

.datepicker-top-left:before, .datepicker-top-right:before {
    border-bottom-color: #323E48;
}

.datepicker-bottom-left, .datepicker-bottom-right {
    border-bottom-color: #323E48;
}

.datepicker-bottom-left:before, .datepicker-bottom-right:before {
    border-top-color: #323E48;
}

.datepicker-panel>ul:not(:first-of-type)>li {
    border-radius: 4px;
}

.datepicker-panel>ul>li:hover {
    background-color: rgba(50, 62, 72, 0.2);
}

.datepicker-panel>ul>li:active {
    background-color: rgba(50, 62, 72, 0.4);
}

.datepicker-panel>ul>li.highlighted {
    background-color: rgba(50, 62, 72, 0.2);
}

.datepicker-panel>ul>li.highlighted:hover {
    background-color: rgba(50, 62, 72, 0.4);
}

.datepicker-panel>ul>li.picked {
    background-color: #323E48;
    color: white;
}

.datepicker-panel>ul>li.picked:hover {
    background-color: #5a6670;
    color: white;
}


/* Link Styles */
a.link {
    color: #323E48;
}
a.link:hover {
    color: #323E48;
    text-decoration: underline;
}

/* Toolbar Styles */
div.toolbar {
    background-color: #323E48;
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 54px;
    align-items: center;
    padding: 0 4px;
}

div.toolbar.toolbar-light {
    background-color: #fff;
    border-bottom: 1px solid #e0e0e0;
}

div.toolbar > * {
    margin: 0 4px;
}

div.toolbar span.toolbar-title {
    padding: 0 12px;
    font-size: 18px;
    color: #fff;
}

div.toolbar span.toolbar-spacer {
    width: 32px;
}

div.toolbar span.toolbar-fill-space {
    flex: 1;
}

.btn.btn-toolbar, a.btn.btn-toolbar {
    border-radius: 4px;
    padding: 0 12px;
    height: 38px;
    line-height: 38px;

    color: rgba(255,255,255,0.8);
    background-color: rgba(255,255,255,0);
    border: none;
}

.btn.btn-toolbar-small, a.btn.btn-toolbar-small {
    border-radius: 4px;
    padding: 0 8px;
    height: 26px;
    line-height: 26px;
    font-size: 14px;

    color: rgba(255,255,255,0.8);
    background-color: rgba(255,255,255,0);
    border: none;
}

.btn.btn-toolbar:hover, a.btn.btn-toolbar:hover,
.btn.btn-toolbar-small:hover, a.btn.btn-toolbar-small:hover {
    color: #fff;
    background-color: rgba(255,255,255,0.2);
}

.btn.btn-toolbar:active, a.btn.btn-toolbar:active,
.btn.btn-toolbar-small:active, a.btn.btn-toolbar-small:active {
    color: #fff;
    background-color: rgba(255,255,255,0.4);
}

.btn.btn-icon-toolbar, a.btn.btn-icon-toolbar {
    border-radius: 50%;
    padding: 0;
    height: 38px;
    line-height: 38px;
    width: 38px;

    color: rgba(255,255,255,0.8);
    background-color: rgba(255,255,255,0);
    border: none;
}

.btn.btn-icon-toolbar:hover, a.btn.btn-icon-toolbar:hover {
    color: #fff;
    background-color: rgba(255,255,255,0.2);
}

.btn.btn-icon-toolbar:active, a.btn.btn-icon-toolbar:active {
    color: #fff;
    background-color: rgba(255,255,255,0.4);
}

.btn.btn-icon-toolbar-small {
    border-radius: 50%;
    padding: 0;
    height: 26px;
    line-height: 26px;
    width: 26px;

    color: rgba(255,255,255,0.8);
    background-color: rgba(255,255,255,0);
    border: none;
}

.btn.btn-icon-toolbar-small:hover, a.btn.btn-icon-toolbar-small:hover {
    color: #fff;
    background-color: rgba(255,255,255,0.2);
}

.btn.btn-icon-toolbar-small:active, a.btn.btn-icon-toolbar-small:active {
    color: #fff;
    background-color: rgba(255,255,255,0.4);
}

.btn.btn-icon-toolbar-small i {
    font-size: 12px;
    transform: translate(0, -1px);
}

.toolbar.toolbar-light span.toolbar-title {
    color: rgba(0,0,0,0.87);
}

.btn.btn-toolbar.light,
a.btn.btn-toolbar.light,
.btn.btn-toolbar-small.light,
a.btn.btn-toolbar-small.light,
.btn.btn-icon-toolbar.light,
a.btn.btn-icon-toolbar.light,
.btn.btn-icon-toolbar-small.light,
a.btn.btn-icon-toolbar-small.light {
    color: rgba(0,0,0,0.87);
    background-color: rgba(0,0,0,0);
}

.btn.btn-toolbar.light:hover,
a.btn.btn-toolbar.light:hover,
.btn.btn-toolbar-small.light:hover,
a.btn.btn-toolbar-small.light:hover,
.btn.btn-icon-toolbar.light:hover,
a.btn.btn-icon-toolbar.light:hover,
.btn.btn-icon-toolbar-small.light:hover,
a.btn.btn-icon-toolbar-small.light:hover {
    background-color: rgba(0,0,0,0.1);
}

.btn.btn-toolbar.light:active,
a.btn.btn-toolbar.light:active,
.btn.btn-toolbar-small.light:active,
a.btn.btn-toolbar-small.light:active,
.btn.btn-icon-toolbar.light:active,
a.btn.btn-icon-toolbar.light:active,
.btn.btn-icon-toolbar-small.light:active,
a.btn.btn-icon-toolbar-small.light:active {
    background-color: rgba(0,0,0,0.2);
}

.btn.btn-icon-toolbar:disabled,
.btn.btn-icon-toolbar-small:disabled {
    color: rgba(255,255,255,.6);
    cursor: default;
    pointer-events: none;
    opacity: 1 !important;
}

.btn.btn-icon-toolbar.light:disabled,
.btn.btn-icon-toolbar-small.light:disabled {
    color: #8d8d8d;
    cursor: default;
    pointer-events: none;
    opacity: 1 !important;
}

/* Card styles */
div.card {
    margin: 0;
}

div.card .card-header {
    padding: 1rem;
    font-size: 1.15rem;
    font-weight: 500;
    display: flex;
    align-items: center;
}

/* Checkbox styles */
.form-group.checkbox {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.form-group.checkbox label {
    margin-bottom: 0;
    margin-left: 6px;
    user-select: none;
    white-space: nowrap;
    font-weight: 400 !important;
}

.form-group.checkbox input[type="checkbox"] {
    -webkit-appearance: none;

    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;

    width: 16px;
    min-width: 16px;
    height: 16px;
    min-height: 16px;

    color: #0a1620;
    border: 1px solid #323E48;
    border-radius: 4px;

    position: relative;
}

.form-group.checkbox input[type="checkbox"]:hover {
    background-color: rgba(50, 62, 72, 0.2);
}

.form-group.checkbox input[type="checkbox"]:active {
    background-color: rgba(50, 62, 72, 0.4);
    border-color: #323E48;
    color: #0a1620;
}

.form-group.checkbox input[type="checkbox"]:checked {
    background-color: #323E48;
    border-color: #323E48;
}

.form-group.checkbox input[type="checkbox"]:checked:hover {
    background-color: #5a6670;
}

.form-group.checkbox input[type="checkbox"]:checked:active {
    background-color: #323E48;
    border-color: #323E48;
}

.form-group.checkbox input[type="checkbox"]:checked::after {
    content: '\2713';
    font-size: 13px;
    font-weight: 700;
    position: absolute;
    top: -2px;
    left: 0;
    right: 0.5px;
    color: #fff;
    text-align: center;
}

.form-group.checkbox input[type="checkbox"]:disabled {
    pointer-events: none;
    background-color: #eeeeee !important;
    border-color: #bdbdbd !important;
    color: #8d8d8d !important;
    cursor: default;
    opacity: 1 !important;
}

/* Input styles */
input.form-control, textarea.form-control {
    border-radius: 4px;
    font-size: 16px;
    padding: 6px 12px;

    border-color: #bdbdbd;
    background-color: rgba(255, 255, 255, 0.2);

    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
}

input.form-control:hover, textarea.form-control:hover {
    background-color: rgba(191, 196, 195, 0.2);
}

input.form-control:active, textarea.form-control:active {
    background-color: rgba(191, 196, 195, 0.4);
}

input.form-control:focus, textarea.form-control:focus {
    border-color: #323E48;
    background-color: #fff;
}

input.form-control:disabled, textarea.form-control:disabled,
input.form-control[readonly]:disabled, textarea.form-control[readonly]:disabled{
    pointer-events: none;
    background-color: #eeeeee;
    border-color: #bdbdbd;
    color: #8d8d8d;
    cursor: default;
    opacity: 1 !important;
}

input.form-control[readonly], textarea.form-control[readonly] {
    background-color: rgba(255, 255, 255, 0.2);
}

input.plain {
    background: transparent;
    border: none;
}

.form-group {
    margin-bottom: 0;

    position: relative;
}

.form-group p {
    padding: 6px 0;
}

.form-group label {
    font-weight: 500 !important;
    margin-bottom: 4px;
    color: rgba(0,0,0,0.6)
}

.form-group label.error {
    font-size: 14px;
    color: #ba000d;
    font-weight: 500;
    margin: 0;
    margin-top: .25rem;
}

.form-group.has-error label {
    color: #ba000d;
}

.form-group.has-error.checkbox label.error {
    margin-top: .5rem;
}

.form-group.has-error input.form-control, .form-group.has-error textarea.form-control {
    border-color: #ba000d !important;
}

.form-group .input-right {
    position: absolute;
    bottom: 7px;
    right: 7px;
}

.form-group .btn.btn-icon-toolbar-small.input-right {
    position: absolute;
    bottom: 6px;
    right: 6px;
}

.form-group .input-group .input-group-text {
    border-color: #bdbdbd;
    background-color: rgba(191, 196, 195, 0.2);
}

/* Search input styles */
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration {
    -webkit-appearance:none;
}

div.search-wrapper {
    display: inline-block;
    position: relative;
    width: 100%;
}

div.search-wrapper input {
    border: 1px solid rgba(0,0,0,0.0);
    background-color: rgba(0,0,0,0.1);
    padding-left: 12px;
    padding-right: 34px;
    height: 38px;
    line-height: 38px;
    border-radius: 4px;
    color: rgba(0,0,0,0.87);
    width: 100%;
    font-size: 14px;

    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
}

div.search-wrapper input:hover {
    background-color: rgba(0,0,0,0.2);
}

div.search-wrapper input:focus {
    border-color: #323E48;
    background-color: #fff;
}

div.search-wrapper > i {
    position: absolute;
    right: 12px;
    top: 0;
    line-height: 38px;
    color: rgba(0,0,0,0.6);
}

div.search-wrapper > button {
    position: absolute;
    right: 6px;
    top: 6px;
    display: none;
}

div.search-wrapper button i {
    color: rgba(0,0,0,0.6);
}

div.search-wrapper.has-value > i {
    display: none;
}

div.search-wrapper.has-value > button {
    display: inline-block;
}

div.search-wrapper i.fa-search {
    pointer-events: none;
}

/* Placeholder styles for all inputs */
*::-webkit-input-placeholder {
    color: rgba(0,0,0,0.6);
}
*:-moz-placeholder {
    /* FF 4-18 */
    color: rgba(0,0,0,0.6);
    opacity: 1;
}
*::-moz-placeholder {
    /* FF 19+ */
    color: rgba(0,0,0,0.6);
    opacity: 1;
}
*:-ms-input-placeholder {
    /* IE 10+ */
    color: rgba(0,0,0,0.6);
}
*::-ms-input-placeholder {
    /* Microsoft Edge */
    color: rgba(0,0,0,0.6);
}
*::placeholder {
    /* modern browser */
    color: rgba(0,0,0,0.6);
}

/* Styles for dialogs */
div.modal {
    max-width: 100vw;
}

div.modal div.modal-header button.btn {
    margin-top: -3px;
    margin-bottom: -5px;
    margin-right: -4px;
}

div.modal div.modal-content {
    border: none;
}

/* Styles for menus */
div.dropdown-menu {
    border: none;
    z-index: 10000;
    max-height: 80vh;
    overflow: auto;
}

div.dropdown-menu .dropdown-divider {
    border-color: rgba(0,0,0,0.2);
}

div.dropdown-menu span.dropdown-header {
    background-color: #fff;
    font-weight: 700;
    color: rgba(0,0,0,0.87);
    text-align: left;
}
div.dropdown-menu span.dropdown-header {
    background-color: #fff;
}
div.dropdown-menu span.dropdown-header {
    background-color: #fff;
    color: rgba(0,0,0,0.87);
}

div.dropdown-menu a.dropdown-item {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;

    color: #313131;
    user-select: none;
    cursor: pointer;
    padding: .5rem 1rem;
}

div.dropdown-menu a.dropdown-item.disabled {
    color: rgba(0,0,0,0.6);
}

div.dropdown-menu a.dropdown-item.disabled i {
    color: rgba(0,0,0,0.4);
}

div.dropdown-menu a.dropdown-item.selected {
    background-color: rgba(50, 62, 72, .2);
    color: #0a1620;
}

div.dropdown-menu a.dropdown-item.selected:hover {
    background-color: rgba(50, 62, 72, .4);
}

div.dropdown-menu a.dropdown-item div {
    white-space: normal;
}

div.dropdown-menu a.dropdown-item span {
    white-space: nowrap;
}

div.dropdown-menu a.dropdown-item i {
    color: rgba(0,0,0,0.6);
    text-align: center;
}

div.dropdown-menu a.dropdown-item:hover {
    background-color: rgba(0,0,0,0.1);
}

div.dropdown-menu a.dropdown-item:active {
    background-color: rgba(0,0,0,0.2);
    color: rgba(0,0,0,0.87);
}

div.dropdown-menu a.dropdown-item i.check {
    display: none;
}

div.dropdown-menu a.dropdown-item.checked i.check {
    display: inline-block;
}

/* Toast styles */
div.toast-container {
    position: fixed;
    top: 56px;
    bottom: .5rem;
    right: 0;
    left: 0;
    z-index: 1000000000;

    pointer-events: none;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
}

div.toast-container div.toast {
    min-width: 220px;
    background-color: #fff;

    pointer-events: all;
    flex: 0;

}

/* Loading styles */
div.content-wrapper.loading .if-loaded {
    display: none;
}

div.content-wrapper:not(.loading) .if-loading {
    display: none;
}


/* Plan page styles */
div.plan-bg {
    background-image: url("/images/plan-page-bg.jpg");
    background-size: cover;
    background-position: right;
}

div.card.prices {
    width: calc(100% - 32px);
    max-width: 1400px;
}

div.card.faq {
    width: calc(100% - 32px);
    max-width: 1200px;
}

div.card.prices div.price-tier {
    border-radius: 16px;
}

div.card.prices div.price-tier p {
    width: 100%;
    text-align: center;
    white-space: nowrap;
}

div.card.prices div.price-tier p:not(:last-of-type) {
    border-bottom: 1px solid rgba(0,0,0,0.2);
    padding-bottom: 8px;
    margin-bottom: 8px;
}

div.card.prices div.price-tier.bg-primary p {
    border-color: rgba(255,255,255,.4);
}

div.card.prices div.price-tier.bg-primary .text-muted {
    color: rgba(255,255,255,.8) !important;
}

div.card.prices div.price-tier h1.price {
    font-size: 58px;
    line-height: 0.9;
}

/* Dashboard charts styles */
.zoom-chart {
    color: #000000;
}

.dashboard-data-chart {
    width: 100%;
    height: calc(60vw + 62px);
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .dashboard-data-chart {
        height: auto;
        aspect-ratio: 1.6180334/1;
    }
}

.data-chart-zoom {
    width:100%;
    height:520px;
}

/* Made dashboard charts fullscreen on enlarge */
.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
}
.modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
}
.modal-fullscreen .modal-header {
    border-radius: 0;
}
.modal-fullscreen .modal-body {
    overflow-y: auto;
}
.modal-fullscreen .modal-footer {
    border-radius: 0;
}

/* Slide styles */
div.slide-parent {
    display: flex;
    flex-direction: row;
    overflow: hidden;
    width: 100%;
}

div.slide-child {
    padding: 1em;
    width: 100%;
    flex-shrink: 0;
    margin-left: 0;

    transition: margin-left 500ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

div.slide-child.slide {
    margin-left: -100%;
}

.create-account-box {
    max-width: 720px;
    width: 100%;
}

/* Map widget styles */
.map-dashboard-widget #map {
    width: 100%;
    aspect-ratio: 1.6180334/1;
}

/* Popover styles */
div.popover {
    border: none;
    /*width: 150px;*/
    z-index: 1000000;
}

/* Tutorial cards */
.tutorial-card {

}

.tutorial-card .active, .tutorial-card .completed {
    display: none;
}

.tutorial-card.active .not-completed, .tutorial-card.completed .not-completed {
    display: none;
}

.tutorial-card.active .active {
    display: inline-block;
}

.tutorial-card.completed .completed {
    display: inline-block;
}

div.dim {
    position: fixed;
    box-shadow: 0 0 0 1000px rgba(0,0,0,0);
    box-shadow: 0 0 0 100vmax rgba(0,0,0,0);
    pointer-events: none;
    z-index: 100000;
    border-radius: .25rem;
    transition: all 500ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

div.dim.visible {
    box-shadow: 0 0 0 1000px rgba(0,0,0,.5);
    box-shadow: 0 0 0 100vmax rgba(0,0,0,.5);
}

.border.dashed {
    border-style: dashed !important;
}

.modal-dialog.modal-md {
    max-width: 650px;
}

.plan-picker-item {
    max-width: 320px;
    border: 1px solid rgba(0,0,0,.125);
    box-shadow: none;
    border-radius: .5em;
    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
    box-sizing: border-box;
}

.plan-picker-item:hover {
    cursor: pointer;
    border: 1px solid #323E48;
    background-color: #5a667055;
}

.plan-picker-item.selected {
    box-shadow: 0 0 0 2px #323E48;
}

.plan-picker-item .underline:not(:last-of-type) {
    border-bottom: 1px solid rgba(0,0,0,0.2);
    padding-bottom: 8px;
    margin-bottom: 8px;
}

.accordion:not(.no-card) {
    border-radius: .25em;
    box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 20%);
}

.accordion .accordion-item.card {
    border-radius: inherit;
    box-shadow: none;
    overflow: visible;
}

.accordion .accordion-item.card:not(:last-of-type) > div > .card-body {
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.accordion .accordion-item.card > div > .card-body {
    padding: 0;
    overflow: visible;
}

.accordion .accordion-item.card > .card-header {
    padding: 0;
}

.accordion .accordion-item.card > .card-header a {
    text-decoration: none !important;
    color: rgba(0,0,0,.87);

    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
}

.accordion .accordion-item.card > .card-header a:not(.collapsed) {
    background-color: rgba(191, 196, 195, 0.2);
}

.accordion .accordion-item.card > .card-header a:hover {
    background-color: rgba(191, 196, 195, 0.1);
}

.accordion .accordion-item.card > .card-header a i.if-expanded {
    display: inline-block;
}

.accordion .accordion-item.card > .card-header a i.if-collapsed {
    display: none;
}

.accordion .accordion-item.card > .card-header a.collapsed i.if-expanded {
    display: none;
}

.accordion .accordion-item.card > .card-header a.collapsed i.if-collapsed {
    display: inline-block;
}

.accordion .accordion-item.card > .card-header a .header-text {
    min-width: 140px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.device-plan-list table {
    width: 100%;
    margin: .5em;
}

.device-plan-list table th {
    white-space: nowrap;
}

.device-plan-list table td, .device-plan-list table th {
    padding: .5em;
}

.device-plan-list table td:last-child, .device-plan-list table th:last-child {
    width: 1px;
    text-align: right;
    white-space: nowrap;
}

.device-plan-list table td.associated-device {
    min-width: 240px;
}

.shop-category {
    aspect-ratio: 1;
}

.shop-category, .shop-item {
    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
}

.shop-category p, .shop-item p,
.shop-category h5, .shop-item h5 {
    text-decoration: none !important;
    color: rgba(0,0,0,.87);
}

.shop-category:hover, .shop-item:hover {
    background-color: rgba(191, 196, 195, 0.2);
}

.shop-category:active, .shop-item:active {
    background-color: rgba(191, 196, 195, 0.4);
}

.shop-item img {
    width: 240px;
}

.news-card div.img, .news-page img {
    aspect-ratio: 16/9;
    background-size: cover !important;
    background-position: center !important;
}

.news-card p {
    font-size: 1rem !important;
}



.filter-header {
    background-color: rgba(191, 196, 195, 0.2);
}

.filter-header .input {
    max-width: 320px;
    width: 100%;
}

.filter-header .filter-label {
    white-space: nowrap;
}

#react-container {
}

.product-content .slider-container > div > div > div:first-child > div {
    background-size: contain !important;
    background-position: center;
    background-repeat: no-repeat;
}

.org-selector {
    width: 240px;
}

.add-plan .input {
    width: 360px;
}

.about-us .quote {
    background: rgba(0,0,0,.1);
}

.org-selector {
    width: 240px;
}

.filter-table .scroll-wrapper {
    overflow: auto;
}

.filter-table table {
    width: 100%;
}

.filter-table .filter-item,
.filter-table .settings-button-wrapper {
    border-left: 1px solid rgba(0,0,0,.2);
}

.filter-table .filter-item {
    padding-left: .5rem;
    padding-right: .5rem;
}

.filter-table .settings-button-wrapper {
    padding-left: .5rem;
}

.filter-table .filter-container {
    padding: .5rem;
    padding-left: 1rem;
}

.filter-table.compact .filter-container {
    padding: .25rem;
    padding-left: .5rem;
}

.filter-table .filter-container .icon-wrapper {
    margin-right: 1rem;
    margin-top: .5rem;
    margin-bottom: .5rem;
}

.filter-table.compact .filter-container .icon-wrapper {
    margin-right: .5rem;
}

.filter-table .filter-container .clear-button {
    margin-left: .5rem;
    margin-right: .5rem;
}

.filter-table.compact .filter-container .clear-button {
    margin-left: .5rem;
}

.filter-table .filter-container .row-select {
    width: 88px;
}

.filter-table .filter-table-header {
    white-space: nowrap;
}

.filter-table div.sortable.filter-table-header {
    cursor: pointer;
}

.filter-table div.sortable.filter-table-header i {
    width: 32px;
    text-align: center;
}

.filter-table  div.sortable.filter-table-header:hover i {
    color: rgba(0, 0, 0, .83) !important;
}

.filter-table table tr td.clickable {
    transition: background-color 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

.filter-table table tr:hover td.clickable {
    background-color: rgba(0,0,0,.1);
    cursor: pointer;
}

.filter-table table tr td.expanded-content {
    background-color: rgba(0,0,0,.05);
    cursor: pointer;
}

.filter-table table td, .filter-table table th span.header-value {
    padding: 1rem;
}

.filter-table.compact table td, .filter-table.compact table th span.header-value {
    padding: .5rem;
}

.filter-table.compact table td:first-of-type, .filter-table.compact table th:first-of-type span.header-value {
    padding-left: 1rem;
}

.filter-table.compact table td:last-of-type, .filter-table.compact table th:last-of-type span.header-value {
    padding-right: 1rem;
}

@media (max-width: 768px) {
    .filter-table {
        font-size: 14px;
    }

    .filter-table table td, .filter-table table th span.header-value {
        padding: .5rem;
    }

    .filter-table.compact table td, .filter-table.compact table th span.header-value {
        padding: .25rem;
    }

    .filter-table .filter-container {
        padding: .25rem;
        padding-left: .5rem;
    }

    .filter-table.compact .filter-container {
        padding: .125rem;
        padding-left: .25rem;
    }

    .filter-table .filter-container .icon-wrapper {
        margin-right: .5rem;
    }

    .filter-table.compact .filter-container .icon-wrapper {
        margin-right: .25rem;
    }

    .filter-table .filter-container .clear-button {
        margin-left: .5rem;
    }

    .filter-table.compact .filter-container .clear-button {
        margin-left: .25rem;
    }

    .filter-table table th {
        white-space: normal;
    }
}

.icon-wrapper {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.button-cell {
    padding: .5rem !important;
    justify-content: end !important;
}
/*
.button-cell {
   position: sticky;
   right: 0;
   background: white;
   background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(255,255,255,1) 2rem);
}*/

#device-image-container {
    max-width: 520px;
    min-width: 280px;
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 100%;
}

#device-image-container img {
    width: 100%;
}

.input.decoding-select {
    width: 280px;
}

.force-wrap {
    white-space: normal;
    overflow-wrap: anywhere;
}

.battery {
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 18px;
    width: 36px;
}

.battery .body {
    height: 100%;
    width: 31px;
    border: 1px solid rgba(0,0,0,.87);
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    padding-left: 1px;
    border-radius: 2px;
}

.battery .body div {
    height: 14px;
    width: 6px;
    margin-right: 1px;
    display: none;
}

.battery .terminal {
    height: 50%;
    width: 3px;
    background-color: rgba(0,0,0,.87);
}

.battery.p-25 .body div {
    /*background-color: #ba000d;*/
    background-color: #E05B5B;
}

.battery.p-50 .body div {
    /*background-color: #ffc107;*/
    background-color: #E29D18;
}

.battery.p-75 .body div {
    /*background-color: #323E48;*/
    background-color: #000;
}

.battery.p-100 .body div {
    /*background-color: #323E48;*/
    background-color: #000;
}

.battery.p-25 .body .bar-1 {
    display: block;
}

.battery.p-50 .body .bar-2 {
    display: block;
}

.battery.p-75 .body .bar-3 {
    display: block;
}

.battery.p-100 .body .bar-4 {
    display: block;
}


.signal {
    display: inline-flex;
    flex-direction: row;
    justify-content: start;
    align-items: end;
    height: 18px;
    width: 20px;
}

.signal div {
    width: 4px;
    margin-right: 1px;
    display: none;
}

.signal.p-25 div {
    background-color: #ba000d;
}

.signal.p-50 div {
    background-color: #ffc107;
}

.signal.p-75 div {
    background-color: #323E48;
}

.signal.p-100 div {
    background-color: #323E48;
}

.signal.p-25 .bar-1 {
    display: block;
    height: 6px;

}

.signal.p-50 .bar-2 {
    display: block;
    height: 10px;
}

.signal.p-75 .bar-3 {
    display: block;
    height: 14px;
}

.signal.p-100 .bar-4 {
    display: block;
    height: 18px;
}

.width-xs {
    width: 100px;
}

.width-sm {
    width: 140px;
}

.width-md {
    width: 180px;
}

.width-lg {
    width: 220px;
}

.width-xl {
    width: 260px;
}

.min-width-sm {
    min-width: 140px;
}

.min-width-md {
    min-width: 180px;
}

.min-width-lg {
    min-width: 220px;
}

.width-max-content {
    width: max-content;
    min-width: 100%;
}

.landscape .map-page-device-list {
    width: 380px;
}

.portrait .map-page-device-list {
    height: 50%;
}

.map-page-device-list-item {
    transition: background-color 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

.map-page-device-list-item.selected {
    color: white;
    background-color: #323E48;
}

.map-page-device-list-item.selected .battery {
    border-color: white;
}

.map-page-device-list-item.selected .battery .terminal {
    background-color: white;
}

.map-page-device-list-item.selected .battery .body * {
    background-color: rgba(255, 255, 255, .8);
}

.map-page-device-list-item.selected * {
    border-color: white;
}

.map-page-device-list-item.selected .text-muted {
    color: rgba(255,255,255,.8) !important;
}

.map-page-device-list-item:hover {
    cursor: pointer;
    background-color: rgba(0,0,0,.1);
}

.map-page-device-list-item.selected:hover {
    background-color: #5a6670;
}

.map-widget-card:not(.ratio) {
    height: 100%;
    min-height: 360px;
}

.map-widget-card.ratio {
    aspect-ratio: 4/3;
}

.battery-widget-card, .signal-widget-card {
    height: 100%;
}

.graph-wrapper {
    min-height: 320px;
    height: 100%;
}

.photo-wrapper {
    max-height: 420px;
}

.photo-wrapper img {
    max-height: 400px;
}

.rdrDateRangePickerWrapper .rdrDateDisplayItemActive {
    border-color: #323E48 !important;
}

.rdrDateRangePickerWrapper button.rdrDay .rdrStartEdge,
.rdrDateRangePickerWrapper button.rdrDay .rdrInRange,
.rdrDateRangePickerWrapper button.rdrDay .rdrEndEdge {
    color: #323E48 !important;
}

.rdrDateRangePickerWrapper button.rdrDay .rdrDayStartPreview,
.rdrDateRangePickerWrapper button.rdrDay .rdrDayInPreview,
.rdrDateRangePickerWrapper button.rdrDay .rdrDayEndPreview {
    border-color: #0a1620 !important;
}

.rdrDateRangePickerWrapper button.rdrDay .rdrDayNumber span:after {
    background: #0a1620 !important;
}


.rdrDateRangePickerWrapper button.rdrStaticRangeSelected {
    color: #0a1620 !important;
}

@media (max-width: 1280px) {
    .rdrDateRangePickerWrapper .rdrMonths {
        flex-direction: column;
    }
}

@media (max-width: 720px) {
    .rdrDateRangePickerWrapper .rdrCalendarWrapper {
        display: none;
    }
}

.rdrCalendarWrapper .rdrMonthAndYearPickers select {
    height: auto;
    padding: 8px 24px 8px 8px;
}

.date-range-picker {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 1040;
    background-color: white;

    transition: background-color, color, border-color 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
    border-radius: .25em;
    box-shadow: 0 3px 6px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%);
    overflow: hidden;
}

.date-range-picker .date-range-picker-button-spacer {
    width: 226px;
    border-right: solid 1px #eff2f7;
}

@media (max-width: 720px) {
    .date-range-picker .date-range-picker-button-spacer {
        display: none;
    }
}

.date-range-picker-parent {
    position: relative;
}

.leaflet-div-icon {
    border: none;
    background-color: transparent;
}

.leaflet-custom-button a,
.leaflet-custom-button a:hover {
    background-color: #fff;
    border: 2px solid rgba(0,0,0,0.2);
    padding: 8px 16px;
    display: block;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    color: rgba(0,0,0,.87);
}

.leaflet-custom-button a:hover {
    background-color: #f4f4f4;
}

.leaflet-custom-button.selected a {
    border-color: #323E48;
}

.tooltip {
    pointer-events: none;
}

.__react_component_tooltip {
    z-index: 100000000 !important;
}

.color-picker {
    position: absolute;
    left: 0;
    top: 66px;
    z-index: 1000;
    background-color: white;

    transition: background-color, color, border-color 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
    border-radius: .25em;
    box-shadow: 0 3px 6px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%);
    overflow: hidden;
}

.color-picker-parent {
    position: relative;
}


/* React Color Picker, import wasn't working so included here */
.rcp-light {
    --rcp-background: #ffffff;
    --rcp-input-text: #111111;
    --rcp-input-border: rgba(0, 0, 0, 0.1);
    --rcp-input-label: #717171;
}

.rcp-dark {
    --rcp-background: #181818;
    --rcp-input-text: #f3f3f3;
    --rcp-input-border: rgba(255, 255, 255, 0.1);
    --rcp-input-label: #999999;
}

.rcp {
    display: flex;
    flex-direction: column;
    align-items: center;

    background-color: var(--rcp-background);
    box-sizing: border-box;
}

.rcp-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;

    padding: 20px;
}

.rcp-saturation {
    position: relative;

    width: 100%;
    background-image: linear-gradient(transparent, black), linear-gradient(to right, white, transparent);

    user-select: none;
}

.rcp-saturation-cursor {
    position: absolute;

    width: 20px;
    height: 20px;

    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    box-sizing: border-box;

    transform: translate(-10px, -10px);
}

.rcp-hue {
    position: relative;

    width: 100%;
    height: 12px;

    background-image: linear-gradient(
            to right,
            rgb(255, 0, 0),
            rgb(255, 255, 0),
            rgb(0, 255, 0),
            rgb(0, 255, 255),
            rgb(0, 0, 255),
            rgb(255, 0, 255),
            rgb(255, 0, 0)
    );
    border-radius: 10px;

    user-select: none
}

.rcp-hue-cursor {
    position: absolute;

    width: 20px;
    height: 20px;

    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 0.5px;
    box-sizing: border-box;

    transform: translate(-10px, -4px);
}

.rcp-alpha {
    position: relative;

    width: 100%;
    height: 12px;

    border-radius: 10px;

    user-select: none;
}

.rcp-alpha-cursor {
    position: absolute;

    width: 20px;
    height: 20px;

    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 0.5px;
    box-sizing: border-box;

    transform: translate(-10px, -4px);
}

.rcp-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;

    width: 100%;
}

.rcp-fields-element {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;

    width: 100%;
}

.hex-element {
    grid-row: 1;
}

.hex-element:nth-child(3n) {
    grid-column: 1 / -1;
}

.rcp-fields-element-input {
    width: 100%;

    font-size: 14px;
    font-weight: 600;

    color: var(--rcp-input-text);
    text-align: center;

    background: none;
    border: 2px solid;
    border-color: var(--rcp-input-border);
    border-radius: 5px;
    box-sizing: border-box;

    outline: none;

    padding: 10px;
}

.rcp-fields-element-label {
    font-size: 14px;
    font-weight: 600;

    color: var(--rcp-input-label);
    text-transform: uppercase;
}

/* Nav tabs */
nav.nav-tabs {
    border-bottom: 1px solid rgba(0,0,0,.2);
}

nav.nav-tabs ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

nav.nav-tabs ul li {
    display: inline-block;
    padding: 8px 16px;
    border-radius: .25rem .25rem 0 0;
    color: rgba(0,0,0,.87);
    transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
    transition-property: background-color, border-color;
}

nav.nav-tabs ul li:hover {
    background-color: rgba(0,0,0,.1);
}

nav.nav-tabs ul li:active {
    background-color: rgba(0,0,0,.2);
}

nav.nav-tabs ul li.selected {
    box-shadow: inset 0 -3px 0 0 #323E48;
    color: #0a1620;
}

nav.nav-tabs ul li.selected:hover {
    background-color: rgba(50, 62, 72, 0.2);
}

nav.nav-tabs ul li.selected:active {
    background-color: rgba(50, 62, 72, 0.4);
}

/* MS Modal */
.ms-modal-backdrop {
    transition: opacity 400ms cubic-bezier(0.4, 0.0, 0.2, 1);

    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    overflow: auto;

    display: flex;

    background-color: rgba(0,0,0,.5);
    /* backdrop-filter: blur(2px); */

    padding: 2rem;

    z-index: 100000000;
}

.ms-modal {
    transition: transform 200ms cubic-bezier(0.4, 0.0, 0.2, 1);

    margin: auto;

    background-color: white;
    border-radius: .25rem;
    width: auto;

}

.ms-modal.ms-modal-xl {
    max-width: 100%;
    width: 100%;
}

@media (min-width: 576px) {
    .ms-modal.ms-modal-lg {
        max-width: 500px;
        width: 100%;
    }
}

@media (min-width: 992px) {
    .ms-modal.ms-modal-xl {
        max-width: 90%;
        width: 100%;
    }

    .ms-modal.ms-modal-lg {
        max-width: 800px;
        width: 100%;
    }

    .ms-modal.ms-modal-sm {
        max-width: 320px;
        width: 100%;
    }
}

.ms-modal-header {
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.ms-modal-footer {
    border-top: 1px solid rgba(0,0,0,.1);
}


/** Settings Menu Styles **/
.dropdown-menu.settings-menu {
    background: #FFFFFF;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
    border-radius: 3px;
}

.dropdown-menu.settings-menu a.dropdown-item {
    transition: background-color 150ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
.dropdown-menu.settings-menu button.dropdown-item:hover {
    background-color: #dfdfdf;
}

.dropdown-menu.settings-menu a.dropdown-item i {
    font-size: 16px;
    transform: translateY(-1);
    margin-right: .5rem;
    width: 24px;
}

/** React Transition Classes **/
.fade-enter {
    opacity: 0;
    z-index: 1;
}

.fade-enter.fade-enter-active {
    opacity: 1;
    transition: opacity 200ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

.fade-exit {
    display: none;
}

/*Bootstrap carousel*/
.carousel-indicators li {
    box-shadow: 0 3px 6px rgb(0 0 0 / 80%), 0 3px 6px rgb(0 0 0 / 100%) !important;
    margin-top: 10px;
    margin-bottom: 10px;
    border: none;
}

.carousel-caption, .carousel-caption .btn, .carousel-control-prev .btn, .carousel-control-next .btn {
    text-shadow: 0 3px 6px rgb(0 0 0 / 80%), 0 3px 6px rgb(0 0 0 / 100%) !important;
}

.carousel-control-prev, .carousel-control-next {
    opacity: 1;
}

/** Device Transmission Styles **/
.message-count-table,
.calendar-count-table {
    width: 100%;
    table-layout: fixed;
    display: table;
    border-collapse: separate;
    text-indent: initial;
    border-spacing: 2px;
    border-color: grey;
}

.message-count-table > tbody > tr > td,
.calendar-count-table > tbody > tr > td {
    height: 30px;
    padding: 0;
    min-width: 35px;
}

.message-count-table > tbody > tr > td:hover,
.calendar-count-table > tbody > tr > td:hover {
    box-shadow: 0 0 3px 2px #ffb366 inset;
}

.message-count-table > tbody > tr > td:first-child {
    width: 200px;
    overflow-x: hidden;
    white-space: nowrap;
    padding-right: calc(10px - 2px);
    text-overflow: ellipsis;
    background-color: transparent;
}

.message-count-data-cell {
    width: 100%;
    height: 100%;
}

.message-count-footer-label {
    display: flex;
    font-size: 12px;
    font-weight: 600;
}

.message-count-chart-container {
    display: flex;
    flex-direction: column;
}

.message-count-chart {
    display: flex;
}

.message-count-legend {
    display: flex;
    flex-grow: 1;
    min-width: 0;
    flex-shrink: 1;
    padding-right: 10px;
    flex-direction: column;
}

.legend-square {
    width: 1em;
    height: 1em;
    margin: 0 10px -2px 0;
    display: inline-block;
    border-radius: 3px;
}

.message-count-xAxisLabel {
    margin: 10px 0 0 180px;
    display: flex;
    font-size: 12px;
    font-weight: 600;
}

.message-count-yAxis {
    display: flex;
    align-content: flex-end;
    padding-right: 10px;
}

.device-transmission-page .message-count-yAxis {
    width: 200px;
}

.message-count-yAxisLabel {
    flex-grow: 1;
    transform: rotate(180deg);
    text-align: center;
    padding-left: calc(1.5 * 10px);
    writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
}

.message-count-ticks {
    display: flex;
    align-items: flex-end;
    flex-direction: column-reverse;
}

.message-count-tickMark {
    width: 10px;
    height: 1px;
    background-color: #182026;
}

.message-count-tickLabel {
    display: flex;
    font-size: 12px;
    align-items: flex-end;
    border-right: 1px solid #182026;
    padding-right: calc(10px / 2);
}

.message-count-bars {
    display: flex;
    flex-grow: 1;
    align-items: flex-end;
}

.message-count-bar {
    flex-grow: 1;
    margin-left: 1px;
    margin-right: 1px;
}

.message-count-flex-expander {
    flex: 1 1;
}

.message-count-bar-chart {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.message-count-bar-chart .message-count-xAxisLabel {
    margin: 10px 0 0 0px;
    display: flex;
    font-size: 12px;
    font-weight: 600;
}

.message-count-tooltip {
    z-index: 1050;
}

/* React Timeline */
.timeline-wrapper {
    width: 100%;
}

.timeline-wrapper .timeline-line {
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #e0e0e0;
    width: 100%;
}

.timeline-wrapper .timeline-circle {
    position: absolute;
    top: 0;
    border-radius: 50%;
    border: solid 2px #9e9e9e;
    background-color: #ffffff;
    height: 12px;
    width: 12px;
    transform: translateX(-50%);
}

.timeline-wrapper .timeline-line-wrapper {
    width: 100%;
    position: relative;
    height: 18px;
}

.timeline-wrapper .timeline-dates-wrapper, .timeline-wrapper .timeline-labels-wrapper {
    width: 100%;
    position: relative;
    height: 24px;
}

.timeline-wrapper .timeline-dates-wrapper .timeline-date, .timeline-wrapper .timeline-labels-wrapper .timeline-label {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    color: rgba(0,0,0,.87);
    text-align: center;
    white-space: nowrap;
}

.timeline-wrapper .timeline-dates-wrapper .timeline-date {
    font-weight: 500;
}

/* Slider  styles */
.rc-slider-handle {
    border-color: #323E48 !important;
}
.rc-slider-handle:active {
    border-color: #323E48 !important;
    box-shadow: none !important;
}

.rc-slider-handle:hover {
    border-color: #323E48 !important;
    box-shadow: none !important;
}

.rc-slider-track {
    background-color: #5a6670 !important;
}

.rc-slider-dot-active {
    border-color: #323E48 !important;
}

/*** Dashboard Promo Images ***/
.dashboard-promo-image {
    max-width: 80vw;
}

.react-select__menu-portal {
    z-index: 1000000000 !important;
}

.tooltip {
    z-index: 10000000000 !important;
}

.dialog-menu-item.disabled {
    color: #8d8d8d;
    pointer-events: none;
}

.dialog-menu-item:hover {
    cursor: pointer;
    background-color: rgba(0,0,0,.1);
}

.spin {
    -webkit-animation-name: spin;
    -webkit-animation-duration: 2000ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;

    -moz-animation-name: spin;
    -moz-animation-duration: 2000ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;

    -ms-animation-name: spin;
    -ms-animation-duration: 2000ms;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;

    animation-name: spin;
    animation-duration: 2000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}
@-ms-keyframes spin {
    from { -ms-transform: rotate(0deg); }
    to { -ms-transform: rotate(360deg); }
}
@-moz-keyframes spin {
    from { -moz-transform: rotate(0deg); }
    to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}

.loading-skeleton {
    border-radius: .25em;

    background: linear-gradient(270deg, #e0e0e0 0%, #f0f0f0 20%, #e0e0e0 40%);
    background-size: 200% 400%;

    -webkit-animation: skeletonLoader 4s ease infinite;
    -moz-animation: skeletonLoader 4s ease infinite;
    animation: skeletonLoader 4s ease infinite;
}

.loading-skeleton.no-rounding {
    border-radius: 0;
}

@-webkit-keyframes skeletonLoader {
    0%{background-position:200% 0}
    100%{background-position:0% 0}
}
@-moz-keyframes skeletonLoader {
    0%{background-position:200% 0}
    100%{background-position:0% 0}
}
@keyframes skeletonLoader {
    0%{background-position:200% 0}
    100%{background-position:0% 0}
}

.btn-device-power-performance {
    min-width: 9rem;
    border: initial;
    margin: 0;
    padding: 5px 10px;
    background: rgba(50, 62, 72, 0.2);
    border-radius: 4px;
    border: 0px solid #323E48;
    transition: all 0.2s ease-in-out;
}

.btn-device-power-performance:hover {
    border: 2px solid #323E48;
    min-width: 9.1rem;
}

.btn-device-power-performance > small {
    margin: 0;
    padding: 0;
    font-size: 11px;
}

/* FUSION CHARTS */
/* AIR QUALITY */
.air-quality-chart-canvas {
    display: flex;
    justify-content: center;
}

.air-quality-charts-labels-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: center;
    /* background: red; */
}

.air-quality-charts-labels-title {
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    margin: 8px 0;
}

.air-quality-charts-labels-content {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
}

.air-quality-charts-label-container {
    flex: 1;
    flex-basis: 33%;
    flex-shrink: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.air-quality-charts-label-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 8px;
}

.air-quality-charts-label-indicator-circle-green {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #61FE61;
}

.air-quality-charts-label-indicator-circle-yellow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #FDFF61;
}

.air-quality-charts-label-indicator-circle-orange {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #FFC864;
}

.air-quality-charts-label-indicator-circle-red {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #FF6464;
}

.air-quality-charts-label-indicator-circle-purple {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #A84EBE;
}

.air-quality-charts-label-indicator-circle-maroon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #330000;
}

.air-quality-charts-label-indicator-text {
    display: flex;
    flex: 1;
    flex-direction: column;
}

/* AIR QUALITY SMALL */
.air-quality-small-labels-wrapper {
    display: flex;
    flex: 1;
    /* align-items: center; */
    justify-content: center;
}

.air-quality-small-label-container {
    display: flex;
    /* align-items: center; */
}

.air-quality-small-label-indicator {
    padding-left: 8px;
    text-align: center;
}

.air-quality-small-label-indicator-circle-green {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #61FE61;
    margin-top: 4px;
}

.air-quality-small-label-indicator-circle-yellow {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #FDFF61;
    margin-top: 4px;
}

.air-quality-small-label-indicator-circle-orange {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #FFC864;
    margin-top: 4px;
}

.air-quality-small-label-indicator-circle-red {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #FF6464;
    margin-top: 4px;
}

.air-quality-small-label-indicator-circle-purple {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #A84EBE;
    margin-top: 4px;
}

.air-quality-small-label-indicator-circle-maroon {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #330000;
    margin-top: 4px;
}

.air-quality-small-label-indicator-text {
    font-size: 12px;
    font-weight: 500;
    color: #333333;
}

/* WATER LEVEL */
.water-level-cardChart {
    display: flex;
    flex: 0 0 auto;
}

.water-level-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 0 solid #e7eaed;
    border-radius: 0.25rem;

    margin-bottom: 24px;
    box-shadow: 0 0.95rem 2rem rgba(56, 65, 74, 0.03);
}

.water-level-cardBody {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 20px;
}

.water-level-cardTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.water-level-headerTitle {
    font-size: 16px;
    color: #404041;
    font-weight: 400;
    line-height: 1.1;
}

.water-level-dropdownActions {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border-radius: 4px;
    color: #404041;
    border: none;
    font-weight: 400;
    padding: 0 0.5rem;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.water-level-dropdownActions:hover {
    background-color: #f0f0f5;
}

.water-level-dropdownActions > span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.water-level-rangeData {
    display: flex;
    flex: 1;
    color: #98a6ad;
    font-size: 12px;
    max-width: 400px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.water-level-chartContainer {
    display: flex;
    height: 280px;
}

.water-level-detailsContainer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    text-align: center;
}

.water-level-detailsWrapper {
    display: flex;
    flex-direction: column;
    width: 50%;
}

.water-level-detailsTextMuted {
    color: #98a6ad;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 400;
}

.water-level-detailsValueWrapper {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.1;
}

.water-level-detailsValue {
    font-size: 20px;
    font-weight: 400;
    line-height: 22px;
}

.water-level-detailsBadgeSuccess {
    background-color: rgba(24, 201, 132, 0.18);
    border-radius: 4px;
    color: rgb(24, 201, 132);
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
    padding: 2px 4px;
    text-align: center;
    margin-left: 8px;
}

.water-level-detailsBadgeFail {
    background-color: rgba(235, 81, 81, 0.18);
    border-radius: 4px;
    color: rgb(235, 81, 81);
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
    padding: 2px 4px;
    text-align: center;
    margin-left: 8px;
}

/* Widget Card */
.widget-card-small {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    padding: 16px;
    border-radius: 6px;
    height: 166px;
}

.widget-card-medium {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    padding: 16px;
    border-radius: 6px;
    height: 356px;
}

.widget-card-big {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    padding: 16px;
    border-radius: 6px;
    height: 500px;
}

.widget-card-titleContainer {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.widget-card-titleWrapper{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.widget-card-titleText{
    font-weight: 500;
    font-size: 16px;
}

.widget-card-action{
    padding: 0 8px;
}

.widget-card-infoWrapper{
    display: flex;
    align-items: flex-start;
}

.widget-card-infoIcon{
    display: flex;
    color: #98a6ad;
}

.widget-card-infoData{
    display: flex;
    color: #98a6ad;
    margin-left: 8px;
}

.widget-card-infoDataTextHour{
    font-size: 12px;
}
.widget-card-infoDataTextDivider{
    font-size: 12px;
    padding: 0 4px;
}
.widget-card-infoDataTextStatus{
    font-size: 12px;
}

.widget-card-dataContainer{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.widget-card-dataWrapper{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
}

.widget-card-data{
    display: flex;
    align-items: flex-start;
}

.widget-card-dataValue{
    display: flex;
    color: hsl(114, 78%, 34%);
    font-size: 40px;
    font-weight: 700;
}

.widget-card-dataValueSmall{
    padding-top: 8px;
    font-size: 12px;
    font-weight: 300;
    color: #98a6ad;
}

.widget-card-dataIcon{
    padding: 8px;
    display: flex;
    border-radius: 6px;
    background: hsla(128, 100%, 50%, 0.25);
}

.widget-card-dataIcon i {
    color: hsl(114, 78%, 34%);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* LOGIN BUTTON STYLES */
.login .btn.btn-outline {
    box-sizing: border-box;
    min-width: 86px;
    border-radius: 3px;
    padding: 8px 20px;
    cursor: pointer;
    transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
    background-color: #FFFFFF !important;
    color: #313131;
    border: 1px solid #323E48;
    white-space: nowrap;
    font-size: 14px;
    font-weight: bold;
}

.login .btn.btn-outline:hover {
    background: #323E48 !important;
    color: #FFFFFF !important;
    cursor: pointer;
}

.login .btn.btn-fill {
    box-sizing: border-box;
    min-width: 86px;
    border-radius: 3px;
    padding: 8px 20px;
    cursor: pointer;
    transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
    background-color: #323E48 !important;
    color: #FFFFFF;
    border: none;
    white-space: nowrap;
    font-size: 14px;
    font-weight: bold;
}

.login .btn.btn-fill:hover {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25));
    color: #FFFFFF !important;
}

.device-power-performance-current-wrapper {
    font-family: 'Work Sans';
    width: 80px;
    margin-right: 8px;
}

.device-power-performance-current-wrapper p {
    font-size: 14px;
}

.device-power-performance-current-wrapper-title {
    display: flex;
    align-items: center;
}

.device-power-performance-current-wrapper-date {
    display: flex;
    font-size: 10px;
    margin-top: 8px;
    text-align: center;
}

.device-power-performance-options {
    display: flex;
    flex-direction: column;
    justify-content: end;
    min-width: 154px;
    gap: 8px;
    align-items: center;
}

.device-power-performance-options > div.input-container {
    min-width: 160px;
}

@media only screen and (min-width: 576px) {
    .device-power-performance-options {
        flex-direction: row;
    }

    .device-power-performance-current-wrapper {
        font-family: 'Work Sans';
        width: auto;
    }

    .device-power-performance-current-wrapper p {
        font-size: 16px;
    }
}

nav.page-tabs {
    display: flex;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #F2F2F2;
}

nav.page-tabs > h3.page-tab-title {
    color: #313131;
    font-size: 24.5px;
    font-weight: 500;
    line-height: 29.4px;
    margin: 0 20px 0 0;
    padding: 10px 8px;
}

nav.page-tabs > ul.page-tabs-wrapper {
    list-style: none;
    margin: 0;

    display: flex;
    align-items: center;
    height: 100%;
    gap: 20px;
}

nav.page-tabs > ul.page-tabs-wrapper li.page-tab-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #313131;
    font-family: 'Work Sans' !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 18.77px;
    text-align: center;
}

nav.page-tabs > ul.page-tabs-wrapper li.page-tab-item:hover {
    background-color: rgba(0,0,0,.1);
}

nav.page-tabs > ul.page-tabs-wrapper li.page-tab-item.selected {
    border-bottom: 1px solid #101010;
}

nav.page-tabs > ul.page-tabs-wrapper li.page-tab-item > a.page-tab-item-link {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #313131;
    font-family: 'Work Sans' !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 18.77px;
    text-align: center;
    padding: 10px 8px;
}

nav.page-tabs > ul.page-tabs-wrapper li.page-tab-item.selected > a.page-tab-item-link {
    color: #101010;
    font-weight: 500;
}

/* Hack to force layout respect Sidebar width */
@media screen and (min-width: 768px) {
    nav.page-tabs {
        margin-left: 8px;
    }
}
