/* =================
   === Web Fonts ===
   ================= */

   @font-face {
    font-family: 'Tenorite Regular';
    src: url('/assets/fonts/TenoriteRegular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'Tenorite Italic';
    src: url('/assets/fonts/TenoriteItalic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
  }
  @font-face {
    font-family: 'Tenorite Bold';
    src: url('/assets/fonts/TenoriteBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
  }

  @font-face {
    font-family: 'Tenorite Bold Italic';
    src: url('/assets/fonts/TenoriteBoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
  }

/* ----------------- */
:root {
    --colour-dark-grey: #2a2e31;
    --colour-mid-grey: #777;
    --colour-light-grey: #b7b7b7;
    --colour-lighter-grey: #ccc;
    --colour-lightest-grey: #e7e7e7;
    --colour-off-white: #eee;
    --colour-sky-blue: #36A7DF;
    --colour-lighter-sky-blue: #66D7FF;
    --colour-darker-sky-blue: #0677af;
    --colour-green: #6fb34d;
    --colour-red: #c8150b;
    --colour-error-red: #ff0000;
}
html {
    height: 100%;
}
body {
    height: 100%;
    color: var(--colour-dark-grey);
    font-family: 'Tenorite Regular', Arial, Helvetica, sans-serif;
    display: flex;
    flex-direction: column;
    position: relative;
}
b, strong {
    font-family: 'Tenorite Bold';
}

.navbar > .container, .navbar > .container-fluid, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container-xl, .navbar > .container-xxl {
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0px;
    padding-right: 0px;
}

.gb-logo-mb {
    position: absolute;
    width: 50px;
    height: 72px;
    background-image: url('/assets/images/gb-logo-sm.png');
    background-repeat: no-repeat;
    top: 30px;
    left: 30px;
    display: none;
}
@media (max-width: 767px) {
    .gb-logo-mb {
        display: block;
    }
}

nav {
    width: calc(100% - 320px);
    border-top: solid 1px var(--colour-lighter-grey);
    text-align: right;
    float: right;
    padding: 15px 0px;
    clear: right;
    min-width: 200px;
    height: 72px;
  }
  @media (max-width: 767px) {
    nav {
        width: 100%;
    }
  }
  nav.navbar {
    justify-content: flex-end! important;
  }
  nav.navbar-expand-md {
    justify-content: flex-end !important;
  }
  @media (max-width: 767px) {
    nav.navbar-expand-md {
        width: 100%;
    }
    nav.navbar-expand-md .container {
        width: 100%;
        max-width: 100%;
    }
  }
  nav #navbarToggler {
    justify-content: flex-end !important;
    z-index: 1000;
  }
  nav .navbar-nav {
    background-color: var(--colour-off-white);
  }
  @media (max-width: 767px) {
    nav #navbarToggler {
        position: absolute;
        top: 72px;
        right: 0px;
        box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
        border-radius: 10px;
        min-width: 200px;
    }
    nav .nav-item {
        border-bottom: 1px solid var(--colour-light-grey);
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
    }
    nav .nav-item:last-child,
    nav .nav-item:has(> .nav-link.active) {
        border-bottom: 0px;
    }
  }
  @media (max-width: 575px) {
    nav #navbarToggler {
        width: 100%;
    }
  }
  nav .nav-link {
    font-weight: bold;
    color: var(--colour-mid-grey);
    transition-property: color;
    transition-duration: 0.5s;
    transition-delay: 0s;
    background-color: var(--colour-off-white);
  }
  nav .nav-link.active, nav .nav-link.active:hover {
    color: var(--colour-dark-grey);
  }
  nav ul {
    display: inline-block;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--coloue-off-white);
    border-radius: 10px;
  }
  /*
  nav li {
    float: left;
  }
  */
  nav li a {
    display: block;
    color: var(--colour-mid-grey);
    font-size: .875rem;
    font-weight: bold;
    text-align: center;
    padding: .7em .8em;
    text-decoration: none;
    transition-property: color;
    transition-duration: 0.5s;
    transition-delay: 0s;
  }
  nav li a:hover {
    color: var(--colour-dark-grey);
  }
  nav li a.active,
  nav li a.active:hover {
    color: var(--colour-dark-grey);
    background: white;
    border-radius: 10px;
    border: 1px solid var(--colour-lightest-grey);
  }

.side-menu-header {
    width: 100%;
    border-top: solid 1px var(--colour-lighter-grey);
    text-align: left;
    /*float: left;*/
    padding: 15px 10px;
    clear: right;
    min-width: 200px;
    height: 72px;
}
.side-menu-header ul {
    display: inline-block;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--colour-off-white);
    border-radius: 10px;
}
.reports .side-menu-header ul {
    width: 100%;
}
.side-menu-header li {
    /*float: left;*/
    display: inline-block;
}
.side-menu-header li a {
    display: block;
    color: var(--colour-mid-grey);
    font-size: .8rem;
    font-weight: bold;
    text-align: center;
    padding: .7em .8em;
    text-decoration: none;
    transition-property: color;
    transition-duration: 0.5s;
    transition-delay: 0s;
}
.side-menu-header li a:hover {
    color: var(--colour-dark-grey)
}
.side-menu-header li a.active,
.side-menu-header li a.active:hover {
    color: var(--colour-dark-grey);
    background: white;
    border-radius: 10px;
    border: 1px solid var(--colour-lightest-grey);
}

#side-menu {
    width: 100%;
    height: calc(100% - 72px);
    overflow-y: auto;
    font-size: .65rem;
}

#side-menu a {
    color: var(--colour-dark-grey);
    text-decoration: none;
    font-weight: bold;
}

.side-menu {
    display: none;
    width: 100%;
    height: 100%;
    padding: 0px 10px 0px 10px;
}

.side-menu.active {
    display: block;
}

