.navbar {
    border: 0px !important;
}

mark {
    padding: 0;
    background-color: #9ed6ab;
}

/*tr.TableRowGreenHighlight td {
    background-color: #c3e6cb;
}*/

tr.TableRowGreenHighlight {
    border-left: 10px solid #9ed6ab;
}

/*tr.TableRowGreenHighlight:hover td {
    background-color: #9ed6ab;
}*/

tr.TableRowOrangeHighlight {
    border-left: 10px solid #ffbc28;
}

/*tr.TableRowRedHighlight td {
    background-color: #f5c6cb;
}*/
tr.TableRowRedHighlight {
    border-left: 10px solid #f94558;
}

/*tr.TableRowRedHighlight:hover td {
    background-color: #ec98a1;
}*/

.TableCellFontColorGreenHighlight {
    color: #9ed6ab;
    font-weight: bold;
}

.TableCellFontColorOrangeHighlight {
    color: #ffbc28;
    font-weight: bold;
}

.TableCellFontColorRedHighlight {
    color: #f94558;
    font-weight: bold;
}

tr.SelectedTableRow {
    border-left: 10px solid #9ed6ab;
}

tr.SelectedTableRow {
    border-left: 10px solid #9ed6ab;
}

@media (max-width: 800px) {
    #page-content-wrapper {
        margin: 1em;
    }

    #MainContent_RememberMe {
        margin-left: 0px !important;
        margin-top: 0px !important;
    }
}

a.disabled {
    pointer-events: none;
    cursor: default;
}

.table > tbody > tr > td {
    vertical-align: middle !important;
}

/* drop down sitename menu */
.DropDownMenuContainer {
    max-width: 400px;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #0D2855;
    min-width: 160px;
    z-index: 1;
}

    .dropdown-content a {
        padding: 12px 16px;
        color: #9d9d9d;
        text-decoration: none;
        display: block;
    }

        .dropdown-content a:hover {
            color: white;
        }

.DropDownMenuContainer:hover .dropdown-content {
    display: block;
}

.DropDownMenu {
    max-width: 400px;
    display: inline-block;
}

.DropDownMenuContentLink {
    color: #9d9d9d;
    padding: 12px 16px;
    color: #9d9d9d;
    text-decoration: none;
    display: block;
    float: left;
    height: 50px;
    padding: 15px 15px;
    /*font-size: 18px;*/
    line-height: 20px;
}

.DomainDDL {
    color: #333;
}

.TopBarContentContainer {
    width: 99% !important;
}

.ContentContainer {
    width: 75%;
}

.NarrowContentContainer {
    width: 79%;
    margin-left: auto;
    margin-right: auto;
}

.WideContentContainer {
    width: 92% !important;
}

.GridViewTitleSection {
    margin-top: 20px;
}

.GridViewTitle {
    margin-top: 0px;
}

.GridViewToolBar {
    width: 100%;
    padding-top: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
}

.GridViewToolBarLeft {
    text-align: left;
    padding: 0.2em;
}

.GridViewToolBarRight {
    text-align: right;
    padding: 0.2em;
}

.RightPaddedToolBarSpan {
    padding-right: 1em;
}

@media (max-width: 800px) {
    .GridViewToolBarLeft {
        text-align: left;
        padding: 0.2em;
    }

    .GridViewToolBarRight {
        text-align: left;
        padding: 0.2em;
    }
}

/* To stay on top of LoadingOverlay */
.navbar-fixed-top {
    z-index: 2147483647 !important;
    max-height: 5em !important;
    overflow: auto !important;
}

.navbar-fixed-top:hover {
    z-index: 2147483647 !important;
    max-height: fit-content !important;
    overflow: visible !important;
}

.navbar-fixed-left {
    z-index: 2147483646 !important;
}

.form-control-readonly {
    background-color: #eee !important;
}

.form-control[readonly] {
    background-color: #eee !important;
}

.navbar {
    font-size: smaller !important;
}

.ContentContainer {
    font-size: small !important;
}

.table {
    font-size: smaller !important;
}

.navbar-brand {
    font-size: medium !important;
}

/* smaller fonts for really wide GridViews */
.WideGridView {
    font-size: x-small !important;
}

/* Trello #1770: the floating (sticky) GridView header is implemented in
   Scripts/StickyTableHeaders.js — a fixed cloned header row that tracks the page's
   vertical scroll and the real header's actual on-screen horizontal position
   (the ghost is scrolled to the offset derived from the real header rect, so a nested scroller is handled too). Grids
   keep the normal model (page vertical scroll + inner .table-responsive horizontal scroll),
   so no CSS here. */

