body {
}

/* Bootstrap 3 visual baseline — BS5 changed link color (#0d6efd, brighter) and
   base font size (16px root makes rem-based components larger).  Override within
   .guardtour to preserve the pre-upgrade appearance. */
.guardtour {
    font-size: 14px;
}

.guardtour a {
    color: #337ab7;
}

.guardtour a:hover,
.guardtour a:focus {
    color: #23527c;
}

/* overriding default Site.css */
table {
    line-height: normal;
}

/* ENTDEV-37788: Scoped to .k-button so the white-on-primary color only applies
   to Kendo primary action buttons, not to <a> elements inside dropdown popups
   (where .k-primary/.k-selected list items would get invisible white text on
   a white background). */
a.k-primary.k-button {
	color: white;
}

a.k-button { /*, a:link, a:visited, a:hover, a:active {*/
    color: black;
}

/* Hide toolbar, navigation and footer during export */
.k-pdf-export .k-scheduler-toolbar,
.k-pdf-export .k-scheduler-navigation .k-nav-today,
.k-pdf-export .k-scheduler-navigation .k-nav-prev,
.k-pdf-export .k-scheduler-navigation .k-nav-next,
.k-pdf-export .k-scheduler-footer
{
    display: none;
}

/*  Form CSS */
.k-autocomplete, .k-combobox, .k-datepicker, .k-timepicker,
.k-datetimepicker, .k-colorpicker, .k-numerictextbox,
.k-dropdown, .k-selectbox, .k-textbox, .k-multiselect {
    width: 100%;
}

/* Kendo v2026's recurrence editor has its own internal layout with compact
   inputs (5em for interval/count, 10em for dropdowns).  The broad width:100%
   rule above overrides that sizing because our form isn't wrapped in
   .k-scheduler-edit-form (Kendo's built-in edit form class).  The widget
   element has data-role="recurrenceeditor" but no CSS class, so we target
   via attribute selector.  Reset width to auto so Kendo's flex layout sizes
   inputs naturally. */
[data-role="recurrenceeditor"] .k-numerictextbox,
[data-role="recurrenceeditor"] .k-dropdown,
[data-role="recurrenceeditor"] .k-datepicker {
    width: auto;
}

/* Kendo v2026 numeric textbox stacks two spinner buttons vertically, each
   ~32px tall (6px padding + 20px line-height), inflating the widget to 66px.
   Other Kendo inputs (datepicker, dropdown) have a single button and render
   at ~34px.  Reduce spinner button padding and line-height so the two
   buttons stack to ~32px naturally, matching standard input height.  The
   icon SVGs have a large negative margin (-14px) designed for the oversized
   buttons; reset to 0 so they render correctly at the compact size. */
.guardtour .k-numerictextbox .k-spinner-increase,
.guardtour .k-numerictextbox .k-spinner-decrease {
    padding-block: 0;
    line-height: 1;
}

.guardtour .k-numerictextbox .k-spinner-increase .k-button-icon,
.guardtour .k-numerictextbox .k-spinner-decrease .k-button-icon {
    margin: 0;
}

.guardtour div[role='tooltip'].k-tooltip div.k-callout {
    border-top-color: transparent !important;
}

.guardtour.DefaultTheme div[role='tooltip'].k-tooltip div.k-callout-s {
    border-top-color: #404b5e !important;
}

.guardtour.DefaultTheme div[role='tooltip'].k-tooltip div.k-callout-w {
    border-right-color: #404b5e !important;
}

.guardtour.BlueTheme div[role='tooltip'].k-tooltip div.k-callout-s {
    border-top-color: #0070c0 !important;
}

.guardtour.BlueTheme div[role='tooltip'].k-tooltip div.k-callout-w {
    border-right-color: #0070c0 !important;
}

.fieldlist {
    margin: 0;
    padding: 0;
    width: 320px;
}

.fieldlist li {
    list-style: none;
    padding-bottom: .7em;
    text-align: left;
}

.fieldlist label {
    display: block;
    padding-bottom: .3em;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
    color: #444;
}

.fieldlist li.status {
    text-align: center;
}

.fieldlist li [data-role]:not(.k-tooltip),
.fieldlist li .k-textbox {
    margin: 0 5px 5px 0;
}

.confirm {
    padding-top: 1em;
}

.valid {
    color: green;
}

.invalid {
    color: red;
}

