@import url('fonts/?Humanist,HumanistStrong,HumanistBold');
* { margin: 0; outline: 0 none; padding: 0; }

body { color: #252525; font: normal 14px/14px helvetica, arial, verdana, sans-serif; }

.contain { position: relative; }

header #global,
header nav,
#home #hero,
#home #content .col .box .arrow,
#home #content #quote_img,
#content #timeline,
#interior #space,
#interior #side,
#main #body a.icon,
.sidebar .sideNav,
#main .slideshow .thumbs,
#main .slideshow .control,
#main .pagination,
#orca_img,
footer .col,
.rtecontent .sctabs ul.sctablist,
#shade, #popup,
#planner_help,
#trip_plan_email_form,
.map,
#bingMap,
.no_print
{ display: none; }

/***************
	HEADER
***************/
header #logo a {
	display: block;
	height: 56px;
	margin: 0 auto 30px auto;
	width: 263px;
}
header #logo a img { display: block; }


/***************
	HOMEPAGE
****************/
#content { position: relative; }

/* homepage 2-column layout */
#home #content .contain {}
#home #content .col {
	min-height: 200px;
	padding: 0 0 40px 0;
	width: 45%;
}
#home #content .col1 { float: left; }
#home #content .col2 { float: right; }

#home #content .col .box { margin: 0 0 33px 0; position: relative; }

#home #content .col .box .icon_list { position: relative; }

/* testimonial quote */
#home #content .col .quote {
	padding: 0 20px;

	color: #464646;
	font: italic 20px/125% georgia, times;
}
#home #content .col .quote span {
	display: block;
	height: 24px;
	margin: 7px auto;
	width: 31px;

	font-size: 0;
}
#home #content .col .quote .icon_quote { margin-left: -15px; background: transparent url(../img/quote.png) 0 0 no-repeat; }
#home #content .col .quote .icon_unquote { margin: 5px 10px 0 auto; background: transparent url(../img/unquote.png) 0 0 no-repeat; }

#content .rtecontent img {
	border: 1px solid #a8a8a8;
	padding: 5px;

	border-radius: 5px;
}
#content .rtecontent img.float_left { margin: 0 15px 15px 0; }
#content .rtecontent img.float_right { margin: 0 0 15px 15px; }


/***************
	MAIN CONTENT
****************/
#main #banner { margin: 0 0 19px 0; position: relative; }
#main #banner img {
	border: 0 none;
	display: block;
	margin: 0 auto;
	max-width: 100%;

	border-radius: 4px;
	box-shadow: -1px 1px 2px rgba(0, 0, 0, .1);
}

#main #body {
	margin: 0 0 25px 0;
	position: relative;

	line-height: 135%;
}


/* news */
#main #body.news .articles { float: left; width: 75%; }
#main #body.news .articles .item { clear: both; margin: 0 0 15px 0; }
#main #body.news .articles .item a { text-decoration: none; }
#main #body.news .articles .item a:hover { text-decoration: underline; }
#main #body.news .sidebar { float: right; width: 20%; }
#main #body.news .sidebar {
	color: #7d7d7d;
	font-size: 12px;
	line-height: 135%;
}
#main #body.news .sidebar .rtecontent { margin: 0 0 0 18px; }
#main #body.news .sidebar h4 { color: #464646; font: normal 20px/20px 'Humanist', arial, sans-serif; }


/* schedule */
#main #body.schedule h4 { color: #464646; font: normal 20px/20px 'Humanist', arial, sans-serif; }
#main #body.schedule .map {
	display: none;
	/*border-width: 1px;
	border-style: solid;
	border-color: #D8D6D8 #C4C4C4 #ACACAC #C4C4C4;
	display: inline-block;
	height: 255px;
	margin: 0 0 45px 0;
	padding: 5px;
	width: 255px;

	background: #C3C3C3 url(../img/box-bg.png) left top repeat-x;
	vertical-align: top;

	border-radius: 5px;
	box-shadow: 0 1px 1px rgba(255, 255, 255, .75) inset;*/
}
#main #body.schedule .map iframe, #main #body.schedule .map img {
	border-width: 1px;
	border-style: solid;
	border-color: #D8D6D8 #C4C4C4 #ACACAC #C4C4C4;
	height: 253px;
	margin: 0 0 9px 0;
	width: 253px;

	border-radius: 3px;
}
#main #body.schedule .map.big { height: 479px; width: 667px; display:none;}
#main #body.schedule .map.big iframe { height: 477px; width: 665px; display:none;}
#main #body.schedule .map p { margin: 0 -5px 0 0;  display:none;}
#main #body.schedule .map #map_reduce { display: none; }

