body{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
}

.noHover{
    pointer-events: none;
}

div.img{
    margin: 5px;
    border: 1px solid #ccc;
    float: right;
    width: 300px;
    height: 250px;
}

div.img img{
    width: 100%;
    height: auto;
}

div.desc{
    padding: 10px;
    text-align: center;
}

table.route-list{
    width: 100%;
    border-collapse: collapse;
}

.route-list th{
    background-color: black;
    color: white;
    text-align: center;
    vertical-align: middle;
}

.route-list tr:hover{
    background-color: #f5f5f5;
    
}
.route-list tr:nth-child(even){
    background-color: #f2f2f2;
}

.route-list td a{ 
    display: block; 
    text-decoration: none;
}

td.routeNum{
    width: 20%;
    height: 70px;
    padding: 6px;
    font-size: 18pt;
    text-align: center;
    vertical-align: middle;
    border-bottom: 1px solid #ddd;
}
td.routeDest{
    height: 70px;
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: 12pt;
    vertical-align: middle;
    border-bottom: 1px solid #ddd;
}

p.routeVarDesc{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 10pt;
    margin-top: 3px;
    margin-bottom: 0px;
    font-style: italic;
}

div.svc_infobox{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    float: left; 
    font-size: 12px;
    padding: 1px; 
    width: 37px; 
    border: 1px solid white; 
    text-align: center;
    background-color: white;
}
div.svc_infobox2 {
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    border-radius: 5px;
    float: left; 
    font-size: 14px;
    padding: 1px; 
    width: 40px; 
    text-align: center;
}

div.svc_numbox_big {
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    border-radius: 5px;
    border: 0px;
    font-size: 24px;
    font-weight: bold;
    padding: 2px; 
    width: 90%; 
    text-align: center;
}

div.dist_box{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    padding: 1px; 
    width: 65px; 
    border-radius: 5px;
    background-color: grey;
    color: white;
    border: 1px solid #F2F2F2;
    text-align: center;
}

div.stopcount_box_map_inner{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-weight: bold;
    width: 22px; 
    height: 22px;
    background-color: #1d71b8;
    border-radius: 35px;
    color: white;
    border: 2px solid #F2F2F2;
    text-align: center;
    vertical-align: middle;
    line-height: 1.2;
}

.stopcount_box_map_inner p{
    margin-top: 2px;
    margin-bottom: 0px;
}

div.stopcount_box_map{
    padding: 2px; 
    width: 25px; 
    height: 25px;
    background-color: #1d71b8;
    border-radius: 35px;
    text-align: center;
    float: left;
}

div.stop_box{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: bold;
    padding: 1px; 
    width: 65px; 
    background-color: #188E8E;
    border-radius: 5px;
    color: white;
    border: 1px solid #F2F2F2;
    text-align: center;
}
div.stop_box_map_container{
    min-width: 250px; 
    height: auto;
    overflow: auto; 
    vertical-align: middle; 
}
div.stop_box_map{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: bold;
    padding: 1px; 
    min-width: 30px; 
    background-color: #188E8E;
    border-radius: 5px;
    color: white;
    text-align: center;
    border: 1px solid #F2F2F2;
    float: right;
}
div.stop_box_desc{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    padding: 1px; 
    margin-left: 5px;
    width: 70%; 
    line-height: 14px;
    float: left;
}

div.stop_box_desc a{
    text-decoration: none;
}

div.lm_box_ctn{
    width: 100%;
    min-height: 20px;
    max-height: 40px;
}

div.lm_box{
    font-family: "Uniform Rnd Cond", Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: bold;
    padding: 1px 8px 1px 8px; 
    max-width: 130px;
    height: 22px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    border-radius: 5px;
    background-color: #1d71b8;
    color: white;
    text-align: center;
    vertical-align: middle;
    float: left;
    margin-top: 2px;
    margin-right: 2px;
}

div.lmcount_box_inner{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-size: 10pt;
    font-weight: bold;
    width: 21px; 
    height: 21px;
    background-color: #00a82d;
    border-radius: 5px;
    color: white;
    border: 2px solid #F2F2F2;
    text-align: center;
    vertical-align: middle;
}

.lmcount_box_inner p{
    line-height: 1.2;
}

div.lmcount_box{
    padding: 2px; 
    width: 25px; 
    height: 25px;
    background-color: #00a82d;
    border-radius: 5px;
    text-align: center;
    margin-left: 10%;
}

div.lmcount_box_map_inner{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-size: 7.5pt;
    font-weight: bold;
    width: 21px; 
    height: 21px;
    background-color: #00a82d;
    border-radius: 5px;
    color: white;
    border: 1px solid #F2F2F2;
    text-align: center;
    vertical-align: middle;
}

