.menu-subheader{

    background-color: #52a1ff;
    color: white;
    padding: 10px;
    font-size: 14px;
    font-weight: bold;

}

.menu-padder {
    padding: 10px;
}

.menu-icon {
    font-size: 19px;
    width: 20px;
    font-weight: bold;
    display: inline-block;
    position: relative;
    top: 1px;
    left: 1px;
}
.menu-icon-blue {
    
    color: #2077ff;
    
}

.menu-icon-red {
    
    color: #cc0000;
    
}

.menu-icon-cancelsearch {
    display: none;
    cursor: pointer;
}

.menu-spacer {
    border-color: #ccc;
    padding: 0px;
}

.menu-header .close {
    position: absolute;
    right: 10px;
    font-size: 20px;
    top: 9px;
    color: white;
    opacity: 1;
    text-shadow: 0 1px 0 #797979;
}

.tap {
    border-radius: 0 2px 2px 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    padding: 8px 10px;
    border: 0px;
    background-color: white;        
    opacity: 0.8;
    height: 35px;
    display: inline-block;
}

.tap-locate-info {

}

.tap-locate {
    width: 32px;
    /*color: #2A93EE;*/
    color: #178b0a;
    font-weight: bold;
    border-radius: 2px;
    padding: 3px 2px 3px 5px !important;
}

.tap-locate svg {
    height: 20px;
    width: 20px
}

.tap-locate-info span {
    color: #2A93EE;
    font-weight: bold;
}

.tap-locate-info span i{
    color:#333;
    font-weight: normal;
}

.tap-locate.active {
    background-color: #2077ffee;
}

.tap-locate.active i {
    color: white;
}

.location-pulse {

    animation: pulsate 1.2s ease-out;
    animation-iteration-count: infinite;
    animation-delay: 1.2s;
}

@keyframes pulsate {
    0% {
        /* transform: scale(0.1, 0.1); */
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
        filter: alpha(opacity=1);
    }
    50% {
        opacity: 0.35;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.35)";
        filter: alpha(opacity=0.35);
    }
    100% {
        /*transform: scale(1.2, 1.2);*/
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
        filter: alpha(opacity=1);
    }
}

.smallheader {
    font-size: 12px;
    font-style: italic;
    color: #666;
    font-weight: normal;
    
}

.poi-type {
    font-size: 11px;
    font-weight: normal;
    color: #444;
}

.raster-error {
    color: #cc0000;
    font-size: 12px;
    font-style: italic;
    font-weight: bold;
    display: none;
    padding: 0px 10px 10px 38px;
}

.js-standerror {
    color: #cc0000;
    font-size: 12px;
    font-style: italic;
    font-weight: bold;
    display: none;
    padding: 0px 10px 10px 38px;
}

@media only screen and (max-width: 600px) {
    .js-standerror {
      padding :0px;
      margin-top: 10px;
    }
  }


input.error {
    border-color: #cc0000;
    color: #cc0000;
}



/*
.leaflet-control-zoom {
    border: 0px !important;
    
}


.leaflet-control-zoom a {
    border: 0px !important;
    border-radius: 0 2px 2px 0 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
    margin-bottom: 2px !important;
    color: #2077ff;
    font-weight: bold;
    width: 35px !important;
    height: 35px !important;
    opacity: 0.8;
    padding-top: 2px;
    border-radius: 2px !important;
}

.leaflet-right .leaflet-control {
    margin-top: 9px !important;
}
*/
.tap-menu {
    width: 35px;
    border-radius: 2px;
}



#map {
    background-color: #efefef;
}

.leaflet-control-minimap {
    background-color: white !important;
}


.leaflet-control-attribution {
    /*display: none !important;*/
	font-size: 10px;
}


.js-raster.error, .js-stand.error {
    border: 1px solid red;
}

.cat-wrapper {
    padding: 1px 0px 7px 0px;
}

.cat-header {
    padding: 3px 5px 2px 5px;
    margin-bottom:0px;
    font-size: 13px;
    
    font-weight: 600;
}

.cat-header-grid {
    display: grid
}

.cat-header1 {
    padding: 3px 5px 2px 5px;
    margin-bottom:0px;
    font-size: 13px;    
    font-weight: bold;
    display:inline-block;
    width: 140px;
}

.leaflet-control-zoom a {
    background-color: #ffffffd6;    
}

.leaflet-control-zoom a:first-child {
    border-top-left-radius: 5px !important;
    border-top-right-radius: 5px !important;
}
.leaflet-control-zoom a:last-child {
    border-bottom-left-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
}