#main #body.schedule .fare {
	display: inline-block;
	margin: 0 0 0 0;
	width: 45%;
	float: left;

	vertical-align: top;
}
#main #body.schedule .other {
	display: inline-block;
	margin: 0 0 0 21px;
	width: 45%;
	float: left;

	vertical-align: top;
}

.timetable {
	background: #fff;
}
.timetable table {
	border-spacing: 0; min-width: 99%;
	border-left: 1px solid;
	border-top: 1px solid;

}
.timetable table th {
	padding: 10px;
	width: 10%;

	font-weight: bold;
	text-align: center;

	border-right: 1px solid;
	border-bottom: 1px solid;
}
.timetable table td {
	padding: 10px;
	font-size: .857em;
	text-align: center;
	border: 1px solid;
	border-top:0;
	border-left:0;
}

.timetable table tr:first-child {
	border-left: 1px solid;
}

.sctabs .scpane table {
	display: none;
}
.sctabs .active table {
	display: block;
}

.hidden_stops { display: none; padding: 10px 0 3px 0; }


/* callout boxes */
#main .call { margin: 0 0 33px 0; position: relative; }
#main .call.half { width: 45%; }
#main .call h3 { padding: 0 14px 10px 0; font: normal 21px/21px 'Humanist', arial, sans-serif; }
#main .call .section {
	padding: 0 12px 12px 0;

	letter-spacing: 23px;

	border-radius: 3px;
}
#main .call .section .tight { display: inline-block; letter-spacing: 7px; }
#main .call .section .cell {
	display: inline-block;

	letter-spacing: normal;
	vertical-align: top;
}
#main .call .section .cell input[type=text], #main .call .section .cell input[type=password] {}
#main .call .section .cell.phone { width: 121px; }
#main .call .section .cell.phone input[type=text] { width: 105px; }
#main .call .section .cell.state { width: 52px; }
#main .call .section .cell.state ul.dropdown { width: 52px; }
#main .call .section .cell.state ul.dropdown li a { padding: 9px 30px 9px 7px; }
#main .call .section .cell.zip { width: 81px; }
#main .call .section .cell.zip input[type=text] { width: 65px; }
#main .call .section .cell.month { width: 101px; }
#main .call .section .cell.year { width: 83px; }
#main .call .section .cell.ccv { width: 67px; }
#main .call .section .cell.ccv input[type=text] { width: 51px; }

#main .call .box .col {
	display: inline-block;
	vertical-align: top;
	width: 301px;

	font-size: 14px;
	letter-spacing: normal;
}
#main .call .box .col .section { letter-spacing: normal; }
#main .call .box .col .section input[type=text] { width: 93.5%; }
#main .call label {
	display: block;
	padding: 11px 0 7px 0;

	letter-spacing: normal;
	text-transform: uppercase;
}
#main .call input[type=text], #main .call input[type=password], #main .call textarea {
	border-radius: 4px;
	display: block;
	margin: 0 0 5px 0;
}
#main .call textarea { width: 97%; }
#main .call input[type=radio] + label,
#main .call input[type=checkbox] + label {
	display: inline-block;
	padding: 0 20px 10px 5px;

	cursor: pointer;
	text-transform: none;
}

