
/* ============================================================
   Share Video — channel toggle buttons
   Border-width and border-radius are set via inline styles in
   the channelButtons KO binding; only colors use !important here
   so there is no cascade conflict with those inline styles.
   ============================================================ */
.shareChannels {
    width: 30px;
    height: 30px;
    padding: 0;
    line-height: 30px;
    text-align: center;
}

.shareChannels.channel-selected,
.shareChannels.channel-selected:hover,
.shareChannels.channel-selected:focus,
.shareChannels.channel-selected:active {
    background-color: #286090 !important;
    border-color: #204d74 !important;
    background-image: none !important;
    box-shadow: inset 0 3px 5px rgba(0,0,0,.125) !important;
}

.shareChannels:not(.channel-selected),
.shareChannels:not(.channel-selected):hover,
.shareChannels:not(.channel-selected):focus,
.shareChannels:not(.channel-selected):active {
    background-color: #5b9bd5 !important;
    border-color: #4a8fc7 !important;
    background-image: none !important;
    box-shadow: none !important;
}

.gray-background{
    background-color: #5F636A !important;
}
.green-background{
    background-color: #00AE35 !important;
}
.yellow-background{
    background-color: #FFD600 !important;
}
.orange-background{
    background-color:#EC8C00 !important;
}
.red-background{
    background-color:#EC2000 !important;
}

.plan-select-template{
    padding:5px;
    position: absolute;
    display: block;
    border: solid;
    border-width: 1px;
    border-radius:5px;
    border-color:darkgray;
    background-color: #f5f5f5;
}

.delete-trip-template{
    position: relative;
    display: block;
}

.route-plan-button
{
    width: 220px;
    height:40px;
    margin:1px;
}



.timezonedeclaration{
    margin-left: 2px;
    font-size: 0.8em;
    white-space:nowrap;
}

.route-header-button
{
    float: right !important;
    margin-right: 2px;
    color: black;
}

table.buttonRow
{
    min-width: 600px;
}
.actiondetailMain tr
{
    height: 40px;
    padding-bottom:1px;
}

.stoparmdetailMain tr
{
    height: 40px;
}

.routedetailMain tr
{
    height: 40px;
}

.corsica-select
{
    cursor: pointer;
    display: inline-block;
}
.video-shared span .fa-square
{
    color: #00AE35;
}
.corsica-select span:hover .fa-square
{
    color: #EEEEEE;
}
.corsica-select span:active .fa-square
{
    color: #DDDDDD;
}

.modal {
    text-align: center;
    padding: 0!important;
}

.modal:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -4px;
}

.modal-dialog {
    display: inline-block;
    text-align: left;
    vertical-align: middle;
}

.main-grid-div
{
    width:100%;
    height:100%;
}

.sub-grid-div
{
    padding-top:10px;
    padding-left:10px;
    width:70%;
    padding-bottom:10px;
    height:100%;
    width: 1150px;
}
@media(max-width: 1200px)
{
    .sub-grid-div
    {
        width: 1000px;
    }
}

@media(max-width: 992px)
{
    .sub-grid-div
    {
        width: 800px;
    }
}

.admin-grid
{
    padding-top:10px;
    width:auto;
    padding-bottom:10px;
    overflow-x: hidden;
    overflow-y: hidden;

}

.wide
{
    width: 220px;
    height: 32px;
    text-indent: 5px;
    margin-bottom: 1px;
}

.narrow
{
    width: 65px;
    padding-right: 10px;
    padding-left: 5px;
}

.shapelist
{
    padding-left: 5px;
}



.row{
    padding-bottom:10px;
    margin-right:0px !important;
    margin-left:0px !important;
}



.fa-play-big-circle
{
    padding-top:3px;
    font-size: 20px;
    vertical-align: top;
    text-align: center;
}




.fa-shrink
{
    font-size:1.5em !important;
    padding-top:.25em;
    padding-left:.35em;
}

hr.sep-hr
{
    width:90%;
    border-top: 1px solid #8c8b8b;
    text-align:left;
    margin-left:auto;
    margin-right:auto;
}

