﻿/*eBusStop styles - Main.css*/

/* simple reset rule all elements */
* {
    margin: 0;
    padding: 0;
    font-family: "Microsoft PhagsPa", "Verdana", "Arial", "Helvetica", "sans-serif";
    font-size: 13px;
}

/* Fix: Hide Leaflet draw control buttons for shapes other than polygons */
.leaflet-draw-draw-circle, .leaflet-draw-draw-rectangle, .leaflet-draw-draw-polyline, .leaflet-draw-draw-marker, .leaflet-draw-draw-circlemarker {
    display: none !important;
}

/*----------------------------------------------------------------------*/
/* Master page */

html, body, form {
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
    overflow-x: hidden; /* Prevent horizontal scroll on the entire page */
}

body, form {
    display: flex;
    flex-direction: column;
}

div.wrapper {
    width: 100%;
    margin: 10px auto;
    display: block;
}

header {
    width: 100%;
    border-bottom: solid #CC6600 1px;
    margin: 10px auto;
    margin-bottom: 0px;
}

main {
    flex: auto;
    flex: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

footer { /*leave all three height min & max to stop footer moving up and down*/
    height: 30px;
    min-height: 30px;
    max-height: 30px;
    padding-top: 6px;
    border-top: solid #CC6600 1px;
    margin-bottom: 26px;
}

/* Master page header div's */

div#left-container {
    float: left;
    width: 160px;
    min-height: 30px;
    padding-left: 10px;
    box-sizing: border-box;
}

div#middle-container {
    float: left;
    width: 240px;
    min-height: 30px;
    white-space: nowrap;
    box-sizing: border-box;
}

div#right-container {
    float: right;
    width: calc(100% - 400px);
    min-height: 30px;
    white-space: nowrap;
}

div#fullwidth-container {
    width: 100%;
    min-height: 30px;
    padding-left: 10px;
    float: left;
}

/*----------------------------------------------------------------------*/
/* table excel type table (e.g. stop attributes view) */

tr.data-hidden,
th.data-hidden,
td.data-hidden {
    display: none;
}

th.pad-cell,
td.pad-cell,
td.pad-cell-nowrap {
    padding: 3px 6px 3px 6px;
    text-align: left;
    vertical-align: top;
    border-right: solid white 1px;
}

th.pad-cell {
    text-align: center;
}

td.pad-cell-nowrap {
    white-space: nowrap;
}

th.pad-cell-sort,
th.pad-cell-no-sort {
    padding: 3px 6px 3px 6px;
    text-align: left;
    vertical-align: top;
    border-right: solid white 1px;
}

/*----------------------------------------------------------------------*/
/* table selected elements (e.g. utilTbl) */

thead.selectedItems, tbody.selectedItems {
    width: 100%;
}

tbody.selectedItems {
    /*max-height: 200px;*/
    /*overflow-y: auto;*/
    /*display: block;*/ /* Use block display to enable scrolling */
    width: 100%;  /* Ensure the tbody takes up 100% width */
}

th.selectedItems, td.selectedItems {
    border: 1px solid #ddd;
    /*padding-left: 4px;*/
    padding: 2px 4px 2px 4px;
    text-align: left;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 100%;
}

th.selectedItems {
    background-color: #f0ffff;
    font-weight: normal;
}

td.selectedItems {
    border-bottom: 1px solid #ddd;
}

/* Input elements */

input.txtShort,
input.txtShortStretch,
input.txtMediumShort,
input.txtMedium,
input.txtMediumStretch,
input.txtWide,
input.txtFull {
    height: 20px;
    padding: 0px 4px 2px 4px;
    border-radius: 5px;
    border: solid #CC6600 1px;
}

    input.txtShort:disabled,
    input.txtShortStretch:disabled,
    input.txtMediumShort:disabled,
    input.txtMedium:disabled,
    input.txtMediumStretch:disabled,
    input.txtWide:disabled,
    input.txtFull:disabled {
        height: 20px;
        padding: 0px 4px 2px 4px;
        border-radius: 5px;
        border: solid #C0C0C0 1px;
    }

select.txtFull,
select.txtShortStretch,
select.txtMediumShort,
select.txtMedium,
select.txtMediumStretch,
select.txtSelect {
    height: 24px;
    /*padding: 0px 0px 4px 0px;*/
    border-radius: 5px;
    border: solid #CC6600 1px;
}

    select.txtFull:disabled,
    select.txtShortStretch:disabled,
    select.txtMediumShort:disabled,
    select.txtMedium:disabled,
    select.txtMediumStretch:disabled,
    select.txtSelect:disabled {
        height: 24px;
        /*padding: 0px 0px 4px 0px;*/
        border-radius: 5px;
        border: solid #C0C0C0 1px;
    }

input.txtShort {
    width: 80px;
}

input.txtShortStretch {
    width: 110px;
}

input.txtMediumShort,
select.txtMediumShort {
    width: 150px;
}

input.txtMedium,
select.txtMedium {
    width: 200px;
}

input.txtMediumStretch,
select.txtMediumStretch {
    width: 290px; /*280px*/
}

input.txtWide {
    width: 500px;
}

input.txtFull {
    width: 96%;
}

input.txtDatePicker {
    width: 100px;
    text-align: center;
    padding-bottom: 2px;
    border-radius: 5px;
    border: solid #CC6600 1px;
    height: 20px;
}

