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

	* {
		padding: 0;
		margin: 0;
	}

	html {
		height: 100%;
	}

	html.overlay {
		overflow-x: hidden; /* IE6: In overlay, the body width is set to the same as the iframe, so horizontal scroll bars appear as well as vertical */
	}

	html.jsMapEnabled {
		overflow: hidden;
		border-bottom: 1px solid #FFF; /* IE6: leaves a 1px gap below the footer */
	}

	html.jsMapLoading {
		background: url("../../img/loading/background.gif") no-repeat 50% 50%;
	}

	body {
		font-family: verdana, arial, helvetica, sans-serif;
		font-size: 0.65em;
		color: #000;
		background-color: #FFF;
	}

	html.overlay body {
		width: 580px;
		margin: 0 0 0 10px;
	}

	a {
		color: #00AADD;
		text-decoration: none;
		font-weight: bold;
	}

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

	a img {
		border: 0;
	}

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

	h2 strong,
	h3 strong {
		text-transform: uppercase;
	}

	html.overlay h2 {
		padding-bottom: 10px;
		border-bottom: 1px solid #EE0E88;
	}

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

	h2,
	h2 a,
	h3 {
		color: #EE0E88;
		font-size: 1.4em;
	}

	h3 {
		font-size: 1em;
	}

	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;
	}

/*--------------------------------------------------*/
/* 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: 10;
		white-space: nowrap;
		color: #000;
		background: #FFF;
		border: 2px solid red;
		padding: 3px;
	}

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

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

		#pageTitle {
			width: 100%;
			background: url("../../img/global/borderTop.png") repeat-x 0 100%;
			padding-bottom: 4px;
		}

			html.overlay #pageTitle {
				display: none;
			}

			html.jsMapEnabled #pageTitle {
				position: absolute;
				z-index: 9;
			}

		#pageTitle div {
			border-bottom: 3px solid #EE0E88;
			overflow: auto;
			width: 100%; /* IE6: Trigger bug to contain floated elements */
			background: #FFF;
		}

		#pageTitle h1 {
			float: right;
		}

		#pageTitle h1 img {
			display: block;
		}

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

		#pageTitle ul li {
			background: #FFF; /* If the image does not load */
			float: left;
			margin: 7px 0 7px 10px;
			padding: 0 0 0 10px;
			border-left: 1px solid #CCC;
			display: inline; /* IE6: double margin bug */
		}

		#pageTitle ul li.firstChild {
			padding-left: 0;
			border-left: 0;
		}

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

		#pageContent {
			padding: 10px 10px 0 10px;
		}

			html.jsMapEnabled #pageContent {
				padding: 40px 0 0 0;
			}

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

		#pageFooter {
			width: 100%;
			background: url("../../img/global/borderBottom.png") repeat-x 0 0;
			padding-top: 4px;
			clear: both;
		}

			html.overlay #pageFooter {
				display: none;
			}

			html.jsMapEnabled #pageFooter {
				clear: none;
				position: absolute;
				left: 0; /* IE6: Manages to move the footer over to the right by 10px */
				bottom: 0;
				z-index: 9;
				margin-bottom: -1px; /* IE6: does not quite understand what 'bottom' is, and is out by 1px */
			}

		#pageFooter div {
			border-top: 3px solid #EE0E88;
			overflow: auto;
			width: 100%; /* IE6: Trigger bug to contain floated elements */
			background: #FFF;
		}

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

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

		#pageFooter ul li {
			float: left;
			margin: 3px 0 4px 10px; /* bottom margin slightly out */
			padding: 0 0 0 10px;
			border-left: 1px solid #CCC;
		}

		#pageFooter ul li.firstChild {
			padding-left: 0;
			border-left: 0;
		}

			html.jsMapEnabled #pageFooter ul li.home {
				display: none;
			}

		#pageFooter p {
			float: right;
			margin: 3px 10px 3px 0;
		}