/*admin -> armor actions -> edit/new action --> 'selected' button style*/
.selected-toggle-button
{
    background-color: #458cc8;;
    color: white;
    border-width: 1px;
    /*width: 150px;*/
}
.sgrid
{
    width: auto;
}
span.centerspan
{
    display: inline-block;
    margin:10px 10px 0 0;
    padding:5px 10px
}

.centeralign
{
    text-align: center;
}

.aligncenter
{
    text-align: center;
}
.alignbottom
{
    vertical-align: bottom;
}

.auto-margin
{
    margin: auto auto auto auto !important;
}

.fifty-margin
{
    margin-left: 50%;
}

.fixed-margin
{
    margin-left: 40px !important;
}

.subscript-column
{
    text-indent: 5px;
}

.subscript
{
    margin-left: 5px;
}

.k-multiselect
{
    max-height:200px;
    min-height:28px;
}

.box
{
    padding-left: 8px !important;
    padding-bottom: 10px !important;
    padding-top: 10px !important;
    padding-right: 8px !important;
}

.box.with-margin
{
    margin: 10px 10px 20px;
    width: unset;
}

.box.box-success{
    border-top-color:#00AE35 !important;
}

.boxcenterheader
{
    margin-bottom: 10px !important;
}

.multibox
{
    min-height:170px;
    padding:8px;
    overflow:auto;
}

.time-conjunction-column
{
    min-width:62px;
    text-align: center;
}

.postscript
{
    margin-right: 5px;
    margin-left: 5px;
}

.description-column
{
    text-indent: 5px;
    width:300px;
}

.numupdown
{
    max-width:100px !important;
}

.geofenceselect
{
    min-width:150px !important;
}

.datepick
{
    max-width:150px !important;
}

/* Normalize Kendo DatePicker input padding/box-sizing for specific date inputs */
/* Targets explicit datepicker inputs (e.g. <input id="datePicker" ...>) to avoid
   changing global Kendo styles. Adjust as needed for other IDs. */
input#datePicker.k-input,
input.k-input[data-role="datepicker"]
{
    box-sizing: border-box;
    /* padding intentionally removed to match local layout adjustments */
}

/* Scoped override: only affect datepicker inputs rendered in the modal/header container
   to avoid changing other compact Kendo inputs globally. Use !important because
   .rei-compact rules include !important declarations. */
.dateCont .k-datepicker .k-input {
    box-sizing: border-box;
    padding: 0 !important;
}

.right-justified
{
    position: relative;
    right: 5px;
}

tr.narrow-row
{
    height:23px !important;
    padding:0px !important;
    margin:0px !important;
}

td.lhs-heading
{
    width: 130px !important;
    text-align: left !important;

}

td.actionselect{
    width:220px;
    text-align:left;
}

.lhs-wide-col
{
    width: 400px !important;
    text-align: left !important;
}

.lhs-wide-heading
{
    width: 250px !important;
    text-align: left !important;
    left:0;
}

.rhs-wide-heading
{
    width: 200px;
    text-align: right;
    padding-right: 5px;
}

.savecancel
{
    width:600px;
}

.lhs-spacer
{
    width: 100px;
}

.fa-warn-pad
{
    margin-left:.5em;
    margin-bottom:.7em;
    zoom:80% !important;
}
.loadingWrap
{
    position: fixed;
    z-index: 10000;
    width: 100%;
    height:100%;
    display: flex;
    align-items: center;

    background-color: white;
    text-align: center;

    transition: opacity .25s ease-in-out;
    opacity: 1;

    top: 0;
}

.k-grid:not(.show-hierarchy) .k-hierarchy-col,
.k-grid:not(.show-hierarchy) .k-hierarchy-cell {
    display: none;
}

.k-content{
    padding: 1px !important;
}

.loadingWrap
{
    opacity: 0;
}

.loadingContent
{
    display: flex;
    margin: 0 auto;
}

/* Includes an element's padding and border when calculating width and height */
.border-box
{
    box-sizing: border-box;
}

.corsica-grid-button
{
    padding-left:0;
    padding-top:0;
    padding-bottom:0;
    margin: 1px !important;
    display: inline-block;
    min-width: 40px !important;
    max-width: 40px;
    padding-right:0px;
    padding-right: 9px\0;
}

