html, body {
	font-family: Helvetica, Arial, Sans-serif;
	height: 100%;
	margin: 0;
	padding: 0;
	background: #fff url('/images/layout/bg/sunshine_grad.png') repeat-x top;
}
body {
	line-height: 100%;
}

/*   original color of background: #fcf7cd       */



/* = Self-Clearing Mechanism: Forces an element to expand to match the height of inner-floats
================================================================================================== */
.c:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	margin-bottom: .001em;
}
.ir {
	position: relative;
	display: block;
}
.ir .o {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	z-index: 20;
	width: 100%;
	height: 100%;
}
a {
	outline: none; /* aesthetic issue with browsers that outline more than the clickable region, might have negative accessibility affect */
	color: #385308;
}
a:visited {
	color: #385308;
}
a:hover {
	color: #385308;
}
a .o {
	cursor: pointer;
}
.a {
	display: none; /* Temporarily disable accessibility elements (not very accessible) */
}

h1,h2 {
	font-size: 16pt;
	line-height: 100%;
	margin-bottom: .25em;
}
h2 {
	font-size: 1.2em;
	font-weight: 100;
	margin-bottom: .5em;
}
h1 span.d,
h2 span.d,
th span.d {
	opacity: 0;
}
h1 span.resort,
h2 span.resort,
th span.resort {
	display: block;
	font-size: 75%;
	line-height: 100%;
}
h1 span.island,
h2 span.island {
	float: left;
	text-indent: -9999px;
}
h3 {
	font-size: 13pt;
	margin-bottom: .1em;
}








#h {
	position: relative;
	width: 920px;
	min-height: 100%;
	margin: 0 auto;
	padding-bottom: 30pt;
	background: url('/images/layout/bg/semitrans_white30.png'); /* Content Frame */
}

#v {
	min-height: 600px;
	margin: 0;
	padding: 0;
}



/* = Masthead
================================================== */
#masthead {
	position: relative;
	width: 950px;
	height: 150px;
	margin: 0 -15px;
	background: url('/images/layout/logo.png') no-repeat;
}
#masthead h1.title {
	width: 550px;
	height: 139px;
	margin: 0;
	text-indent: -9999px;
}
#masthead h1.title a {
	display: block;
	width: 100%;
	height: 100%;
}
#masthead h1.title a:hover {
	background: green;
}


/* = Content Area
================================================== */
#content {
	position: relative;
	z-index: 25;
	margin-top: 0;
	margin-bottom: 20px;
}

/* test bed for column
#secondary {
	float: left;
	padding: 0 1em;
	background: url('/images/layout/bg/semitrans_white30.png');
}
*/


/* = Footer
================================================== */
#footer {
	position: absolute;
	bottom: -110px;
	left: 0;
	min-height: 400px;
	margin-top: -400px;
	width: 100%;
	font-size: 10pt;
}

#footer .w {
	position: absolute;
	left: 0;
	bottom: 0;
	color: #fff;
	width: 100%;
	background: #000;
}
#footer div.legal {
	font-size: 8.5pt;
}
#footer p {
	margin: 0;
	padding: .25em .5em;
}
#footer a {
	color: #fff;
}
#footer div.nav p.linkjuice {
	float: left;
}
#footer div.nav p.legal {
	float: right;
}

div#footer div.logos {
	padding-top:5px;
	text-align:right;
}

div#footer div.logos img {
	vertical-align:middle;
}


#navigation {
	position: absolute;
	top: 0;
	z-index: 50;
	left: -15px;
	width: 950px;
	height: 175px;
}
#navigation .olink {
	position: absolute;
	top: -180px;
	left: 0;
	display: block;
	width: 550px;
	height: 180px;
}
#navigation ul, #navigation ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}
#navigation ul li {
	float: left;
	margin-right: 10px;
}

#navigation .island {
	position: absolute;
	left: 0;
	bottom: 5px;
	z-index: 25;
	width: 100%;
	height: 33px;
/*	background: url('/images/layout/navstroke.png') no-repeat;*/
}
#navigation .island ul {
	margin-left: 124px;
}
#navigation .island li {
	margin: 0;
}

