	/* GENERAL LAYOUT */

* {
	margin:0px;
	padding:0px;
}

body {
	font-family: Arial, Helvetica, sans-serif;
	background: #f2f3f8 url(../img/tile.png) repeat-x;
}

#container {
	margin:0px auto;
	width:970px;
}

/* HEADER AND TOP NAV */

#header {
	float:left;
	height:150px;
}

#contactdetails {
	float:right;
	margin-top:30px;
	height:35px;
	font-weight:bold;
	color:#192f8c;
}

#telephone {
	float:left;
	background-image:url(../img/telephone.png);
	background-repeat: no-repeat;
	padding-top:8px;
	padding-left:35px;
	margin-right:20px;
	height:35px;
}

#emailaddress {
	float:left;
	background-image:url(../img/emailbutton.png);
	background-repeat: no-repeat;
	padding-top:8px;
	padding-left:35px;
	height:35px;
}

#emailaddress a {
	color:#192f8c;
	text-decoration:none;
}
#emailaddress a:hover {
	color:#09dfe2;
}

#header h1 a {
	float:left;
	width:234px;
	height:95px;
	text-indent:-100em;
	background-image:url(../img/logo.png);
	overflow:hidden;
}

#topnav {
	clear:left;
	float:left;
	width:970px;
	height:51px;
	margin-top:4px;
}

#topnav ul {
	display:block;
	list-style-type:none;
	margin-left:0px;
	height:51px;
	color:#FFF;
	padding-left:20px;
	float: left;
}

#topnav ul li {
	display:block;
	float:left;
	height:29px;
	font-weight:bold;
	padding-right:10px;
	padding-left:10px;
}

#topnav ul li a {
	color:#FFF;
	float:left;
	text-decoration:none;
	height:29px;
	padding-top:22px;
}

#topnav ul li a:hover {
	color:#09dfe2;
}

#topnav ul li.selected {
	color:#192f8c;
	padding-left:0;
	padding-right:7px;
	height:51px;
	background-image:url(../img/tabright.png);
	background-position:right;

}

#topnav ul li.selected a {
	color:#192f8c;
	padding-left:10px;
	padding-right:2px;
	background-image:url(../img/tabmain.png);
}

/* MAIN AND CONTENT */
#main {
	float:left;
	width:970px;
	background-color:#FFF;
}

#subnav {
	float:left;
	width:228px;
}

#subnav ul {
	display:block;
	list-style-type:none;
	padding:0px;
	margin-left:0px;
	margin-top:25px;
	margin-bottom:8px;
}

#subnav ul li {
	font-weight:bold;
	text-indent:0px;
	padding-left:28px;
	padding-top:8px;
	padding-bottom:6px;
	background-image:url(../img/sidenavline.png);
	background-repeat: no-repeat;
	background-position:bottom;
}

#subnav ul li a {
	color:#192f8c;
	text-decoration:none;
}

#subnav ul li.selected a {
	color:#09dfe2;
	text-decoration:none;
}

#subnav ul li a:hover {
	color:#09dfe2;
}

#openingtimes {
	font-size:0.9em;
	color:#525252;
	padding: 0px 27px 15px 27px;
}

#openingtimes h3 {
	color:#192f8c;
	margin-bottom:0.5em;
}

#openingtimes p {
	margin-bottom:0.5em;
}

#newslettersignup {
	padding:0px 27px 15px 27px;
	font-size:0.9em;
	color:#525252;
}

#newslettersignup h3 {
	color:#192f8c;
	margin-bottom:0.5em;
}

#main #newslettersignup div.required {
	margin-bottom:2px;
}

#main #newslettersignup div.submit {
	width:84px;
	padding-top:4px;
}

#newslettersignup #newsletterError {
	color:#F00;
	font-size:0.7em;
	font-weight:bold;
}

#newslettersignup div.required input {
	background-color:#f2f3f8;
}

#content {
	float:left;
	font-size:0.9em;
	color:#525252;
	margin-top:20px;
	width:721px;
	padding-right:20px;
}

#content a {
	color:#192f8c;
	text-decoration:none;
}

#content a:hover {
	text-decoration:underline;
}

#content h1 {
	color:#192f8c;
	font-size:1.6em;
	margin-bottom:0.7em;
	font-weight:normal;
}