/* Trello #1771: freeze columns in sticky grids so they stay visible while a wide grid is
   scrolled horizontally (Excel-style freeze panes). By default the FIRST column (N=1) is
   frozen with no markup change; additionally a leading column marked CssClass="FrozenColumn"
   freezes too (the easily-extensible hook). Same .table-responsive + position:sticky
   mechanism as the #1770 sticky header, scoped with :has(.StickyTableHeader) so non-sticky
   responsive tables (and page-scroll grids without a .table-responsive) are untouched.
   NOTE: every frozen cell uses left:0, which is correct only for the single leftmost frozen
   column. Freezing a 2nd+ column needs a small JS helper to set each column's cumulative
   left offset (widths are dynamic) — without it the columns would overlap at left:0. */
.table-responsive:has(.StickyTableHeader) th:first-child,
.table-responsive:has(.StickyTableHeader) td:first-child,
.table-responsive:has(.StickyTableHeader) th.FrozenColumn,
.table-responsive:has(.StickyTableHeader) td.FrozenColumn {
    position: sticky;
    left: 0;
    z-index: 2; /* above normally-scrolling cells */
}

/* Header cells of frozen columns are sticky on BOTH axes (top via #1770, left here),
   so they must sit above every layer. Header background is left untouched (no recolour). */
.table-responsive:has(.StickyTableHeader) th:first-child,
.table-responsive:has(.StickyTableHeader) th.FrozenColumn {
    z-index: 4;
}

/* Frozen BODY cells need an opaque background so the columns scrolling underneath don't
   show through. Their alternating colours intentionally distinguish the frozen block from
   plain Bootstrap-striped scrolling columns.
   The .table-hover row highlight is deliberately NOT mirrored: it reads as a distracting flash
   on the pinned columns (the rest of the row's hover is barely perceptible), so frozen cells
   keep their zebra colour on hover. */
.table-responsive:has(.StickyTableHeader) tbody > tr > td:first-child,
.table-responsive:has(.StickyTableHeader) tbody > tr > td.FrozenColumn {
    background-color: #f9f9f9;
}
.table-responsive:has(.StickyTableHeader) tbody > tr:nth-of-type(odd) > td:first-child,
.table-responsive:has(.StickyTableHeader) tbody > tr:nth-of-type(odd) > td.FrozenColumn {
    background-color: #fff;
}

/* Footer sticky cells have no zebra colour of their own, so without an opaque background the
   footer's own cells scrolling underneath show through the pinned columns. The footer renders on
   a plain white background in these grids, so #fff matches its row. */
.table-responsive:has(.StickyTableHeader) tfoot > tr > td:first-child,
.table-responsive:has(.StickyTableHeader) tfoot > tr > td.FrozenColumn {
    background-color: #fff;
}

/* Separator on the RIGHT edge of the LAST frozen column, matching the 1px #ddd line between rows,
   so the pinned block is detached from the columns scrolling under it. Shown ONLY once the grid is
   actually scrolled sideways: FrozenColumns.js toggles .FrozenScrolled on the container when
   scrollLeft>0 (before that the frozen block sits flush in the table and no line is wanted), and
   tags the last frozen column's cells .FrozenColumnEnd (N=1 first-child default and N>=2).
   Implemented as an INSET (0-blur) box-shadow, NOT border-right: these grids use
   border-collapse:collapse, and on a position:sticky cell Blink drops a collapsed border AND
   paints an OUTSET shadow at the table's un-scrolled position — both vanish the moment you scroll.
   An inset shadow is painted inside the cell (like the background, which DOES stay pinned), so it
   holds its place. No layout shift. */
.table-responsive.FrozenScrolled th.FrozenColumnEnd,
.table-responsive.FrozenScrolled td.FrozenColumnEnd {
    box-shadow: inset -1px 0 0 0 #ddd;
}

/* Accented uppercase letters disappear without this */
.form-control {
    height: initial !important;
}


.SiteDetailsMapATMPWebDiv {
    height: 15em;
    width: 30em;
    margin: 1em;
}

.SiteDetailsMapOBDiv {
    height: 15em;
    width: 20em;
    margin: 1em;
}

.FullScreenMapDiv {
    height: 60vh;
    width: 100%;
    margin-top: 1em;
    margin-bottom: 1em;
}

.ErrorSuccessDiv {
    height: 1em;
    margin-bottom: 1em;
}


/* for a nicer jquery autocomplete */
.ui-autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    list-style: none;
    font-size: 14px;
    text-align: left;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
}

    .ui-autocomplete > li > div {
        display: block;
        padding: 3px 20px;
        clear: both;
        font-weight: normal;
        line-height: 1.42857143;
        color: #333333;
        white-space: nowrap;
    }

