html, body, div, pre,
h1, h2, h3, h4, h5, h6,
p, blockquote, address,
dl, dt, dd, ol, ul, li,
form, fieldset, legend, label, button
table, caption, tbody, tfoot, thead, tr, th, td,
abbr, acronym, big, small, cite, dfn,
strong, em, span, del, ins, 
code, kbd, samp, var, 
img, object, iframe,
a {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
  }
  
input, select, textarea {
	margin: 0;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;  
  }

html, body, div, pre,
p, blockquote, address,
dl, dt, dd, ul, ol, li,
form, fieldset {
  position:relative;
  }

body { line-height: 1; color: black; background: white; }

h1, h2, h3, h4, h5, h6, strong { font-weight:normal; }

address, cite, em { font-style:normal; }

ol, ul { list-style: none; }

/* tables still need 'cellspacing="0"' in the markup */
table { border-collapse:separate; border-spacing:0; }

a { color:inherit; text-decoration:none; }
div.line_break, br, hr { display:none; }
code { font-style:inherit; font-family:inherit; }

html { background:#777; overflow-x: hidden; -webkit-text-size-adjust: none; }
body { font:20px/20px "Helvetica", sans-serif; background:transparent; }
body #pocket { background:#000; color:#888; min-height:480px; max-width:480px; }

body #root { padding:18px 20px; line-height:22px; }
body #root abbr { font-weight:bold; letter-spacing:-4px; margin-right:4px; }
body #root a { color:inherit;  }
body #root a:hover     { color:#fff; }
body #root a:active    { color:#fff; position:relative; top:1px; }
body #root a.activated { color:#fff; }

body.exception #notice { background:#ddd; padding:0px 0px 18px; min-height:144px; }
body.exception #notice p { padding:18px 20px 0px; line-height:18px; font-size:13px; }
body.exception #notice p:first-child { font-size:20px; line-height:22px; margin-bottom:-2px; color:transparent; }
body.exception #notice p:first-child strong { color:#888; }

div.copy { background:#ddd; padding:0px 20px 17px; border-bottom:1px solid #c2c2c2; }
div.copy h1 { line-height:22px; padding:18px 0px 0px; margin:0px 0px 0px; }
div.copy p { line-height:18px; padding:18px 0px 0px; font-size:13px; }
div.copy p a { text-decoration:underline; }
div.copy p a:hover     { color:#000; }
div.copy p a.activated { color:#000; }

div.article { background:#ddd; padding:0px 0px 18px; }
div.article h1 { line-height:22px; padding:17px 20px 1px; }
div.article h2 { padding:18px 20px 0px; line-height:18px; font-size:13px; }
div.article p  { padding:18px 20px 0px; line-height:18px; font-size:13px; }
div.article ul { padding:18px 20px 0px; line-height:18px; font-size:13px; }
div.article strong     { color:#000; font-weight:bold; }
div.article blockquote { color:#000; font-weight:bold; }
div.article a { text-decoration:underline; }
div.article a:hover     { color:#000; }
div.article a.activated { color:#000; }
div.article a.continuation { text-decoration:none; font-size:22px; position:absolute; bottom:-2px; right:20px; }
div.article a.return       { text-decoration:none; font-size:20px; position:absolute; bottom:-2px; right:20px; }

#notices { padding:18px 0px 8px; background:#ddd; }
#notices .article { background:#ddd; padding:0px 20px 10px; }
#notices .article h2 { padding:0px; }
#notices .article p  { padding:0px; }

div.symbol { height:319px; border-bottom:1px solid #C2C2C2; background:no-repeat center #fff; }
div.symbol a { display:block; position:absolute; top:0px; left:0px; width:100%; height:320px; }
div.symbol a em { color:transparent; }

#habitual_passenger_symbol   { background-image:url(/images/habitual_passenger.png); }
#strike_symbol               { background-image:url(/images/strike.png); }
#not_found_symbol            { background-image:url(/images/exceptions/404.png); }
#forbidden_symbol            { background-image:url(/images/exceptions/403.png); }
#unprocessable_entity_symbol { background-image:url(/images/exceptions/422.png); }
#server_error_symbol         { background-image:url(/images/exceptions/500.png); }



#pocket > div.header { background:#ddd; color:#999; line-height:20px; padding:20px 20px 14px; border-bottom:1px solid #ccc; }

span.combinator { position:absolute; left:-88888px; }

/*.expired { background:#ccc; color:#999; }*/

         span.digit { font-weight:bold; }
.expired span.digit {  }

span.time span.hour.digit { letter-spacing:-1px;}
span.time span.colon { margin:0px -1px; }
span.time abbr { font-size:13px; text-transform:lowercase; margin-left:-5px; }

span.cash span.decimal { margin:0px -1px; }



#via > div:first-child span.time { display:none;}
body div div.signage:first-child span.time { display:none;}

div.reading.ride { border-bottom:1px solid #333; line-height:22px; height:43px; margin-bottom:-44px;}

div.reading.ride span.duration { position:absolute; left:10px; top:11px; }

div.clock { height:43px; border-bottom:1px solid #333; }

div.clock div.reading.time a { display:block; padding:12px 25px 10px; line-height:22px; }
div.clock div.reading.time span.date { position:absolute; left:10px; }
div.clock div.reading.time span.date abbr.month { margin-right:-2px; }
div.clock div.reading.time span.time { position:absolute; right:10px; }
div.clock div.reading.time span.time span.digit { color:inherit; }


div.collection h2 { position:absolute; height:0px; width:0px; overflow:hidden; }

div.collection li { position:relative; height:44px; }

div.collection li a {
  display:block; position:relative;
  height:24px; line-height:22px; padding:12px 30px 8px 10px;
  color:#777; background:right 0px url(/images/item_background.png);
  }

div.collection li:last-child a {
  background:right -132px url(/images/item_background.png);
  }

div.collection li.expired a { 
  color:#999; background:right -88px url(/images/item_background.png);
  }

div.collection li a:active, 
div.collection li a.activated {
  color:#fff; background:right -44px url(/images/item_background.png);
  text-shadow: rgba(0, 0, 0, .5) 0px -1px 1px;
  }

div.collection li .message {
  display:block; position:relative;
  height:24px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  }

div.collection li .time { position:absolute; right:25px; top:12px; }

div.collection li         > a           .headsign    { color:#000; font-weight:bold; }
div.collection li.expired > a           .headsign    { color:inherit; }
div.collection li         > a:active    .headsign    { color:inherit; }
div.collection li         > a.activated .headsign    { color:inherit; }

div.collection li         > a           .heavy       { color:#000; font-weight:bold; }
div.collection li.expired > a           .heavy       { color:inherit; }
div.collection li         > a:active    .heavy       { color:inherit; }
div.collection li         > a.activated .heavy       { color:inherit; }

div.collection li         > a           .time .digit { color:#000; font-weight:bold; }
div.collection li.expired > a           .time .digit { color:inherit; }
div.collection li         > a:active    .time .digit { color:inherit; }
div.collection li         > a.activated .time .digit { color:inherit; }



#information_anxiety h1 { position:absolute; left:-88888px; } 

div.search_landmarks { background:#ddd; border-bottom:1px solid #c2c2c2; color:#888; }
div.search_landmarks h2 { position:absolute; top:18px; left:20px; line-height:22px; font-size:20px; }
div.search_landmarks label { display:block; padding:92px 20px 18px; font-size:13px; white-space:nowrap; line-height:18px; }
div.search_landmarks input[type=text] { position:absolute; display:block; width:auto; top:44px; left:17px; right:17px; font-size:30px; padding:1px; font-weight:bold; letter-spacing:-1px; }
div.search_landmarks input[type=submit] { display:none; }

div.search_locations { background:#ddd; border-bottom:1px solid #c2c2c2; color:#888; }
div.search_locations h2 { position:absolute; top:18px; left:20px; line-height:22px; font-size:20px; }
div.search_locations label { display:block; padding:92px 20px 18px; font-size:13px; white-space:nowrap; line-height:18px; }
div.search_locations input[type=text] { position:absolute; display:block; width:auto; top:44px; left:17px; right:17px; font-size:30px; padding:1px; font-weight:bold; letter-spacing:-1px; }
div.search_locations input[type=submit] { display:none; }

body.location div.description div.reading.activity a { color:#fff; }
body.location div.description div.invitation.activity a {  color:#666; }
body.location div.description div.reading.activity a:hover { color:#999; }

body.location div.description div.reading.activity { display:block; }
body.location div.description div.writing.activity { display:none; }

body.location div.writing.description div.reading.activity { display:none; }
body.location div.writing.description div.writing.activity { display:block; }

body.location div.description div.reading.activity p { height:20px; }

body.location div.description div.writing.activity { height:20px; }
body.location div.description div.writing.activity form div.field { height:20px; overflow:visible; margin-right:60px; }
body.location div.description div.writing.activity form div.field div.label { display:none; }
body.location div.description div.writing.activity form div.field div.input { padding:0px 4px 0px 0px; margin:0px -3px 0px; }
body.location div.description div.writing.activity form div.field div.input input { position:relative; display:block; width:100%; font-size:20px; padding:1px; top:-3px; }
body.location div.description div.writing.activity form div.afterword { position:absolute; right:0px; top:0px; font-size:13px; line-height:20px;}

div.links { white-space:nowrap; position:fixed; top:0px; right:0px; left:480px; height:20px; width:auto; text-align:right; line-height:24px; padding:12px 0px 8px;
  overflow:hidden;
  }
div.links a { color:#555; position:absolute; right:10px; }

#writing_stop_description { padding:0px 20px 20px; }
#writing_stop_description dl.text_field dt { height:32px; padding-top:12px; }
#writing_stop_description dl.text_field dd { height:44px; }
#writing_stop_description dl.text_field input { position:absolute; left:-3px; right:-3px; width:auto; }
#writing_stop_description div.action { height:44px; }

#detour_notice { padding:20px 20px 0px; font-size:13px; }
#detour_notice p { border-bottom:2px solid #444; padding-bottom:18px; line-height:18px;}
#detour_notice span.prefix { text-transform:uppercase; font-size:12px; letter-spacing:1px;}
#detour_notice a:hover     { color:#fff; }
#detour_notice a:active    { color:#fff; position:relative; top:1px; }
#detour_notice a.activated { color:#fff; }

#selected_tweets { font-size:13px;}
#selected_tweets .message { padding:0px 20px 10px;}
#selected_tweets strong { font-weight:bold; }
#selected_tweets a { display:block; }
#selected_tweets a:hover { color:#000; }
#selected_tweets a:hover * { color:#000; }

.mini.ride         > .header  { line-height:22px; }
.mini.ride         > .header .sleeve { height:68px; }
.mini.ride         > .header  { background:bottom url(/images/illuminated_background.png); }
.mini.ride.expired > .header  { background:bottom url(/images/faded_background.png); color:#999; }

.mini.ride         > .header h2 { position:absolute; width:100%; top:0px; z-index:1; }

.mini.ride         > .header .headsign { display:block; padding:12px 10px 34px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; height:22px; }

.mini.ride         > .header .summary { position:absolute; width:100%; bottom:0px; }
.mini.ride         > .header .summary p { padding:0px 10px 12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

body.thin .mini.ride .vehicle { position:absolute; left:-88888px; }

.mini.ride         .headsign * { color:#000; }
.mini.ride.expired .headsign * { color:inherit; }

.mini.ride         .departure.time .digit { color:#000; }
.mini.ride.expired .departure.time .digit { color:#999; }

.mini.ride > div.time { position:absolute; right:10px; top:12px; }
.mini.ride > div.time span.label { position:absolute; left:-88888px; }
.mini.ride > div.departure.time { top:12px; }
.mini.ride > div.arrival.time   { top:80px; }

body.wide .classic.ride > .header { height:220px; line-height:22px; padding:0px 20px 0px 200px; text-align:center; }
body.wide .classic.ride > .header .sleeve { height:220px; }

body.wide .classic.ride > .header h2 .headsign { font-size:30px; line-height:30px; margin:0px -20px 0px -200px; padding:20px 20px 0px 200px; height:200px; white-space:normal;}
body.wide .classic.ride > .header h2 .headsign .headsign_sleeve { display:block; height:100px; }
body.wide .classic.ride > .header h2 .headsign strong { display:table-cell; width:440px; vertical-align:bottom; height:100px; }
body.wide .classic.ride > .header h2 .headsign .route { display:block; font-size:44px; line-height:44px; width:100%; }
body.wide .classic.ride > .header h2 .headsign .message { display:block; width:100%; }

body.wide .classic.ride > .header .summary { bottom:20px; height:52px; }
body.wide .classic.ride > .header .summary p { white-space:normal; overflow:visible; padding:0px; }

body.wide .classic.ride         .wait.time { display:block; line-height:30px; font-size:30px; color:#000; }
body.wide .classic.ride.expired .wait.time { color:inherit; }

body.wide .classic.ride .vehicle { position:absolute; left:-88888px; }

body.wide .classic.ride div.arrival.time { top:232px; }

body.wide .classic.bus.ride   > .header { background:top left url(/images/wide_bus_departure.png);   }
body.wide .classic.train.ride > .header { background:top left url(/images/wide_train_departure.png); }

body.wide .classic.bus.ride.expired   > .header { background:bottom left url(/images/wide_bus_departure.png);   }
body.wide .classic.train.ride.expired > .header { background:bottom left url(/images/wide_train_departure.png); }


div.ride div.stops a span.message { margin:0px 65px 0px 0px; }
div.ride div.stops { background:#ccc; color:#999; }
div.ride div.stops .header { height:44px; line-height:22px; background:bottom url(/images/faded_background.png); }
div.ride div.stops .header p { padding:12px 10px 0px; }

div.ride div.duration { height:31px; line-height:22px; padding:10px 10px 0px; border-bottom:1px solid #333; }

a.headsign strong { font-weight:bold; }

div.rides li .message { margin:0px 65px 0px 0px; }

          div.rides li .wait { padding:0px 2px; }
body.thin div.rides li .wait { position:absolute; left:-88888px; }


#more_rides { height:44px; overflow:hidden; }
#more_rides p { display:block; padding:12px 10px 8px; height:24px; }
#more_rides p.invitation { color:#999; background:right 0px url(/images/more_items_background.png); }
#more_rides p.invitation a { color:inherit; 
  position:relative; display:block; padding:12px 10px 8px; height:24px; margin:-12px -10px -8px;
  }
#more_rides p.invitation a:active {
  text-shadow: rgba(0, 0, 0, .5) 0px -1px 1px;
  color:#fff; background:right -44px url(/images/more_items_background.png);
  }
#more_rides.searching p.invitation { display:none; }
#more_rides p.activity {
  color:#999; background:right -88px url(/images/more_items_background.png);
  cursor:default;
  }
#more_rides p.activity span.indicator {
  display:block; height:16px; width:16px; right:6px; position:absolute; top:14px;
  background:no-repeat url(/images/animations/bounce_999_on_CCC.gif); 
  }

body div.cover { padding:18px 20px; line-height:22px; }
body div.cover h1 abbr { font-weight:bold; letter-spacing:-4px; margin-right:4px; color:#fff; }
body div.cover h1 span.trans { color:#fff; }

body.root #issue { font-size:13px; line-height:18px; padding:20px 20px 0px; }
body.root #issue a:hover     { color:#fff; }
body.root #issue a:active    { color:#fff; position:relative; top:1px; }
body.root #issue a.activated { color:#fff; }

body.root #misc { font-size:13px; line-height:18px; padding:18px 20px 0px; }
body.root #misc a:hover     { color:#fff; }
body.root #misc a:active    { color:#fff; position:relative; top:1px; }
body.root #misc a.activated { color:#fff; }

body.root #disclaimer { font-size:13px; line-height:18px; padding:18px 20px 20px; }
body.root #disclaimer a:hover     { color:#fff; }
body.root #disclaimer a:active    { color:#fff; position:relative; top:1px; }
body.root #disclaimer a.activated { color:#fff; }

#service_struggle h1 { position:absolute; left:-88888px; } 
#service_struggle .duration { padding:10px 20px 0px; }

body.thin #service_struggle .duration { font-size:13px; }

div.signage { padding:20px 22px; cursor:default; }
div.signage a:active { position:relative; top:1px; }

div.signage div.macro { font-size:30px; line-height:30px; letter-spacing:-1px; color:#eee; }
div.signage div.macro a:hover           { color:#777; }
div.signage div.macro a.activated:hover { color:#eee; }
div.signage div.macro span.on { white-space:nowrap; }
div.signage div.macro span.at { white-space:nowrap; }

div.signage div.micro { line-height:22px; overflow:hidden; padding:4px 0px 0px; height:24px; margin-bottom:-2px; }
div.signage div.micro a:hover     { color:#eee; }
div.signage div.micro a.activated { color:#eee; }
div.signage div.micro span.at     { color:#eee; }
div.signage div.micro span.afterwords { white-space:nowrap; }
body.thin div.signage div.micro span.afterwords { display:none; }

div.signage div.micro.refinement          div.invitation { display:none; }
div.signage div.micro.refinement          div.selection  { display:block; }
div.signage div.inviting.micro.refinement div.invitation { display:block; }
div.signage div.inviting.micro.refinement div.selection  { display:none; }
div.signage div.micro.refinement div.selection span.prefix { display:none; }
div.signage div.micro.refinement div.selection a { margin-right:5px; }

div.platform.signage div.micro span.platform             { color:#eee; }
div.bus_stop.signage div.micro span.bus_stop span.number { color:#eee; }
div.temporary.bus_stop.signage div.micro span.bus_stop   { color:#eee; }

div.location.selection { display:none; }
div.signage div.location.selection { display:block; }

body.thin div.station.signage div.macro .label { position:absolute; left:-88888px; }

body.thin div.signage div.micro .description { display:none; }

#strike_summaries { margin-top:-18px; }
#strike_summaries div.strike div.duration span.digit { letter-spacing:-1px; }

#strike_summaries div.ongoing.strike p { padding-bottom:2px; }
#strike_summaries div.ongoing.strike p abbr { margin-right:-2px; }

#strike_summaries div.concluded.strike p { padding-bottom:2px; }
#strike_summaries div.concluded.strike p abbr { margin-right:-2px; }

body.thin #strike_summaries div.ongoing.strike p span { display:block; }
body.thin #strike_summaries div.ongoing.strike div.duration { margin-right:-20px; }
body.thin #strike_summaries div.ongoing.strike div.duration span.hours     { font-size:13px; }
body.thin #strike_summaries div.ongoing.strike div.duration span.minutes   { font-size:13px; }
body.thin #strike_summaries div.ongoing.strike div.duration span.seconds   { font-size:13px; }
body.thin #strike_summaries div.ongoing.strike div.duration span.hours   span.digit { letter-spacing:0px; }
body.thin #strike_summaries div.ongoing.strike div.duration span.minutes span.digit { letter-spacing:0px; }
body.thin #strike_summaries div.ongoing.strike div.duration span.seconds span.digit { letter-spacing:0px; }

#strike_summaries div.history { overflow:hidden; padding:18px 0px 0px; height:60px; }
#strike_summaries div.history div.strike { float:left; border-left:1px solid #c2c2c2; padding-left:20px; margin-left:19px; }
#strike_summaries div.history div.strike:first-child { border-left:0px; padding-left:0px; margin-left:0px; }
#strike_summaries div.history div.strike h1 { padding:0px; font-size:13px; padding-bottom:2px; line-height:18px; }
#strike_summaries div.history div.strike div.dateline { font-size:13px; padding-top:2px; line-height:18px; }
#strike_summaries div.history div.strike div.dateline abbr { margin-right:-2px; }
#strike_summaries div.history div.strike div.dateline a { text-decoration:underline; }
#strike_summaries div.history div.strike div.dateline a:hover { color:#333; }

#all_strike_videos { background:#ddd; }
#all_strike_videos h1 { height:0px; overflow:hidden; }

#strike_firehose { text-align:center; height:44px; }
#strike_firehose p { padding:12px 0px; }
#strike_firehose p a { position:relative; }
#strike_firehose p a:hover { color:#fff; }
#strike_firehose p a:active { top:1px; }

#strike_ending h1 { margin-bottom:-2px; }

#service_signals { height:239px; border-bottom:1px solid #c2c2c2; overflow:hidden; }
#service_signals div.signal { height:240px; width:240px; position:absolute; top:0px; background:no-repeat url(/images/vehicle_signals_in_colour_medium.png) white; }
#service_signals #bus_service_signal { left:0px; border-right:1px solid #c2c2c2; width:239px;}
#service_signals #bus_service_signal.strike { background-position:0px 0px; }
#service_signals #bus_service_signal.running { background-position:0px -240px; }
#service_signals #train_service_signal { right:0px; }
#service_signals #train_service_signal.strike { background-position:-240px 0px; }
#service_signals #train_service_signal.running { background-position:-240px -240px; }

div.suggestion #suggestion_invitation { display:none; }
div.suggestion.inviting #suggestion_invitation { display:block; }
div.suggestion.inviting #writing_new_suggestion { display:none; }

#suggestion_invitation { font-size:13px; line-height:20px; padding:11px 20px 12px; border-top:1px solid #333; }
#suggestion_invitation a { position:relative; color:#777; }
#suggestion_invitation a:hover { color:#fff; }
#suggestion_invitation a:active { top:1px;}

#writing_new_suggestion h2 { display:none; }
#writing_new_suggestion form { padding-bottom:20px; background:#ddd; color:#888; }
#writing_new_suggestion dl { font-size:13px; line-height:20px; }
#writing_new_suggestion dl { padding:15px 20px 0px; }
#writing_new_suggestion dl dd { min-height:20px; }
#writing_new_suggestion dl.text_area_field dd { margin:-1px -1px 1px -3px; }
#writing_new_suggestion dl.text_field dd { margin:-1px 1px 1px -3px; }
#writing_new_suggestion dl dd * { font-weight:bold;  border:1px solid #aaa; }
#writing_new_suggestion dl.body dd { }
#writing_new_suggestion dl.body  textarea { display:block; min-height:88px; width:100%; padding:3px 0px;  }
#writing_new_suggestion dl.email input { display:block; padding:2px 1px 1px; width:66%; }
#writing_new_suggestion div.action { font-size:13px; line-height:20px; text-align:right; position:absolute; right:18px; bottom:20px;}

#suggestion_acknowledgement { background:#ddd; color:#888; padding:20px; }
#suggestion_acknowledgement strong { color:#000; }

div.video_collection h1 { position:absolute; height:0px; overflow:hidden; }
div.video_collection li { display:block; overflow:hidden; border-bottom:1px solid #333; }
div.video_collection object { display:block; background:transparent; margin-bottom:-26px; height:267px; width:480px; }
div.video_collection a { display:table-cell; vertical-align:middle; background-repeat:no-repeat; background-position:top left; color:transparent; width:480px; height:241px;}
div.video_collection a span { display:block; padding:20px; font-size:13px; color:#aaa; }