#main .call table {
	border-spacing: 0;
	width: 580px;

	text-transform: uppercase;
}
#main .call table tr {}
#main .call table th {
	height: 30px;
	padding: 10px 0 0 0;

	font-weight: normal;
	text-align: left;
}
#main .call table td {
	border-top: 3px solid #b7b7b7;
	height: 30px;
	padding: 10px 0 0 0;

	box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
}
#main .call table tbody tr:first-child td { border: 0 none; box-shadow: none; }
#main .call table td input[type=text] { margin: -7px 7px 0 7px; width: 80%; }
#main .call table tr.no_line td, #main .call table td.no_line { border: 0 none; box-shadow: none; }
#main .call table tbody.tight td {
	border: 0 none;
	height: 21px;
	padding: 4px 0;

	box-shadow: 0 0;
}
#main .call table tbody.tight tr:first-child td { border-top: 3px solid #b7b7b7; box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset; }

#main .call table tfoot td { border-top: 3px solid #b7b7b7; font-weight: bold; }
#main .call table tbody.tight tr:first-child td { padding-top: 9px; }

#main .forgot { display: block; float: right; margin: 10px 0 0 0; font-size: 12px; }

#main #body.trip .trip_basics { margin: 0 0 20px 0; }
#main #body.trip .trip_basics hr { margin-bottom: 10px; }
#main #body.trip .trip_basics span {
	display: inline-block;
	padding: 0 0 10px 0;
	width: 25%;

}

#main #body.trip .trip_basics span.start,
#main #body.trip .trip_basics span.end {
	width: 70%;
}

#main #body.trip .trip_basics b {display: block;}

#main #body.trip .map { display: inline-block; width: 255px; vertical-align: top; }
#main #body.trip .map iframe { height: 253px; width: 253px; }
#main #body.trip .map.big { height: 479px; width: 667px; }
#main #body.trip .map.big iframe { height: 477px; width: 662px; }

#main #body.trip .map p { margin: 9px 0 0 0; position: absolute; }
#main #body.trip .map #map_reduce { display: none; }

#main #body.trip .trip_options  { display: block; }
#main #body.trip .trip_options  h4 {
	padding: 7px 0 12px 5px;

	color: #464646;
	font: normal 20px/20px 'Humanist', arial, sans-serif;
	vertical-align: top;
}
#main #body.trip .trip_options table {
	border-width: 1px;
	border-style: solid;
	border-color: #888;
	border-spacing: 0;
	width: 100%;

	border-radius: 4px;
}
#main #body.trip .trip_options table th {
	border-bottom: 1px solid #888;
	height: 37px;
	padding: 0 0 0 20px;

	font-style: italic;
	font-weight: normal;
	text-align: left;
}
#main #body.trip .trip_options table th:first-child { border-top-left-radius: 3px; }
#main #body.trip .trip_options table th:last-child { border-top-right-radius: 3px; }

#main #body.trip .trip_options table tr:first-child td { border: 0 none; box-shadow: none; }
#main #body.trip .trip_options table tr:hover td { background-color: #cbcbcb; }
#main #body.trip .trip_options table td {
	border-top: 1px solid #888;
	height: 40px;
	padding: 10px 0 10px 20px;

	cursor: pointer;
}
#main #body.trip .trip_options table td a { text-decoration: none; }
#main #body.trip .trip_options table td:first-child { font-size: 22px; font-weight: bold; }
#main #body.trip .trip_options table tr:last-child td:first-child { border-bottom-left-radius: 3px; }
#main #body.trip .trip_options table tr:last-child td:last-child { border-bottom-right-radius: 3px; }

#main #body.trip .trip_details { margin: 50px 0 0 0; }
#main #body.trip .trip_details h2 { padding: 0; }
#main #body.trip .trip_details hr { margin: 15px 0; }

#main #body.trip .trip_details .steps { border-left: 3px solid rgba(0, 0, 0, .28); padding: 0 0 0 20px; }
#main #body.trip .trip_details .steps h4 { padding: 22px 0 5px 0; }
#main #body.trip .trip_details .steps h4:first-child { padding-top: 8px; }

#main #body.trip .trip_details .steps .total { padding: 15px 0 0 0; font-style: italic; }

