/* =============================================================================
  RESET
============================================================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
@font-face {
    font-family: 'dotted2';
	src: url('livedisplay_dotted_font.ttf'); 
}
canvas { font-family: 'dotted2'; }

body {
  font-family: sans-serif;
  font-size: 20px;
  line-height: 1.42857143;
  color: #ffffff;
  min-height: 100%;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.LD_button{
    background: #f1f1f1;
    border: #f1f1f1;
    border-radius:5px;
    cursor: pointer;
    font-size: 18px;
}
.LD_button:hover{
    background: #ffffff;
}
.LD_button:active{
    background: #e1e1e1;
}

/*div {
	border:1px solid red;
}*/
.option{
    margin-left:20px; margin-top:10px;
}
.option.titled{
    margin-top: 15px;
    /*border-top: 1px solid #80808099;/**/
    box-shadow: 0px -2px 11px #ffffff35;
    padding: 10px;
    width:100%; 
    text-align:left;
   transition: 0.3s;
}
.option.titled:hover{
    box-shadow: 0px -4px 11px #ffffff77;
    background:#ffffff0d;
   transition: 0.5s;
}
.option .hinty{
    display: block;
    padding-left:33px;
    color:#c1c1c1; 
    font-size:15px;
}
.option .linky{
    margin-left: 13px;
    font-size:19px; 
    color:#66ccff; 
    border-bottom:1px dotted #66ccff; 
    cursor:pointer;
}
#scrollbar{
    position:fixed; 
    width:100%; 
    height:auto; 
    border:0; 
    overflow: hidden; 
    background:#003; 
    color:#FFFFFF; 
    text-align:left; 
    z-index:1; 
    font-size:35px;
}
#scrollbar>div{
    color:#ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
}
#scrollbar>div.speed10{
    animation: marquee 20s linear infinite;
}
#scrollbar>div.speed20{
    animation: marquee 30s linear infinite;
}
#scrollbar>div.speed30{
    animation: marquee 40s linear infinite;
}
#scrollbar>div.speed40{
    animation: marquee 50s linear infinite;
}
#scrollbar:hover div {
  animation-play-state: paused
}
@keyframes marquee {
  0% {
    transform: translate(100vw, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}
#scrollbar>div>div{
    margin-right:100px;
    display: flex;
    align-items: center;
}
.routePill{
    border-radius:5px;
    padding:3px;
    display:inline-flex;
    justify-content: center;
    align-items: center;
    margin:10px;
    min-width: 30px;
    min-height: 50%;
    border:2px solid #808080;
}
.alertImportantSpan{
padding: 5px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 10px;
    margin: 5px;
    font-weight: bold;
    animation: newblink 1.5s linear infinite alternate;
}
@keyframes newblink {
    0% { 
        background:#d9534f;
        color:#ffffff;
    }
    100% { 
        background:#ffeeee;
        color:#d9534f;
    }
}


.shadowed {
	box-shadow:0px 0px 10px 1px #ffffff;
	-moz-box-shadow:0px 0px 10px 1px #ffffff;
	-webkit-box-shadow:0px 0px 10px 1px #ffffff;
	-khtml-box-shadow:0px 0px 10px 1px #ffffff;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px; 
	filter:alpha(opacity=90); 
	-moz-opacity: 0.9; 
	opacity: 0.9;  
}

.stopListItem{
    display:inline-flex; 
    align-items: center;
    white-space: nowrap;
    font-size:10px; 
    color:#ffffff; 
    max-width: 100px; 
    height:16px;
    text-overflow: ellipsis;
    overflow: hidden;
    border-radius:5px; 
    padding: 2px;
}

/*toggle position on screen*/
.cornerSelector{
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  position: relative;
  cursor:pointer;
}
.cornerSelector:before{
  content: '';
  position: absolute;
  height: 20%;
  width: 40%;
  background: #FFFFFF;
}
.cornerSelector.pos0:before{
  top: 10%;
  left: 10%;
}
.cornerSelector.pos1:before{
  top: 10%;
  right: 10%;
}
.cornerSelector.pos2:before{
  bottom: 10%;
  right: 10%;
}
.cornerSelector.pos3:before{
  bottom: 10%;
  left: 10%;
}
.cornerSelector.pos4:before{
  top: 10%;
  left: 30%;
}
.cornerSelector.pos5:before{
  bottom: 10%;
  left: 30%;
}
/*toggle position on screen*/
.sideSelector{
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  position: relative;
  cursor:pointer;
}
.sideSelector:before{
  content: '';
  position: absolute;
  height: 20%;
  width: 80%;
  background: #FFFFFF;
}
.sideSelector.pos0:before{
  top: 10%;
  left: 10%;
}
.sideSelector.pos1:before{
  bottom: 10%;
  left: 10%;
}
/*brightness selector*/
.briSelector{
  display: inline-block;
  vertical-align: middle;
  width: 60px;
  height: 30px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  position: relative;
  cursor:pointer;
  background: linear-gradient(45deg, #f2f3f4,#616161);
}
.briSelector:before{
  content: 'ABCD';
  position: absolute;
  height: 25%;
  width: 80%;
  top: 0%;
  left: 3%;
}
.briSelector.var0:before{
  text-shadow: -1px 0px 2px #000000;
   color: #ffffff;
}
.briSelector.var1:before{
  text-shadow: -1px 0px 2px #000000;
   color: #f3f3f3;
}
.briSelector.var2:before{
   color: #b1b1b1;
}
.briSelector.var3:before{
   color: #919191;
}
.briSelector.var4:before{
   color: #616161;
}
.briSelector.var5:before{
  text-shadow: 0px 0px 1px #ffffff;
   color: #090909;
}
.briSelector.var6:before{
  text-shadow: 0px 0px 1px #000000;
   color: #000000;
}
/*size selector*/
.sizeSelector{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  vertical-align: middle;
  width: 45px;
  height: 30px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  position: relative;
  cursor:pointer;
}

.LDButton{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  position: relative;
  cursor:pointer;
  color: #FFFFFF;
  margin-left: 31px; /*dont change*/
  margin-right: 18px;
  background: transparent;
  font-size: 20px;
  outline: none;
  transition: background-color .15s cubic-bezier(.8, 0, 1, 1);
}
.LDButton:not(:active):hover{
    background: #ffffff;
    color:#000000;
  transition: background-color .15s cubic-bezier(.8, 0, 1, 1);
}
.LDButton:active{
    box-shadow:-1px -1px 3px #808080;
}

#screenViewsList .gtr {
    padding:0px;
    padding-left:12px;
}
.screenViewTypes{
    display: flex;
    flex-direction: column;
    transition: all .15s cubic-bezier(.8, 0, 1, 1);
    position: absolute;
    bottom: 65px;
    left: 25px;
    padding: 20px;
    background: #000050;
    border: 2px solid #ffffff;
    border-radius: 5px 5px 5px 0px;
    box-shadow: 2px 2px 5px #ffffff77;
    max-height: 50vh;
    overflow-y: auto;
}
.screenViewTypes.invizzible{
    display: none;
  transition: all .15s cubic-bezier(.8, 0, 1, 1);
}
.screenViewTypes>span{
    cursor:pointer;
}
.screenViewTypes>span.small{
    font-size: 15px;
}
.screenViewTypes>span:hover{
    text-decoration: underline;
}

#pinAim{
    display:flex; 
    justify-content: center;
    align-items: center;
    position:absolute; 
    width:100vw;
    height:100vh;
    left:0px;
    top:0px;
    pointer-events: none;
    transition: all .35s;
}
#pinAim.hiddden{
    display:none;
}
#pinAim>div{
    position: absolute;
    width:50%;
    height:3px;
    opacity: 0.75;
    background: #ffffff;
    top:50%;
    left: 25%;
    transform: rotate(0deg);
    transition: all .35s;
}
#pinAim>img{
    width: 100%;
    height: 100%;
    object-fit: fill;
}
#pinAim>span{
    position: absolute;
    font-size:18px;
    color:#000000;
    width: 350px;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
}
#pinAim>button{
    position:absolute; 
    pointer-events: auto;
    font-size:30px;
    padding:16px;
    width:20%;
    width:auto;height: auto;
    border-radius: 11px;
}



