body { border-top: 7px solid #dbe7ed; margin: 0; font: .75em/1.5 Helvetica,Arial,sans-serif; color: #444; }
#container { width: 960px; margin: 0 auto; position: relative; }


h1 { font-size: 2.33em; padding: 0 0 13px; margin: 0 0 30px; border-bottom: 1px solid #b4b4b4; color: #000; }
h2, caption { font-size: 1.5em; padding: 0 0 5px; margin: 30px 0 18px; border-bottom: 1px solid #b4b4b4; color: #555; text-align: left; }
h2:first-child { margin-top: 0; }

p, address { margin: 0 0 12px; }
address { font-style: normal; }
.intro { margin: 0 0 15px; font: italic 1.33em/1.25 Georgia,serif; color: #6691a7; }
.meta { margin: 0; }

li { margin-bottom: 10px; }

dl { margin: 0; padding: 0; }
dt { font-weight: bold; float: left; clear: left; margin: 0 5px 0 0; }
dd { margin: 0; padding: 0; }
dd h4 { margin: 10px 0 0; clear: left; }

blockquote { margin: 0; padding: 0; color: #6d6d6d; font: italic 200 1.5em/1.17 Georgia,serif; }

abbr { border: 0; cursor: help; }

a { color: #327494; text-decoration: none; }
a:focus, a:hover { text-decoration: underline; }
a img { border: 0; }

.more a { padding-left: 7px; background: url(/img/bg_more.png) no-repeat 0 3px; font-weight: bold; }
p.button { background: #327494 url(/img/bg_button.png) no-repeat 100% 0; float: left; }
.button a { padding: 7px 14px 0; display: block; text-transform: uppercase; color: #fff; font-size: .92em; height: 21px; background: url(/img/bg_button.png) no-repeat 0 100%; }
.pdf a { font-weight: bold; padding: 5px 0 2px 26px; background: url(/img/icon_pdf.png) no-repeat 0 0; }


.hr { border-top: 1px solid #b4b4b4; margin: 15px 0; clear: both; }
.hr hr { position: absolute; left: -9999px; }


table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-weight: bold; }
td { vertical-align: top; }


form { margin: 0 0 15px; padding: 0; }
fieldset { margin: 0; padding: 0; border: 0; }
fieldset div { margin: 0 0 15px; zoom: 1; }
fieldset div:after { content: "."; clear: both; display: block; height: 0; visibility: hidden; }
input.text, textarea { background: #fff url(/img/bg_input.png) repeat-x 0 0; border: 1px solid #e1e1e1; padding: 6px 8px 5px; margin: 0; font: 1em Helvetica,Arial,sans-serif; width: 370px; }
textarea { height: 10em; }
label { display:block;margin:0 0 5px; }


.inline * { display: inline; margin: 0; vertical-align: middle; }
.inline label { position: absolute; left: -9999px; }
.inline .text { width: 255px; }


#header { position: relative; margin: 0 0 47px; padding: 51px 0 0; height: 117px; }
#search { position: absolute; top: 55px; right: 0; }

#nav { position: absolute; left: 0; bottom: 0; }
#nav ul { margin: 0; padding: 0; list-style: none; font-size: 1.08em; zoom: 1; }
#nav ul:after { content: "."; clear: both; display: block; height: 0; visibility: hidden; }
#nav li { float: left; margin: 0; }
#nav .nav_link { padding: 10px 0; background: #fff url(/img/bg_nav.png) no-repeat left; display: block; text-align: center; color: #444; border-bottom: 1px solid #b4b4b4; position: relative; zoom: 1; }
#body_home #nav_home .nav_link,
#body_courses #nav_courses .nav_link,
#body_info #nav_info .nav_link,
#body_locations #nav_locations .nav_link,
#body_news #nav_news .nav_link,
#body_about #nav_about .nav_link,
#body_contact #nav_contact .nav_link,
#nav .nav_link:focus, #nav .nav_link:hover { color: #327494; text-decoration: none; }

#nav_home { width: 101px; }
#nav_home .nav_link { background: none; }
#nav_courses { width: 113px; }
#nav_info { width: 173px; }
#nav_locations { width: 121px; }
#nav_news { width: 153px; }
#nav_about { width: 162px; }
#nav_contact { width: 137px; }

#nav .over .nav_link { z-index: 1001; background-image: none; border: 2px solid #ddd; border-bottom-width: 0; padding: 8px 0 12px; margin-bottom: -2px; }
#nav .over+li .nav_link { background-image: none; }
.nav_panel { padding: 20px; background: #fff; position: absolute; border: 2px solid #ddd; width: 337px; top: 174px; z-index: 1000; visibility: hidden; }
.nav_panel .col { float: left; width: 145px; padding: 0 15px 0 0; }
.nav_panel .col.first { margin: 0 15px 0 0; border-right: 2px solid #ececec; }
.nav_panel ul { font-size: 1em; margin: 0 0 20px; padding: 0; list-style: none; }
.nav_panel li { float: none; margin: 0; }
.disciplines { font-weight: bold; }


#content { padding: 0 0 0 248px; zoom: 1; }
#content:after { content: "."; clear: both; display: block; height: 0; visibility: hidden; }
#content_main { width: 712px; float: left; }
#content_sub { width: 218px; float: left; margin: 0 0 0 -712px; position: relative; right: 248px; }


#footer { border-top: 1px solid #b4b4b4; margin: 80px 0 0; padding: 24px 0 15px; clear: both; zoom: 1; }

#address { float: left; margin: 0 10px 35px 0; width: 485px; }
#address p { font-weight: bold; margin: 0; }
#address dl { width: 230px; float: left; }
#address dl.first { width: 170px; }

#footer_links { float: left; margin: 0 0 35px; width: 465px; }
#footer_links ul { margin: 0; padding: 0; list-style: none; float: left; width: 155px; }
#footer_links li { margin: 0; }

#footer_nav { clear: both; border-top: 1px solid #b4b4b4; line-height: 14px; padding: 16px 0 0; zoom: 1; }
#footer_nav:after { content: "."; clear: both; display: block; height: 0; visibility: hidden; }
#footer_nav li { float: left; list-style: none; }
#footer_nav a { color: #444; }
#social { float: left; margin: 0; padding: 0; }
#social li { margin-right: 18px; }
#social a { padding-left: 20px; background: url(/img/icon_social.png) no-repeat 0 0; }
#nav_twitter a { background-position: 0 50%; }
#nav_flickr a { background-position: 0 100%; }
#legal { float: right; margin: 0; padding: 0; font-size: .92em; }
#legal li { padding-right: 8px; border-right: 1px solid #444; margin: 0 8px 0 0; }
#legal #nav_kyan { padding-right: 0; border-right: 0; margin-right: 0; }

#squires_group { position: absolute; top: 0; right: 0; width: 630px; z-index: 10000; }
#squires_group_tab { float: right; background: url(/img/bg_squires_group.png) no-repeat 0 100%; padding: 0 0 0 7px; }
#squires_group_tab p { background: url(/img/bg_squires_group.png) no-repeat 100% 100%; padding: 0 7px 0 0; margin: 0; font-size: .92em; line-height: 1.25; }
#squires_group_tab a { color: #444; background: #dbe7ed url(/img/bg_squires_group.png) no-repeat 100% -50px; padding: 4px 21px 0 7px; height: 21px; display: inline-block; }
#squires_group_tab .open { background-position: 100% 0; }
#squires_group_menu { display: none; background: #dbe7ed; padding: 0 25px; overflow: hidden; zoom: 1; }
#squires_group_menu:after { content: "."; clear: both; display: block; height: 0; visibility: hidden; }
#squires_group_menu h2 { font-weight: normal; padding: 18px 0 0; border: 0; }
#squires_group_menu div { width: 265px; float: left; }
#squires_group_menu .first { margin-right: 50px; }
#squires_group_menu h3 { font-size: 1em; margin: 0 0 5px; }
#squires_group_menu ul { margin: 0 0 25px; padding: 0; list-style: none; }
#squires_group_menu li { margin: 0 0 5px; }

/* blocks */

#nav_sub h2 { color: #444; font-size: 1em; padding: 6px 9px; background: #ececec; margin: 0; border: 0; zoom: 1; }
#nav_sub ul { margin: 0 0 25px; padding: 0; list-style: none; }
#nav_sub li { margin: 0; }
#nav_sub li a { border-bottom: 1px solid #ececec; padding: 5px 9px 3px; display: block; background: url(/img/bg_nav_sub.png) no-repeat 207px 11px; color: #444; zoom: 1; }
#nav_sub li a:focus, #nav_sub li a:hover { background-color: #dbe7ed; text-decoration: none; }
#nav_sub .on a { background-color: #bad4e1; background-image: url(/img/bg_nav_sub_on.png); }

#view_all { margin: 0 0 25px; }
#view_all a { color: #444; font-weight: bold; display: block; padding: 6px 16px 0; height: 23px; background: url(/img/bg_view_all.png) no-repeat 0 0; }
#view_all.on a { background-position: 100% 0; background-color: #bad4e1; }


.pagination { float: right; }
.pagination ul { margin: 0; padding: 0; list-style: none; float: left; }
.pagination li { float: left; margin: -2px 0 0 4px; }
.pagination li.prev { margin: 0 6px 0 0; }
.pagination li.prev a { padding-left: 10px; background: url(/img/bg_prev.png) no-repeat left; }
.pagination li.next { margin: 0 0 0 10px; }
.pagination li.next a { padding-right: 10px; background: url(/img/bg_next.png) no-repeat right; }
.pagination .pos a, .pagination .pos .current { text-align: center; display: inline-block; zoom: 1; }
.pagination .pos a { padding: 2px 0; width: 1.67em; background: #ececec; }
.pagination .pos .current { padding: 1px 0; width: 1.5em; border: 1px solid #b4b4b4; font-weight: bold; }
.pagination p { float: left; padding: 0 0 0 12px; border-left: 1px solid #b4b4b4; margin: 0 0 0 14px; }


.thumb { margin: 0 0 15px; }
.thumb img { display: block; border: 1px solid #ececec; }
.thumb.right { margin-left: 15px; float: right; }
.thumb.left { margin-right: 15px; float: left; }
.thumb.cutout img { border-color: #fff; }
.thumb small { display: block; margin: 3px 0 0; }


#ambient { margin: 20px 0 0; clear: both; }
#ambient .row { margin: 0 0 30px; zoom: 1; }
#ambient .row:after { content: "."; clear: both; display: block; height: 0; visibility: hidden; }
#ambient .article { float: left; width: 300px; margin-left: 30px; _display:inline; /* :hack: IE6 double margin */ }
#content_main #ambient .article { width: 341px; }
#content_main #ambient .quote { width: 289px; _width:286px; /* :hack: IE6 italics width fix */ }
#ambient .row_leader { margin-left: 0; }
#ambient .thumb img { border: 0; }


.quote { background: #e9f0f5 url(/img/bg_quote.png) no-repeat bottom left; padding: 20px 26px 32px; margin: 0 0 15px; _width:290px; /* :hack: IE6 width fix */ }


.details dd { margin-bottom: 8px; }
.details .date_time { clear: left; }
.details .date_time ul { margin: 0; padding: 0; }
.details .date_time li { list-style: none; margin: 0; padding: 0; border: 0; }


#intro { margin: 0 0 30px; position: relative; zoom: 1; }
#intro img { display: block; border: 1px solid #ececec; }
#intro_sleeve { background: url(/img/bg_section.png) repeat; position: absolute; bottom: 24px; right: 12px; width: 287px; padding: 60px 21px 16px; color: #fff; }
#intro_sleeve.section { background-image: url(/img/bg_intro.png); bottom: auto; top: 13px; padding-top: 26px; }
#intro h2 { font: 200 2.17em "Helvetica Neue",Helvetica,Arial,sans-serif; color: #444; padding: 0; border: 0; margin: 0 0 5px; }
#intro .intro { color: #abccdc; }
#intro .section .more a { color: #fff; background-image: url(/img/bg_more_intro.png); }
#intro small { display: block; text-align: right; }


/* home page */

#sections { margin: -47px 0 30px; position: relative; height: 376px; }
#sections ul { margin: 0; padding: 0; list-style: none; }
#section_content li { position: absolute; margin: 0; }
#section_content div { position: absolute; width: 380px; margin: 20px 20px 0 520px; padding: 65px 20px 25px; color: #444; background: url(/img/bg_section.png) repeat; }
#section_content h2 { font-size: 2.17em; font-weight: 200; color: #444; padding: 0; border: 0; margin: 0; }
#section_content .alt { background-image: url(/img/bg_intro.png); color: #fff; }
#section_content .alt h2 { color: #ABCCDC; }
#section_content .alt a { color: #fff; background-image: url(/img/bg_more_intro.png); }
#section_content img { display: block; }
#section_controls { position: absolute; left: 30px; bottom: 16px; }
#section_controls li { float: left; margin: 0 5px 0 0; }
#section_controls a { display: block; width: 22px; height: 17px; padding: 5px 0 0; font-weight: bold; background: url(/img/bg_section.png) repeat; text-align: center; font-size: 1.17em; line-height: 1; border: 1px solid #ccc; border-color: rgba(200,200,200,.65); }
#section_controls a:focus, #section_controls a:hover { text-decoration: none; }
#section_controls .on a { background: #327494; text-shadow: 1px 0 2px #333; color: #fff; }
#section_pause a { border: 0; padding: 0; height: 24px; width: 24px; background: url(/img/bg_pause_play.png) no-repeat 0 0; text-indent: -9999px; overflow: hidden; }
#section_pause.paused a { background-position: 0 100%; }


/* about */

#body_about #content { padding: 0; }
#body_about #content_main { width: 590px; }
#body_about #content_sub { margin: 0 0 0 30px; right: 0; width: 340px; }
#body_about #newsletter_signup input.text { width: 320px; }
#friends { overflow: hidden;zoom: 1; }
#friends .friend-section { padding-left:150px;position:relative;zoom: 1;width:810px; }
#friends img { border: 1px solid #ECECEC;display:block;float:left;left:0;margin:0 0 15px -150px;_margin:0 -150px 15px 0;_left:-150px;position:relative;top:0; }
#friends .col { margin: 0 0 0 30px; width: 300px; float: left; }
#friends .col.first { margin-left: 0; }
#friends h3 { margin: 0 0 1em 0; }

/* info */

#body_info h2 { clear:left; }
#body_info .half_column { float:left;margin:0 20px 20px 0;width:345px; }
#body_info .last { margin-right:0; }
#qs { margin:0 0 20px;padding:0; list-style:none; }
#qs li { margin:0 0 5px; padding-left: 7px; background: url(/img/bg_more.png) no-repeat 0 6px; list-style:none; }

#gallery { height: 574px; position: relative; }
#slides { overflow: hidden; width: 629px; position: relative; left: 40px; }
#gallery ul { margin: 0; padding: 0; list-style: none; }
#gallery li { height: 94px; width: 146px; padding: 0; float: left; margin: 0 13px 0 0; border: 1px solid #fff; }
#gallery .on, #gallery .on img { border-color: #327494; }
#button_prev, #button_next { position: absolute; bottom: 0; border: 0; background: none; margin: 0; padding: 0; cursor: pointer; #width:29px; /* :hack: position properly in IE6+7 */ }
button::-moz-focus-inner { padding: 0; } /* :hack: remove extra padding on buttons in firefox */
#button_prev { left: 0; }
#button_next { right: 0; }


/* courses */

#body_courses h1 { padding-right: 300px; }

.courses { margin: 0 0 45px; padding: 0; list-style: none; }
.courses li { border-bottom: 1px solid #b4b4b4; margin: 0 0 12px; }
.courses .name { font-weight: bold; font-size: 1.25em; margin: 0 0 12px; }

.courses .overview { float: left; width: 310px; margin: 0 20px 12px 0; }
.courses .skill_level span { font-weight: bold; }
.courses .details { float: left; width: 230px; }
.courses .more { clear: both; }

#zero_results { clear: both; border: solid #b4b4b4; border-width: 1px 0; margin: 10px 0 20px; padding: 30px 0 15px; }
#zero_results p { margin: 0 0 15px; }
#zero_results .count { font-size: 1.25em; }

#view_by { float: right; margin: 25px 0 10px; clear: both; }
#view_by a, #view_by span { background: url(/img/bg_view_by.png) no-repeat; padding: 1px 0 1px 24px; margin-left: 10px; font-weight: bold;}
#view_by #list_titles { background-position: 0 0; }
#view_by #list_details { background-position: 0 -25px; }
#view_by #list_titles.on { background-position: 0 -50px; color: #444; }
#view_by #list_details.on { background-position: 0 -75px; color: #444; }

#course .thumb { width: 301px; }

#course_tutor { position: absolute; height: 102px; top: -133px; right: -578px; font-weight: bold; }
#course_tutor p { position: absolute; bottom: 0; right: 0; white-space: nowrap; margin: 0; }
#course_tutor a { font-weight: normal; }
#course_tutor img { vertical-align: -20px; margin: 0 0 0 15px; }

#course_description, #request_booking { float: left; width: 382px; margin: 0 0 30px; position: relative; }
#course_description .details, #course_details .details { background: #ececec; padding: 15px; margin: 0 0 15px; clear: both; }
#course_description h2 { color: #327494; font-size: 1em; margin: 0; padding: 0; border: 0; }


#course_details { float: left; width: 218px; margin: 0 0 30px 30px; }
#course_details h2 { font-size: 1em; margin: 0; padding: 0; border: 0; }

#course_modules { clear: both; }


/* locations */

.accommodation { list-style: none; margin: 0 0 40px; padding: 0; }
.accommodation li { padding-bottom: 8px; margin-bottom: 20px; border-bottom: 1px solid #b4b4b4; }
.accommodation h3 { margin: 0; }
.accommodation .address { font-weight: bold; }
.accommodation dl { margin-bottom: 10px; }


/* news */

#body_news #content { padding: 0; }
#body_news #content_sub { margin: 0 0 0 30px; right: 0; }

.posts { margin: 0 0 20px; padding: 0; list-style: none; }
.posts li { border-bottom: 1px solid #b4b4b4; padding: 0 0 5px; margin: 0 0 18px; zoom: 1; }
.posts li:after { content: "."; clear: both; display: block; height: 0; visibility: hidden; }
.posts .thumb.left { margin-right: 30px; }
.posts .thumb.right { margin-left: 30px; }
.posts h2 { padding: 0; border: 0; margin: 0 0 8px; font-size: 1.25em; }

#filter h2 { font-size: 1em; margin: 0 0 5px; border-color: #ececec; }
#filter ul { margin: 0 0 25px; padding: 0; list-style: none; }
#filter li { border-bottom: 1px solid #ececec; padding: 0 0 5px; margin: 0 0 5px; }

#newsletter_signup label { position: absolute; left: -9999px; }
#newsletter_signup input.text { width: 200px; }


/* contact */

.half_column { float:left;margin:0 20px 20px 0;width:470px; }
.half_column.last { margin-right:0; }


/* terms */

#body_terms ol { list-style-type: lower-alpha;}


/* cake bits */

.cake-sql-log table {
	background: #f4f4f4;
}
.cake-sql-log td {
	padding: 4px 8px;
	text-align: left;
	font-family: Monaco, Consolas, "Courier New", monospaced;
}
.cake-sql-log caption {
	color:#fff;
}

/** Debugging **/
pre {
	color: #000;
	background: #f0f0f0;
	padding: 1em;
}
pre.cake-debug {
	background: #ffcc00;
	font-size: 120%;
	line-height: 140%;
	margin-top: 1em;
	overflow: auto;
	position: relative;
}
div.cake-stack-trace {
	background: #fff;
	color: #333;
	margin: 0px;
	padding: 6px;
	font-size: 120%;
	line-height: 140%;
	overflow: auto;
	position: relative;
}
div.cake-code-dump pre {
	position: relative;
	overflow: auto;
}
div.cake-stack-trace pre, div.cake-code-dump pre {
	color: #000;
	background-color: #F0F0F0;
	margin: 0px;
	padding: 1em;
	overflow: auto;
}
div.cake-code-dump pre, div.cake-code-dump pre code {
	clear: both;
	font-size: 12px;
	line-height: 15px;
	margin: 4px 2px;
	padding: 4px;
	overflow: auto;
}
div.cake-code-dump span.code-highlight {
	background-color: #ff0;
	padding: 4px;
}
div.code-coverage-results div.code-line {
	padding-left:5px;
	display:block;
	margin-left:10px;
}
div.code-coverage-results div.uncovered span.content {
	background:#ecc;
}
div.code-coverage-results div.covered span.content {
	background:#cec;
}
div.code-coverage-results div.ignored span.content {
	color:#aaa;
}
div.code-coverage-results span.line-num {
	color:#666;
	display:block;
	float:left;
	width:20px;
	text-align:right;
	margin-right:5px;
}
div.code-coverage-results span.line-num strong {
	color:#666;
}
div.code-coverage-results div.start {
	border:1px solid #aaa;
	border-width:1px 1px 0px 1px;
	margin-top:30px;
	padding-top:5px;
}
div.code-coverage-results div.end {
	border:1px solid #aaa;
	border-width:0px 1px 1px 1px;
	margin-bottom:30px;
	padding-bottom:5px;
}
div.code-coverage-results div.realstart {
	margin-top:0px;
}
div.code-coverage-results p.note {
	color:#bbb;
	padding:5px;
	margin:5px 0 10px;
	font-size:10px;
}
div.code-coverage-results span.result-bad {
	color: #a00;
}
div.code-coverage-results span.result-ok {
	color: #fa0;
}
div.code-coverage-results span.result-good {
	color: #0a0;
}

