/*!
Theme Name: ttd
Author: BlinkTag Inc
Author URI: https://blinktag.com
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ttd

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

ttd is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

h2 {
	margin: 0.5em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #4B4B4A;
	font-family: 'Raleway', sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	clear: both;
	color: #4B4B4A;
	font-weight: 700;
}

p {
	margin-bottom: 1.5em;
}

dfn, cite, em, i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

.strikethrough {
	position: relative;
}

.strikethrough:before {
	border-bottom: 2px solid #000000;
	position: absolute;
	content: "";
	width: 100%;
	height: 80%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #ffffff;
	/* Fallback for when there is no custom background color defined. */
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul, ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ul.list-group {
	margin: 0;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: #0451A0;
}

a:hover, a:focus, a:active {
	color: #0667c7;
}

a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/
.site-header {
	overflow: hidden;
	position: relative;
}

.site-header a {
	color: #4B4B4A;
}

.site-header a:hover {
	color: #353535;
}

.site-header a:hover {
	text-decoration: none;
}

.site-logo {
	display: inline-block;
	padding-top: 22px;
	vertical-align: top;
	width: 60px;
}

.site-logo-title {
	margin: 0;
	padding-top: 34px;
	font-size: 16px;
	font-weight: 700;
	display: inline-block;
	vertical-align: top;
}

.header-tools {
	display: none;
}

