/**
Client:				Rail-Blue Charters
Date:					March 2010
Created by:		Gencon
**/

/* RESET CODE
----------------------------------------------------------------------------- */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,var{font-style:normal;font-weight:normal;}
caption,th {text-align:left;}
q:before,q:after{content:'';}
abbr,acronym {border:0;}


/* CLEAR AND FLOATS
----------------------------------------------------------------------------- */

.clear {
	clear:both;
}

.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

.clearfix {
	display:inline-block;
}

/* Hides from IE-mac */
* html .clearfix {
	height:1%;
}

.clearfix {
	display:block;
}

.right {
	float:right;
}

.left {
	float:left;
}

.relative {
	position:relative;
}

.absolute {
	position:absolute;
	z-index:99;
}


/* STRUCTURE
----------------------------------------------------------------------------- */

.head, .prime, .banner, .container, .foot {
	clear:both;
	margin:0 auto;
}

/* This forces a vertical scroll bar regardless of page height, simply to combat the irritating page shift. */
html {
	height:101%;
	margin-bottom:1px;
}

/* for ie5.5 / 6.0 - realign the text */
* html .head, * html .prime, * html .banner, * html .container, * html .foot {
	text-align:left;
}

body {
	margin:0px auto;
	font-family:Helvetica, Arial, sans-serif;
	color:#666666;
	font-size:100%;
	background:#ccc url(/images/bg_body.png) repeat-x top left;
}

/*
 For FireFox, Chrome and Safari - default monospace font too small
 See: http://www.undermyhat.org/blog/2009/09/css-font-family-monospace-renders-inconsistently-in-firefox-and-chrome/
*/
pre, code, samp, kbd, tt {
  font-family:"Courier New" , monospace;
}

/* Container for the whole page */
div.page_body {
	margin:0 auto;
	width:960px;
	position:relative;
	background:#fff;
}

.head {
	background:url(/images/bg_head.png) repeat-x top right;
	position:relative;
}

.logo {
	height:100px;
}

.strapline {
	position:absolute;
	right:20px;
	top:30px;
}

.strapline p, .strapline p a {
	font-weight:bold;
	color:#0c4b5e;
}

.strapline p.icon {
	padding-left:28px;
}

.strapline p.icon.email {
	background:url(/images/icon_email.gif) no-repeat 0 50%;
}
.strapline p.icon.phone {
	background:url(/images/icon_phone.gif) no-repeat 0 50%;
}

.prime {
	background:#fff url(/images/bg_prime.gif) repeat-x top left;
	height:45px;
}

.container {
	padding:20px;
	width:920px;
	clear:both;
	background:#ffffff;
	min-height:300px;
	height:auto !important;
	height:300px;
}

div.first_title {
	margin-bottom:15px;
}

.foot {
	background:transparent url(/images/bg_foot.gif) repeat-x top left;
	width:960px;
	clear:both;
}


/* fixes collapse of empty div in firefox */
.spacer {
	white-space:pre;
}

span.zoom {
	display:block;
	font-weight:bold;
	text-align:center;
	background:#EEEEEE;
	color:#555555;
	line-height:12px;
	font-size:10px;
	margin:0;
}


/* SPOTLIGHT STYLES
----------------------------------------------------------------------------- */

div.spotlight {
	margin:5px 20px 0 20px;
}


/* CAROUSEL STYLES
----------------------------------------------------------------------------- */

div.carousel {
	width:620px;
	height:300px;
	overflow:hidden;
	display:inline;
}

div.carousel_list img.carousel {
	width:50%;
}

/* CHANNEL STYLES
----------------------------------------------------------------------------- */

div.channels {
	width:300px;
	float:left;
	display:inline;
}

div.channel {
	height:100px;
	width:300px;
	float:none;
	overflow:hidden;
}

/* BULLET STYLES
----------------------------------------------------------------------------- */

div.content_two ul, div.content_three ul {
	padding-left:0;
}

div.content_two ul li, div.content_three ul {
	font-size:0.8em;
	line-height:1.44em;
}


/* ROLLOVER STYLES
----------------------------------------------------------------------------- */

a.rollover {
	display:block;
	width:100%;
	height:100%;
}

a.rollover:hover {
	background-position:bottom;
}

a.rollover span {
	position:absolute;
	left:-5000px;
}

/* BANNER STYLES
----------------------------------------------------------------------------- */

div.banner {
	margin:5px 20px 0 20px;
	position:relative;
}

/* ADMIN FORM STYLES
----------------------------------------------------------------------------- */

div.editor {
	font-family: Arial, sans-serif;
}

div.editor h1 {
	font-size:1.4em;
	margin-bottom:0.5em;
}

div.editor form.admin {
	font-size:0.75em;
}

