




/**
* NOTES
*
* univers web font
* font-family: 'Univers LT W01_55 Roman';
* font-family: 'Univers LT W01_65 Bold';
*
* brand colors
* red:   #c41230
* blue:  #00529b
* grey:  #e2e2e2
* white: #fff
*
*/





/** imports
****************************************/
/*@import url("//cdnjs.cloudflare.com/ajax/libs/normalize/3.0.2/normalize.min.css");*/
/*@import url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css");*/
/* @import url("//fast.fonts.net/cssapi/75e29192-43f4-4773-986f-911f99b021ea.css"); */





/** basic tag styles
****************************************/
* {
	box-sizing: border-box;
}
body {
	font: 1em 'Univers LT W01_55 Roman', sans-serif;
	color: #666;
	letter-spacing: -.02em;
}
@media (min-width:600px) {
	body {
		padding-top:2em;
	}
}
h1,h2,h3,h4,h5,h6 {
	font-family:'Univers LT W01_65 Bold', sans-serif;
	color: #00529b;
	text-transform: uppercase;
	margin-top: 0;
	line-height:1.2;
	font-weight: normal;
	/* 	font-family: 'Univers LT W01_55 Roman', sans-serif; */
	/* 	font-weight: normal; */
}
p {
	margin-top: 0;
}
strong {
	color: black;
}
a {
	color: #c41230;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
img {
	max-width: 100%;
	display: inline-block;
}
input, button, select, textarea {
	background: #fafafa;
	border:none;
	padding: .5em;
	border: 1px solid #e2e2e2;
	line-height: 1.5 !important;
}
button {
	background: #e2e2e2;
	text-transform: uppercase;
	transition: all .5s;
}
button:hover,
button:focus {
	background: #c41230;
	border-color: #c41230;
}
li {
	position:relative;
}
table {
	margin-bottom:1.5em;
	width:100%;
	border-collapse:collapse;
	max-width:100%;
	overflow-x:scroll;
}
th,td {
	text-align:left;
	padding:.2em .5em;
}

tr {
	border-bottom:1px solid rgba(0,0,0,.1);
}
tbody tr:nth-child(even) {
	background:rgba(0,0,0,.02);
}
thead tr {
	background:rgba(0,0,0,.05);
}
tbody tr:hover {
	background:#00529b;
	color:white;
}
label {
	cursor:pointer;
	display:block;
}
fieldset {
	padding: 1em 2em;
	border: 1px dashed rgba(0,0,0,.1);
	/*background: rgba(0,0,0,.01);*/
	border-radius: .5em;
	max-width:100%;
}
fieldset legend {
	font-size:.6em;
}
input[type="text"],
input[type="password"],
select
{
	max-width:100%;
	width:100%;
}

/** global class styles
****************************************/
.content img {
	padding: 1em;
}
.align_left {
	float: left;
	clear: left;
	padding-left: 0 !important;
}
.align_right {
	float: right;
	clear: right;
	padding-right: 0 !important;
}
#edit {
	background:#c41230;
	color:white;
	text-transform: uppercase;
	line-height:1;
	font-size: .8em;
	position:fixed;
	bottom:0;
	right:0;
	padding:1em 2em;
	text-decoration: none;
	transition:all 1s;
}
#edit:hover {
	background: #00529b;
}
.text-right {
	text-align:right;
}
.responsive_table {
	width:100%;
	overflow-x: auto;
	margin-bottom:1.5em;
}
.responsive_table table {
	margin-bottom:0;
	min-width:800px;
}
.responsive_table--nowrap table {
	min-width:auto;
	white-space:nowrap;
}

/** title
****************************************/
.title img {
	padding: 6em 1em 1em;
}
@media (min-width: 400px) {
	.title img {
		padding: 1em 0;
		max-width: 30%;
	}
}
@media (max-width: 1020px) {
	.title img {
		margin-left: 1em;
	}
}
@media (max-width: 400px) {
	.title img {
		margin-left:0;
	}
}




/** search
****************************************/
.search {
	overflow: hidden;
	position: absolute;
	top: 1em;
	right: 0em;
	font-size: .8em;
}
.search button .fa {
	line-height: inherit;
	color:white;
}
@media (max-width: 600px) {
	.search {
		right: 1em;
	}
}





/** social media links
****************************************/
.social {
	padding:0;
	list-style:none;
	overflow: hidden;
	line-height: 1;
	position:absolute;
	top: 2em;
	right: 0em;
}
.social li {
	float:left;
}
.social a {
	font-size: 1.3em;
	display:block;
	padding: .3em;
	text-align: center;
	color: #e2e2e2;
	transition: color .5s;
}
.social a:hover {
	color: #c41230;
}
@media (max-width: 600px) {
	.social {
		right: 1em;
	}
}