.txt-area {
    border-radius: 5px;
    border: solid #CC6600 1px;
    resize: none;
    margin: 2px 0px 1px 0px;
    box-sizing: border-box;
    padding-left: 4px;
    padding-right: 4px;
}

    .txt-area {
        width: 98%;
        height: 80px;
    }

tr.vspace {
    height: 20px;
}

tr.vspace-half {
    height: 10px;
}

tr.vspace-small {
    height: 3px;
}

tr.vspace-double {
    height: 30px;
}

/*--color theme--*/

.dec01 {
    color: #CC6600;
}

.dec02 {
    color: #CC6600;
    border-bottom: solid #CC6600 1px;
}

.readonly {
    color: gray;
}

/*----------------------------------------------------------------------*/
/* Default page */

div.bodywrap {
    border-top: thin;
    height: 100%;
}

/*---*/

div#bottom-ab /* id="bIP0" */ {
    height: 100%;
    overflow: hidden;
}

/*---*/

div#left-aba /* id="bIP1" */ {
    width: 390px;
    float: left;
    height: 100%;
}

div#right-abb /* id="bIP2 */ {
    margin-left: 390px;
    width: calc(100% - 390px);
    height: 100%;
    border-left: solid aqua 1px;
}

/*---*/

div#top-abaa        /* class="bIPt" */
{
    background-color: #CCFFFF;
    height: 26px;       
    padding-left: 4px;
}

div#middle-abab     /* id="streetviewpanoramadiv" */
{
    background-color: #FAFAFA;
    height: 300px;
    margin-right: 4px;
}

div.bottom-abac-out /* class="bIPbl" id="divINV" */ {
    /*height: calc(100% - 26px);*/
    height: calc(100% - 326px);
    overflow-y: scroll;
    overflow-x: hidden;
}

div#bottom-abac /* class="bIPbl" id="divINV" */ {
    margin-right: 4px;
    margin-top: 3px;
}

/*---*/

div#right-abb-inner-wrapper /* id="bIP2 */ {
 	width: 100%; 
	height: 100%; 
	display: flex; 
	flex-direction: column;
}

div.top-abba /* class="bIPt" */ {
    position: relative; /* Create stacking context */
    width: 100%;
    height: 26px;
    background-color: #CCFFFF;
    white-space: nowrap; /* Prevent wrapping */
   /* overflow: hidden;*/ /* Hide overflowing content NO breaks dropdown menu */
}

div.middle-abbb /* id="map_canvas" class="bIPbr" */ {
    width: 100%;
	flex: auto;
    background-color: #CCFFCC;
}

div.bottom-abbc /* id="util" */ {
    width: 100%;
	height: 240px;
	border-top: solid #CC6600 1px;
	display: none;
}

/*---*/

img.toolbtn,
i.toolbtn
{
	padding-left: 12px; 
	margin-top: 4px; 
	cursor: pointer;
}

/*-- Toolbar dropdown --*/

/* Custom Dropdown Container */
.custom-dropdown {
    position: relative;
    display: inline-block;
    width: 200px;
    padding-top: 1px;
    z-index: 1100;
}

.textarea-user-text {
    color: cornflowerblue;
}

.textarea-interpreted-text {
    color: blue;
}

.textarea-warning-text {
    color: red;
}

/* Container to manage both textarea and highlight layer */
.container {
    position: relative;
    width: 100%;
    /*min-height: 24px;*/ /* Ensure proper height for overlay */
}

/* Background div for highlighting */
.highlighted-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*font-size: 14px !important;*/
    padding: 0px 4px; /*Reduce padding*/
    border: 1px solid #CC6600;
    border-radius: 5px;
    overflow-y: hidden;
    color: transparent; /*Text is transparent so only background shows */
    background-color: #CCFFFF; /* Matches your .textarea-expand */
    white-space: pre-wrap;
    pointer-events: none; /*Prevent interaction with the hidden div */
    box-sizing: border-box;
    z-index: 1101; /* Lower z-index to stay in the background */
    text-align: left;
}

/* Textarea styling with transparent background */
.textarea-expand {
    position: relative; /* Required for proper z-index stacking */
    width: 100%;
    height: 24px !important; /*Ensure it fits in container */
    max-height: 150px;
    overflow-y: hidden;
    resize: none;
    color: cornflowerblue !important;
    background-color: transparent; /* So the hidden div shows through */
    outline: none; /* Removes default browser outline styling */
    border: 1px solid #CC6600; /* Ensures consistent border */
    border-radius: 5px;
    cursor: pointer;
    display: block;
    /*font-size: 14px !important;*/
    padding: 0px 4px; /*Reduce padding*/
    transition: all 0.3s ease-in-out;
    /*line-height: normal;*/ /*Prevent extra spacing */
    box-sizing: border-box; /*Include padding & border in height */
    z-index: 1102; /* Higher z-index to ensure it stays above the highlighted text */
    caret-color: black; /* Ensures the cursor is black and visible */
    text-align: left;
}

     Expand on hover 
    .textarea-expand:hover,
    .textarea-expand:focus {
        min-height: 80px;  /*Expand on hover */
        max-height: 300px;  /*Allow space for input */
    }

    .textarea-expand::placeholder {
        color: grey; /* Distinguish placeholder from normal text */
        opacity: 0.8; /* Slight transparency to indicate it’s a placeholder */
    }