div.drop_down_nav {
        background-color:#FEE67C;
        padding: 3px 10px 5px 10px;
        display: none;
        position: absolute;
        top: 32px;
	z-index: 50;
        filter: progid:DXImageTransform.Microsoft.Shadow(color='#969696', Direction=135, Strength=5);
        -webkit-box-shadow: rgba(0, 0, 0, 0.35) 5px 5px 5px;
        -moz-box-shadow: rgba(0, 0, 0, 0.35) 5px 5px 5px;
}
div.drop_down_nav a {
        color: black;
	text-decoration: none;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 60%;
	line-height: 1.7;
}
div.drop_down_nav a:hover {
	text-decoration: underline;	
}


#navigation .island ul a {
	position: relative;
	z-index: 35;
	display: block;
	height: 33px;
	overflow: hidden;
}
#navigation .island ul a:link .o,
#navigation .island ul a:visited .o,
#navigation .island ul a:active .o {
	background-repeat: no-repeat;
	background-position: 0 0;
}
#navigation .island ul a:hover .o {
	background-position: 0 -33px;
}

#mnav_bigIsland a {
	width: 131px;
}
#mnav_bigIsland .o {
	background-image: url('/images/layout/nav/bigIsland.gif');
}
#mnav_maui a {
	width: 82px;
}
#mnav_maui .o {
	background: url('/images/layout/nav/maui.gif');
}
#mnav_oahu a {
	width: 83px;
}
#mnav_oahu .o {
	background: url('/images/layout/nav/oahu.gif');
}
#mnav_kauai a {
	width: 85px;
}
#mnav_kauai .o {
	background: url('/images/layout/nav/kauai.gif');
}




#navigation .tools {
	position: absolute;
	top: 15px;
	right: 35px;
	z-index: 25;
	font-size: 11px;
}

#navigation .tools p a {
	text-decoration: none;
}

#navigation .relational {
	position: absolute;
	right: 25px;
	bottom: 40px;
	z-index: 25;
}








.unit_instance table {
	font-size: 10pt;
	border: 1px solid #333;
	width: 100%;
	background: #fff;
}
.unit_instance table th {
	text-align: left;
	padding-right: 1em;
}




body.filter #primary, body.reviews #primary, body.view_reservations #primary {
	width: 880px;
	margin-top: 40px;
	padding: 0 20px;
	float: left;
}
body.filter div#results {
	clear: both;
}
body.filter div.island_group {
	font-size: 10px;
	clear: both;
	padding: 0 0 15px 0;
	margin: 0;
}
h2.island_group {
	border-bottom: 1px solid #000000;
	padding: 0 0 2px 0;
	margin: 0;
}
h2.island_group a:link, h2.island_group a:visited {
	color: #000;
	text-decoration: none;
} 
h2.island_group span {
	font-weight: normal;
	font-size: 12px;
}	
body.filter div.island_group_contents {
	margin: 0;
	padding: 0;
}
body.filter div.resort_group:first-child {
	clear: both;
	border-top: none;
}
body.filter div.resort_group {
	clear: both;
	border-top: 1px solid #999999;
	padding: 10px 0 10px 0;
	margin: 0;
	width: auto;
	position: relative;
}
body.filter div.resort_group_heading {
	float: left;
	width: 305px;
	margin: 5px 0 0 0;
	padding: 0;
}

body.filter div.resort_group_heading p {
	margin: 0;
	padding: 0;
	color: #886622;
}
h3.resort_group {
	margin: 0;
	padding: 0;
}
h3.resort_group span {
	display: block;
	margin: 0;
	padding: 0;
	text-align: right;
	font-weight: normal;
	font-size: 12px;
}
body.filter div.resort_group_contents {
	float: right;
}
body.filter div.filtered_unit {
	width: 550px;
	position: relative;
	margin: 0 0 10px 0;
	padding: 0;
	background: #fbf7d0;
}
body.filter div.filtered_unit_heading {
	position: relative;
	padding: 5px 15px 5px 20px;
	margin: 0;
	background: #bebca8;
}
div.filtered_unit img.toggle_arrow {
	position: absolute;
	top: 8px;
	left: 6px;
}
div.filtered_unit_heading h4 {
	position: relative;
	margin: 0;
	padding: 0;
	font-size: 14px;
}
div.filtered_unit_heading h4 span.pricing {
	position: absolute;
	top: 0px;
	right: 0px;
	font-weight: normal;
	text-align: right;
	font-size: 14px;
}
div.filtered_unit_heading h4 span.pricing span {
	font-size: 11px;
}
div.filtered_unit_heading p {
	margin: 0;
	padding: 0;
	color: #886622;
}
div.filtered_unit_description {
	display: none;
	clear: both;
	padding: 5px 8px 10px 20px;
	position: relative;
}
div.filtered_unit_instance_description {
	width: 300px;
	margin: 0;
	padding: 0 0 10px 0;
}
div.filtered_unit_description h5 {
	font-size: 12px;
	padding: 0;
	margin: 0;
}
div.filtered_unit_description div.reviews {
	margin: 0;
	padding:0;
	width: 300px;
}
div.filtered_unit_description div.reviews p {
	padding: 0;
	margin: 0;
}
div.filtered_unit_description p.more_info {
	margin: 10px 0 0 0;
}
div.filtered_unit_description p.filtered_unit_img {
	position: absolute;
	top: 5px;
	right: 10px;
	z-index: 10;
}
/*div.filtered_unit_description form {
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 10;
}*/
div.filtered_unit_description form {
	margin:0;
	padding:0;
}
div.display_toggle {
	cursor: pointer;
}