#content h1 a {
	clear: left;
}

#content h2 {
	color:#192f8c;
	font-size:1.3em;
	margin-bottom:0.7em;
	font-weight:normal;
}

#content ul {
	list-style-type:none;
	padding-left:10px;
	margin-left:0px;
}

#content ul li {
	background: url(../img/contentbulletdark.png) 0px 5px no-repeat;
	padding-left:15px;
}

#content blockquote p {
	color:#192f8c;
	padding-left:2em;
	font-style:italic;
	padding-right:3em;
}

#content table {
	border:0px;
}

#content table td {
	border:0px;
}

#content table th {
	border:0px;
	color:#192f8c;
	background:#FFF;
	text-align:left;
	border-bottom:1px solid #0de0e2;
	font-size:1.2em;
	font-weight:bold;
}

#content table tr.odd {
	background:#f7f8fb;
}

/* HOMEPAGE PICS */

#homepagepics ul {
	list-style-type:none;
	margin:0px;
	padding:0px;
	padding-bottom:15px;
}

#homepagepics {
	margin-bottom:15px;
}

/* IMAGE AREA */

#imagearea {
	float:left;
	width:721px;
	height:198px;
	margin-top:0px;
	overflow: hidden;
}

#imagearea {
	position: relative;
}

#imagearea li {
	position: absolute;
	width: 721px;
	height: 198px;
	display:block;
}

ul#imagearea img {
	position: absolute;
	top: 0px;
	left: 0px;
	display:block;
}

#imagearea img {
	display:block;
	margin-right: 0px;
	float: left;
}

#imagearea img.right {
	margin-left: 0px;
}

/* OLD IMAGE AREA BITS

ul#imagearea {
	position:relative;
	width:721px;
	height:198px;
	float:left;
	padding-bottom:20px;
}

ul#imagearea li {
	background-image:none;
	display:block;
	position:absolute;
	padding-left:0px;
}

*/

/* UPCOMING EVENTS BLOCK */
#content .upcoming {
	float:left;
	width:330px;
}

#content .upcoming .event {
	clear:left;
	margin:0px 0px 10px 0px;
	display:block;
}

#content .upcoming .eventinfo {
	float:left;
	width:260px;
	min-height:70px;
}

#content .upcoming .eventinfo h3 {
	color:#192f8c;
}

#content .upcoming .event .month {
	float:left;
	width:55px;
	height:20px;
	background-image:url(../img/monthback.png);
	color:#FFF;
	text-align:center;
	padding-top:2px;
	text-decoration:none;
	margin-right:10px;
}

#content .upcoming .event .date {
	float:left;
	background:#cef9f9;
	border:3px solid #192f8c;
	width:49px;
	height:36px;
	color:#192f8c;
	font-size:2em;
	font-weight:bold;
	padding-top:2px;
	text-decoration:none;
}

#content .upcoming a:hover .event .date {
	background:#09dfe2;
}

#content .upcoming .eventlinks a {
	float:left;
	width:350px;
	margin-top:20px;
}

#content .upcoming .moreinformation {
	float:right;
	width:350px;
}

#content .upcoming .moreinformation h3 {
	float:left;
	font-size:1.2em;
	color:#192f8c;
}

#content .upcoming .moreinformation p {
	float:left;
}

#content .upcoming .eventspage {
	width:710px;
	float:left;
}

#content .upcoming .eventwrap {
	clear:both;
}

#roomhire {
	margin-left:29px;
	float:right;
	margin-top:15px;
}

#newslettersignup div.required input {
	width:170px;
	float:left;
}

#newslettersignup div.submit input {
	width:auto;
	float:left;
}


/* HOMEPAGE NEWS ITEMS */

#newsblock {
	float:right;
	padding-left:29px;
	width: 360px;
}

#newsblock #latestnews {
	float: left;
	width: 360px;
	overflow: hidden;
	background: #192f8c url(../img/homenewstop.png) no-repeat;
	color: #FFF;
	padding-bottom: 0px;
}

#newsblock #latestnews #latestnewsinner {
	float: left;
	width: 360px;
	padding: 10px 15px 0px 15px;
	background: url(../img/homenewsbottom.png) no-repeat bottom left;
}

#newsblock #latestnews a {
	text-decoration:none;
	color:#09dfe2;
}