.location-loading {

    animation: pulsate 1s ease-out;
    animation-iteration-count: infinite;
    animation-delay: 1s;
}

.location-pulse {

    animation: pulsate 1s ease-out;
    animation-iteration-count: infinite;
    animation-delay: 1s;
}

@keyframes pulsate {
    0% {
        /* transform: scale(0.1, 0.1); */
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
        filter: alpha(opacity=1);
    }
    50% {
        opacity: 0.35;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.35)";
        filter: alpha(opacity=0.35);
    }
    100% {
        /*transform: scale(1.2, 1.2);*/
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
        filter: alpha(opacity=10);
    }
}

.floating-menu {
    border-radius: 2px;
    box-shadow: 0 0 3px rgb(0 0 0 / 12%);
    padding: 6px 10px;
    border: 0px;    
    width: auto;
    transition: all 0.2s ease-in;
    display: inline-block;
    background-color: #fffffff3;
    /* color: #2A93EE;*/
}

.floating-menu.active {
    background-color: #178b0aee;    
    color: #fff;
}

.i-gis-location-arrow {
    --un-icon: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 100 100' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath id='gisLocationArrow0' fill='currentColor' fill-opacity='1' fill-rule='evenodd' stroke='none' stroke-dasharray='none' stroke-dashoffset='0' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='4' stroke-opacity='1' stroke-width='4.772' d='M87.13 0a2.386 2.386 0 0 0-.64.088a2.386 2.386 0 0 0-.883.463L11.34 62.373a2.386 2.386 0 0 0 1.619 4.219l37.959-1.479l17.697 33.614a2.386 2.386 0 0 0 4.465-.707L89.486 2.79A2.386 2.386 0 0 0 87.131 0z' color='currentColor' color-interpolation='sRGB' color-rendering='auto' display='inline' vector-effect='none' visibility='visible'/%3E%3C/svg%3E");
    -webkit-mask: var(--un-icon) no-repeat;
    mask: var(--un-icon) no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    background-color: currentColor;
    color: inherit;
    width: 1.2em;
    height: 1.2em;
  }

  .i-gis-location-arrow-o {
    --un-icon: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 100 100' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath id='gisLocationArrowO0' fill='currentColor' fill-opacity='1' fill-rule='evenodd' stroke='none' stroke-dasharray='none' stroke-dashoffset='0' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='4' stroke-opacity='1' stroke-width='4.772' d='M86.49.088a2.386 2.386 0 0 0-.882.463L11.34 62.374a2.386 2.386 0 0 0 1.62 4.218l37.957-1.478l17.7 33.612a2.386 2.386 0 0 0 4.462-.707l16.406-95.23a2.386 2.386 0 0 0-2.994-2.7Zm-2.808 8.277L69.567 90.29L54.439 61.558a2.386 2.386 0 0 0-2.203-1.272L19.79 61.551z' color='currentColor' color-interpolation='sRGB' color-rendering='auto' display='inline' vector-effect='none' visibility='visible'/%3E%3C/svg%3E");
    -webkit-mask: var(--un-icon) no-repeat;
    mask: var(--un-icon) no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    background-color: currentColor;
    color: inherit;
    width: 1.2em;
    height: 1.2em;
  }

  .i-jam-gps-f {
    --un-icon: url("data:image/svg+xml;utf8,%3Csvg viewBox='-2 -2 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m18.919 2.635l-5.953 16.08c-.376 1.016-1.459 1.538-2.418 1.165a1.851 1.851 0 0 1-1.045-1.054l-1.887-4.77a3.712 3.712 0 0 0-1.955-2.052l-4.542-1.981C.174 9.61-.256 8.465.157 7.465a1.97 1.97 0 0 1 1.067-1.079L16.54.136c.967-.395 2.04.101 2.395 1.109c.157.446.151.94-.015 1.39z'/%3E%3C/svg%3E");
    -webkit-mask: var(--un-icon) no-repeat;
    mask: var(--un-icon) no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    background-color: currentColor;
    color: inherit;
    width: 1.2em;
    height: 1.2em;
  }



  .logo-dif {
    background-color: #DC2A1C;
    padding: 5px 10px;
    width: 49%;
    border-radius: 10px;
  }

  .logo-asb {
    background-color: #fff;
    padding: 5px 10px;
    width: 49%;
    border-radius: 10px;
  }

  .tap-info1 {
    color: #cc0000;
    font-size: 0.85em;
    white-space: nowrap;
    text-overflow: ellipsis;
    height: 5em;
    width: 5em;
    text-align: center;   
  }

  .tap-info2 {
    color: #cc0000;
    font-size: 0.95em;
    max-width: 500px;
    width: 70vw;
    white-space: nowrap;
    text-overflow: ellipsis;   
    position: absolute;
    bottom: 0;
    margin-left: 5px; 
  }


  .tap-info3 {
    color: #cc0000;
    font-size: 0.95em;
    min-height: 100px;
    min-width: 100px;
    white-space: nowrap;
    text-overflow: ellipsis;   
    position: absolute;
    bottom: 0;
    margin-left: 5px; 
    text-align: center;
  }


  .tap-info3 .img-dest {
    width: 90%;
    
  }

  .tap-info3 .content-gps {
    display: block;
    width: 100%;
    text-align: center;
    color: white;
  }


  .tap-info2 .content-name {
    max-width: 60vw;
    overflow: hidden;
    
    text-overflow: ellipsis;

    
    font-weight: 500;
    font-size: 14px;

    background: url(../img/svg/poi-red.svg) no-repeat 0 center;

    padding-left: 18px;

    margin-bottom: 5px;

    
  }

  .tap-info2 .content-name-sub {
    max-width: 50%;
    overflow: hidden;
    
    text-overflow: ellipsis;

    
    
    font-size: 13px;

    

    padding-left: 21px;

    margin-bottom: 1px;

    display: inline-block;

    width: 75px;

    border: 1px solid #e8e8e8;
    border-radius: 4px;
    padding: 2px 2px 2px 25px;
    

    
  }

  .content-name-sub.sub-grid {
    background: url(../img/svg/grid-red.svg) no-repeat 0 center;
    background-size: contain;
    background-color: #f4f4f459;
  }
  .content-name-sub.sub-km {
    background: url(../img/svg/km-red.png) no-repeat 2px center;
    background-size: contain;
    padding: 2px 2px 2px 28px;
    background-color: #f4f4f459;
  }

  .content-name-sub.sub-bridges {
    xbackground: url(../img/svg/bridge2-red.svg) no-repeat 2px center;
    background-size: contain;
    padding: 2px 2px 2px 2px;
    background-color: #f4f4f459;
    width: auto !important;
    max-width: none;
    white-space: nowrap;
  }




  .tap-info2 svg {
    position: relative;
    top: -3px;
  }

  .content-gps {
    
   
  }


  .img-dest {
    width: 18px;
    position: relative;
    top: -1px;
  }



  .sub-loc {
    padding: 2px !important;
    background-color: #2077ffee;
    color: #fff;
  }


  .tap-locate.sm .loc-raster {
    font-size: 10px;
    line-height: 1;
    display: inline-block;
    position: relative;
    top: 3px;
    
  }

  .tap-locate.active .loc-raster {
    padding-right: 5px;
  }


  .loc-raster {
    display: inline-block;
  }

  .dark .rbar {
    background-color: #363739eb;
    color: white;
  }

  .dark .rbar * {
    
    color: white;
  }

  .dark .rbar2 {
    background-color: #363739eb;
    color: white;
  }

  .dark .rbar2 * {
    
    color: white;
  }


  .js-close-tapinfo {
    position: absolute;
    right: 5px;
    top: 5px;
  }