a.header-mobile-search-button {
	position: absolute;
	top: 7px;
	right: 15px;
	color: #0451A0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

.menu-controls {
	text-align: right;
}

.menu-controls .hamburger,
.menu-controls .cross {
  font-size: 24px;
  color: #0650A5;
  background: none;
  border: 0;
  padding: 0 5px;
	text-shadow: none;
}

.menu-controls .cross {
  display: none;
}

.main-navigation-item {
	display: block;
	padding: 5px 15px;
	background: #F0EFED;
	margin-bottom: 5px;
}

.main-navigation-item:hover {
	text-decoration: none;
}


.main-navigation-item:active {
	background: rgb(203, 202, 200);
}

.main-navigation-item.active {
	background-color: #0650A5;
	color: #FFFFFF;
}

.main-navigation-item.active:hover {
	color: #FFFFFF;
}

.main-navigation-text {
	font-weight: 700;
	font-size: 22px;
	margin-top: 8px;
	color: #0650A5;
	display: inline-block;
}

.main-navigation-item.active .main-navigation-text {
	color: #FFFFFF;
}

.main-navigation-chevron {
	color: #0650A5;
	float: right;
	padding-top: 17px;
}

.main-navigation-base {
	height: 20px;
	background-color: #0650A5;
}

.home .menu-controls {
	display: none;
}

.main-navigation {
	display: none;
}

.home .main-navigation {
	display: block;
	border-bottom: 0;
	padding-top: 10px;
}

.home .main-navigation-base {
	display: none;
}

.content-area .comment-navigation,
.content-area .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.content-area .posts-navigation {
	margin: 0;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
	/* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/* Buttons */
.btn {
	text-transform: uppercase;
	font-weight: bold;
	border-radius: 0;
}

.btn-wide {
	width: 250px;
}

.btn-lg {
	text-transform: none;
	font-size: 1.3125rem;
}

.btn.btn-yellow {
    color: #4B4B4A;
    background-color: #DEA229;
}

.btn-yellow.active, .btn-yellow:active, .show>.btn-yellow.dropdown-toggle {
  background-color: #fabd42;
}

.btn-yellow:hover {
  color: #4B4B4A;
  background-color: #fabd42;
}

.btn.btn-blue {
	color: #fff;
  background-color: #0650A5;
}

.btn-blue.active, .btn-blue:active, .show>.btn-blue.dropdown-toggle {
  background-color: #226fc7;
}

.btn-blue:hover {
  color: #fff;
  background-color: #226fc7;
}

.btn.btn-clear {
	color: #fff;
	background-color: transparent;
	border: 2px solid #ffffff;
}

.btn-clear.active, .btn-clear:active, .show>.btn-clear.dropdown-toggle {
  background-color: transparent;
}

.btn-clear:hover {
  color: #454545;
  background-color: #fff;
}

/* Forms */

.form-group label {
	font-weight: bold;
}

.form-group .label-small {
	margin-bottom: 0;
}

/* Backgrounds */

.bg-green {
	background-color: #93c47d;
}

.bg-orange {
	background-color: #e69138;
}

.bg-blue {
	background-color: #6fa8dc;
}

/* Content */

.entry-header {
	padding: 0;
}

.entry-title, .route-title {
	margin: 0 0 10px 0;
	padding: 11px 15px;
	color: #FFFFFF;
	font-size: 1.5rem;
	text-transform: uppercase;
}

.entry-title a, .route-title a {
	color: #FFFFFF;
}

.entry-title-blue, .route-title {
	background-color: #0451A0 !important;
}

.entry-title-green {
	background-color: #79A12F;
}

.announcement-top {
	background: #CE2029;
	min-height: 40px;
	padding: 10px 0;
	text-align: center;
}

.announcement-top a {
	color: #fff;
}


	
.route-number, .route-circle {
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	text-align: center;
	line-height: 30px;
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	vertical-align: middle;
}

/*#transit-route:hover {
	background-color: #4B4B4A !important;
	/*border-radius: 50%;
	border: 4px solid #0451A0;
	text-align: center;
	width: 90px;
	height: 90px;
	transform: scale(1);


}*/


#transit-route:before{
	/*content: '';*/
	position: absolute; top: 5px; left: 50%;
	margin-left: -60px;
	width: 120px;
	height: 80px;
	border-radius: 100% 100% 70% 70%;
	background: #b5cacf; /* Old browsers */
  background: -moz-linear-gradient(top, #b5cacf 0%, #5c86ac 50%, #004080 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #b5cacf 0%,#5c86ac 50%,#004080 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #b5cacf 0%,#5c86ac 50%,#004080 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b5cacf', endColorstr='#004080',GradientType=0 );
  }
  #transit-route:hover{
	box-shadow: 0 0 0 5px #fff, 0 0 0 8px #0A5ACB;
	background-color: #4B4B4A !important;
  }



.route-number:hover {
	text-decoration: none;
	color: #fff;
}

.route-number.route-number-large, .route-circle-medium {
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 1.5rem;
}

.section-title {
	font-weight: bold;
	font-size: 26px;
	text-align: center;
}

.more-menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.more-menu li {
	font-size: 1.5rem;
	font-weight: 700;
	padding-bottom: 10px;
}

.calendar-icon {
	width: 55px;
	height: 55px;
	border: 3px solid #0451A0;
	text-align: center;
	font-weight: bold;
	font-size: 1rem;
	margin-right: 10px;
}

.calendar-icon-date {
	color: #FFFFFF;
	background-color: #0451A0;
	height: 22px;
	line-height: 22px;
}

.calendar-icon-month {
	color: #0451A0;
	line-height: 27px;
}

.section-header {
	color: #0451A0;
	font-size: 1.5rem;
	border-bottom: 4px solid #0451A0;
	padding-bottom: 10px;
}

.section-header-small {
	border-bottom: 5px solid #79A12F;
  display: inline-block;
	color: #0451A0;
	margin-bottom: 7px;
	font-weight: 700;
}

article {
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.font-color-blue {
	color: #0451A0;
}

.font-color-grey {
	color: #4B4B4A;
}

.icon-container {
	display: inline-block;
	background-color: #FFFFFF;
	border: 5px solid #79A12F;
	border-radius: 50%;
	width: 45px;
	height: 45px;
	margin: 0 auto;
	line-height: 32px;
	font-size: 1.75rem;
	color: #0451A0;
	text-align: center;
}

.icon-container img {
	max-width: 25px;
}

.icon-container.icon-container-medium {
	width: 60px;
	height: 60px;
	line-height: 50px;
}

.icon-container.icon-container-background-green {
	border-color: #0451A0;
}

/* Box */

.box-header {
	color: #FFFFFF;
	padding: 13px 28px;
	margin: 0;
	background-color: #4B4B4A;
}

.box-header a {
	color: #FFFFFF;
}

.box-header a:hover {
	text-decoration: none;
}

.box-header-green {
	background-color: #79A12F;
}

.box-header-blue {
	background-color: #0451A0;
}

.box-header-red {
	background-color: #A00404;
}

.box-content {
	background-color: #F0EFED;
	border: #979797 1px solid;
	border-top: none;
}

.box-no-header .box-content {
	border: #979797 1px solid;
}

.box-item {
	display: block;
	border-bottom: #979797 1px solid;
	padding: 10px;
	display: flex;
}

.box-item:hover {
	text-decoration: none;
}

.box-item:last-of-type {
	border-bottom: none;
}

.box-item-title {
	font-weight: bold;
	color: #4B4B4A;
}

.box-item-read-more {
	padding-top: 3px;
}

.box-item-image {
	margin-right: 10px;
	width: 55px;
	height: 55px;
}

/* Box Menu */

.box-menu {
	padding: 20px 0;
	text-align: center;
	font-weight: 700;
}

.box-menu a {
	display: inline-block;
}

.box-menu .active {
	border-bottom: 10px solid #79A12F;
}

.box-link {
	display: inline-block;
	font-size: 1.3125rem;
	font-weight: bold;
	margin-bottom: 12px;
	border-bottom: 5px solid #79A12F;
}

.box-link:hover {
	text-decoration: none;
}

/* Highlight */

.highlight {
	position: relative;
	display: block;
}

.highlight-image {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.highlight-text {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 7px 15px;
	min-height: 100px;
}

.highlight-title {
	font-weight: bold;
	color: #4B4B4A;
	line-height: 1.2;
}

.highlight-subtitle {
	color: #4B4B4A;
	line-height: 1.2;
}

/*Timetables*/

#timetable-nav input[aria-selected="true"] + label, #timetable-nav input:checked + label {
    background: #0451a0 !important;
	color: #fff !important;
}


#timetable-nav label {
    display: inline-block;
    padding: 6px 10px !important;
    color: #4e5256;
    background: #ececec;
    font-size: 1rem;
    text-transform: none;
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    border: 1px solid #d6d6d6;
    border-width: thin;
}

.timetable {
	overflow-x: hidden !important; 
    overflow: hidden; 
    overflow-y: hidden; 
}

.single-route .table-container {
	overflow: auto !important;
	overflow-x: auto !important
}



  .timetable tbody {
	border-top: 1px solid #D6D6D6 !important;
	border-right: 1px solid #D6D6D6;
  }
.single-route .timetable td {
	border-left: 1px solid #bbbbbb;
  }
  .single-route .timetable th {
	border-left: 1px solid #bbbbbb;
  }
  .single-route .timetable th:last-of-type {
	border-right: 1px solid #bbbbbb;
  }
  /*.single-route .timetable tr:first-of-type {
	border-top: 1px solid #bbbbbb;
  }*/
  .single-route .timetable tr:last-of-type {
	border-bottom: 1px solid #bbbbbb;
  }
  .single-route .timetable table thead th {
	border-bottom: 0 solid #bbbbbb;
  }
  .single-route .timetable .city-row th {
	color: #B52627;
  }
  .single-route .timetable .stop-name {
	font-size: 0.9em;
  }
  .single-route .timetable .stop-name-container {
		width: 75px;
		max-width: 300px;
		min-width: 170px !important;
	
  }

  .single-route .stop-time.pm {
	font-weight: bold;
  }
/* Route Page */

/*.timetable-page .timetable-menu {
	margin: 0;
}

.timetable-page .btn-jump-menu {
	border: none;
}

.timetable-page .map {
  width: 100%;
  height: 300px;
}

.timetable-page .map .marker {
  width: 15px;
  height: 15px;
  border: 1px solid #111;
  border-radius: 16px;
  background: #4171ff;
  cursor: pointer;
  opacity: 0.9;
}

.timetable-page .map .mapboxgl-popup-content h4 {
  margin: 0 20px 0 0;
}

.timetable {
	margin-bottom: 25px;
}

.timetable .table-container {
  overflow-x: scroll;
}

.timetable .description {
	font-size: 1.6rem;
}

.timetable table.table-horizontal {
  margin: 10px 0 10px 170px;
  width: auto;
}

.timetable table.table-horizontal thead {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

.timetable table tbody tr:last-child {
	border-bottom: 1px solid #D6D6D6;
}

.timetable table tbody tr th {
	vertical-align: top;
  width: 170px;
  display: block;
  padding: 2px 3px;
  position: absolute;
  left: 15px;
  height: 60px;
  background: #F0F0F0;
  border-left: 1px solid #D6D6D6;
	line-height: 1.2;
}

.timetable table tbody tr:last-child th {
	border-bottom: 1px solid #D6D6D6;
}

.timetable table tbody tr th,
.timetable table tbody tr td {
	font-size: 14px;
}

.timetable table tbody tr td {
  height: 60px;
}

.timetable .stop-time.pm {
	font-weight: bold;
}

.timetable .symbol {
  padding-left: 4px;
}

.timetable .stop-header {
  text-align: center;
}

.timetable .run-header {
  text-align: center;
}

.timetable .stop-code {
  font-weight: normal;
  display: none;
}

.timetable .stop-time {
	padding: 2px 5px;
  text-align: center;
	font-family: "myriad-pro","Helvetica Neue",Helvetica,Arial,sans-serif;
	border-right: 1px solid #D6D6D6;
}*/

.real-time-arrival-results {
  display: none;
  border-top: #979797 1px solid;
  padding-top: 10px;
}

.real-time-arrival-prediction {
	margin-bottom: 5px;
	background-color: #ffffff;
	padding: 5px 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.real-time-arrival-route-name {
	flex-grow: 1;
}

.real-time-arrival-prediction-time-container {
	display: inline-block;
	padding: 3px 5px;
	background-color: #F0EFED;
	margin-left: 5px;
}

.real-time-arrival-prediction-time {
	font-size: 24px;
	font-weight: bold;
	display: inline;
}

.real-time-arrival-prediction-time-label {
	font-size: 12px;
	display: inline;
}

/* Footer */

.footer-grey-box {
	background-color: #4B4B4A;
}

.footer-light-grey-box {
	background-color: #D8D8D8;
}

.site-footer {
	background: #F0EFED;
	overflow: hidden;
	font-weight: 700;
	color: #0451A0;
}

.site-footer ul.menu {
	margin: 0;
	list-style: none;
	padding: 0;
}

/* Project Page */

.project-map {
	min-height: 400px;
	max-height: 600px;
	width: 100%;
}

.projects-map {
	height: 550px;
}

.project-map .mapboxgl-popup-content,
.projects-map .mapboxgl-popup-content {
	padding-right: 25px;
	font-size: 16px;
	font-weight: bold;
}

/* Meetings Page */

.past-meeting {
	display: block;
}

/* Parking Page */

.parking-box {
	text-align: center;
	padding: 30px 0;
}

.parking-box-title {
	color: #ffffff;
	font-size: 24px;
	text-transform: uppercase;
	font-weight: bold;
}

.parking-box-image {
	display: inline-block;
	padding: 25px 0 40px;
	display: block;
	margin: 0 auto;
	color: #FFFFFF;
	font-size: 100px;
}

@media screen and (min-width: 768px) {
	.announcement-top {
		font-size: 20px;
	}

	/*.timetable .stop-time {
    /*padding: 2px 10px;
	}*/

	.timetable table.table-horizontal {
    /*margin: 10px 0;*/
  }

	.timetable table tbody tr {
    position: relative;
    border-top: 1px solid #D6D6D6;
  }

	.timetable table.table-horizontal tbody tr th {
    /*width: 280px;*/
    /*position: absolute;
    white-space: nowrap;
    overflow: hidden;*/
    background: #F0F0F0;
    border-top: none;
    border-right: 1px solid #D6D6D6;
    border-left: 1px solid #D6D6D6;
		height: auto;
		line-height: inherit;
  }

	.timetable table tbody tr td {
	  height: auto;
	}

  .timetable table.table-horizontal tbody tr td:nth-child(2) {
    /*margin-left: 280px;*/
    display: block;
    border: none;
	/*border-right: 1px solid #D6D6D6;*/
	}

	#timetable_id_1.timetable table.table-horizontal tbody tr th,
	#timetable_id_2.timetable table.table-horizontal tbody tr th {
		width: 480px;
	}

	#timetable_id_1.timetable table.table-horizontal tbody tr td:nth-child(2),
	#timetable_id_2.timetable table.table-horizontal tbody tr td:nth-child(2) {
		margin-left: 480px;
	}

	#timetable_id_7.timetable table.table-horizontal tbody tr th,
	#timetable_id_8.timetable table.table-horizontal tbody tr th {
		width: 390px;
	}

	#timetable_id_7.timetable table.table-horizontal tbody tr td:nth-child(2),
	#timetable_id_8.timetable table.table-horizontal tbody tr td:nth-child(2) {
		margin-left: 390px;
	}
	
	#timetable_id_20.timetable table.table-horizontal tbody tr th {
		width: 352px;
	}

  #timetable_id_20.timetable table.table-horizontal tbody tr td:nth-child(2) {
		margin-left: 352px;
	}

	.route-map {
		height: 500px;
		width: 100%;
		display: block;
  	border: none;
	}

	.table-horizontal tbody tr th.stop-name-container {
	  min-width: 250px;
	}

	.main-article {
		position: relative;
	}

	.page-top-image {
		height: 370px;
		width: 100%;
		object-fit: cover;
		position: absolute;
		top: 0;
		right: 0;
		z-index: -1;
	}

	.home .page-top-image {
		position: relative;
	}

	.main-navigation {
		background: #F0EFED;
	}

	.home .main-navigation {
		padding-top: 0!important;
	}

	.main-navigation-item {
		text-align: center;
		padding: 25px 0 5px;
		margin-bottom: 0;
	}

	.home .main-navigation-item {
		padding-top: 15px;
	}

	.main-navigation-item.active {
		border-top-left-radius: 20px;
		border-top-right-radius: 20px;
	}

	.main-navigation-text {
		display: block;
		font-size: 18px;
	}

	.icon-container {
		width: 80px;
		height: 80px;
		line-height: 70px;
	}
	
	.icon-container img {
		max-width: 50px;
	}

	.main-navigation-chevron {
		display: none;
	}

	.entry-header {
		min-height: 242px;
		overflow: hidden;
		padding: 0 15px;
	}

	.entry-title, .route-title {
		margin-top: 55px;
		padding: 22px;
		font-size: 2.5rem;
		display: inline-block;
	}

}

