/* Please see documentation at https://docs.microsoft.com/en-us/aspnet/core/migration/31-to-50?view=aspnetcore-5.0&tabs=visual-studio
The specified styles were added as long as the did not conflict with existing styles.
*/
/* This is actually called in _layout*/
/*@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
*/

html {

}

html[data-theme='dark'] {
    background: #000;
    filter: invert(1) hue-rotate(180deg)
}

.flip-dark {
    filter: invert(1) hue-rotate(180deg)
}

:root {
    --navWidth: 270px;
}

::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: #FBFBFB;
    border: 1px solid lightgray;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb {
    background-image: linear-gradient(180deg, #28306d 0%, #33499e 70%);
    /*border: 1px solid #007bff;*/
    border-radius: 5px;
}

    /*::-webkit-scrollbar-thumb:hover {
        background: #0073EF;
    }*/

.content {
    padding-top: 1.1rem;
    height:100%;
}


.content-col {
    height: 100%;
    display: flex;
    flex-flow: column;
}

.contentBody {
    height: 89vh;
    overflow: auto;
}

.contentSideBarRight {
    height: 89vh;
    overflow-y: scroll;
}

.site-map-panel-wrapper .table-primary {
    background-color: black !important;
}

.switchboardScroll::-webkit-scrollbar {
    width: 10px;
}

/* Track */
.switchboardScroll::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
.switchboardScroll::-webkit-scrollbar-thumb {
    background: #044ea2;
}

    /* Handle on hover */
.switchboardScroll::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.2);
    }

.switchboardScroll {
    border-color: #007367;
    border-width: 1px;
    border-style: solid;
}

#PlacementTool {
    flex: 1 1 auto;
    background: gainsboro;
}

.panzoom-parent {
    height: 100%;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 
for details on configuring this project to bundle and minify static web assets. */

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    height: 100%;
    /* site.css */
}

a, .btn-link {
    color: #044ea2;
}

a:hover {
    background-color: rgba(255,255,255,0.1);
    color: black;
}

.redinputerr{
    border: 1px solid red; 
    background-color: #ffcccb;
}

.btn-primary {
    /*color: #fff;*/
    /*background-color: #1b6ec2;*/
    /*border-color: #1861ac;*/
}