.corsica-grid-play-button
{
    padding-left:0;
    padding-top:0px;
    padding-bottom:0px;
    padding-right:0px;
    margin: 1px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    width:40px;
}
.admin-add-button
{
    margin-top: 2px;
}

.admin-description{
    height:100%;
    width:98%;
    border-width: 0;
    margin-left: -3px;
}

.admin-input
{
    height: 25px;
    border-width: 0;
}

.admininputs {
    width: 98%;
    margin-right: 1px;
    margin-bottom: 1px;
    margin-top: 1px;
    margin-left: -2px;
}

.card-id-button
{
    width : 95%;
}

.overflow-ellipses
{
    overflow: hidden;
    white-space: nowrap;
    display: block;
    text-overflow: ellipsis;
}

.gridHeaderButton
{
    min-width: 160px;
}

/*Time Slider Object is used to draw a canvas behind a Slider Componenet*/
.timeSlider
{
    position : relative;
    height   : 50px;
}
.timeSlider > canvas,
.timeSlider > div
{
    position : absolute;
    left     : 0;
    top      : 0;
}
.timeSlider > div
{
    width  : 100%;
    height : 100%;
}
.timeSlider > canvas
{
    width  : 100%;
    height : 100%;
}

.corsica-widget
{
    min-height: 15%;
    max-height: 30%;
}



label.btn > input[type='checkbox']
{
    display: none;
}

label.btn > input[type='radio']
{
    display: none;
}

.corsica-button-fixed-width
{
    width: 115px !important;
}

.corsica-column-no-padding
{
    padding: 1px !important;
}

.corsica-no-padding
{
    padding: 0 !important;
    margin: 0 !important;
}

.corsica-no-margin
{
    margin: 0 !important;
}

.actionInput
{
    width:450px;
    height:35px;
    text-indent: 10px;
}

.actionselect
{
    width: 196px;
    height: 35px;
    margin-right:10px;
}

.action-selection
{
    width: 128px !important;
}

.actions-combo-box
{
    width:220px;
    height:35px;
}

.input-button
{
    width:130px;
    margin-right: 3px;
    margin-left: 3px;
    margin-top: 1px;
    margin-bottom: 1px;
}

.event-button
{
    width:160px;
}


.next-button
{
    margin-left: 225px;
}

.next-action-buttons
{
    margin-left: 92px;
}

.action-button
{
    width: 200px;
    text-align: center;
}

.selected-toggle-button:hover
{
    color: white;
    background-color: #3874bc !important;
}

.input-button[disabled]
{
    color: white;
    background-color: #ccc;
    user-select: none;
}

.input-button[disabled]:hover
{
    border-color: #cccccc;
    background-color: #ccc;
}

textarea
{
    border:1px solid #999999;
    width:100%;
    margin:5px 0;
    padding:3px;
}

/* Custom markers for Kendo maps.
    How it's referred to in code: greenDot
    How it looks in CSS: k-marker-green-dot
    i love easter eggs.
*/
/* Custom marker greenDot */
.k-map .k-i-marker-green-dot
{
    background-image: url("img/greendot.png");
    background-repeat: no-repeat;
    height: 16px;
    width: 16px;
    margin: -8px 0 0 -8px;
}

/* Custom marker yellowDot */
.k-map .k-i-marker-yellow-dot
{
    background-image: url("img/yellowdot.png");
    background-repeat: no-repeat;
    height: 16px;
    width: 16px;
    margin: -8px 0 0 -8px;
}

/* Custom marker BLUE dot */
.k-map .k-i-marker-blue-dot
{
    background-image: url("img/bluedot.png");
    background-repeat: no-repeat;
    height: 16px;
    width: 16px;
    margin: -8px 0 0 -8px;
}

/* Custom marker orangeDot */
.k-map .k-i-marker-orange-dot
{
    background-image: url("img/orangedot.png");
    background-repeat: no-repeat;
    height: 16px;
    width: 16px;
    margin: -8px 0 0 -8px;
}

/* Custom marker redDot */
.k-map .k-i-marker-red-dot
{
    background-image: url("img/reddot.png");
    background-repeat: no-repeat;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
}