@media only screen and (min-width: 600px) {
    #details {
        position:absolute;
        bottom:10px;
        left: 320px;
        z-index:1000;
        display:none;
    }

    #details .rbar {
        width: calc(100vw - 380px);
    }

}



.menu-padder .result .title {
    font-weight: normal;
}

.menu-padder .result {
    margin-top: 1px;
}
.menu-padder .result .badge {
    margin-top: 3px;
}
.menu-padder .result .badge-asb {
    margin-top: 3px;
}

.menu-padder .km {
    padding-top: 0px;
}

.leaflet-bar {
    border: 0 !important;
    box-shadow: 0 0 3px rgb(0 0 0 / 12%) !important;
}

.rbar2 {
    border-radius: 2px;
    box-shadow: 0 0 3px rgb(0 0 0 / 12%);
    padding: 2px 6px;
    border: 0px;
    background-color: #ffffffeb;
    width: auto;
    transition: all 0.2s ease-in;
    display: inline-block;
 
}

.rbar2 h6 {
    display: inline-block;
    white-space: nowrap;
    /* margin-left: 5px; */
}

.rbar.active {
    background-color: #ffffff;
    transition: all 0.2s ease-in;
    height: 40vh;
    
    width: calc(90vw - 25px);
    border: 6px solid white;
    
}


.rbar .search_results {
    overflow-y: auto;
    height: calc(40vh - 50px);
    padding-top: 5px;
}