.lmcount_box_map_inner p{
    margin-top: 2px;
    margin-bottom: 0px;
}

div.lmcount_box_map{
    padding: 2px; 
    width: 25px; 
    height: 25px;
    background-color: #00a82d;
    border-radius: 5px;
    text-align: center;
    float: left;
}

.marker{
    background-image: url('/icons_custom/rtmapbs_empty.png');
    background-size: cover;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: bold;
    color: white;
    text-align: center;
    cursor: pointer;
}

.mapboxgl-popup{
    max-width: 200px;
}

.mapboxgl-popup-content{
    text-align: left;
    font-family: 'Open Sans', sans-serif;
}

table.routedetails{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    width: 100%;
    border-collapse: collapse;
}

td.routedetailstitle{
    background-color: #c9e8fb;
    color: #1d71b8;
}

.routedetails th{
    background-color: black;
    color: white;
    border: 1px solid black;
    text-align: center;
}

.routedetails td{
    padding: 5px;
    vertical-align: middle;
}

.routedetails tr{
    color: #1d71b8;
    background-color: #c9e8fb;
    height: 60px;
}

.routedetails tr:nth-child(even){
    color: #1d71b8;
    background-color: #d9effd;
}

.routedetails a{
    color: #1d71b8;
    text-decoration: none;
}

div.stopcount_box_inner{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    font-weight: bold;
    width: 25px; 
    height: 25px;
    background-color: #1d71b8;
    border-radius: 35px;
    color: white;
    border: 2px solid #F2F2F2;
    text-align: center;
    vertical-align: middle;
    line-height: 1.2;
}

.stopcount_box_inner p{
    line-height: 1.2;
}

div.stopcount_box{
    padding: 2px; 
    width: 28px; 
    height: 28px;
    background-color: #1d71b8;
    border-radius: 35px;
    text-align: center;
    margin-left: 10%;
}

#routeline{
border-left-style: solid;
border-left-width: 4px;
border-left-color: blue;
}

#routestartend{
border: 6px solid blue;
}

div.svcInfo hr{
    display: block;
    height: 10px;
    border: 0;
    width: 100%;
}

input.svcInfo-top-buttons{
    -moz-box-shadow:inset 0px 1px 2px 0px #ffffff;
    -webkit-box-shadow:inset 0px 1px 2px 0px #ffffff;
    box-shadow:inset 0px 1px 2px 0px #ffffff;
    background-color:#ffffff;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    border-radius: 6px;
    border: 1px solid #dcdcdc;
    display:inline-block;
    cursor:pointer;
    color:#666666;
    font-family: 'Uniform Rnd';
    font-size:100%;
    font-weight:bold;
    width: 32%;
    height: 60px;
    padding:10px 13px;
    text-decoration:none;
    word-wrap: normal;
    white-space: normal;
    vertical-align: middle;
}

input:hover.svcInfo-top-buttons{
    background-color:#d9d9d9;
}

input:active.svcInfo-top-buttons{
    background-color:#d9d9d9;
    position:relative;
    top:1px;
}

div.svcInfo-naviBar{
    font-family: "Uniform Rnd", Arial, sans-serif;
    border-top: 10px solid white;
    width: 96%;
    min-height: 52px;
    margin: auto;
    text-align: center;
    display: block;
}

div.navi_button{
    font-family: "Uniform Rnd", Arial, sans-serif;
    background-color: #edf5ff;
    width: 33%;
    font-size: 14pt;
    padding: 10px;
    margin-left: 5px;
    margin-bottom: -20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 0px solid #4f9bff;
    text-align: center;
    color: #006aff;
    float: left;
    box-shadow: 
        inset 0px -11px 8px -10px #9fc7fc; 
}

div.navi_button_selected{
    font-family: "Uniform Rnd", Arial, sans-serif;
    background-color: #69a7ff;
    width: 33%;
    font-size: 14pt;
    padding: 10px;
    margin-left: 5px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 0px solid #4f9bff;
    color: white;
    font-weight: bold;
    text-align: center;
    float: left;
    box-shadow: 
        inset 0px -11px 8px -10px #0062e3; 
}
    
td.svcInfo-titleNum{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    width: 30%;
    font-size: 32pt;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    border-radius: 10px;
}

td.svcInfo-titleDesc{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    width: 70%;
    font-size: 16pt;
    line-height: 1.5;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
    padding-left: 10px;
    border: 0px;
}

.svcInfo-titleDesc p{
    margin-top: 0px;
    margin-bottom: 0px;
}