/*checkbox checkbox checkbox checkbox checkbox checkbox checkbox checkbox checkbox checkbox checkbox checkbox 
http://wordsmall.ru/html-i-css/chekboksycheckbox-i-radioknopkiradiobottom.html
*/
.gtr {
  padding: 12px 15px;
  cursor: pointer;
}
.gtr + .gtr {
  border-top: 1px solid #f0f2f3;
}
.rtg {
  display: none;
}
.mrt {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-right: 12px;
  width: 30px;
  height: 30px;
  border: 2px solid #ffffff;
  border-radius: 12px;
}
.mrt:before {
  content: '';
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -9px 0 0 -8px;
  height: 8px;
  width: 12px;
  border: solid #FFFFFF;
  border-width: 0 0 4px 4px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.rtg:checked ~ .mrt {
  border-color: #FFFFFF;
}
.rtg:checked ~ .mrt:before {
  display: block;
}
.lst {
  font-weight: bold;
  font-size:20px;
  color: #FFFFFF;
}
.rtg:checked ~ .lst {
  color: #FFFFFF;
}

/* also radio */
.radioP {
  display: block;
  position: relative;
  margin-left: 15px;
  margin-bottom: 10px;
}

input[type="radio"] {
  display: block;
  position: absolute;
  top:0;
  left:0;
  z-index: 0;
}
input[type="radio"] + label {
  margin-left: 50px;
  font-weight: bold;
  font-size:20px;
  color: #FFFFFF;
}
input[type="radio"] + label span.rerrq {
  appearance: none;
  z-index: 20;
  position: absolute;
  left:0;
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  vertical-align: middle;
  box-shadow: hsla(0,0%,100%,.15) 0 1px 1px, inset hsla(0,0%,0%,.5) 0 0 0 1px;
  background: #000000;
  border:2px solid #ffffff;
  background-image: radial-gradient(ellipse at center,  #ffffff 0%,#ffffff 40%,#000000 45%);
  background-repeat: no-repeat;

  transition: background-position .15s cubic-bezier(.8, 0, 1, 1);
}
input[type="radio"]:checked + label span.rerrq {
  transition: background-position .2s .15s cubic-bezier(0, 0, .2, 1);
}

input[type="radio"] + label span.rerrq {
  background-position: -30px 0;
}
input[type="radio"]:checked + label span.rerrq {
  background-position: 0 0;
}
#fullscreenButton{
    position:absolute;
    z-index:2; 
    width:54px; 
    height:48px; 
    cursor:pointer; 
}
#fullscreenButton:hover{
  opacity: 0.95; /*for fullscreenButton*/
   filter:alpha(opacity=95); 
   -moz-opacity: 0.95; 
   background: #000088;
}
/*!------------------------------------*\
    Hamburger draewr button  https://webformyself.com/animiruem-ikonki-gamburgery-dlya-menyu-na-chistom-css/
\*!------------------------------------*/
.cmn-toggle-switch {
  display: block;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  width: 54px;
  height: 48px;
  font-size: 0;
  text-indent: -9999px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  background-color:#555555;
  opacity: 0.5; 
   filter:alpha(opacity=50); 
   -moz-opacity: 0.5; 
  -webkit-transition: background 0.3s;
   transition: background 0.3s;
}

