body {
   background: #f7e3ce url(images/beachbg.jpg) top left repeat-x;
   font-family: "Trebuchet MS", arial, helvetica, sans-serif;
   color: #544028;
   margin:0;
   padding: 0 1em;
}

/* logo area */
#logo {
   height: 148px;
   margin: 0;
}

/* Menu Bar */

ul#menu {
   list-style: none;
   margin: 0;
   padding: 0;
   height: 40px;
}

#menu a {
   color: #fff;
   background: #668aa5;
   text-decoration: none;
   font-weight: bold;
   display: block;
   width: 6em;
   margin: 5px 2px;
   text-align: center;
   border-right: 2px solid #394e5f;
   border-bottom: 2px solid #394e5f;
}

#menu a:hover {
   background: #2b5575;
   border-right: 2px solid #152837;
   border-bottom: 2px solid #152837;
}

#menu li {
   float: left;
   margin: 0;
   padding: 0;
}

/* Main Body */

#body {
   clear: both;
}

h1,h2,h3,h4 {
   font-family: "Trebuchet MS", arial, helvetica, sans-serif;
   color: #903; /* #99135c; */
}

#body li {
   margin: 0 0 0.5em;
}

ul.slogans {
   list-style: none;
   text-align: center;
   font-size: larger;
   font-style: italic;
}

.slogans strong {
   color: #f69;  /* #b06916; */
}

/* Price Table */
table.prices {
   border-collapse: collapse;
   margin: 0.5em auto;
}

.prices th {
   background: #E6A865; /*efbb7d;*/
   padding: 2px 5px;
   border: 4px solid #f7e3ce;
   text-align: center;
}

.prices .blank {
   background: none;
}

.prices td {
   background: #fff5ea;
   padding: 2px 5px;
   border: 3px solid #f7e3ce;
   text-align: center;
}

/* Stock Photos */
.stockleft {
   clear: left;
   float: left;
   text-align: left;
   margin: 0 0.5em 0.5em 0;
}

.stockright {
   clear: right;
   float: right;
   text-align: right;
   margin: 0 0 0.5em 0.5em;
}

.stockcentre {
   clear: both;
   text-align: center;
   margin: 0.5em auto;
}

.stockcentre p,
.stockright p,
.stockleft p {
   font-size: xx-small;
   color: #d2c4b4;
   margin: 0;
}

/* Special Offer Box */


div.offerbox {
   background: #fff5ea url(/images/brownsun.gif) 50% 100% no-repeat;
   width: 12em;
   border: 1px solid #cdbfaf;
   -moz-border-radius: 5px; 
   padding: 5px 5px 55px;
   margin: 0 0 0.5em 0.5em;
   float: right;
}

.offerbox h2 {
   font-size: 120%;
   text-align: center;
   margin: 0 0 0.5em;
}

.offerbox ul {
   list-style: none;
   margin: 0;
   padding: 0;
   font-size: small;
   text-align: center;
}

/* Form layout */

.form fieldset.old {
   display: block;
   margin: 0 0 1em 0;
   border: 0 solid #FFFFFF;
   border-top: 1px solid #000000;
   padding: 0 1em 1em 1em;
}

.form fieldset {
   border: 0;
   padding: 0;
   margin: 0;
}

.form legend {
   display: none;
}

.form fieldset.radio {
   margin: 0 0 0 -1em;
   border: 0 solid #FFFFFF;
}

.form fieldset.radio input {
   position: static;
   clear: both;
   float: left;
}

.form fieldset.radio label {
   position: relative;
   top: -1.25em;
   display: inline;
   width: auto;
   margin: 0 0 0 8em;
   font-weight: bold;
   font-weight: normal;
}

.form fieldset.radio legend {
   float: left;
   font-weight: bold;
}

.form input,
.form select,
.form textarea {
   position: relative;
   top: -1.4em;
   left: 8em;
   display: block;
}
.form input.submit {
   clear: both;
   top: 0;
}

.form label {
   clear: both;
   float: left;
   display: block;
   width: 8em;
   margin-top: -1em;
   font-weight: bold;
}

.form label.first {
   margin-top: 1em;
}

dl.message {
position: relative;
margin: 0;
padding: 0;
}
	
.message dt {
font-weight: bold;
float: left;
clear: left;
width: 5em;  /* or whatever we want it to be */
margin: 0 0 1em 0;	/* match the dd */
}
		
.message dd {
clear: right;
padding-left: 1em;
margin: 0 0 1em 5em;	/* match the dt except for the left margin */
}

/* Contact Info */
dl.contact {
position: relative;
margin: 0;
padding: 0;
}
	
.contact dt {
font-weight: bold;
float: left;
clear: left;
width: 3.5em;  /* or whatever we want it to be */
margin: 0 0 1em 0;	/* match the dd */
}
		
