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

	* {
		padding: 0;
		margin: 0;
	}

	html {
		/* overflow-y: scroll; /* Force Scrollbar - Firefox2 and Safari */
	}

	body {
		font-family: arial, georgia, "Times New Roman", serif, verdana;
		font-size: 0.7em;
		color: #666;
		background-color: #FFF;
		text-align: center; /* IE5 Win: Thinks block level elements are aligned as text */
	}

	a {
		color: #3179C2;
	}

	a img {
		border: 0;
	}

	p,
	h2,
	h3 {
		margin: 0 0 10px 0;
	}

	h2,
	h3,
	h4,
	h5 {
		font-family: "Helvetica Neue", georgia, arial, "Times New Roman", serif, verdana;
	}

	ul,
	ol {
		margin: 0 0 10px 2em;
	}

	table {
		font-size: 1em; /* IE5 WIN: does not inherit the font size correctly */
	}

	input {
		font-size: 1em; /* FF: keep font size consistent, by default it is increased by 0.1em */
	}

	select option {
		padding-right: 5px; /* FF: The star rule above for removing the padding also effects the select option's  */
	}

	select optgroup option {
		padding-left: 20px; /* FF: The star rule above for removing the padding also effects the select opt-groups  */
	}

/*--------------------------------------------------*/
/* Generic Classes                                  */

	.offScreen {
		position: absolute;
		left: -5000px;
	}

	a.incImg {
		text-decoration: none;
	}

	a.incImg img {
		vertical-align: -15%;
		margin-right: 3px;
	}

	a.incImg span {
		text-decoration: underline;
	}

/*--------------------------------------------------*/
/* Skip Links                                       */

	#skipLinks,
	#styleSheetSwitcher {
		padding: 0;
		position: absolute;
	 	right: 0px;
	 	top: -500em; /* This needs a width, height and overflow hidden to stop IE5 MAC from doing horizontal scroll */
	}

	#skipLinks a:active,
	#skipLinks a:focus,
	#styleSheetSwitcher a:active,
	#styleSheetSwitcher a:focus {
		position: absolute;
		top: 500.25em;
		right: 0.25em;
		z-index: 5;
		white-space: nowrap;
		color: #000;
		background: #FFF;
		border: 2px solid red;
		padding: 3px;
	}