/* Suggestion box and dropdown styling */
#suggestions {
    position: absolute;
    background: white;
    border: 1px solid gray;
    width: 200px;
    display: none;  Initially hidden 
    z-index: 1103;
}

    #suggestions div {
        padding: 5px;
        cursor: pointer;
    }

        #suggestions div:hover {
            background: lightgray;
        }

.dropdown-btn {
    width: 100%;
    text-align: left;
    color: cornflowerblue;
    background-color: #CCFFFF;
    border: 1px solid #CC6600;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 14px;
}

/* Dropdown List */
.dropdown-list {
    position: absolute;
    background-color: white;
    min-width: 100%;
    border: 1px solid #ccc;
    display: none;
    z-index: 1;
    max-height: 200px;
    overflow-y: auto;
}

    .dropdown-list .dropdown-item {
        padding: 4px 10px;
        cursor: pointer;
        display: flex;
        align-items: center;
    }

        .dropdown-list .dropdown-item:hover {
            background-color: #ddd;
        }

        .dropdown-list .dropdown-item img {
            margin-right: 10px;
            width: 18px;
        }

/* Show Dropdown */
.custom-dropdown.open .dropdown-list {
    display: block;
}

.fa {
    margin-right: 10px;
}







/*-------*/

select.HightlightSelectDropdown {
    /*font-family: "Font Awesome 4.7 Free", Arial, sans-serif;*/
    /*font-weight: normal;*/ /* Use normal for FA 4.7 icons */
    /**/
    border: 1px solid #CC6600;
    border-radius: 5px;
    font-size: 12px;
    background-color: #CCFFFF;
    color: #333;
    cursor: pointer;
    outline: none;
}

    select.HightlightSelectDropdown:focus {
        border: 1px solid #CC6600 !important; /* Keeps border unchanged */
        outline: none !important;
    }

/* Inv toolbar */
div#abaaa {
    width: 100%;
}

/* Map toolbar */
div.left-abbaa  
{
    height: 100%;
    margin-right: 160px;
    padding-left: 6px;
	/*padding-top: 1px;*/
}

div.right-abbab
{
    height: 100%;
	width: 160px;
    float: right;
	padding-top: 1px;
}

/* Util toolbar */
div.left-abcaa 
{
    height: 100%;
    /* margin-left: 30px; */
    margin-right: 160px;
    padding-left: 6px;
	padding-top: 2px;
}

div.right-abcab
{
    height: 100%;
	width: 40px;
    float: right;
	padding-top: 1px;
}

/* Div abba content
----------------------------*/

#lblLatLon
{
    color: #990000;
    padding-top: 3px;
}

/* Street View Section
----------------------------*/

#streetviewpanoramadiv 
{
    /*small*/
    width: 100%;
    height: 300px;
    background-image: url("../images/smallpegman.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #FAFAFA;		
}

#streetviewpanoramadiv2 {
    /*full screen*/
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    background-color: #FAFAFA;
    z-index: 1000;
    display: none;
    visibility: hidden;
}