/*--------------------------------------------------*/
/* Search form                                      */

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

		#searchForm {
			width: 229px;
			background: url("../../img/global/searchTop.png") no-repeat 0 0;
			margin-bottom: 10px;
			padding: 100px 0 0 0;
			margin-top: -5px;
		}

			html.jsMapEnabled #searchForm {
				z-index: 5;
			}

		#searchFormContainer {
			background: url("../../img/global/searchBottom.png") no-repeat 0 100%;
			padding-bottom: 15px;
		}

		#searchForm h2 {
			background: url("../../img/global/searchBg.png") no-repeat 0 0;
			margin: 0;
		}

		#searchForm h2 span {
			display: block;
			background: #00AADD;
			color: #FFF;
			font-weight: normal;
			margin: 0 2px;
			padding: 2px 0;
			text-align: center;
		}

		#searchForm form {
			overflow: auto;
			width: 100%; /* IE6: Trigger bug to contain floated elements */
			background: url("../../img/global/searchBg.png") repeat-y 0 0;
			border-top: 1px solid #EE0E88;
		}

		#searchForm form fieldset {
			border: 0;
		}

		#searchForm form h3 {
			margin: 0;
			padding: 5px;
			color: #EE0E88;
			font-size: 1em;
		}

	/*--------------------------------------------------*/
	/* By type                                          */

		#searchForm #searchFormType .row {
			line-height: 21px;
			padding: 0 30px 2px 5px;
		}

		#searchForm #searchFormType .boat     { background: url("../../img/types/boat.gif")     no-repeat 96% 50%; }
		#searchForm #searchFormType .event    { background: url("../../img/types/event.gif")    no-repeat 96% 50%; }
		#searchForm #searchFormType .food     { background: url("../../img/types/food.gif")     no-repeat 96% 50%; }
		#searchForm #searchFormType .gallery  { background: url("../../img/types/gallery.gif")  no-repeat 96% 50%; }
		#searchForm #searchFormType .house    { background: url("../../img/types/house.gif")    no-repeat 96% 50%; }
		#searchForm #searchFormType .hotel    { background: url("../../img/types/hotel.gif")    no-repeat 96% 50%; }
		#searchForm #searchFormType .landmark { background: url("../../img/types/landmark.gif") no-repeat 96% 50%; }
		#searchForm #searchFormType .show     { background: url("../../img/types/show.gif")     no-repeat 96% 50%; }
		#searchForm #searchFormType .sport    { background: url("../../img/types/sport.gif")    no-repeat 96% 50%; }
		#searchForm #searchFormType .park     { background: url("../../img/types/park.gif")     no-repeat 96% 50%; }
		#searchForm #searchFormType .tour     { background: url("../../img/types/tour.gif")     no-repeat 96% 50%; }
		#searchForm #searchFormType .zoo      { background: url("../../img/types/zoo.gif")      no-repeat 96% 50%; }

		#searchForm #searchFormType .row input {
			vertical-align: middle;
		}

		#searchForm #searchFormType #resultMessage {
			float: left;
			padding: 8px;
			line-height: 23px;
			color: #00AADD;
			font-weight: bold;
		}

		#searchForm #searchFormType #resultMessage img {
			margin-top: 8px; /* ((31 - 16) / 2) */
			display: block;
		}

		#searchForm #searchFormType #typeSubmit {
			padding: 8px 8px 8px 0; /* 2px added to top (2 + 8 = 10) */
			text-align: right;
		}

	/*--------------------------------------------------*/
	/* Keywords                                         */

		#searchForm #searchFormKeyword {
		}

		#searchForm #searchFormKeyword .row {
			padding: 0 0 5px 5px;
		}

		#searchForm #searchFormKeyword .input input {
			width: 120px;
			vertical-align: top;
		}

		#searchForm #searchFormKeyword .input input.jsHiddenLabelEnabled {
			width: 180px; /* 230 - 30 - 10 - 10 */
		}

