@charset "utf-8";
/* CSS Document */

body {
	background: #FFFFFF url(../images/body-bg.png) repeat-x;
	margin: 0px;
	padding: 0px;
	font: 0.85em Arial, Helvetica, sans-serif;
	color: #000000;
}

a:link {
	color:#000;
	text-decoration:underline;
}

a:visited {
	color:#000;
	text-decoration:underline;
}

a:hover {
	text-decoration:none;
}

p {
}

h2 {
	font-size: 1.4em;
	font-weight:bold;
	margin-bottom: 10px;
	padding-top:25px;
	border-bottom: 1px solid #CCC;
}
h4 {
	font-size: 1.4em;
	font-weight:bold;
	margin-bottom: 10px;
	border-bottom: 1px solid #CCC;
}

h3 {
	font-size: 1.3em;
	font-weight:bold;
	margin-bottom: 10px;
}

h4 {
	font-size: 1.2em;
	font-weight:bold;
	margin-bottom: 10px;
}

h5 {
	font-size: 1.2em;
	font-weight:bold;
	margin-bottom: 10px;
	font-style:italic;
}
h6 {
	font-size: 1.1em;
	font-weight:normal;
	margin-bottom: 10px;
	font-style:italic;
}
.subheading {
	font-size: 1.1em;
	font-weight:bold;
}

.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

#wrapper-outer {
	height: auto;
	width: 980px;
	margin: 25px auto 20px;
	padding: 0px;
	background: url(../images/container-bg.png) repeat-y;
}

#wrapper-inner {
	height: auto;
	width: 980px;
	margin: 0px;
	padding: 0px;
	background: url(../images/container-top-bg.png) no-repeat left top;
	float: left;
	clear: both;
}

#wrapper {
	margin: 0px;
	padding: 0px;
	height: auto;
	width: 980px;
	background: url(../images/container-bot-bg.png) no-repeat left bottom;
}

#top-container {
	height: auto;
	width: 980px;
}

#clock-anim {
	height: 35px;
	width: 35px;
	position: absolute;
	margin-left: 910px;
	margin-top: 25px;
}

#news-anim {
	height: 35px;
	width: 35px;
	position: absolute;
	margin-left: 230px;
	margin-top: 5px;
}
#options-anim {
	height: 35px;
	width: 35px;
	position: absolute;
	margin-left: 230px;
	margin-top: 5px;
}

.time {
	padding-right:40px;
}

#header-top-bar {
	margin: 0px;
	padding: 0px 0px 5px;
	height: auto;
	width: 980px;
	clear: both;
}

#header-top-bar .bar-container {
	margin: 10px 20px 0px;
	padding: 3px 15px;
	height: auto;
	width: 910px;
	float: left;
	color:#000000;
	font-size:1.1em;
	line-height: 24px;
	border-bottom: 1px solid #CCC;
	display:inline;
}

#flash-header {
	width: 950px;
	height: 210px;
	margin: 0px 15px;
	padding: 0px;
}

#mid-nav {
	margin: 0px;
	padding: 0px 0px 5px;
	height: auto;
	width: 980px;
	clear: both;
}
#mid-nav .mid-container {
	margin: 5px 20px 0px;
	padding: 3px 15px;
	height: auto;
	width: 910px;
	float: left;
	color:#000000;
	font-size:1.1em;
	line-height: 24px;
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	display:inline;
}

.page-size {
	float: left;
	margin: 0px 7px 0px 0px;
	padding: 0px;
}
#header-top-bar .bar-container {
	text-decoration:none;
	cursor:pointer;
}

.changer:hover {
	text-decoration:none;
	cursor:pointer;
}

#main-content {
	width: 940px;
	height: auto;
	margin: 0px 10px;
	padding: 10px;
}
#main-content .left-contents {
	float: left;
	height: auto;
	width: 645px;
	padding: 10px 10px 10px 0px;
	border-right: 1px solid #CCC;
}

#main-content .left-contents .page-contents {
	padding-left: 15px;
	padding-top: 10px;
}

#main-content .left-contents .story-box {
	float: left;
	height: auto;
	width: 645px;
	margin: 0px 0px 10px;
	padding: 0px 0px 10px;
	border-bottom: 1px solid #CCC;
}

#main-content .left-contents .story-box p {
	margin:5px 0px 0px;
	width: 515px;
	display: block;
	float: right;
}

#main-content .left-contents .last {
	border-bottom:none;
	padding:0px;
	margin:0px;
}

#main-content .left-contents .story-box a:link {
	font-size: 1.1em;
	text-decoration: underline;
	font-weight: bold;
}