body#islands h2 {
	margin-top: 0;
}
body#islands h2 img {
	float: left;
	margin-right: 5px;
}

body#islands #primary {
	width: 690px;
	margin-top: 40px;
	float: left;
}
body#islands #secondary {
	width: 230px;
	float: right;
	margin-top: 40px;
}
body#islands #secondary #resort_map {
	height: 200px;
	width: 230px;
	margin-bottom: 1em !important;
}
body#islands #secondary .map,
body#islands #secondary .floorplan {
	margin: 0.5em 0;
}



body#islands #primary .info {
	font-size: 10pt;
	float: left;
	width: 305px;
	padding: 0 20px;
}
body#islands #primary .info a img {
	border: none;
}
body#islands #primary .info h2 {

}
body#islands #primary .tour {
	float: right;
	width: 325px;
	margin-right: 20px;
	
}
body#islands #primary .tour div.thumbs div {
	font-size: 9;
	float: left;
	width: 140px;
	margin: 20px 0;
	text-align: center;
}
body#islands #primary .tour div.thumbs div.last {
	margin-left: 20px;
}

body#islands #primary .tour img {
	border: 1px solid #000;
	margin: 5px 0;
}
body#islands #primary .tour img.first {
	margin-right: 27px;
}


body#islands.unit_video_gallery #primary .tour,
body#islands.resort_videos #primary .tour {
	float: none;
	width: 675px;
	margin-right: 0;
}
body#islands.unit_video_gallery #primary .tour .b,
body#islands.resort_videos #primary .tour .b {
	float: left;
	margin-right: 1em;
}


body#islands.landing #primary {
	float: right;
}
body#islands.landing #secondary {
	float: left;
}




body#islands #resorts_list {
	float: left;
	width: 305px;
	padding: 0 20px;
}
body#islands #resorts_list div.description {
	font-size: .85em;
	line-height: 120%;
}
body#islands #resort_map,
body#islands #resorts_map {
	float: right;
	width: 345px;
	height: 345px;
}
body.filter #resorts_map {
	float: right;
	width: 305px;
	margin-top: 15px;
}


#resorts_list dl,
#units_list {
        font-size: 10pt;
        margin: .5em 0 1em 0;
}
body#islands.resort #units_list {
        padding: 0 20px;
        clear: both;
}
#units_list div dl {
        float: left;
        width: 300px;
}
#resorts_list dt {
        float: left;
        font-size: 11pt;
}
#resorts_list dd,
#units_list dd {
        font-size: 8.5pt;
}
#resorts_list dd.count {
        float: right;
        margin-left: 0;
}
#resorts_list dd.description {
        font-size: 10pt;
	clear: both;
        color: #003;
        margin: 0;
        text-align: justify;
}


#units_list {
	font-size: 10pt;
	margin: .5em 0 1em 0;
}
body#islands.resort #units_list {
	padding: 0 20px;
	clear: both;
}
#units_list div dl {
	float: left;
	width: 300px;
}
#units_list dd {
	font-size: 8.5pt;
}


#units_list dl {
}
#units_list dt {
	width: 100px;
	margin: 5px 155px 0 0; 
	float: left;
}
#units_list dd.photo {
	margin: 1px 3px 0 0;
	float: left;
}
#units_list dd.description {
	font-size: 10pt;
	color: #003;
	padding-top: 3px;
	line-height: 110%;
}