.cmn-toggle-switch.hidden {
  opacity: 0.05; 
   filter:alpha(opacity=5); 
   -moz-opacity: 0.05; 
}
.cmn-toggle-switch:hover {
  opacity: 0.95; 
   filter:alpha(opacity=95); 
   -moz-opacity: 0.95; 
   background: #000088;
}
.cmn-toggle-switch-hidden {
  opacity: 0.05; /*for fullscreenButton*/
   filter:alpha(opacity=5); 
   -moz-opacity: 0.05; 
}
.cmn-toggle-switch-hidden:hover {
  opacity: 0.95; /*for fullscreenButton*/
   filter:alpha(opacity=95); 
   -moz-opacity: 0.95; 
   background: #000088;
}
.cmn-toggle-switch:focus {
  outline: none;
}

.cmn-toggle-switch span {
  display: block;
  position: absolute;
  top: 22px;
  left: 11px;
  right: 11px;
  height: 3px;
  background: #c1c1c1;
}

.cmn-toggle-switch span::before,
.cmn-toggle-switch span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #c1c1c1;
  content: "";
}

.cmn-toggle-switch span::before {
  top: -11px;
}

.cmn-toggle-switch span::after {
  bottom: -11px;
}

/*animation to X*/

.cmn-toggle-switch__htx {
  background-color: #555555;
}

.cmn-toggle-switch__htx span {
  -webkit-transition: background 0 0.3s; 
          transition: background 0 0.3s;
}

.cmn-toggle-switch__htx span::before,
.cmn-toggle-switch__htx span::after {
  -webkit-transition-duration: 0.3s, 0.3s;
          transition-duration: 0.3s, 0.3s;
  -webkit-transition-delay: 0.3s, 0;
          transition-delay: 0.3s, 0;
}

.cmn-toggle-switch__htx span::before {
  -webkit-transition-property: top, -webkit-transform;
          transition-property: top, transform;
}

.cmn-toggle-switch__htx span::after {
  -webkit-transition-property: bottom, -webkit-transform;
          transition-property: bottom, transform;
}

/* �������� ���������, �.�. ���� ������� */
.cmn-toggle-switch__htx.active {
  background-color: #cb0032;
  opacity: 1; 
   filter:alpha(opacity=100); 
   -moz-opacity: 1; 

}

.cmn-toggle-switch__htx.active span {
  background: none;
}