.side-menu ul {
    clear: left;
    display: block;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.side-menu > ul,
.side-menu ul.active {
    display: block;
}

.side-menu li {
    font-size: .8rem;
    font-weight: bold;
    padding: 0px;
    margin: 0px;
}

.side-menu li div {
    display: block;
    height: auto;
    padding: 5px;
    margin: 0px 0px 2px 0px;
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-delay: 0s;
}

.side-menu ul li div {
    padding-left: 5px;
}

.side-menu ul ul li div {
    padding-left: calc(5px + 15px);
}

.side-menu ul ul ul li div {
    padding-left: calc(5px + 30px);
}

.side-menu ul ul ul ul li div {
    padding-left: calc(5px + 45px);
}

.side-menu ul ul ul ul ul li div {
    padding-left: calc(5px + 60px);
}

.side-menu li div:hover {
    background-color: var(--colour-off-white);
    border-radius: 5px;
    cursor: pointer;
}

@media (min-width: 768px) {
    .side-menu li a[href='#'] div:hover,
    .side-menu li a[href='#'] {
        cursor: default !important;
    }
}

.side-menu li div.active {
    color: var(--colour-dark-grey);
    background-color: var(--colour-off-white);
    border-radius: 5px;
}
.side-menu li div.active a {
    color: var(--colour-dark-grey) !important;
}
.side-menu li div.active.selected {
    color: white;
    background-color: var(--colour-sky-blue);
}
.side-menu li div.active.selected a {
    color: white !important;
}

.top-icon-panel {
    float: right;
    text-align: right;
    width: 500px;
    height: 35px;
    line-height: 35px;
    vertical-align: middle;
    font-size: 22px;
    color: var(--colour-dark-grey);
}
.top-icon-panel .vr {
    color: var(--colour-dark-grey);
}
.top-icon-panel .logged-in-user {
    display: inline-block;
    font-size: .65rem;
    font-weight: bold;
    line-height: 2rem;
    vertical-align: middle;
    margin-right: 10px;
}
.top-icon-panel .current-date-time {
    display: inline-block;
    font-size: .65rem;
    line-height: 2rem;
    vertical-align: middle;
    margin-right: 10px;
}
.logo {
    float: left;
    margin-top: 15px;
    margin-left: 5px;
    vertical-align: middle;
    max-height: 70px;
}

.logo-mb {
    max-height: 25px;
}
a.icon, a.icon:hover {
    text-decoration: none;
}
a.icon, a.icon i {
    color: var(--colour-dark-grey);
}
a.icon:hover, a.icon:hover i {
    color: var(--colour-darker-sky-blue);
}

header {
    padding-left: 10px;
    padding-right: 10px;
    clear: both;
    flex-basis: 106px;
    margin-bottom: 0px;
}

@media (max-width: 767px) {
    header {
        flex-basis: 72px;
    }
}

.login {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-image: url(/assets/images/login-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
}

.login-left {
    flex: 1;
    height:100%;
}
.login-right {
    display: flex;
    align-items: center;
    flex-basis: 600px;
    height: 100%;
}

.login-box {
    width: 300px;
    box-shadow: 10px 10px 5px rgba(127, 127, 127, 0.5);
}
.login-box .btn-primary {
    margin-top: 15px;
}

.login-box p.login-error {
    text-align: center;
    color: var(--colour-error-red);
    margin-top: 0px;
    margin-bottom: 0px;
}

@media (max-width: 767px) {
    .login {
        background-color: black;
        background-image: none;
    }
    .login-left {
        display: none;
    }
    .login-right {
        flex-basis: 100%;
    }
    .login-box {
        margin: 0px auto;
    }
}

.main {
    display: flex;
    margin-top: 0px;
    align-items: stretch;
    width: 100%;
    flex: 1;
    position: relative;
    overflow: hidden;
}
.left-panel {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 250px;
    overflow: hidden;
    border-right: solid 1px var(--colour-lighter-grey);
}

@media (min-width: 768px) {
    .left-panel {
        display: block!important;
        opacity: 1!important;
        width: 100%!important;
    }
    #admin-panel-show-button,
    #reports-panel-show-button {
        display: none!important;
        opacity: 0!important;
    }
}

#asset-panel {
    position: absolute;
    width: 300px;
    left: 0px;
    right: unset;
    top: 0px;
    background-color: #ffffff;
    border-radius: 15px;
    border: 4px solid var(--colour-darker-sky-blue);
    /*height: 386px;*/
    height: 355px; 
    overflow: hidden;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
    margin-left: 30px;
    margin-top: 30px;
    opacity: 1;
    z-index: 100;
}
@media (max-width: 575px) {
    #asset-panel {
        width: unset !important;
        right: 0px;
        margin-right: 30px;
        /*height: 355px;*/
    }
}


#asset-panel .asset-panel-title-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 30px;
    background-color: var(--colour-sky-blue);
    clear: right;
    border-bottom: 1px solid var(--colour-dark-grey);
}

.asset-panel-title-bar .name {
    flex: 1;
    padding-left: 10px;
    padding-right: 10px;
    font-size: .85rem;
    font-weight: bold;
    color: white;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.asset-panel-title-bar .hide-button {
    flex-basis: 30px;
    font-size: .85rem;
    font-weight: bold;
    text-align: right;
    padding-right: 10px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.asset-panel-title-bar .hide-button i {
    color: white;
    opacity: 1.0;
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-delay: 0s;
}

.asset-panel-title-bar .hide-button i:hover {
    opacity: 0.5;
    cursor: pointer;
}

#asset-show-button {
    display: none;
    position: absolute;
    width: 30px;
    height: 30px;
    left: 0px;
    top: 0px;
    color: var(--colour-darker-sky-blue);
    background-color: #ffffff;
    border-radius: 15px;
    border: 4px solid var(--colour-darker-sky-blue);
    overflow: hidden;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
    margin-left: 30px;
    margin-top: 30px;
    opacity: 0;
    z-index: 101;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    transition-property: border;
    transition-duration: 0.5s;
    transition-delay: 0s;
    align-items: center;
    justify-content: center;
}
#asset-show-button:hover {
    border: 4px solid var(--colour-sky-blue);
}

#admin-panel-show-button,
#reports-panel-show-button {
    display: none;
    position: absolute;
    width: 15px;
    height: auto;
    left: 0px;
    top: 0px;
    color: var(--colour-darker-sky-blue);
    background-color: #ffffff;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
    border-top: 4px solid var(--colour-darker-sky-blue);
    border-right: 4px solid var(--colour-darker-sky-blue);
    border-bottom: 4px solid var(--colour-darker-sky-blue);
    overflow: hidden;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
    margin-left: 0px;
    margin-top: 35px;
    opacity: 0;
    z-index: 99;
    font-size: 0.65rem;
    font-weight: bold;
    text-align: left;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    cursor: pointer;
    transition-property: border;
    transition-duration: 0.5s;
    transition-delay: 0s;
    align-items: flex-start;
    justify-content: center;
    padding-top: 10px;
    padding-bottom: 10px;
}
#admin-panel-show-button:hover,
#reports-panel-show-button:hover {
    border-top: 4px solid var(--colour-sky-blue);
    border-right: 4px solid var(--colour-sky-blue);
    border-bottom: 4px solid var(--colour-sky-blue);
}
@media (max-width: 767px) {
    .left-panel {
        display: none;
        width: 0px;
        opacity: 0;
    }
    #admin-panel-show-button,
    #reports-panel-show-button {
        display: flex;
        opacity: 1;
    }
    #admin-overlay,
    #reports-overlay {
        display: none;
        opacity: 0;
    }
}

.left-panel.alerts {
    border-top: solid 1px var(--colour-lighter-grey);
    border-right: solid 1px var(--colour-lighter-grey);
    flex-basis: 240px;
}