.ui-state-hover,
.ui-state-active,
.ui-state-focus {
    text-decoration: none;
    color: #262626;
    background-color: #f5f5f5;
    cursor: pointer;
}

.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* TableSorter */

.tablesorter-default {
}

    /* header */
    .tablesorter-default th,
    .tablesorter-default thead td {
    }

    .tablesorter-default tfoot th,
    .tablesorter-default tfoot td {
    }

    .tablesorter-default .header,
    .tablesorter-default .tablesorter-header {
        text-align: center;
        vertical-align: middle;
        background-color: #f9f9f9;
        border-top: 1px solid #ddd !important;
        cursor: pointer;
    }

    .tablesorter-default thead .headerSortUp,
    .tablesorter-default thead .tablesorter-headerSortUp,
    .tablesorter-default thead .tablesorter-headerAsc {
        border-bottom: #999 2px solid;
    }

    .tablesorter-default thead .headerSortDown,
    .tablesorter-default thead .tablesorter-headerSortDown,
    .tablesorter-default thead .tablesorter-headerDesc {
        border-bottom: #999 2px solid;
    }

    .tablesorter-default thead .sorter-false {
        cursor: default;
    }

    /* tfoot */
    .tablesorter-default tfoot .tablesorter-headerSortUp,
    .tablesorter-default tfoot .tablesorter-headerSortDown,
    .tablesorter-default tfoot .tablesorter-headerAsc,
    .tablesorter-default tfoot .tablesorter-headerDesc {
    }

    /* tbody */
    .tablesorter-default td {
    }

    /* hovered row colors */
    .tablesorter-default tbody > tr.hover > td,
    .tablesorter-default tbody > tr:hover > td,
    .tablesorter-default tbody > tr.even:hover > td,
    .tablesorter-default tbody > tr.odd:hover > td {
    }

    /* table processing indicator */
    .tablesorter-default .tablesorter-processing {
    }

    /* Zebra Widget - row alternating colors */
    .tablesorter-default tr.odd > td {
    }

    .tablesorter-default tr.even > td {
    }

    /* Column Widget - column sort colors */
    .tablesorter-default tr.odd td.primary {
    }

    .tablesorter-default td.primary,
    .tablesorter-default tr.even td.primary {
    }

    .tablesorter-default tr.odd td.secondary {
    }

    .tablesorter-default td.secondary,
    .tablesorter-default tr.even td.secondary {
    }

    .tablesorter-default tr.odd td.tertiary {
    }

    .tablesorter-default td.tertiary,
    .tablesorter-default tr.even td.tertiary {
    }

    /* caption */
    .tablesorter-default > caption {
    }

    /* filter widget */
    .tablesorter-default .tablesorter-filter-row {
    }

        .tablesorter-default .tablesorter-filter-row td {
        }
        /* optional disabled input styling */
        .tablesorter-default .tablesorter-filter-row .disabled {
            cursor: not-allowed;
        }
        /* hidden filter row */
        .tablesorter-default .tablesorter-filter-row.hideme td {
            cursor: pointer;
        }

        .tablesorter-default .tablesorter-filter-row.hideme * {
        }
    /* filters */
    .tablesorter-default input.tablesorter-filter,
    .tablesorter-default select.tablesorter-filter {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: height 0.1s ease;
        -moz-transition: height 0.1s ease;
        -o-transition: height 0.1s ease;
        transition: height 0.1s ease;
    }

.SortableTable > tbody > tr {
    background-color: #f9f9f9 !important;
}

    .SortableTable > tbody > tr:nth-of-type(odd) {
        background-color: unset !important;
    }

.TestSiteOverlay {
    left: 0;
    line-height: 200px;
    margin-top: -100px;
    position: fixed;
    text-align: center;
    top: 50%;
    width: 100%;
}


/* Christmas Is Coming */

.christmasStyleTopNav {
    background: #BB2528 !important;
    
}

.christmasStyleLeftNav {
    background: #165B33 !important;
}

.winter-is-coming, .snow {
    z-index: 9999999999;
    pointer-events: none;
}

.winter-is-coming {
    overflow: hidden;
    position: fixed;
    top: 0;
    height: 100% !important;
    width: 100% !important;
    max-width: 100%;
    background: rgba(10,10,10,0.03) !important;
}

.snow {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    animation: falling linear infinite both;
    transform: translate3D(0, -100%, 0);
}

.snow--near {
    animation-duration: 10s;
    background-size: contain;
}

    .snow--near + .snow--alt {
        animation-delay: 5s;
    }