div.editor form.admin p {
	font-size:1em;
	padding:0;
	margin:0 0 0.5em 0;
}

div.editor form.admin fieldset {
	border:1px #CCCCCC solid;
	padding:15px
}

div.editor form.admin legend {
	font-weight:bold;
	font-size:1.2em;
	margin:15px 0;
}

div.editor form.admin div.row {
	clear:both;
	margin-bottom:15px;
}

div.editor form.admin div.row input {
	vertical-align:text-bottom;
}

div.editor form.admin label {
	display:block;
	font-weight:bold;
	line-height:1.6em;
}

div.editor form.admin label sup {
	color:#FF0000;
}

div.editor form.admin div.row input.error, div.editor form.admin div.row textarea.error,
div.editor form.admin div.row select.error {
	border-color:red;
}

div.editor form.admin div.row p.error {
	color:#FF0000;
}

div.editor form.admin div.row p.note {
	color:#555555;
}

/* LOGIN FORM STYLES
----------------------------------------------------------------------------- */

form.login {
	font-size:0.75em;
}

form.login p {
	font-size:1em;
}

form.login fieldset {
	border:1px #CCCCCC solid;
}

form.login legend {
	font-weight:bold;
}

form.login div.row {
	clear:both;
	margin-bottom:10px;
}

form.login div.row input {
	vertical-align:text-bottom;
}

form.login div.row div {
	margin-left:178px;
}

form.login label {
	display:block;
	float:left;
	font-weight:bold;
	margin-right:10px;
	text-align:right;
	width:170px;
}

form.login label sup {
	color:#FF0000;
}

form.login div.row p.error {
	color:#FF0000;
	text-align:center;
}

form.login div.row p.note {
	color:#555555;
	text-align:right;
}


/* NEWSLETTER FORM STYLES
----------------------------------------------------------------------------- */

form.newsletter {
	margin-top:10px;
	width:495px;
}

form.newsletter input.text {
	vertical-align:text-bottom;
	width:120px;
	border:1px solid #d3c8b4;
	font-size:11px;
	padding:3px 5px;
	float:left;
}

form.newsletter div.form-checkboxes {
	vertical-align:text-bottom;
	margin:0 2px 0 5px;
	padding:2px 2px 2px 2px;
	float:left;
}

form.newsletter input.submitbut {
	float:left;
	border:none;
	color:#fff;
	font-size:12px;
	font-weight:bold;
	background-color:#0d4c5f;
	padding:3px 3px 3px 4px;
	line-height:normal;
	margin-left:3px;
	margin-bottom:20px;
}

form.newsletter label {
	display:block;
	font-weight:bold;
	color:#0c4b5e;
	margin:0.5em 0;
	font-size:0.75em;
}
form.newsletter label.small_label {
	display:inline;
	padding-right:5px;
	font-weight:normal;
	font-size:11px;
}

form.newsletter .preference label, form.newsletter .preference input {
	font-weight:normal;
	float:left;
	margin:0 5px 0 2px;
}

/* CONTACT FORM STYLES
----------------------------------------------------------------------------- */

form.contact div.row {
	margin-bottom:15px;
}

form.contact div.row input.text, form.contact div.row textarea {
	width:220px;
	border:1px solid #d3c8b4;
	font-size:0.9em;
	padding:5px;
}

form.contact div.natural input {
	width:auto;
}

form.contact input.submitbut {
	float:right;
}

form.contact label {
	font-weight:bold;
	display:block;
	float:left;
	width:200px;
	padding-right:15px;
	font-size:0.9em;
}

form.contact div.row p.error {
	width:235px;
	float:right;
	font-size:0.7em;
	color:#ff0000;
	margin-bottom:0.5em;
	display:block;
}

form.contact div.row input.error, form.contact div.row textarea.error{
	border-color:#ff0000;
	color:#ff0000;
}

/* GENERAL DYNAMIC CONTENT STYLES
----------------------------------------------------------------------------- */

div.content ul {
	padding:0 0 15px 20px;
	margin-left:0;
}

div.content ol {
	margin:0 0 10px 5px;
	padding:0 0 15px 15px;
	font-size:0.8em;
	line-height:1.3em;
	list-style:decimal outside none;
}

div.content h1, div.content_three div.content h2.first_title {
	color:#0c4b5e;
	font-size:1.5em;
	padding-bottom:0.2em;
	border-bottom:1px solid #D3C8B4;
	margin-bottom:0.5em;
	font-weight:bold;
}
div.home_content_three_wide div.content h1 {
	margin-bottom:0;
}
div.home_content_three_wide div.content div.first_block h1 {
	margin-top:0.5em;
	margin-bottom:0.5em;
}

div.content h2, div.content h2 a {
	color:#0d4c5f;
	font-size:1.1em;
	padding-bottom:0.2em;
	margin-bottom:0.7em;
}