.left-panel h3 {
    margin-bottom: 0px;
    height: 40px;
}

.right-panel .title-bar {
    background-color: var(--colour-off-white);
    font-size: .975rem;
    font-weight: bold;
    padding: 5px 10px 5px 10px;
}

.main-panel .title-bar {
    background-color: var(--colour-off-white);
    font-size: .975rem;
    font-weight: bold;
    padding: 5px 10px 5px 10px;
}

.alerts-list {
    height: 100%;
    overflow-y: auto;
    padding: 10px;
}

.alerts-list .heading {
    margin-left: 5px;
    padding: 5px;
    font-weight: bold;
    font-size: .7rem;
    text-transform:uppercase;
    border-bottom: solid 1px var(--colour-lighter-grey);
    cursor: pointer;
}
.alerts-list .content {
    margin-bottom: 15px;
}
.alerts-list .content-item {
    font-weight: normal;
    font-size: .7rem;
    padding: 5px 10px 5px 5px;
    margin-left: 5px;
    border-left: solid 5px white;
    margin-top: 1px;
    border-bottom: solid 1px var(--colour-lighter-grey);
    cursor: pointer;
    clear: right;
}

.alerts-list .content-item:hover {
    border-left: solid 5px var(--colour-darker-sky-blue);
}
.alerts-list .content-item.active {
    border-left: solid 5px var(--colour-darker-sky-blue);
    color: #ffffff;
    background-color: var(--colour-darker-sky-blue);
}

/*
.alerts-panel {
    padding: 15px;
}

.alerts-filter {
    background-color: var(--colour-lighter-grey);
    padding: 5px 10px 10px 10px;
    margin-bottom: 5px;
}
.alerts-filter .title {
    font-size: .7rem;
    clear: right;
}

.alerts-results {
    width: 100%;
    color: var(--colour-dark-grey);
    font-size: .7rem;
    margin-bottom: 5px;
}

.alerts-results .table-head {
    width: 100%;
}
.alert-results .table-head i {
    color: white;
    font-size: .7rem;
}

.alerts-results .table-row {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    color: var(--colour-dark-grey);
    background-color: white;
    clear: right;
}

.alerts-results .table-head .table-row {
    color: white;
    background-color: var(--colour-dark-grey);
    font-weight: bold;
}
.alerts-results .table-row.table-row-striped {
    background-color: var(--colour-off-white);
}

.alerts-results .table-body {
    width: 100%;
}

.alerts-results .table-body .table-row:hover {
    color: white;
    background-color: var(--colour-darker-sky-blue);
    cursor: pointer;
}

.alerts-results .table-column {
    padding: 5px;
    border-left: 1px solid var(--colour-lighter-grey);
    border-bottom: 1px solid var(--colour-lighter-grey);
    flex: 1;
}
.alerts-results .table-head .table-column {
    cursor: pointer;
}
.alerts-results .table-column:last-child {
    border-right: 1px solid var(--colour-lighter-grey);
}

.alerts-results .table-column.table-column-narrow {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 25px;
}
.alerts-results .table-column.table-column-wide {
    flex: 2;
}

.alert-results-row-count {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 5px;
    font-size: .7rem;
    background-color: var(--colour-off-white);
    color: #2a2e31;
    border: 1px solid var(--colour-lighter-grey);
}
.alert-results-row-count div {
    flex: 1;
    text-align: right;
}
*/

.results-panel {
    padding: 15px;
}

.results-filter {
    background-color: var(--colour-sky-blue);
    color: white;
    padding: 5px 10px 10px 10px;
    margin-bottom: 10px;
    border-radius: 15px;
    border: 4px solid var(--colour-darker-sky-blue);
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
}
.results-filter .title {
    font-size: .8rem;
    font-weight: bold;
    clear: right;
}

/*@media (max-width: 767px) {*/
    .results-filter input {
        width: 100%;
    }
/*}*/

.results-table {
    width: 100%;
    color: var(--colour-dark-grey);
    margin-bottom: 5px;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
    border-radius: 15px;
}

.results-table .table-head {
    width: 100%;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-top: 4px solid var(--colour-darker-sky-blue);
    border-left: 4px solid var(--colour-darker-sky-blue);
    border-right: 4px solid var(--colour-darker-sky-blue);
    font-size: .8rem;
    overflow: hidden;
}
.results-table .table-head i {
    color: white;
    font-size: .7rem;
}

.results-table .table-row {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    color: var(--colour-dark-grey);
    background-color: white;
    clear: right;
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-delay: 0s;
}

.results-table .table-row:nth-child(even) {
    background-color: var(--colour-off-white);
}

.results-table .table-head .table-row {
    color: white;
    background-color: var(--colour-sky-blue);
    font-weight: bold;
}

.results-table .table-body {
    width: 100%;
    font-size: .75rem;
    border-left: 4px solid var(--colour-darker-sky-blue);
    border-right: 4px solid var(--colour-darker-sky-blue);
    max-height: 500px;
    overflow-y: auto;
}

/*
@media (max-width: 767px) {
    .results-table .table-body {
        max-height: 400px;
    }
}
*/

.results-table .table-body .table-row:hover {
    color: var(--colour-dark-grey);
    background-color: var(--colour-lighter-grey);
    cursor: pointer;
}
.results-table .table-body .table-row.selected {
    color: white;
    background-color: var(--colour-sky-blue);
}

.results-table .table-column {
    padding: 5px;
    border-left: 1px solid var(--colour-sky-blue);
    border-bottom: 1px solid var(--colour-sky-blue);
    flex: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.results-table .table-head .table-column {
    cursor: pointer;
    border-left: 1px solid var(--colour-darker-sky-blue);
    border-bottom: 1px solid var(--colour-dark-grey);
}
.results-table .table-body .table-row.selected .table-column {
    border-left: 1px solid var(--colour-darker-sky-blue);
}
.results-table .table-column:first-child,
.results-table .table-body .table-row.selected .table-column:first-child {
    border-left: 0px
}
.results-table .table-column:last-child {
    border-right: 0px
}
.results-table .table-body .table-row:last-child .table-column {
    border-bottom: 1px solid var(--colour-dark-grey);
}

.results-table .table-column.table-column-narrow {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 25px;
}
.results-table .table-column.table-column-small {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 55px;
}
.results-table .table-column.table-column-medium {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 110px;
}
@media (max-width: 1199px) {
    .results-table .table-column.table-column-medium {
        flex-basis: 95px;
    }
}
@media (max-width: 991px) {
    .results-table .table-column.table-column-medium {
        flex-basis: 80px;
    }
}
@media (max-width: 767px) {
    .results-table .table-column.table-column-medium {
        flex-basis: 65px;
    }
}
@media (max-width: 575px) {
    .results-table .table-column.table-column-medium {
        flex-basis: 50px;
    }
}
.results-table .table-column.table-column-wide {
    flex: 2;
}

.results-table .table-column input[type='button'] {
    font-size: 0.65rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
}

.results-table .table-foot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 5px 10px 5px 5px;
    font-size: .8rem;
    font-weight: bold;
    background-color: white;
    color: var(--colour-darker-sky-blue);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    border-top: 2px solid var(--colour-darker-sky-blue);
    border-bottom: 4px solid var(--colour-darker-sky-blue);
    border-left: 4px solid var(--colour-darker-sky-blue);
    border-right: 4px solid var(--colour-darker-sky-blue);
    overflow: hidden;
}
.results-table .table-foot div {
    flex: 1;
    text-align: right;
}