/* gallery slideshow */
#main .slideshow .slides { position: relative; }
#main .slideshow .slides .slide { display: block; margin: 0 0 20px 0; }
#main .slideshow .slides .slide img {
	display: block;
	max-width: 100%;

	background-color: #d8d8d8;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	cursor: pointer;

	border-radius: 5px;
}
#main .slideshow .slides .slide .caption { padding: 13px 0; color: #252525; }


/* icon list */
#content .icon_list .item {
	margin: 0 0 24px 0;
	position: relative;

	font-size: 0;
}
#content .icon_list .item .icon {
	border-width: 2px;
	border-style: solid;
	display: block;
	float: left;
	margin: 0 20px 0 0;
	padding: 5px 0 8px 0;
	width: 52px;

	background-color: transparent;
	font: normal 15px/15px 'Humanist Bold', arial, sans-serif;
	text-align: center;
	text-transform: uppercase;
	vertical-align: top;

	border-radius: 5px;
}
#content .icon_list .item.cancel .icon { border-color: #cc3126; }
#content .icon_list .item.warn .icon { border-color: #f6be22; }
#content .icon_list .item.good .icon { border-color: #63ad39; }
#content .icon_list .item.info .icon { border-color: #0372c0; }
#content .icon_list .item .icon .big {
	display: block;
	padding: 4px 0 0 0;

	font-size: 22px;
}
#content .icon_list .item .info {
	display: block;
	max-width: 597px;

	font-size: 14px;
	line-height: 125%;
	vertical-align: top;
}
#content .icon_list .item .info a {
	display: block;

	font-size: 16px;
	text-transform: uppercase;
}
#content .icon_list .item .info hr { display: none; }


/***************
	FOOTER
****************/
footer .col.contact { display: block; }
footer .col h1 {
	color: #000;
	font: normal 24px/24px 'Humanist', arial, sans-serif;
	text-transform: uppercase;
}
footer .col h4 {
	padding: 0 0 5px 0;

	color: #000;
	text-transform: uppercase;
}

#fine_print {
	color: #898989;
	font-size: 11px;
	text-align: center;
}
#fine_print a { color: #898989; }