.streetviewbtndiv {
    /*both*/
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url("../images/Tango-view-fullscreen.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #FAFAFA;
    cursor: pointer;
    z-index: 10;
}

/* Inventory Section General
----------------------------*/

.invtbl
{
    table-layout: fixed; 
    width: 98%;
    margin-left: 6px;
}

.row-spacer
{
    height: 2px;
}

.name-cell
{
    vertical-align: middle;
    text-wrap: normal;
    padding-right: 10px;
}

.value-cell
{
    vertical-align: middle;
    text-wrap: none;
    color: grey;
}

.coments-txtbox-ro,
.coments-txtbox-rw
{
    width: 96%;
    height: 100px;
    border-style: solid;
    text-wrap: normal;
    font-size: 9pt;
    resize: none;
}
    .coments-txtbox-ro
    {
        color: grey;
    }

/*TextBox's*/
.tb-wide,
.tb-medium,
.tb-narrow        
{
    border-style: solid;
    border-width: 1px;
    border-color: darkgrey;
    text-wrap: none;
}
    .tb-wide 
    {
        width: 90%;
    }
    .tb-medium 
    {
        width: 70%;
    }
    .tb-narrow
    {
        width: 40%;
    }

/*DropDown's*/
.dd-wide,
.dd-medium,
.dd-narrow
{
    border-width: 1px;
    border-color: darkgrey;
}
    .dd-wide             
    {
        width: 80%;
    }

    .dd-medium
    {
        width: 40%;
    }

    .dd-narrow
    {
        width: 24%;
}

.img-align-middle
{
    vertical-align: middle;
}

.blank-row
{
    height: 15px;
}

.hide
{
    display: none;
}

.align-right
{
    text-align: right;
}

.align-left {
    text-align: left;
}

.flat-control,
.flat-control-gray 
{
    /*flat controls*/
    margin: 0px; 
    padding: 2px; 
    height: 14px;
}
    .flat-control
    {
        border: 1px solid  #00ffff;
    }
    .flat-control-gray
    {
        border: 1px solid gray;
        color: gray;
        background-color: #DADADA;
    }

/* Inventory Section Frames
----------------------------*/

.fupload {
    border: 0;
    font: 9pt;
    background-color: #EDFBFA;
    /*width: 100%;*/
    width: 370px;
}

.div202,
.div302,
.div202-hidden,
.div302-hidden
{
    text-align: right;
    padding-right: 16px;
}
    .div202-hidden,
    .div302-hidden
    {
        visibility: hidden;
    }

.tbl-row-spacer
{
    height: 6px;
    background-color: white;
}

/* Cover
----------------------------*/

#cover
{
  display: none;
  left: 1px;
  top: 1px;
  right: 1px;
  bottom: 1px;  
  position: fixed;
  z-index: 2000; /*50;*/
  background: gray;
  opacity: 0.5;
  /*-moz-opacity: 0.5;
  -khtml-opacity: 0.5;*/
  filter:alpha(opacity=50); /* For IE8 and earlier */
}

#cover2
{
    display: none;
    left: 1px;
    top: 41px;
    right: 1px;
    bottom: 60px;
    position: fixed;
    z-index: 2000; /*50;*/
    background: lightgray;
    opacity: 0.5;
    /*-moz-opacity: 0.5;
  -khtml-opacity: 0.5;*/
    filter: alpha(opacity=50); /* For IE8 and earlier */
}

/* Next Departure Template
----------------------------*/

#nextdepart-dialog 
{
    display: none;
    left: 250px;
    top: 100px;
    height: 382px;
    width: 340px;
    position: fixed;
    z-index: 2100;	/*100;*/
    background: #fffafa;
    font: 10pt tahoma;
    border: 1px solid gray;
    padding: 10px;
}

.nextdepart-hdr
{
    text-align: center;
    font-size: 80%;
    background-color: lightgoldenrodyellow;
}

.nextdepart-container
{
    height: 320px;
}

.nextdepart-noresult
{
    text-align: center;
    font-size: 95%;
    margin-left: 50px;
    padding-top: 40px;
}

#nextdepart-result
{
    overflow-y:scroll;
    overflow-x:hidden;
    height: 310px;
    width: 100%;
}

.txtL 
{
    text-align: left;
}

.txtC
{
    text-align: center;
}

.txtR,
.btclose 
{
    text-align: right;
}
    .btclose
    {
        margin-top: 3px;
    }

.tb-nextdepart
{
    padding-top: 4px;
    padding-bottom: 2px;
    width: 100%;
}

.ddLookahead
{
    margin-bottom: 4px;
}

.imgRefresh{
    vertical-align: middle;
    padding-right: 10px;
    margin-bottom: 4px;
}

/*----------------------------------------------------------------------*/
/* td normal text left, i tag right */

.td-content {
    display: flex;
    justify-content: space-between;
}

.td-text-left {
    flex: 1;
    text-align: left;
    padding-top: 4px;
}

.td-text-right {
    flex: 0;
    text-align: right;
    padding-top: 4px;
}

/* MapAssist block with trash can*/

.mapassist-container {
    display: flex;
    width: 100%; /* Fill the entire td */
    padding-top: 2px;
}

.mapassist-first-div {
    display: flex;
    width: 100%;  /*Adjust width as needed */
    height: 100%;
    padding-top: 2px;
}

.mapassist-second-div,
.mapassist-second-div-HnR {
    display: flex;
    flex-grow: 1; /* Allow the div to expand */
    /*padding-top: 4px;*/
}

    .mapassist-second-div i {
        margin-right: 6px; /* Adjust spacing between <i> elements */
        padding-top: 3px;
        color: cornflowerblue;
        font-size: 13px;
    }

/*.i-map-assist {
    padding-right:6px;
    padding-top:3px;
    color:cornflowerblue;
    font-size:13px;
}*/

/*----------------------------------------------------------------------*/
/* Normal text different sizes */
div.texty-section /*footer page bounds in master page content section*/ {
    width: 60%;
    min-width: 200px;
    padding-left: 20px;
    padding-top: 50px;
    padding-bottom: 40px;
}

.sttxt-nml,
.sttxt-sml,
.sttxt-med,
.sttxt-lrg {
    /*style text*/
    /*font-family:		       "Verdana", "Arial", "Helvetica", "sans-serif";*/
    font-size: 100%;
    color: #990000;
}

.sttxt-sml {
    font-size: 80%;
    font-weight: 300;
}

.sttxt-med {
    font-size: 120%;
    font-weight: 500;
}

.sttxt-lrg {
    font-size: 150%;
    font-weight: 700;
}

/*.sttxt-sml
{
    font-size: small;
    font-weight: lighter;
    margin: 0px 0px 8px 0px;  
}

.sttxt-nml
{
    margin: 0px 0px 12px 0px; 
}
.sttxt-med
{
    font-size: medium;
    font-weight: normal;
    margin: 0px 0px 16px 0px; 
}

.sttxt-lrg
{
    font-size: large;
    font-weight: bold;
    margin: 0px 0px 20px 0px; 
}*/

/* Hyper text different sizes */

.htxtsml,
.htxt,
.htxtstatic,
.htxtlrg,
.htxterr {
    /*Hyper text*/
    line-height: 25px;
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}

.htxtstatic {
    cursor: default;
}

.htxtsml {
    /*Hyper text*/
    font-size: 70%;
} 

.htxt {
    /*Hyper text*/
    font-size: 90%;
} 

.htxtlrg {
    /*Hyper text*/
    /*font-size: 80%;*/
} 

.htxterr {
    /*Hyper text*/
    font-size: 90%;
    color: red;
}

/*----------------------------------------------------------------------*/
/* General */

.center {
    text-align: center;
}

.menu-btn {
    padding-left: 3px;
    padding-right: 6px;
}

/*----------------------------------------------------------------------*/
/* Admin nested body section */

.sidebar,
.column1 {
    padding-bottom: 99999px;
    margin-bottom: -99999px;
}

.sidebar {
    background-color: #f0ffff;
    width: 160px;
    float: left;
    overflow: hidden;
    height: 100%;
    border-right: solid aqua 1px;
}

.column1 {
    margin-left: 162px;
    height: 100%;
    overflow: hidden;
}

/*----------------------------------------------------------------------*/
/* Popup View/Edit dialog table pages */

.plain-dialog {
    visibility: hidden;
    background-color: white;
    padding: 1px;
    border: solid #CC6600 1px;
    /*border-radius: 6px;*/
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* shadow effect */
    width: 352px; /*300px;*/
    height: 200px; /*180px;*/
    top: 40px;
    left: 40px;
    z-index: 9999;
    /*background-color: #F0F0F0;*/
    cursor: default;
}

.plain-dialog-header,
.plain-dialog-footer {
    width: calc(100% - 8px);
    height: 20px;
    background-color: #CCFFFF;
    /*padding: 1px;*/
    padding: 1px 4px 1px 4px;
}

.plain-dialog-header {
    background-color: #CCFFFF;
}

.plain-dialog-header-text {
    float: left;
}

.plain-dialog-body {
    width: 100%;
    height: calc(100% - 46px);
    padding: 1px;
}

/* Styling for the main container */
.plain-dialog-body-container {
    margin-top: 12px;
    margin-left: 6px;
    width: 340px; /* Fixed width */
    height: 164px; /* Fixed height */
    /*background-color: #F0F0F0;*/
}

/* Styling for the group box */
.plain-dialog-body-group-box {
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 10px;
    position: relative; /* Required for absolute positioning */
}

    /* Styling for the group box label */
    .plain-dialog-body-group-box > label {
        font-size: 12px;
        display: inline-block;
        background-color: #fff;
        padding: 0 10px;
        position: absolute;
        top: -10px;
        left: 10px;
        /*background-color: #F0F0F0;*/
    }

    /* Styling for form elements */
    .plain-dialog-body-group-box > select {
        padding: 1px 5px;
        margin: 10px 6px; /* Adjust margin to create space above and below the elements */
        box-sizing: border-box; /* Include padding and border in width */
    }

    /* Additional styling for checkboxes */
    .plain-dialog-body-group-box > input[type="checkbox"] {
        margin-left: 6px;
        margin-right: 2px;
    }

/* Styling for container holding the first two group boxes */
.plain-dialog-body-group-container {
    display: flex;
    width: 100%;
}

.plain-dialog-body-textbox {
    padding: 1px 5px;
    margin: 10px 6px; /* Adjust margin to create space above and below the elements */
    box-sizing: border-box; /* Include padding and border in width */
    background-color: #f7f7f7; /* Change background color */
    border: 1px solid #ccc;
    cursor: default;
}

.check-button,
.cross-button {
    border: 1px solid #ccc; /* Border style */
    padding: 1px 8px; /* Padding for space around the symbol */
    background-color: #f9f9f9; /* Background color */
    font-size: 12px; /* Font size */
    cursor: pointer; /* Change cursor on hover */
    float: right;
    margin-right: 2px;
}

    .check-button:hover,
    .cross-button:hover {
        background-color: #e0e0e0; /* Background color on hover */
    }

/*------------*/

.edit-dialog {
    font-size: 11px;
    width: 100%;
}

.edit-dialog-medium {
    font-size: 11px;
    width: 60%;
}

.edit-dialog-short,
.edit-dialog-short-highlight {
    font-size: 11px;
    width: 25%;
}

.edit-dialog-short-highlight {
    background-color: #d1eeee;
}

.txtL {
    text-align: left;
}

.txtC {
    text-align: center;
}

.txtR {
    text-align: right;
}

.editdlg-trbd {
    height: 22px;
    border: 1px solid white;
}

.editdlg-tbl {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
}

.editdlg-tdbd {
    height: 22px;
    background-color: #eeeeee;
    border: 2px solid white;
    padding-left: 4px;
}

#edit-dialog-users,
#edit-dialog-works-item,
#edit-dialog-uplift-item,
#edit-dialog-budgets,
#edit-dialog-frameref-item {
    display: none;
    left: 250px;
    top: 100px;
    width: 540px;
    position: fixed;
    z-index: 2100;	/*100;*/
    background: white;
    font: 10pt tahoma;
    border: 1px solid gray;
    padding: 10px;
}