.rbar2.active {
    background-color: #ffffff;
    transition: all 0.2s ease-in;
}

.rbar input {
    /*border: 0px;
    width: 90%;
    box-shadow: none;
    font-size: .9em;
    background-color: transparent;*/
}

.rbar.active {
    background-color: #ffffff;
    transition: all 0.2s ease-in;
}

.rbar {
    border-radius: 2px;
    box-shadow: 0 0 3px rgb(0 0 0 / 12%);
    padding: 3px;
    border: 0px;
    background-color: #ffffffeb;
    width: calc(100vw - 20px);
    transition: all 0.2s ease-in;
}




.badge-text {
    width: 250px
}
.litem {
    width: 100px;height:100px;
    xbackground-color:#ff000022;    

    vertical-align: bottom;

    
}



.litem-wrapper {
    position: absolute;
    bottom: 0px;
   
    width: 150px;
    box-shadow: 0 0 6px rgb(0 0 0 / 50%) !important;

    border-radius: 3px;

    opacity: 0.9;

    
}

.litem-img .litem-wrapper {
    
    bottom: 40px;
   
    

    
}

.litem-wrapper .litem-item {
    width: 100%;
    padding: 2px 5px;

    color: #000;
    background-color: #ffffff;
}

.litem-wrapper .litem-header {
    width: 100%;
    
    padding: 2px 5px;

    color: white;
    
}

.litem:after {
    content:'';
    position: absolute;
    
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    bottom: -15px;
    
    
    border-left: 15px solid transparent;
}


.litem.ambx .litem-wrapper {
    border: 2px solid #000;
    color: black;
}

.litem.ambx .litem-header {
    background-color: #ffffff;
    color: black;
}

.litem.ambx:after {
    border-top: 15px solid #000;
    color: black;
}



.litem.blue .litem-wrapper {
    border: 3px solid #52a1ff;
}

.litem.blue .litem-header {
    background-color: #52a1ff;
}

.litem.blue:after {
    border-top: 15px solid #52a1ff;
}


.litem.red .litem-wrapper {
    border: 3px solid #cc0000;
}

.litem.red .litem-header {
    background-color: #cc0000;
}

.litem.red:after {
    border-top: 15px solid #cc0000;
}

.litem.els20 .litem-wrapper {
    border: 3px solid #09B4F9;
}

.litem.els20 .litem-header {
    background-color: #09B4F9;
    color: black;
}

.litem.els20:after {
    border-top: 15px solid #09B4F9;
}

.litem.els25 .litem-wrapper {
    border: 3px solid #66E8FF;
}

.litem.els25 .litem-header {
    background-color: #66E8FF;
    color: black;
}

.litem.els25:after {
    border-top: 15px solid #66E8FF;
}

.litem.els15 .litem-wrapper {
    border: 3px solid #BA142F !important;
}

.litem.els15 .litem-header {
    background-color: #BA142F !important;
}

.litem.els15:after {
    border-top: 15px solid #BA142F !important;
}


.litem.elsnull .litem-wrapper {
    border: 3px solid #BA142F !important;
}

.litem.elsnull .litem-header {
    background-color: #BA142F !important;
}

.litem.elsnull:after {
    border-top: 15px solid #BA142F !important;
}



.litem.els20 .litem-wrapper {

}

.bg_els20  td{
	background-color:#09B4F9 !important;
}
.bg_els20.selected td,.bg_els2.x-grid-row-over td {
	/*background-color:#058BC3 !important;*/
}


.bg_els25 td {
	background-color:#66E8FF !important;
}




.litem img {
    bottom: -15px;
    right: -15px;
}



.result-sub  {
    margin-top: 0px;
    
}

.result-sub .badge-text > div.title {
    
    
    font-size: 12px;
    margin-left: 10px;

}


span.searchterm {
    background-color: yellow;
    color: black;
}


.result-sub.result:hover {
    border-right: 0;
}


.ci {
    width: 14px;
    height: 14px;
    display: inline-block;
}

.ci.ci-bridge {
    background: url(/img/icons/bridge2.svg) no-repeat;
    background-size: cover;
}

.ci.ci-ubahn {
    background: url(/img/icons/ubahn.svg) no-repeat;
    background-size: cover;
}


.km2 {
    background-color: white;
    border: 1px solid black;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 0 6px rgb(0 0 0 / 50%) !important;
    opacity: 0.4;
    width: auto !important;
    padding: 2px 4px;
    height: auto !important;
    border-radius: 5px;
    
}

.km3 {
    color:#fff;
    width: 80px !important;
    height: auto !important;
 
    font-weight: bold;
 
   
     
 }