/** nav
****************************************/
.nav {
	background: #c41230;
	font: 1em 'Univers LT W01_65 Bold', sans-serif;
	text-transform: uppercase;
}
.nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	background: #c41230;
}
.nav li {
	position: relative;
}
.nav a {
	display: block;
	color: white;
	transition: background 1s;
	padding:.5em;
	text-decoration: none;
}
.nav li:hover > a {
	background: rgba(0,0,0,.2);
	transition: background 0s;
}
.nav .parent > a,
.nav .current > a {
	background: rgba(0,0,0,.1);
}
.nav .btn.toggle {
	display:none;
}
.nav .has_children > a:after {
	content: "\00bb";
	position: absolute;
	right: 1em;
}
@media (min-width: 600px) {
	/* full with nav */
	.nav > ul {
		display:table;
		width: 100%;
	}
	.nav > ul > li {
		display: table-cell;
	}
	.nav > ul > li > a {
		text-align:center;
	}
	.nav a {
		display: block;
		padding: 1em;
	}
	.nav > ul > .has_children > a:after {
		content: "";
	}
	.nav ul ul {
		position: absolute;
		top:100%;
		left:0;
		font-size: .7rem;
		width: 20em;
		max-height: 0;
		overflow: hidden;
		z-index: 999999;
		transition: max-height .5s;
		box-shadow: 0 0 10em rgba(0,0,0,.3);
	}
	.nav ul ul ul {
		left: 100%;
		top: 0;
	}
	.nav li:hover > ul {
		max-height: 50em;
	}
	/* force last TWO flyouts to the left */
	.nav > ul > li:nth-last-child(-n+2) > ul {
		right:0;
		left: auto;
	}
	/* force last TWO sub flyouts to the left */
	.nav > ul > li:nth-last-child(-n+2) > ul ul {
		left:-100%;
		top:0;
	}
	.nav ul:hover {
		overflow: visible;
	}
}
@media (max-width: 1000px) {
	.nav {
		font-size: .8em;
	}
}
@media (max-width: 800px) {
	.nav {
		font-size: .7em;
	}
}
@media (max-width: 599px) {


	.nav {
		position: fixed;
		top: 0;
		left: -85vw;
		height: 100%;
		width: 85vw;
		transition: left 1s;
		z-index: 999;
		font-size: 1em;
	}
 	.nav > ul {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		overflow-y:scroll;
		overflow-x:hidden;
	}
	.show_nav .nav {
		left: 0;
	}
	.nav .btn.toggle {
		position:absolute;
		left: 100%;
		top: 0;
		background: #c41230;
		padding: .5em;
		line-height: 1;
		font-size: 1.3em;
		cursor: pointer;
		display: block;
	}
	.nav ul ul {
		max-height:0;
	}
	.nav .is_clicked > ul {
		max-height:20em;
	}
	.nav li.is_clicked > a {
		background: rgb(224, 50, 79);
	}
	.nav ul ul a {
		font-size: .7em;
		padding-left: 2em;
	}
	.nav ul ul ul a {
		padding-left: 4em;
	}
	.nav ul ul ul ul a {
/* 		padding-left: 6em; */
	}
	.nav ul {
/* 		margin: 0 1em; */
		transition:all .5s;
		overflow:hidden;
	}
	.nav li:first-child {
/* 		padding-top:1em;  */
	}
	.nav li:last-child {
/* 		padding-bottom:1em;  */
	}
}





/** breadcrumbs
****************************************/
.breadcrumbs {
	background:#eee;
	padding:1em;
	font-size:.8em;
	overflow: hidden;
}
.breadcrumbs * {
	float:left;
}
.breadcrumbs span::after {
	content: "\00bb";
	display: inline-block;
	padding: 0 .5em;
	color: #ccc;
}
.breadcrumbs span:last-child::after {
	content:"";
}





/** page
****************************************/
.page {
	max-width:1000px;
	margin: auto;
	position: relative;
}
html {
	background: #e2e2e2;
}
body {
	background:white;
}





/** footer
****************************************/
footer {
	padding:5em;
	background: #e2e2e2;
	font-size: .7em;
	text-align: center;
}





/** main
****************************************/
.main {
	padding: 1em 0 5em;
	line-height: 1.7;
}
.main::after {
	content: "";
	display: block;
	clear: both;
}
@media (max-width:1020px) {
	.main {
		padding:1em 1em 5em;
	}
}