body#home #footer,
/*  body#info.error #footer {
	background: url('/images/layout/kauai_scenic.jpg') no-repeat bottom;
}
*/

/*
#islands_map_old {
	height: 600px;
	background: url('/images/islands/islands_static.png') no-repeat right;
}
*/



body#home #secondary {
	position: relative;
	top: 0;
	left: 25px;
	margin-top: -500px;
}



#specials h2 {
	font-size: 12pt;
	margin: 0;
	padding-top: 40px;
	padding-bottom: 10px;
}
#specials dl {
	margin-top: 0;
}
#specials dt,
#specials dd {
	margin: 0;
	padding: 0;
}
#specials dt img {
	border: 2px solid black;
	margin-bottom: 5px;
}
#specials dt {
	font-size: 11pt;
}
body#home #specials dt {
	position: relative;
	z-index: 30;
	width: 180px;
}
#specials dt span.name {
	display: block;
}
body#home #specials dt span.name {
	display: block;
	width: 400px;
}
#specials dt span.price {
	font-size: 8pt;
}
#specials dd {
	margin-top: 3px;
	font-size: 9pt;
}
body#home #specials dd {
	position: relative;
	z-index: 30;
	width: 440px;
}
#specials dd.gallery {
	margin-top: 20px;
}
body#home #specials dd.gallery {
	width: 500px;
}
#specials dd.gallery img {
	margin-right: 18px;
}


#vacation_planner {
	font-size: 10pt;
	width: 690px;
	margin-top: 40px;
	padding-bottom: 18px;
/*	background: url('/images/layout/bg/semitrans_paleyellow75.png');*/
}
body#home #vacation_planner {
	position: relative;
	z-index: 50;
	width: 575px;
	margin-bottom: 200px;
}
body.filter #vacation_planner {
 	width: 100%;
	margin: 0;
}
body.filter #vacation_planner .basics, body.filter #vacation_planner .extras {
/*	display: none;*/
}
#vacation_planner h2 {
	color: #fff;
	margin-bottom: 0;
	padding: 10px 20px;
	background: #000;
}
#vacation_planner .basics {
	float: left;
	margin-left: 20px;
	width: 160px;
}
#vacation_planner .extras {
	float: left;
	width: 385px;
}
body.filter #vacation_planner .extras {
 	width: 535px;
	margin-left: 145px;
}
body.filter #vacation_planner .extras p {
 	width: 30%;
}
#vacation_planner .extras p {
	margin: .1em 0;
	width: 50%;
	float: left;
}
#vacation_planner .extras fieldset {
	float: left;
	border: none;
	margin: .75em;
	padding: 0;
	width: 100%;
}
#vacation_planner .extras fieldset label {
	font-size: 8pt;
}

#vacation_planner .f {
	margin: .75em 0;
}
#vacation_planner input[type="checkbox"] {
	vertical-align: bottom;
}
#vacation_planner div.f label {
	display: block;
}
#vacation_planner div.check_box label,
#vacation_planner div.reverse label {
	display: inline;
}
#vacation_planner .ig .f {
	float: left;
	margin-right: 2em;
}
body#planner div.policy {
	height: 200px;
	border: 1px inset #666666;
	background: #ffffff;
	overflow: auto;
	padding: 5px 10px;
	margin: 10px 0;
}
body#planner div.info {
	font-size: .8em;
	padding: 2em;
	line-height: 100%;
}





#islands_map {
	position: relative;
	top: 50px;
	z-index: 20;
	height: 500px;
}
#islands_map dt,
#islands_map dt a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#islands_map dt a {
	text-indent: -9999px;
}
#islands_map dd.resorts {
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	margin: 0;
	padding: 0;
	font-size: 8pt;
}

#islands_map h2 {
	position: absolute;
	margin: 0;
	bottom: 480px;
	left: 563px;
	font-size: 16pt;
}
#islands_map #bigIsland,
#islands_map #maui,
#islands_map #molokai,
#islands_map #lanai,
#islands_map #oahu,
#islands_map #kauai {
	position: absolute;
}

#islands_map dd.summary {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	width: 320px;
	margin: 0;
	padding: 0;
	font-size: 9pt;
}
#islands_map dl:hover dd.summary {
	opacity: 1;
}