.contact dd {
clear: right;
padding-left: 1em;
margin: 0 0 1em 3.5em;	/* match the dt except for the left margin */
}

/* Availability Calendar */

.calendar {
   background: #fff5ea;
   padding: 10px;
   margin: 0 10px 10px 0;
   float: left;
   border: 1px solid #cdbfaf;
   height: 13em;
   -moz-border-radius: 5px; 
}

#calkey {
   clear: both;
   background: #fff5ea;
   padding: 10px;
   margin: 0.5em auto;
   border: 1px solid #cdbfaf;
   width: 20em;
   -moz-border-radius: 5px; 
}

#calkey h2 {
  margin: 0 0 0.25em;
}

#calkey td {
   padding-left: 0.75em;
   line-height: 1.2;
}
.calendar abbr {
   border: 0;
}

.calendar td,
#calkey th {
   text-align: center;
   line-height: 1.2;
   width: 1.2em;
   height: 1em;
   font-weight: normal;
}

.calendar td.weekend,
#calkey th.weekend {
   background: #f7e3ce;
}

.calendar td.today {
   border: 1px solid #903;
}

.calendar td.full,
.calendar td.fullweekend,
.calendar td.start,
.calendar td.startweekend,
.calendar td.end,
.calendar td.endweekend,
.calendar td.swap,
.calendar td.swapweekend,
#calkey th.full,
#calkey th.start,
#calkey th.end {
   background: #f96 bottom left no-repeat;
   
}

.calendar td.start        {background-image: url(/images/calstart.gif);}
.calendar td.startweekend {background-image: url(/images/calstartw.gif);}
.calendar td.end          {background-image: url(/images/calend.gif);}
.calendar td.endweekend   {background-image: url(/images/calendw.gif);}
.calendar td.swap         {background-image: url(/images/calswap.gif);}
.calendar td.swapweekend  {background-image: url(/images/calswapw.gif);}
#calkey   th.start        {background-image: url(/images/calstart.gif);}
#calkey   th.end          {background-image: url(/images/calend.gif);}

form.calform {
   margin: 0 0 2em;
   padding-top: 1em;
   clear: left;
   text-align: left;
}

.calform fieldset {
   border: 0;
   margin: 0;
   padding: 0;
   text-align: center;
}

.calform legend {
   display: none;
}

/* Image Gallery */

#gmenu {
   background: #fff5ea;
   padding: 10px;
   margin: 0.5em auto;
   border: 1px solid #cdbfaf;
   text-align: center;
   -moz-border-radius: 5px; 
} 


/* Feedback Page */

.feedbackitem {
border-top: 1px solid #CDBFAF;
}

.feedbackitem .who {
text-align: right;
font-style: italic;
color:#903;
}

/* Footer */

#footer {
   clear: both;
   margin: 30px 0 10px;
   font-size: x-small;
   padding: 5px 0 0;
   border-top : 1px solid #cdbfaf;
}

/* These are standard sIFR styles... do not modify */

.sIFR-flash {
	visibility: visible !important;
	margin: 0;
}

.sIFR-replaced {
	visibility: visible !important;
}

span.sIFR-alternate {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	display: block;
	overflow: hidden;
}

/* Hide Adblock Object tab: the text should show up just fine, not poorly with a tab laid over it. */
.sIFR-flash + div[adblocktab=true] {
  display: none !important;
}

/* These "decoy" styles are used to hide the browser text before it is replaced... the negative-letter spacing in this case is used to make the browser text metrics match up with the sIFR text metrics since the sIFR text in this example is so much narrower... your own settings may vary... any weird sizing issues you may run into are usually fixed by tweaking these decoy styles */

.sIFR-hasFlash h1 {
	visibility: hidden;
}

.sIFR-hasFlash h2 {
	visibility: hidden;
	xletter-spacing: -9px;
	xfont-size: 55px;
}

.sIFR-hasFlash h3 {
	visibility: hidden;
	letter-spacing: -6px;
	font-size: 25px;
}

.sIFR-hasFlash h4 {
	visibility: hidden;
	letter-spacing: -5px;
	font-size: 21px;
}

.sIFR-hasFlash h5#pullquote {
	letter-spacing: -4px;
	visibility: hidden;
	font-size: 24px;
}

/* This is the print stylesheet to hide the Flash headlines from the browser... regular browser text headlines will now print as normal */

@media print {

  .sIFR-flash, .sIFR-flash object, .sIFR-flash embed {
  	display: none !important;
  	height: 0;
  	width: 0;
  	position: absolute;
  	overflow: hidden;
  }

  span.sIFR-alternate {
  	visibility: visible !important;
  	display: block !important;
  	position: static !important;
  	left: auto !important;
  	top: auto !important;
  }
}