/* Font Faces */
@font-face {
    font-family: 'robotoregular';
    src: url('../fonts/Roboto-Regular-webfont.eot');
    src: url('../fonts/Roboto-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Roboto-Regular-webfont.woff') format('woff'),
         url('../fonts/Roboto-Regular-webfont.ttf') format('truetype'),
         url('../fonts/Roboto-Regular-webfont.svg#robotoregular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotolight';
    src: url('../fonts/Roboto-Light-webfont.eot');
    src: url('../fonts/Roboto-Light-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Roboto-Light-webfont.woff') format('woff'),
         url('../fonts/Roboto-Light-webfont.ttf') format('truetype'),
         url('../fonts/Roboto-Light-webfont.svg#robotolight') format('svg');
    font-weight: normal;
    font-style: normal;

}

* {
  	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  	margin: 0;
    padding: 0;
    -webkit-user-select:html;
    -khtml-user-select:html;
    -moz-user-select:html;
    -ms-user-select:html;
    user-select:html;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-touch-callout: none;
}

html, body {
    position: relative;
    width: 100%;
    height: 100%;
	overflow: hidden;
    font-family: "Fire Sans", "HelveticaNeue", "robotoregular", sans-serif;
    font-size: 15px;
    background-color: #424242;
}

#content {
	position: absolute;
	top: 40px;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	overflow: hidden;
	transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
	-moz-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-o-transform: translate3d(0,0,0);
	background-color: #fff;
	-webkit-box-shadow: -4px 0px 5px -2px rgba(50, 50, 50, 0.75);
}

/* Top bar styles */

.top-bar {
	position: fixed;
	height: 40px;
	width: 100%;
	top:0;
	left: 0;
	transform: translate3d(0,0,0);
	background-color: #58acd0;
	-webkit-transform: translate3d(0,0,0);
	-moz-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-o-transform: translate3d(0,0,0);
	display: block;
	color: #fff;
	z-index: 5;
	-webkit-box-shadow: -4px 0px 5px -2px rgba(50, 50, 50, 0.75);
		#route-flip {
			display: block;
			float: right;
			position: absolute;
			right: 10px;
			top: 8px;
			background: url('../img/flip.png') no-repeat;
			background-size: 25px 25px;
			height: 25px;
			width: 25px;
		}
		.favourite-btn-inactive {
			@extend #route-flip;
			background: url('../img/favourite_inactive_menu.png') no-repeat;
			background-size: 25px 25px;
			right: 40px;
		}
		.favourite-btn-active {
			@extend #route-flip;
			background: url('../img/favourite_active_menu.png') no-repeat;
			background-size: 25px 25px;
			right: 40px;
		}
		#title h1 {
			height: 20px;
			display: inline;
			line-height: 40px;
			font-size: 12px;
			text-overflow: ellipsis;
		}
		#title {
			width: 100%;
			text-align: center;
		}
	}



#menu {
	position: absolute;
	height: 25px;
	width: 35px;
	display: block;
	float: left;
	top: 2px;
	left: -5px;
	margin-left: 15px;
	margin-top: 8px;
	background-size: 25px 20px;
	padding-left: 15px;
	padding-top: 2px;
	font-size: 10px;
	line-height: 16px;
}

.home {
	background-image: url('../img/menu.png');
	background-repeat: no-repeat;
}

.back {
	background-image: url('../img/back.png');
	background-repeat: no-repeat;
	background-size: 25px 25px;
}


.upgrade-required {
	display: none;
}

#upgradenow {
	padding: 5px;
	border: 1px solid black;
	top: 25px;
	position: relative;
}

/* List Styling */

#search {
	width: 100%;
	height: 30px;
	-webkit-appearance:none;
	border: none;
	padding-left: 30px;
	padding-right: 10px;
	background-image: url("../img/search.png");
	background-position: 10px 7px;
	background-repeat: no-repeat;
	background-size: 15px 15px;
}

textarea:focus, input:focus{
    outline: 0;
}

.list li {
	list-style: none;
	width: 100%;
}

.list {
	z-index:4;
	-webkit-user-select: none;
}

.list li a {
	text-decoration: none;
	color: #000;
	display: block;
	height: 60px;
	padding-left: 10px;
}

.list h2 {
	font-size: 14px;
	line-height: 25px;
	padding-top: 5px;
}

.schedule-list {
	h2 {
		padding-top: 0px;
		line-height: 18px;
	}
}

.schedule-list-arrive {
	font-size: 13px;
}

.schedule-list p {
	padding-top: 5px;
	line-height: 18px;
}

.list p {
	font-style: 10px;
	font-family: "HelveticaNeue-Light", "robotolight";
}


.list-item {
	border-bottom: #c5c5c5 1px solid;
	background-color: #fff; 
}

.list-title {
	height: 25px;
	line-height: 25px;
	font-weight: bold;
	font-size: 13px;
	border-bottom: #c5c5c5 1px solid;
	background-color: #dddddd;
	padding-left: 5px;
	margin-right: -5px;
}

.upgrade-list-button {
	position: relative;
	float: right;
	top: -35px;
	right: 25px;
	border: 1px solid #000;
	padding: 3px;
}

/* Hide the schedule list by default */
.schedule-list {
	display: none;
}

.schedule-list-item {
	position: relative;
	height: auto;
	padding-bottom: 10px;
	padding-top: 10px;
}

.schedule-list-item:last-child {
	margin-bottom: 40px;
}

.arrive-list-item:last-child {
	margin-bottom: 40px;
}

#dateselect {
	width: 100%;
	height: 40px;
}

.nest-li:last-child {
	margin-bottom: 40px;
}

.depart-list-forward {
	background-image: url('../img/forward.png');
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: right center;
}