#newsblock #latestnews a:hover {
	text-decoration:underline;
}

#newsblock #latestnews h3 {
	color:#FFF;
	font-size:1.4em;
	margin-bottom:0.5em;
}

#newsblock #newsbottom {
	background-image:url(../img/homenewsbottom.png);
	height:9px;
	width:360px;
	float:left;
}


/* FOOTER */

#footer {
	clear:both;
	background-image:url(../img/footertile.png);
	background-repeat:repeat-x;
	border-top:4px solid #d5d9ea;
	width:970px;
	height:100px;
	color:#192f8c;
	font-size:0.7em;
	padding-top:4px;
	text-align:center;
	margin-top: 20px;
	float:left;
}

#footer a {
	color:#192f8c;
	text-decoration:none;
}

#footer a:hover {
	text-decoration:underline;
}

/* CONTACT PAGE */

#content #formBlock.contactpage {
	background-color:#eff1f7;
	padding:15px;
	border:4px solid #d5d9ea;
	width:476px;
	margin-bottom:20px;
	float:left;
}

#content #formBlock.contactpage textarea {
	width:318px;
}

#content #formBlock.contactpage form {
	width: 490px;
}

#content #formBlock.contactpage div.submit {
	float: left; 
	height: 50px;
	width: 456px;
}

#content #formBlock.contactpage div.submit input {
	background:#8a96cb;
	border:4px solid #d5d9ea;
	color:#FFF;
	font-weight:bold;
	padding:10px;
	margin-right:-15px;
	font-family: Arial, Helvetica, sans-serif;
	font-size:1.2em;
	float:right;
	position: relative;
}

#content #formBlock.contactpage div.submit input:hover {
	background:#192f8c;
}

/* COMMUNITY PAGES */

#content .community img {
	padding-left:20px;
	padding-bottom:20px;
}

#content .community .communityinfo {
	font-style:italic;
	margin-bottom:15px;
}


/* BUSINESS PAGES */

#businessform {
	background: #192F8C url(../img/fullwidthbox-top.png) no-repeat;
	padding: 12px 10px 10px 12px;
	color:#FFF;
	float:left;
	width:699px;
}

#businessform div.optional label {
	float:left;
	width:auto;
	padding-right:10px;
}
#businessform div.optional input {
	width:300px;
	margin-right:10px;
}

#businessform div.optional {
	width:auto;
}

#businessform div.optional select {
	margin-right:20px;
}

#businessform #letter-picker {
	clear:both;
}

#businessform #letter-picker a {
	color:#FFF;
}

#businessformbottom {
	float:left;
	width:721px;
	clear:both;
	height:9px;
	background: #192F8C url(../img/fullwidthbox-bottom.png) no-repeat;
	margin-bottom:20px;
	overflow: hidden;
}

#businessbox {
	background: #192F8C url(../img/fullwidthbox-top.png) no-repeat;
	padding: 12px 10px 0px 12px;
	color:#FFF;
	float:left;
	width:699px;
	margin-top:20px;
}

#businessbox a {
	color:#FFF;
}

#businessleft {
	float:left;
	width:350px;
}

#businessright {
	float:left;
	width:300px;
}

#businessboxbottom {
	background: #192F8C url(../img/fullwidthbox-bottom.png) no-repeat;
	float:left;
	width:721px;
	height:9px;
	overflow: hidden;
}

.business img {
	padding-left:20px;
	padding-bottom:20px;
}

#businesstable {
	clear:left;
}

/* GOOGLE MAP */
#content #map {
	clear:both;
	padding-top:20px;
	width: 713px; 
	border:4px solid #d5d9ea;
	height: 350px;
	margin: 10px 0px 30px 0px;
}

div.events {
	margin-bottom:20px;
	float:left;
}

div.rightside {
	float:right;
	width:350px;
	margin-top:14px;
	margin-left:15px;
}

div.rightside h3 {
	color:#192F8C;
	font-size:1.2em;
}

div.blockevent {
	clear:both;
}


/** == CMS OVERRIDES == **/
body .editable-content .textarea, body .editable-content .input-editor { width: 709px !important; }