.snow--mid {
    animation-duration: 20s;
    background-size: contain;
}

    .snow--mid + .snow--alt {
        animation-delay: 10s;
    }

.snow--far {
    animation-duration: 30s;
    background-size: contain;
}

    .snow--far + .snow--alt {
        animation-delay: 15s;
    }

@keyframes falling {
    0% {
        transform: translate3D(-7.5%, -100%, 0);
    }

    100% {
        transform: translate3D(7.5%, 100%, 0);
    }
}
.light {
    display: flex;
    position: absolute;
    top: 10px;
    z-index: -5;
    justify-content: center;
    width: 100%;
}

.line {
    text-align: center;
}

.bulb {
    position: relative;
    margin: 0 15px;
    list-style: none;
    padding: 0;
    display: inline-block;
    width: 12px;
    height: 28px;
    border-radius: 50%;
    top: 35px;
    background: #fff;
}

    .bulb:before {
        content: "";
        position: absolute;
        background: #222;
        width: 10px;
        height: 9px;
        border-radius: 3px;
        top: -4px;
        left: 1px;
    }

    .bulb:after {
        content: "";
        top: -14px;
        left: 9px;
        position: absolute;
        width: 52px;
        height: 19px;
        border-bottom: solid #222 2px;
        border-radius: 30%;
    }

.red {
    background-color: #fb4545;
    animation: lightningRed 1s infinite;
}

.green {
    background-color: #24d024;
    animation: lightningGreen 0.8s infinite;
}

.yellow {
    background-color: #fff952;
    animation: lightningYellow 0.9s infinite;
}

.blue {
    background-color: #0a53de;
    animation: lightningBlue 1.1s infinite;
}

.pink {
    background-color: #f53896;
    animation: lightningPink 1.2s infinite;
}

@keyframes lightningRed {
    0% {
        box-shadow: 5px 10px 35px 10px #fb4545;
    }

    50% {
        box-shadow: none;
    }

    100% {
        box-shadow: 5px 10px 35px 10px #fb4545;
    }
}

@keyframes lightningGreen {
    0% {
        box-shadow: 5px 0 35px 10px #24d024;
    }

    50% {
        box-shadow: none;
    }

    100% {
        box-shadow: 5px 0 35px 10px #24d024;
    }
}

@keyframes lightningYellow {
    0% {
        box-shadow: 5px 0 35px 10px #fff952;
    }

    50% {
        box-shadow: none;
    }

    100% {
        box-shadow: 5px 0 35px 10px #fff952;
    }
}

@keyframes lightningBlue {
    0% {
        box-shadow: 5px 0 35px 10px #0a53de;
    }

    50% {
        box-shadow: none;
    }

    100% {
        box-shadow: 5px 0 35px 10px #0a53de;
    }
}

@keyframes lightningPink {
    0% {
        box-shadow: 5px 0 35px 10px #f53896;
    }

    50% {
        box-shadow: none;
    }

    100% {
        box-shadow: 5px 0 35px 10px #f53896;
    }
}

@media (max-width: 1024px) {
    .line {
        padding: 0;
    }

    .bulb {
        margin: 0 15px 20px 15px;
    }
}

@media (max-width: 1130px) {
    .light{
        display:none;
    }
}

.NotesTB {
    max-width: 100% !important;
    height: calc(1em * 1.6 * 5) !important;
}

/* max-width:280px on the generic input/select/textarea rule (top of Site.css) is meant for short
   fields - a textarea that should actually use the full width of its column needs this instead. */
.FullWidthTextArea {
    max-width: 100% !important;
}



.history-container {
}

.history-group-container {
    margin: 1.5em;
    padding: 1em;
    border: 1px solid #ededed;
    background-color: #fafafa;
}

@media (max-width: 800px) {
    .history-group-container {
        margin-left: 0em !important;
        margin-right: 0em !important;
        padding: 1em;
        border: 1px solid #ededed;
        background-color: #fafafa;
    }
}

.history-group-header {
}

.history-group-picture {
    vertical-align: middle;
}

.history-group-name {
    padding: 1em;
    font-weight: normal;
    font-size: 120%;
}

.history-entry-container {
    padding: 0.5em;
    margin: 1.5em;
    border: 1px solid #eaeaea;
    background-color: #fff;
    overflow: hidden;
}

.history-entry-date {
    margin-left: 0.5em;
    margin-bottom: 0.5em;
    float: right;
}

.history-entry-description {
    padding: 1px;
    margin: 1px;
    word-wrap: break-word;
}