div.content span.first_title {
	display:block;
	padding:0 0 12px 0;
}

div.content h3 {
	font-size:1em;
	line-height:1.45em;
	font-weight:normal;
	color:#0d4c5f;
	padding-top:5px;
}

div.content p {
	margin:0 0 1em 0;
	font-size:0.85em;
	line-height:1.35em;
}

div.home_content_two .first_block p {
	font-size:1em;
	line-height:1.45em;
}

div.content .content_image {
	padding:0;
	line-height:0;
}

div.content .content_image.right {
	margin:5px 0 10px 10px;
}

div.content .content_image.left {
	margin:5px 10px 10px 0;
}

div.content .content_image.full {
	margin:5px 0 10px 0;
	padding:0;
	border:none;
}

/* CONTENT COLUMN ONE
----------------------------------------------------------------------------- */

.content_one {
	width:195px;
	float:left;
	display:inline;
}

/* CONTENT COLUMN TWO
----------------------------------------------------------------------------- */

.content_two {
	padding:0 0 0 20px;
	width:450px;
	float:left;
	display:inline;
}

.container.newsletter .content_two {
	padding:0px;
	width:645px;
	float:left;
	display:inline;
}

.home_content_two {
	padding:0;
	width:605px;
}

/* CONTENT COLUMN THREE
----------------------------------------------------------------------------- */

.content_three {
	width:235px;
	float:right;
	display:inline;
}

.home_content_three_wide {
	width:295px;
}

/* CONTENT COLUMN FOUR
----------------------------------------------------------------------------- */

.bbc_content_four {
	margin:15px 0 0 0;
	padding:0;
	width:440px;
	float:left;
	display:inline;
}

/* CONTENT COLUMN FIVE
----------------------------------------------------------------------------- */

.bbc_content_five {
	margin:15px 0 0 0;
	padding:0;
	width:440px;
	float:right;
	display:inline;
}

/* CONTENT COLUMN SIX
----------------------------------------------------------------------------- */

.bbc_content_six {
	margin:15px 0 0 0;
	padding:0;
	width:440px;
	float:left;
	display:inline;
}

/* PRIMARY NAVIGATION
----------------------------------------------------------------------------- */

ul.primarynav {
	padding:5px 0 0 18px;
	list-style:none;
}

ul.primarynav li {
	float:left;
	font-size:1em;
	font-weight:bold;
}

ul.primarynav li a {
	padding:0 14px;
	display:block;		
	color:#ccc;
	text-decoration:none;
}

ul.primarynav li a:hover {
	text-decoration:none;
	color:#fff;
}

ul.primarynav li a.activelink {
	color:#fff;
}

/* SIDE NAVIGATION
----------------------------------------------------------------------------- */

div.sidenav {
	font-size:0.8em;
	padding-top:8px;
}

div.sidenav ul {
	padding:0;
	margin:0;
	width:195px;
	border-bottom:1px solid #d3c8b4;
}

div.sidenav ul li.level1 ul {
	border:none;
}

div.sidenav li {
	line-height:auto;
	position:relative;
	list-style:none;
	height:1%;
}

div.sidenav li.level1 {
	border-top:1px solid #d3c8b4;
	font-weight:bold;
}

div.sidenav li.level2, div.sidenav li.level3 {
	font-weight:normal;
	border-top:none;
}

div.sidenav li.level3 a {
	padding-left:40px;
}

div.sidenav li a {
	color:#0d4c5f;
	padding:6px 30px;
	display:block;
}

div.sidenav li.admin {
	font-size:11px;
}


div.sidenav li a.active {
	background:#3D707F;
	color:#fff;
}

div.sidenav li a:hover {
	background:#6E949F;
	text-decoration:none;
	color:#fff;
}

div.sidenav span.first_title {
	border:none;
	margin:0;
}

/* ADMIN STYLES
----------------------------------------------------------------------------- */

p.admin, p.admin a, li.admin a.add, li.level1 li.admin a.add {
	font-size:11px;
	line-height:15px;
	font-weight:normal;
	color:#bb141a;
	text-decoration:none;
	background:#fff;
	display:inline;
}

p.admin.absolute {
	top:0;
	left:0;
}

p.admin a.add, li.admin a.add,li.level1 li.admin a.add, p.admin a.edit, p.admin a.moveup, p.admin a.movedown, p.admin a.return {
	padding:3px 18px;
}

p.admin a.add, li.admin a.add, li.level1 li.admin a.add   {
	background:url(/images/add.gif) no-repeat 0 50%;
}

p.admin a.edit {
	background:url(/images/edit.gif) no-repeat 0 50%;
}

.navigationGrid p.admin, .navigationGrid p.admin a {
	background:none;
}

p.admin a.moveup {
	background:url(/images/up.gif) no-repeat 0 50%;
}