/*--------------------------------------------------*/
/* Page Frame                                       */

	/*--------------------------------------------------*/
	/* Last minute change in background - temporary?    */

		html,
		body {
			color: #666;
			background-color: #E7E7DC;
		}

		#pageColourWrapper {
			color: #666;
			background-color: #FFF;
			width: 920px;
			margin: 0 auto;
		}

		#pageFooter {
			padding-left: 10px;
			padding-right: 10px;
		}

	/*--------------------------------------------------*/
	/* Wrapper                                          */

		#pageWrapper {
			width: 900px;
			margin: 0 auto;
			text-align: left; /* IE5 Win: Correct the text-align fix */
			position: relative;
			border-top: 1px solid #FFF; /* FF, Safari, Opera: Changes the location absolutely positioned elements - no idea why, but they all do it */
		}

	/*--------------------------------------------------*/
	/* Title                                            */

		#pageTitle {
		}

		#pageTitle h1 img {
			float: left;
			margin: 10px;
		}

		#pageTitle #pageWelshFlag {
			float: left;
			margin: 20px 0 0 130px;
			width: 160px;
		}

		#pageTitle #pageWelshFlag p {
			margin: 0;
		}

		#pageTitle #pageWeather {
			float: left;
			margin: 10px 0 0 30px;
			width: 190px;
		}

		#pageTitle #pageWeather h2 {
			position: absolute;
			left: -5000px;
		}

		#pageTitle #pageWeather ol {
			list-style: none;
			margin: 0;
		}

		#pageTitle #pageWeather ol li {
			float: left;
			padding-right: 5px;
		}

		#pageTitle #pageWeather h3 {
			clear: both;
			margin: 2px 0;
			font-size: 1em;
			font-weight: normal;
			text-transform: uppercase;
		}

		#pageTitle #pageWeather p {
			font-size: 0.8em;
			padding-right: 15px;
		}

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

		#pageNavigation {
			clear: both;
		}

		#pageNavigation h2 {
			position: absolute;
			left: -5000px;
		}

		#pageNavigation ul {
			list-style: none;
			margin: 0;
		}

		#pageNavigation ul li {
			float: left;
			text-align: center;
		}

		#pageNavigation ul li a {
			color: #999;
			background: #F7F7F7;
			text-decoration: none;
			text-transform: uppercase;
			display: block;
		}

		#pageNavigation ul li a:hover,
		#pageNavigation ul li a:focus,
		#pageNavigation ul li a:active {
			text-decoration: underline;
		}

		#pageNavigation ul li a img,
		#pageNavigation ul li a strong,
		#pageNavigation ul li a span {
			display: block;
			line-height: 28px;
		}

	/*--------------------------------------------------*/
	/* Container                                        */

		#pageContainer {
			/*position: relative;*/
			padding: 15px 0 0 0;
			clear: both;
		}

	/*--------------------------------------------------*/
	/* Side bar                                         */

		/*--------------------------------------------------*/
		/* Main                                             */

			#pageSideBar {
				float: left;
				width: 195px;
				overflow: hidden; /* Leaking content causes more problems than missing a bit of the text */
			}

				body.fullWidth #pageSideBar {
					display: none;
				}

			#pageSideBar h2 {
				font-size: 1em;
				margin: 0 0 5px 0;
				background: #BFBFB0 url("../../img/global/sideBarNavBg.gif") repeat-x;
				border: 1px solid #A7A99E;
			}

			#pageSideBar h2 span,
			#pageSideBar h2 img {
				line-height: 25px;
				display: block;
			}

			#pageSideBar h2 a {
				color: #000;
				text-decoration: none;
			}

			#pageSideBar h2 span {
				padding-left: 15px;
				text-transform: uppercase;
				font-weight: bold;
				color: #666;
			}

		/*--------------------------------------------------*/
		/* Intro                                            */

			#sideBarIntro {
				background: #F3F3F3;
				padding: 10px 10px 0 10px;
			}

			#sideBarIntro h3 {
				color: #788B3C;
				font-size: 1.5em;
				font-weight: normal;
			}

			#sideBarIntro p {
				margin-bottom: 0;
				padding-bottom: 10px;
			}

		/*--------------------------------------------------*/
		/* Links                                            */

			#pageSideBar ul#pageSectionNav {
				list-style: none;
				margin: 0 0 0 15px;
			}

			#pageSideBar ul#pageSectionNav ul {
				margin-left: 20px;
			}

			#pageSideBar ul#pageSectionNav li {
				display: inline; /* IE5+6 Win: white space bug */
			}

			#pageSideBar ul#pageSectionNav li a {
				color: #999;
				text-decoration: none;
				text-transform: uppercase;
				display: block;
				border-top: 1px solid #C7CCD1;
				height: auto !important;
				height: 27px;
				min-height: 27px;
			}

			#pageSideBar ul#pageSectionNav li.firstChild a,
			#pageSideBar ul#pageSectionNav ul li a {
				border-top: 0;
			}

			#pageSideBar ul#pageSectionNav li a:hover,
			#pageSideBar ul#pageSectionNav li a:focus,
			#pageSideBar ul#pageSectionNav li a:active {
				text-decoration: underline;
			}

			#pageSideBar ul#pageSectionNav ul li a {
				text-transform: none;
			}

			#pageSideBar ul#pageSectionNav li a img {
				display: block;
			}

			#pageSideBar ul#pageSectionNav li a strong,
			#pageSideBar ul#pageSectionNav li a span {
				display: block;
				padding: 7px 10px 0 0; /* Right padding to wrap 'practice area' on the 'courses' name */
			}

		/*--------------------------------------------------*/
		/* Banner                                           */

			#pageSideBar .banner {
				margin: 25px 0 0 15px;
			}

			#pageSideBar .banner h3 a {
				color: #666;
			}

	/*--------------------------------------------------*/
	/* Content                                          */

		#pageContent {
			float: left;
			width: 680px; /* (900 - 195 - (10 + 15)) */
			margin: 0 0 0 25px;
			display: inline; /* IE5+6 Win: double margin bug */
		}

			body.fullWidth #pageContent,
			#pHome #pageContent {
				float: none;
				width: auto;
				margin: 0;
			}

		#pageContent h2 {
			font-size: 3em;
			font-weight: normal;
			color: #788B3C;
		}

		#pageContent .intro p {
			font-size: 1.25em;
			color: #999;
		}

		#pageContent .additional {
			clear: both; /* Used on the 'our club' page, under the banners (temporary?) */
		}

		#pageContent p.img {
			float: right;
			margin: 0 0 10px 10px;
		}

	/*--------------------------------------------------*/
	/* Bread crumb                                      */

		#pageBreadCrumb {
			margin-left: -15px;
		}

			body.fullWidth #pageBreadCrumb {
				margin-left: 0;
			}

		#pageBreadCrumb h2 {
			position: absolute;
			left: -5000px;
		}

		#pageBreadCrumb ol {
			background: url("../../img/global/breadCrumbBg.jpg") repeat-x;
			margin: 0;
			padding: 10px 0 0 15px;
			height: 0 !important;
			height: 35px; /* IE6 Win: Treats height as min-height, and fails to understand the important rule */
			min-height: 35px;
			list-style: none;
			position: relative; /* IE6 Win: Forgets to render background image */
		}

		#pageBreadCrumb ol li {
			float: left;
			padding: 0 29px 0 5px;
			background: url("../../img/global/breadCrumbD2.jpg") no-repeat 100% 0;
		}

		#pageBreadCrumb ol li.home {
			padding: 0 40px 0 0;
			background-image: url("../../img/global/breadCrumbD1.jpg");
		}

		#pageBreadCrumb ol li.lastChild {
			background: none;
		}

		#pageBreadCrumb ol li a {
			text-decoration: none;
			color: #666;
			font-size: 0.8em;
		}

		#pageBreadCrumb ol li.home a {
			text-decoration: underline;
			text-transform: uppercase;
		}

		#pageBreadCrumb ol li a:hover,
		#pageBreadCrumb ol li a:active,
		#pageBreadCrumb ol li a:focus {
			text-decoration: underline;
		}

	/*--------------------------------------------------*/
	/* Footer                                           */

		#pageFooter {
			clear: both;
			padding-top: 15px;
			/*background: url("../../img/global/footerBg.gif") repeat-x;*/
			height: 0 !important;
			height: 20px; /* IE6 Win: Treats height as min-height, and fails to understand the important rule */
			min-height: 20px;
			font-size: 0.8em;
		}

		#pageFooter h2 {
			position: absolute;
			left: -5000px;
		}

		#pageFooter p {
			float: left;
		}

		#pageFooter ul {
			margin: 0;
		}

		#pageFooter ul li {
			list-style: none;
			float: right;
			padding: 0 5px;
			border-right: 1px solid #CCC;
		}

		#pageFooter ul li.copyright {
			border-right: 0;
		}

		#pageFooter p a,
		#pageFooter ul li,
		#pageFooter ul li a {
			color: #CCC;
			text-decoration: none;
		}

		#pageFooter p a:hover,
		#pageFooter p a:active,
		#pageFooter p a:focus
		#pageFooter ul li a:hover,
		#pageFooter ul li a:active,
		#pageFooter ul li a:focus {
			text-decoration: underline;
		}

