/* © Copyright 2017-2026 Luau Data */
html, body {
    min-height: 100%;
    height: 100%;
    font-size: 1vmax;
    position: relative;
}

body {
    overflow-x: hidden;
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

fieldset {
    padding: 0;
    border: 0;
}

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

li.flash-item {
    display: block;
}

.ui-tabs-anchor {
    padding: .25em 4em !important;
}

.ui-tabs-active {
    background: #3167be !important;
    border: 1px solid #c5c5c5 !important;
}

.custom-tabs-anchor {
    padding: .25em 2em !important;
    user-select: none;
}

div.info_value {
    white-space: nowrap;
    font-size: 1em;
}

/*div#controls {*/
/*    width: 100%;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*}*/

/*.image_modifier {*/
/*    padding-left:5px;*/
/*}*/

div.thumbnail {
    position: relative;
    border: 1px solid black;
    cursor: pointer;
    display: inline-block;
    min-width: 16vmin;
    width: auto;
    text-align: center;
    font-size: 1.25vmin;
    margin-right: 5px;
    user-select: none;
}

img.thumbnail {
    max-width: 16vmin;
    max-height: 9vmin;
    width: 16vmin;
    height: 9vmin;
    min-width: 100px;
    position: relative;
    object-fit: contain;
    background-color: rgba(0, 0, 0, 0);
    z-index: 2;
}

div.thumbnail.selected > img {
    outline: 5px solid #3167be;
    outline-offset: -4px;
}

div.container {
    display: table;
    /*border:1px solid black;*/
    margin: auto;
    width: 96vw;
    position: relative;
    max-width: 96vw;
}

div.viewport {
    display: flex;
    position: relative;
    min-height: 1px;
    max-height: 100%;
    min-width: 70%;
    max-width: 100%;
    overflow: hidden;
    text-align: center;
    font-size: 3vmax;
    padding: 4px;
    margin-top: -1px;
    margin-left: -1px;
    grid-column: 1;
    grid-row: 1;
    border: 1px solid #c5c5c5;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-flow: wrap;
}

div.row {
    max-width: inherit;
    display: table-row;
    clear: both;
    height: 100%;
    width: 100%;
}

div.col {
    float: left;
    display: table-column;
}

div.viewright {
    position: relative;
    float: right;
    display: block;
    top: 0;
    right: 0;
    padding-right: 5px;
}

svg.navigation, .actions, .slideshow {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.sub-icon {
    /*position: relative;
    left: -0.8em;
    vertical-align: -.5em;
    margin-right: -0.8em;*/
}

.disabled {
    opacity: 0.5 !important;
    cursor: default !important;
}

span#btn_undo.disabled, div#merge_button span.disabled {
    pointer-events: none !important;
}

span#btn_undo:not(.disabled) > .sub-icon {
    color: #8ecc01;
}

div.info {
    font-size: 1em;
    padding: 0.5em;
    border: 1px solid #c5c5c5;
    border-radius: 3px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    justify-self: center;
    align-content: center;
}

div.calendar div.ui-datepicker {
    font-size: 1em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

div.calendar div.ui-datepicker {
    width: 100%;
}

div.calendar div.ui-datepicker td a, div.calendar div.ui-datepicker td span {
    height: 1.8vmax;
    padding: 0.2em 0.2em 0 0;
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
    background-image: none !important;
}

.ui-datepicker-prev::before,
.ui-datepicker-next::before {
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    font-weight: normal;
    align-items: center;
    justify-content: center;
}

.ui-datepicker-prev::before {
    content: "\f137";
    font-weight: 900;
}

.ui-datepicker-next::before {
    content: "\f138";
    font-weight: 900;
}

#nav_arrow_left {
    left: 0;
}

#nav_arrow_right {
    right: 0;
}

#nav_arrow_right, #nav_arrow_left {
    position: absolute;
    bottom: 0;
    z-index: 3;
    height: 11.25vmin;
    width: 30px;
    cursor: pointer;
    opacity: 0.25;
}

#nav_arrow_right:hover, #nav_arrow_left:hover {
    opacity: 0.75;
    background: #2b2b2b;
}

.star {
    position: absolute;
    z-index: 3;
    margin-top: 2px;
    margin-left: 2px;
    font-size: 1.3em;
    color: white;
    transition: .25s ease;
}

.star path {
    stroke: black;
    stroke-width: 10px;
}

.thumbnail.delete .star {
    pointer-events: none;
    cursor: auto;
}

.thumbnail:not(.delete) .star:hover {
    color: #8ecc01;
}

.thumbnail:hover:not(.delete) .star {
    opacity: 1;
}

.active_star {
    color: #8ecc01;
    opacity: 1;
}

.inactive_star {
    opacity: 0;
}

#timelapse_wrapper {
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns: auto auto;
    grid-row-gap: 1em;
}

:-webkit-full-screen #content {
    display: none;
}

:-moz-full-screen #content {
    display: none;
}

:-ms-fullscreen #content {
    display: none;
}

:fullscreen #content {
    display: none;
}