#islands_map #bigIsland {
	bottom: 20px;
	right: 30px;
	width: 300px;
	height: 250px;
}
#bigIsland dd.summary {
	top: -190px;
	left: -25px;
}
#islands_map #bigIsland dd.resorts {
	top: 65px;
	left: 15px;
}
#islands_map #maui {
	bottom: 245px;
	right: 175px;
	width: 165px;
	height: 106px;
}
#maui dd.summary {
	top: -109px;
	left: -15px;
}
#islands_map #maui dd.resorts {
	top: 33px;
	left: 118px;
}
#islands_map #molokai {
	bottom: 330px;
	right: 300px;
	width: 130px;
	height: 53px;
}
#molokai dd.summary {
	top: -77px;
	left: 75px;
}
#islands_map #lanai {
	bottom: 283px;
	right: 325px;
	width: 85px;
	height: 48px;
}
#lanai dd.summary {
	top: -129px;
	left: 55px;
}
#islands_map #oahu {
	bottom: 360px;
	right: 410px;
	width: 140px;
	height: 100px;
}
#oahu dd.summary {
	top: 0;
	left: 195px;
}
#islands_map #oahu dd.resorts {
	top: 36px;
	left: 92px;
}
#islands_map #kauai {
	bottom: 400px;
	right: 520px;
	width: 200px;
	height: 96px;
}
#islands_map #kauai dd.resorts {
	top: 40px;
	left: 152px;
}
#kauai dd.summary {
	top: 36px;
	left: 365px;
}

#bigIsland dt a {
	background-image: url('/images/islands/bigIsland.png');
}
#bigIsland dt a:hover {
	background-position: 0 250px;
}
#maui dt a {
	background-image: url('/images/islands/maui.png');
}
#maui dt a:hover {
	background-position: 0 106px;
}
#molokai dt a {
	background-image: url('/images/islands/molokai.png');
}
#molokai dt a:hover {
	background-position: 0 53px;
}
#lanai dt a {
	background-image: url('/images/islands/lanai.png');
}
#lanai dt a:hover {
	background-position: 0 48px;
}
#oahu dt a {
	background-image: url('/images/islands/oahu.png');
}
#oahu dt a:hover {
	background-position: 0 100px;
}
#kauai dt a {
	background-image: url('/images/islands/kauai.png');
}
#kauai dt a:hover {
	background-position: 0 96px;
}


table th.number,
table td.number {
	text-align: right !important;
}


table.vacation_planner {
	font-size: 10pt;
	border-collapse: collapse;
}
table.vacation_planner th,
table.vacation_planner td {
	text-align: left;
	padding: .25em .5em;
}
table.vacation_planner thead th {
	font-size: 12pt;
}
table.vacation_planner thead th span.resort {
	margin-top: .5em;
	font-size: .7em;
}

div.old_reservation {
	padding: 1px 10px 5px 10px;
	margin-bottom: 15px;
	background: #bebca8;
}


/* This is legacy from early development */
table.trip_planner {
	border-collapse: collapse;
}
table.trip_planner th {
	text-align: left;
}
table.trip_planner td {
	font-size: 80%;
}


table.trip_planner thead th {
	font-size: 100%;
	border-bottom: 3px solid #000;
}
table.trip_planner tbody th {
	border-right: 1px solid #000;
}
table.trip_planner tbody td {
	padding-left: 20px;
}





table.trip_planner tr.subtotal th,
table.trip_planner tr.subtotal td {
	border-top: 2px solid #000;
}
table.trip_planner tr.total th,
table.trip_planner tr.total td {
	font-size: 95%;
	font-weight: 700;
}













table#reservations {
	border-collapse: collapse;
}

table#reservations td {
	font-size: 80%;
}

table#reservations tr.calc td {
	font-size: 70%;
}

table#reservations tr#subtotal td {
	border-top: 3px solid #000;
}

table#reservations tr#total td {
	font-size: 90%;
	font-weight: 700;
}



table#reservations thead th {
	text-align: left;
}

table#reservations tbody th {
	vertical-align: top;
	padding-right: 10px;
}
table#reservations tbody th,
table#reservations tbody td {
	padding-bottom: 8px;
}

table#reservations tbody tr.contents td {
	border-top: 1px solid #000;
	border-right: 1px solid #999;
	padding: 5px;
}
table#reservations tbody tr.contents td.first {
	padding-left: 0;
}
table#reservations tbody tr.contents td.last {
	border-right: none;
	padding-right: 0;
}











