* 								{ margin: 0; padding: 0; }
html								{ height: 100%; overflow-y: scroll; overflow: -moz-scrollbars-vertical; }
body								{ height: 100%; width: 100%; font-size: 11px; font-family: Arial, Helvetica, sans-serif; }

h3									{ padding-bottom:5px; margin-top: 10px; }

hr 								{	background-color:#D9D9D9; border:medium none; clear:both; color:#D9D9D9; height:1px; margin:10px 0; }

	#SiteWrapper				{ width: 100%; min-height: 100%; height: 100%; }
	td.navigation				{ height: 67px; vertical-align: bottom; }
	td.header					{ height: 270px; vertical-align: middle;  padding: 20px 0; }
	td.content					{ height: auto; vertical-align: top; padding: 20px 0; }
	td.sub						{ height: auto; vertical-align: top; padding: 20px 0; }
	td.footer					{ height: 69px; vertical-align: middle; text-align: center; }
	div.inner, div.innerHome		{ width: 892px; margin: 0 auto; position: relative; }
	div.innerHome p				{ width: 76%; }
	div.innerHome .homeTable		{ width: 76%; }
	div.innerHome .homeTable td	{ width: 33%; }
	
	#MainNav					{ width: 892px; height: 33px; position: absolute; bottom: 0; left: 0; margin: 0; padding: 0; }
	#MainNav li					{ float: left; display: block; list-style-type: none; }
	#MainNav a					{ display: block; font-size: 11px; font-weight: bold; padding: 10px 30px 8px 30px; border-style: solid; border-width: 1px 1px 0 1px; text-transform: uppercase; }
	
	#SideNav					{ z-index: 100; }
	#SideNav ul					{ width: 176px; height: auto; position: relative; top: 0; left: 0; margin: 0; padding: 0; z-index: 100; }
	#SideNav li					{ float: left; display: block; list-style-type: none; width: 174px; height: 23px; border-style: solid; border-width: 0 1px 1px 1px; position: relative; z-index: 100; }
	#SideNav a					{ display: block; font-size: 11px; width: 159px; height: 23px; line-height: 23px; padding: 0 5px 0 10px; text-decoration: none !important; }
	#SideNav ul ul					{ position: absolute; top: -1px; left: 100%; margin: 0; padding: 0; border-style: solid; border-width: 1px 0 0 0 ; display: none; z-index: 100; }
	#SideNav li:hover > ul			{ display: block; z-index: 100; }
	#SideNav span				{ cursor: pointer !important; }
	
	#LegacyLogo					{ width: 76px; height: 60px; position: absolute; right: 0; bottom: 0; overflow: hidden; }	
	
	#HeaderElement				{ width: 892px; height: auto; position: relative; }
	#HeaderImage				{ width: 888px; height: 230px; position: relative; }
	#LogoElement				{ width: 171px; height: 171px; position: absolute; top: 29px; left: 34px; }
	#LogoElement {
		/* For web browsers who care */
		opacity: 0.5;
		/* For IE 5-7 */
		filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
		/* For IE 8 (and 9, 10, 11?). Don't miss the added quotes */
		-MS-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	}
	
	#LogoImage					{ width: 151px; height: 151px; position: absolute; top: 39px; left: 44px; }
	
	#LegalNotice				{ float: right; margin-right: 25px; }
	#ImageNav					{ float: left; margin-left: 10px; }
	#ImageNav a					{ display: block; float: left; padding: 1px 6px 2px 6px; border-style: solid; border-width: 1px 0 0 0 ; margin-right: 4px; text-decoration: none; }
	.layoutB #ImageNav a			{ border-width: 0; }
	
    #HeaderElement.layoutB			{ float: left; padding-bottom: 20px; }
    #HeaderContent					{ float: right; width: 445px; height: auto; padding-top: 10px; }
    .layoutB #HeaderImage			{ width: 429px; height: 400px; position: relative; float: left; }

	
	div.inner div.left				{ width: 176px; height: auto; float: left; clear: right; margin-top: -20px; z-index: 10; }
	div.inner div.right			{ width: 696px; height: auto; float: right; padding-left: 18px; padding-bottom: 20px; }

	#FooterNav					{ position: relative; clear: both; bottom: 0; left: 0; display: block; margin-top:20px; z-index: 1; }
	#FooterNav table				{ width: 100%; border-collapse: collapse; }
	#FooterNav table td				{ vertical-align: middle; border: 1px solid; text-transform: capitalize; }
	#FooterNav td.trail			{ text-align: left; padding: 10px 10px 10px 5px; font-weight: bold; color: #2E2E2E; }
	#FooterNav td.trail span,
	#FooterNav td.trail a			{ font-weight: normal; }
	#FooterNav td.trigger			{ text-align: center; width: 75px; }
	#FooterNav td.trigger a		{ display: block; padding: 10px; text-decoration: none; }
	
	#FooterNav div.linkWrapper	{ float: left; width: 100%; position: relative; border-left: 1px solid; margin-left: -1px; text-transform: capitalize; }
	#FooterNav .linkWrapper a		{ display: block; width: 205px; float: left; background: white; border-bottom: 1px solid; border-right: 1px solid; padding: 5px 5px 5px 12px; text-decoration: none; }