@media screen and (min-width: 992px) {
	.site-header-col {
		height: 150px;
	}
	
	.header-tools {
		display: block;
		position: absolute;
		right: 43px;
		top: 20px;
	}

	.header-mobile-search-button {
		display: none;
	}

	.site-logo-container {
		float: left;
	}
	
	.site-logo {
		padding-top: 40px;
		width: auto;
	}
	
	.site-logo-title {
		padding-top: 63px;
		font-size: 30px;
		font-weight: 600;
	}
	
	.header-search-form {
		display: inline-block;
		margin-right: 15px;
	}

	.main-navigation-text {
		font-size: 24px;
	}

	.menu-controls {
		position: absolute;
		top: 94px;
		right: 20px;
	}

	.menu-controls .hamburger,
	.menu-controls .cross {
		font-size: 33px;
		padding: 9px 10px;
	}

	.btn-lg {
		font-size: 1.875rem;
	}

	.parking-box-image {
		font-size: 175px;
	}
}


.sticky-tab {
	box-sizing: border-box;
	background-color: #F8C733;
	position: fixed;
	width: 250px;
	height: 200px;
	padding: 40px 20px 40px 20px;
	text-align: left;
	right: -200px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 200ms linear;
	border-radius: 25px 0 0 25px;
  }
  
  .sticky-tab.is-open {
	right: 0;
  }