/*--------------------------------------------------*/
/* Banners                                          */

	.banners {
		clear: left;
	}

	.banners .banner {
		float: left;
		margin: 0 10px 10px 0;
		display: inline; /* IE5+6 Win: double margin bug */
	}

		.banners .banner.lastChild {
			margin-right: 0;
		}

	.banner {
		width: 160px;
		background: url("../../img/global/bannerBg.gif") repeat-x 0 90px;
		overflow: hidden; /* Leaking content causes more problems than missing a bit of the text */
	}

		.banner.banner250 {
			width: 250px;
		}

	.banner p {
		margin: 0;
	}

	.banner p img {
		display: block;
	}

	.banner h3 {
		font-size: 1.5em;
		margin: 0;
		padding: 8px 0 8px 8px;
	}

	.banner h3 a {
		color: #788B3C;
		color: #666666;
		text-decoration: none;
		text-transform: uppercase;
		font-family: arial, georgia, "Times New Roman", serif, verdana;
		font-weight: normal;
	}

	.banner h3 a:hover,
	.banner h3 a:active,
	.banner h3 a:focus {
		text-decoration: underline;
	}

	.banner ul {
		list-style: none;
		margin: 0;
	}

	.banner ul li {
		padding: 0 5px 5px 14px;
		background: url("../../img/global/bullet.gif") no-repeat 8px 5px;
	}

	.bannerRegister {
		clear: both;
		width: auto;
		margin: 0 10px 10px 0;
		padding-top: 10px;
		background: url("../../img/global/registerBgBottom.gif") repeat-x 10px 100%;
	}

		.bannerRegister.lastChild {
			margin-right: 0;
		}

	.bannerRegister div {
		background: url("../../img/global/registerBgTop.gif") repeat-x 0 0;
		padding-bottom: 10px;
	}