#main-content .left-contents .story-box a:visited {
	font-size: 1.1em;
	text-decoration: underline;
	font-weight: bold;
}

#main-content .left-contents .story-box a:hover {
	text-decoration: none;
}

#main-content .left-contents .story-box img {
	float: left;
	margin: 0px;
	padding: 0px 15px;
}

#main-content .right-contents {
	float: right;
	width: 274px;
	margin: 0px 0px 0px -1px;
	padding: 10px 0px 10px 10px;
	height: auto;
	border-left: 1px solid #CCC;
	display: inline;
}

#main-content .right-contents .page-contents {
	padding-right: 15px;
	padding-bottom: 20px;
	padding-left: 15px;
}

#main-content .right-contents .page-contents p.news-item {
	padding-right: 15px;
	padding-bottom: 10px;
	padding-left: 15px;
	text-decoration: none;
}
.news-highlight {
	 font-style:italic;
	 background: #FFF8D9;
}
#main-content .right-contents .page-contents .calendar {
	background: url(../images/sidebar-cal.png) no-repeat;
	margin: 0px 0px 0px -15px;
	padding: 0px 10px 0px 0px;
	height: 54px;
	width: 53px;
	float: left;
	display:inline;
}

#main-content .right-contents .page-contents .calendar .month {
	width: 50px;
	text-align: center;
	font-weight:bold;
	padding-top: 7px;
	font-size:0.9em;
}
#main-content .right-contents .page-contents .calendar .day {
	width: 50px;
	font-size: 1.8em;
	font-weight:bold;
	text-align: center;
}

.page-head {
	height: auto;
	width: auto;
	margin: 0px 0px 10px;
	padding: 0px;
	background: #FFCC00 url(../images/page-head-bg.png) repeat-x left bottom;
	display: block;
}

.page-head-container {
	height: auto;
	width: auto;
	margin: 0px;
	padding: 0px;
	background: #FFCC00 url(../images/page-head-bg.png) repeat-x left bottom;
	display: block;
	float:left;
}

.tl {
	width: auto;
	clear: both;
	margin: 0px;
	background: url(../images/page-head-tl.png) no-repeat left top;
}

.tr {
	width: auto;
	clear: both;
	margin: 0px;
	background: url(../images/page-head-tr.png) no-repeat right top;
}

.br {
	width: auto;
	clear: both;
	margin: 0px;
	background: url(../images/page-head-br.png) no-repeat right bottom;
}
.bl {
	width: auto;
	clear: both;
	margin: 0px;
	background: url(../images/page-head-bl.png) no-repeat left bottom;
}

.r {
	width: auto;
	clear: both;
	margin: 0px;
	background: url(../images/page-head-r.png) repeat-y right top;
}

.page-head-content {
	padding-top: 6px;
	padding-bottom: 10px;
	padding-left: 15px;
	text-decoration:underline;
	font-weight:bold;
}

.page-head-content h1{
	font-size: 1.8em;
	padding-right: 18px;
}

#footer {
	margin: 0px;
	padding: 5px 0px 0px;
	height: auto;
	width: 980px;
	clear: both;
}

#footer .footer-container {
	margin: 0px 20px 15px;
	padding: 3px 15px;
	height: auto;
	width: 910px;
	float: left;
	color:#000000;
	font-size:1.1em;
	line-height: 24px;
	border-top: 1px solid #CCC;
	display:inline;
}

.col {
	width:33%;
	float:left;
}

.left {
	float:left;
}

.left-text {
	text-align:left;
}

.right {
	float:right;
}

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

.center-text {
	text-align:center;
}
.center-text-2 {
	text-align:center;
	font-size:1.4em;
}

.search-input {
	margin: 0px;
	padding: 2px 0px;
	height: auto;
	border: 1px solid #000000;
	background: #FFFFFF;
	width: 160px;
}

.search-input:focus {
	background: #E5F6F4;
}

.searchbutton {
	height: auto;
	width: auto;
	background: #000000;
	color: #FFFFFF;
	font-weight: bold;
	margin: 0px;
	padding: 2px;
	border: 1px solid #000000;
	cursor:pointer;
}

.searchbutton:hover {
	background: #FFF;
	color: #000;
}

.highlight {
	background: #FFF8D9;
}

caption {
	background: #FFF8D9;
	text-align:center;
	padding:10px 0px;
}

ul {
	padding-left: 20px;
}

ul li {
	list-style: disc outside;
}

ol.numeric {
	padding-left: 20px;
}

ol.numeric li {
	list-style: decimal outside;
}
ol.numeric li ul {
	padding-left: 20px;
	padding-top: 10px;
}
ol.numeric li ul li {
	list-style: circle outside;
}