.dashboard {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.dashboardTile {
    margin: 2px;
    padding: 2px;
    display: block;
    width: 130px; 
    text-align: center;
    vertical-align: top;
    overflow: hidden;
}

    .dashboardTile img {
        height: 100px;
        width: 100px;
        border-radius: .25rem;
        /*background-color: lightseagreen;*/
        /*border-color: lightseagreen;*/
        background-color: #009b8a;
        border-color: #009b8a;
        padding: 3px;
    }

    .dashboardTile button {
        height: 100px;
        width: 100px;
        margin: 0;
        padding: 3px;
        overflow: hidden;
    }

    .dashboardTile > a > h6 {
        overflow-wrap: break-word;
    }

    .dashboardApp img {
        /*background-color: lightseagreen;*/
        /*border-color: lightseagreen;*/
    }

/*.sb-btn > *:hover {
    text-decoration: underline;
}
*/

.dashboardTile-Action .sb-btn-header {
    color: #044ea2;
    text-decoration: underline;
}

.dashboardTile-NoAction .sb-btn-header > * {
    font-weight: bold;
}

.dashboardTile-Action > *:hover {
    color: black;
}

.sb-btn-header {
    /*    color: #044ea2;*/
    overflow-wrap: break-word;
/*    width: 104px; */
    margin-left: 7px;
    margin-right: 7px;
    /*max-height: 9ex;*/
}

/*    .sb-btn-header:hover {
        color: black;
    }
*/

.sb-btn-text {
    display: block;
    overflow-wrap: break-word;
}

.sb-btn-action-none > .sb-btn-header {
    text-decoration: none;
    font-weight: bold;
}

.sb-accordian-body > .card-body {
    padding: .25rem;
}

app {
    position: relative;
    display: flex;
    flex-direction: column;
}

.appData {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    height:100%;
    width:100%;
}

.top-row {
    display: flex;
    align-items: center;
}

.main {
    flex: 1;
    display: flex;
    flex-flow: column;
    overflow-x: hidden;
}

    .main .top-row {
        /*background-color: #f7f7f7;*/ /* VeryLightGrey-MostlyWhite */
        background-color: #e6e6e6; /* VeryLightGrey */
        border-bottom: 1px solid #d6d5d5;
        /*justify-content: flex-end;*/
    }

        .main .top-row > a {
            margin-left: 1.5rem;
        }

.topbar {
    width: 100%;
    flex: 0 1 auto;
}

.margin-maker{
    height:100%;
}

.sitemap {
    height: 100%;
}

.sitemapPanelComponent {
    margin-top: 8px;
    margin-bottom: 8px;
    background: #e24d21;
    border: 3px solid #df4800;
}

.panelBaseTab:hover {
    background-color: lightseagreen;
    border-color: #007367;
    border-width: 2px;
}

    .panelBaseTab:hover .nav-link {
        background-color: rgba(0, 0, 0, .07);
        border-bottom: none;
        border-color: #007367;
        border-width: 2px;
    }

.panelBaseTab .nav-link.active {
    background-color: #009b8a;
    border-radius: 5px 5px 0px 0px;
    border-bottom: none;
    border-color: #007367;
    border-width: 2px;
}

.site-map-panel-wrapper {
    background-color: #009b8a;
    color: white;
    width: 300px;
}


.sidebar {
    /*background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);*/
    /*background-image: linear-gradient(180deg, rgb(52, 102, 255) 0%, #00172D 70%);*/
    /*background-image: linear-gradient(180deg, #1a4465 0%, rgb(42, 108, 162) 70%);*/
    background-image: linear-gradient(180deg, #28306d 0%, #33499e 70%);
    white-space: nowrap;
    width: 100%;
    max-width: 100%;
}

    .sidebar .top-row {
        /*background-color: rgba(0,0,0,0.4);*/
    }

    .sidebar .navbar-brand {
        font-size: 1.7rem;
        padding-top: 0;
        padding-bottom: 0;
    }

        .sidebar .navbar-brand > img {
            width: 190px;
            height: 63px;
        }

    .sidebar .bi {
        width: 2rem;
        font-size: 1.1rem;
        vertical-align: text-top;
        top: -2px;
    }

    .nav-item:first-of-type {
        /*padding-top: 1rem;*/
    }

    .nav-item:last-of-type {
        /*padding-bottom: 1rem;*/
    }

    .sidenav .nav-item a {
        color: white;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

        .sidenav .nav-item a.active {
            background-color: rgba(255,255,255,0.25);
            color: white;
        }

        .sidenav .nav-item a:hover {
            background-color: rgba(255,255,255,0.1);
            color: white;
        }

.sidenav .nav-item {
    padding-left: 23px !important; 
}

.sidenav .nav-item button {
    color: white;
    border-radius: 4px;
    height: 3rem;
    display: flex;
    align-items: center;
    width: 100%;
}
    .sidenav .nav-item button.active {
        background-color: rgba(255,255,255,0.25);
        color: white;
    }

    .sidenav .nav-item button:hover {
        background-color: rgba(255,255,255,0.1);
        color: white;
    }

.sidenav .nav-item:first-of-type {
    padding-top: 1rem;
}

.sidenav .nav-item:last-of-type {
    padding-bottom: 1rem;
}

.sidenav .nav-link {
    /*color: white;*/
    font-size: 1.4rem;
    padding-bottom: 0.5rem;
    cursor: pointer
}

.nav-link {
    cursor: pointer
}

.navbar-text {
    font-size: 1.5rem;
}

.sitemap-content {
    padding-top: 1.1rem;
    flex: 1 1 auto;
}

.navbar-toggler {
    background-color: rgba(255, 255, 255, 0.1);
}


/*.navbar-btn {
    background-color: rgba(255, 255, 255, 0.1);
}*/

/*.valid{
    outline: none !important;
}*/

.is-invalid{
    outline: 0px solid red !important;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

/*@media (max-width: 767.98px) {
    .main .top-row {*/
        /*display: none;*/
    /*}

    .footer-sidebar {*/
        /*display: none;*/
        /*bottom: 0;*/
        /*padding-top: 1.5rem;*/
        /*padding-bottom: .5rem;*/
    /*}
}*/

.flex-row {
    flex-direction: row;
}

.flex-col {
    flex-direction: column;
}

@media (min-width: 768px) {
    app {
        flex-direction: row;
    }

    .appData {
        flex-direction: row;
    }

    .sidebar {
        width: var(--navWidth);
        min-height: 100vh;
        /*position: sticky;*/
        /*top: 0;*/
        height: 100%;
        max-width: var(--navWidth);
        display: flex;
        flex-direction: column;
        transition: width 0.5s ease !important;
    }


    .main .top-row {
        position: sticky;
        top: 0;
    }

    .main .content > div {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }


    .topbar .top-row{
        /* Never show topbar div with collapse button for wide screens */
        display: none;
    }

    .navbar-toggler {
        display: none;
    }

    .sidebar .collapse {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .topbar .collapse {
        /* Never collapse the topbar for wide screens */
        display: flex;
    }

}

/*.collapsing {
    position: relative;
    width: 0;
    overflow: hidden;
    min-width: 0;
    transition: 0s;
}*/

.leftSidebarWrapper {
    width: 270px;
}

.expandPageButton {
    width: 100% !important;
    height: 100% !important;
}

.collapseButtonRight {
    height: 40px;
    width: 30px;
    border-radius: 0% 30% 30% 0%;
    background: #28306d;
    color: white;
    border: none;
    outline: none;
    z-index: 1;
}

.collapseButtonRight:before {
    content: '<';
}

.collapseButtonRight.collapsed:before {
    content: '>'
}

.collapseButtonLeft {
    height: 40px;
    width: 30px;
    border-radius: 30% 0% 0% 30%;
    background: #009b8a;
    color: white;
    border: none;
    outline: none;
    z-index: 1;
}

    .collapseButtonLeft:before {
        content: '>';
    }

    .collapseButtonLeft.collapsed:before {
        content: '<'
    }

.minColumnWidth {
    min-width: 430px;
}


/*.main {*/
/*background-color: black;
    padding: 0px;
    width: 100%;
    display: inline-block;
    color: white;*/
/*}*/
/*.mainBody {
    padding-top: 210px;
    padding-bottom: 20px;
}*/

:root {
    --mdc-theme-primary: #2891C6; /*#5D2E8F*/
    --mdc-theme-secondary: #fbaf41; /*#fbaf41*/
    --mdc-theme-on-primary: #495f90; /*#495f90*/
    --mdc-theme-on-secondary: #ffe172; /*#ffe172*/
    --mdc-theme-text-primary: #ffffff; /*##ffffff*/
    --mdc-theme-text-secondary: #333; /*##333*/
    --mdc-theme-text-on-primary: #001037; /*##001037*/
    --mdc-theme-text-on-secondary: #c48003; /*##c48003*/
    --mdc-theme-surface: white; /*##263238*/
    --mdc-floating-label: #2891C6;
}

.MainContent {
    /*background-color: black;
    padding: 5px;
    width: 100%;
    display: inline-block;
    color: white;*/
}

.header {
    background-color: #2d5986;
}

.header-content {
    background: url('/images/pixel-bg.png') no-repeat;
    background-size: auto;
    background-position: 0 35px;
    background-repeat: repeat-x;
}

/*.header ul.nav li a, ul.nav li a:visited {
    color: black !important;
}

ul.nav li a:hover, ul.nav li a:active {
    color: white !important;
}

.header ul.nav li.active a {
    color: cornflowerblue !important;
}*/


/*Wrapping element*/
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

.tempFooter {
    position: fixed;
    bottom: 5em;
    width: 250px; 
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.footer {
    /*background-color: black;*/
    color: white;
    font-size: 18px;
    background-color: #2d5986;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 30px;
    display: inline;
    /*vertical-align: middle;*/
    /*align-items: baseline;*/
}

.sidebar-content {
    flex: 1;
}

.canary {
    /*align-content: flex-start;*/
    vertical-align: middle;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
}

    .canary span {
        /*align-content: flex-start;*/
        vertical-align: middle;
    }

.footer-sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
}

    /*.footer-sidebar > img {
        width: 175px;
    }*/

/* Carousel */
.carousel-caption p {
    font-size: 20px;
    line-height: 1.4;
}

/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
    width: 100%;
}

/* QR code generator */
#qrCode {
    margin: 15px;
}

/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
    /* Hide captions */
    .carousel-caption {
        display: none;
    }
}

.gray-dot {
    height: 20px;
    width: 20px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
}

.green-dot {
    height: 20px;
    width: 20px;
    background-color: lightgreen;
    border-radius: 50%;
    display: inline-block;
}

.dark-green-dot {
    height: 20px;
    width: 20px;
    background-color: green;
    border-radius: 50%;
    display: inline-block;
}

.red-dot {
    height: 20px;
    width: 20px;
    background-color: red;
    border-radius: 50%;
    display: inline-block;
}

.yellow-dot {
    height: 20px;
    width: 20px;
    background-color: yellow;
    border-radius: 50%;
    display: inline-block;
}

.dark-yellow-dot {
    height: 20px;
    width: 20px;
    background-color: darkgoldenrod;
    border-radius: 50%;
    display: inline-block;
}


.sb-btn-base {
    /*margin: 0px 5px 5px 0px;*/
    padding: 0px;
    margin: 2.5px;
    height: 6em;
    width: 6em;
    overflow-wrap: break-word;
    border-width: 5px;
    vertical-align: middle;
    /* This was added to try and make buttons fill the full size of their cell.  But it doesn't work yet.
      width: 100%;
      height: 100%;
    */
}

.sb-btn-empty {
    color: black;
    background-color: white;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-page {
    background-color: lightgreen;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-webaudio {
    /* this is for WebAudio #11087 << */
    background-color: #fff284;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-twoway {
    background-color: mediumslateblue;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-monitor {
    background-color: lightsalmon;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-trigger {
    background-color: paleturquoise;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-source {
    background-color: orchid;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-endpage {
    background-color: lightgreen;
    color: black;
    border-style: solid;
    border-color: black;
    border-radius: 10px;
}

.sb-btn-action-endtwoway {
    background-color: mediumslateblue;
    color: black;
    border-style: solid;
    border-color: black;
    border-radius: 10px;
}

.sb-btn-action-endmonitor {
    background-color: lightsalmon;
    color: black;
    border-style: solid;
    border-color: black;
    border-radius: 10px;
}

.sb-btn-action-endtrigger {
    background-color: paleturquoise;
    color: black;
    border-style: solid;
    border-color: black !important;
    border-radius: 10px;
}

.sb-btn-action-endsource {
    background-color: orchid;
    color: black;
    border-style: solid;
    border-color: black;
    border-radius: 10px;
}

.sb-btn-action-decrementsource {
    background-color: lavender;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-incrementsource {
    background-color: thistle;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-setsource {
    background-color: plum;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-decrementvolume {
    background-color: powderblue;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-incrementvolume {
    background-color: skyblue;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-setvolume {
    background-color: dodgerblue;
    color: black;
    border-style: solid;
    border-color: transparent;
}

.sb-btn-action-none {
    font-weight: bold;
    cursor: default !important;
}

.sb-btn-action-tab {
    background-color: #009b8a;
    color: black;
    border-style: solid;
    border-color: transparent;
}


.hidden {
    visibility: hidden;
    overflow: hidden;
    height: 0;
    width: 0;
    padding: 0px !important;
    margin: 0px !important;
}

.visible {
    visibility: inherit;
}

.toggle-content-vertically {
    visibility: hidden;
    height: 0;
    overflow: hidden;
    transition: height 350ms ease-in-out;
}

    .toggle-content-vertically.is-visible-vertically {
        height: auto;
        visibility: inherit;
    }

.rTable {
    display: table;
}

.rTableRow {
    display: table-row;
}

.rTableHeading {
    display: table-header-group;
}

.rTableBody {
    display: table-row-group;
}

.rTableFoot {
    display: table-footer-group;
}

.rTableCell, .rTableHead {
    display: table-cell;
    /* This was added to try and make buttons fill the full size of their cell.  But it doesn't work yet.
      width: 100%;
      height: 100%;
    */
}

.indicatorLeds {
    content: ' ';
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 10px;
    margin-right: 10px;
    border: 1px solid #000;
    border-radius: 7px;
}

    .indicatorLeds.ledGreen {
        background-color: #94E185;
        border-color: #78D965;
        box-shadow: 0px 0px 4px 1px #94E185;
    }

    .indicatorLeds.ledYellow {
        background-color: #FFC182;
        border-color: #FFB161;
        box-shadow: 0px 0px 4px 1px #FFC182;
    }

    .indicatorLeds.ledRed {
        background-color: #C9404D;
        border-color: #C42C3B;
        box-shadow: 0px 0px 4px 1px #C9404D;
    }


    .indicatorLeds.ledBlink {
        animation: ledBlinker 1s cubic-bezier(0.5, 0, 1, 1) infinite alternate;
    }

@keyframes ledBlinker {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

div .loader {
    text-align: center;
    font-weight: bold;
    font-size: x-large;
}

@keyframes blink {
    50% {
        color: transparent
    }
}

.loader__dot {
    animation: 1s blink infinite
}

    .loader__dot:nth-child(2) {
        animation-delay: 250ms
    }

    .loader__dot:nth-child(3) {
        animation-delay: 500ms
    }

.liveSoundControls {
    display: flex;
    align-items: center;
}

.priorityControl label {
    display: inline;
}

.priorityControl input {
    display: inline;
    text-align: center;
    width: auto;
}

    .priorityControl input[type=number]::-webkit-inner-spin-button {
        opacity: 1
    }

.volumeControl {
    display: flex;
    align-items: center;
}

.editableSlider {
    height: 50px;
    display: flex;
    align-items: center;
    margin-left: 5px;
    margin-right: 5px;
}

    .editableSlider input[type=number] {
        text-align: center;
    }

        .editableSlider input[type=number]::-webkit-inner-spin-button {
            opacity: 1
        }

    .editableSlider input:nth-child(2) {
        width: auto;
        margin-left: 5px;
    }


.PluginApiHostedForm input {
    color: black;
}

.PluginApiFormResponseItem label {
    margin-left: 20px;
    margin-right: 5px;
}

.PluginApiFormResponseItem span {
    margin-left: 5px;
    margin-right: 5px;
}

.UserNameInput {
    width: auto;
}

/*.administration ul {
    list-style-type: none;
}*/

.roleEnabled, .roleEnabled > span {
    color: dodgerblue;
}

.row-flex {
    display: flex;
    flex-wrap: wrap;
}

.alignBlazorModal > .blazored-modal-container {
    left: 0px;
    top: 0px;
}

.userlist-table {
    height: 500px;
    overflow-y: auto;
}

.article-table {
    border-collapse: collapse;
    border-spacing: 0;
    display: inline-block;
    overflow-x: auto;
    margin: 8px 0 32px;
    max-width: 100%;
    border: 1px solid #eee;
    width: 100%;
}

    .article-table th {
        font-family: Roboto, sans-serif;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        font-size: 1rem;
        line-height: 1.75rem;
        font-weight: 400;
        letter-spacing: .04em;
        text-decoration: inherit;
        text-transform: inherit;
        background: whitesmoke;
        border-top: none;
        font-size: 1.143rem;
        color: #202124;
        text-align: left;
        border: 1px solid #eee;
        padding: 12px 12px 12px 24px;
    }

    .article-table td {
        border: 1px solid #eee;
        padding: 12px 12px 12px 24px;
    }

        .article-table td:first-child {
            border-left: none;
        }

        .article-table td:last-child {
            border-right: none;
            width: 100%;
        }


.endpoint-group {
    font-weight: bold;
}

.endpointDeviceMissing {
    color: red;
}

.fade-out-blue {
    background-color: deepskyblue;
    animation: fadeOut 1.2s forwards;
}

@keyframes fadeOut {
    from {
        background-color: deepskyblue;
    }

    to {
        background-color: transparent;
    }
}

.fade-out-blue2 {
    background-color: deepskyblue;
    animation: fadeOut2 1.2s forwards;
}

@keyframes fadeOut2 {
    from {
        background-color: deepskyblue;
    }

    to {
        background-color: transparent;
    }
}

.firmwareDropdownGenMatch {
    background-color: darkgray;
}

.firmwareDropdownGenNoMatch {
    background-color: white;
}

.pinpointTooltip {
    background-color: #9b9b9be6;
    display: flex;
    flex-direction: column;
    padding: 5px;
    margin-left: 10px;
    width: 250px;
    border-radius: 10px;
    border: 2px solid #000000;
    text-align: center;
}

.pinpointTooltipInput {
    width: 60%;
    margin-right: 0px;
    margin-left: auto;
}

.endpointPopup {
    background-color: lightgray;
    display: inline-block;
    min-width: 250px;
    border-radius: 10px;
    margin-left: 10px;
    padding: 5px;
    border: 2px solid #000000;
    text-align: center;
    z-index: 2;
    position: absolute;
}

.endpointPopupInfo {
    margin: 2px 5px 2px 5px;
    display: flex;
    flex-direction: row;
    white-space: nowrap;
}

.endpointPopupButton {
    display: block;
    padding: 0px 5px 0px 5px;
    margin: auto;
    pointer-events: all
}

.deviceLabel {
    white-space: nowrap;
    position: absolute;
    top: 100%;
    /*color: black;
    -webkit-text-fill-color: white;*/ /* Will override color (regardless of order) */
    /*-webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: black;*/
    color: #f0592c;
    display: block;
}

/*.limitedendpointlist-table {
    height: 500px;
    overflow-y: auto;
}*/

.nowrap {
    white-space: nowrap;
}

.pad-t-10 {
    padding-top: 10px;
}

.permission-denied {
    color: red
}


.audioCanvas {
    border-style: solid;
    border-color: black;
    border-width: 2px;
    border-radius: 10px;
}

.viewBag-bad {
    background-color: red;
}

.pageHeader {
    padding-bottom: 5px;
}

    .pageHeader img {
        height: 100px;
        width: 100px;
        border-radius: .25rem;
        background-color: #009b8a;
        border-color: #009b8a;
        /*background-color: lightseagreen;*/
        /*border-color: lightseagreen;*/
        padding: 3px;
    }
    .pageHeader h1 {
        display: inline;
        vertical-align: bottom;
        font-weight: 600;
    }

    .pageHeader p {
        float: right;
        font-weight: 300;
    }

.headerColor {
    color: #20537D;
}

.parameterbox {
    font-size: 15px;
    padding-left: 10px;
    padding-right: 10px;
    border: 3px solid;
    border-radius: 5px;
    /*overflow: hidden;*/
}

/*Note: If more colors are added/removed here, be sure to update Constants.QueueColorIndexMax */
.queuecolor1 {border-color: purple;}
.queuecolor2 {border-color: cornflowerblue;}
.queuecolor3 {border-color: coral;}
.queuecolor4 {border-color: #ce2029;}
.queuecolor5 {border-color: forestgreen;}
.queuecolor6 {border-color: goldenrod;}
.queuecolor7 {border-color: hotpink;}
.queuecolor8 {border-color: grey;}
.queuecolor9 {border-color: aquamarine;}
.queuecolor10 {border-color: palegreen;}

.borderbox {
    border: 1px #dee2e6 solid;
    border-radius: 5px;
    margin: 5px;
    padding: 5px;
}

.imageButton {
    background-size: 100%;
    background-repeat: no-repeat;
}

.buildVersion {
    text-align: center;
    color: floralwhite;
}
/* class applies to select element itself, not a wrapper element */
.select-css {
    display: block;
    font-size: 16px;
    font-family: sans-serif;
    font-weight: 700;
    color: #444;
    line-height: 1.3;
    padding: .6em 1.4em .5em .8em;
    width: 100%;
    max-width: 100%; /* useful when width is set to anything other than 100% */
    box-sizing: border-box;
    margin: 0;
    border: 3px solid #20537D;
    box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
    border-radius: .5em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    /* note: bg image below uses 2 urls. The first is an svg data uri for the arrow icon, and the second is the gradient. 
		for the icon, if you want to change the color, be sure to use `%23` instead of `#`, since it's a url. You can also swap in a different svg icon or an external image reference
		
	*/
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'), linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
    background-repeat: no-repeat, repeat;
    /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
    background-position: right .7em top 50%, 0 0;
    /* icon size, then gradient */
    background-size: .65em auto, 100%;
}
    /* Hide arrow icon in IE browsers */
    .select-css::-ms-expand {
        display: none;
    }
    /* Hover style */
    .select-css:hover {
        border-color: #888;
    }
    /* Focus style */
    .select-css:focus {
        border-color: #aaa;
        /* It'd be nice to use -webkit-focus-ring-color here but it doesn't work on box-shadow */
        box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
        box-shadow: 0 0 0 3px -moz-mac-focusring;
        color: #222;
        outline: none;
    }

    /* Set options to normal weight */
    .select-css option {
        font-weight: normal;
    }

/* Support for rtl text, explicit support for Arabic and Hebrew */
*[dir="rtl"] .select-css, :root:lang(ar) .select-css, :root:lang(iw) .select-css {
    background-position: left .7em top 50%, 0 0;
    padding: .6em .8em .5em 1.4em;
}

/* Disabled styles */
.select-css:disabled, .select-css[aria-disabled=true] {
    color: graytext;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'), linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
}

    .select-css:disabled:hover, .select-css[aria-disabled=true] {
        border-color: #aaa;
    }

.appTimer input {
    border: 3px solid #20537D;
    border-radius: .5em;
}

.appScoreboard input {
    border: 3px solid #20537D;
    border-radius: .5em;
}
.scoreboardTitle {
    color: #262262;
    text-align: center;
}

.scoreboardTimerGroup {
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: 205px;
    width: 574px;
}

.scoreboardTimer {
    position: relative;
    text-align: center;
}

    .scoreboardTimer > img {
        height: 205px;
        width: 574px;
    }

.scoreboardTimerText {
    position: absolute;
    top: 36px;
    left: 49px;
    width: 350px;
    color: #00b419;
    font-size: 90px;
}

.scoreboardScore {
    width: 100%;
    text-align: center;
    background-color: #505050;
    font-size: 400%;
    border-radius: .1em !important;
}

.scoreboardScoreControls {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.scoreboardControls > * {
    text-align: center;
    margin-top: 2px !important;
    margin-bottom: 2px !important;
}

.scoreboardTeamControls {
    width: 10rem;
}

.scoreboardTimerControls {
    width: 15rem;
    padding-right: calc(var(--bs-gutter-x) * .25);
    padding-left: calc(var(--bs-gutter-x) * .25);
}

.scoreboardTimerBtnsWrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.scoreboardTimerBtns {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin-bottom: 0.5rem;
}

    .scoreboardTimerBtns > .btn-scoreboard-Start {
        margin-right: 0.5rem;
    }

.scoreboardAction {
    display: flex;
    margin-top: 0.5rem;
}

    .scoreboardAction > .btn {
        width: 100%;
        margin-right: 0.5rem;
    }

    .scoreboardAction > input {
        width: 100%;
    }

.scoreboardSoundControl {
    width: 70px;
    /*max-width: 3em;
    padding-left: 1px;
    padding-right: 1px;*/
}

.btn-scoreboard {
    text-align: center;
    height: 50px;
    width: 80px;
    border: 1px solid #20537D;
/*    margin-left: 2px;
    margin-right: 2px;*/
}
    .btn-scoreboard > img {
        height: 36px;
        width: 40px;
    }

.btn-scoreboard-Start {
    width: 100%;
    background-color: #83CA98;
}

    .btn-scoreboard-Start > i {
        font-size: xx-large;
    }

.btn-scoreboard-Pause {
    width: 100%;
    background-color: #F6F063;
}

    .btn-scoreboard-Pause > i {
        font-size: xx-large;
    }

.btn-scoreboard-Reset {
    width: 100%;
    background-color: #1FB4C6;
}

    .btn-scoreboard-Reset > i {
        font-size: xx-large;
    }

.scoreboardNotifsTitle {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid black;
    margin-top: 0.5rem;
}

.scoreboardNotifs {
    display: flex;
    flex-direction: row;
    margin-top: 0.5rem;
}

.scoreboardNotifsBtn {
    width: 100%;
    line-break: anywhere;
    margin-right: 0.5rem;
}

.scoreboardNotifsVol {
    display: flex;
    align-items: center;
    max-width: 3rem;
}

    .scoreboardNotifsVol > input {
        width: 100%;
    }

.blazored-modal {
    position: relative;
    max-height: 98vh;
    max-width: 98vw;
}

.blazored-modal-header {
    max-height: 12vh;
}

.selectDeviceListModal {
    /*max-height: 85vh; */
    /* min-height: 300px; */
    /* max-width: 100%; */
    /* max-width: 100vw; */
    /* max-height: 100%; */
    /* overflow: auto; */
    position: relative;
}

.selectDeviceListSearch {
    /*max-height: 85vh; */
    /* min-height: 300px; */
    /* max-width: 100%; */
    /* max-width: 100vw; */
    /* max-height: 100%; */
    /* overflow: auto; */
}

.modalDeviceList {
    max-height: 68vh;
    /* min-height: 300px; */
    /* max-width: 100%; */
    /* max-width: 100vw;*/
    /* max-height: 100%; */
    /* overflow: auto;*/
}

.modalBase {
    /*position: relative;*/
    max-height: 68vh;
}


.modalBody {
    /*position: relative;*/
    overflow: auto;
}

.whitespace-preline {
    white-space: pre-line;
}


.modalFooterButtonBar {
    /*    position: absolute;*/
    right: 0;
    bottom: 0;
    /* width: 100%;*/
    height: 2.7em; /*Footer Height*/
    padding-top: 0.4em;
    align-content: end;
    /* max-height: 85vh; */
    /* min-height: 38px; */
    /* max-width: 100%; */
    /* max-width: 100vw; */
    /* max-height: 100%; */
    /* overflow: auto; */
}

.endpointWatcherLink {
    display: inline-flex;
}
.endpointWatcherLabel {
    color: #20537D;
    font-weight: 600;
}

.endpointWatcherText {
    color: #20537D;
}

.endpointWatcherLink > .loader {
    font-size: unset !important;
}

.tableBorder {
    border: 3px solid #20537D;
    border-radius: .5em;
    overflow: auto;
}

.border-3 {
    border: 3px solid #20537D;
    border-radius: .5em;
}

.border-4 {
    border: 4px solid #20537D;
    border-radius: .5em;
}

/*The following two groups are used to nullify the bg-primary color
    behavior on the selected row of the Blazorise Datagrid
    This will be required until this feature request is completed:
    https://github.com/stsrki/Blazorise/issues/436
*/
.multiselectEndpointTable .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

.multiselectEndpointTable .table-striped tbody tr:nth-of-type(even) {
    background-color: rgba(0, 0, 0, 0) !important;
}

.table-bordered 
{
    border-radius: 1px;
}

/*Override border on Blazorize Tab for Administration Page*/
.tab-pane.active
{
    border-style: none;
}

.minimal-vertical-offset
{
    margin: 2px;
}

/*Fix for https://trac.digidescorp.com/trac/IP_Speaker/ticket/5090 
  This might hav eunintedned side effects.*/
.mdc-ripple-surface
{
    display: table;
}

.logMessageCell {
    /*display: inline;*/
}

.text-plain
{
    color:black;
}

.text-highlight {
    color: blue;
}

.SBTargetsPanel {
    min-height: 250px;
    width: 300px;
}

.SBPropertiesPanel {
    min-height: 250px;
    width: 450px;
}

.SBPropertiesTestButtonArea {
    height: 100px;
    display: flex;
    align-items: center;
}
/*
.bg-lightgray {
    background-color: lightgrey;
}
*/

.SBPropertyImageTile {
    margin: 2px;
    padding: 2px;
    display: inline-block;
    /*width: 11em;*/
    text-align: center;
    vertical-align: top;
    overflow: hidden;
}

    .SBPropertyImageTile img {
        height: 50px;
        width: 50px;
        border-radius: .25rem;
        /*background-color: lightseagreen;*/
        /*border-color: lightseagreen;*/
        background-color: #009b8a;
        border-color: #009b8a;
        padding: 3px;
    }

    .SBPropertyImageTile.PropertyImageTileActive {
        border: 4px solid black;
        border-radius: 0.5rem;
    }

        .SBPropertyImageTile.PropertyImageTileActive img {
            height: 41px;
            width: 41px;
            border-radius: .25rem;
            /*background-color: lightseagreen;*/
            /*border-color: lightseagreen;*/
            background-color: #009b8a;
            border-color: #009b8a;
            padding: 3px;
        }

.DragObjectTile {
    margin: 2px;
    padding: 2px;
    display: inline-block;
    /*width: 11em;*/
    text-align: center;
    vertical-align: top;
    overflow: hidden;
}

    .DragObjectTile img {
        height: 25px;
        width: 25px;
        border-radius: .25rem;
        /*background-color: lightseagreen;*/
        /*border-color: lightseagreen;*/
        padding: 3px;
    }

.DragCaptionTile {
    margin: 2px;
    padding: 2px;
    display: inline-block;
    /*width: 11em;*/
    text-align: center;
    vertical-align: top;
    overflow: hidden;
}

    .DragCaptionTile img {
        height: 15px;
        width: 15px;
        border-radius: .25rem;
        /*background-color: lightseagreen;*/
        /*border-color: lightseagreen;*/
        padding: 3px;
    }


.SBPropertiesNotificationList {
    /*display: inline;*/
}

.SBPropertiesDeviceList {
    /*display: inline;*/
}

.fileLibraryImportModal {
    max-width: 500px;
}

.FileLibraryImportSelector {
    display: inline-block;
    width: 490px;
}

@-webkit-keyframes borderBlink {
    from, to {
        border-color: transparent
    }

    50% {
        border-color: black;
    }
}

@keyframes borderBlink {
    from, to {
        border-color: transparent
    }

    50% {
        border-color: black;
    }
}

.borderBlink {
    /*border-color: transparent;*/
    /* add 'border-color: transparent' if you wish no border to show initially */
    -webkit-animation: borderBlink 1s step-end infinite;
    animation: borderBlink 1s step-end infinite;
}

/*    .borderBlink:hover {
        -webkit-animation: borderBlink 1s step-end infinite;
        animation: borderBlink 1s step-end infinite;
    }
*/

@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.backBlink {
    animation: blink 1s;
    animation-iteration-count: infinite;
}

.form-group-mremove {
    /* removes the bottom margin from the field group.  This is useful to remove the
       extra space below the field when not using the FieldHelp area
        re: https://blazorise.com/docs/components/field/
    */
    margin-bottom: 0;
}

.fieldDisplayMemoMinHeight {
    min-height: 5em;
}

.DataGridRowFix > .row {
    /* This is a fix for Blazorise's Pagination spilling out of the border area.*/
    margin-right: 0;
    margin-left: 0;
}

.SBPropertyButtonTile {
    min-height: 200px;
}

.daveTest > table {
    /*display: flex;*/
    /*width: 100%;*/
}

.developer-warning {
    text-align:center;
    color:crimson;
}

.quiztoolloader {
    border: 16px solid #f3f3f3;
    border-top: 16px solid #3498db;
    border-radius: 50%;
    width: 120px;
    height: 120px; 
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#fillin {
    background: url("../../../NetCoreWebApp/WebClockWise/wwwroot/quizimages/CrackTheQ/CrackTheQ-background.jpg");
    min-height: 380px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

#nextq{
    color:#3a0647;
}

.imageadder{
    max-height: 550px;
    width: 700px;
}
    .imageadder-carousel{
        width:70%;
        margin-left: auto;
        margin-right: auto;
    }
    .imageadder-img{
        margin:auto;
        width:auto;
        min-height:350px;
        max-height:375px;
        max-width: 100%;
    }

/* For Debugging*/
/** {
    background: #000 !important;
    color: #0f0 !important;
    outline: solid #f00 1px !important;
}*/

.deviceNotSelected {
    border: dashed 2px transparent;
}

.deviceNotSelected:hover {
    opacity: 0.5;
}
.deviceSelected {
    border: dashed 2px black;
}

.deviceTextNotSelected {
    text-align: center;
}

.deviceTextSelected {
    font-weight: bold;
    text-align: center;
}

.greenDeviceImage {
    border-color: #00ff00;
    border-style: solid;
    border-width: medium;
    border-radius: 15px;
}

.yellowDeviceImage {
    border-color: #ffff00;
    border-style: solid;
    border-width: medium;
    border-radius: 15px;
}

.redDeviceImage {
    border-color: #ff0000;
    border-style: solid;
    border-width: medium;
    border-radius: 15px;
}

.floorplanSelector {
    position: absolute;
    top: 0%;
    left: 50%;
    background-color: #ededed;
    border: 1px solid #ededed;
    transition: all 0.75s cubic-bezier(0.25, 1, 0.5, 1);
}

.floorplanSelector:hover {
    background-color: white;
    border: 1px solid gray;
}

.panzoomControls ul {
    list-style: none;
    position: absolute;
    top: 0%;
    padding-left: 0px;
    transition: all 0.75s cubic-bezier(0.25, 1, 0.5, 1);
}

.panzoomControls ul:hover {
    cursor: pointer;
}

.panzoomControls ul li {
    padding: 5px;
    background-color: #ededed;
    border: 1px solid #ededed;
    transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1);
}

.panzoomControls ul li:hover {
    background-color: white;
    border: 1px solid gray;
}

.panzoomControls ul li button {
    all: unset;
}

.site-map-page {
    display: flex;
    flex-direction: row;
    padding-bottom: 1.5rem;
    flex-wrap: nowrap;
}

.site-map-wrapper {
    width: 100px;
    padding: 0px;
    padding-right: 1rem;
/*    padding-left:1rem;*/
}

@media (max-width: 766px){
    .site-map-wrapper{
        width: calc(100% - 300px);
        padding-left: 1rem;
    }
    .siteMapCollapse{
        width: auto;
    }
}

.siteMapCollapse{
    width: 20% !important;
    min-width: 17rem;
    height: 100%;
}

#SiteMapPagingControls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    justify-items: center;
    gap: 5px;
    margin-top: 5px;
    height: fit-content;
}

    #SiteMapPagingControls > div:first-child {
        grid-area: 1/1;
    }

        #SiteMapPagingControls > div:first-child > div {
            width: 7rem !important;
            height: 7rem !important;
            padding: 0.375rem 0.75rem !important;
            background-size: 85% !important;
            background-position: center 8px;
        }

    #SiteMapPagingControls > div:nth-child(2) {
        grid-area: 1/2;
    }

        #SiteMapPagingControls > div:nth-child(2) > div {
            width: 7rem !important;
            height: 7rem !important;
            padding: 0.375rem 0.75rem !important;
            background-size: 85% !important;
            background-position-x: center;
        }

    #SiteMapPagingControls > div:nth-child(3) {
        grid-area: 2/1;
    }

        #SiteMapPagingControls > div:nth-child(3) > div {
            width: 7rem !important;
            height: 7rem !important;
            padding: 0.375rem 0.75rem !important;
            background-size: 85% !important;
            background-position-x: center;
        }

    #SiteMapPagingControls > div:last-child {
        grid-area: 2/2;
    }

        #SiteMapPagingControls > div:last-child > div {
            width: 7rem !important;
            height: 7rem !important;
            padding: 0.375rem 0.75rem !important;
            background-size: 85% !important;
            background-position-x: center;
        }

.growing-editable {
    height: auto;
    border: 2px solid rgba(63,63,63,1);
}

.hard-broken {
    overflow-wrap: anywhere;
}

.no-bottom-spacing {
    padding-bottom:0;
    margin-bottom:0;
}

.growable-flex-column{
    display:flex;
    flex-direction:column;
    flex-grow:1;
    height:100%;
}

.plugin-admin-container{
    height:100%;
    display:flex;
    flex-direction:column;
}

.endpoint-icon{
    /*filter:drop-shadow(.2rem .2rem .2rem black);
    height:2rem;*/
}

.table-transparent {
    --bs-table-bg: transparent !important;
    --bs-table-color: white;
    --bs-table-striped-color: white;
}