/*--------------------------------------------------*/
/* Basic Form                                       */

	.basicForm fieldset {
		padding: 10px 0 0 0;
		margin: 0 0 10px 0;
		border: 0;
	}

	.basicForm fieldset legend {
		color: #000; /* IE6 Win: defaults to using blue text */
		font-weight: bold;
		margin: 0 0 10px 0;
		padding: 0;
	}

	.basicForm .error {
		color: red;
		background: inherit;
		font-weight: bold;
	}

	.basicForm .row {
		padding: 5px 0 0 11.5em;
		clear: both;
	}

	.basicForm .row .label { /* NS7: Cannot apply styles to label object */
		float: left;
		width: 11em;
		margin: 3px 0 0 -11.5em;
		text-align: right;
	}

	.basicForm .row .label abbr.required {
		border: 0;
	}

	.basicForm .row .text,
	.basicForm .row .radio,
	.basicForm .row .check {
		display: block;
		padding: 3px 0 0 0;
	}

	.basicForm .row .date input,
	.basicForm .row.date input {
		text-align: center;
	}

	.basicForm .submit {
		margin: 0 0 10px 0;
	}

/*--------------------------------------------------*/
/* Single line form                                 */

	.singleLineForm fieldset {
		margin: 0 0 10px 0;
		border: 0;
	}

/*--------------------------------------------------*/
/* Delete form                                      */

	.deleteForm fieldset {
		margin: 0 0 10px 0;
		border: 0;
	}

/*--------------------------------------------------*/
/* Text area form                                   */

	.textAreaForm fieldset {
		margin: 0 0 10px 0;
		border: 0;
	}

	.textAreaForm .row,
	.textAreaForm .textAreaRow,
	.textAreaForm .submit {
		padding: 5px 0 0 0;
	}

	.textAreaForm .row .label {
		float: left;
		width: 6em;
	}

	.textAreaForm .textAreaRow .input {
		clear: both;
		display: block;
		padding-top: 5px;
	}

	.textAreaForm .textAreaRow .input textarea {
		width: 100%;
		font-size: 1.1em;
	}

	.textAreaForm .submit {
		text-align: right;
	}

/*--------------------------------------------------*/
/* Table form                                       */

	.tableForm fieldset {
		margin: 0 0 10px 0;
		border: 0;
	}

	.tableForm .error {
		color: red;
		background: inherit;
		font-weight: bold;
	}

	.tableForm table td span.label {
		position: absolute;
		left: -5000px;
	}

/*--------------------------------------------------*/
/* Basic Table                                      */

	.tableHeading {
		background: #B2B2A0;
		color: #FFF;
		font-family: arial, georgia, "Times New Roman", serif, verdana;
		font-size: 1.25em;
		padding: 10px;
		margin: 0;
		border-bottom: 5px solid #FFF;
	}

	.basicTable {
		width: 100%;
		border: 0;
		margin-bottom: 10px;
	}

	.basicTable th {
		text-align: left; /* IE5 Win: Does not inherit the left align from the wrapper  */
	}

	.basicTable th,
	.basicTable td {
		border: 0;
		border-bottom: 5px solid #FFF;
		padding: 5px 10px;
		background: #F0F0E9;
	}

	.basicTable thead th {
		background: #B2B2A0;
		color: #FFF;
	}

	.basicTable thead th.topheader {
		border-bottom-width: 2px;
	}

	.basicTable tr.highlight th,
	.basicTable tr.highlight td {
		background: #F7F7F2;
	}

	.basicTable tr.disabled th,
	.basicTable tr.disabled td,
	.basicTable tr.disabled th a,
	.basicTable tr.disabled td a {
		color: #AAA;
	}

	.basicTable tr.info td {
		background: #FFF;
		padding-left: 0;
		padding-right: 0;
	}

	.basicTable th.rate {
		width: 8em;
	}

	.basicTable th.category,
	.basicTable th.rateLong {
		width: 10em;
	}

	.basicTable td.tel {
		width: 10em;
	}

	.basicTable td.web {
		width: 20em;
	}

	.basicTable td.date {
		width: 6em;
	}

	.basicTable td.fullDate {
		width: 25em;
	}

	.basicTable td.view,
	.basicTable td.delete {
		width: 4em;
		text-align: center;
	}