/* Transition styling */

#depart-content {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#arrive-content {
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
}

#schedule-content {
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;

}

.content {
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
	transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
	-moz-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-o-transform: translate3d(0,0,0);
	-webkit-transform: translateZ(0); 
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;
}

.animate {
	transition: transform 0.2s ease-out;
	transition: -webkit-transform 0.2s ease-out;
	transition: -moz-transform 0.2s ease-out;
	transition: -ms-transform 0.2s ease-out;
	transition: -o-transform 0.2s ease-out;
}

/* Sidemenu Styling */

#sidemenu {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 60%;
	height: 100%;
	z-index: 0;
	height: 30px;
	-webkit-appearance:none;
	display: none;
	color: #fff;
	li {
		list-style: none;
		height: 40px;
		width: 100%;
		border-bottom: 2px solid #313131;
			a {
				text-decoration: none;
				display: block;
				height: 100%;
				width: 100%;
				line-height: 40px;
				color: #fff;
				padding-left: 40px;
			}
			&#routes a {
				background-image: url('../img/routes.png');
				background-size: 22px 19px;
				background-repeat: no-repeat;
				background-position: 10px 10px;
			}
			&#reserve a {
				background-image: url('../img/reserve.png');
				background-size: 12px 24px;
				background-repeat: no-repeat;
				background-position: 15px 9px;
			}
			&#favourites a {
				background-image: url('../img/favourites.png');
				background-size: 23px 23px;
				background-repeat: no-repeat;
				background-position: 8px 6px;
			}
			&#freestickers a {
				background-image: url('../img/freestickers.png');
				background-size: 18px 20px;
				background-repeat: no-repeat;
				background-position: 10px 7px;
			}
			&#servicenotices a {
				background-image: url('../img/servicenotices.png');
				background-size: 20px 18px;
				background-repeat: no-repeat;
				background-position: 10px 7px;
			}
			
			
			&#settings a {
				background-image: url('../img/settings.png');
				background-size: 20px 20px;
				background-repeat: no-repeat;
				background-position: 10px 8px;
			}
			
			&#upgrade a {
				background-image: url('../img/upgrade.png');
				background-size: 20px 20px;
				background-repeat: no-repeat;
				background-position: 10px 7px;
			}
			
			&#contact a {
				background-image: url('../img/contact.png');
				background-size: 24px 16px;
				background-repeat: no-repeat;
				background-position: 10px 11px;
			}
	}
}

/* Departures list styling */
$favouriteIconSize:  40px;

#depart-content {
	li {
		position: relative;
		.favouriteAction {
			display: inline-block;
			position: relative;
			float: right;
			font-size: 8px;
			text-align: center;
			padding: 0;
			width: 42px;
			height: 0;
			line-height: 15px;
			background-color: #d0585c;
			color: #fff;
			transition: background-color 600ms;
			-webkit-transition: background-color 600ms;
		}
		.remove-btn-text {
			transition: opacity 1s;
			-webkit-transition: opacity 300ms;
		}
	}
}

/* Button Nav Styling */
#menubar {
	list-style: none;
	width: 100%;
	background-color: #1f556d;
}

#menubar .btn {
	position: relative;
	width: 100%;
	display: inline-block;
	border-radius: 5px;
	margin: 5px 0 5px 1%;
	height: 45px;
	line-height: 10px;
	text-align: center;
	background-color: #eeeeee;
	-webkit-box-shadow: 0px 3px 0px 0px #ccc;
	-moz-box-shadow:    0px 3px 0px 0px #ccc;
	box-shadow:         0px 3px 0px 0px #ccc;
}

#menubar .btn:last-child {
	margin-right: 1%;
}

#menubar .btn a {
	text-decoration: none;
	color: #000;
	width: 100%;
	height: 100%;
	position: absolute;
	padding-top: 30px;
	top: 0;
	left: 0;
	z-index: 1;
}

.menu-icon {
	position: relative;
	margin: 4px auto;
	width: 20px;
	height: 20px;
}

#directions {
	background-image: url("../img/directions.png");
	background-size:20px 20px;
}

#reserve {
	background-image: url("../img/reserve.png");
	background-size:14px 20px;
	background-repeat:no-repeat;
	left: 5px;
}

#routemap {
	background-image: url("../img/routemap.png");
	background-size:20px 20px;
}

/* Secondary Pages */
.page {
	margin: 15px;
}
.page .upgrade-page li {
	list-style: circle;
	margin-left: 25px;
}

/* Schedule Content Page */
#schedule-content {
	.schedule-list.current {
		.load {
			float: right;
		}
		.list-item {
			.status {
				&.ontime {
					color: green;
				}
				&.other {
					color: red;
				}
			}
		}
	}
}

/*Load div*/
.load-div {
	position: relative;
	float: right;
	width: auto;
	margin: 13px 10px 0 0;
}

.load-text {
	font-size: 10px;
	color: #999;
	font-weight: 800;
	margin-bottom: 2px;
	text-align: center;
}

.load-amount {
	text-align: center;
	font-size: 20px;
	color: #777;
}

.result-text {
	padding-left: 10px;
}

/*settings style*/
#settings-container {
}

#settings-container label {
	color: #555;
	margin: 0 0 0 0;
	font-size: 20px;
}

#ios-maps-setting {
	margin: 5px 0 0 0;
	width: 100%;
	height: 25px;
	font-size: 15px;
}

#about-container {
	margin: 15px 0 0 0;
	border-radius: 5px;
	padding: 5px;
	background-color: #eee;
}

#about-container p {
	font-size: 12px;
	margin: 5px 0 0 0;
}

/* Random crap */
.hidden {
	display: none;
}