body div.required input, body div.optional input { width:318px; }
body div.required textarea, body div.optional textarea { width: 467px; }
body div.required label, body div.optional label { float: left; padding-bottom: 3px; }
div.error_message { font-weight: bold; color: #F00; font-size:0.9em; padding-left:150px;}

#formBlock div.optional textarea {height:100px;}

p.right, p.left { margin: 0 !important; }
p.right img { margin-left: 15px; margin-bottom: 15px; }
p.left img { margin-right: 15px; margin-bottom: 15px; }	
p.right { float: right; clear: both; }
p.left { float: left; clear: both; }

div.clear {
	float:left;
	clear:left;
	width:340px;
}

div.clearfix {
    clear: both;
}

/** = new login box = **/
.login_box { border: 10px solid #e1e1e1; padding: 20px; width: 333px; float: left; }
body form .login_box label { float: left; width: 86px; }
form .login_box div.required input, .login_box form div.optional input { width: 323px; }
body form .login_box div.submit { float: left; width: auto}
body form .login_box div.submit input { float: left; }
body #rightcolumn #content ol, body #rightcolumn #content ul
{
	margin-bottom: 1em;
}
body #rightcolumn #content ol li
{ 
	margin-left: 2em; 
	background: none !important; 
	padding-left: 0px; 
}

#flashMessage {
	background:#FFFCAB; 
	padding:10px; 
	margin-bottom:20px;
	border-bottom:1px solid orange;
	border-top:1px solid orange;	
	text-align: center;
	clear: both;
}

/* BLOG */

body.PostsController #flashMessage {
	margin-left: 20px;		
}

#blogform div.error_message {
	padding-left: 0px;
	width: 400px;
}

body.PostsController #content {
	width: 950px;
}

body.PostsController #subnav {
	display:none;
}

body.PostsController .sidebar {
	float:left;
	width:220px;
	padding-left:25px;
}

.sidebar ul#archive {
	background-image:url(../img/sidenavline.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	padding-bottom:15px;
}

.sidebar p a {
	font-weight:bold;
	font-size:1.2em;
}

body.PostsController #posts {
	float:left;
	overflow: hidden;
	width:705px;
}

body.PostsController #posts .comment p.author {
	font-size:0.7em;
	color:#192F8C;
}

body.PostsController #posts div.under_post {
	font-size:0.7em;
	color:#192F8C;
	margin-bottom:10px;
}

body.PostsController #posts div.under_post p {
	margin-bottom:0px;
}

#content #blog div.sidebar ul#archive, div.sidebar ul#archive ul, div.sidebar ul#archive ul {
	list-style-type:none;
}

#content #blog div.sidebar ul#archive li {
	background:none;
	padding:0px;
	margin:0px;
}


#content #blog div.sidebar ul#archive li a {
	background:url(../img/arrow-closed.png) 0px 2px no-repeat;
	padding-left:15px;
	list-style-type:none;
}

#content #blog div.sidebar ul#archive li a.open {
	background:url(../img/arrow-open.png) 0px 2px no-repeat;
	padding-left:15px;
	list-style-type:none;
}

#content #blog div.sidebar ul#archive li ul li ul li a {
	background:none;
	padding-left:5px;
}

#content #blogform {
	width: 300px;
}

#letter-picker ul {
	list-style-type: none;
	padding-left: 15px;			
}
#letter-picker ul li {
	float: left;
	background-image: none;
}

#letter-picker ul li.active {
	font-weight: bold;	
}

/* PAGINATION */

div.pagination 
{ 
	margin: 10px auto;
	text-align: center;
	clear: both;
	padding-top: 10px;
	text-decoration: none;
}

div.pagination a
{
	border: 1px solid #ccc;
	padding: 2px 5px;
	text-decoration: none;
}

div.pagination a:hover
{
	background: #e4f8f8;
	border-color: #c9f4f5;
}

div.pagination span.start
{
	color: #ccc;
	margin-right: 25px;
	padding: 2px 6px;
}

div.pagination span.end
{
	color: #ccc;
	margin-left: 25px;
	padding: 2px 6px;
}
		

div.pagination a.prev
{
	margin-right: 25px;
}		

div.pagination a.next
{
	margin-left: 25px;
}

div.pagination span.current
{
	padding: 2px 5px;
	font-weight: bold;
	color: #0adfe2;
}

div.pagination span, div.pagination a
{
	margin: 0px 3px;
}


div.upcoming a:hover {
	text-decoration: none !important;
	cursor: hand;
}