.cmn-toggle-switch__htx.active span::before {
  top: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.cmn-toggle-switch__htx.active span::after {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.cmn-toggle-switch__htx.active span::before,
.cmn-toggle-switch__htx.active span::after {
  background-color: #FFFFFF;
  -webkit-transition-delay: 0, 0.3s;
          transition-delay: 0, 0.3s;
}

/*          left bottom corner border for type text */
.bot-left {
  position: relative;
  margin-top: -5px;
}
.bot-left:before, .bot-left:after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: -3px;
  
}
.bot-left:before {
  top: -1px;
  width: 1px;
  background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#FFF), to(transparent));
  background-image: -webkit-linear-gradient(transparent, #FFF);
  background-image: -moz-linear-gradient(transparent, #FFF);
  background-image: -o-linear-gradient(transparent, #FFF);
}
.bot-left:after {
  right: -1px;
  height: 1px;
  background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(transparent));
  background-image: -webkit-linear-gradient(left, #FFF, transparent);
  background-image: -moz-linear-gradient(left, #FFF, transparent);
  background-image: -o-linear-gradient(left, #FFF, transparent);
}


/* google maps baloon*/
/* white background and box outline */

/* close button */
.gm-style > div:first-child > div + div > div:last-child > div > div:last-child
{
    margin-right: 5px;
    margin-top: 5px;
}

/* image icon inside close button */
.gm-style > div:first-child > div + div > div:last-child > div > div:last-child > img
{
    display: none;
}

/* positioning of infowindow */
.gm-style-iw
{
    top: 12px !important;
    left: 27px !important;
}


/**/
.flex-container {
	display: flex; 
	flex-direction: column;
	justify-content: flex-start;
	flex-wrap: nowrap;
} 
.flex-container.multiColumn {
    flex-wrap: wrap;
    bottom:15px !important;
} 
.flex-container.fullscreen {
    flex-wrap: wrap;
    bottom:15px !important;
    width:100vw;
    align-items: center;
    /*justify-content: space-between;/*vert*/
    justify-content: flex-start;
    align-content: space-evenly;/*horiz*/
}
.flex-container.scrollable {
        /*scroll-behavior: smooth;/**/
        overflow:auto;
} 
.flex-container.scrollable::-webkit-scrollbar{
    width: 5px;
}
.flex-container.scrollable::-webkit-scrollbar-track {
    border-radius: 3px;
}
.flex-container.scrollable::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background:#e1e1e1;
}

.flex-item {
    flex: auto;
    /*border-bottom:1px solid #808080; 
    border-right:1px solid #808080; 
    margin-left:10px;
    min-height: 200;
    flex-basis:20px;
    flex-shrink: 100;  default 1 */
    border-left:1px solid #808080; 
    background-color:#ffffff;
    box-shadow:rgba(128,128,128,0.5) 3px 0px 3px ;
}
.flex-item.current {
    animation: current 2s linear;
}
@keyframes current {
  0% {
    background: #ffff0035;
  }
  100% {
    background: #ffffff;
  }
}

.leftPanelBg{
    background: transparent;
}
.arrow_box {
	position: relative;
}
.arrow_box:after, .arrow_box:before {
	right: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.arrow_box:before {
	border-right-color: #000000;
	border-width: 10px;
	margin-top: -15px;
}

#checkUrlIframe{
    position:fixed; 
    left:10%; 
    top:10%; 
    width:80%; 
    height:80%; 
    z-index: 100; 
    border: 10px dashed #ff0000; 
    box-shadow:5px 5px 5px #ff0000;
    filter: saturate(100%);
    background: #ffffff;
    color:#000000;
}
#checkUrlIframe.fading{
    border: 10px dashed #ffffff; 
    box-shadow:5px 5px 15px #ffffff;
    filter: saturate(0%);
    transition: 2s;
   
}
.fullscreens{
    position:absolute; left:0px; top:0px; width:100%; height:100%; display:none;
    background: #ffffff;
}

.markerLabel{
    color:#000000;
    background:#ffffff;
    padding:3px;
    border-radius: 5px;
    box-shadow:5px 5px 5px #808080;
}
.markerLabel.scale1{
    font-size:20px;
}
.markerLabel.scale2{
    font-size:25px;
}
.stopEtaPanel{
    /*margin: 10px; */
    align-self: flex-start;
    padding: 10px;
    box-shadow: inset 0px 5px 5px #80808020;
    background:#ffffff;
    min-width: 400px;
    max-width:600px;
}
.stopEtaPanel.collapsed{
    padding-top: 5px;
    padding-bottom:0px;
}
.stopEtaTitle{
    background:#f5f5f5;
    display:flex;
    justify-content:space-evenly;
    align-items:center; 
    padding: 10px 0px 10px 10px;
    flex-wrap:nowrap; 
    align-self: flex-start;    
    font-size:35px; 
    min-width: 410px;
}
.stopEtaTitle.collapsed{
    padding:5px;
}