p.admin a.movedown {
	background:url(/images/down.gif) no-repeat 0 50%;
}

p.admin a.return {
	background:url(/images/left.gif) no-repeat 0 50%;
}

div.sidenav li.level1 span.admin a {
	position:absolute;
	top:2px;
	right:0;
	padding:2px;
	margin:0;
	background:#fff;
	display:inline;
	width:16px;
	height:16px;
}

div.sidenav li.admin a:hover {
	background:url(/images/add.gif) no-repeat 0 50%;
	color:#bb141a;
}

div.sidenav li.level1 span.admin a.moveup {
	right:16px;
}

div.sidenav li.level1 span.admin a.movedown {
	right:0;
}

/* BREADCRUMB NAVIGATION
----------------------------------------------------------------------------- */

div.breadcrumb {
	font-size:0.75em;
	margin:0.4em 0 0.4em 216px;
}

/* FOOTER NAVIGATION
----------------------------------------------------------------------------- */

.foot ul {
	list-style:none;
	padding-top:20px;
	float:right;
}

.foot ul li {
	list-style:none;
	color:#666;
}

.foot ul li a {
	display:block;
	float:left;
	color:#666;
	text-decoration:none;
	font-size:0.65em;
}

.foot ul li a:hover {
	text-decoration:underline;
}

.foot ul li.active a {
	text-decoration:underline;
}

.foot p {
	font-size:0.75em;
	float:left;
	margin:0;
	padding:0;
	line-height:auto;
	display:inline;
	margin:20px 0 0 0;
}

div.foot p.credits {
	font-size:0.65em;
	text-decoration:none;
	color:#666666;
	float:right;
	margin:20px 0 0 20px;
}

div.foot p.credits a {
	text-decoration:none;
	color:#666666;
}

div.foot p.credits a:hover {
	text-decoration:underline;
	color:#666666;
}

/* ARTICLE STYLES
----------------------------------------------------------------------------- */

div.content.oddRow {
	background:#eee;
}

div.article_summary,
div.featured_article {
	border-bottom:1px solid #d3c8b4;
}

div.article_summary img {
	padding-right:10px;
}

div.article_summary h2 {
	padding-bottom:0;
	margin-bottom:0;
}

cite {
	font-size:0.7em;
	display:block;
	margin:0.2em 0 0.5em 0;
}

div.article_summary p {
	padding-top:5px;
}

div.article_summary img {
	float:right;
	margin:0 0 10px 10px;
	font-size:0.6em;
}

/* CALENDAR STYLES
----------------------------------------------------------------------------- */

div.article_summary p.month_name {
	font-size:80%;
	padding:3px;
	background:#9cabb6;
	color:#fff;
	margin:0 0 8px 0;
	font-weight:bold;
}

div.article_summary p {
	padding:0 0 0 3px;
	margin:0;
}

div.article_summary div.date {
	width:20%;
	float:left;
}

div.article_summary div.details {
	width:80%;
	float:left;
	padding-bottom:5px;
}

div.article_summary h2 {
	font-size:0.8em;
	padding:2px 0 3px 3px;
	margin:0 5px 0 0;
	font-weight:bold;
}

div.article_summary a {
	color:#0d4c5f;
}

div.calendar {
	font-size:80%;
}

div.calendar table {
	border-collapse:separate;
	width:100%;
	margin:3px auto;
	border:1px solid #f0f0f0;
}

div.calendar th,
div.calendar td {
	text-align:center;
}

div.calendar th {
	padding:3px 0 0 0;
	font-size:100%;
}

div.calendar td {
	width:14%;
	line-height:1.8em;
	background:#f0f0f0;
	border: 2px solid #ffffff;
}

div.calendar th.previous {
	vertical-align:middle;
}

div.calendar th.current {
}

div.calendar th.next {
}

div.calendar a {
	display:block;
	text-decoration:none;
}

div.calendar a:hover {
	text-decoration:underline;
}

div.calendar td.plain {
	background:#ffffff;
}

div.calendar tr.header {
	background:#9cabb6;
	color:#ffffff;
}

div.calendar tr.header a {
	color:#ffffff;
}

div.calendar tr.header th {
	padding:3px 0 1px 0;
}

div.calendar td.today {
	border-right:2px solid #34536d;
	border-bottom:2px solid #032f52;
}

div.calendar td.busy {
	background:#9cabb6;
	color:#ffffff;
}


/* GENERIC STYLES
----------------------------------------------------------------------------- */

a {
	color:#1e90ff;
	text-decoration:none;
}

a:hover {
	text-decoration:underline;
}

.center {
	text-align:center;
}

.small {
	font-size:90%;
}

tr.oddRow {
	background:#c1ffc1;
}

img {
	font-size:0.6em;
}