.km3 div{
   
    text-shadow: #000000ad 1px 0 3px;
    transform: rotate(-90deg);
    margin-left: 0px !important;
    margin-top: 30px !important;
    text-align: right;
    white-space: nowrap;
    width: 160px;
    height: 20px;
    color: #90e2ff;

    
}

.js-km::placeholder {
    font-size: 10px;
}
#js-km::-webkit-input-placeholder {
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0px 50%;
    background-repeat: no-repeat; 
  }
  #js-km::-moz-placeholder {
    /* Firefox 19+ */
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0 50%;
    background-repeat: no-repeat; 
  }
  #js-km:-moz-placeholder {
    /* Firefox 18- */
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0 50%;
    background-repeat: no-repeat; 
  }
  #js-km:-ms-input-placeholder {
    /* IE 10- */
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0 50%;
    background-repeat: no-repeat; 
  }



  .km-icon-red {
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    color: #df0000;
    text-shadow: 0 0 5px #fff;
   
  }

  .km-icon-blue {
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    color: #1781e7;
    text-shadow: 0 0 5px #fff;
   
  }





  .btn-group-xs>.btn, .btn-xs {
    --bs-btn-padding-y: 0.125rem;
    --bs-btn-padding-x: 0.25rem;
    --bs-btn-font-size: 0.775rem;
    --bs-btn-border-radius: var(--bs-border-radius-sm);
}


.btn-outline-cc0000 {
    --bs-btn-color: #cc0000;
    --bs-btn-border-color: #cc0000;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #cc0000;
    --bs-btn-hover-border-color: #cc0000;
    --bs-btn-focus-shadow-rgb: 220,53,69;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #cc0000;
    --bs-btn-active-border-color: #cc0000;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #cc0000;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #cc0000;
    --bs-gradient: none;
}


.route-badge {
    background-color: #ed7d31;
		text-align: center;
		display: inline-block;
		border: 1px solid black;
		height: 20px;
		width: 42px;
		display: inline-block;
		font-weight: bold;
		padding: 1px 3px;text-align:left;
        line-height: 18px;

        opacity: 0.5;
}


.cont-tapinfo2 {
    position:absolute;
    bottom:10px;
    left:10px;
    z-index:100000;

}




@media (min-width: 1200px) {
    .cont-tapinfo2 {
        left: calc(350px + 20px);

    }

    .tap-info2 {
        max-width: 35vw !important;
        width: 35vw !important;
    }
}


.js-fav,.js-close-tapinfo {
    cursor: pointer;

}

.js-fav {
    position: absolute;
    right: 28px;
    top: 5px;
}




.z16 .km3 {
    font-size: 10px;
}

.z15 .km3 {
   display: none;
}

body {
    font-family: 'Roboto', sans-serif;
}

#sidemenu {
	position: absolute;
    left: 0px;
    top: 0px;
    height: 100%;
    /* height: 100px; */
    width: 350px;
    background-color: rgba(255, 255, 255, 0.95);
    /* opacity: 0.5; */
/*    font-size: 20pt;        */
    font-weight: bold;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);

    /*padding: 10px;*/

    line-height: 24px;
    overflow-y:auto;
    z-index: 10000;
}

#innerwrap {
    height: calc(100vh - 150px);
    overflow-y: auto !important;
}


.menu-header {
    background-color: #52a1ff;
    color: white;
    padding: 10px;
    font-size: 14px;
    font-weight: bold;
    position: relative;
}

h6 {
    margin-top: 0px;
    margin-bottom: 1px;
    font-size: 13px;
    color: #000;
    font-weight: bold;
}

input {
    border: 1px solid #ccc;
    padding: 6px 6px 4px 6px;
    box-shadow: 1px 1px 1px #efefef;
    font-size: 14px;
    font-weight: normal;
}

input:focus {
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
    border: 1px solid #4d90fe;
    outline: none;
    }


    
.km {
    color: white;
    font-weight: bold;
    border: 0px;
    background-color: black;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50%;
    padding-top: 1px;
    text-align: center;
    font-size: 10px;
    vertical-align: middle;
    padding-top: 2px;
}

.amb {
    color: white;
    font-weight: bold;
    border: 0px;
    background-color: #007de0;
    border-radius: 2px;
    padding-top: 1px;
    text-align: center;
    font-size: 11px;
    vertical-align: middle;
    padding-top: 1px;
    width: auto !important;
    height: auto !important;
    border-radius: 7px;
    padding: 3px 5px 2px 5px;
    white-space: nowrap;
}