/*--------------------------------------------------*/
/* Search results                                   */

	html.jsMapEnabled #searchResults {
		position: absolute;
		left: -5000px;
	}

/*--------------------------------------------------*/
/* Map tools                                        */

	html.jsMapEnabled #mapTools {
		position: absolute;
		top: 40px;
		right: 20px;
		width: 185px;
		height: 170px;
		z-index: 3;
		background: url("../../img/global/overviewBg.png") no-repeat 0 0;
	}

	html.jsMapEnabled #mapTools #mapZoom {
		position: relative;
		margin: 0 30px 0 31px;
		padding: 33px 0 30px 0;
	}

	html.jsMapEnabled #mapTools #mapZoom div {
		position: absolute;
		width: 10px;
		height: 20px;
		background: url("../../img/global/zoomSlider.gif") no-repeat 0 0; /* IE6: cannot use png? */
	}

	html.jsMapEnabled #mapTools #zoomLinkLess,
	html.jsMapEnabled #mapTools #zoomLinkMore {
		position: absolute;
		left: 14px;
		top: 33px;
		z-index: 4;
		cursor: pointer;
	}

	html.jsMapEnabled #mapTools #zoomLinkMore {
		left: 154px;
	}

	html.jsMapEnabled #mapTools #mapOverview {
		margin: 0;
		position: absolute;
		top: 65px;
		left: 7px;
		width: 170px;
		height: 96px;
		overflow: hidden;
	}

	html.jsMapEnabled #mapTools #mapOverview div#mapOverviewLayer {
		border: 2px solid #000;
		background: url("../../img/global/transparent.gif");
		/*background: url("../../img/global/overviewShadow.png");*/
	}

	html.jsMapEnabled #mapTools #mapOverview div#mapOverviewPinHolder {
		position: absolute;
		top: 0; /* IE6: pushes this element down due to the overview layer */
		width: 170px;
		height: 96px; /* IE6: in this case does not render elements outside of this div */
	}

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

	/*--------------------------------------------------*/
	/* Map places                                       */

		html.jsMapEnabled #mapPlaces {
			position: absolute;
			top: 210px;
			right: 20px;
			width: 185px;
			height: 55px;
			z-index: 3;
		}

	/*--------------------------------------------------*/
	/* Win                                              */

		html.jsMapEnabled #winBanner {
			position: absolute;
			top: 266px;
			right: 20px;
			width: 185px;
			height: 113px;
			z-index: 3;
		}

/*--------------------------------------------------*/
/* Basic form                                       */

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

	.basicForm fieldset legend {
		display: none; /* IE6 is a POS, so I'll use <h3>s instead, not ideal but better than nothing */
	}

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

	.basicForm h3 {
		padding: 0 0 0 0;
		clear: both;
	}

	.basicForm .row,
	.basicForm .check {
		padding: 5px 0 0 15.5em;
		clear: both;
	}

		html.overlay #attractionBody .basicForm .row {
			padding-left: 100px;
		}

	.basicForm .check {
		padding-left: 0;
	}

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

		html.overlay #attractionBody .basicForm .row .label {
			width: 90px;
			margin-left: -100px;
		}

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

	.basicForm .check .input input {
		vertical-align: middle;
	}

	.basicForm .row .input input {
		width: 20em; /* IE6: Decides to show different lengths of fields for plain text and password */
	}

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

	.basicForm .row .image img {
		display: block;
	}

	.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;
	}

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

	.basicTable {
		margin: 0 0 10px 0;
		color: inherit;
		background: #FFF;
		border: 0;
		border-bottom: 3px solid #EE0E88;
	}

	.basicTable.fullWidth {
		width: 100%;
	}

	.basicTable tr.even {
		background: #F8E6F0;
	}

	.basicTable tr.highlight td.name,
	.basicTable tr.highlight td.name a {
		font-weight: bold;
	}

	.basicTable th {
		background: #EE0E88;
		color: #FFF;
		text-align: left;
	}

	.basicTable th,
	.basicTable td {
		padding: 2px 4px;
		border: 0;
	}

	.basicTable td.noResults {
		text-align: center;
	}

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

	.basicTable th.date,
	.basicTable td.date,
	.basicTable th.rating,
	.basicTable td.rating,
	.basicTable th.attraction,
	.basicTable td.attraction,
	.basicTable th.station,
	.basicTable td.station {
		width: 10em;
		white-space: nowrap;
	}

	.basicTable td.types img {
		float: left;
		margin-right: 3px;
	}

	.basicTable td a {
		color: #000;
		text-decoration: underline;
		font-weight: normal;
	}