.priority-circle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: white;
}
.priority-circle.priority_0_white {
    background-color: white;
}
.priority-circle.priority_1_red {
    background-color: #aa0000;
}
.priority-circle.priority_2_amber {
    background-color: #aa5500;
}
.priority-circle.priority_3_green {
    background-color: #00aa00;
}

.right-panel {
    flex: 1;
    height: 100%;
    border-top: solid 1px var(--colour-lighter-grey);
    font-size: .65rem;
    position: relative;
    overflow: hidden;
}

@media (max-width: 767px) {
    .right-panel .content h4, 
    .right-panel .content form,
    .right-panel .content p {
        margin-left: 15px;
        margin-right: 15px;
    }
}

/*@media (max-width: 991px) {*/
    .right-panel .content h4 {
        margin-top: 5px;
    }
/*}*/

.main-panel {
    flex: 1;
    height: 100%;
    border-top: solid 1px var(--colour-lighter-grey);
    font-size: .65rem;
    position: relative;
    overflow: hidden;
}

.company-title-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    background-color: var(--colour-light-grey);
    border-bottom: 1px solid #2a2e31;
}

.company-title-bar:hover {
    background-color: var(--colour-lighter-grey);
    cursor: pointer;
}

.company-title-bar .check {
    flex-basis: 20px;
    padding: 10px 0px 10px 5px;
    font-size: .85rem;
    font-weight: bold;
    color: var(--colour-dark-grey);
}

.company-title-bar .toggle {
    flex-basis: 30px;
    padding: 10px;
    font-size: 1.25rem;
    font-weight: bold;
    color: var(--colour-dark-grey);
}

.company-title-bar .name {
    flex: 1;
    padding: 10px 10px 10px 0px;
    font-size: .85rem;
    font-weight: bold;
    color: var(--colour-dark-grey);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.company .content {
    display: block;
}

#asset-search {
    padding: 5px;
    width: 100%;
    border-bottom: 1px solid var(--colour-dark-grey);
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 5px;
}
#asset-search input {
    font-size: 0.85rem;
}
@media (max-width: 767px) {
    #asset-search input {
        font-size: 16px;
    }
}
#asset-search input[type='checkbox'] {
}
#asset-search input[type='text'] {
    flex: 1;
}

.border-right {
    border-right: 1px solid var(--colour-lighter-grey);
}

#liveResults {
    height: calc(100% - 100px);
    overflow-y: auto;
    font-size: .65rem;
}

.asset {
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-delay: 0s;
    background-color: white;
}
.asset:nth-child(even) {
    background-color: var(--colour-off-white);
}

.asset:hover {
    background-color: var(--colour-lighter-grey);
    cursor: pointer;
}

.asset.selected {
    background-color: var(--colour-sky-blue);
}

.asset:not(:first-child) {
    border-top: 1px solid var(--colour-sky-blue);
}

.asset-title-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    overflow: hidden;
    text-wrap: nowrap;
}
.asset-title-bar .icon {
    display: flex;
    align-items:center;
    justify-content: center;
    flex-basis: 75px;
    height: 100%;
    /*background-color: var(--colour-off-white);*/
    text-align: center;
    font-size: 1.1rem;
    color: var(--colour-mid-grey);
    padding-left: 5px;
    border-right: 1px solid var(--colour-sky-blue);
}

.asset-title-bar .icon input[type='checkbox'] {
}
@media (max-width: 575px) {
    .asset-title-bar .icon input[type='checkbox'] {
        display: none;
    }
    .asset-title-bar .icon {
        flex-basis: 55px;
        padding-left: 0px;
    }
    #asset-search input[type='checkbox'] {
        display: none;
    }
  }

.asset .asset-title-bar .icon {
    fill: var(--colour-dark-grey);
}
.asset.selected .asset-title-bar .icon {
    fill: #fff;
}
.asset .asset-title-bar .icon.live {
    fill: #5c5;
}
.asset .asset-title-bar .icon.idling {
    fill: #ff7700;
}
.asset .asset-title-bar .icon.stolen {
    fill: #ff0000;
}
.asset-title-bar .name {
    flex: 1;
    padding-left: 10px;
    padding-right: 10px;
    font-size: .75rem;
    font-weight: bold;
    color: var(--colour-dark-grey);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.asset.selected .asset-title-bar .name {
    color: white;
}
.asset-details {
    border-top: 1px solid var(--colour-dark-grey);
    padding: 10px;
    color: var(--colour-dark-grey);
}
.asset-details:hover {
    background-color: var(--colour-lightest-grey);
}

.asset-details .pills-panel,
#asset-info-panel .pills-panel {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 10px;
}
.asset-details .pill,
#asset-info-panel .pill {
    display: flex;
    height: 20px;
    border-radius: 10px;
    font-size: .7rem;
    padding: 0px 10px 0px 10px;
    color: var(--colour-dark-grey);
    background-color: var(--colour-lightest-grey);
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.asset-details .pill i,
#asset-info-panel .pill i {
    font-size: .8rem;
    margin-right: 5px;
    color: var(--colour-dark-grey);
}
.asset-details:hover .pill {
    background-color: white;
}
.asset-details .pill:hover i,
#asset-info-panel .pill:hover i {
    color: var(--colour-sky-blue);
}
.asset-details .stats-panel {
    font-size: .8rem;
    color: var(--colour-dark-grey);
}
.asset-details .stats-panel i {
    font-size: .85rem;
    color: var(--colour-dark-grey);
}

.asset-details .stats-row {
    display: block;
    width: 100%;
    clear: both;
    padding-bottom: 5px;
}

#asset-count {
    height: 30px;
    background-color: white;
    font-size: .8rem;
    font-weight: bold;
    color: var(--colour-darker-sky-blue);
    border-top: 2px solid var(--colour-darker-sky-blue);
    padding: 5px 10px 5px 10px;
}

#map {
    flex: 1;
    flex-basis: 1;
    height: 100%;
}

#map-overlay {
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    right: 0px;
    background-color: black;
    opacity: 0.25;
    z-index: 98;
    display: none;
}

@media (max-width: 575px) {
    #map-overlay {
        display: block;
    }
}
@media (min-width: 576px) {
    #map-overlay {
        display: none !important;
    }
}