/* SPECIFIC SITE ELEMENTS
-------------------------------------------------------------------------------- */
	#PropertyBookingBanner a				{ display:inline; height:auto; width:auto; padding:0;  }
	div#SideNav img.bookOnline			{ padding-top:10px; margin:0 3px; }
	div.innerHome img.bookOnline.vertical			{ float:right; padding-top:0px; margin:0 2px 0 0;	}
	div.innerHome img.bookOnline.horizontal,
	div#HeaderContent img.bookOnline.horizontal	{ padding-top:10px;  margin:0;	}
	#PropertyBookingBlock				{ display: block; width:162px; float: right; clear: both; padding: 7px; margin: 5px 0 0 0 ; font-size: 14px; font-weight: bold; text-transform: uppercase; }
	div.innerHome #PropertyBookingBlock { margin: 5px 0 0 0; }
	#PropertyBookingBlock				{ background: #F3EDDF; }
	#PropertyBookingBlock div.outer		{ border-color: #E1D3B3; }
	#PropertyBookingBlock .shaded		{ border-color: #E1D3B3; color: #662010; background: #E4D7B5 left center repeat-x url(/media/portal/img/skin/booking-header-bg.png); }
    div.sideModule .shaded              { border-style: solid; border-width:1px; zfloat:left; font-size:12px; font-weight:bold; margin:0; padding:6px 8px; text-transform:uppercase; zwidth:140px; }	
	#PropertyBookingBlock .shaded span	{ color: #927463 !important; }
	#PropertyBookingBlock:hover 		{ text-decoration: none; }
	
	.layoutB #PropertyBookingBlock		{ display: block; zposition: absolute; float: left; zright: 0; zbottom: 20px; width: 430px; }
	
    #PropertyBookingBlock td.genInput select { width:156px; }
    #PropertyBookingBlock td.genInput select, 
    #PropertyBookingBlock td.genInput input { border-style:solid; border-width:1px; color:#797979; font-family:Arial,Helvetica,sans-serif; font-size:11px; padding:1px; border-color:#E1D3B3; }
    #PropertyBookingBlock td.genInput input { padding-left:4px; width:148px; }
	#PropertyBookingBlock form				{ margin-top: 2px; }
	#PropertyBookingBlock table				{ width: 155px; }
	#PropertyBookingBlock table.hor				{ width: 416px; }
	#PropertyBookingBlock td					{ padding: 2px 0 0 2px; }
	#PropertyBookingBlock td.spacer				{ width:25px; border-left: 1px solid #DCCDA8; }
	#PropertyBookingBlock td.submit			{ padding: 5px 0 2px 2px; text-align: right; }
	#PropertyBookingBlock td.login			{ padding: 0; text-align: right; }
	#PropertyBookingBlock td.login a		{ background: none; padding: 1px; margin: 0; height: auto; width: auto; }
	#PropertyBookingBlock td.submit input	{ width: auto; border:0; }
	#PropertyBookingBlock input#id_arrive, 
	#PropertyBookingBlock input#id_depart   { width: 125px; }
	
	#SubTables					{ border-collapse: separate; width: 912px; margin-left: -10px; }	
	#SubTables td					{ border-width: 3px; border-style: solid; padding: 10px; width: 50%; vertical-align: top; }
	#SubTables td.homeBlock.promotion { background: #F3DFDE; }
	#SubTables td.weather			{ padding: 0; }
	#SubTables h1				{ display: block; width: 100%; position: relative; margin-bottom: 5px; }
	#SubTables h1 select			{ position: absolute; right: 0; font-size: 10px; }
	#SubTables h1 option			{ padding: 0 10px 0 4px; }
	#SubTables p img, img.left,
	img.right, img.right			{ padding: 4px; background: white; border: 1px solid; float: left; margin: 0 10px 0 0; } 
	img.right					{ float: right; margin: 0 0 0 10px;} 
	
	#SubTables .homeBlock table 	{ border-collapse: collapse; border: 0 !important; width: auto !important; }
	#SubTables .homeBlock table td	{ border: 0 !important; padding: 0; width: auto; }
	#SubTables .homeBlock table img	{ padding: 4px; background: white; border: 1px solid; float: left; margin: 0 10px 0 0; }
	
	
	#PageTrail					{ border-style: solid; border-width: 0 0 20px 0; padding: 10px 0; font-weight: bold; text-transform: capitalize; }
	#PageTrail span,
	#PageTrail a					{ font-weight: normal; }

	.inner .contentCopy			{ vertical-align: top; text-align: left; padding: 20px 20px 20px 18px; }
	.inner .contentCopy h1		{ margin-top: -20px; margin-bottom:3px; }
	.inner .contentCopy p			{ text-align:justify; }
	.inner .contentCopy img		{ float:right; clear:both; padding:2px; border-style:solid; border-width:1px; margin-bottom:10px; margin-left:20px; }
	.inner .contentImages		{ vertical-align: top; text-align: right; padding-top: 20px; }
	.contentCopy + .contentImages { padding-right: 20px; }
	.inner .contentImages img		{ padding: 2px; border-style: solid; border-width: 1px; margin-bottom: 10px; }
	.inner .contentCopy table		{ width: auto !important; }
	
	#CommentList				{ padding: 0 6px 20px 6px; }
	#CommentList div				{ padding: 12px 10px 13px 10px; border-style: solid; border-width: 0 0 1px 0; }
	
	span.title					{ font-weight: bold; color: #4e4e4e; width: 100%; float: left; display: block; font-size: 12px; margin-bottom: 3px; }
	span.author					{ font-weight: bold; color: #4e4e4e; width: 75%; float: left; }
	span.date					{ font-weight: bold; color: #4e4e4e; width: 25%; float: right; text-align: right; }
	span.meta					{ font-weight: bold; color: #4e4e4e; width: 100%; float: left; text-align: left; margin-bottom: 10px; text-transform: uppercase; font-size: 11px;}
	
	.inner .quickGallery			{ width: 260px !important; margin-right: 20px; }
	.quickGallery img			{ margin: 0; }
	.quickGallery td.view			{ vertical-align: top; text-align: right; padding: 20px 0 0 0; }
	.quickGallery .wrapper		{ border-style: solid; border-width: 1px; float: right; }
	.quickGallery .wrapper img	{ border-style: solid; border-width: 2px; }
	.quickGallery td.thumbs		{ vertical-align: top; text-align: right; padding-top: 8px; width: 260px !important; }
	td.thumbs img					{ margin-left: 4px; padding: 2px; border-style: solid; border-width: 1px; margin-bottom: 4px; vertical-align: top; }
	td.thumbs a.active			{ cursor: default; }

	#RateList					{ border-collapse: collapse; }	
	#RateList td					{ border-style: solid; border-width: 1px 0; padding: 10px; }
	#RateList td.even				{ padding: 15px 10px; }
	#RateList select				{ width: 100%; border: 1px solid #B3B3B3; }
	
	#CurrencyConverter			{ border-collapse: collapse; }	
	#CurrencyConverter td			{ border-style: solid; border-width: 0px 0; padding: 5px 10px; }
	#CurrencyConverter .input td	{ padding: 10px; border-width: 0 0 1px 0; }
	#CurrencyConverter .output td	{ padding: 10px; border-width: 0 0 1px 0; }
	#CurrencyConverter span.sep	{ padding: 0 10px; }
	
	#SignatureDishes			{}
	#SignatureDishes td			{ text-align: center; font-weight: bold; }
	#SignatureDishes img			{ margin-bottom: 5px;  }

	.galleryList				{ border-collapse: collapse; width: 100%; }
	.galleryList td				{ padding: 15px 10px; width: 33%; border-style: solid; border-width: 0 0 1px 0; }
	.galleryList td.message		{ padding: 10px 10px 11px 10px; border-style: solid; border-width: 0 0 1px 0; }
	.galleryList .even td			{ border-style: solid; border-width: 1px 0; }
	.galleryList a				{ font-weight: bold; text-transform: capitalize; }
	a.sendPostcard				{ font-weight: normal; display: block; margin-top: 5px;}

.inner .postcardPreview			{ vertical-align: top; text-align: left; padding: 0 0 10px 18px; }
.inner .postcardPreview	h1		{ margin-bottom: 20px; }
.inner .postcardPreview	img		{ margin-left: 20px; }
	td.postCardImage			{ padding-left: 20px; vertical-align:top; text-align: right; }
	td.postCardImage img		{ float: none !important; margin: none !important; }

.newsList th h1					{ font-size: 14px; }
.content th h1 a					{ color:#4E4E4E; }

.newsList .contentImages			{ padding:10px 10px 10px 12px; text-align:left; vertical-align:top; }
.newsList .contentCopy			{ padding:10px 10px 10px 12px; text-align:left; vertical-align:top; }
.newsList tr.even td				{ border-width: 1px 0 !important; border-style: solid; }
.newsList .contentImages img		{ margin-bottom: 0; }


.commentList div					{ padding: 12px 0 13px 0; float: left; width: 100%; }
div.info							{ text-align: center; border-style: solid; border-width: 1px 0; }
div.lightbox						{ padding: 10px 0 5px 0 !important; }
div.lightbox img.left				{ margin-right: 5px; margin-bottom: 5px; }

	
/* SITE GENERIC LAYOUT STYLES
-------------------------------------------------------------------------------- */

	a							{ text-decoration: none; outline: none !important; }
	a:hover						{ text-decoration: underline; }
	a img						{ border: none; }
	a.subLink					{ display: block; margin-top: 0.5em; font-weight: normal; }
	
	span.sep						{ padding: 0 7px; }
	
	h1							{ font-size: 16px; font-weight: bold; text-transform: uppercase; }
	p + h1						{ margin-top: 1em; }
	
	p + p,
	p + table						{ margin-top: 1em; }
	
	ul, ol						{ margin-left: 25px; margin-top: 10px; margin-bottom: 10px; }
	
	td							{ vertical-align: top; }
	tr td.even						{ border-style: solid !important; border-width: 1px 0 !important; }
	hr 							{ height: 1px; border:none; background-color: #dfe3e5; color: #dfe3e5; margin-bottom: 5px; }
	
	.content .inner p,
	.content .inner table			{ padding: 0 0; }

	.inner	.right table			{ width: 696px; padding: 0 0; }
	.inner	table table 				{ width: 100% !important; }
	.inner	table form table			{ width: auto !important; }
	.inner	table table.wide		{ width: 100% !important; }
	.inner	table table.narrow		{ width: 400px !important; }
	.inner  .right table#BookingTable { margin-top:10px; }
	td.contentCopy img.datepick-trigger { float:none; margin-bottom:2px; margin-left:2px; padding:0; border:0; }
 	.inner	p,
	.inner	h1					{ padding: 0 0; }
	.inner	th					{ vertical-align: middle; text-align: left; border-style: solid; border-width: 5px; }	
	.inner	th h1					{ padding: 2px 0 2px 8px !important; border-style: solid; border-width: 1px;  }
	.inner th h2.blogSubcategory	{ padding: 2px 0 2px 8px !important; border-style: solid; border-width: 1px;  }
	
	.content table + table			{ margin-top: 20px; }
	table.listOutput				{ border-collapse: collapse; border-top: 1px solid; width: 100%; }
	table.listOutput td 			{ padding: 5px 0 5px 18px; border-style: solid; border-width: 0 0 1px 0; }
	
	td.linkList					{ padding: 2px 0 15px 18px !important; border: none !important; vertical-align: top !important; text-align: left; }
	td.linkList a.button			{ border-top: none !important; float: left; margin-top: -2px !important; }
	tr.strokeBottom	td			{ padding-bottom: 10px !important; border-bottom: 1px solid; }	
	
	td.blockLinks				{ padding: 15px 10px !important; }
	td.blockLinks a				{ width: 48%; font-size: 11px; float: left; padding: 5px 0; border: 1px solid; margin: 3px; text-align: center; font-weight: bold; text-decoration: none; }
	
	table.filled					{ border: 10px solid; }
	table.filled td				{ padding: 0 0 0px 5px !important; }
	table.filled table				{ width: 100% !important; }
	table.filled table td			{ padding: 0 !important; }
	table.filled h1				{ margin: 0 0 5px 0 !important; padding: 0 !important; }
	table.filled td.innerSep		{ padding: 10px 0 0 5px !important; border-top: 1px solid; }
	table.filled img				{ padding: 2px; background: white; border: 1px solid; }
	
	table.innerSub				{ border-collapse: collapse; }
	table.innerSub td				{ padding: 10px !important; border: 5px solid #fff; width: 215px; }
	table.innerSub h1				{ margin: 0 0 5px 0 !important; padding: 0 !important; }
	table.innerSub p				{ margin: 5px 0 5px 0 !important; padding: 0 !important;}
	table.innerSub img				{ padding: 2px; background: white; border: 1px solid; float: left; margin-right: 5px; }
	table.innerSub p img			{ padding: 2px; background: white; border: 1px solid; float: left; margin-right: 5px; }
	table.innerSub a				{ display: block; margin-top: 5px; }
	
	select.genInput,
	textarea.genInput,
	input.genInput,
	form input,
	form select,
	form textarea					{ font-size: 11px; color: #7e7e7e; border: 1px solid #B3B3B3; font-family: Arial, Helvetica, sans-serif; padding: 1px; }
	.genInput option				{ padding: 0 10px 0 2px; width: 200px; }
	*.button					{ padding: 3px 12px; border-style: solid; border-width: 1px; background: transparent top left repeat-x; font-size: 11px; margin-right: 0.5em; }
	td.submit a.button			{ padding: 4px 12px 3px 12px; float: right; }
	td.submit input.button			{ float: right; }
	td.label						{ padding: 3px 10px 3px 0; text-align: right; vertical-align: middle; width: 174px; height: 20px; }
	td.labeltop						{ padding: 3px 10px 3px 0; text-align: right; vertical-align: top; width: 174px; height: 20px; }
	td.input						{ padding: 3px 0; text-align: left; vertical-align: middle; zwidth: 145px; }
	td.inputtop						{ padding: 3px 0; text-align: left; vertical-align: top; width: 145px; }
	td.input input					{ width: 161px; }
	td.input input#id_arrive, td.input input#id_depart
                                    { width: 135px !important; }
	td.input.wide input			{ width: 275px; }
	td.disclaimer				{ text-align: right; vertical-align: top; padding-top: 10px; }

	td.input select				{ width: 165px; }
	select.date					{ width: 53px !important; }
	select.date option				{ padding-left: 0px !important; padding-right: 0; text-align: left; }

	td.textarea					{ vertical-align: top !important; padding-top: 3px; padding-bottom: 10px; }
	td.textarea textarea			{ width: 460px; height: 10em; }
	td.textarea.narrow textarea		{ width: 275px; height: 7em; }
	td.textarea.wide textarea		{ width: 582px; height: 7em; }	
	
	td.input .captcha               { float: left !important; margin: 3px 0 8px !important; padding: 0 !important; border: none !important; }
	
	td.submit					{ text-align: right; vertical-align: middle; padding: 10px 0; }
	td.submit div					{ border-top: 1px solid; display: block; width: 100%; }
	td.submit div .button			{ border-top: none !important; }

	div.fileInputSwap			{ z-index: 1000 !important; }
	
	div.clearAll					{ display: block; float: left; clear: all; width: 100%; height: 20px; border: 0 !important; }

	.error { color: #b50000; }
	img.imageLeft		{ float: left !important; margin-right: 15px !important; margin-left: 0px !important; }