#edit-dialog-users {
    height: 462px;
}

#edit-dialog-works-item {
    height: 152px;
}

#edit-dialog-uplift-item,
#edit-dialog-frameref-item {
    height: 100px;
}

#edit-dialog-budgets {
    height: 308px;
}

/*----*/

#resources-view-dialog {
    visibility: hidden;
    position: fixed;
    left: 150px;
    top: 80px;
    height: 460px;
    width: 900px;
    min-height: 400px;
    min-width: 600px;
    padding: 10px;
    z-index: 2100;
    overflow: hidden;
    border: 1px solid gray;
    background-color: white;
}

.resize-handle {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    cursor: se-resize;
    background-image: url('../Images/drag.png'); /* Set the background image */
    background-size: cover; /* Adjusts the image to fully cover the handle area */
    background-repeat: no-repeat; /* Ensures the image doesn’t repeat */
}

#view-dialog-header {
    position: relative;
    width: 100%;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid gray;
    font-size: 16px;
}

#dialog-header {
    flex-grow: 1; /* Allows the title text to grow and be centered */
    text-align: center;
    font-size: 16px;
}

#header-controls {
    position: absolute;
    right: 10px; /* Right side of the header */
    display: flex;
    gap: 5px; /* Spacing between icons */
    align-items: center;
    cursor: pointer;
    color: lightgray;
    font-size: 16px;
}