#admin-overlay,
#reports-overlay {
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    right: 0px;
    background-color: black;
    opacity: 0.25;
    z-index: 98;
    display: none;
}

/*
@media (max-width: 575px) {
    #admin-overlay,
    #reports-overlay {
        display: block;
    }
}
*/
@media (min-width: 768px) {
    #admin-overlay,
    #reports-overlay {
        display: none !important;
    }
}

.marker {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;   
    transform: translate(0%, 30%);
    z-index: 2;                             
}

/*
.marker .icon {
    border-radius: 50%;
    background-color: var(--colour-dark-grey);
    padding: 5px;
    margin-top: 5px;
    box-shadow: 5px 5px 3px var(--colour-mid-grey);
}
*/

.marker .icon {
    padding: 5px;
    margin-top: 5px;
    z-index: 3;
    position: relative;
    width: 32px;
    height: 32px;
}

.marker .icon svg {
    position: absolute;
    transform-origin: 50% 55%;
    transform: rotate(0deg);
    width: 32px;
    height: auto;
    fill: var(--colour-dark-grey);
    z-index: 4;
    left: 0px;
    top: 0px;
}

.marker .icon svg g g:nth-child(2) path {
    fill: var(--colour-dark-grey)!important;
}
.marker .icon.live svg g g:nth-child(2) path {
    fill: #5c5!important;
}
.marker .icon.stolen svg g g:nth-child(2) path {
    fill: #ff0000!important;
}
.marker .icon.idling svg g g:nth-child(2) path {
    fill: #ff7700!important;
}

.marker .label {
    display: inline;
    color: var(--colour-dark-grey);
    background-color: white;
    border: 1px solid var(--colour-dark-grey);
    padding: 2px;
    font-size: .5rem;
    z-index: 2;
}

.marker .speed {
    position: absolute;
    font-size: 0.6rem;
    z-index: 5;
    color: var(--colour-dark-grey);
    /*background-color: white;
    border-radius: 50%;*/
    font-weight: bold;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    left: calc(50% - 16px);
    top: calc(50% - 14px);
    text-align: center;
}

.marker .speed.small {
    font-size: 0.5rem;
    /*
    left: calc(50% - 16px);
    top: calc(50% - 14px);
    */
}

.journey-marker {
    z-index: 1;
}

.journey-marker .icon i {
    color: var(--colour-dark-grey);
    font-size: 0.5rem;
}

.journey-marker .icon i.start {
    color: var(--colour-green);
    font-size: 1.5rem;
}

.journey-marker .icon i.end {
    color: var(--colour-red);
    font-size: 1.5rem;
}

.journey-marker:has(> .icon > i.start),
.journey-marker:has(> .icon > i.end) {
    z-index: 2;
}

.modal-content {
    border-radius: 15px;
    border: 4px solid var(--colour-darker-sky-blue);
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
}

  .modal-dialog label,
  .modal-dialog input,
  .modal-dialog select,
  .modal-dialog textarea {
    font-size: .75rem !important;
  }

  .modal-header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 30px;
    background-color: var(--colour-sky-blue);
    clear: right;
    border-bottom: 1px solid var(--colour-dark-grey);
    padding: 0px 10px 0px 10px;
  }

  .modal-title {
    font-size: .85rem !important;
    font-weight: bold;
    color: white;
  }

  .modal-subtitle {
    font-size: .8rem !important;
    font-weight: bold;
    background-color: var(--colour-off-white);
    color: var(--colour-dark-grey);
    padding: 5px 10px 5px 10px;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .modal-body {
    font-size: .9rem !important;
    min-height: 300px;
    padding: 10px;
  }

  .bootbox .modal-body {
    min-height: auto;
  }

  .bootbox .modal-dialog {
    width: 250px;
  }

  .modal-body label {
    font-weight: bold;
  }

  .modal-body .col-xs-1,
  .modal-body .col-xs-2,
  .modal-body .col-xs-3,
  .modal-body .col-xs-4,
  .modal-body .col-xs-5,
  .modal-body .col-xs-6,
  .modal-body .col-xs-7,
  .modal-body .col-xs-8,
  .modal-body .col-xs-9,
  .modal-body .col-xs-10,
  .modal-body .col-xs-11,
  .modal-body .col-xs-12,
  .modal-body .col-sm-1,
  .modal-body .col-sm-2,
  .modal-body .col-sm-3,
  .modal-body .col-sm-4,
  .modal-body .col-sm-5,
  .modal-body .col-sm-6,
  .modal-body .col-sm-7,
  .modal-body .col-sm-8,
  .modal-body .col-sm-9,
  .modal-body .col-sm-10,
  .modal-body .col-sm-11,
  .modal-body .col-sm-12 {
    padding: 0px;
  }

  .modal-header .btn-close {
    font-size: .75rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
    color: #fff;
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-delay: 0s;
    opacity: 1.0;
  }
  .modal-header .btn-close:hover {
    color: #fff;
    opacity: 0.5;
  }

  .modal-footer {
    padding: 5px 10px 5px 10px;
    justify-content: flex-start;
    color: var(--colour-dark-grey);
    background-color: white;
    border-top: 1px solid var(--colour-dark-grey);
  }

  .modal-footer .btn {
    font-size: .8rem !important;
    margin: 0px 0px 0px 5px;
  }

  .filterable-dropdown .btn {
    font-size: .85rem !important;
    border: 1px solid var(--colour-dark-grey);
  }

  .filterable-dropdown .dropdown-menu {
    width: 350px;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
  }

  @media (max-width: 767px) {
    .filterable-dropdown .btn {
        width: 100%;
    }
    .filterable-dropdown .dropdown-menu {
        width: 100%;
      }
  }

  .filterable-dropdown .dropdown-menu ul {
    max-height: 135px;
    overflow-y: auto;
    padding-left: 0px;
    border-top: 1px solid var(--colour-lighter-grey);
    border-bottom: 1px solid var(--colour-lighter-grey);
    margin-bottom: 0px;
  }

  .filterable-dropdown .dropdown-menu li {
    list-style: none;
    font-size: .85rem !important;
    text-decoration: none;
    padding: 5px;
    color: var(--colour-dark-grey);
  }

  .filterable-dropdown li:hover {
    cursor: pointer;
    color: white;
    background: var(--colour-darker-sky-blue);
  }

  .filterable-dropdown .dropdown-menu li:not(.active) i.fa-check {
    color: white;
  }

  .filterable-dropdown .dropdown-menu li.active i.fa-check {
    color: var(--colour-dark-grey);
  }

  .filterable-dropdown .dropdown-menu li.active:hover i.fa-check {
    color: white!important;
  }

  .filterable-dropdown .dropdown-menu li:not(.active):hover i.fa-check {
    color: var(--colour-darker-sky-blue)!important;
  }

  .filterable-dropdown input[type='text'] {
    padding: 5px;
    margin-top: -6px;
    border: 0;
    border-radius: 0;
    background: var(--colour-off-white);
  }

  .filterable-dropdown .select-all {
    font-size: .7rem !important;
    font-weight: normal;
    color: var(--colour-dark-grey);
    padding: 5px;
  }

  .filterable-dropdown .select-all.active {
    font-weight: bold;
  }

  .filterable-dropdown .select-all:hover {
    cursor: pointer;
    color: white;
    background: var(--colour-darker-sky-blue);
  }

  .filterable-dropdown .select-all:not(.active) i.fa-check {
    color: white;
  }

  .filterable-dropdown .select-all.active i.fa-check {
    color: var(--colour-dark-grey);
  }

  .filterable-dropdown .select-all.active:hover i.fa-check {
    color: white!important;
  }

  .filterable-dropdown .select-all:not(.active):hover i.fa-check {
    color: var(--colour-darker-sky-blue)!important;
  }

.colour-swatch-picker.dropdown-menu {
    min-width: auto;
    padding: 5px;
    white-space: nowrap;
    line-height: 0.5rem;
}
.dropend .colour-swatch.dropdown-toggle::after {
    display: none;
}
.colour-swatch-picker li {
    display: inline-block;
}
.colour-swatch-picker a {
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 10px;
    border-bottom: solid 5px white;
    display: block;
}
.colour-swatch-picker a:hover,
.colour-swatch-picker a.active {
    border-bottom: solid 5px var(--colour-darker-sky-blue);
}
.colour-swatch {
    width: 1rem;
    height: 1rem;
    background: white;
    border:1px solid var(--colour-lighter-grey);
    border-radius: 5px;
}

.colour-swatch.red {
    background: #aa0000;
}
.colour-swatch.green {
    background: #00aa00;
}
.colour-swatch.orange {
    background: #aa5500;
}
.colour-swatch.white {
    background: white;
}

.form-group.row {
    align-items: center;
}

.loading-spinner-wrapper {
    display: flex; 
    width: 100%; 
    height: 100%; 
    align-items: center; 
    justify-content: center;
}

#asset-info-panel {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 0px;
    background-color: white;
    border-radius: 15px;
    border: 4px solid var(--colour-darker-sky-blue);
    height: 0px;
    overflow: hidden;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
    margin-bottom: -8px;
    opacity: 0;
    z-index: 100;
    container-type: size;
}