.spez {
    color: white;
    font-weight: bold;
    border: 0px;
    background-color: #8c0000;
    border-radius: 2px;
    padding-top: 1px;
    text-align: center;
    font-size: 11px;
    vertical-align: middle;
    padding-top: 1px;
    width: auto !important;
    height: auto !important;
    border-radius: 7px;
    padding: 3px 5px 2px 5px;
    white-space: nowrap;
}

.result-col3 {
    display: inline-block;
    width: calc(33% - 10px);
}

.result-col2 {
    display: inline-block;
    width: calc(50% - 5px);
}



.result-col3 .badge i {
    font-size: 11px;
    top: -1px;
    position: relative;
    color: #2077ff;
    left: -4px;
}
.result-col3 .badge {
    background-color: #cbcbcbc7;
    /* padding: 2px; */
    border-radius: 50%;
    text-align: center;
    vertical-align: top;
    border: 3px solid #f5f5f5;
    width: 23px;
    /* min-width: 20px; */
    /* max-width: 20px; */
    /* display: inline-block; */
    height: 23px;
}

.result-col2 .badge-text {
    width: auto;
}


.result-col2 {
    display: inline-block;
    width: calc(50% - 5px);
}

.result-col2 .badge-asb {
    margin-top: 0;
}


.result-col2 .badge i {
    font-size: 10px;
    top: -1px;
    position: relative;
    color: #2077ff;
    left: -4px;
}
.result-col2 .badge {
    background-color: #cbcbcbc7;
    /* padding: 2px; */
    border-radius: 50%;
    text-align: center;
    vertical-align: top;
    border: 3px solid #f5f5f5;
    width: 23px;
    /* min-width: 20px; */
    /* max-width: 20px; */
    /* display: inline-block; */
    height: 23px;
}

.result-coly {
    display: inline-block;
    
}

.result-coly .badge-text {
    width: auto;
    
}

.result-colx {
    display: inline-block;
    width: calc(10% - 2px);
}


.badge-simple {

    
    
    text-align: center;
    vertical-align: top;

    margin-left: 7px;
    
    /* min-width: 20px; */
    /* max-width: 20px; */
    display: inline-block;
    width: 12px;
    
}

.badge-simple i {

    
    font-size: 14px;
}

.badge-simple img {
    width: 14px;
    top: -1px;
    position: relative;
}


.badge {

    background-color: #f4f4f4c7;
    /* padding: 2px; */
    border-radius: 50%;
    text-align: center;
    vertical-align: top;
    border: 3px solid #f5f5f5;
    width: 30px;
    /* min-width: 20px; */
    /* max-width: 20px; */
    /* display: inline-block; */
    height: 30px;
}

.badge-asb-small {

    background: url(/img/asb.png);
    /* padding: 2px; */
    border-radius: 50%;
    text-align: center;
    vertical-align: top;
    width: 20px;
    /* min-width: 20px; */
    /* max-width: 20px; */
    display: inline-block;
    height: 20px;
    background-size: contain;
    margin-top: 0px;
}

.badge-asb {

    background: url(/img/asb.png);
    /* padding: 2px; */
    border-radius: 50%;
    text-align: center;
    vertical-align: top;
    width: 20px;
    /* min-width: 20px; */
    /* max-width: 20px; */
    display: inline-block;
    height: 20px;
    background-size: contain;
    margin-top: 0px;
}

.badge-text {
    display:inline-block;
    margin-left: 0px;
}

.badge i {
    font-size: 13px;
    top: 3px;
    position: relative;
    color: #2077ff;
    left: -1px;
}


.legend {
    font-size: 9px;
    color: #666;
}

.result {
    margin-top: 0px;

    cursor: pointer;

    /*padding: 3px 0px 3px 0px;*/

    

    
}


.result:hover {
   /*border-right: 5px solid #52a1ff;*/
   
}


.badge-text > div.title {
    font-size: 12px; 
       margin-left: 3px;
}

.err {
    color: red;
    font-size: 12px;
}

.js-close-search {
    color: red;
    display: none;
    font-size: 15px;
}



#details {
    position:absolute;
    bottom:10px;
    left:10px;
    z-index:1000;
    display:none;
}

#details .rbar {
    width: calc(100vw - 70px);
}


@media only screen and (min-width: 600px) {
    #details {
        position:absolute;
        bottom:10px;
        left: 320px;
        z-index:1000;
        display:none;
    }

    #details .rbar {
        width: calc(100vw - 380px);
    }

}



.menu-padder .result .title {
    font-weight: normal;
}

.menu-padder .result {
    margin-top: 1px;
}
.menu-padder .result .badge {
    margin-top: 3px;
}
.menu-padder .result .badge-asb {
    margin-top: 3px;
}

