/***************/
/* main layout */
/***************/
body { margin: 0; padding: 0; background: #000000 url(../images/background.gif) repeat-y 50% 0%; }

#bodyWrapper { width: 992px; margin: auto; }

/* specific link colours for this site */
a         { color: #7b2a2a; text-decoration: none; }
a:link    { color: #7b2a2a; text-decoration: none; }
a:visited { color: #7b2a2a; text-decoration: none; }
a:hover   { color: #7b2a2a; text-decoration: underline; }
a:active  { color: #7b2a2a; text-decoration: underline; }

h1 {
	background: #7b2a2a url(../images/heading.png) no-repeat scroll top right;
	color: #fff;
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	padding: 0 10px;
}

h1 a,
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active { color: #fff; display: block; }

/*******************/
/* header elements */
/*******************/
#header {  }

#main { border: 12px solid #7b2a2a; border-width: 0 13px; padding: 12px 12px 0; }

ul#nav {
	color: #fff;
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size: 1.455em;
	margin-bottom: 12px;
	padding: 8px 10px;
}
ul#nav li { float: left; margin-right: 39px; }
ul#nav li.last { margin-right: 0; padding-right: 0; border: 0; }
ul#nav li a { color: #fff; display: block; }

#nav.main li { padding-right: 11px; border-right: 1px solid #eee; margin-right: 11px; }
#nav.hire li { padding-right: 20px; border-right: 1px solid #eee; margin-right: 20px; }
#nav.post li { padding-right: 38px; border-right: 1px solid #eee; margin-right: 38px; }
#nav.ecfo li { padding-right: 25px; border-right: 1px solid #eee; margin-right: 25px; }

/**************************/
/* landing page specifics */
/**************************/

#tagline {
	color: #fff;
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size: 1.8em;
	margin-bottom: 12px;
	padding: 8px 10px;
	text-align: center;
}
.landing-side    { float: left; width: 305px; }
.landing-content { float: right; width: 610px; }
#landing-header  { width: 610px; height: 343px; margin-bottom: 10px; }

/********************/
/* content elements */
/********************/

#side    { float: left; width: 305px; }
#content { float: right; width: 610px; }

#twitter-link { display: block; margin-bottom: 10px; }

#mailing-list-signup {  }

#mailing-list-signup input.text { 
	background: #e6e6e6;
	border: 0;
	margin-bottom: 8px;
	padding: 6px 5px 5px;
}

#home-header { width: 610px; height: 343px; margin-bottom: 22px; }

#currently-showing { float: left;  width: 295px; }
#timetable         { float: right; width: 295px; }

#landing-post	 { float: left;  width: 295px; }
#landing-ecfo	 { float: right; width: 295px; }
#landing-history { float: right; width: 295px; }

#side #timetable { float: none; width: auto; }

#currently-showing .showing { margin-bottom: 18px; }
#currently-showing .showing.normal h2.title {
	font-size: 1.091em;
	font-weight: normal;
	line-height: 21px;
}
#currently-showing .showing .image { float: left; margin-right: 10px; margin-bottom: 10px; }


#timetable .timetable-days   {  }
#timetable .timetable-day    {  }
#timetable .timetable-day h2 { font-size: 1.091em; font-weight: bold; margin: 0; }

#timetable .timetable-films   { margin-bottom: 11px; }
#timetable .timetable-film    {  }
#timetable .timetable-film h3 { font-size: 1em; font-weight: normal; margin: 0; }

#timetable .timetable-times      { margin-bottom: 7px; }
#timetable .timetable-time       { float: left; border-left: 1px solid #666; padding: 0 5px; }
#timetable .timetable-time.first { border-left: none; padding-left: 0; }



/*************/
/* programme */
/*************/

#programme .film        { margin-bottom: 20px; position: relative; }
.film-header .title     { float: left; margin-bottom: 10px; }
.film-header .rating    { float: right; margin-bottom: 10px; }
#programme .film-image  { float: left; width: 190px; }
#programme .film-detail { float: right; width: 390px; }
#programme .film-info   { margin: 0; padding-bottom: 42px; }
#programme .film-links {
	bottom: 0px;
	color: #fff;
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size: 1.727em;
	line-height: 1.684em;
	position: absolute;
	right: 0px;
	width: 390px;
}
#programme .film-links .film-more-info {
	background: #7b2a2a;
	color: #fff;
	display: block;
	float: left;
	height: 32px;
	padding: 0 10px;
	width: 165px;
}
#programme .film-links .film-more-info:hover,
#programme .film-links .film-more-info:active { background: #95413e; text-decoration: none; }
#programme .film-links .film-book-tickets {
	background: #7b2a2a;
	color: #fff;
	display: block;
	float: right;
	height: 32px;
	padding: 0 10px;
	width: 165px;
}
#programme .film-links .film-book-tickets:hover,
#programme .film-links .film-book-tickets:active { background: #95413e; text-decoration: none; }
#programme .has-image  { float: right; width: 390px; }