/** has sidebar
****************************************/
@media (min-width: 600px) {
	body.has_sidebar .content {
		float:left;
		width: 70%;
	}
	body.has_sidebar .sidebar {
		float: right;
		width: 30%;
	}
	.sidebar {
		padding-left:2em;
	}
}




/** sidebar
****************************************/
.sidebar {
	padding-left:3em;
	font-size: .9em;
}





/** sidebar section nav
****************************************/
.section {
}
.section > ul > li,
.section > ul > li > a {
	display:none;
}
.section > ul > li.current,
.section > ul > li.parent {
	display:block;
}
.section ul {
	padding:0 0 0 .5em;
	list-style: none;
}
.section ul ul ul {
	padding-left: 1em;
}
.section ul ul li::before  {
	position: absolute;
	left: -1em;
	content: "\00bb ";
}
.section .current > a {
	font-weight: bold;
}





/** homepage specific
****************************************/
.p_home .content h1 {
	display: none;
}
.p_home .breadcrumbs {
	display:none;
}
.bx-controls-direction {
	opacity: 0;
	transition: opacity 1s;
}
.bx-wrapper:hover .bx-controls-direction {
	opacity: 1;
}
.bx-wrapper {
	margin-bottom: 2em !important;
}
.bx-wrapper img {
	padding: 0;
}
@media (min-width:1020px) {
	.p_home .main {
		padding-top: 0;
	}
}




/** homepage post rows
****************************************/
.posts_row {
	display: table;
	width: 100%;
	font-size: .85em;
	line-height: 1.3;
}
.posts h2 {
	background: #00529b;
	color:white;
	line-height: 1;
	padding: .5em;
	/* 	font-size: 1.2em; */
}
.posts > ul {
	padding: 0;
	list-style: none;
	margin: 1em;
}
.posts li {
	margin-bottom: 1em;
}
.posts span {
	display: block;
	font-size: .8em;
}
@media (min-width: 600px) {
	.posts_row > .posts {
		display: table-cell;
		width: 33.333%;
	}
	.posts:nth-child(2) {
		/* 		padding: 0 1.5%; */
	}
}





/** index page posts
****************************************/
.t_index .post {
	margin: 3em 0;
}
.t_index .post h1 {
	margin-bottom:0;
	font-size: 1.5em;
}





/** homepage calls to action
****************************************/
.calls_to_action {
	font-size: .8em;
	overflow: hidden;
	padding: 1em;
}
.action {
	padding-left: 6em;
	padding-right: 4em;
	margin-bottom: 1em;
	/* 	outline: 1px solid red; */
	position: relative;
	float:left;
}
.action .icon {
	position:absolute;
	left:0;
	top:0;
	line-height: 1;
	font-size: 4em;
}
.action .icon a {
	color:  #e2e2e2;
}
.action h2 {
	font-weight: normal;
	margin-bottom: 0;
}
.action:nth-child(odd) {
	clear: left;
}
@media (min-width: 700px) {
	.action {
		width:50%;
	}
	.calls_to_action {
		font-size: .8em;
		overflow: hidden;
		padding: 4em;
	}
}




/** special nav
****************************************/
.special_nav {
	background: #00529b;
	font: 1em/1 'Univers LT W01_65 Bold', sans-serif;
	text-transform:uppercase;
	text-align:right;
	position:fixed;
	z-index:10;
	top:0;
	width:100%;
}
.special_nav ul {
	list-style:none;
	padding: 0;
	margin: auto;

	max-width:1000px;
}
.special_nav li:first-child {
	width:100%;
}
.special_nav li {
	display:table-cell;
	white-space: nowrap;
}
.special_nav a {
	color:white;
	display:inline-block;
	padding: .5em;
	text-decoration: none;
	transition: all .2s;
}
.special_nav a:hover {
	background:#e2e2e2;
	color:#00529b;
}
@media (max-width:600px) {
	.special_nav {
		display: none;
	}
}













/** train status iframes
****************************************/
.t_iframe iframe {
	width:100%;
	height:400px;
	border:none;
}











/** pagination
****************************************/
.pager ul {
	list-style:none;
	padding:0;
	text-transform:uppercase;
	position: relative;
	text-align: center;
	line-height:1;
	background: #e2e2e2;
	font-size: 0;
}
.pager li {
	display:inline-block;
}
.pager a {
	display:block;
	padding:1em;
	text-decoration:none;
	color:inherit;
	font-size: .8rem;
	transition: all .3s;
}
.pager a:hover {
	background: white;
	color: #c41230;
}
.pager .MarkupPagerNavOn > a {
	background: rgba(255,255,255,.6);
	cursor: default;
}