ol.roman {
	padding-left:20px;
}

ol.roman li {
	list-style: lower-roman outside;
}

td {
	padding:5px;
	vertical-align:top;
}
th {
	padding:5px;
	vertical-align:top;
	font-weight:normal;
}
.charter-request {
	border: 1px solid #CCCCCC;
}

.underline {
	border-bottom:solid 1px #cccccc;
}
.table-indent {
	padding-left: 15px;
	text-align: right;
}
.required {
	font-weight:bold;
	color:#FF0000;
}

/*************************************** Timetables colour adjustment *************************************/
.freq {
	border-left:solid 1px #ccc;
	border-right:solid 1px #ccc;
}
.freq-head {
	border-top:solid 1px #365F91;
	border-bottom:solid 1px #365F91;
}
.freq-hl {
	border-bottom:solid 1px #ccc;
	background-color: #D3DFEE;
}
.border-rh {
	border-right:1px solid #ccc;
	text-align:center;
}
.line-bot {
	border-bottom:2px solid #000000
}
.r661 {
	background: #355344;
	color: #FFFFFF;
}
.r661 a {
	color: #FFFFFF;
	font-weight:bold;
}
.r661-line {
	border-bottom:1px solid #355344
}

.exp-line-661 {
	width:100%;
	border-bottom:2px solid #355344;
	padding:2px 0px 0px 0px;
}
.highlight-r661 {
	background: #c2cbc7;
}

.r662 {
	background: #4651a3;
	color: #FFFFFF;
}
.r662 a {
	color: #FFFFFF;
	font-weight:bold;
}
.r662-line {
	border-bottom:1px solid #4651a3
}

.exp-line-662 {
	width:100%;
	border-bottom:2px solid #4651a3;
	padding:2px 0px 0px 0px;
}
.highlight-r662 {
	background: #a2a8d1;
}

.r663 {
	background: #fbdd4f;
}
.r663 a {
	color: #000;
	font-weight:bold;
}
.r663-line {
	border-bottom:1px solid #fbdd4f
}

.exp-line-663 {
	width:100%;
	border-bottom:2px solid #fbdd4f;
	padding:2px 0px 0px 0px;
}
.highlight-r663 {
	background: #fdeea7;
	
}

/*************************************** Timetables *************************************/

.route-table {
	width:910px;
	font-size:0.85em;
}
.route-table caption {
	text-align: left;
	padding:5px 5px 5px 28px;
	font-size:1.2em;
	background:#000;
	color:#fff;
}

.route-table th {
	text-align:left;
	padding-left:5px;
	vertical-align:middle;
}

.route-table th.route-no {
	font-weight:bold;
	text-align:center;
	padding:5px;
	width: 60px;
}

.route-table td {
	text-align:center;
	padding:5px;
	vertical-align:middle;
	min-width:25px;
}

.route-table td a {
	font-weight:bold;
	font-size:0.9em;	
}
.route-table tr.train {
	background-color: #D9DEE6;
}

span.explanation {
	display: block;
	float: left;
	padding-left: 40px;
}

span.explanation-label {
	display: block;
	float: left;
	position: absolute;
	margin-left: -40px;
	font-weight: bold;
	width: 20px;
	text-align: center;
}
span.explanation-dash {
	display: block;
	float: left;
	position: absolute;
	margin-left: -20px;
	width: 20px;
	text-align: center;
}

#main-content .full-contents {
	float: left;
	height: auto;
	width: 925px;
	padding: 10px 0px;
}

#main-content .full-contents .page-contents {
	padding-left: 15px;
	padding-top: 10px;
}

.guide-box { width:200px; height:auto; min-height:260px; padding:0px; margin: 10px; float:left; display:inline; text-align: center; border:solid 1px #cccccc; }
.guide-text { border-top:solid 1px #cccccc; padding:10px; text-align:left; }
.guide-box img { margin:10px 0px; border:none }
.guide-text img { margin:0px; border:none; }

.timing-point {
	margin: 0px;
	padding: 0px;
	width: 15px;
	text-align: center;
}

table.routelisting {width:630px;}
table.routelisting a {color:#000; font-weight:bold;}
table.routelisting .r661 a {color:#fff; font-weight:bold;}
table.routelisting .r662 a {color:#fff; font-weight:bold;}
.via {font-size:0.8em}
.time-break { width:1px; background:none; border-right:dashed 1px #fff}
.map-col {width:460px; float:left; height:auto}
.net-col {width:440px; float:right; height:auto}
.date {font-size:0.8em; font-style:italic;}