.fieldlist li input[type="checkbox"] {
    margin: 0 5px 0 0;
}

span.k-tooltip-validation {
    display: inline-block;
    width: 160px;
    text-align: left;
    border: 0;
    padding: 0;
    margin: 0;
    background: none;
    box-shadow: none;
    color: red;
}

.k-tooltip-validation .k-warning {
    display: none;
}

.k-selected .guardtour-location-nodetype-2 {
    color: white !important;
}


.k-event{
    border: none !important;
}

.k-scheduler-monthview .k-scheduler-table td {
    height: 100px !important;
    padding: .1em .5em !important;
}

.guardtour-location-nodetype-2 {
    color: green !important;
}

.checkpoint-selection-area .location-treeview {
    height: 310px;
}

.checkpoint-selection-area .location-treeview span.k-treeview-leaf span.highlight {
    text-decoration: underline;
    background-color: transparent !important;
    color: black !important;
}

.checkpoint-selection-area .location-treeview span.k-treeview-leaf.k-selected span.highlight {
    color: white !important;
}

.guardtour.NightTheme .k-button, .guardtour.NightTheme a.k-button {
    color: #00ff00;
    border-color: #2b2b2b;
    background-color: #272727;
}

.guardtour.NightTheme .k-button.k-primary, .guardtour.NightTheme a.k-button.k-primary {
    background-color: #00FF00;
    border-color: #00FF00;
    color: #2b2b2b;
}

.guardtour.NightTheme .checkpoint-selection-area .location-treeview span.k-treeview-leaf span.highlight {
    color: #00FF00 !important;
}

.guardtour.NightTheme .checkpoint-selection-area .location-treeview span.k-treeview-leaf.k-selected {
    background-color: #00FF00 !important;
    color: black !important;
}

.guardtour.NightTheme .checkpoint-selection-area .location-treeview span.k-treeview-leaf.k-selected span.highlight {
    color: black !important;
}

.guardtour.NightTheme .typeSelect, .NightTheme .filter-selection-field {
    background-color: #3d3d3d;
    border-color: #2b2b2b;
}

.guardtour.NightTheme .form-group, .NightTheme .k-button {
    border-color: #2b2b2b;
}

.guardtour.NightTheme #main-view {
    background-color: #4d4d4d;
}

.guardtour #main-view {
    background-color: white;
}

.guardtour.NightTheme .popover {
    background-color: #555;
}

.guardtour.NightTheme .k-header > .k-header-column-menu.k-active {
    background-color: #4d4d4d;
}

.guardtour.NightTheme .k-selected > .k-link,
.guardtour.NightTheme .k-panelbar > li > .k-selected,
.guardtour.NightTheme .k-panelbar > li > .k-link.k-selected {
    background-color: #00FF00 !important;
    color: #000 !important;
}

.guardtour.NightTheme .treeFilter {
    background-color: none;
}

.guardtour.NightTheme .k-scheduler-table th,
.guardtour.NightTheme .k-multiselect span:last-child,
.guardtour.NightTheme .k-multiselect .k-input{
    color: #0f0 !important;
}

.guardtour.NightTheme .popover-body .fa.fa-close {
    color: #0f0;
}

.guardtour.NightTheme .popover.bottom > .arrow:after {
    border-bottom-color: #555;
}
.guardtour.NightTheme .popover.top > .arrow:after {
    border-top-color: #555;
}
.guardtour.NightTheme .popover.right > .arrow:after {
    border-right-color: #555;
}
.guardtour.NightTheme .popover.left > .arrow:after {
    border-left-color: #555;
}

.checkpoint-selection-area .checkpoint-grid {
    height: 360px;
}

.checkpoint-selection-area .checkpoint-grid tr.k-selected {
    cursor: move !important;
}

.checkpoint-selection-area .checkpoint-grid tr.k-selected .handler {
    cursor: move !important;
}

.checkpoint-selection-area .checkpoint-grid .handler {
    text-align: center; 
    cursor: ns-resize;
}

.checkpoint-selection-area .location-treeview .k-treeview-item > div > .k-treeview-leaf > div.checkpoint-added {
    color: gray !important;
}

.checkpoint-selection-area .location-treeview .k-treeview-item > div > .k-treeview-leaf > div.guardtour-treeitem-disabled {
    color: gray !important;
}

.checkpoint-selection-area .drop-target .drop-target-overlay {
    display: block !important;
}