#film-youtube  { margin-bottom: 25px; }
#film-book-box { float: right; margin-left: 10px; width: 200px; }
#film-book-tickets {
	background: #7b2a2a;
	color: #fff;
	display: block;
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size: 1.727em;
	line-height: 1.684em;
	height: 32px;
	margin-top: 12px;
	padding: 0 20px;
	width: 160px;
}
#film-book-tickets:hover,
#film-book-tickets:active { background: #95413e; text-decoration: none; }

/***********/
/* booking */
/***********/

#booking-films { margin-bottom: 20px; }
#booking-films .booking-film { margin-bottom: 10px; }
#booking-films .booking-film h2.title { float: left; line-height: 2.14em; width: 450px; }
#booking-films .booking-film .film-book-tickets {
	background: #7b2a2a;
	color: #fff;
	display: block;
	float: right;
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size: 1.273em;
	line-height: 2.14em;
	padding: 0 20px;
}
#booking-films .booking-film .film-book-tickets:hover,
#booking-films .booking-film .film-book-tickets:active { background: #95413e; text-decoration: none; }

/*************/
/* from rich */
/*************/
.filmTimes {
	background-color: #eee;
	border: 1px solid #999;
	margin-top: 4px;
}
.filmTimes th, .filmTimes td { text-align: center; }
.filmBookTime { border: 1px solid #999; }
.filmBookTime a {
	color: #333;
	padding: 4px;
	display: block;
	text-decoration: none;
}
.filmBookTime a:hover   { background-color: #ccc; }
.filmBookTime a:visited { text-decoration: none; }
.filmBookError {
	color: #900;
	font-weight: bold;
	background-color: #ffdfdf;
	border: 1px solid #900;
	padding: 3px;
}
.bookTable {
	border: 1px solid #c0c0c0;
	margin-top: 6px;
}
.bookTable th {
	background-color: #eee;
	font-weight: bold;
}
#cardTable, .cardTable {
	border: 1px solid #c0c0c0;
}
#cardTable .sideNote, .cardTable .sideNote {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 9px;
}
a.filmBookButton {
	background: #7b2a2a;
	color: #fff;
	display: block;
	float: left;
	font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size: 1.23em;
	line-height: 2.14em;
	margin-right: 5px;
	padding: 0 10px;
}

/*********/
/* items */
/*********/
.item          { margin-bottom: 10px; }
.item .title   { font-size: 1.273em; font-weight: normal; line-height: 1.143em; margin: 0; }
.item .date    { font-size: 1.091em; line-height: 1.333em; margin-bottom: 5px; }
.item .image   { float: left; margin-right: 10px; margin-bottom: 10px; }

.tweet .date { color: #7b2a2a; }

.full .detail { float: left;  width: 280px; }
.full .image  { float: right; width: 280px; }


/*******************/
/* footer elements */
/*******************/
#footer {
	background: #7b2a2a;
	color: #fff;
	font-size: 1.091em;
	margin-top: 20px;
	padding: 8px 10px;
}
#footer a { color: #fff; }


/***********************/
/* general form styles */
/***********************/
.required { color: #f00; }

/* all form elements are contained within a formrow div, with a label and
 *  then the element, this is the best way (but still not good) to emulate
 *  a table */
div.formrow {
  clear: both;
  text-align: left;
  margin-bottom: 10px;
}

div.formrow label {
  float: left;
  text-align: right;
  margin-right: 10px;
  width: 80px; /* default width for a default form, add new form ids and override */
}
div.formrow.indent { margin-left: 90px; } /* label width + label margin-right, override as above */
div.formrow label.radio {
	float: none;
	text-align: inherit;
	margin-right: 0;
	width: auto;
}

/* message and error boxes, not just useful in contact form */
#messages,
#errors,
#warnings,
#info { margin-bottom: 10px; }
.message { border: 1px solid #080; background: #efe; color: #080; padding: 3px 5px; margin-bottom: 15px; float: left; } /* you may need to clearfix this */
.message.nomargin { margin-bottom: 0; } /* if before something with a margin-top */
.message.info { border-color: #880; background: #ffe; color: #880; } /* info box in yellow */
.message.warn { border-color: #f40; background: #ffe; color: #f40; } /* warning box in orange */
.message.error { border-color: #f00; background: #fee; color: #f00; } /* error box in red */

/* put this at the end and hope the padding doesn't ruin everything */
.bg { background: #f5ffdc; padding: 10px !important; }