.menu-padder .km {
    padding-top: 0px;
}

.leaflet-bar {
    border: 0 !important;
    box-shadow: 0 0 3px rgb(0 0 0 / 12%) !important;
}

.rbar2 {
    border-radius: 2px;
    box-shadow: 0 0 3px rgb(0 0 0 / 12%);
    padding: 2px 6px;
    border: 0px;
    background-color: #ffffffeb;
    width: auto;
    transition: all 0.2s ease-in;
    display: inline-block;
 
}

.rbar2 h6 {
    display: inline-block;
    white-space: nowrap;
    /* margin-left: 5px; */
}

.rbar.active {
    background-color: #ffffff;
    transition: all 0.2s ease-in;
    height: 40vh;
    
    width: calc(90vw - 25px);
    border: 6px solid white;
    
}


.rbar .search_results {
    overflow-y: auto;
    height: calc(40vh - 50px);
    padding-top: 5px;
}

.rbar2.active {
    background-color: #ffffff;
    transition: all 0.2s ease-in;
}

.rbar input {
    /*border: 0px;
    width: 90%;
    box-shadow: none;
    font-size: .9em;
    background-color: transparent;*/
}

.rbar.active {
    background-color: #ffffff;
    transition: all 0.2s ease-in;
}

.rbar {
    border-radius: 2px;
    box-shadow: 0 0 3px rgb(0 0 0 / 12%);
    padding: 3px;
    border: 0px;
    background-color: #ffffffeb;
    width: calc(100vw - 20px);
    transition: all 0.2s ease-in;
}

#mm-raster {    
    
    background-color: #2085ff;
    width: 40px;
    text-align: center;
    color: #fff;
    font-size: 13px;
    margin-top: 10px;
    margin-left: -19px;
    opacity: 0.8;
}


.badge-text {
    width: 250px
}
.litem {
    width: 100px;height:100px;
    xbackground-color:#ff000022;    

    vertical-align: bottom;

    
}



.litem-wrapper {
    position: absolute;
    bottom: 0px;
   
    width: 150px;
    box-shadow: 0 0 6px rgb(0 0 0 / 50%) !important;

    border-radius: 3px;

    opacity: 0.9;

    
}

.litem-img .litem-wrapper {
    
    bottom: 40px;
   
    

    
}

.litem-wrapper .litem-item {
    width: 100%;
    padding: 2px 5px;

    color: #000;
    background-color: #ffffff;
}

.litem-wrapper .litem-header {
    width: 100%;
    
    padding: 2px 5px;

    color: white;
    
}

.litem:after {
    content:'';
    position: absolute;
    
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    bottom: -15px;
    
    
    border-left: 15px solid transparent;
}


.litem.ambx .litem-wrapper {
    border: 2px solid #000;
    color: black;
}

.litem.ambx .litem-header {
    background-color: #ffffff;
    color: black;
}

.litem.ambx:after {
    border-top: 15px solid #000;
    color: black;
}



.litem.blue .litem-wrapper {
    border: 3px solid #52a1ff;
}

.litem.blue .litem-header {
    background-color: #52a1ff;
}

.litem.blue:after {
    border-top: 15px solid #52a1ff;
}


.litem.red .litem-wrapper {
    border: 3px solid #cc0000;
}

.litem.red .litem-header {
    background-color: #cc0000;
}

.litem.red:after {
    border-top: 15px solid #cc0000;
}

.litem.els20 .litem-wrapper {
    border: 3px solid #09B4F9;
}

.litem.els20 .litem-header {
    background-color: #09B4F9;
    color: black;
}

.litem.els20:after {
    border-top: 15px solid #09B4F9;
}

.litem.els25 .litem-wrapper {
    border: 3px solid #66E8FF;
}

.litem.els25 .litem-header {
    background-color: #66E8FF;
    color: black;
}

.litem.els25:after {
    border-top: 15px solid #66E8FF;
}

.litem.els15 .litem-wrapper {
    border: 3px solid #BA142F !important;
}

.litem.els15 .litem-header {
    background-color: #BA142F !important;
}

.litem.els15:after {
    border-top: 15px solid #BA142F !important;
}


.litem.elsnull .litem-wrapper {
    border: 3px solid #BA142F !important;
}

.litem.elsnull .litem-header {
    background-color: #BA142F !important;
}

.litem.elsnull:after {
    border-top: 15px solid #BA142F !important;
}



.litem.els20 .litem-wrapper {

}