/* Header content */
.header {
    top: 0;
    z-index: 2;
    width: 96vw;
    margin: auto;
    position: relative;
    display: grid;
    grid-template-rows: 50px;
    grid-template-columns: auto 1fr auto;
}

div.logo {
    grid-row: 1;
    grid-column: 1;
}

#deviceSelector {
    grid-row: 1;
    grid-column: 2;
    padding-left: 4px;
    align-self: center;

    width: 100%;
}

div.options {
    display: flex;
    grid-row: 1;
    grid-column: 3;
}

div.home_button {
    display: flex;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    align-items: center;
}

div.home_button a, div.home_button a:visited {
    text-decoration: none;
    color: black;
}

div.home_button:hover {
    background-color: #3167be;
}

div.home_button > .header_icon {
    font-size: 1.75em;
}

img.logo {
    width: 100%;
    max-height: 46px;
    max-width: 190px;
}

.povBack {
    cursor: pointer;
}

.povForward {
    cursor: pointer;
}

div.headerNav {
    width: 70%;
    display: table;
    height: 100%
}

a.header_link.disable {
    pointer-events: none;
    cursor: not-allowed;
    background-color: #ddd;
    opacity: 0.65;
}


/* Dropdown menus */
.dropdown {
    float: right;
    position: relative;
    height: 100%;
}

.dropdown .dropbtn, .home_button {
    height: 100%;
    font-size: 1.1em;
    border: none;
    outline: none;
    color: black;
    padding: 8px 12px;
    background-color: inherit;
}

.dropdown:hover .dropbtn {
    background-color: #3167be;
}

.dropdown_content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
    z-index: 1;
    min-width: 8em;
    font-size: 1.25em;
}

.dropdown_content a {
    float: none;
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}

.dropdown_content a:hover {
    background-color: #ddd;
}

.dropdown:hover .dropdown_content {
    display: block;
}

.header_icon {
    font-size: 20px;
    padding-right: 12px;
}

.selector {
    min-width: 25%;
    padding: 0 5px 0 0;
    font-size: calc(5px + 1vmax) !important;

}

.chosen-single {
    height: 45px !important;
    line-height: 40px !important;
}

.chosen-results li.showInactive {
    font-style: italic;
}

.chosen-results li {
    line-height: 1em !important;
}

/* Observe, Status, Configure buttons */
a.menu_button {
    display: inline-flex;
    width: 100%;
    background-color: #02b1fe;
    text-align: center;
    border: 1px solid #02b1fe;
    text-decoration: none;
    font-family: "Helvetica Neue", Helvetica Arial, sans-serif;
    font-size: 1em;
    color: white;
    cursor: pointer;
    align-items: center;
    justify-content: center;
}

a.menu_button:hover {
    background-color: #fe4f02;
}

a.menu_button_active {
    background-color: #fe4f02;
}

div.row ul, div.col ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/* Tables */
div.dataTables_wrapper {
    width: inherit;
}

.table {
    display: table;
    width: 100%;
    table-layout: fixed;
    font-size: 1em;
}

.tableBody {
    display: table-row-group;
}

.tableRow {
    display: table-row;
}

.tableHeader {
    display: table-row;
    font-weight: bold;
    font-size: 1vw;
}

.tableCell {
    /*border: 1px solid #999999;*/
    display: table-cell;
    padding: 0.3vmin;
    overflow-wrap: break-word;
    vertical-align: top;
}

.noBorder {
    border: 0 !important;
}

.vBottom {
    vertical-align: bottom;
}

/* Region/Location Management */
#accordionContainer {
    float: left;
    width: 30%;
    overflow-y: scroll;
    overflow-x: hidden;
    height: calc(100vh - 113px);
}

div.map {
    float: right;
    width: 70%;
    height: 100%;
    top: 0;
    right: 0;
}

#homeMap {
    position: absolute;
    right: 0;
    top: 0;
}

/* Removes the "x" on the info windows in location management */
.gm-style-iw + div {
    display: none;
}

.gm-style-iw {
    text-align: center;
}

/* Map delete vertex menu */
.delete-menu {
    position: absolute;
    background: white;
    padding: 3px;
    color: #666;
    font-weight: bold;
    border: 1px solid #999;
    font-family: sans-serif;
    font-size: 12px;
    box-shadow: 1px 3px 3px rgba(0, 0, 0, .3);
    margin-top: -10px;
    margin-left: 10px;
    cursor: pointer;
}

.delete-menu.inactive {
    opacity: 0.5;
}

.delete-menu:hover {
    background: #eee;
}

#sites {
    visibility: hidden;
    display: none;
}

#newRegion, #newSite {
    visibility: hidden;
    display: none;
}

footer {
    font-size: 16px;
    width: 100%;
}

div.footer {
    margin: auto;
    width: 96vw;
    position: relative;
}

span.version {
    float: right;
}

/* Home */
button.accordion, .regionEditButton, .regionSaveButton, .regionCancelButton, .regionDeleteButton, .regionLSDButton {
    background-color: #eee;
    color: #444;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    height: 61px;
    transition: max-height 0.2s ease-out, height 0.2s ease-out;
}

