/*!
Trunking Recorder
Copyright (c) 2026 Jason Veenstra

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
to use or copy the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* Datatables Variables*/
:root {
    --dt-row-selected: 9, 114, 165;
    --dt-row-stripe: 50, 50, 50;
    --dt-row-stripe-alpha: 0.25;
    --dt-row-selected-stripe-alpha: 0.923;
    --dt-row-hover: 0, 0, 200;
    --dt-row-hover-alpha: 0.25;
    --tr-row-background: 10, 10, 10;
    --tr-row-background-alpha: 0.1;
    --tr-note-background: 60, 60, 60;
    --tr-note-background-alpha: 0.5;
    --tr-note-border-left: 255, 152, 0;
    --tr-background: 0, 0, 0;
    --tr-main: 255, 255, 255;
    --tr-main-border: 170, 170, 170;
    --tr-table-border: 51, 51, 51;
    --tr-row-selected-border: 0, 62, 255;
    --tr-header: 51, 51, 51;
    --tr-header-light: 75, 75, 75;
}

a:link,
a:visited {
    color: rgb(var(--tr-main));
    font-weight: bold;
}

a:hover {
    color: rgb(var(--dt-row-selected));
    font-weight: bold;
}

body {
    background-color: rgb(var(--tr-background));
    color: rgb(var(--tr-main));
    font: 90%/1.45em "Helvetica Neue",HelveticaNeue,Helvetica,Verdana,Arial,sans-serif;
    margin: 10px;
    padding: 0px;
}

h1 {
    font: 1.5em "Helvetica Neue",HelveticaNeue,Helvetica,Verdana,Arial,sans-serif;
    margin: 5px;
}

#table {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#header {
    position: fixed;
    margin: 0px;
    top: 0px;
    left: 0px;
    display: block;
    width: 100%;
    height: 60px;
    z-index: 999;
    background: rgb(var(--tr-header));
}

    #header:after {
        background-color: rgb(var(--tr-header-light));
        content: "";
        display: block;
        height: 10px;
        position: absolute;
        top: 60px;
        width: 100%;
        z-index: 999;
        clear: both;
    }

#headeroffset {
    padding-top: 70px;
}

.content {
    margin: 0px;
    top: 0px;
    display: block;
    z-index: 1;
    width: 100%;
    word-wrap: break-word;
    position: relative;
    font: 90%/1.45em "Helvetica Neue",HelveticaNeue,Helvetica,Verdana,Arial,sans-serif;
    padding-bottom: 10px;
}

#audioplayer {
    margin: 10px 10px 0px 10px;
}

#nowplaying {
    margin: 10px 10px 0px 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#wrapper {
    overflow: hidden;
}

#leftwrapper {
    float: left;
    width: 100%;
    max-width: 400px;
    min-width: 250px;
}

#nowplayingwrapper {
    float: left;
    width: 100%;
    max-width: 500px;
    min-width: 250px;
}

.logo {
    float: left;
}

.headeritem {
    display: inline-block;
    margin: 10px 5px 10px 5px;
    white-space: nowrap;
}

#headingtitle {
    float: right;
    margin: 20px;
    width: 225px;
}

#headingtitleadmin {
    float: right;
    margin: 20px;
    width: 400px;
}

.container {
    display: flex;
    justify-content: space-between;
}

#calltextsearch {
    margin: 5px 10px;
}

#servertime {
    margin: 5px;
    width: 400px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.playbackheader {
    display: inline;
}

.searchinput {
    color: rgb(var(--tr-main));
    background-color: rgb(var(--tr-background));
    background-image: linear-gradient(rgb(var(--tr-row-background)) 1%, rgb(var(--tr-background)) 15%);
    border: 1px solid rgb(var(--tr-main-border));
    border-radius: 4px;
    cursor: text;
    height: 32px;
    margin: 0;
    overflow: hidden;
    padding: 0 5px;
    position: relative;
    box-sizing: border-box;
    font-size: 13px;
    vertical-align: middle;
    width: 320px;
}

.ui-accordion .ui-accordion-content {
    padding: 1em;
}

.searchselect {
    min-width: 200px;
}

.searchlabel {
    display: none;
    margin-right: 0.5em;
}

#SelRadiousers, #SelTalkgroups {
    width: 300px;
    max-width: 400px;
    white-space: nowrap;
}

/* Seletc2 search options */
.select2-container {
    margin-right: 0.5em;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: rgb(var(--dt-row-selected));
    color: white;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: white;
}

.select2-container .select2-selection--single {
    height: 32px;
}

#alldates {
    display: inline;
}