#view-dialog-body {
    position: absolute;
    top: 42px;
    width: calc(100% - 20px);
    height: calc(100% - 84px);
    overflow: hidden;
}

#view-dialog-footer {
    position: absolute;
    width: calc(100% - 20px);
    height: 30px;
    bottom: 10px;
    border-top: 1px solid gray;
}

#view-dialog-data {
    height: 100%;
    overflow: hidden;
}

/*Slider*/

#left-slider {
    position: absolute;
    top: 0;
    left: 0; /* Start from the left edge */
    width: 500px;
    height: 100%;
    background: #f0f0f0;
    transition: transform 0.3s ease; /* Adjusted to transform transition */
    z-index: 2200; /* Ensure it is above the dialog */
    display: flex;
    flex-direction: column;
    transform: translateX(-500px); /* Start hidden to the left */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    overflow-x: hidden; /* Prevent horizontal scroll */
}

    #left-slider.open {
        transform: translateX(0); /* Slide in */
    }

.slider-header {
    height: 30px; /* Same height as view-dialog-header */
    display: flex;
    justify-content: right;
    /*padding: 0 10px;*/ /* Horizontal padding */
    box-sizing: border-box; /* Ensure padding is included in the width */
}

.slider-body {
    flex: 1;
    overflow-y: auto; /* Enable vertical scrollbar */
    padding: 10px; /* Padding inside the body */
    box-sizing: border-box; /* Include padding in the element's width */
}

.close-btn {
    cursor: pointer;
    padding: 0 0 4px 4px; /* Padding inside the button */
    box-sizing: border-box; /* Ensure padding is included in the width */
}

/* Additional button styles */
#open-slider {
    background-color: white;
    color: #007bff;
    border: none;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 4px;
}

/*------*/

.canvasLayer {
    /*border: 1px solid pink;*/ /* Set border color to match background color */
    /*border-radius: 18px;*/
    position: absolute;
    top: 0;
    left: 0;
    cursor: default;
}

.grab {
    cursor: grab;
}

.grabbing {
    cursor: grabbing;
}

.draw {
    cursor: url("../images/draw.png") 0 16, auto;
}

/*----*/

table.resources-view-dialog-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid gray;
}

    table.resources-view-dialog-table th,
    table.resources-view-dialog-table td {
        padding: 4px;
        border-width: 1px;
        border-style: solid;
        border-color: gray;
    }

    table.resources-view-dialog-table tr.even {
        background-color: #fde9d9;
    }

    table.resources-view-dialog-table th {
        background-color: #7CEAFC;
    }

/*----*/

#email-dialog,
#excel-paste-dialog {
    /*display: none;*/
    visibility: hidden;
    position: fixed !important;
    left: 150px !important;
    top: 80px !important;
    padding: 10px !important;
    z-index: 2100 !important;
    resize: both !important; /* Allow resizing */
    overflow: auto !important; /* Allow scrolling if content exceeds container size */
    border: 1px solid gray !important;
    background-color: white;
}

#email-dialog {
    height: 600px;
    width: 680px;
}

#excel-paste-dialog {
    height: 240px;
    width: 680px;
}

/*----------------------------------------------------------------------*/
/* Multi select container*/

.multi-select-container {
    display: inline-block;
    position: relative;
}

.multi-select-menu {
    position: absolute;
    left: 0;
    top: 0.8em;
    z-index: 1;
    float: left;
    min-width: 100%;
    background: #fff;
    margin: 1em 0;
    border: 1px solid #aaa;
    display: none;
}

.multi-select-menuitem {
    display: block;
    font-size: 12px;
    padding: 0.6em 1em 0.6em 30px;
    white-space: nowrap;
}

.multi-select-menuitem--titled:before {
    display: block;
    font-weight: bold;
    content: attr(data-group-title);
    margin: 0 0 0.25em -20px;
}