@media (max-width: 575px) {
    #asset-info-panel {
        left: 30px !important;
        right: 30px !important;
        margin-left: 0px !important;
        margin-right: 0px !important;
        max-width: unset;
    }
}

@media (min-width: 576px) {
    @container (width <= 445px) {
        #asset-info-panel .imei {
            display: none;
        }
    }
    @container (width <= 376px) {
        #asset-info-panel #right-column {
            display: none !important;
        }
        #asset-info-panel .imei {
            display: block;
        }
    }
    @container (width <= 244px) {
        #asset-info-panel .imei {
            display: none;
        }
    }
}

#asset-info-panel .location {
    min-width: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: calc(100% - 10px);
}

@media (min-width: 501px) and (max-width: 510px) {
    #asset-info-panel .imei {
        display: none;
    }
}

@media (max-width: 312px) {
    #asset-info-panel .imei {
        display: none;
    }
}

#asset-info-panel .asset-info-title-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 30px;
    background-color: var(--colour-sky-blue);
    clear: right;
    border-bottom: 1px solid var(--colour-dark-grey);
}

.asset-info-title-bar .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-basis: 35px;
    text-align: center;
    font-size: 1.1rem;
    fill: white;
    padding-left: 5px;
    height: 100%;
  }

.asset-info-title-bar .icon.live {
    fill: #5c5;
  }

.asset-info-title-bar .icon.idling {
    fill: #ff7700;
}

.asset-info-title-bar .icon.stolen {
    fill: #ff0000;
}

.asset-info-title-bar .name {
    flex: 1;
    padding-left: 5px;
    padding-right: 10px;
    font-size: .85rem;
    font-weight: bold;
    color: white;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.asset-info-title-bar .close-button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-basis: 30px;
    font-size: .85rem;
    font-weight: bold;
    text-align: right;
    padding-right: 10px;
}

.asset-info-title-bar .close-button i {
    color: white;
    opacity: 1.0;
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-delay: 0s;
}

.asset-info-title-bar .close-button i:hover {
    opacity: 0.5;
    cursor: pointer;
}

#asset-info-panel .columns {
    display: flex;
    clear: left;
    width: 100%;
    height: auto;
    padding: 10px;
}

#asset-info-panel .columns #left-column,
#asset-info-panel .columns #middle-column {
    flex: 1;
    height: calc(100% - 70px);
}
#asset-info-panel .columns #right-column {
    height: calc(100% - 70px);
    text-align: right;
}
@media (max-width: 500px) {
    #asset-info-panel .columns #right-column {
        display: none;
    }
}

#asset-info-panel .columns input[type='button'] {
    font-size: .65rem;
    padding: 3px 3px 0px 3px;
}

#asset-info-panel ul#journey-history-panel {
    display: table;
    list-style: none;
}
#asset-info-panel ul#journey-history-panel li {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    border-right: 5px solid white;
}
#asset-info-panel ul#journey-history-panel li:last-child {
    border-right: 0px;
}
ul#journey-history-panel input[type='date'] {
    width: 105px;
}

#asset-info-panel .columns ul.rows {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
} 

#asset-info-panel .columns #left-column ul.rows li {
    align-self: flex-start;
}
#asset-info-panel .columns #right-column ul.rows li {
    align-self: flex-end;
}

#asset-info-panel .columns #left-column {
    overflow: hidden;
}

#asset-info-panel .columns ul.rows li {
    flex: 1;
    margin-bottom: 5px;
    font-size: .75rem;
}
@media (max-width: 767px) {
    #asset-info-panel .columns ul.rows li {
        font-size: .7rem;
    }
}

#asset-info-panel .columns ul.rows li:last-child {
    margin-bottom: 0px;
}

#asset-info-panel .columns ul.rows li i {
    margin-right: 5px;
}

#asset-info-panel .reg-plate {
    padding: 2px;
    margin-left: 10px;
    text-transform: uppercase;
    background-color: white;
    color: black;
    border-radius: 5px;
    display: inline;
    border: 2px solid black;
    font-weight: bold;
    font-size: .75rem;
}

#asset-info-panel #actions-panel-mobile {
    font-size: .75rem;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-top: 1px solid var(--colour-light-grey);
    margin-top: 10px;
    padding-top: 10px;
    flex-wrap: wrap;
}