.history-group-prospectname {
    float: right;
    padding: 1em;
    font-weight: normal;
    font-size: 120%;
}
.document-preview {
    margin: 10px 0;
    width: 100%;
}
    .document-preview a {
        display: inline-block;
    }

    .document-preview img {
        max-width: 100%;
        max-height: 500px; /* Add max-height to prevent overflow */
        width: auto;
        height: auto;
        border: 1px solid #ddd;
        border-radius: 4px;
        padding: 5px;
        display: block;
        object-fit: contain; /* Ensure image maintains aspect ratio */
    }

        .document-preview img:hover {
            box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
        }

        .document-preview img::before {
            content: "Access denied, image preview unavailable.";
            margin: 1em;
            color: #842029;
        }

.form-check-input label {
    display: inline !important;
}
.tooltip-icon {
    cursor: pointer; /* Change the cursor to a pointer (hand icon) */
    user-select: none; /* Prevent text selection */
}

.navbar-collapse > .nav > li > a {
    padding-left: 4px;
    padding-right: 4px;
}

.navbar-collapse {
    max-height: none !important;
}

.SuccessPanel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-top: 5em;
    padding-left: 1em;
    padding-right: 1em;
    background: #d4edda; /* Light green background */
    color: #155724; /* Dark green text */
    text-align: center;
    position: fixed;
    top: 50px; /* Height of the navbar */
    left: 0;
    z-index: 2147483646 !important;
    -webkit-box-shadow: 0 0 5px black;
    -moz-box-shadow: 0 0 5px black;
    -webkit-transform: translateY(-50px);
    box-shadow: 0 0 2px black;
    -webkit-animation: SuccessPanelFadeOut 5s forwards;
    animation: SuccessPanelFadeOut 5s forwards;
}

.ErrorPanel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-top: 5em;
    padding-left: 1em;
    padding-right: 1em;
    background: #f8d7da; /* Light red background */
    color: #842029; /* Darker red text */
    text-align: center;
    position: fixed;
    top: 50px; /* Height of the navbar */
    left: 0;
    z-index: 2147483646 !important;
    -webkit-box-shadow: 0 0 5px black;
    -moz-box-shadow: 0 0 5px black;
    -webkit-transform: translateY(-50px);
    box-shadow: 0 0 2px black;
}

@keyframes SuccessPanelFadeOut {
    0% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        display: none;
    }
}

@-webkit-keyframes SuccessPanelFadeOut {
    0% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        display: none;
    }
}

.modal-dialog {
    padding-top: 50px;
}

.UnsavedChangesGhost {
    position: fixed;
    bottom: 0;
    background: #fafafa;
    border: 1px solid #ddd;
    /* Above general page content but below Bootstrap modal/backdrop (z-index ~1040/1050)
       so the ghost bar does not overlay modal dialogs or intercept their clicks. */
    z-index: 1030 !important;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
}

/* Approval Diff View */
.diff-container {
    min-width: 300px;
}

.diff-box {
    margin-bottom: 8px;
    border: 1px solid #d1d5da;
    border-radius: 4px;
    background-color: #fff;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.diff-header {
    background-color: #f6f8fa;
    padding: 3px 10px;
    border-bottom: 1px solid #d1d5da;
    font-size: 10px;
    font-weight: bold;
    color: #586069;
    letter-spacing: 0.5px;
}

.diff-line {
    padding: 4px 10px;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 11px;
    line-break: anywhere;
    white-space: pre-wrap;
}

.diff-line-old {
    background-color: #ffeef0;
    color: #b31d28;
    border-bottom: 1px solid #ffdce0;
}

.diff-line-new {
    background-color: #e6ffed;
    color: #22863a;
}

.diff-line-delete {
    background-color: #ffeef0;
    color: #b31d28;
    font-weight: bold;
    text-align: center;
    padding: 10px;
}

.loadingoverlay {
    z-index: 2147483640 !important;
}

.loadingoverlay .loadingoverlay_element {
    position: sticky !important;
    top: calc(50vh - 60px);
    bottom: calc(50vh - 60px);
    align-self: center;
}

.modal-backdrop {
    z-index: 2147483646 !important;
}

.modal {
    z-index: 2147483648 !important;
}

.loadingoverlay-modal {
    background: rgba(255, 255, 255, 0.8) !important;
    z-index: 2147483651 !important;
    justify-content: center !important;
    align-items: center !important;
}

.loadingoverlay-modal .loadingoverlay_element {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    align-self: center !important;
}

.SubmitRow {
    padding: 10px 2em !important;
    margin-top: 1em;
    overflow: hidden !important;
}

.SubmitRow .StepSubmitButton {
    float: right !important;
}

.UnsavedChangesText {
    color: #555 !important;
    line-height: 34px !important;
}