.multi-select-menuitem--titledsr:before {
    display: block;
    font-weight: bold;
    content: attr(data-group-title);
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.multi-select-menuitem + .multi-select-menuitem {
    padding-top: 0;
}

.multi-select-presets {
    border-bottom: 1px solid #ddd;
}

.multi-select-menuitem input {
    position: absolute;
    margin-top: 0.25em;
    margin-left: -20px;
}

.multi-select-button {
    display: inline-block;
    font-size: 12px;
    padding: 0.2em 0.6em;
    max-width: 100%;
    overflow: auto;
    text-overflow: ellipsis;
    vertical-align: -0.5em;
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
}

    .multi-select-button:after {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0.4em 0.4em 0 0.4em;
        border-color: #999 transparent transparent transparent;
        margin-left: 0.4em;
        vertical-align: 0.1em;
    }

.multi-select-container--open .multi-select-menu {
    display: block;
}

.multi-select-container--open .multi-select-button:after {
    border-width: 0 0.4em 0.4em 0.4em;
    border-color: transparent transparent #999 transparent;
}

.multi-select-container--positioned .multi-select-menu {
    /* Avoid border/padding on menu messing with JavaScript width calculation */
    box-sizing: border-box;
}

    .multi-select-container--positioned .multi-select-menu label {
        /* Allow labels to line wrap when menu is artificially narrowed */
        white-space: normal;
    }

/*----------------------------------------------------------------------*/
/* eMail containers */

.cont-outer {
    width: 100%;
    height: calc(100% - 56px);
    overflow: auto;
}

.cont-inner {
    /*display: flex;*/
    width: 100%;
    min-height: 30px;
    display: block;
}

.cont-left-top,
.cont-left-middle,
.cont-right-top,
.cont-right-middle {
    display: flex;
    min-height: 30px;
    float: left;
    padding-top: 14px;
}

.cont-left-top {
    width: 60px;
    justify-content: flex-end;
    padding-right: 10px;
}

.cont-left-middle {
    width: 60px;
    justify-content: flex-end;
    align-items: center;
    padding-right: 10px;
}

.cont-right-top {
    width: calc(100% - 60px);
    justify-content: left;
}

.cont-right-middle {
    width: calc(100% - 60px);
    justify-content: left;
    align-items: center;
}

/*----------------------------------------------------------------------*/
/* Dropdowns */

.dropbtn {
    background-color: #4CAF50;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

.dropmenu {
    position: relative;
    display: inline-block;
}

.dropmenu-content {
    display: none;
    position: absolute;
    right: 0;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1100;
    text-align: left;
}

.dropmenu-content a {
    color: black;
    padding: 6px 16px;
    text-decoration: none;
    display: block;
    cursor: pointer;
	font-size: 12px;
}

.dropmenu-content a:hover {
    background-color: #f1f1f1;
}

.dropmenu:hover .dropmenu-content {
    display: block;
}

.dropmenu:hover .dropbtn {
    background-color: #3e8e41;
}

.submenu-container {
    display: none;
    padding-left: 8px;
}

.fa-caret-down {
    float: right;
    padding-top: 4px;
}

.fa-caret-up {
    float: right;
    padding-top: 3px;
}

/*----------------------------------------------------------------------*/
/* td button */

.button {
    border-radius: 2px;
}

    .button a {
        padding: 8px 12px;
        border: 1px solid #ED2939;
        border-radius: 2px;
        font-family: Helvetica, Arial, sans-serif;
        font-size: 14px;
        color: #ffffff;
        text-decoration: none;
        font-weight: bold;
        display: inline-block;
    }

.AnyTimeBtn {
    margin-left: 52px;
    /*background-color: yellow;*/
    border: 1px solid #ED2939;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.tr-invhdr {
    border-bottom: 1pt solid #CC6600;
}

/*----------------------------------------------------------------------*/
/* comment popup select */
/* Popup container - can be anything you want */
.popup {
    position: relative;
    display: inline-block;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

    /* The actual popup */
    .popup .popuptext {
        visibility: hidden;
        width: 120px;
        background-color: #fff;
        color: blue;
        text-align: center;
        border-radius: 16px;
        padding: 8px 0;
        position: absolute;
        z-index: 1;
        bottom: 125%;
        left: 50%;
        margin-left: -68px;
        box-shadow: 0px 0px 30px 1px #0ff;
    }

        /* Popup arrow */
        .popup .popuptext::after {
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -5px;
            border-width: 5px;
            border-style: solid;
            border-color: #555 transparent transparent transparent;
        }

    /* Toggle this class - hide and show the popup */
    .popup .show {
        visibility: visible;
        -webkit-animation: fadeIn 1s;
        animation: fadeIn 1s;
    }

/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/*----------------------------------------------------------------------*/
/* Marker key table */

table.markerkey {
    width: 180px;
    border-collapse: collapse;
}

tr.markerkey {
    border-bottom: 1pt solid #CC6600;
}

td.markerkey {
    padding-left: 8px;
    padding-top: 2px;
    padding-bottom: 2px;
}

td.markerkey1 {
    padding-left: 4px;
    padding-top: 2px;
    padding-bottom: 2px;
}

td.markerkey2 {
    padding-left: 12px;
    padding-top: 2px;
    padding-bottom: 2px;
}

/*----------------------------------------------------------------------*/
/* StopUtilitiesLib.StopItinerary tabbed table */

#BusItineraryContainer,
#ServiceFrequencyContainer {
    display: flex;
    flex-direction: column; /* Stack tabs on top of content */
    height: 100%; /* Ensure it takes the full container height */
    /*---*/
    width: 100%;
    overflow: hidden;
    /*background-color: yellow;*/
}




/* Fixed Height for Tab Bar */
#tab-div {
    width: 100%;
    height: 25px; /* Set fixed height */
    border-bottom: solid #CC6600 1px;
    flex-shrink: 0; /* Prevent shrinking */
    margin-top: 2px;
    /*background-color: aqua;*/
}

/* Flexible Content Area */
#table-div {
    flex: 1; /* Takes remaining space */
    overflow-y: auto;
    /*---*/
    width: 100%;
    height: calc(100% - 25px);
    /*background-color: blue;*/
}