div.plan_summary {
	width: 220px;
	float: right;
}
div.plan_summary table {
	border-collapse: collapse;
}
div.plan_summary table thead th {
	font-size: 85%;
	border-bottom: 2px solid #000;
}
div.plan_summary table tbody th {
	text-align: left;
	width: 75px;
	border-right: 1px solid #000;
}
div.plan_summary table tbody td {
	font-size: 70%;
	padding-left: 5px;
}

form.reservation, form.review {
	float: left;
	width: 600px;
	font-size: 12px;
	margin: 0 0 20px 15px;
}
form.reservation fieldset, form.review fieldset {
	margin: 5px 0 15px 0;
	padding: 10px;
	border: 1px solid #886622;
	background: #ffffff;
}
form.reservation legend, form.review legend {
	color: #886622;
	padding: 0 5px;
	margin: 0;
}
form.reservation p, form.review p {
	margin: 0 -10px;
	padding: 0 0 5px 15px;
	position: relative;
	clear: both;
}
form#payment.reservation p {
	padding: 5px 10px 5px 15px;
	font-weight: normal;
}
form.reservation label, form.review label {
	display: block;
	float: left;
	height: 100%;
	clear: both;
	font-weight: bold;
	padding: 0;
}
form#payment.reservation label, form.review label {
	padding: 5px 0 0 0;
	width: 200px;
	font-weight: normal;
}
form#confirm.reservation label, form#receipt.reservation label {
	width: 150px;
}
form.reservation input, form.review input {
	vertical-align: top;
}
form.review table {
	text-align: center;
	width: 350px;
	margin: 0 0 5px 0;
	border-bottom: 1px solid #666666;
}
form.review table td {
	padding: 0;
	margin: 0;
}
form.review table label {
	float: none;
	width: 100%;
	height: 100%;
}
form.reservation table label {
	float: none;
	display: inline;
}
form.reservation table#CardImages {
	width: 100%;
	border: none;
	margin: 0 -10px;
	padding: 5px 10px 5px 15px;
}
form.reservation table#CardImages table {
	width: 200px;
	text-align: center;
	border: none;
	padding: 0;
	margin: 0;
}
form.registration {
	float: left;
	width: 300px;
}

form.login {
	float: right;
	width: 250px;
}





div.devNote {
	position: absolute;
	top: 40px;
	right: -300px;
	width: 250px;
	padding: 10px;
	border: 1px dashed #999;
	background: #fff;
}
div.devNote p {
	font-family: monospace;
	font-size: 70%;
	margin: 0;
}
div.devNote p+p {
	margin-top: 1em;
}
div.devNote strong {
	display: block;
	font-size: 150%;
}



body#admin #primary {
	float: right;
	width: 670px;
	margin-top: 20px;
	padding: 0 10px;
}
body#admin #secondary {
	float: left;
	color: #eee;
	width: 230px;
	margin-top: 10px;
	padding-top: 10px;
	background: url('/images/layout/bg/semitrans_black75.png');
	opacity: .8;
}
body#admin #secondary p {
	padding: 0 10px;
}
body#admin #secondary a {
	color: #666;
}
body#admin #secondary h3 {
	font-size: 12pt;
	padding: 5px 10px;
	background: #000;
}
body#admin #secondary ul {
	list-style: none;
	margin: .5em 0;
	padding: 0;
	border-top: 1px solid #444;
}
body#admin #secondary li {
	font-size: 9pt;
	border-bottom: 1px solid #444;
}
body#admin #secondary li a {
	display: block;
	text-decoration: none;
	color: #eee;
	padding: 2px 10px;
}
body#admin #secondary li a:hover {
	background: url('/images/layout/bg/semitrans_black75.png');
}



body#admin table {
	border: 3px solid #666;
	border-collapse: collapse;
	margin: 10px 0;
	background: url('/images/layout/bg/semitrans_charcoal30.png');
}
body#admin table th,
body#admin table td {
	padding: 5px;
}
body#admin table th {
	color: #fff;
	text-align:left;
	background: #333;
}
body#admin table th a {
	color: #fff;
}
body#admin table td {
	border-top: 1px solid #666;
}
body#admin table tr.odd td {
	background: url('/images/layout/bg/semitrans_white75.png');
}

