/* ---- Reset ---- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0; padding: 0;	border: 0;	outline: 0;}
ul {list-style: none;}
blockquote, q {quotes: none;}
:focus {outline: 0;}
ins {text-decoration: none;}
del {text-decoration: line-through;}
/* tables still need 'cellspacing="0"' in the markup -- */
table {border-collapse: collapse; border-spacing: 0;}
.skipToContent {display: none;}
/* ---- End Reset ---- */

/* ---- General ---- */

.clearboth {clear: both;}
.clearright {clear: right;}

.featurePic {float: left; margin: 0 20px 20px 0; background: #ddd; padding: 7px; border: 1px solid #bbb;}
img.left {float: left; margin: 0 10px 10px 0;}
img.right {float: right; margin: 0 0 10px 10px;}
img.photo {background: #fff; border: 1px solid #ccc; padding: 4px;}

/* ---- General Font Styles ---- */

body {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 76%;}
a, a:visited {color: #37608d; text-decoration: none;}
a:hover, a:focus {text-decoration: underline;}
#pageContent p, .statusMessage {line-height: 1.6em;}
h1, h2, h3, h4 {font-family: Arial, Helvetica, sans-serif;}
h1 {letter-spacing: -1px; font-size: 2.6em; margin: 0 0 0.4em 0; font-weight: normal;}
h2 {font-weight: normal; font-size: 1.9em; margin: 0.6em 0 0.8em 0;}
.introBlock {font-weight: bold;}

/* ---- End Font Styles ---- */

/* ---- Image replacement ---- */

h1.ir {text-indent: -9999px; margin-top: 0.8em;}
.irHome {background: url(../images/heading1-home.gif) no-repeat left top; height: 43px;}
.banner-ribbon {position: absolute; top: 0; right: 0;}

/* ---- Layout ---- */

body {text-align: center; background: #c4c0be url(../images/body-bg.jpg) repeat-x top; padding-bottom: 10px;}

.wrapper {margin: 10px auto 0; width: 75em; text-align: left; background: transparent;}

.pageHeader {position: relative; padding-top: 1.5em; width: 75em; background: transparent; z-index: 2;}
.logo {margin-left: 20px;}

.utilityLinks {position: absolute; top: 1.5em; right: 20px; clip: rect(auto, auto, auto, 1px);}
.utilityLinks li {display: inline; border-left: 1px solid #999; padding: 0 1em;}
.utilityLinks a, .utilityLinks a:visited {color: #fff;}
.utilityLinks a:hover, .utilityLinks a:focus {color: #fff;}

#pageContent {clear: both; overflow: hidden; padding: 25px 30px 20px; border: 1px solid #999; background: #fff url(../images/page-bg.gif) repeat-x top;}

.mainContent p {margin: 0.5em 0;}

.pageFooter {text-align: center; padding: 1em 0; clear: both; background: #383838; color: #fff; width: 100%; margin-top: 25px;}
.pageFooter li {display: inline; padding: 0 2em; border-left: 1px solid #ccc;}
.pageFooter li:first-child {border-left: none;}
.pageFooter a, .pageFooter a:visited {color: #fff;}

/* ---- Navigation ---- */

.level1nav {clear: both; padding: 10px 20px 0 20px; margin-top: -30px; margin-bottom: -1px; background: transparent; float: right;}
.level1nav li {float: left; margin-right: 8px; position: relative; background: transparent; border-left: 1px solid #aaa; border-right: 1px solid #aaa; border-top: 1px solid #aaa; z-index: 5;}
.level1nav li:hover {z-index: 10000; white-space: normal;}
.level1nav a, .level1nav a:visited {padding: 10px 15px 9px; display: block; color: #666; font-weight: bold; font-family: Arial, Helvetica, sans-serif; font-size: 1.1em; background: #ddd; border-left: 1px solid #fff; border-right: 1px solid #fff; border-top: 1px solid #fff;}
.level1nav a:hover {background: #eee; color: #FF8400;}

/* ---- On states ---- */

.section1 .level1nav li.section1,
.section2 .level1nav li.section2,
.section3 .level1nav li.section3,
.section4 .level1nav li.section4,
.section5 .level1nav li.section5,
.section6 .level1nav li.section6,
.section7 .level1nav li.section7,
.section8 .level1nav li.section8,
.section9 .level1nav li.section9,
.section10 .level1nav li.section10,
.section11 .level1nav li.section11,
.section12 .level1nav li.section12 {border-left: 1px solid #999; border-right: 1px solid #999; border-top: 1px solid #999;}

.section1 .level1nav li.section1 a,
.section2 .level1nav li.section2 a,
.section3 .level1nav li.section3 a,
.section4 .level1nav li.section4 a,
.section5 .level1nav li.section5 a,
.section6 .level1nav li.section6 a,
.section7 .level1nav li.section7 a,
.section8 .level1nav li.section8 a,
.section9 .level1nav li.section9 a,
.section10 .level1nav li.section10 a,
.section11 .level1nav li.section11 a,
.section12 .level1nav li.section12 a {color: #333; background: #f0f0f0 url(../images/tab-bg.gif) repeat-x top; border-left: 1px solid #fff; border-right: 1px solid #fff; padding-bottom: 10px;}

/* ---- Alternative method for on states ----
.level1nav li.on {border-left: 1px solid #999; border-right: 1px solid #999; border-top: 1px solid #999;}
.level1nav li.on a, .level1nav li.on a:visited {color: #333; background: #f0f0f0 url(../images/tab-bg.gif) repeat-x top; border-left: 1px solid #fff; border-right: 1px solid #fff; padding-bottom: 10px;}
*/

.level2nav {clear: left; overflow: hidden; padding: 10px; margin-bottom: 1.5em; background: #eaeaea;}
.level2nav li {float: left; margin-right: 20px;}
.level2nav a, .level2nav a:visited {color: #37608d; font-family: Arial, Helvetica, sans-serif;}

/* ---- Drop-down navigation styles ---- */

.level1nav .level2nav {position: absolute; top: 2.8em; left: 0.5em; border: 1px solid #999; border-top: none; padding: 0; width: 12em; display: none; z-index: 1000;}
.level1nav li:hover .level2nav {display: block;}
.level1nav .level2nav li {float: none; margin: 0; border: none; border-top: 1px solid #999;}
.level1nav .level2nav li a, .level1nav .level2nav li a:visited {padding: 0.5em; border: none; border-top: 1px solid #fff; border-left: 1px solid #fff; background: #ddd; color: #333;}
.level1nav .level2nav li a:hover {background: #fff; color: #333;}

/* ---- Sidebar navigation styles ---- */

.otherContent1 .level2nav, .otherContent2 .level2nav {padding: 0; margin: 0 0 2em 0;}
.otherContent1 .level2nav li, .otherContent2 .level2nav li {float: none; margin-bottom: 2px; margin-right: 0; border-bottom: 1px solid #C2CFEF;}
.otherContent1 .level2nav li a, .otherContent2 .level2nav li a {display: block; background: #D1DAEF; padding: 0.7em 1em; }
.otherContent1 .level2nav li a:hover, .otherContent2 .level2nav li a:hover {background: #DFE8FF;}

/* ---- Column layouts ---- */

.three-col-ll #pageContent {padding-left: 15px; padding-right: 15px;}
.three-col-rr #pageContent {padding-right: 15px; padding-left: 15px;}
.three-col-lr #pageContent {padding-right: 20px; padding-left: 20px;}

.two-col-left .mainContent {float: right; width: 70%;}
.two-col-left .otherContent1 {float: right; width: 26%; margin-right: 4%;}
.two-col-right .mainContent {float: left; width: 70%;}
.two-col-right .otherContent1 {float: left; width: 26%; margin-left: 4%;}
.three-col-lr .wrap {float: left; width: 76%;}
.three-col-lr .mainContent {float: right; width: 71.5%;}
.three-col-lr .otherContent1 {float: left; width: 26%; margin-right: 0.5%;}
.three-col-lr .otherContent2 {float: left; width: 20%; margin-left: 1.8%; padding: 0 1%;}
.three-col-rr .mainContent {float: left; width: 63%;}
.three-col-rr .otherContent1 {float: left; width: 17%; margin-left: 1.5%;}
.three-col-rr .otherContent2 {float: left; width: 16%; margin-left: 1.5%;}
.three-col-ll .mainContent {float: right; width: 63%;}
.three-col-ll .otherContent1 {float: right; width: 17%; margin-right: 1.5%;}
.three-col-ll .otherContent2 {float: right; width: 16%; margin-right: 1.3%; padding: 0 0.5%;}
.mainContent, .otherContent1, .otherContent2 {margin-bottom: 25px;}

/* -- different coloured background on sidebars of 3-col layouts --
.three-col-ll .otherContent1, .three-col-ll .otherContent2,
.three-col-rr .otherContent1, .three-col-rr .otherContent2,
.three-col-lr .otherContent1, .three-col-lr .otherContent2 {background: #eee;}
*/

.searchresults {padding: 1em 0;}
.searchresults dt {margin-bottom: 0.3em;}
.searchresults dd {margin-bottom: 1em;}

.paging {color: #fff; white-space: nowrap; text-align: center; padding: 15px 0; border-top: 1px solid #ccc; margin-bottom: 1em; width: 100%;}
.paging li {display: inline; padding: 4px 3px; margin:0 2px 0 0; font-weight: bold; background: #DFE8FF;}
.paging a:link, .paging a:visited {text-decoration: none; color: #37608d;}
.paging li.active {color: #fff; background: #FFD19F;	padding: 4px 3px;}
.paging li.inactive {color: #BCBCBA; padding: 4px 3px;}
.paging a:hover {text-decoration: underline;}
.paging-top {border-top: none; border-bottom: 1px solid #ccc; margin-bottom: 0;}

/* ---- Form styles ---- */

#contactForm {clear: both;}

.pageHeader form dt {color: #fff;}
.pageHeader #searchForm {position: absolute; top: 1em; right: 40%; width: 26%;}
.pageHeader #searchForm fieldset {float: left; margin-right: 6px;}
.pageHeader #searchForm .formButtons {}

.mainContent form {margin: 1em 0; width: 100%;}
.mainContent form fieldset {border: 1px solid #ccc; margin-bottom: 1em; padding: 1em 0; background: #DFE8FF;}
.mainContent form legend {margin-left: 2em; padding: 0 5px; font-weight: bold; font-family: Arial, Helvetica, sans-serif;}
.mainContent form dt, .mainContent form dd {float: left; margin-bottom: 6px;}
.mainContent form dt {clear: left; width: 33%; text-align: right; margin-right: 4%; position: relative;}
.mainContent form dd {width: 60%;}
.mainContent .formButtons {padding: 0.5em 0 0.5em 37%;}
.mainContent .formButtons button {background: #5F8DBF url(../images/button-overlay-trans.png) repeat-x bottom; color: #fff; padding: 8px 18px; border-right: 1px solid #666; border-bottom: 1px solid #333; border-left: 1px solid #ccc; border-top: 1px solid #eee; font-weight: bold; font-family: Arial, Helvetica, sans-serif; font-size: 1.2em; cursor: hand; cursor: pointer;}
.mainContent .formButtons button:hover {background-color: #7DACDF;}
.mainContent form .single {margin: 0 6px 0 37%;}
span.required-field {position: absolute; right: -17px; top: 0.3em; color: #ff0000; font-weight: bold;}

dd.invalid input {border: 2px solid #ff0000;}
dd.invalid {background: url(../images/cross.gif) no-repeat 80% 4px;}
dd.valid {background: url(../images/tick.gif) no-repeat 80% 4px;}

.otherContent1 form, .otherContent2 form {margin: 1em 0;}
.otherContent1 form dt, .otherContent2 form dt {margin-bottom: 6px;}
.otherContent1 form dd, .otherContent2 form dd {margin-bottom: 10px;}
.otherContent1 input, .otherContent2 input {width: 95%;}

.statusMessage {padding: 10px 10px 10px 35px; margin: 0 0 1em 0;}
.statusMessage p, .statusMessage h2, .statusMessage h3 {margin-top: 0;}
.fail {background: #ffc5bd url(../images/exclamation.gif) no-repeat 10px 1em;}
.success {background: #c3ffba url(../images/accept.gif) no-repeat 10px 1em;}
.info {background: #DFE9FF url(../images/information.gif) no-repeat 10px 1em; border: 1px solid #DFE9FF;}
.warning {background: #f5ff97 url(../images/error.gif) no-repeat 10px 1em;}
a.pdf {background: url(../images/page_white_acrobat.gif) no-repeat left 50%; padding: 4px 0 4px 22px;}
a.download {background: url(../images/arrow_down.gif) no-repeat left 50%; padding: 4px 0 4px 22px;}
a.new-window {background: url(../images/new-window.gif) no-repeat right 50%; padding: 4px 22px 4px 0px;}

/* ---- Table styles ---- */

.mainContent table {margin: 0.3em 0 1em 0; width: 100%;}
.mainContent table caption {text-align: left; font-style: italic; padding-bottom: 5px; margin-top: 1.5em;}
.mainContent td, .mainContent th {border: 1px solid #ccc;}
.mainContent td, .mainContent th {padding: 5px;}
.mainContent tr.alt td {background: #eee;}
.mainContent thead th {background: #c0c0c0 url(../images/th-bg.gif) no-repeat left top;}
.mainContent thead th.no-background {background: none; border-left: 0; border-right: 0; border-top: 0;}
.mainContent tbody th {background: #eee;}
.mainContent tfoot td {font-weight: bold;}
.mainContent tfoot th {text-align: right; background: #eee;}

.mainContent tr.hovering td {background: #F8FFBF;}
.mainContent tr.alt.hovering td {background: #F5FF97;}
.mainContent tr.hovering th {background: #F5FF97;}

/* ---- Custom Styles ---- */

.strapline {color: #ccc; margin-left: 20px; font-weight: bold; font-style: italic; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; font-size: 1.3em;}

.quote {margin: 1em 0; border: 1px solid #D1DAEF; background-color: #EFF4FF; padding: 10px; border: 1px solid #D1DAEF; background-image: none;}
blockquote {font-style: italic; margin-bottom: 0em; background: #EFF4FF url(../images/quote-open.gif); background-position: 10px 12px; background-repeat: no-repeat; padding: 1em 3.5em; border-left: 3px solid #bbd0ff;}
cite {display: block; text-align: right; font-weight: bold;}
.mainContent cite {background: #EFF4FF; padding: 0 3.5em 1em; border-left: 3px solid #bbd0ff;}
.otherContent1 blockquote, .otherContent2 blockquote {border: none; padding: 5px 10px 10px; background-image: none;}
.single .mainContent blockquote {}

.banner {overflow: hidden; margin-bottom: 1em; background: url(../images/banner.jpg) no-repeat left top; height: 129px; text-indent: -9999px;}

.contact dt {font-weight: bold; margin-bottom: 8px;}
.contact .adr {margin-bottom: 8px;}
.adr span {display: block;}

.listings li {clear: both;}

.mainContent ul.links a, .mainContent ul.links a {border: none;}
.otherContent1 h2, .otherContent2 h2 {font-size: 1.5em;}
.links {border-left: 1px solid #eee;}
.mainContent .links {border: none; margin-bottom: 2em;}
.three-col-ll .links {border-right: 1px solid #eee; border-left: none;}
.three-col-rr .links {border: none;}
.links ul {padding-bottom: 2em; zoom: 1;}
.links li {zoom: 1;}
.links h2 {font-size: 1em; color: #FF8500; font-weight: bold; border-bottom: 1px dotted #aaa; padding-bottom: 0.5em; zoom: 1; margin-bottom: 0;}
.links a, .links a:visited {display: block; padding: 0.5em 0; border-bottom: 1px dotted #aaa; zoom: 1;}
.box h2 {margin-top: 0; margin-bottom: 0.5em;}
.box p {margin-bottom: 1em;}

.faq {border: 2px solid #cfddff; padding: 1em 1.5em; margin-bottom: 2em; background: #fff;}
.faq li {padding-bottom: 6px;}

.answers dt, .answers dd {padding: 0 0 0.8em 35px;}
.answers dt {background: url(../images/q.gif) no-repeat left top; color: #ff8400; font-weight: bold; font-size: 1.2em; font-family: Arial, Helvetica, sans-serif;}
.answers dd {background: url(../images/a.gif) no-repeat left 5px; margin-bottom: 1.5em;}

.button {margin: 2em 0;}
.center {text-align: center;}
.left {text-align: left;}
.right {text-align: right;}
.button a, .button a:visited {background: #5F8DBF url(../images/button-overlay-trans.png) repeat-x bottom; color: #fff; padding: 8px 18px; border-right: 1px solid #666; border-bottom: 1px solid #333; border-left: 1px solid #ccc; border-top: 1px solid #eee; font-weight: bold; font-family: Arial, Helvetica, sans-serif; font-size: 1.2em;}
.button a:hover {background-color: #7DACDF; text-decoration: none;}

.panel {background: #f9f9f9 url(../images/panel-bg.gif) repeat-x bottom; border: 1px solid #ccc; padding: 1.5em; overflow: hidden; margin: 0 0 1em 0;}
.panel h3 {font-size: 1.4em; margin-top: 0.5em;}
.panel h3 a {}
.panel img {float: left; padding: 5px; border: 1px solid #ddd; background: #fff; margin: 0 2em 2em 0;}
.price {color: #FF8400; font-weight: bold;}

pre {display: block; font-size: 1.3em;}

.box {border: 1px solid #ccc; background: #eee; margin: 1.5em 0; padding: 0.5em 1em;}
.rounded2 {-moz-border-radius: 2px; -webkit-border-radius: 2px;}
.rounded4 {-moz-border-radius: 4px; -webkit-border-radius: 4px;}
.rounded6 {-moz-border-radius: 6px; -webkit-border-radius: 6px;}
.rounded8 {-moz-border-radius: 8px; -webkit-border-radius: 8px;}
.rounded10 {-moz-border-radius: 10px; -webkit-border-radius: 10px;}
.rounded12 {-moz-border-radius: 12px; -webkit-border-radius: 12px;}
.rounded14 {-moz-border-radius: 14px; -webkit-border-radius: 14px;}
.rounded16 {-moz-border-radius: 16px; -webkit-border-radius: 16px;}
.rounded18 {-moz-border-radius: 18px; -webkit-border-radius: 18px;}
.rounded20 {-moz-border-radius: 20px; -webkit-border-radius: 20px;}