/* Tab Styling */
.tab-pane {
    display: none; /* Hide all initially */
    height: 100%;
    background-color: #fff;
}

/* Tab Row */
/*div.tab-div {
    width: 100%;
    height: 25px;
    border-bottom: solid #CC6600 1px;
    margin-top: 2px;
}*/

/*div.table-div {
    width: 100%;
    height: calc(100% - 25px);
}*/

/* Tab Bar Styling */
div.tabBarSubject {
    width: 100%;
    height: 24px;
}

table.tab-table {
    margin-left: 4px;
    height: 100%;
    border-spacing: 0px;
}

td.tab,
td.tab-selected {
    max-width: 100%;
    white-space: nowrap;
    padding: 0px 6px 0px 8px;
    border: solid #CC6600 1px;
    border-top-right-radius: 10px;
    background-color: #D6FEFF;
    text-align: center;
    cursor: pointer;
}

td.tab-selected {
    background-color: #7CEAFC;
    border-bottom-color: #7CEAFC;
}

    td.tab:hover,
    td.tab-selected:hover {
        font-weight: bold;
    }

/* Data Table Container */
.data-table-container {
    height: 100%;
    overflow-y: auto;
}

.data-table {
    border-collapse: collapse;
    table-layout: fixed;
}

    .data-table th,
    .data-table td {
        padding: 2px 6px 2px 6px;
        text-align: left;
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        border-top: none;
        white-space: nowrap;
    }

    .data-table th {
        position: sticky;
        top: 0;
        background-color: #f1f1f1;
        z-index: 2;
    }




/* Italic Gray Font for ArrT, DepT, TP cells when TD is T0 */
.italic-gray {
    font-style: italic;
    color: gray;
}


/*----------------------------------------------------------------------*/




/* Static Pegman icon */
#pegman-icon {
    position: absolute;
    width: 32px;
    height: 32px;
    /*background: url('../Images/smallpegman.png') no-repeat center;*/
    background: url('../Images/pegman.png') no-repeat center;
    background-size: contain;
    /*background-color: yellow;*/

    cursor: grab; /* Indicate draggable state */
    z-index: 1090; /* Ensure Pegman is on top 2000 */
    transition: transform 0.2s ease; /* Optional hover effect */
}

    #pegman-icon:hover {
        transform: scale(1.1); /* Slight zoom effect on hover */
    }

/* Pegman dragging cursor */
.pegman-cursor {
    /*cursor: url('../Images/smallpegman.png'), 16 32 auto;*/ /* Assuming a 32px tall cursor */
    cursor: url('../Images/smallpegman.png'), auto; /* Assuming a 32px tall cursor */
}

#street-view {
    display: none;
    width: 100%;
    height: 400px;
    z-index: 2010;
    position: relative; /* Ensure stacking context */
}

#close-street-view {
    position: absolute;
    top: 10px;
    right: 60px;
    background-color: #ff4d4d;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 5px 10px;
    cursor: pointer;
    z-index: 10001; /* Ensure it appears above the panorama */
}

    #close-street-view:hover {
        background-color: #ff3333;
    }

/* enable/disable elements with visual feedback */
.disabled {
    opacity: 0.5;
    pointer-events: none; /* Disable all interactions */
    cursor: not-allowed;
}

    .disabled img,
    .disabled i {
        filter: grayscale(100%);
    }

/* --- Publication tree --- */

.tree ul {
    list-style-type: none; /* Remove bullet points */
    padding-left: 20px; /* Indent child levels */
}

.tree li {
    margin: 2px 0; /* Add spacing between tree nodes */
    position: relative; /* Allow proper positioning for caret icons */
}

.tree .caret {
    cursor: pointer; /* Make caret clickable */
    user-select: none; /* Prevent text selection */
}

    .tree .caret i {
        margin-right: 5px; /* Space between icon and text */
        color: black; /* Set icon color */
    }

.tree .caret-down i {
    content: none; /* No manual content; Font Awesome manages icons */
    color: black;
}

.tree .nested {
    display: none; /* Hide child nodes initially */
}

.tree .active {
    display: block; /* Show child nodes when active */
}

.tree .selected {
    background-color: #cce5ff; /* Highlight selected node */
    border-radius: 5px;
}

/* Remove icons from leaf nodes (end elements) */
.tree li:not(:has(> .nested)) .caret i {
    display: none; /* Hide Font Awesome icons for leaf nodes */
}

/* Highlight selected leaf node */
.tree .selected {
    background-color: #cce5ff; /* Light blue background */
    color: #004085; /* Darker text for contrast */
    border-radius: 5px; /* Optional: round edges */
    padding: 2px 5px; /* Optional: adjust padding */
}

/* ------ */

/* maintain whitespace formatting */
#info-footer {
    white-space: pre;
    cursor: default;
}