/* =============================================================================
   HTML5 element display
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section  { display: block; }
audio[controls], canvas, video  { display: inline-block; }

html, body { height: 100%; }

h1 { padding: 0 0 15px 0; margin:0; color: #464646; font: normal 26px/26px 'Humanist Bold', arial, sans-serif; text-transform: uppercase; }
h2 { padding: 0 0 18px 0; color: #464646; font: normal 22px/22px 'Humanist Bold', arial, sans-serif; text-transform: uppercase; }
h3 { padding: 0 0 10px 0; color: #464646; font: normal 18px/18px 'Humanist Bold', arial, sans-serif; text-transform: uppercase; }
h4 { padding: 0 0 10px 0; color: #464646; font: normal 16px/16px 'Humanist Bold', arial, sans-serif; text-transform: uppercase; }

h1 a { color: #454545; }
h1 a:hover, h2 a:hover { text-decoration: none; }

a { outline: none; color: #036cb6; cursor: pointer; text-decoration: none; }
a:hover { text-decoration: underline; }

p { padding: 0 0 15px 0; }
ol, ul, dd { margin: 0 0 10px 20px; }

hr {
	border-width: 1px 0 1px 0;
	border-style: solid;
	border-color: #c2c2c2 #c2c2c2 #fff #fff;
	height: 0;
	margin: 0 0 20px 0;
}

.rtecontent ul li {
	margin: 0 0 15px 0;
	padding: 0 0 0 12px;
}

pre, code, blockquote { padding: 20px; }


input, select, textarea { font: normal 12px/13px arial, verdana, sans-serif; }
input[type=text], input[type=password], textarea  {
	border: 1px solid #888;
	padding: 11px 8px 7px 8px;
	width: 96%;
}
textarea  { height: 6em; }

.rtecontent { line-height: 135%; }
.rtecontent a {}
.rtecontent img { }
.rtecontent table { }
.rtecontent table td { padding: 0 10px 0 0; vertical-align: top; }

.rounded  {
	border-radius: 10px;
	-moz-border-radius: 10px;
}

.required  { color: #b00; }

.cleaner  { clear: both; height: 0; }

div.messages  {
	border-width: 1px;
	border-style: solid;
	border-color: #ccc;
	margin: 0 0 20px 0;
	padding: 10px 10px 0 10px;

	background: #eee;
	font-size: 12px;
	line-height: 1.5em;

	-moz-border-radius: 10px;
	border-radius: 10px;
	-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.4), 1px 0 1px rgba(255, 255, 255, 0.4), -1px 0 1px rgba(255, 255, 255, 0.4), 0 -1px 1px rgba(255, 255, 255, 0.4), 0 1px 1px rgba(255, 255, 255, 1), 0 1px 1px rgba(0, 0, 0, 0.07) inset;
	-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.4), 1px 0 1px rgba(255, 255, 255, 0.4), -1px 0 1px rgba(255, 255, 255, 0.4), 0 -1px 1px rgba(255, 255, 255, 0.4), 0 1px 1px rgba(255, 255, 255, 1), 0 1px 1px rgba(0, 0, 0, 0.07) inset;
	box-shadow: 0 1px 1px rgba(255, 255, 255, 0.4), 1px 0 1px rgba(255, 255, 255, 0.4), -1px 0 1px rgba(255, 255, 255, 0.4), 0 -1px 1px rgba(255, 255, 255, 0.4), 0 1px 1px rgba(255, 255, 255, 1), 0 1px 1px rgba(0, 0, 0, 0.07) inset;
}
div.messages p  { margin-bottom: 10px; }
div.messages b  { text-shadow: 0 1px 0 rgba(255, 255, 255, .65); }
div.messages.error  { border-color: rgba(204, 128, 128, 0.32) rgba(204, 128, 128, 0.24) rgba(204, 128, 128, 0.16); background: #fcc; }
div.messages.success  { border-color: rgba(128, 204, 128, 0.32) rgba(128, 204, 128, 0.24) rgba(128, 204, 128, 0.16); background: #cfc; }
div.messages.warning  { border-color: rgba(204, 204, 128, 0.32) rgba(204, 204, 128, 0.24) rgba(204, 204, 128, 0.16); background: #ffc; }

div.messages.error b  { color: #a00; }
div.messages.success b  { color: #080; }
div.messages.warning b  { color: #880; }

.button { display: none; }

ul.dropdown {
	border: 1px solid #888;
	display: block;
	list-style-type: none;
	margin: 0 !important;

	cursor: pointer;
	font-size: 14px;
	letter-spacing: normal;

	border-radius: 3px;
}
ul.dropdown.inline {
	display: inline-block;
}
ul.dropdown li {
	display: block;
	margin: 0;
	padding: 0;
	position: relative;

	background: transparent;
}
ul.dropdown li a {
	display: block;
	padding: 9px 30px 9px 10px;

	background: transparent url(../img/icon-arrow-dn.png) right 11px no-repeat;
	color: #707070;
	font: normal 14px/14px arial, sans-serif;
	text-decoration: none;
}
ul.dropdown li a:hover { text-decoration: none !important; }
ul.dropdown li ul {
	display: none;
	margin: 0;
	max-height: 120px;
	overflow: auto;
	position: absolute;
	top: 100%;
	width: 100%;
	z-index: 20;

	background-color: #fff;

	box-shadow: 0 4px 5px rgba(0, 0, 0, .25);
	-moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .25);
	-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .25);
}
ul.dropdown.over li ul {
	display: block;
}
ul.dropdown li ul li {
	border-radius: 0;
}
ul.dropdown li ul li a { background: #707070; color: #fff; text-shadow: none; }
ul.dropdown li ul li:hover a { background: #555; }

/* datepicker */
.ui-datepicker {
	border: 1px solid #f1ba22;
	left: -9999em;
	position: absolute;
	width: 202px;

	background: #ccc;

	border-radius: 5px;
	box-shadow: 0 6px 15px rgba(0, 0, 0, .4);
}
.ui-datepicker .ui-datepicker-header {
	border: 1px solid #caa318;
	margin: 0 0 1px 0;
	padding: 13px 7px 0 7px;
	height: 26px;

	background: #cfa51b url(../img/button-yel.png) 0 0 repeat-x;
	color: #fff;
	font: 15px/15px 'Humanist Bold', arial, sans-serif;
	text-align: center;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, .35);
	text-transform: uppercase;

	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	display: block;
	height: 15px;
	width: 9px;

	cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev { float: left; background: transparent url(../img/datepicker-prev.png) 0 0 no-repeat; }