.checkpoint-selection-area .drop-target-overlay {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: rgba(0,0,0, .2);
}

.checkpoint-selection-area .drop-target-overlay h4 {
    margin-top: 25%;
    text-align: center;
}

@media only screen and (min-width: 1167px) {
    .checkpoint-selection-area .checkpoint-buttons {
        margin-top: 50px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
}

.form-footer {
    position: fixed;
    bottom: 0;
    display: block;
    padding: 10px;
    border-top: 1px solid #e5e5e5;
}
#main-view {
    padding-top: 10px;
}
.k-tabstrip-wrapper  {
    margin-bottom: 10px;
}
#view {
    padding-top: 0px;
}
form {
    overflow-y: hidden;
}
#event {
    overflow-y: auto;
}
.well {
    margin-bottom: 10px;
    padding: 10px 10px 0 10px;
}

/* ENTDEV-11320 */
.k-multiselect-wrap>ul>.k-button {
    margin: 3px 0 3px 3px;
    padding: 0 1.6em 0 .857em;
}

/* ENTDEV-11120 */
.k-task .k-i-reload, .k-task .k-i-non-recurrence {
    position: absolute;
    left: 0px;
    margin: 6px 2px 0 4px;
}


/* Kendo v2026 uses SVG icons (k-svg-icon) — the old font-icon classes
   (k-i-reload, k-i-non-recurrence, k-si-close) and kendo_sprite.png
   are no longer referenced by the theme.  Kendo's scheduler automatically
   renders recurrence/exception SVG icons in its own .k-event-actions
   container, so we no longer need to hide it or provide custom replacements. */

span.treeTypeSelectButton {
    vertical-align: middle !important;
}

.guardtour-calendar {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
    border-bottom-width: 1px;
}

.inline-block {
    display: inline-block
}

.typeSelect {
    -moz-min-width: 90px;
    -ms-min-width: 90px;
    -o-min-width: 90px;
    -webkit-min-width: 90px;
    min-width: 90px;
    padding: 8px 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    background-color: white;
}

.typeSelect, .treetypeSelectButton {
    border: 1px solid #dbdbde;
}

.filter-selection-field {
    border-top-right-radius: 0; 
    border-bottom-right-radius: 0; 
    border-right: 0;
}

.filter-selection-button {
    margin-left: -1px !important;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    min-height: 34px;
    padding: 6px 10px;
    line-height: 1.25;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.guardtour-calendar .k-header .form-group {
    float: left;
    min-height: 1px;
    margin-left: 20px;
    margin-bottom: 0;
}

.guardtour-calendar .k-header .form-group:first-child {
    margin-left: 0px;
}

.guardtour-calendar .k-header .form-group label {
    /*display: block;*/
    font-weight: normal;
    margin-top: 8px;
    cursor: pointer;
    font-size: 14px;
}

.guardtour-calendar .filter-selection-field {
    min-height: 34px;
    padding: 6px 8px;
    line-height: 1.25;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
}

.guardtour #tabstrip .k-tabstrip-items .k-link {
    font-size: 14px;
}

/* Position header action buttons in the tab-label row.  #tabstrip is the
   positioning context (position:relative in kendo.bootstrap-fix.css).
   The Kendo tab-content panels between #tabstrip and these buttons are set
   to position:static so the absolute positioning "sees through" them. */
.guardtour-header-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 15;
}

.guardtour-header-action-icon {
    display: inline-flex;
}

/* Bootstrap 3 button appearance — the upgrade to BS5 changed colors and sizing
   but the UI should keep the pre-upgrade look. Applied globally within .guardtour. */
.guardtour .btn {
    padding: 4px 12px;
    font-size: 13px;
    line-height: 1.5;
    border-radius: 4px;
}

.guardtour .btn-primary {
    background-color: #337ab7;
    border-color: #2e6da4;
    color: #ffffff;
}

.guardtour .btn-primary:hover,
.guardtour .btn-primary:focus {
    background-color: #286090;
    border-color: #204d74;
}

.guardtour .btn-outline-secondary,
.guardtour .btn-secondary {
    background-color: #ffffff;
    border-color: #cccccc;
    color: #333333;
}

.guardtour .btn-outline-secondary:hover,
.guardtour .btn-outline-secondary:focus,
.guardtour .btn-secondary:hover,
.guardtour .btn-secondary:focus {
    background-color: #e6e6e6;
    border-color: #adadad;
}