/*--------------------------------------------------*/
/* Attraction listing                               */

	.attractionListing {
		border-top: 1px solid #EE0E88;
		margin: 0 0 10px 0;
		list-style: none;
	}

	.attractionListing li {
		border-bottom: 1px solid #EE0E88;
		padding: 10px;
	}

	.attractionListing.filtered li {
		background-color: #F8E6F0;
	}

	.attractionListing li a {
		color: #EE0E88;
		display: block;
		text-align: right;
		line-height: 20px;
		overflow: auto;
		width: 100%; /* IE6: trigger bug to contain floated elements */
		background: url("../../img/arrow/pinkRight.gif") no-repeat 0 50%;
	}

	.attractionListing li a:hover,
	.attractionListing li a:focus,
	.attractionListing li a:active {
		text-decoration: none;
	}

	.attractionListing li a:hover span,
	.attractionListing li a:focus span,
	.attractionListing li a:active span {
		text-decoration: underline;
	}

	.attractionListing li a span {
		float: left;
		padding-left: 13px;
		cursor: pointer; /* IE6: Forgets that its a link */
	}

	.attractionListing li a img {
		float: right;
		margin-left: 3px;
	}

/*--------------------------------------------------*/
/* Basic nav                                        */

	.basicNav {
		margin: 0;
		padding: 0;
	}

	.basicNav li {
		float: left;
		list-style: none;
		margin: 0 10px -1px 0;
		position: relative; /* IE5/6 WIN: needs this the the issueLogBody sits under this li */
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		border-left: 1px solid #000;
	}

	.basicNav li a {
		text-decoration: none;
	}

	.basicNav li span,
	.basicNav li strong {
		display: block;
		padding: 5px;
		position: relative; /* IE5/6 WIN: needs this rule to apply the background colour */
		color: #000;
		background: #E0E0E0;
		border-bottom: 1px solid #000;
	}

	.basicNav li strong {
		font-weight: normal;
		color: #000;
		background: #FFF;
		border-bottom: 1px solid #FFF;
	}

	.basicNavChild {
		clear: both;
		border: 1px solid #000;
		padding: 10px 10px 0 10px;
		margin: 0 0 10px 0;
	}

/*--------------------------------------------------*/
/* Page links                                       */

	.pageLinks {
		margin: 0;
		padding: 0 0 10px 0;
		overflow: auto;
		width: 100%; /* IE6: Trigger bug to contain floated elements */
	}

	.pageLinks li {
		list-style: none;
		float: left;
		margin: 0 5px 0 0;
		padding: 0 5px 0 0;
		border-right: 1px solid #EE0E88;
	}

	.pageLinks li.lastChild {
		border-right: 0;
	}

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

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

	.smallNav li {
		display: inline;
		font-weight: bold;
	}

	.smallNav li.backLink span,
	.smallNav li.nextLink span {
		color: #AAA;
	}

	.smallNav li.pageLink,
	.smallNav li.pageLink a {
		color: #00AADD;
	}

	.smallNav li strong {
		font-weight: normal;
		text-decoration: underline;
	}