.btn.btn-primary {
    background-color: var(--colour-sky-blue);
    border: 1px solid #2a2e31;
}
.btn.btn-primary:hover {
    background-color: var(--colour-darker-sky-blue);
}

input[type='checkbox'] {
    accent-color: var(--colour-sky-blue);
}

.fadeIn {
    transition: opacity 2s linear;
    opacity: 1;
}

.fadeOut {
    transition: opacity 2s linear;
    opacity: 0;
}

#map-panels {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    gap: 0px;
}

.hidden {
    display: none !important;
}

@media (max-width: 575px) {
    .hidden-xs {
        display: none !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    .hidden-sm {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .hidden-md {
        display: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .hidden-lg {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .hidden-xl {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .top-icon-panel {
        display: none;
    }
    .logo {
        display: none;
    }
}

@media (min-width: 768px) {
    .logo-mb {
        display: none;
    }
}

.right-panel .content {
    padding: 10px;
    font-size: 0.85rem;
}

#admin-info-panel,
#admin-subscriptions-panel {
    position: absolute;
    left: 25px;
    right: 25px;
    height: 0%;
    bottom: 0px;
    font-size: 0.85rem;
    color: var(--colour-dark-grey);
    background-color: white;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-top: 4px solid var(--colour-darker-sky-blue);
    border-left: 4px solid var(--colour-darker-sky-blue);
    border-right: 4px solid var(--colour-darker-sky-blue);
    opacity: 0;
    overflow: hidden;
    box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
}
#admin-info-panel {
    z-index: 100;
}
#admin-subscriptions-panel {
    z-index: 101;
}

#admin-info-panel .admin-info-title-bar,
#admin-subscriptions-panel .admin-subscriptions-title-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 30px;
    background-color: var(--colour-sky-blue);
    clear: right;
    border-bottom: 1px solid var(--colour-dark-grey);
}
.admin-info-title-bar .name,
.admin-subscriptions-title-bar .name {
    flex: 1;
    padding-left: 10px;
    padding-right: 10px;
    font-size: .85rem;
    font-weight: bold;
    color: white;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.admin-info-title-bar .close-button,
.admin-subscriptions-title-bar .close-button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-basis: 30px;
    font-size: .85rem;
    font-weight: bold;
    text-align: right;
    padding-right: 10px;
}

.admin-info-title-bar .close-button i,
.admin-subscriptions-title-bar .close-button i {
    color: white;
    opacity: 1.0;
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-delay: 0s;
}

.admin-info-title-bar .close-button i:hover,
.admin-subscriptions-title-bar .close-button i:hover {
    opacity: 0.5;
    cursor: pointer;
}

.admin-info-content,
.admin-subscriptions-content {
    padding: 10px;
    font-size: .75rem;
    position: relative;
}
@media (max-width: 1199px) {
    .admin-info-content,
    .admin-subscriptions-content {
        font-size: .725rem;
    }
}
@media (max-width: 991px) {
    .admin-info-content,
    .admin-subscriptions-content {
        font-size: .7rem;
    }
}
@media (max-width: 767px) {
    .admin-info-content,
    .admin-subscriptions-content {
        font-size: .675rem;
    }
}
@media (max-width: 575px) {
    .admin-info-content,
    .admin-subscriptions-content {
        font-size: .65rem;
    }
}

.admin-info-content .row,
.admin-subscriptions-content .row {
    margin-left: -10px;
    margin-right: -10px;
}

.admin-info-save-cancel-buttons,
.admin-subscriptions-save-cancel-buttons {
    position: absolute;
    height: auto;
    width: auto;
    bottom: 10px;
    right: 10px;
}

.admin-form .row:first-child {
    max-height: 300px;
    overflow-x: hidden;
    overflow-y: auto;
}

#createSubscriptionForm .row:first-child {
    max-height: 100%;
    align-content: flex-start;
}

.admin-form label,
.report-form label {
    font-weight: bold;
}
@media (max-width: 767px) {
    .admin-form label,
    .report-form label {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }
}

#createSubscriptionForm .row:first-child > * {
    margin-bottom: 5px;
  }

#createSubscriptionForm label,
.subscription-form label {
    width: 140px;
}

.admin-form hr,
.report-form hr {
    margin: 10px 0;
}

.admin-form input[type='text'],
.admin-form input[type='number'],
.admin-form input[type='phone'],
.admin-form input[type='password'],
.admin-form input[type='date'],
.admin-form input[type='time'],
.admin-form select,
.admin-form textarea,
.report-form input[type='text'],
.report-form input[type='number'],
.report-form input[type='phone'],
.report-form input[type='password'],
.report-form input[type='date'],
.report-form input[type='time'],
.report-form select,
.report-form textarea {
    width: 100%;
}

@media (min-width: 992px) {
    #createSubscriptionForm.admin-form input[type='text'],
    #createSubscriptionForm.admin-form input[type='number'],
    #createSubscriptionForm.admin-form input[type='phone'],
    #createSubscriptionForm.admin-form input[type='password'],
    #createSubscriptionForm.admin-form input[type='date'],
    #createSubscriptionForm.admin-form select,
    #createSubscriptionForm.admin-form textarea {
        width: calc(100% - 145px);
    }
    .subscription-form.admin-form input[type='text'],
    .subscription-form.admin-form input[type='number'],
    .subscription-form.admin-form input[type='phone'],
    .subscription-form.admin-form input[type='password'],
    .subscription-form.admin-form input[type='date'],
    .subscription-form.admin-form select,
    .subscription-form.admin-form textarea {
        width: calc(100% - 145px);
    }
}

#createSubscriptionForm #payment-message {
    margin-top: 10px;
    font-size: 0.8rem;
    font-weight: bold; 
    min-height: 1.5em; 
}

.admin-subscriptions-content,
#createSubscriptionForm {
    height: 100%;
}

#btnCreateSubscriptionWrapper {
    display: flex;
    justify-items: center;
    align-items: center;
    gap: 5px;
    height: 40px;
}

#createSubscriptionForm #spnCreateSubscription {
    background-image: url('/assets/images/spinner5.gif');
    background-size: 30px 30px;
    background-repeat: no-repeat;
    flex-basis: 30px; 
    height: 30px;
    display: none;
}

#btnGetJourneyReportWrapper {
    display: flex;
    justify-items: center;
    align-items: center;
    gap: 5px;
    height: 35px;
}

#btnGetJourneyReportWrapper #btnGO {
    height: 100%;
}

#reportForm #selectedAsset {
    display: flex;
    gap: 5px;
    align-items: stretch;
}

#reportForm #selectedAsset .btn.dropdown-toggle {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

#reportForm #selectedAsset .dropdown-toggle:hover::after {
    color: var(--colour-sky-blue)!important;
}

#reportForm #spnGetJourneyReport {
    background-image: url('/assets/images/spinner5.gif');
    background-size: 30px 30px;
    background-repeat: no-repeat;
    flex-basis: 30px;
    height: 30px;
    display: none;
  }

