/* app css stylesheet */




/* .lvl-over { */
  /* applied to a drop target when a draggable object is over it */
  /* border: 2px dashed black !important; */
/* } */

/* .lvl-target { */
  /* 
  applied to all drop targets when a drag operation begins 
  removed when the drag operation ends
  used to indicate drop targets on a page 
  */
  /* background-color: #ddd; */
  /* opacity: .5; */
/* } */

html, body {

  max-width: 100%;
  height:100%; 
  min-height: 100% !important;
  overflow-x: hidden;
  margin: 0; 
  overflow: hidden; 
  font-family: -apple-system, "Inter";
  /* font-family: "Inter"; */
  font-weight: 400;

}

[data-theme='light'] { color-scheme: light; }
[data-theme='dark'] { color-scheme: dark; }

/* p{
  margin-top: 0;
  margin-bottom: 0;
} */

.leaflet-grab{
  cursor: url(i/cursor.png) 10 10, auto !important;
}

@font-face {
  font-family: 'Inter';
  /* src: url("i/Sniglet-Regular.ttf"); */
  /* src : url("i/Inter_18pt-Light.ttf"); */
  src : url("i/Inter-VariableFont_opsz\,wght.ttf");
}

@font-face {
  font-family: 'Nunito';
  /* src: url("i/Sniglet-Regular.ttf"); */
  src : url("i/Nunito-ExtraBold.ttf");
}


.dark-mode div, .dark-mode span {
  background-color:#181a1b; 
  color:white; 
}

.dark-mode p {
  color:white; 
}

.dark-mode input{
  background-color: transparent;
  color:#eee; 
}

.leaflet-container{
  /* font-family: -apple-system, "Inter" !important;  */
  /* font-family: "Inter" !important; */
  font-weight: 400 !important;

  
  /* transform: scale(0.752); 
  transform-origin: 0 0; 
  height:133% !important;
  width:133% !important;  */


  /* zoom:0.5;
  -moz-transform: scale(0.5); 
  -moz-transform-origin: 0 0;
  transform-origin: center; */

}

.leaflet-control-container .leaflet-top{
  top:120px;
  background-color: transparent !important;
}

.fa-location{
  background-image: url("/i/location.png");
  background-size: contain;
  width: 100%;
  height: 100%;
  border-radius: 15px;
}

.dark-mode .fa-location {
  background-image: url("/i/location-white.png");
}

.dark-mode .leaflet-bar a, .dark-mode .leaflet-bar a{
  background-color: #181a1b;
  color:white !important; 
}