/** typeahead
****************************************/
.twitter-typeahead {
	float:left;
}

.tt-input {
	color:black;
}
.tt-hint {
	color:rgba(0,0,0,.3);
}

.tt-dropdown-menu {
  background-color: #fff;
  box-shadow:3px 3px 20px rgba(0,0,0,.2);
  font-size:.8em;
  width:100%;
}

.tt-suggestion p {
	margin:0;
	padding:.5em 1em;
}

.tt-suggestion.tt-cursor {
  background-color: #e2e2e2;
}














/** sponsors homepage
****************************************/
.sponsors {
	font-size:.8em;
	margin-top:4em;
}
.sponsors h2 {
	background:#c41230;
	color:white;
	padding:.5em;
}
.sponsors a {
	width:13.8%;
	display:inline-block;
	margin:0;
	padding:0;
	text-align:center;
	padding:0;
}
@media (max-width:700px) {
	.sponsors a {
		width:24%;
	}
}
@media (max-width:400px) {
	.sponsors a {
		width:49%;
	}
}












/** images and captions
****************************************/
figure {
	display: table;
	width:1px;
	margin:auto;
	padding: 1em;
}
figure img {
	display: table-row;
	padding:0 !important;
	max-width:none;
}
figure figcaption {
	display: table-row;
	font-size:.75em;
}










/** social sharing
****************************************/

.social_share_links {
	display:inline-block;
	float:right;
	line-height:1;
}
.social_share_links:after {
	content:"";
	display:block;
	clear:both;
}

.social_share_links .call_to_action {
	font-size:.8em;
	padding-right:1em;
}
.social_share_links a {
	display:inline-block;
	padding:.2em;
	width:1.5em;
	text-align:center;
}



/** happening now banner
****************************************/
.happening-now .stories {
	margin:0;
	padding:0;
	list-style:none;
}
.happening-now .bx-wrapper {
	margin:0 !important;
}
.happening-now {
	background: #6D0819;
	color: #C41230;
	padding:1em;
	position:relative;
}
.happening-now .fa {
	float:left;
	font-size:2.5em;
}
.happening-now h3 {
	color:inherit;
	margin:0;
	margin-left:3rem;
	font-size:inherit;
}
.happening-now a {
	color:white;
}
.happening-now .zipper {
	margin-left: 3rem;
}

/** ticket 13
****************************************/

.membership_invalid {
	
	padding:1em;
	color:#c41230;
	font-size:1.3em;
	border:1px dotted;
	margin-bottom:1em
	
}
.membership_invalid p { 
	margin-bottom:0em !important;
}






/** join form
****************************************/
tbody tr.selected,
.payment-term .selected {
	background:#c41230;
	color:white;
}





/** notes
****************************************/
.note {
	font-size: .7em;
	color: #8ab8e0;
	margin:0;
	text-align:right;
} 
@media (min-width:599px) {
	.note--mobile {
		display:none;
	}
}


.payment-term label {
	background:rgba(0,0,0,.02);
	padding:.2em .5em;
	margin-bottom:.5em;
}








/** simple grid
****************************************/
.row {
	display:table;
	width:100%;
}
.col {
	display:table-cell;
}
@media (max-width:599px) {
	.row--responsive {
		display:initial;
	}
	.row--responsive .col {
		display: block;
	}
}
@media (min-width:600px) {
	.row--padded .col {
		padding-right:1em;
	}
	.row--padded .col:last-child {
		padding-right:0;
	}
}

/*@media (min-width:600px){
	.row {
		display:table;
		width:100%;
		margin-bottom:1em;
	}
	.col {
		display:table-cell;
		padding-right:1em;
	}
	.col:last-child {
		padding:0;
	}
}*/








/** form-join-individual
****************************************/

.t_form-join-individual .row {
	margin-bottom:1em;
}

/** form error classes
****************************************/
.uerror input,
.uerror select {
	border:1px dotted #F00;
}
.uerror label {
	color:red;
}
#errorBox > fieldset {
	border:1px solid #F00;
	background-color:#CFF;
	margin-bottom: 1em;
}
.small {
	font-size:0.75em;	
}






/** ticket 23 ridership
****************************************/
.ridership {
	margin-bottom:1em;
}
.ridership__title {
	font-size: 1em;
}
.ridership__category {
	margin-bottom:2em;
}














/**
* NOTES
*
* univers web font
* font-family: 'Univers LT W01_55 Roman';
* font-family: 'Univers LT W01_65 Bold';
*
* brand colors
* red:   #c41230
* blue:  #00529b
* grey:  #e2e2e2
* white: #fff
*
*/





/** eof
****************************************/