.searchcheckbox.ui-state-active, .searchcheckbox.ui-widget-content .searchcheckbox.ui-state-active, .searchcheckbox.ui-widget-header .searchcheckbox.ui-state-active {
    background: rgb(var(--dt-row-selected)) none repeat scroll 0 0;
    border: 1px solid rgb(var(--tr-row-selected-border));
    color: rgb(var(--tr-main));
    font-weight: normal;
}

.no-fouc {
    display: none;
}

.admindiv {
    margin-bottom: 25px;
}

.adminstreamdiv {
    margin: 10px;
}

.adminheading {
    font: 1.5em "Helvetica Neue",HelveticaNeue,Helvetica,Verdana,Arial,sans-serif;
    margin-bottom: 10px;
    border-bottom: 8px solid rgb(var(--tr-header));
}

.adminbutton {
    background: rgb(var(--dt-row-selected)) none repeat scroll 0 0;
    border: 1px solid rgb(var(--tr-row-selected-border));
    color: rgb(var(--tr-main));
    font-weight: normal;
    font-size: 0.9em;
}

/* Date picker search options */
#datepicker:disabled {
    background-color: rgb(var(--tr-header));
    cursor: default;
    background-image: none;
}

.CallTextInput {
    width: 100%;
    min-width: 250px;
    min-height: 150px;
    font-weight: normal;
    font-size: 0.9em;
    margin: 10px 0 10px 0;
}


/* TR child row button formating */
.childbutton {
    font-size: 1.0em;
}

/* Datatables Call Notes and Text*/
.flex-container {
    display: flex;
    height: 100%;
    padding: 5px 10px;
    border: 1px solid rgb(var(--tr-header-light));
    border-left: 4px solid rgb(var(--tr-note-border-left));
}

    .flex-container > div {
        padding: 0px 5px 0px 5px;
    }

.flex-items {
    align-self: center;
}

    .flex-items.item1 {
        display: inline-block;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .flex-items.item2 {
        white-space: normal;
        color: rgb(var(--tr-main));
        line-height: 1.55;
        font-size: 0.95rem;
        padding: 5px;
    }

    .flex-items.item3 {
        flex-grow: 1;
    }

/* Datatables child row button formating */
table.dataTable tbody td.dt-control:before {
    height: 1em;
    width: 1em;
    margin-top: -9px;
    display: inline-block;
    color: white;
    border: 0.15em solid rgb(var(--tr-main-border));
    border-radius: 1em;
    box-shadow: 0 0 0.2em rgb(var(--tr-main));
    box-sizing: content-box;
    text-align: center;
    text-indent: 0 !important;
    font-family: "Courier New", Courier, monospace;
    line-height: 1em;
    content: "+";
    background-color: rgb(var(--dt-row-selected));
}

table.dataTable tbody tr.dt-hasChild td.dt-control:before {
    content: "-";
    background-color: #d33333;
    border: 0.15em solid rgb(var(--tr-main-border));
}

table.dataTable tbody td.CallText:before {
    background-color: #31b131;
}

table.dataTable tbody tr.CallPlayed td.dt-control:before {
    border: none;
}

table.dataTable td.dt-control {
    text-align: center;
    cursor: pointer;
}

table.dataTable tbody tr.dt-hasChild {
    background-color: rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha));
    box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023);
    box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha));
}

table.dataTable.display tbody td:has(.flex-container) {
    border-top: none;
    background: rgb(var(--tr-row-background));
}

table.dataTable.stripe > tbody > tr:nth-child(2n+1) > *, table.dataTable.display > tbody > tr:nth-child(2n+1) > * {
    box-shadow: none;
}

table.dataTable > tbody > tr:nth-child(even of :not(.trchild)) > td,
table.dataTable > tbody > tr:nth-child(even of :not(.trchild)) + .trchild > td {
    background-color: rgb(var(--tr-row-background));
}


table.dataTable > tbody > tr:nth-child(odd of :not(.trchild)) > td,
table.dataTable > tbody > tr:nth-child(odd of :not(.trchild)) + .trchild,
table.dataTable > tbody > tr:nth-child(odd of :not(.trchild)) + .trchild > td {
    background-color: rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha));
    box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023);
    box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha));
}

    table.dataTable > tbody > tr:nth-child(odd of :not(.trchild)):hover > *,
    table.dataTable > tbody > tr:nth-child(even of :not(.trchild)):hover > *,
    table.dataTable > tbody > tr:nth-child(odd of :not(.trchild)) + .trchild:hover > *,
    table.dataTable > tbody > tr:nth-child(even of :not(.trchild)) + .trchild:hover > * {
        box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.035);
        box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), var(--dt-row-hover-alpha));
    }