.motion-class{
    background: light-dark(white, #121212);
    border: 0;
    border-radius: 50px;
    display: flex !important;
    padding: 5px;
    box-shadow: 0px 0px 5px;
}

.leaflet-popup-pane{
  z-index: 900 !important;
}
.leaflet-marker-pane{
  z-index:800 !important;
}
.stationNameIcon, .stationNameIconClose, .stationNameIconVeryClose{
  font-weight: 600;
  color: light-dark(#333,#ddd);
  background-color: transparent !important;
  z-index: 18810 !important; /*  For some reason the divIcon z-index is being overwritten, based on the y-position. Might be a leaflet bug */
}

.x-button{
  position: relative;
  width: 20px !important;
  height: 20px !important;
  margin-left: -25px;
  margin-right: 5px;
}

.dark-mode .leaflet-bar img, .dark-mode .leaflet-bar img{
  filter:invert(1); 
}

.dark-mode .leaflet-bar a:hover, .dark-mode .leaflet-bar a:hover{
  background-color: light-dark(#222,#aaa);
}

[draggable] {
  /* not applied by the directive, but useful to indicate a draggable element */
  /* -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none; */
  user-select: none;
  cursor: move;
  /* border:1px solid black; */
}

.blob_div{
  z-index: 800; 
}

.blob {
  background: #f09c0055;
  border-radius: 50%;
  margin: 10px;
  height: 30px;
  width: 30px;
  opacity: 0;
  z-index: 800;
  

  box-shadow: 0 0 0 0 #f09c00ff;
  transform: scale(1);
  /* animation: pulse 3s ; */
  animation: pulse 3s infinite;
}

.blob-onetime {
  background: #f09c0055;
  border-radius: 50%;
  margin: 10px;
  height: 30px;
  width: 30px;
  opacity: 0;
  z-index: 800;
  

  box-shadow: 0 0 0 0 #f09c00ff;
  transform: scale(1);
  /* animation: pulse 3s ; */
  animation: pulse 3s;
}

@keyframes pulse {
  0% {
    transform: scale(0.95);
    opacity: 0; 
    box-shadow: 0 0 0 0 #f09c00b3
  }
  30% {
    opacity: 1; 
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 40px #f09c0000
  }


  100% {
    opacity: 0; 
    transform: scale(0.95);
    box-shadow: 0 0 0 0 #f09c0000
  }


}

.droppable{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  background-color: transparent;
}

.sidebar_settings_h4 p{
  margin-top: 0;
  margin-bottom: 0;
}

.item-text{
  margin:0;

  font-size: 18px;
  width:100%;
  text-align: center;
  padding-left:10px;
  padding-right:10px;
  padding-bottom:15px;

  pointer-events: none;

  -webkit-user-select: none; /* Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */

}

.myLocationIcon{
  cursor: url(i/torra-cursor-pointer.png)  10 10, move !important;
  z-index: 820 !important;

  
  transition: all 0.5s;
  -moz-transition: all 0.5s;
  -webkit-transition:all 0.5s;
  -o-transition: all 0.5s;
}

.myLocationIcon img{
  height:20px;
  width:20px;
  margin-left: 5px;
  margin-top: 5px;
  mask-size: contain !important;
}

.translate{
  transform:translateX(0px);
}

/* .hide-drag.item-select , .over{
  color:transparent !important;
  background-color: #ddd !important;
  box-shadow: none !important; 
  border:1px #336fd7 solid !important;
}

.hide-drag.item-select img, .over img{
  opacity:0 !important; 
} */

body{
  overscroll-behavior: contain;
  background-color:light-dark(#f8f8f8, #222);
  user-select: none;
  -webkit-user-select : none;
  -moz-user-select    : none;
  -khtml-user-select  : none;
  -ms-user-select     : none;  

}
div {
  /* margin-bottom: 10px; */
 }

 p {
   color:light-dark(black,white); 
 }

 .gray{
  /* color: gray !important;  */
  font-weight: bold !important;
  background-color: #eee;
}

.right-icon{
  margin-left: auto !important;
}

#qrcode {
  width:130px;
  height:330px;
  background-size: 300px 100px;
}

.search{
  display:inline-block; 
  padding:10px; 
  border-radius: 10px;
}

.isSearching{
  visibility: hidden;
}

.item-invisible{
  opacity: 0;
  box-shadow: none !important;
  background-color: transparent !important;
  /* cursor:auto !important; */
  cursor: pointer !important;
}

.item-select{

  /* border: 1px #336fd7 solid !important;  */
  /* box-shadow: none !important; */


  border: 1px #aaa solid !important; 
  /* cursor:pointer !important; */
  border-radius:10px !important;
  width:95% !important;
  padding-top: 95% !important;
  margin-top: 2.5% !important;
  margin-bottom: 2.5% !important;
  margin-left: 2.5% !important;
  box-shadow: 0px 0px 5px 2px #ababab;


}

.dropdown
{
  position: absolute;
  border: black 1px solid;
  border-radius: 5px;
  background: light-dark(white, #121212);
  height: fit-content;
  width: fit-content;
  z-index: 999;
  list-style: none;
  box-shadow: 0px 0px 10px 2px #dadada;
  padding:0;
}


.dropdown-option:last-child{
  border-bottom: none !important;
}
.dropdown-option{
  padding: 5px 25px;
  border-bottom:1px solid black;
  margin:0;
}

 .header-sec{

  display: inline-flex;
  align-items: center;
  margin-bottom: 0px;
  box-shadow:0px 0px 10px 2px #dadada;
  width:100vw;
  background:light-dark(white,black);
 }

 .underline{
   border:dashed !important; 
 }

 .item {
  color: light-dark(black, white);
  font-size: 15px;
}
.selectable:hover, .selectable:active{
  /* font-weight: bold; */
  cursor: default;
  background:#f4f4f4;
}

.over {

  /* opacity: 1 !important;
  color:transparent !important;
  box-shadow: none !important; 
  border:1px black solid !important;
  padding-bottom:9px !important; */


}

textpath {
  text-shadow: 0px 0px 2px white;
}

.searchBg{
  background: light-dark(#eee,#333); 
}

/* .parent{
  pointer-events: none;
} */

.route_popup_num {
  padding: 0px 3px; 
  border-radius: 5px;
  cursor: pointer;  
  /* color:light-dark(black,white) !important;  */
  /* text-shadow:0px 0px 3px white; */
}

.popup_route{
  display: inline-block;
  background:green; 
  color: white;
  padding:3px; 
  border-radius: 10px;
  cursor: default;
  font-size: 10px;
}

.popup_num{
  font-size: 14px;
  font-weight: bold;
}

.popup_start{
  color:#6d6d6d; 
  font-size: 10px;
}

.popup_end{
  margin-top:2px; 
  font-size: 10px;
  color:#005ab3;
}

.popup_img {
  height:12px; 
  margin-right: 2px;
}

.popup_speed{
  font-size: 36px;
  line-height:5px;
  display: inline-block;
  float:right;
  margin-right: 14px;
}

.popup-delete{
  position: absolute;
  right:0; 
  bottom:0; 
  margin-bottom: 5px;
  margin-right: 5px;
}

.popup-delete img{
  width:20px; 
  height:20px; 
}

.popup-delete:hover{
  filter:sepia() saturate(10000%) hue-rotate(30deg); 
}
 .search-box{
  border:none;
  width:100px;
  background: #00000000;
  border-bottom:1px solid black; 
  border-left:1px solid transparent; 
  border-right:1px solid transparent; 
  border-top:1px solid transparent; 
  border-radius: 0px;

}

.search-box:hover, .search-box:active{
  border-left:1px solid gray; 
  border-right:1px solid gray; 
  border-top:1px solid gray; 
  border-bottom:1px solid gray; 
  border-radius: 5px;
}

.trip-popup{
  display:flex;
  align-items: center;
  margin-bottom: 5px;
}

.trip-popup-direction{
  margin-right: 9px;
}

.trip-popup-direction img{
  height:10px;
  width:10px;
  -webkit-mask-box-image-source: url('/i/right-arrow.png');
  /* background-color: color; */
  mask-image:url('/i/right-arrow.png');
  mask-size:contain;
}

.trip-popup-direction-imgbg{
  height:12px;
  width:12px;

}

.trip-popup-headsign{
  font-size: 11px;
  font-weight: 500;
  color: light-dark(#797979, #999);
  flex: 1;
  margin-right: 10px;
  max-width: 200px;
  white-space: break-spaces;
  line-height: 1.2;
  margin-top: 0px;
  width: max-content;
}

.close-events-list{
  position: absolute;
  right:10px;
  background-color: light-dark(white, #121212);
  width: 30px;
  z-index: 100;
  height: 30px;
  border-radius: 30px;
  padding:8px;
  box-shadow: 0px 0px 5px #777;
}

.trip-popup-times{
  /* font-weight: bold; */
  font-size: 13px;
  font-weight: 600;
}

.trip-popup-time{
  font-weight: 800;
  color:#8d8d8d;
  display: inline-flex;
}

.trip-popup-time-big{
    font-size: 35px;
    line-height: 35px;
    display: flex;
    font-weight: 800;
    margin-right: 1px;
    height: 35px;
    color: #9b9b9b;
  }

.trip-popup-live{
    color:light-dark(#364671, #729fec);
}

.trip-popup-delay{
  color:rgb(203, 21, 21);
}


.trip-popup-livemarker-popup{
  height:7px;
  width:7px;
  display:flex;
  margin-left: -2px;
  margin-top: -1px;
  margin-right: -3px;
}

.trip-popup-livemarker-popup img{
  width:100%;
  height:100%;
}

.trip-popup-livemarker{
  height:9px;
  width:9px;
  display:flex;
  margin-left: -2px;
  margin-top: -1px;
  margin-right: -3px;
}

.trip-popup-livemarker img{
  width:100%;
  height:100%;
}

.trip-popup-disclaimer{
  color:#8d8d8d;
  font-size: 10px;
  align-self: end;
}

.trip_popup_stop_name{
  /* display: flex; */
  display: none;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  text-decoration: underline;
  margin-bottom: 10px;
  margin-top: -2px;
}

.event_now_popup{
  margin-right: 8px;
}

.event_now_popup img{
  position: absolute;
  margin-top: -3px;
  margin-left: -2px;
}

.search-enter{
  margin-left:10px; 
  color: light-dark(black, white);
  cursor:pointer; 
}

.search-enter:hover, .search-enter:active{
  font-weight:bold; 
  color: gray;

}

.header_live_indication{

    height:15px !important;
    width:15px !important;
    margin-left: -2px;
    margin-top: -1px;
    margin-right: -3px;
}

.header_live_indication_small{
  align-self: auto !important;
  height:12px !important;
  width:12px !important;
  margin-right: -3px !important;
  margin-left: -2px;
  margin-top: -1px;
}

.show_routes_button{
  box-shadow: 0px 0px 5px #777;
  padding:3px 10px;
  margin-left: 3px;
  margin-top: 10px;
  width: fit-content;
  font-size: 12px;
  border-radius: 20px;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move;
}

 .container{
  display: block; 
}

.showOnMap{
    width: fit-content;
    height: 0px;
    display: flex;
    flex-direction: column;
    margin-left: -100%;
    align-items: center;
}

.mapArrow{
  /* width: 50px; */
  height:50px;
  /* width: fit-content; */
  margin-bottom: 3px;
}

.dark-enabled .mapElement{
  filter: invert(1) hue-rotate(180deg) saturate(1.5) brightness(1.5);
} 

.mapElement{
  height: 40px;
  /* height:30px; */
}

.menu {
  list-style: none;
  border-top: 0.1em solid black;
  border-bottom: 0.1em solid black;
  margin-bottom: 2em;
  margin-top: 40em;
  padding: 0 0 0.5em;
}

.web-padding{
  width:10vw; 
  display: inline-block;
}

.divider{
  display: block; 
  width:100%; 
}

.menu:before {
  content: "[";
}

.menu:after {
  content: "]";
}

.box {
  padding: 20px
}

.result, .button {
  margin-top: 20px
}

body{
  min-height: 100vh;
}

.menu > li {
  display: inline;
}

.menu > li + li:before {
  content: "|";
  padding-right: 0.3em;
}

.main-container{
  display:flex;
}

.tripPopupAlert{
  display: flex;
  white-space: normal;
  max-width: 300px;
  margin-top: 10px;
  font-size: 10px;
  min-width: 220px;
  border-top: 1px #ddd solid;
  padding-top: 5px;
}

.tripPopupAlert img{
  width:20px;
}

.trip_popup_alert_description {
  max-height: 85px;
  overflow: scroll;
  white-space: pre-line;
}

.route_alert_more_info{
  margin-left: 5px;
  text-decoration: underline;
  color:gray;
}

.washroom_live_indication{
  position: absolute;
  margin-top: -3px;
  margin-left: -2px;
}

.textClass{
  width:18ch !important;
  position: relative !important;
  z-index: 111810 !important;
}

.textOnMapClass{
  width:18ch !important;
  position: relative !important;
  z-index: 810 !important;
  pointer-events: none !important;
}


.eventPopupClass{
  position: relative !important;
  z-index: 111810 !important;
}

.textUpvote{
  position: absolute;
  pointer-events: all !important;
  background-color: light-dark(white, #121212);
  border-radius: 50px;
  height:10px;
  width:10px;
  padding:2px;
  box-shadow: 0px 0px 1px black;
  right:-12px;
  display: flex;
  top:0;
  bottom:0;
  margin:auto;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move;
}
.textUpvote img {
  width:100%;
}

.textChat{
  position: absolute;
  pointer-events: auto;
  /* background-color: light-dark(white, #121212); */
  /* box-shadow: 0px 0px 1px black; */
  bottom:95%;
  left:-3ch;
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 3px;
  width:fit-content;
  right:0;
  left:0;
  margin-left: auto;
  margin-right: auto;

}

.place_details_list{
  background: light-dark(white, #121212);
  position: absolute;
  display: flex;
  flex-direction: row;
  margin-bottom: 0px !important;
  pointer-events: all;
  align-items: center;
  right: 0;
  bottom: -22px;
  height: fit-content;
  font-size: 9px;
  top: 0;
  text-shadow: none;
  color:light-dark(black,white);
  line-height: 9px;
  padding: 4px 8px;
  border-radius: 5px;
  display: flex;
  box-shadow: 0px 0px 5px gray;
  cursor: url(i/torra-cursor-pointer.png) 10 10, move;
  margin: auto;
}

.place_details_list img{
  margin-right: 3px;
  width: 11px;
  height: 11px;
}

.placeName{
  position: absolute;
  /* background-color: light-dark(white, #121212); */
  /* box-shadow: 0px 0px 1px black; */
  top:100%;
  left:-3ch;
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 12px;
  width:fit-content;
  right:0;
  left:0;
  margin-left: auto;
  margin-right: auto;

  color:light-dark(black,white);
  margin-top: 3px;
  max-width: 130px;
  line-height: 16px;
  font-size: 13px;
  /* text-shadow: 0px 1px 2px #eee, 0px -1px 2px #eee; */
  text-shadow: -1px 1px 1px #eee, -1px -1px 1px #eee, 1px 1px 1px #eee, 1px -1px 1px #eee;
}

.rzslider .rz-restricted{
  background: #606060;
}
.placeNameDark{
  position: absolute;
  background-color: #2d2d2d;
  border-radius: 5px; 
  padding:2px 5px; 
  /* box-shadow: 0px 0px 1px black; */
  top:100%;
  left:-3ch;
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 12px;
  width:fit-content;
  right:0;
  left:0;
  margin-left: auto;
  margin-right: auto;

  color:white;
  margin-top: 3px;
  max-width: 130px;
  line-height: 14px;
  font-size: 11px;
}

.eventDetailDiv::after, .washroomDetailDiv::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border-width: 10px;
  border-style: solid;
  border-color: light-dark(white, black) transparent transparent transparent;
}

.eventDetailDiv, .washroomDetailDiv{
  /* background: url("i/rectangles/u1abs.png"); */
  /* background-repeat: no-repeat; */
  /* background-size: contain; */
  /* padding-bottom: 10px; */
  /* padding-top: 2px; */
  /* padding-left: 2px; */

  background-color: light-dark(white, #121212);
  color: light-dark(black, white);
  border-radius: 6px;
  padding: 5px 10px;
  bottom: 150%;
  left: 50%;
  text-align: left;

  display: flex;
  flex-direction: column;
  align-items: start;
  width: 130px;
  margin-top: 3px;
  font-size: 12px;
  line-height: 10px;
  /* height: 63px; */
  box-shadow: 0px 0px 5px 0px #abb2bd;
  cursor: url(i/torra-cursor-pointer.png) 10 10, move;
  text-shadow: none;
  color:light-dark(black,white);
}

.washroomDetailDiv .popupName {
  font-size: 11px;
  margin-bottom: 2px;
  font-weight: 700;
  margin-top: 2px;
}

.washroomDetailDiv .popupInfo {
  display: flex;
  width:100%; 
  flex-direction: row;
  line-height: 10px;
  font-size: 9px;
  /* margin-bottom: 2px; */
}

.eventDetailDiv .popupName {
  font-size: 10px;
  margin-bottom: 2px;
}

.washroomDetailDiv .popupDate {
  font-size: 8px;
  color:#25994c;
  font-weight: 600;
  margin-top: 2px;
  margin-bottom: 2px;
}

.eventDetailDiv .popupDate {
  font-size: 9px;
  color:#888;
  margin-bottom: 2px;
}

.eventDetailDiv .popupDetail {
  font-size: 8px;
  color:#888;
  margin-bottom: 2px;
}

.eventDetailDiv .popupInfo {
  display: flex;
  width:100%; 
  flex-direction: row;
  line-height: 10px;
}

.popupInfo img{
  height: 7px;
  margin-left: 1px;
  margin-top: -2px;
}

.textInputDiv{
  background: url("i/rectangles/c1.png");
  background-repeat: no-repeat;
  background-size: contain;
  padding-bottom: 10px;
  padding-top: 2px;
  padding-left: 2px;
  display: flex;
  flex-direction: row;
  align-items: center;
  width:90px;
}

.textInputDiv textarea {
  background: none;
  border:none;
  font-size: 4px;
  width:80%;
  outline: none !important;
  line-height: 1;
  overflow: hidden;
  flex:1;
}

.textInputDiv img {
  -webkit-mask-box-image-source: url("/i/animals/chicken.png"); 
  mask-size:  contain  !important;
  background-repeat: no-repeat; 
  background-color: green; 
  height: 8px; 
  width:8px;
  flex-grow: 0;
  flex-shrink: 0;
}

.textChatModals{
  /* background: url("i/rectangles/c3.png"); */
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 4px;
  text-shadow: none;
  color: light-dark(black, white); 
  width:90px;
  height:15px;
  padding-left: 2px;
  display: flex;
  line-height: 1;
  align-items: center;
  text-align: left;
}

.textChatModals img {
  -webkit-mask-box-image-source: url("/i/animals/chicken.png"); 
  mask-size: contain !important;
  background-repeat: no-repeat; 
  background-color: green; 
  height: 8px; 
  width:8px;
  flex-grow: 0;
  flex-shrink: 0;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move;
}

.textChatModals span{
  margin-left: 2px;
  flex: 1;
}

.textScale {
  transform:scale(1.5); 
  pointer-events: none;
  color:white;
  text-shadow: 0px 0px 3px black, 0px 0px 1px black;
  font-weight: 500;
  /* font-size: 12px;  this is set dynamically */
  width: 18ch !important;
  line-height: 1.3em;
  position: absolute;
  text-align: center;
  left:-9ch;
  bottom:-50%;
  cursor: url(i/cursor.png)  10 10, move;
}

.textOnMap {
  transform:scale(1.5); 
  pointer-events: all;
  color:white;
  text-shadow: 0px 0px 3px black, 0px 0px 1px black;
  font-weight: 500;
  /* font-size: 12px;  this is set dynamically */
  max-width: 18ch !important;
  line-height: 1.3em;
  position: absolute;
  text-align: center;
  left:-9ch;
  bottom:-50%;
  cursor: url(i/cursor.png)  10 10, move;
  font-family: 'Nunito';
  font-weight: bold;
}

.selected_route_container:before, .trip_popup_container:before, .alert_popup_container:before{
  display: none;
}

.selected_route_container, .trip_popup_container, .alert_popup_container{
  cursor: url(i/torra-cursor-grab.png)  10 10, move;
  width:1px;
  height:1px;
}

.selected_route_div, .trip_popup_div, .alert_popup_div, .directions_popup_div{
  width:fit-content;
  height:fit-content;
  position: absolute;
  bottom:20px;
  margin-left: -40px;
  background:light-dark(white,black);
  filter: drop-shadow(0px 0px 3px light-dark(rgba(0,0,0,0.5), rgba(255,255,255,0.5)));
  -webkit-filter: drop-shadow(0px 0px 3px light-dark(rgba(0,0,0,0.3), rgba(255,255,255,0.3)));
  border-radius: 15px;
}

.selected_route_div:after, .trip_popup_div:after, .alert_popup_div:after, .directions_popup_div:after{
  width:0px;
  height:0px;
  bottom:-13px;
  margin-left:20px;
  border-right: 10px solid transparent;
	border-top: 15px solid light-dark(#fff, #000);
	border-left: 10px solid transparent;
  position: absolute;
  vertical-align: middle;
  content: "";
}

.selected_route_div{
  min-width: 40px;
  padding:10px 10px 5px;
  border-radius: 5px;
}

.direction_popup_headsign{
  margin-top: 2px;
  margin-bottom: -2px;
  display: inline-block;
  font-weight: 400;
  font-size: 10px;
  text-align: center;
  text-overflow: ellipsis;
  width: 100%;
  overflow: hidden;
}

.directions_popup_div{
  padding:4px 8px 1px;
  margin-left: -80px;
  opacity: 0.85;
  bottom:25px;
  max-width: 150px;
  min-width: 85px;
  display: flex;
  flex-direction: column;
}

.biggerStopMarker{
  font-size: 14px;
}

.directionsExtraPadding{
  padding-bottom: 30px;
}

.directions_popup_div:after{
  left: 45px;
  /* bottom:-18px;
  border-right: 13px solid transparent;
	border-top: 19px solid #fff;
	border-left: 13px solid transparent;
  left:95px; */
}

.dir_popup_container{
  /* margin-top:10px; */
  display: flex;
  flex-direction: column; 
  justify-content: space-between;
  align-items: center;
}
.dir_popup_div_container{
  display: inline-flex;
  font-size: 13px;
  font-weight: 300
}

.trip_popup_div{
  padding:10px 10px 5px;
  margin-left: -130px;
  bottom:25px;
  opacity: 0.9;
  min-width: 160px;
  display: flex;
  flex-direction: column;
}

.trip_popup_div:after{
  bottom:-18px;
  border-right: 13px solid transparent;
	border-top: 19px solid light-dark(white, black);
	border-left: 13px solid transparent;

}

.alert_popup_div{
  padding:5px 5px 5px 10px;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  white-space: pre;
  margin-left: -40px;
}

.alert_popup_text{
  display: flex;
  align-items: center;
  flex-direction: row;

}

.alert_popup_detail{
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 10px;
  min-width:280px;
  white-space: pre-line;
  max-height:180px;
  overflow: scroll;
  color: light-dark(#666,#aaa);
}

.userIcon{
  position: absolute;
  box-shadow: 0px 0px 5px #555;
  border:3px solid white; 
  background: #4285f4;
  width:20px;
  height:20px;
  border-radius: 50px;
}

.userLocationPointer{
  position: absolute;
  height: 80px;
  width: 80px;
  background-image: linear-gradient(#3b77db, #4285f400);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  margin-left: -27px;
  pointer-events: none;
}

.userIconCircle{
  background: #4285f428;
  position: absolute;
  top: -12px;
  width: 50px;
  height: 50px;
  left: -12px;
  border-radius: 60px;
  pointer-events: none;
}

.userIconContainer{
  width:26px;
  height:26px;
}

.transit_alert_icon{
  height:40px !important;
  width:40px !important;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move !important;
}

.transit_alert_icon img{
  height:100%;
  width:100%;
}

.alert_popup_detail::-webkit-scrollbar {
  width: 0.8em;
  height: 0.4em;
}


.alert_popup_text img{
  width:25px;
  height:25px;
}

.alert_popup_last_update {
  font-size: 11px;
  color: light-dark(#666,#aaa);
}


.trip_popup_div:after{
  left:95px;
}

.selectedRouteElement{
  width:25px;
  height:25px;
  margin:3px;
  border-radius: 25px;
  font-weight: 600;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 3px black;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move;

}

.selected_route_title{
  font-size: 12px;
  margin-bottom: 5px;
  color: light-dark(#666,#aaa);
  display: block;
}

.selectedRouteElement span{
  line-height: 1;
}

.transit-legend{
  display: flex;
  flex-direction: row;
  font-size: 12px;
  text-align: center;
  margin-top: 10px;
  align-items: center;
  /* justify-content: center; */
}

.transit-legend img{
  /* height:20px;
  width:20px; */
  height:35px;
  /* width:40px; */

  margin-right: 6px;
}

.user_input_container {
  background: none !important;
  box-shadow: none !important;
  z-index: 810 !important;
  margin-top: 20px !important;

}

.user_input_container::before {
  border-top-color: transparent !important;
}

.user_input_pin {
  height: 30px;
  padding:10px; 
  padding-left: 3px;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move;
}

.user_input_pin_animal{
  margin:10px;
  padding:0 !important;
  width:30px;
  height: 30px;
  padding:10px; 
  padding-left: 3px;
  cursor: url(i/torra-cursor-pointer.png)  10 10, move;
}

.user_input_div {
  cursor: url(i/cursor.png)  10 10, move;
  background: url(i/rectangles/u0.png);
  background-size: contain; 
  background-repeat: no-repeat;
  height:70px; 
}

.user_input_input, .user_input_input input{
  /* 
  margin-left: 10px;
  width:225px;
  outline: none !important; */

    border:none !important;
    position: absolute;
    right: 0;
    left: 0;
    z-index: 2000;
    bottom: 0;
    top: 0;
    border-radius: 15px;
    padding: 15px;
}

.user_input_input img{
  right: 0;
  top: 0;
  z-index: 2000;
  position: absolute;
  bottom: 0;
  margin: auto;
  margin-right: 10px;
}

.user_input_popup{
  border:none !important;
  margin-left: 10px;
  width:185px;
  outline: none !important;
}


#dragimage{
  opacity: 0;
  width:1px;
  height:1px;
}

.dragicon{
  width:50px; 
  height:100%;
  display: inline-block;
  margin-top: auto;
  margin-bottom: auto;
}

.dragtext{
  display: inline-block;
  font-size: 18px;
  padding-left: 4px;
}

.dragicon img{
  height:100%;
  width:100%; 
}

.dragitem{
  width:200px;
  height:60px; 
  background-color:#e3f1ff;
  /* border:#000 solid 1px; */
  box-shadow:0px 0px 10px 2px #dadada;
  border-radius: 5px;
  position: absolute;
  z-index: 9999;
  margin-top: -3px;
  margin-left:-2px;
  padding:5px 15px;


  pointer-events: none;

  -webkit-user-select: none; /* Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */

}

.content-view{

  /* transform: scale(0.5);
  transform-origin: 0 0; */

  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  /* height: 100vh; */
  bottom: 0;
  width: 100vw;
  flex: 1;
  /* padding-top:20px;  */
  /* padding-left:1vw;  */
  /* padding-right: 1vw; */
  /* border-right: 1px black solid; */
  /* width:fit-content;  */
  box-sizing: border-box;
  /* min-height:100vh; */
  margin-bottom: 0;
  /* user-select: none; */
  /* -webkit-user-select: none; */
}

.sidebar-view{
  flex:1;
  background-color: light-dark(white, #121212);
  margin-left: 10px;
  /* box-shadow: 0px 0px 10px 2px #bbb; */
  border-left: #ccc 1px solid;
}

.leaflet-map-pane canvas{
  /* z-index: 0 !important;  */
}
.leaflet-pixi-overlay{
  z-index: 200;
  /* touch-action: inherit !important; */
  /* pointer-events: none !important;  */
}
.leaflet-pixi-overlay canvas{
  /* touch-action: inherit !important; */
  /* pointer-events: none !important;  */

}


.container{
  top:0;
  bottom:0;
  left:0;
  right:0; 
  position: absolute;

  /* margin:10px;  */
}

.left-menu {
  display: inline-block;
  vertical-align: top;
  width: 10vw;
  height: 60px;
}


.block-content{
  background-color: red;
  width:120%;
  height:120%;
}

.title-view{
  width:50vw; 
  display:inline-block; 
  white-space: pre-line; 
  text-align: center;
  font-size: 18px;
  flex:1;
}
.content{
  display:inline-block; 
  cursor:pointer;
  /* margin-top: 10px; */
  /* padding-bottom: 100px; */
}

.options{
  column-count: 4;
  width:50vw; 
  /* min-width: 600px; */
  padding:0;
  text-align: center;
  line-height: 0px;
  column-gap: 12px;
  margin-top: 0;
}

.item-content{
  box-shadow: 0px 0px 10px 2px #dadada;
  height: fit-content;
  border-radius: 10px;
  display: block;

}

.numPad{
  padding:3px; 
  visibility: hidden;
}
.mask{
  font-size: 0;
  margin:none;
  position: absolute; 
  top:0;
  bottom:0;
  left:0;
  right:0;
}

.circle-content{
  margin:auto;
}

.tooltiptextcontainer {
  visibility: hidden;
  display: inline-block;
  width:120px; 
  margin-left:-60px; 
  left:50%;
  margin-top: -50px;
  position: absolute;
  text-align: center;
 
}


/* Tooltip text */
.tooltiptext {

  width: fit-content;
  background-color: light-dark(black, white);
  color: #fff;
  text-align: center;
  padding: 5px 14px;
  font-weight: normal;
  bottom: 110%;
  border-radius: 5px;
 
  /* Position the tooltip text - see examples below! */
  position: relative;
  z-index: 1;
  font-size: 12px;
}

.tooltiptext::after {
  content: " ";
  position: absolute;
  top: 100%; /* At the bottom of the tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: light-dark(black, white) transparent transparent transparent;
}

.item-image{
  position: absolute;
  width:35%;
  height:100%;

  /* filter: brightness(10000%) contrast(100%) saturate(1); */
  pointer-events: none;

  -webkit-user-select: none; /* Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */

}

.menu-container{
  /* padding-top: 10px; */
}

.menu-icon:hover .tooltiptextcontainer {
  visibility: visible;
}

.backspace-icon, .menu-icon{
  display:flex;
  position: relative;
  font-size:30px; 
  width:50px;
  height:50px;
  box-shadow:0px 0px 10px 2px #dadada;
  border-radius:20px; 
  color: light-dark(black, white);
  line-height:1em; 
  padding:10px;
  text-decoration: none;
  margin-top:-5px;

  background-color: light-dark(white, #121212);
  -webkit-user-select: none; /* Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */

  -webkit-tap-highlight-color:  rgba(255, 255, 255, 0); 

}

.menu-icon:hover , .backspace-icon:hover{
  background: light-dark(#eee,#333); 
  box-shadow: none;
  font-weight: bold;
  cursor: pointer;
}


.optionNum {
  display: none;
}

.column{
  flex: 1 100%
}

.options ul{
  margin: 0; 
  list-style-type: none;
  padding:0; 
}

.options li, .options a, .options span{
  position:relative; 
  display: inline-flex;
  justify-content: center;
  align-items: flex-end;
  padding:5px; 
  -webkit-column-break-inside: avoid;
  border: 1px solid #eee;
  page-break-inside: avoid;
  text-decoration: none;
  break-inside: avoid;
  /* border-radius: 10px; */
  border-radius: 3px;
  text-align: center;
  line-height: initial;
  margin-top:0px; 
  margin-bottom: 0px; 

  padding-left: 5px;
  padding-right: 5px;
  width:100%;
  height:0;
  padding-top:100%;

  -webkit-user-select: none; /* Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */

  background-color: light-dark(white, #121212);
}

.isMoving {
  box-shadow: 0px 0px 10px 2px #dadada;
  background-color: light-dark(white, #121212) !important;
  margin-top:10px !important;
  margin-bottom:10px !important;
  width:90% !important;
  padding-top:90% !important;
  border-radius: 10px !important;
}

.selected{
  border: 1px #aaa solid !important; 
  cursor:pointer !important;
  border-radius:10px !important;
  width:95% !important;
  padding-top: 95% !important;
  margin-top: 2.5% !important;
  margin-bottom: 2.5% !important;
  margin-left: 2.5% !important;
  box-shadow: 0px 0px 5px 2px #ababab;
}


.container{
  display: block; 
}



.live_user_count{
  font-family: "Inter" !important;  /* Include this so that we "download" the Inter font */
}


@media only screen and (max-width: 1400px) {

  .uploadcare--dialog{
    margin-top: 60px;
  }

  .web-padding{
    width:0px; 
  }

  .options {
    width:70vw;
  }

  .content{
    margin-top:0;
  }

  .title-view {
    width:50vw;
  }

  .content-view {
    /* padding-right: 2vw;
    padding-left: 2vw; */

    padding:0px; 
    box-sizing:border-box; 
    width:100%; 
    margin:0; 
    border:none;

  }

  .backspace-icon, .menu-icon {
    margin-right: 1vw;
    margin-left: 1vw;
  }
}

@media only screen and (max-width: 960px) {

  .header-sec{
    margin-bottom: 30px;
   }
  

   .trip_popup_div{
      padding: 8px 8px 4px;
   }

   .trip-popup-headsign{
    font-size: 10px;
   }
   .trip-popup-times{
    font-size: 12px;
   }

   .trip-popup-direction img{
    height:8px;
    width:8px;
   }
  
  .main-container{
    flex-direction: column;
  }
  
  .options{
    column-count: 3;
    width: 96.5%;
  }  

  .item-text{
    font-size: 16px;
    padding:3px 5px;
  }

  .backspace-icon, .menu-icon{
    font-size:20px; 
    width:30px;
    height:30px;
    box-shadow:0px 0px 5px 1px #dadada;
  }

  .options .item{
    /* margin-right:5vw;
    margin-left:5vw; */
  }

  .content{
    width:100%; 
    height: 100%;
    -webkit-tap-highlight-color:  rgba(255, 255, 255, 0); 

  }

  .content-view{
    padding:0px; 
    /* padding-top: 24px; */
    box-sizing:border-box; 
    width:100%; 
    margin:0; 
    border:none;
  }

  .left-menu{
    width: 100px;
  }
  
  .title-view{
    flex: 1 100%;
    width:auto; 
  }

  .header-sec{
    display: inline-flex; 
    width:100vw;
    padding:20px;
    box-sizing: border-box;
    background-color: light-dark(white, #121212);
    margin-bottom: 3px;
    padding:0.5vw;
    box-sizing: border-box;

    position: fixed;
    z-index: 100;
  }

  
  .header-sec .menu-icon{
    float:none;
  }
  
  .header-sec .menu-icon{
    margin-right: 0;
  }


   .options li, .options a, .options span{
     width:100%;
     padding-top:100%;
     margin-top: 0;
   }
}


@media only screen and (max-width: 560px) {

  .options .item{
    margin-right:0;
    margin-left:0;
  }

}


@media only screen and (max-width: 360px) {

  .options{
    column-count: 2;
  }  
}