table.svcInfo-tables{
    font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
    width: 100%;
    border-collapse: collapse;
}

td.flbSubTitle{
    font-weight: bold;
    vertical-align: middle; 
    text-align: center;
    padding: 8px;
    border: 1px solid white;
    background-color: #4f9bff;
    color: white;
}

td.svcinfo-MainTitleTopRnd{
    font-size: 14pt;
    font-weight: bold;
    vertical-align: middle; 
    text-align: center;
    padding: 8px;
    border: 1px solid white;
    background-color: #005ddb;
    color: white;
    border-radius: 20px 20px 0px 0px;
}

td.svcinfo-MainTitle{
    font-size: 14pt;
    font-weight: bold;
    vertical-align: middle; 
    text-align: center;
    padding: 8px;
    border: 1px solid white;
    background-color: #005ddb;
    color: white;
}

td.svcinfo-LessImptTitleTopRnd{
    font-family: "Uniform Rnd Cond", Arial, Helvetica, sans-serif;
    font-size: 14pt;
    font-weight: bold;
    vertical-align: middle; 
    text-align: center;
    padding: 8px;
    border: 0px;
    background-color: #94bdff;
    color: #003173;
    border-radius: 20px 20px 0px 0px;
}

td.svcinfo-LessImptTitle{
    font-family: "Uniform Rnd Cond", Arial, Helvetica, sans-serif;
    font-size: 14pt;
    font-weight: bold;
    vertical-align: middle; 
    text-align: center;
    padding: 8px;
    border: 0px;
    background-color: #94bdff;
    color: #003173;
}

td.svcInfo-summaryRouteTitle{
    width: 40%;
    font-size: 32pt;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    border-radius: 20px 0px 0px 0px;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #edf5ff;
    color: #005ddb;
}

p.svcInfo-summaryRouteVarDesc{
    font-family: 'Uniform Rnd ExCond'; 
    font-size: 12pt; 
    margin: -0.5px;
}

td.svcInfo-summaryRouteDesc{
    font-size: 14pt;
    width: 70%;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
    border-radius: 0px 20px 0px 0px;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #edf5ff;
    color: #005ddb;
}

td.svcInfo-RV-SvcNum{
    font-size: 28pt;
    width: 30%;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #edf5ff;
    color: #005ddb;
    border-bottom: 1px solid white;
}

td.svcInfo-RV-Desc{
    font-size: 12pt;
    width: 70%;
    text-align: left;
    vertical-align: middle;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #edf5ff;
    color: #005ddb;
    border-bottom: 1px solid white;
}

td.svcInfo-summaryRouteMap{
    text-align: center;
    vertical-align: top;
    border: 0px;
    background-color: #edf5ff;
    color: #003173;
}

td.svcInfo-summaryRouteList{
    padding-top: 20px;
    padding-left: 40px;
    text-align: left;
    vertical-align: top;
    border: 0px;
    background-color: #edf5ff;
    color: #003173;
}