/* Datatables background formating */
table.dataTable tbody tr {
    background-color: rgb(var(--tr-row-background));
}

table.dataTable thead th,
table.dataTable thead td,
table.dataTable tfoot th,
table.dataTable tfoot td {
    text-align: center;
}

/* Datatables Export Buttons  */
.DTbuttons .ui-button {
    margin: 0.5em;
}

.dataTables_wrapper .dataTables_processing {
    z-index: 999;
}

/* Datatables Paging Buttons  */
.dataTables_wrapper .dataTables_paginate .fg-button {
    min-width: 3.0em;
}

/* Datatables paging and length inputs */
.dt-paging-input input, div.dt-container select.dt-input {
    height: 27px;
    width: 50px;
    background-color: rgb(var(--tr-background));
    border: 1px solid rgb(var(--tr-main-border));
    border-radius: 4px;
    cursor: text;
    color: rgb(var(--tr-main));
}

div.dt-container .dt-paging .dt-paging-button.disabled, div.dt-container .dt-paging .dt-paging-button.disabled:hover {
    opacity: .35 !important;
    border: 1px solid rgb(var(--tr-main-border)) !important;
    background: rgb(var(--tr-row-background)) url("../jquery-ui/images/ui-bg_highlight-soft_35_222222_1x100.png") 50% 50% repeat-x !important;
    cursor: default !important;
    color: rgb(var(--tr-main)) !important;
}

div.dt-container .dt-paging .dt-paging-button:hover {
    border: 1px solid rgb(var(--dt-row-selected));
    background: rgb(var(--tr-row-background)) url("../jquery-ui/images/ui-bg_highlight-soft_33_003147_1x100.png") 50% 50% repeat-x;
    font-weight: normal;
    color: rgb(var(--tr-main-border)) !important;
}

div.dt-container .dt-paging .dt-paging-button {
    border: 1px solid rgb(var(--tr-header));
    background: rgb(var(--tr-table-border)) url("../jquery-ui/images/ui-bg_highlight-soft_35_222222_1x100.png") 50% 50% repeat-x;
    font-weight: normal;
    color: rgb(var(--tr-main));
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: 0.5em;
    margin-left: 2px;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    *cursor: hand;
}

/* Datatables Show Column Button  */
div.dt-button-collection.fixed {
    background-color: rgba(255, 255, 255, 0.3);
}

div.dt-buttons span.ui-button-icon-primary.ui-icon.ui-icon-triangle-1-s {
    display: none;
}

div.dt-button-collection .dt-button-active::after {
    display: none;
}

div.dt-button-collection .dt-button-active {
    border: 1px solid rgb(var(--tr-row-selected-border));
    background: rgb(var(--dt-row-selected)) url("../jquery-ui/images/ui-bg_highlight-hard_20_0972a5_1x100.png") 50% 50% repeat-x;
    font-weight: normal;
    color: rgb(var(--tr-main));
    padding-right: 0em;
}

div.dt-button-collection .dt-button {
    justify-content: center;
}

.ShowButton {
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: 0.5em;
    //margin: 0.5em;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
}

/* Datatables Headers  */
.dt-layout-row.ui-helper-clearfix:not(.dt-layout-table) {
    display: flex !important;
    align-items: center !important;
    width: 100%;
    background: rgb(var(--tr-row-background)) url("../jquery-ui/images/ui-bg_highlight-soft_44_444444_1x100.png") 50% 50% repeat-x;
    color: rgb(var(--tr-main));
    border: 1px solid rgb(var(--tr-table-border));
    flex-wrap: wrap;
    justify-content: center;
}

.dt-layout-start, .dt-layout-end {
    padding: 0.5em;
}

.dt-layout-row.ui-helper-clearfix:not(.dt-layout-table):first-child {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.dt-layout-row.ui-helper-clearfix:not(.dt-layout-table):last-child {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

div.dt-container div.dt-layout-row {
    margin: 0;
}

/* Overrides for mobile devices, keep at end of file */
@media screen and (max-width:1190px) {
    #headingtitle {
        display: none;
    }

    .searchlabel {
        display: none;
    }
}

@media screen and (max-width:920px) {
    select[name=Talkgroups] {
        max-width: 200px;
        white-space: nowrap;
    }

    .DTTT_container {
        display: none;
    }

    #header {
        height: 110px;
    }

    #headeroffset {
        padding-top: 120px;
    }

    #header:after {
        top: 110px;
    }

    .headeritem {
        white-space: normal;
    }

    .container {
        flex-wrap: wrap;
        justify-content: center;
    }

    .dt-layout-start, .dt-layout-end {
        padding: 0.25em;
    }

    div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell > * {
        margin: 0.1em 0;
    }
}