body#admin table.search {
	padding: 10px;
	border-collapse: separate;
}
body#admin table.search td {
	border: none;
	padding: none;
}

body#admin table.schedules {
	font-size: 12px;
}


#primary .info ul {
	font-size: 9pt;
	margin: 0;
	padding: 0;
	padding-left: 0;
	list-style: none;
}
#primary .info ul li {
	margin: 0;
	padding: 0;
	padding-left: 0;
	border-bottom: 1px dotted #999;
}

div.cycle img {
	width: 305px;
	height: auto;
}


body#islands #primary .info table th {
	text-align: left;
}


div.room_summary p {
	margin-top: 0;
	font-size: 9pt;
	font-style: oblique;
	line-height: 100%;
	color: #530;
}
div.description {
	font-size: 10pt;
	line-height: 120%;
	margin-bottom: 1em;
}
div.description p {
	margin-top: .75em;
	margin-bottom: 0;
}
div.description p.more {
	line-height: 100%;
	margin-top: 0;
	text-align: left;
}

/* = Global Flash Message Configuration
================================================== */
#message {
	margin-top: 50px;
	margin-left: 50px;
}

  body#admin #message {
    color: #3a87ad;
    background-color: #d9edf7;
    border: 1px solid #bce8f1;
    padding: 8px 14px;
    margin: 10px 0;
  }
  
  body#admin #message h1,
  body#admin #message div.notice,
  body#admin #message div.error {
    color: #3a87ad;
    background: none;
    height: auto;
    width: auto;
    padding: 0;
    font-weight: 14px;
  }

#message h1 {
	display: block;
	width: 500px;
	height: 42px;
	margin: 0px 0px;
	background: url(/images/notice-top.png) no-repeat top left;
}
#message div.notice, #message div.error {
	font-size: 10pt;
	display: block;
	padding-left: 20px;
	padding-right: 30px;
	padding-top: 5px;
	padding-bottom: 30px;
	width: 450px;
	background: url(/images/notice-bottom.png) no-repeat bottom left;
}
#not_found {
	margin: 40px 20px 20px 20px;
}

/* = Generic Features (assumes placement in island page)
================================================================== */
div.features {
	margin: 1em 0;
}
div.features table {
	font-size: 9pt;
	width: 139px;
	float: left;
	border-collapse: collapse;
}
div.features table.grp1 {
	margin-right: 21px;
}
div.features table th,
div.features table td {
	border-bottom: 1px dotted #530;
}
div.features table th {
	color: #530;
}

/* = Tiny Calendars
================================================== */
div.availability div.calendars {
	font-size: 7.5pt;
	margin: 4px 0;
}
div.availability div.calendars table.first {
	float: left;
}
div.availability div.calendars table.middle {
	float: left;
	margin-left: 4px;
}
div.availability div.calendars table.last {
	padding-left: 4px;
/*	float: right; */
}
div.availability div.calendars th.monthName {
	font-size: 120%;
	font-style: oblique;
	color: #530;
}
div.availability div.calendars th abbr {
	font-size: 12px;
	color: #530;
}
div.availability div.calendars td.day {
	text-align: left;
	vertical-align: top;
	padding: 0 1px;
	width: 35px;
	font-size: 9px;
}
div.availability div.calendars td.otherMonth {
	color: #C96;
	visibility: hidden;
}
div.availability div.calendars td.booked {
	color: #999;
	background: #ddd;
}
div.availability div.calendars span.price {
	font-size: 12px;
	text-align: middle;
	color: #385308;
	font-weight: bold;
}

/* = Slightly-Less-Tiny Calendars
================================================== */
body.unit_availability #primary div.info {
	width: 920px;
}
body.unit_availability div.calendars {
	font-size: 10pt;
}
body.unit_availability div.availability div.calendars table {
	float: left;
	margin: .5em 1em .5em 0;
	height: 150px;
}
body.unit_availability div.availability div.calendars tfoot td, body.unit_availability div.availability div.calendars tfoot {
	height: auto;
	margin: auto;
}
body.unit_availability div.availability div.calendars thead, body.unit_availability div.availability div.calendars thead tr, body.unit_availability div.availability div.calendars thead td, body.unit_availability div.availability div.calendars tbody, body.unit_availability div.availability div.calendars tbody tr, body.unit_availability div.availability div.calendars tbody td {
	height: 30px;
}
body.unit_availability div.availability div.calendars th {
	height: 10px;
}
body.unit_availability div.availability div.calendars td {
	padding: 0 .2em;
}