.guardtour .btn-danger {
    background-color: #d9534f;
    border-color: #d43f3a;
    color: #ffffff;
}

.guardtour .btn-danger:hover,
.guardtour .btn-danger:focus {
    background-color: #c9302c;
    border-color: #ac2925;
}

.guardtour-header-actions .btn,
.guardtour-header-actions .k-button {
    margin: 0 !important;
}

/* Kendo grid action buttons (Edit, X/delete) — these use .k-button combined with
   Bootstrap classes (e.g., .btn-danger on the delete button).  Pre-upgrade, Kendo's
   .k-button styling gave them a white background regardless of BS classes.  Override
   here to restore that appearance inside grid cells. */
.guardtour .k-grid td .k-button {
    background-color: #ffffff;
    border-color: #cccccc;
    color: #333333;
    padding: 4px 12px;
    font-size: 13px;
    line-height: 1.5;
}

.guardtour .k-grid td .k-button:hover {
    background-color: #e6e6e6;
    border-color: #adadad;
}

/* Site.css has responsive @media rules (1024-1440px, 1440-1600px, 1680px+) that
   set font-size on ALL Kendo grids via unscoped selectors like
   div.k-grid-content.k-auto-scrollable > table > tbody > tr td { font-size: 10px !important }.
   These were intended for ReportExec dashboard panels but lack the .dashboard-panel-body
   scope, so they shrink GT grid text to 10-12px at certain breakpoints.
   Lock GT grids to a consistent 14px at all viewport widths. */
.guardtour div.k-grid-content > table > tbody > tr td,
.guardtour div.k-grid-content.k-auto-scrollable > table > tbody > tr td,
.guardtour div.k-grid-header-wrap > table > thead > tr > th,
.guardtour div.k-grid-header-wrap.k-auto-scrollable > table > thead > tr > th {
    font-size: 14px !important;
}

.guardtour-calendar .k-scheduler {
    border: none !important;
}

.guardtour .k-searchable-treeview input.k-checkbox+label,
.guardtour .k-searchable-html-treeview input.k-checkbox,
.guardtour .k-searchable-html-treeview label {
    vertical-align: text-top;
}

.guardtour .k-tooltip-content ul {
    list-style-type: none;
    text-align: left;
    padding: 5px;
    margin: 0;
}

.guardtour .k-tooltip-content ul li {
    white-space: nowrap;
}

.guardtour div.searches-btn-grid-options > a#k-grid-clear-filters,
.guardtour div.searches-btn-grid-options > a#k-grid-reset-column-order,
.guardtour div.searches-btn-grid-options > a#k-grid-export-excel,
.guardtour div.searches-btn-grid-options > a#k-grid-export-pdf {
    width: 200px;
}

.guardtour .k-header.k-sorted > .k-grid-filter, .guardtour .k-header.k-sorted > .k-header-column-menu {
    margin-top: -.3em;
}

.guardtour .k-header > .k-grid-filter, .guardtour .k-header > .k-header-column-menu {
    margin-top: -.4em;
}

.guardtour div.searches-btn-grid-options > a#k-grid-export-excel {
    margin-bottom: 5px;
}

.guardtour .k-header > .k-header-column-menu.k-active {
    background-color: #aeaeae;
}

.guardtour .window-footer {
    box-sizing: content-box;
    white-space: nowrap;
    min-height: 16px;
    width: 100%;
    border-top-style: solid;
    border-top-width: 1px;
    padding: 10px 0;
    border-top: 1px solid #e5e5e5;
    background-color: white;
    flex-shrink: 0;
    display: flex;
    flex-flow: row-reverse;
}

.guardtour.NightTheme .window-footer {
    background-color: #4d4d4d !important;
}

.guardtour .window-footer > button:first-child {
    margin-left: .4em;
}

.guardtour .window-footer .float-end > button {
    margin-right: .4em;
}

label.k-check {
    padding: 0 6px 0 0;
}
label.k-check input[type="checkbox"] {
    margin-right: -3px !important;
}

.k-scheduler-footer
{
    display: none;
 
    height: 0;
    padding: 0;
    overflow: hidden;
}

.k-grid-toolbar .k-grid-excel {
    float: right;
}

.k-grid-toolbar .k-grid-excel .k-i-excel {
    margin-right: -.3rem;
}

.k-grid .k-button.k-more-events {
    margin: 0 !important;
}