@media (max-width: 767px) {
    .admin-form input[type='text'],
    .admin-form input[type='number'],
    .admin-form input[type='phone'],
    .admin-form input[type='password'],
    .admin-form input[type='date'],
    .admin-form input[type='time'],
    .admin-form select,
    .report-form input[type='text'],
    .report-form input[type='number'],
    .report-form input[type='phone'],
    .report-form input[type='password'],
    .report-form input[type='date'],
    .report-form input[type='time'],
    .report-form select  {
        height: 20px;
    }
}

.admin-form .form-group,
.report-form .form-group {
    margin-bottom: 5px;
}

label.required:after {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font: var(--fa-font-solid);
    font-size: 0.5rem;
    margin-left: 5px;
    /* Set the Unicode value for the "fa-asterisk" icon */
    content: '\2a';
}

@media (max-width: 767px) {
    .left-panel {
        box-shadow: 5px 5px 5px rgba(50, 50, 50, 0.25);
        position: absolute;
        background-color: white;
        width: 100%;
        z-index: 100;
        height: 100%;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .side-menu-header ul {
        width: 100%;
    }
}

.toggle-form {
    cursor: pointer;
}

.toggle-form:hover {
    color: var(--colour-sky-blue);
}

#reportPanel {
    margin-top: 20px;
    display: flex;
    align-items: stretch;
    border-top: 1px solid var(--colour-dark-grey);
    padding-top: 10px;
}

#reportPanel .report-panel-left {
    flex-basis: 300px;
    overflow-y: auto;
    /*border-right: 1px solid var(--colour-dark-grey);
    padding-top: 10px;*/
    padding-right: 10px;
}

#reportPanel .report-panel-right {
    flex: 1;
}

@media (max-width: 767px) {
    #reportPanel {
        flex-direction: column-reverse;
    }
    #reportPanel .report-panel-left {
        flex: 1;
    }
    #reportPanel .report-panel-right {
        flex: 1;
    }
}



#reportPanel #reportData .journey-item {
    padding: 5px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--colour-dark-grey);
    cursor: pointer;
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-delay: 0s;
    background-color: transparent;
}
#reportPanel #reportData .journey-item:hover {
    background-color: var(--colour-lightest-grey);
}

#reportPanel #reportData .journey-item.selected {
    /*
    background-color: var(--colour-sky-blue);
    border-bottom: 0px;
    color: white;
    */
    border: 2px solid var(--colour-dark-grey);
}

#reportPanel #reportData .journey-item:last-child {
    margin-bottom: 0px;
    /*border-bottom: 0px;*/
}

#reportPanel #reportData .journey-item .journey-item-header {
    display: flex;
    height: auto;
    align-items: stretch;
}

#reportPanel #reportData .journey-item .journey-item-footer {
    padding-top: 5px;
    padding-left: 5px;
    margin-bottom: 30px;
    height: auto;
    display: flex;
}

#reportPanel #reportData .journey-item .journey-item-footer .stat-item {
    flex-basis: 70px;
}

#reportPanel #reportData .journey-item .journey-item-title {
    font-size: 0.85rem;
    font-weight: bold;
    text-transform: uppercase;
    flex: 1;
}

#reportPanel #reportData .stat-item {
    display: flex;
    align-items: center;
}

#reportPanel #reportData .journey-item .journey-item-stats {
    flex-basis: 60px;
}
#reportPanel #reportData .stat-item,
#reportPanel #reportData .show-details {
    cursor: pointer;
}
#reportPanel #reportData .show-details {
    clear: both;
}
#reportPanel #reportData .show-details i:hover {
    color: var(--colour-sky-blue);
}
#reportPanel #reportData .journey-item .journey-item-stats i,
#reportPanel #reportData .journey-item .journey-item-footer i {
    font-size: 0.85rem;
    margin-right: 5px;
}
#reportPanel #reportData .journey-item .time i {
    font-size: 1rem;
    margin-right: 5px;
    align-self: center;
    margin-top: -3px;
}
#reportPanel #reportData .journey-item .time.start i {
    color: var(--colour-green);
}
#reportPanel #reportData .journey-item .time.normal i {
    color: var(--colour-dark-grey);
    font-size: 0.65rem;
}
#reportPanel #reportData .journey-item .time.end i {
    color: var(--colour-red);
}
#reportPanel #reportData .journey-item .time i:hover {
    color: var(--colour-sky-blue);
}
#reportPanel #reportData .journey-item .journey-item-stats span {
    font-size: 0.9rem;
}
#reportPanel #reportData .journey-item .journey-item-footer span {
    font-size: 0.95rem;
}
#reportPanel #reportData .journey-item .time span {
    font-size: 0.8rem;
}

#reportPanel #reportData .journey-item .journey-item-row {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: flex-start;
    border-bottom: 1px solid var(--colour-lighter-grey);
    cursor: pointer;
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-delay: 0s;
    background-color: inherit;
}
#reportPanel #reportData .journey-item .journey-item-row:hover {
    background-color: white;
}
#reportPanel #reportData .journey-item .journey-item-row.selected {
    background-color: var(--colour-lighter-grey);
}

#reportPanel #reportData .journey-item .journey-item-row:last-child {
    margin-bottom: 0px;
    border-bottom: 0px;
}

#reportPanel #reportData .journey-item .journey-item-column {
    padding: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    border-right: 1px solid var(--colour-lighter-grey);
    font-size: 0.8rem;
    flex: 1;
}

#reportPanel #reportData .journey-item .journey-item-column.time {
    flex-basis: 70px;
    flex-grow: 0;
    flex-shrink: 0;
}
#reportPanel #reportData .journey-item .journey-item-column.location {
    line-height: 0.8rem;
}
#reportPanel #reportData .journey-item .journey-item-column:last-child {
    border-right: 0px;
}

#reportPanel #reportMap {
    height: 100%;
}

/* =====================
   = Parsley JS styles =
   =====================*/

/*
input.parsley-success,
select.parsley-success,
textarea.parsley-success {
  color: #468847;
  background-color: #DFF0D8;
  border: 1px solid #D6E9C6;
}
*/

input.parsley-error,
select.parsley-error,
textarea.parsley-error {
    color: #B94A48;
    background-color: #F2DEDE;
    border: 1px solid #b94a48;
}

.parsley-errors-list {
  margin: 5px 0 5px;
  padding: 0;
  list-style-type: none;
  font-size: 0.7rem;
  line-height: 0.7rem;
  opacity: 0;
  color: #B94A48;
  transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in;
}

.parsley-errors-list.filled {
  opacity: 1;
}

/** Other error classes **/

#errorMessage {
    font-size: .9rem !important;
    font-weight: bold;
    color: #B94A48;
}