/* Custom marker grayDot */
.k-map .k-i-marker-gray-dot
{
    background-image: url("img/graydot.png");
    background-repeat: no-repeat;
    height: 16px;
    width: 16px;
    margin: -8px 0 0 -8px;
}

.k-map .k-i-marker-warning-marker
{
    background-image: url("img/warningmarker.png");
    background-repeat: no-repeat;
    height: 40px;
    width: 28px;
    margin-left: -14px;
}

.k-map .k-i-marker-custom-marker {
    background-image: url("img/mainPinPoint.png");
    background-size: 25px;
    width: 25px;
    height: 38px;
}

.k-map .k-i-marker-green-custom-marker {
    background-image: url("img/greenPinPoint.png");
    background-size: 25px;
    width: 25px;
    height: 38px;
}

.k-map .k-i-marker-red-custom-marker {
    background-image: url("img/redPinPoint.png");
    background-size: 25px;
    width: 25px;
    height: 38px;
}

.k-map .k-i-marker-custom-heat-map {
    background-image:
          radial-gradient(
            circle, red, yellow, green
          );
        width: 30px;
        height: 30px;
        border-radius:50%;
        opacity: 0.1;
        cursor: default;
}


/* CSS to force multi-select Kendo widgets to be inline */
.k-widget.k-multiselect
{
    vertical-align: middle;
    display: inline-block;
}

/* Set the font-size manually to keep tooltip locations in check */
.k-tooltip
{
    font-size: 12px;
}

/* Standard popup window size. Automatically adjusts to screen size */
.corsica-dropdown
{
    width: 90vw;
    max-height: 70vh;
    overflow-x: hidden;
    overflow-y: scroll;
}

.corsica-overlay
{
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: #000000;
    opacity: 0.4;
}

/* Classes relating to the Dashboard widgets */
.corsica-dashboard-widget
{
    padding-top: 85%;
    position: relative;
}

.corsica-dashboard-widget-container
{
    position: absolute !important;
    top: 0; bottom: 0;
    left: 0; right: 0;
}

.corsica-dashboard-widget-overlay
{
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
    background-color: white;
    opacity: 0.4;
    display: flex;
    justify-content: center;
    align-items: center;
}



#widgetContainer
{
    list-style: none;
    margin: 0;
    padding: 0;
}

.corsica-widget-row-3
{
    width: 31%;
    flex-wrap:wrap;
    display: inline-block;
}

.corsica-widget-row-2
{
    width: 47%;
}

.corsica-widget-row-1
{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}


/* CSS class that only applies on screens assumed to be desktops or large tablets. Smaller screens have this disabled. */
@media(min-width: 768px)
{
    .corsica-dropdown
    {
        width: 40vw ;
        max-height: 70vh ;
        overflow: scroll;
    }
    .corsica-scrollable
    {
        height: 80vh !important;
        overflow: auto;
    }
    .corsica-video-channels
    {
        min-height: 80vh !important;
        padding-bottom: 0;
    }
}

.corsica-general-overlay
{
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
    background-color: white;
    opacity: 0.9;
    display: flex;
    justify-content: center;
    align-items: center;
}
/*AutoPilot -> Video Comment style*/
.hover-button:hover
{
    color: #000;
    cursor: pointer;
}

.video-comment-dropdown
{
    position: relative;
    display: inline-block;
}

.video-comment-dropdown > .dropdown-menu
{
    left: auto;
    right: 0;
    top: calc(100% + 8px);
    margin-top: 0;
    padding: 0;
}

.video-comment-dropdown > .dropdown-menu:before,
.video-comment-dropdown > .dropdown-menu:after
{
    content: "";
    position: absolute;
    right: 14px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
}

.video-comment-dropdown > .dropdown-menu:before
{
    top: -9px;
    border-bottom: 9px solid rgba(0, 0, 0, 0.15);
}

.video-comment-dropdown > .dropdown-menu:after
{
    top: -8px;
    border-bottom: 8px solid #fff;
}

/*AutoPilot -> Shared Video (Channels, Buttons) style*/
.shared-channel-buttons {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
}

