#map{
    height:100%;
}
.hidden{
 display:none;
}
.top-right{
    position: absolute;
    top:0;
    right:0;
    background:rgba(255,255,255,0.95);
    z-index:1000;
    padding:6px;
    border-bottom-left-radius: 2px;
}

html{
    height:100%;
    font-family:Helvetica;
}

body{
    height:100%;
    margin:0;
}

.top-left{
    position: absolute;
    top:6px;
    left:6px;
    background:#fff;
    z-index:1000;
    padding:6px;
    border-radius: 4px;
    width:400px;
    color:#666;
    box-shadow:rgba(0,0,0,0.3) 0 0 18px;
}

.route{
    border-radius:4px;
    padding:4px;
    margin:6px;
    border:1px solid #999;
    float:left;
    width:188px;
    box-sizing:border-box;  
    transition:all 0.2s ease;
    background:#ddd;
}

.route.empty{
    background:#999;
}

.route i{
    float:left;
    padding:10px 6px;
}

.route-from-container.selected i{
    color:#289a31;
}

.route-to-container.selected i{
    color:#3288cc;
}

.route-text{
    float:left;
    width:126px;
    padding:0 2px;
    box-sizing:border-box;
}

.route-from-container.selected{
    border-color:#289a31;
    background:white;
}

.route-to-container.selected{
    border-color:#3288cc;
    background:white;
}

.route-from-close,.route-to-close{
    cursor:pointer;
    float:left;
}

.route-from-close:hover,.route-to-close:hover{
    transform:scale(1.2);
    transition:transform 0.2s ease;
}

.top-left-section{
    width:50%;
    float:left;
}

.overlay{
    position:fixed;
    top:0;
    left:0;
    height:100%;
    width:100%;
    z-index:10000;
    background-color:rgba(0,0,0,0.8);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}
.popup{
    width:620px;
    height:500px;
    border-radius:4px;
    background-color:#eee;
    position: relative;
}

.popup-header{
    text-align:center;
    padding:8px;
    font-size:24px;
}

.popup-close{
    position: absolute;
    top:4px;
    right:4px;
    transition:all 0.2s ease;
    cursor:pointer;
}

.popup-close:hover{
    transform:scale(1.2);
}

.popup-content{
    height:455px;
    overflow-y:auto;
}

.popup-show{
    position: absolute;
    bottom:0;
    left:0;
    border-top-right-radius: 2px;
    background:rgba(255,255,255,0.95);
    padding:6px;
    z-index:1000;
    cursor:pointer;
}

.file-interface input{
    width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.block{
    display:inline-block;
    margin:10px;
}

.generate-block{
    background:#23b7e5;
    color:white;
}

.read-block.false{
    background:#f05050;
    color:white;
}

.read-block.true{
    background:#27c24c;
    color:white;
}

.block-icon{
    padding:10px 6px;
    width:50px;
    text-align:center;
    color:rgba(255,255,255,0.8);
    font-size:40px;
    float:right;
}

.generate{
    width:250px;
    cursor:pointer;
    float:right;
}

#go-button{
    width:250px;
    cursor:pointer;
    float:right;
}

.false #go-button{
    cursor:not-allowed;
}

.true #go-button{
    cursor:pointer;
}

.true #go-button:hover{
    background:#ff7c05;
}

.generate:hover{
    background-color:#18a0ca;
}

.false .generate:hover{
    background:#ed2d2d;
}

.true .generate:hover{
    background:#21a240;
}

.read-block.false{
    background-color:#f05050;
}

.button-block.false{
    background:lightgray;
    color:white;
}

.button-block.true{
    background:#ff902b;
    color:white;
}

.center{
    position: absolute;
    display:flex;
    height:100%;
    width:100%;
    justify-content: center;
    align-items: center;
}

.number-icon{
    text-align:center;
    color:rgba(255,255,255,0.8);
    font-size:42px;
    display:inline-block;
    padding-left:12px;
    padding-bottom:6px;
}

.button-text{
    padding:21px;
    display:inline-block;
    vertical-align:bottom;
    padding-right:0;
    padding-left:8px;
}

.mini-block{
    background:#23b7e5;
    transition:height 0.4s ease;
    height:30px;
    margin:-14px 10px 0 60px;
    color:white;
    border-top:1px solid rgba(255,255,255,0.3);
    white-space:nowrap;
}

.mini-block em{
    margin-right:2px;
}

.mini-block.hidden{
    height:0px;
}

.mini-block .left{
    width:50%;
    display:inline-block;
    height:100%;
    padding:6px;
    box-sizing:border-box;
}

.mini-block .right{
    width:50%;
    display:inline-block;
    height:100%;
    padding:6px;
    box-sizing:border-box;
    border-left:1px solid rgba(255,255,255,0.3);
    margin-left:-6px;
}

.mini-block a{
    color:white;
    text-decoration:none;
    font-size:14px;
}

.car-button{
    opacity:0.5;
    width:calc(25% - 2px);
    float:left;
    transition:all 0.2s ease;
    cursor:pointer;
    border:1px solid transparent;
    border-radius:2px;
}

.car-button img{
    width:100%;
    padding:6px 10px 0 10px;
    box-sizing:border-box;
}

.car-button:hover{
    opacity:1;
    background-color:rgba(255,255,255,0.6);
}

.car-button.selected{
    background-color:rgba(255,255,255,0.6);
    opacity:1;
    border:1px solid #23b7e5;
}

.car-select{
    overflow:auto;
}

.logo-area{
    padding:10px;
}

.logo-area img{
    height:40px;
}

.logo-area .text{
    font-size:26px;
    padding:7px 24px;
    vertical-align:top;
    font-style:italic;
    display:inline-block;
    color:#333;
    font-weight:600;
    text-decoration:underline;
}

.logo-area.fixed{
    position:fixed;
    top:11px;
    left:11px;
}

.calculating{
    position:absolute;
    width:100%;
    background:rgba(255,255,255,0.8);
    z-index:2;
    height:100%;
    top:0;
    left:0;
    text-align:center;
    padding-top:65px;
    box-sizing:border-box;
    font-size:50px;
}