div.stops-origin-ctn,div.stops-via-ctn{
    background: linear-gradient(#005ddb,#005ddb) 7px 0/4px 100% no-repeat;
    position: relative;
    padding-bottom: 6px;
}

div.stops-dest-ctn{
    position: relative;
    padding-bottom: 6px;
    padding-top: 2px;
}

div.stops-origin-pt{
    padding: 2px; 
    width: 20px; 
    height: 20px;
    background-color: white;
    border-radius: 35px;
    border: 2px solid #005ddb;
    float: left;
    position: relative;
    top: 0px;
}

div.stops-via-pt{
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #005ddb;
    float: left;
    position: relative;
    top: 5px;
    left: 11px;
}

div.stops-via-last-pt{
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #005ddb;
    float: left;
    position: relative;
    top: 28px;
    left: -6px;
}

div.stops-origin-text,div.stops-dest-text{
    min-height: 30px;
    font-size: 14pt;
    font-weight: bold;
    margin-left: 10px;
    color: #005ddb;
    position: relative;
    left: 15px;
}

div.stops-via-text{
    min-height: 30px;
    margin-left: 10px;
    font-size: 12pt;
    color: #005ddb;
    position: relative;
    left: 23px;
}

div.stops-via-last-text{
    min-height: 30px;
    margin-left: 10px;
    font-size: 12pt;
    color: #005ddb;
    position: relative;
    left: 9px;
}

td.flbDetails{
    font-size: 12pt;
    vertical-align: middle; 
    text-align: center;
    padding: 8px;
    border: 1px solid white;
    background-color: #edf5ff;
    color: #003173;
}

td.busttLoc{
    font-size: 12pt;
    vertical-align: middle; 
    text-align: center;
    padding: 10px 8px 10px 8px;
    border: 1px solid white;
    color: #003173;
}

.busttLoc a{ 
    display: block; 
    text-decoration: none;
    color: #003173;
    font-weight: bold;
}

td.busttTime{
    font-size: 12pt;
    vertical-align: middle; 
    text-align: left;
    padding: 10px 8px 10px 8px;
    border: 1px solid white;
    background-color: #edf5ff;
    color: #003173;
}

div.busttDepTime{
    width: 50px; 
    height: 20px;
    float: left;
}

div.routeMap-titleCtn{
    width: 100%;
    text-align: center;
    vertical-align: middle;
    border-radius: 20px;
    background-color: #edf5ff;
    color: #005ddb;
    display: block;
    min-height: 70px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 5px;
    margin-bottom: 10px;
}

div.routeMap-titleCtn_inv{
    width: 100%;
    text-align: center;
    vertical-align: middle;
    border-radius: 20px;
    background-color: #005ddb;
    color: white;
    display: block;
    min-height: 70px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 5px;
    margin-bottom: 10px;
}

div.routeMap-titleNum{
    font-family: "Uniform Rnd Cond", Arial, Helvetica, sans-serif;
    width: 25%;
    min-height: 50px;
    font-size: 28pt;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    float: left;
}

div.routeMap-titleDesc{
    font-family: "Uniform Rnd Cond", Arial, Helvetica, sans-serif;
    width: 55%;
    min-height: 50px;
    font-size: 14pt;
    line-height: 1.3;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
    padding-left: 10px;
    float: left;
}

div.routeMap-swiDirCtn{
    margin-right: 10px;
    min-height: 50px;
    width: 15%;
    text-align: right;
    float: right;
}

div.routeMap-swiDirBtn{
    font-family: "Uniform Rnd ExCond", Arial, Helvetica, sans-serif;
    height: 50px;
    width: 50px;
    font-weight: bold;
    border-radius: 10px;
    text-align: center;
    vertical-align: middle;
    background-color: #005ddb;
    color: white;
    float: right;
}

div.routeMap-swiDirBtn_inv{
    font-family: "Uniform Rnd ExCond", Arial, Helvetica, sans-serif;
    height: 50px;
    width: 50px;
    font-weight: bold;
    border-radius: 10px;
    text-align: center;
    background-color: white;
    color: #005ddb;
    float: right;
}

#map{position:absolute;top:0;bottom:0;right:0;left:0;}


    #map_leaflet{
        position: relative;
        width: 100.0%;
        height: 93.0%;
        left: 0.0%;
        top: 0.0%;
		z-index: 0;
    }
    
    
    
    @media screen and (max-width: 992px){
        #map_leaflet img{
            width: auto !important;
        }
        
        div.routeMap-swiDirBtn img{
            width: 60% !important;
        }
        
        div.routeMap-swiDirBtn_inv img{
            width: 60% !important;
        }
    }
    
	.leaflet-popup-content{
		margin-bottom: -8px;
		margin-left: 12px;
		margin-top: 10px;
		margin-right: 18px;
		line-height: 20px;
		min-width: 220px;
		min-height: 80px;
		z-index: 1;
	}
	
	.leaflet-busstop-id{
		font-family: Calibri;
		font-weight: bold;
		font-size: 14pt;
		background: rgba(255, 255, 255, 0.85);
		margin-left: -5px;
		padding-left: 5px;
		padding-right: 5px;
	}
	
	.leaflet-popup-tip-container{
		z-index: -1;
	}
	
	.leaflet-popup-content-wrapper{
		opacity: 0.85;
	}
	
	.transparent-tooltip{
      background: transparent;
      border: 1px solid red;
      box-shadow: none;
    }
    
    .transparent-tooltip::before{
      border: none;
    }
    
    .text-below-marker{
        font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
        font-size: 10pt;
        font-weight: bold;
        color: white;
        z-index: 100;
        text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
        top: 10px;
        text-align: center;
        
    }
    
    .text-desc-below-marker{
        font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
        font-size: 14pt;
        line-height: 1.0;
        font-weight: bold;
        color: white;
        text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
        z-index: 100;
        left: 10px;
        text-align: left;
        
    }
    
    .text-title-marker{
        font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
        font-size: 24pt;
        line-height: 1.0;
        font-weight: bold;
        color: white;
        text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
        z-index: 100;
        text-align: center;
        
    }
    
    .text-below-coords{
        font-family: "Uniform Rnd", Arial, Helvetica, sans-serif;
        font-size: 10pt;
        color: red;
        z-index: 100;
        top: 10px;
        text-align: center;
        
    }