.shared-channel-button,
.shareChannels {
    width: 30px;
    height: 30px;
    min-width: 30px;
    padding: 0;
    line-height: 30px;
    text-align: center;
    border-radius: 0;
    border-right-width: 0;
    background-image: none;
}

.shared-channel-buttons .shared-channel-button:first-child {
    border-radius: 3px 0 0 3px;
}

.shared-channel-buttons .shared-channel-button:last-child {
    border-radius: 0 3px 3px 0;
    border-right-width: 1px;
}

.shareChannels,
.shareChannels:hover,
.shareChannels:focus,
.shareChannels:active {
    color: #fff !important;
    background: #337ab7 !important;
    border-color: #2e6da4 !important;
    background-image: none !important;
    box-shadow: none !important;
}

.shareChannels.channel-selected,
.shareChannels.channel-selected:hover,
.shareChannels.channel-selected:focus,
.shareChannels.channel-selected:active,
.shareChannels.active,
.shareChannels.active:hover,
.shareChannels.active:focus,
.shareChannels.active:active {
    background: #286090 !important;
    border-color: #204d74 !important;
    background-image: none !important;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) !important;
    color: #fff !important;
}

/* ROUTE */

.mapDivRoute
{
    height:82vh;
    border-style: solid;
    border-width: 2px;
    border-color: #e3e1dc;
    border-radius:5px;
    background-color: white;
}

/* VIDEO REQUEST */

.day-has-activity {
    color : white;
}

/*Days that are not on the same month have a more faded color*/
.k-other-month.day-has-activity-style > .day-has-activity {
    color : gray !important;
}

.day-has-activity-style {
    /* Prevent td-level background fill so adjacent cells don't merge.
       Styling should apply to the inner anchor/div to keep separation. */
    background-color: transparent;
}

/* Ensure day numbers on green activity days stay white (including hover/selected)
   Target anchor (.k-link) and inner .day-has-activity for specificity. */
.day-has-activity-style > .day-has-activity,
.k-link.day-has-activity-style,
.k-link.day-has-activity-style .day-has-activity,
.k-link.day-has-activity-style.k-state-hover .day-has-activity,
.k-link.day-has-activity-style.k-state-selected .day-has-activity {
    background-color: #00AE35 !important;
    color: #ffffff;
    text-decoration: none;
    display: inline-block;
    padding: 2px 6px;
    border-radius: 4px;
}

/* Stronger, scoped overrides for vidRequestCalendar to beat Kendo/Bootstrap rules */
#vidRequestCalendar td > a.day-has-activity-style,
#vidRequestCalendar td > a.day-has-activity-style:hover,
#vidRequestCalendar td > a.day-has-activity-style.k-state-hover,
#vidRequestCalendar td > a.day-has-activity-style.k-state-selected,
#vidRequestCalendar td > a.day-has-activity-style > .day-has-activity,
#vidRequestCalendar td > a.day-has-activity-style.k-state-hover > .day-has-activity,
#vidRequestCalendar td > a.day-has-activity-style.k-state-selected > .day-has-activity {
    background-color: #00AE35 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}

/* Make selected+focused activity days more obvious: darker green, larger
   padding and a contrasting inset ring so the selection stands out. */
.k-link.day-has-activity-style.k-state-selected.k-state-focused,
.k-link.day-has-activity-style.k-state-selected.k-state-focused .day-has-activity,
#vidRequestCalendar td > a.day-has-activity-style.k-state-selected.k-state-focused,
#vidRequestCalendar td > a.day-has-activity-style.k-state-selected.k-state-focused > .day-has-activity,
td.k-state-selected.k-state-focused.day-has-activity-style > .day-has-activity {
    background-color: #007a3d !important;
    color: #ffffff !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    box-shadow: inset 0 0 0 3px rgba(0, 78, 153, 0.95); /* rei blue theme highlight ring */
}

/* Kendo sometimes renders the td with the activity class - handle that too */
#vidRequestCalendar td.day-has-activity-style-td,
#vidRequestCalendar td.day-has-activity-style-td .k-link,
#vidRequestCalendar td.day-has-activity-style-td .day-has-activity {
    background-color: #00AE35 !important;
    color: #ffffff !important;
}