.ui-datepicker .ui-datepicker-next { float: right; background: transparent url(../img/datepicker-next.png) 0 0 no-repeat; }
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span { display: none; }
.ui-datepicker .ui-datepicker-calendar {
	border-spacing: 0;
	width: 100%;

	text-shadow: 0 1px 2px rgba(255, 255, 255, .5);

	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}
.ui-datepicker .ui-datepicker-calendar th {
	border-bottom: 1px solid #bdbdbd;
	padding: 3px 0;

	background: transparent url(../img/datepicker-cell-bg.png) 0 0 repeat-x;
	font-size: 11px;
	font-weight: normal;
	text-transform: uppercase;
}
.ui-datepicker .ui-datepicker-calendar td {
	border-width: 0 0 1px 1px;
	border-style: solid;
	border-color: #bdbdbd;
	width: 14%;

	font-size: 12px;
	text-align: center;
}
.ui-datepicker .ui-datepicker-calendar td:first-child { border-width: 0 0 1px 0; }
.ui-datepicker .ui-datepicker-calendar td a {
	display: block;
	padding: 6px 0;

	background: transparent url(../img/datepicker-cell-bg.png) 0 -32px repeat-x;
	color: #22373d;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a { background-position: 0 -72px; }
.ui-datepicker .ui-datepicker-calendar td a:hover {
	background: transparent url(../img/datepicker-cell-bg.png) 0 -104px repeat-x;
	text-decoration: none;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a,
.ui-datepicker .ui-datepicker-calendar td a:hover {
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, .35);
}

/*
.shadebox {
	border-width: 1px;
	border-style: solid;
	border-color: #D8D6D8 #C4C4C4 #ACACAC #C4C4C4;
	padding: 5px;

	background: #C3C3C3 url(../img/box-bg.png) left top repeat-x;

	border-radius: 5px;
	box-shadow: 0 1px 1px rgba(255, 255, 255, .75) inset;
}
*/
.shadebox {
	border: 0;
}

/* tabbed content sections */
.rtecontent .sctabs {}
.rtecontent .sctabs .scpane {
	display: block;

	line-height: 135%;
}


.lowlite { color: #aaa; }

.bold_it  { font-weight: bold !important; }
.italic_it { font-style: italic !important; }
.up_it, .to_upper { text-transform: uppercase !important; }

.no_bold  { font-weight: normal !important; }
.no_bullets *  { list-style-type: none !important; }
.no_float  { float: none !important; }
.no_padding { padding: 0 !important; }
.no_margin { margin: 0 !important; }
.no_borders { border: 0 none !important; }
.hidden { display: none !important; }


.float_left  { float: left; }
.float_right  { float: right; }

.no_show  {
	border:0;
	height:0;
	visibility:hidden;

	line-height:0;
}
.no_display { display: none; }
.off_screen  {
	left: -999em;
	position: absolute;
	top: -999em;
}

.large  { font-size: 20px; }
.medium  { font-size: 16px; }
.small  { font-size: 12px; }
.fine  { font-size: 10px; }

.space_dbl  { line-height: 200%; }
.space_half  { line-height: 150%; }
.space_line  { margin-top: 17px; }

.align_center  { text-align: center !important; }
.align_left  { text-align: left !important; }
.align_right  { text-align: right !important; }
.align_justify  { text-align: justify !important; }