.bg_els20  td{
	background-color:#09B4F9 !important;
}
.bg_els20.selected td,.bg_els2.x-grid-row-over td {
	/*background-color:#058BC3 !important;*/
}


.bg_els25 td {
	background-color:#66E8FF !important;
}




.litem img {
    bottom: -15px;
    right: -15px;
}



.result-sub  {
    margin-top: 0px;
    
}

.result-sub .badge-text > div.title {
    
    
    font-size: 12px;
    margin-left: 10px;

}


span.searchterm {
    background-color: yellow;
    color: black;
}


.result-sub.result:hover {
    border-right: 0;
}


.ci {
    width: 14px;
    height: 14px;
    display: inline-block;
}

.ci.ci-bridge {
    background: url(/img/icons/bridge2.svg) no-repeat;
    background-size: cover;
}

.ci.ci-ubahn {
    background: url(/img/icons/ubahn.svg) no-repeat;
    background-size: cover;
}


.km2 {
    background-color: white;
    border: 1px solid black;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 0 6px rgb(0 0 0 / 50%) !important;
    opacity: 0.4;
    width: auto !important;
    padding: 2px 4px;
    height: auto !important;
    border-radius: 5px;
    
}

.km3 {
    color:#fff;
    width: 80px !important;
    height: auto !important;
 
    font-weight: bold;
 
   
     
 }

.km3 div{
   
    text-shadow: #000000ad 1px 0 3px;
    transform: rotate(-90deg);
    margin-left: 0px !important;
    margin-top: 30px !important;
    text-align: right;
    white-space: nowrap;
    width: 160px;
    height: 20px;
    color: #90e2ff;

    
}

.js-km::placeholder {
    font-size: 10px;
}
#js-km::-webkit-input-placeholder {
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0px 50%;
    background-repeat: no-repeat; 
  }
  #js-km::-moz-placeholder {
    /* Firefox 19+ */
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0 50%;
    background-repeat: no-repeat; 
  }
  #js-km:-moz-placeholder {
    /* Firefox 18- */
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0 50%;
    background-repeat: no-repeat; 
  }
  #js-km:-ms-input-placeholder {
    /* IE 10- */
    color: transparent;
    text-indent: -9999px;
    background-image: url("../img/svg/info.svg");
    background-position: 0 50%;
    background-repeat: no-repeat; 
  }



  .km-icon-red {
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    color: #df0000;
    text-shadow: 0 0 5px #fff;
   
  }

  .km-icon-blue {
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    color: #1781e7;
    text-shadow: 0 0 5px #fff;
   
  }





  .btn-group-xs>.btn, .btn-xs {
    --bs-btn-padding-y: 0.125rem;
    --bs-btn-padding-x: 0.25rem;
    --bs-btn-font-size: 0.775rem;
    --bs-btn-border-radius: var(--bs-border-radius-sm);
}


.btn-outline-cc0000 {
    --bs-btn-color: #cc0000;
    --bs-btn-border-color: #cc0000;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #cc0000;
    --bs-btn-hover-border-color: #cc0000;
    --bs-btn-focus-shadow-rgb: 220,53,69;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #cc0000;
    --bs-btn-active-border-color: #cc0000;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #cc0000;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #cc0000;
    --bs-gradient: none;
}


.route-badge {
    background-color: #ed7d31;
		text-align: center;
		display: inline-block;
		border: 1px solid black;
		height: 20px;
		width: 42px;
		display: inline-block;
		font-weight: bold;
		padding: 1px 3px;text-align:left;
        line-height: 18px;

        opacity: 0.5;
}


.cont-tapinfo2 {
    position:absolute;
    bottom:10px;
    left:10px;
    z-index:100000;

}




@media (min-width: 1200px) {
    .cont-tapinfo2 {
        left: calc(350px + 20px);

    }

    .tap-info2 {
        max-width: 35vw !important;
        width: 35vw !important;
    }
}


.js-fav,.js-close-tapinfo {
    cursor: pointer;

}

.js-fav {
    position: absolute;
    right: 28px;
    top: 5px;
}




.z16 .km3 {
    font-size: 10px;
}

.z15 .km3 {
   display: none;
}




.legend-prohibit {    
    background-color: #79bbff;
    opacity: 0.8;
    background: repeating-linear-gradient( -45deg, #660000, #660000 1px, #79bbff 2px, #79bbff 4px );
    border: 1px solid #660000;    
}

.legend-danger {    
    background-color: #79bbff;
    opacity: 0.8;
    background: repeating-linear-gradient( -45deg, #ffff00, #ffff00 1px, #79bbff 2px, #79bbff 4px );
    border: 1px solid #ffff00;    
}