button.accordion:not(.noSelection):hover,
.regionEditButton:hover, .regionSaveButton:hover, .regionCancelButton:hover, .regionDeleteButton:hover, .regionLSDButton:hover {
    background-color: #01a0e6;
}

button.accordion.active {
    background-color: #02b1fe;
}

.panel.active > .site, .panel:not(.noSelection) > .site:not(.siteEditMode):hover, .panel.pov:not(.noSelection):hover,
.siteEditButton:hover, .siteSaveButton:hover, .siteCancelButton:hover, .siteDeleteButton:hover, .siteLSDButton:hover {
    background-color: #fe4f02;
}

.panel.active > .site {
    background-color: #fe611b;
}

.siteEditMode {
    background-color: #8ecc01;
}

.panel {
    padding: 0 0 0 18px;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.2s ease-out, height 0.2s ease-out;
    cursor: pointer;
}

.noSelection {
    cursor: default;
}

.accordion.region {
    font-size: 20px;
    font-weight: bolder;
}

.panel.siteContainer {
    font-size: 17px;
    font-weight: bold;
    display: flex;
}

.panel.pov {
    font-size: 13px;
    padding: 0 36px;
}

.panel.pov[data-active="False"] {
    font-style: italic;
}

.regionEditButton, .siteEditButton {
    font-weight: bold;
}

.regionCancelButton, .regionEditButton, .regionSaveButton, .regionDeleteButton, .regionLSDButton {
    float: right;
    width: 10%;
    padding: 0;
    text-align: center;
}

.siteCancelButton, .siteEditButton, .siteSaveButton, .siteDeleteButton, .siteLSDButton {
    max-height: 0;
    width: 10%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.siteCancelButton, .siteSaveButton, .siteDeleteButton, .siteLSDButton {
    font-size: 10px;
    line-height: 2;
}

/* Status */

.tab_wrapper {
    margin-top: -6px;
    border: 1px solid #c5c5c5;
    border-radius: 3px;
}

.title, .box-heading span.title {
    display: block;
    font-size: 2em;
    margin-top: 0.1em;
    margin-bottom: 0.1em;
}

.box-heading #users_length, .box-heading #users_filter,
.box-heading #auditTable_length, .box-heading #auditTable_filter,
.box-heading #deviceTable_length, .box-heading #deviceTable_filter,
.box-heading #povTable_length, .box-heading #povTable_filter {
    float: none;
    color: #ffffff;
}

.dataTables_wrapper {
    border: 1px solid black;
}

#dataTable_label span {
    font-size: 28px;
}

/* Dialogs */
label.dialog {
    display: block;
    padding-top: 5px;
}

input.dialog, textarea.dialog {
    display: block;
    width: 100%;
}

/* Config */
.box-heading {
    background-color: #3167be;
    box-sizing: border-box;
    position: relative;

    min-height: 58px;
}

.box-heading span, .box-heading div {
    display: inline-block;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 58px;
    padding: 0 1.2rem;
}

div#add_user_button {
    margin: 0 8px;
    padding: 0;
    position: absolute;
    top: 25%;
    right: 10px;
    line-height: 0;
    height: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    transition: all .4s ease;
    -webkit-transition: all .4s ease;
}

.iconButton {
    font-size: 1.35em;
    cursor: pointer;
    color: #FFFFFF;
    background-color: #8ecc01;
    padding: 12px 24px 12px 24px;
    border-style: none;
}

.iconButton:hover {
    background-color: #7cb301;
}

.iconDisabled, .iconDisabled:hover {
    background-color: #6b6b6b;
    cursor: default;
}

/* Flashes */
div.flashes {
    position: fixed;
    z-index: 10;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    display: none;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 4px;

    text-align: center;
}

div.alert-success {
    background-color: #dff0d8;
    color: #3c763d;
}

div.alert-error {
    background-color: #f2dede;
    color: #a94442;
}

span.flash-close {
    float: right;
    position: relative;
    cursor: pointer;
    right: -15px
}

/* Alert toast */
#alertToast {
    visibility: hidden;
    min-width: 100%;
    background-color: #fe4f02;
    color: #fff;
    border-radius: 2px;
    padding: 16px;
    position: fixed;
    z-index: 100;
    left: 0;
    bottom: 0;
    display: flex;
    text-align: center;
}

#alertToast.show {
    visibility: visible;
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@-webkit-keyframes fadein {
    from {
        opacity: 0;
        bottom: -100px
    }
    to {
        opacity: 1;
        bottom: 0
    }
}

@keyframes fadein {
    from {
        opacity: 0;
        bottom: -100px
    }
    to {
        opacity: 1;
        bottom: 0
    }
}

span.empty_pov {
    font-size: 3vmax;
    width: 100%;
    height: calc(97vh - 100px);
    display: flex;
    align-items: center;
    justify-content: center;
}

div#headTabs ul li.ui-state-disabled {
    pointer-events: all;
    cursor: default !important;
}

div#headTabs ul {
    display: flex;
    align-items: center;
}

input.hidden {
    position: absolute;
    top: -1000px;
}

.full-width {
    width: 100%;
}

.control-label {
    color:#0089dd;
}
