node{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	cursor: pointer;
	padding: 0px 8px;
}
node::after {
    background: #EEEEEE;
    bottom: 0;
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    width: calc(100% - 76px);
	left: 38px;
	z-index: 0;
}
.nearby node::after {
    width: 90%;
	left: 5%;
}
node:last-child::after{
	height: 0px;
}
.nodewrap{
	order: 2;
	flex: 0 0 calc(100% - 78px);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 10px 0px;
}
.nearby .nodewrap{
	flex: 1 0 calc(100% - 57px);
}
route .nodewrap::before {
    background: #289dcc;
    content: '';
    height: 100%;
    position: absolute;
	left: 18px; bottom: 0;
    width: 4px;
	z-index: 1;
}
route node:first-child .nodewrap::before{
    height: calc(100% - 26px);
	bottom: 0px;
}
route node:last-child .nodewrap::before{
    height: 26px;
	top: 0px;
}
.nearby marker{
	flex: 0 0 16px;
	height: 16px;
	background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB2ZXJzaW9uPSIxLjEiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9uO3RleHQtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjtpbWFnZS1yZW5kZXJpbmc6b3B0aW1pemVRdWFsaXR5OyIgdmlld0JveD0iMCAwIDg0NyA4NDciIHg9IjBweCIgeT0iMHB4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgCiAgICAuZmlsMCB7ZmlsbDojMDAwMDAwfQogICAKICA8L3N0eWxlPjwvZGVmcz48Zz48cG9seWdvbiBjbGFzcz0iZmlsMCIgcG9pbnRzPSIyMDAsMzM2IDI0NywyODcgNDIzLDQ2NCA1OTksMjg3IDY0NywzMzUgNDIzLDU2MCAiPjwvcG9seWdvbj48L2c+PC9zdmc+");
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-position: center;
	order: 10;
}
route marker{ /* Round Marker */
	content:'';
	background: #FFF;
	border: 4px solid #289dcc;
	border-radius: 16px;
	flex: 0 0 16px;
	position: relative;
	order: 0;
	height: 16px;
	width: 16px;
	line-height: 16px;
	font-size: 8px;
    text-align: center;
	margin-left: 0px;
	margin-right: 8px;
	font-stretch: condensed;
	z-index: 2;
}
route marker:empty{
	flex: 0 0 8px;
	height: 8px; width: 8px;
	margin-left: 4px;
}
nodename{
	font-size: 15px;
	font-weight: 900;
	color: #444444;
	flex: 1 0 100%;
	order: 1;
}
nodecode:not(:empty){
	display: inline-block;
	position: relative;
	font-size: 12px;
	background-color: #000000;
	color: #fff;
	text-align: center;
	padding-left: 3px;
	padding-right: 3px;
	margin-right: 5px;
	height: 14px;
	vertical-align: text-bottom;
	order: 2;
	border-radius: 50% / 35px;
}
.nearby nodecode:not(:empty){;
	flex: 0 0 30px;
	order: 1;
}
road{
	display: inline-block;
	font-size: 11px;
	line-height: 14px;
	position: relative;
	left: 0px;
	color: #555555;
	order: 3;
}
controls{
	display: inline;
	flex: 0 0 50px;
	order: 3;
}
node .nodeline{
	display: flex;
	flex: 0 0 calc(100% - 35px);
	align-items: center;
	min-height: 38px;
	padding-left: 35px;
	order: 11;
}
node .nodeline line{
	font-weight: bold;
	font-size: 16px;
	flex: 0 1 45px;
	margin-right: 5px;
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
node .nodeline dest{
	font-size: 12px;
	flex: 2 1 92px;
	line-height: 14px;
}
node .nodeline .nextbus-wrapper{
	flex: 0 0 120px;
    display: flex;
}
node .nodeline nextbus{
	font-size: 16px;
	flex: 0 0 30px;
	margin: 0px 4px;
	text-align: center;
	line-height: 12px;
}
nextbus.DD:after, nextbus.SD:after, nextbus.BD:after{
	content:'';
	background-repeat: no-repeat;
	background-position: bottom;
	display: block;
	position: relative;
	margin: auto;
	width: 20px;
	height: 12px;
	font-size: 12px;
	font-family: 'Bebas Neue', cursive;
}
nextbus.DD:after{
	background-image:url("/images/dd.png");
	background-size: 20px 12px;
	/*content: 'DD';*/
}
nextbus.SD:after{
	background-image:url("/images/sd.png");
	background-size: 20px 8px;
	/*content: 'SD';*/
}
nextbus.BD:after{
	background-image:url("/images/bd.png");
	background-size: 20px 5px;
	/*content: 'LONG';*/
}
nextbus.SEA:after{
	border-bottom: 2px solid green;	
}
nextbus.SDA:after{
	border-bottom: 2px solid yellow;	
}
nextbus.LSD:after{
	border-bottom: 2px solid red;	
}

.nodepin:before{
	background: #fff;
	border: 3px solid #000;
	border-radius: 6px;
	color: #FFF;
	display: block;
	position: fixed;
	content:'A';
	height: 8px;
    width: 8px;
    top: 4px;
    left: -15px;
	line-height: 5px;
	font-size: 5px;
	font-weight: bold;
	vertical-align: top;
    text-align: center;
	z-index: 2;
	opacity: 0.8;
}
.nodepin{
	background: #000;
	color: #F0F0F0;
	text-align:center;
	padding: 2px 5px;
	width: max-content !important;
	height: fit-content !important;
	border-radius: 8px / 50%;
	opacity: 0.8;
}