/* Keep other-month days visually faded even if they carry activity classes */
#vidRequestCalendar td.k-other-month > a.day-has-activity-style > .day-has-activity,
#vidRequestCalendar td.k-other-month > .day-has-activity-style > .day-has-activity {
    color: gray !important;
    background-color: transparent !important;
}

/* Played/Unplayed videos */
.played-video-row {
    background-color : rgb(245, 245, 245)
}

/*If these classes are siblings*/
.played-video-row.k-state-selected {
    background-color : #428bca
}

.unplayed-video-row {
    font-weight : bold
}

.played-video-button-color {
    color : #3f7229 !important;
}

.unplayed-video-button-color {
    color : #539535 !important;
}

.rei-bg-blue {
    background-color : #004e99;
    color : #ffffff;
}

/* Styles for the Noty notification system */
.noty_effects_open {
    opacity: 0;
    transform: translate(50%);
    animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.noty_effects_close {
    animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes noty_anim_in {
    100% {
        transform: translate(0);
        opacity: 1;
    }
}

@keyframes noty_anim_out {
    100% {
        transform: translate(50%);
        opacity: 0;
    }
}

.noty_theme__corsicaTheme
{
    overflow: hidden;

    border-radius: 2px;
    position: relative;
    border: 1px solid rgba(0,0,0, 0.5);
    box-shadow: rgba(0, 0, 0, 0.0980392) 0px 2px 4px;
    cursor: pointer;
}

.noty_theme__corsicaTheme.noty_type__alert {
    background-color: #f5f5f5;
}

.noty_theme__corsicaTheme.noty_type__information {
    background-color: #bbe1e8;
}

.noty_theme__corsicaTheme.noty_type__error {
    background-color: #EC2000;
    color: #fff;
    font-weight: bold
}

.noty_theme__corsicaTheme.noty_type__warning {
    background-color: #EC8C00;
    color: #fff;
}

.noty_theme__corsicaTheme.noty_type__success
{
    background-color: #00AE35;
    color: #fff;
}

.noty_modal.corsicaTheme
{
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 10000;
    opacity: 0.6;
    display: none;
    border: none;
    left: 0;
    top: 0
}

.noty_theme__corsicaTheme .noty_body { padding: 10px; }

/* Kendo style modifications */
.k-grid tr td
{
    height: 28px;
    padding-left: 1px;
}

.k-button.k-state-disabled:active:hover
{
    background-color: #f0f0f0;
}

.k-grid-header th.k-with-icon .k-link
{
    margin-right: 0;
}

.k-grid td
{
    padding: 0;
    line-height: 1em;
    text-indent: .3em;
}

.k-grid-header th > .k-link > .k-icon
{
    vertical-align: middle;
}

.k-filter-row th
{
    padding: .5em .5em 0em .5em;
    vertical-align: middle;
}

/* Add spacing between checkbox and label text in multi-select filter popups */
.k-filter-menu input[type="checkbox"] {
    margin-right: 5px;
}

.k-grid-header th.k-header > .k-link
{
    min-height: auto;
    line-height: auto;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    padding-bottom: 5px;
}

.k-header > .k-header-column-menu
{
    margin: 0;
    padding: 0;
}

.k-listview .k-item
{
    padding: 5px;
}

.k-listview .k-item:hover
{
    background-color: #ebebeb;
}

.k-listview .k-item.k-state-selected:hover
{
    background-color: #3379b5
}

.k-tabstrip:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Modifications to AdminLTE controls */
.header-truncate {
    width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* For buttons that are not clickable or hoverable */
.no-interaction {
    pointer-events: none;
}

/* btn-group applies a rounded border to the first and last btn.
   Use no-radius to remove all rounded borders. */
.btn-group.no-radius > .btn:first-child,
.btn-group.no-radius > .btn:last-child {
    border-radius: 0;
    margin-left: -1px;
}

.video-channel-wrapper {
    max-height: 68vh;
    position: relative;
}
.video-channel-wrapper:before {
    /* 4:3 aspect ratio -> height is 75% of width */
    /* Margin percentages are based on width. */
    margin-top: 75%;
    display: block;
    content: '';
}
.video-channel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 66vh;
}

/* Contains boxes that show when each input was active in Diagnostics */
.input-status-container {
    display: flex;
}
/* Each .input-status must have 2 div children */
.input-status {
    display: table;
    text-align: center;
}
/* Input description */
.input-status > div:first-of-type {
    background-color: white;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding: 5px;
}
/* Last time the input was active */
.input-status > div:last-of-type {
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    padding: 5px;
}
.input-status:last-of-type > div:first-of-type {
    border-right: 1px solid #ccc;
    border-top-right-radius: 3px;
}
.input-status:last-of-type > div:last-of-type {
    border-right: 1px solid #ccc;
    border-bottom-right-radius: 3px;
}
.input-status:first-of-type > div:first-of-type {
    border-top-left-radius: 3px;
}
.input-status:first-of-type > div:last-of-type {
    border-bottom-left-radius: 3px;
}

/* Displays text inside a circle. */
.circled-text {
    -moz-border-radius: 25px/25px;
    -webkit-border-radius: 25px 25px;
    border-radius: 25px/25px;
    border: solid 1px black;
    width: 25px;
    height: 25px;
    text-align: center;
    line-height: 25px;
    font-size: 15px;
    display: inline-block;
    margin: 0 2px;
}

/* When a Kendo PanelBar item is both selected and hovered, .k-state-hover overrides k-state-selected. */
/* The following rule makes such items actually appear selected. */
.k-panelbar .k-link.k-state-selected.k-state-hover{
    color: #fff !important;
    background-color: #3379b5;
}



.panel-default{
    margin: 0px 10px 20px 0px;
}


/* Timeline CSS */
.armor-timeline {
    position: relative;
    display: block;
    width: 100%;
    margin: 1rem auto;
    padding-bottom: 3px;
    border-radius: 5px;
}
.timeline--inner {
    position: absolute;
    display: block;
    top: 50%;
    right: 1rem;
    left: 1rem;
    height: 6px;
    margin: -3px 14px 0 0;
    border: 0;
    background: rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1), 0 1px 1px rgba(0, 0, 0, 0.2) inset;
    border-radius: 1em;
    z-index: 1;
}
.timeline--inner-pin {
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    /* background-color: #F06292; */
    border-radius: 100%;
    cursor: pointer;
    box-shadow: 0 0 0 2px #ffffff, 0 2px 6px rgba(0, 0, 0, 0.35);
    transition: all 0.7s ease;
}

.is-featured {
    width: 14px;
    height: 14px;
}

.is-normal {
    width: 8px;
    height: 8px;
}

[data-title] {
    white-space: nowrap;
}
[data-title]:after {
    content: attr(data-title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    padding: 0.5rem;
    color: #333;
    font-size: 1rem;
    font-style: normal;
    background-color: #eee;
    border-radius: 5px;
    opacity: 0;
    transition: 0.25s cubic-bezier(0.905, -0.25, 0.52, 1);
    -webkit-transform: translateX(-50%) rotate(5deg);
    transform: translateX(-50%) rotate(5deg);
    pointer-events: none;
    z-index: 2;
}
[data-title]:hover:after {
    margin-bottom: 18px;
    opacity: 1;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

[data-title]:before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-bottom: -16px;
    border: 10px solid transparent;
    border-top-color: #eee;
    opacity: 0;
    transition: 0.25s cubic-bezier(0.905, -0.25, 0.52, 1);
    -webkit-transform: translateX(-50%) rotate(5deg);
    transform: translateX(-50%) rotate(5deg);
    pointer-events: none;
    z-index: 3;
}
[data-title]:hover:before {
    margin-bottom: -1px;
    opacity: 1;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.center-alert {
    text-align: center;
    margin: 50px;
}

/* Changes the color of a Bootstrap .popover element */
.popover-warning {
    background-color: #EC8C00;
    color: white;
}
.popover-warning.right .arrow:after {
    border-right-color: #EC8C00;
}

.severity-icon {
    font-size: 24px;
    width: 32px;
}

.insight-gauge {
    background-image: url("img/GaugeBackground.svg");
    width: 225px;
    height: 125px;
    z-index: 10;
}