.sticky-tab .inside {
	display: none;
}

.sticky-tab.is-open .inside {
	display: block;
}

.sticky-tab h3 {
	color: #0f1111;
	margin-bottom: 25px;
	font-size: 20px;
  }
  
  .sticky-tab a,
  .sticky-tab .fa {
	display: block;
	margin: 15px auto;
	color: #0f1111;
	font-size: 20px;
	font-weight: 700;
  }

  .sticky-tab a {
	  text-decoration: underline;
  }

  .sticky-tab a.is-open {
	color: #0451A0;
}
  
  .sticky-tab .chevron-left {
	position: absolute;
	top: 82px;
	left: -51px;
	transform: translateY(-100%);
	transform: rotate(-90deg);
	font-size: 20px;
	font-weight: 700;
	color: #0f1111;
  }

  .sticky-tab.is-open .chevron-left {
	display: none;
  }

/* TIMETABLES */

.stop-code {
	background-color: ;
} 

.stop-header {
	background-color: ;
	color:;
}

/* .run-header {color:red;} */

.stop-time{
	background-color:;
}

.trip-row {
	background-color: white !important;
}

/* .menu-type-simple {
	background-color: ;
} */

.timetable {
	/* box-shadow: 5px 5px 50px 5px; */
	/* border-radius: 15px; */
	background-color: #0451A0; 
}

.table-horizontal {
	background-color: white !important;
}

.table-container {
	background-color: ;
}

.day-1, .direction-1, .direction-2{
	/* border-radius: 15px; */
	background-color:  !important;
	color: !important;
}

#timetable-nav {
	color: ;
	background-color: ;
}

thead > tr {
	background-color: #0451A0;
	text-align: center !important;
	color:white;
}

div.box-content {
	background-color:  !important;
}

td:nth-of-type(2) {
	margin:0;
	top: 50%;
	/* padding-left:5% !important; */
/* 	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	position:absolute; */
}

col:nth-child(1) {
	border-right: 1px solid green;
}

tr:nth-child(even) {
	background-color: #79A12F !important;
	color: white;
}

tr td {
	/* text-align: center; */
	font-weight: bold;
}

td.stop-name-container {
	text-align: left;
}

.briefcase-icon {
	transform: rotate(90deg);
	width: 30px;
}

.projects-list .box-link {
	width: 100%;
}

ul.no-bullets {
	list-style-type: none;
}

.flex-box {
	display: flex;
	align-items: center;
	justify-content: center;
  }