.requiredTech a {
    text-decoration: none;
}

.disabledRequiredTech {
    color: gray !important;
    cursor: not-allowed;
}

.guardTourAlertCount {
    display: none;
}

.alertButtonAlertsCount {
    display: none;
}

.narrow-read-notification {
    border-left-color: transparent !important;
    border-left-width: 6px !important;
    max-width: 42px;
    width: 42px;
    text-overflow: initial;
}

th.narrow-read-notification > input[type='checkbox'] {
    line-height: 20px;
}

/* Alert notification icons in Grid */

.guardtour tr span.fa-wifi {
    width: 15px;
}

.guardtour.DefaultTheme tr.k-selected span.fa-wifi.disabled {
    color: gray;
}

.guardtour.DefaultTheme tr.k-selected span.fa-wifi {
    color: white;
}

.guardtour.DefaultTheme span.fa-wifi.disabled {
    color: lightgray;
}

.guardtour.DefaultTheme span.fa-wifi {
    color: #1C1F88;
}

.guardtour.BlueTheme tr.k-selected span.fa-wifi.disabled {
    color: darkgrey;
}

.guardtour.BlueTheme tr.k-selected span.fa-wifi {
    color: white;
}

.guardtour.BlueTheme span.fa-wifi.disabled {
    color: lightgray;
}

.guardtour.BlueTheme span.fa-wifi {
    color: #0064af;
}

.guardtour.NightTheme tr.k-selected span.fa-wifi.disabled {
    color: darkgrey;
}

.guardtour.NightTheme tr.k-selected span.fa-wifi {
    color: #0f0;
}

.guardtour.NightTheme span.fa-wifi.disabled {
    color: darkgrey;
}

.guardtour.NightTheme span.fa-wifi {
    color: #0f0;
}

/* Kendo overrides */
.k-grid-toolbar, .k-grouping-header {
    padding: .75em .2em .8333em 1em;
    border-style: solid;
    border-width: 0 0 1px !important;
    border-color: #ccc;
    background-color: #f5f5f5;
}

.k-scheduler-footer, .k-scheduler-toolbar {
    padding: 6px;
}

.k-button-group button:first-child {
    border-left-width: 1px;
}

.k-toolbar:not(.k-spreadsheet-toolbar) .k-button-group .k-button {
    border-left-color: #cccccc;
}

.k-button {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

.k-button.k-active, .k-button:active {
    color: #333;
}

.k-button-icon{
    padding:0px;
}

.treeTypeSelectButton {
    margin:0px !important;
}

.k-scheduler-Editcurrentoccurrence {
    color: #fff;
    background-color: #4e5b73;
    border-color: #4e5b73;
}
.k-event-top-actions{
    display:none;
}

.k-event-bottom-actions {
    display: none;
}

.guardtour .k-tooltip {
    pointer-events: none;
}

.guardtour-calendar .k-event {
    padding-right: 0 !important;
}

.guardtour-calendar .k-event .k-event-actions {
    background: transparent !important;
}

/* Kendo's auto-generated recurrence/exception icon container (.k-event-actions)
   is the first child of .k-event, rendered BEFORE the template content.  The
   template's .event div has height:100% with a solid background-color that
   paints over the icon.  Lift the icon above the template layer and reposition
   to the left to match the title's padding-left: 22px.

   Top-aligned: position the icon near the top of the event to align with the
   first line of text.  For single-line month events (~25px tall) this looks
   the same as centering; for taller week/day events the icon stays with the
   text instead of floating in the middle of the time block. */
.guardtour-calendar .k-event > .k-event-actions:first-child {
    z-index: 3;
    inset-inline-end: auto;
    inset-inline-start: 0;
    top: 4px;
    bottom: auto;
}

/* Agenda view: Kendo renders the recurrence SVG icon as a direct child of
   .k-task (not wrapped in .k-event-actions), so it flows on its own line
   above the event bar.  Absolutely position it over the event bar's left
   padding (the template already has padding-left: 22px to make room). */
.guardtour-calendar .k-task {
    position: relative;
}

.guardtour-calendar .k-task > .k-svg-icon {
    position: absolute;
    z-index: 3;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
}

.guardtour-calendar .k-event .k-resize-handle,
.guardtour-calendar .k-event .k-event-resize-handle {
    background: transparent !important;
    border-color: transparent !important;
    opacity: 0 !important;
}