/*--------------------------------------------------*/
/* Tab strip                                        */

	.tabStrip {
		position: relative;
		padding: 1px 0 0 0; /* IE5+6+7: Sometimes decides to add some kind of bottom margin to the ul, this fixes it */
	}

	.tabStrip .tabStripLinks {
		margin: 0;
		list-style: none;
	}

		.tabStripImageUnderlay .tabStripLinks {
			position: absolute;
			right: 0;
		}

	.tabStrip .tabStripLinks li {
		float: right;
		width: 10em;
		overflow: hidden; /* Leaking content causes more problems than missing a bit of the text */
		background: #FFF url("../../img/global/tabBgBottom.gif") repeat-x 0 100%;
		border-left: 1px solid #CCC;
		margin-bottom: -1px;
		position: relative; /* IE5/6 WIN: gets the z-index wrong when trying to overlay the bottom border */
	}

		#competitions.tabStrip .tabStripLinks li {
			width: 55px; /* (680/12)-1 */
		}

		#competitions.tabStrip .tabStripLinks li.firstChild {
			width: 62px; /* 55+(680-(((55+1)*12)+1)) */
		}

	.tabStrip .tabStripLinks.leftAligned li {
		float: left;
		border-left: 0;
		border-right: 1px solid #CCC;
	}

	.tabStrip .tabStripLinks li.firstChild {
		border-right: 1px solid #CCC;
	}

	.tabStrip .tabStripLinks.leftAligned li.firstChild {
		border-left: 1px solid #CCC;
	}

	.tabStrip .tabStripLinks li a {
		display: block;
		padding: 10px 5px;
		color: #666;
		background: url("../../img/global/tabBgTop.gif") repeat-x 0 0;
		text-align: center;
		text-decoration: none;
		border-bottom: 1px solid #CCC;
	}

	.tabStrip .tabStripLinks li.current a {
		border-bottom-color: #FFF;
	}

	.tabStrip .tabStripLinks li a:hover,
	.tabStrip .tabStripLinks li a:active,
	.tabStrip .tabStripLinks li a:focus {
		text-decoration: underline;
	}

	.tabStrip .tabStripBody {
		clear: both;
		border: 1px solid #CCC;
		padding: 20px 20px 10px 20px;
		margin-bottom: 10px;
	}

		* .tabStrip .tabStripBody {
			height: 1%; /* IE5+6: needs a width, but in this case, that just makes things worse, so falling back to the holly hack */
		}

	.tabStrip .tabStripBody h3 {
		font-size: 1.5em;
		font-weight: normal;
		text-transform: uppercase;
	}

/*--------------------------------------------------*/
/* Item block                                       */

	.itemBlock,
	.imageBlock {
		border: 1px solid #CCC;
		margin: 0 0 10px 0;
	}

	.imageBlock {
		padding: 0 180px 0 0;
		height: auto !important;
		height: 180px; /* IE6 Win: Treats height as min-height, and fails to understand the important rule */
		min-height: 180px;
	}

	.itemBlock:target,
	.imageBlock:target {
		background: #e7e7de;
	}

	.imageBlock p.image {
		float: right;
		width: 180px;
		margin: 0 -180px 0 0;
		display: inline; /* IE6 Win: Double margin bug fix */
	}

	.imageBlock p.image img {
		display: block;
		margin: 5px;
	}

	.itemBlock div.body,
	.imageBlock div.body {
		border-bottom: 1px solid #FFF; /* IE5+6+7 Win: Adds mystery bottom padding to parent */
	}

	.itemBlock:target div.body,
	.imageBlock:target div.body {
		border-bottom-color: #e7e7de;
	}

	.itemBlock div.body h3,
	.imageBlock div.body h3 {
		background: #B2B2A0;
		color: #FFF;
		font-family: arial, georgia, "Times New Roman", serif, verdana;
		font-size: 1.25em;
		padding: 10px;
		margin-top: 5px;
		margin-left: 5px;
	}

	.itemBlock div.body h3 {
		margin-right: 5px;
	}

	.itemBlock div.body p,
	.imageBlock div.body p {
		padding-left: 15px;
		padding-right: 10px;
	}

	.itemBlock div.body p.date,
	.imageBlock div.body p.date {
		/* text-align: right; */
	}