/* = Specials
================================================== */
div.specials {
	/*border: 3px dotted #530;*/
	/*padding: .25em;*/
	/*background: #C96;*/
}
div.specials h4, div.specials p {
	margin: 0;
}

/* = Rates
================================================== */
div.rates {
	font-size: 12pt;
	margin-bottom: .25em;
}





/* = Fancy Quotes
================================================== */

p.fancy span.open-quote,
p.fancy span.close-quote {
	font-family: Georgia, serif;
	font-size: 300%;
	color: #530;
	line-height: 0;
	vertical-align: bottom;
}
p.fancy span.open-quote {

}
p.fancy span.close-quote {
	padding: 0 0.1em;
}
p.fancy span.name {
	display: block;
	text-align: right;
}
p.fancy span.date {
	display: block;
	text-align: right;
}


/* = Photo Gallery
================================================== */
body#islands.unit_photo_gallery #primary,
body#islands.resort_photos #primary {
	width: 920px;
	float: none;
}
#photo-gallery {
	font-size: 10pt;
	color: #009;
	text-decoration: underline;
}
#photo-gallery .room-title {
	margin: 0.25em 0;
	cursor: pointer;
}
#photo-gallery div.viewer {
	float: right;
}
#photo-gallery div.room div.thumbnails {
	display: none;
}
#photo-gallery div.room div.thumbnails img {
	cursor: pointer;
}
#photo-gallery div.active div.thumbnails {
	display: block;
}



body#islands.unit_details #primary .info,
body#islands.resort_details #primary .info {
	width: 650px;
}




/* = Generic Form Elements
================================================== */

form div.f {
	margin: 0.25em 0;
	clear: both;
}
div.f label {
	display: block;
}
div.check_box label,
div.radio_button label {
	display: inline;
}
form .inline div.f {
	clear: none;
	float: left;
	margin-right: 1em;
}
form fieldset {
	margin: 0;
	padding: 0;
	margin-top: 1em;
	border: none;
}
form fieldset legend {
	font-weight: 700;
}
form fieldset.inline div.error span.message {
	display: block;
}


form div.inline fieldset {
	float: left;
	margin-right: 10px;
}
form div.inline fieldset div.f {
	float: none;
}
form div.error input,
form div.error textarea {
	border-color: #900;
	background-color: #fcc;
}
form div.error label {
	color: #900;
	font-weight: 700;
}
form div.error span.message {
	color: #900;
	font-style: oblique;
	font-size: 90%;
}
form div.check_box label {
	display: inline !important;
}




/* = Contact Form Overrides
================================================== */
body#islands.unit_contact #primary div.info {
	width: 670px !important;
}
body.unit_contact #primary div.main {
	float: left;
	width: 250px;
}
body.unit_contact #primary div.message {
	float: left;
	width: 390px;
}
body.unit_contact #primary div.message textarea {
	width: 100%;
}


/* = Temporary Thickbox
================================================== */
#tb-content {
	display: none;
}


/* = Misc
================================================== */

.light {
	font-weight: 100;
	color: #666666;
}


body#info #primary,
body#account #primary {
	margin: 40px 20px 20px 20px;
}

#reservation_state_prov {width:300px;}

/* = Ajax Tables
================================================== */
#TB_ajaxContent table {
	width: 100%;
	border: 3px solid #333;
	border-collapse: collapse;
}
#TB_ajaxContent table tr.even td {
	background-color: #eee;
}
#TB_ajaxContent table.rates td {
	vertical-align: bottom;
	font-size: 1.2em;
	padding: .2em;
}
#TB_ajaxContent table.rates td span.date_range {
	font-size: .8em;
	font-style: oblique;
}


p.callout {
	margin:0;
	padding:0;
	font-size:12px;
	font-weight:bold;
	line-height:12px;
}

p.callout a {
	color:#45650a;
}

p.callout a:hover {
	text-decoration:none;
}

p.callout img {
	vertical-align:middle;
}


/* Google search results */

div#google_results p {
	margin-top: 10px;
}

/* all specials */

div#all_specials div.featured_condo_item {
	float: left;
	width: 150px;
	margin-top: 20px;
	height: 260px;
}
div#all_specials div.featured_condo_item ul {
	font-size: 14px;
	margin-left: 20px;
}