/*--------------------------------------------------*/
/* Image list                                       */

	.imageList {
		list-style: none;
		margin: 0 0 10px 0;
		padding: 0 0 1px 0;
		background: url("../../img/global/divide.gif") repeat-x 0 100%;
		overflow: auto;
		width: 100%; /* IE5+6 Win: Trigger bug to contain floated elements */
	}

	.imageList li {
		background: url("../../img/global/divide.gif") repeat-x 0 0;
		padding: 1px 0 0 0;
	}

	.imageList li p.image {
		float: left;
		padding: 10px 0 0 10px;
	}

	.imageList li div.body {
		padding: 10px 0 10px 60px;
	}

	.imageList li div.body h3 {
		color: #788B3C;
	}

/*--------------------------------------------------*/
/* Small nav                                        */

	.smallNav {
		margin: 0 0 10px 0;
		list-style: none;
	}

	.smallNav li {
		display: inline;
	}

/*--------------------------------------------------*/
/* CMS Text                                         */

	.cmsText h3 {
		/* margin-bottom: 0; */
	}

	.cmsTextEditable,
	.cmsTextEditable a {
		background: #FFDFDF;
		color: #676767;
	}

	.cmsTextEditable a {
		text-decoration: underline;
	}

	span.cmsTextEditable input,
	span.cmsTextEditable a {
		margin-right: 10px; /* For when an inline element only contains a single links */
	}

/*--------------------------------------------------*/
/* Caddy banner                                     */

	#caddyBanners {
		clear: left;
	}

	#caddyBanners p {
		float: left;
		padding: 0 10px 0 0;
	}

/*--------------------------------------------------*/
/* Events table                                     */

	#eventsTable td.fullDate a {
		color: #666;
		text-decoration: none;
	}

	#eventsTable td.fullDate a span {
		text-decoration: underline;
	}

	#eventsTable tr.details td {
		background: #F0F0E9 url("../../img/global/tableSubBorderMiddle.gif") repeat-y 50% 0;
		padding: 0;
		position: relative; /* IE6 Win: sometimes missing the background image */
	}

	#eventsTable tr.details h4,
	#eventsTable tr.details p,
	#eventsTable tr.details ul {
		padding: 0 20px 0 20px;
		margin: 0;
	}

	#eventsTable tr.details h4 {
		font-size: 1em;
	}

	#eventsTable tr.details p {
		padding-bottom: 15px;
	}

	#eventsTable tr.details div.tabbed {
		padding-bottom: 40px; /* 15 + 25 */
	}

	#eventsTable tr.details div.tabbed p {
		padding: 5px 0 0 15.5em;
		clear: both;
	}

	#eventsTable tr.details div.tabbed p span {
		float: left;
		width: 15em;
		margin: 0 0 0 -15.5em;
		text-align: right;
	}

	#eventsTable tr.details div.tabbed p strong {
		font-weight: normal;
	}

	#eventsTable tr.details ul li {
		margin-left: 15px;
	}

	#eventsTable tr.details h4.detail {
		background: url("../../img/global/tableSubBorderTop.gif") no-repeat 50% 0;
		padding-top: 40px;
		color: #8E1E28;
		position: relative; /* IE6 Win: missing the background image */
	}

	#eventsTable tr.details div {
		background: url("../../img/global/tableSubBorderBottom.gif") no-repeat 50% 100%;
		padding: 0 20px 25px 20px;
	}
