/* global
----------------------------------------------- */
body {
background: #fff url(bg.gif) no-repeat fixed top left;
font-family: verdana, helvetica, arial, sans-serif;
margin: 0 20px 0 20px;
color: #333;
}

td {
vertical-align: top;
}

/* layout
----------------------------------------------- */
#container {
position: relative;
background: url(header.jpg) no-repeat top left;
margin: 0 auto -1px auto;
padding-top: 144px;
width: 760px;
border-bottom: 5px solid #285165;
}

#pageSubTitle {
vertical-align: top;
font-size: 12px;
}

p.location {
margin-top: 2px;
}

#detailMenuCell {
width: 120px;
background-color:#D8E0E3;
}

#pageHeader {
display: none;
}

#quickSummary {
width: 100%;
text-align: right;
}

#quickSummary p.p1 {
display: none;
}

#quickSummary p.p2 {
margin-top: 0;
padding-right: 5px;
margin-bottom: 10px;
}

#preamble {
margin: 0px 0 0 0px;
width: 100%;
}

/*main page*/
#listprop {
font-size: 9px;
color: #999;
}

.vpimage a:link img, .vpimage a:visited img {
border-color: #999;
}
.vpimage a:hover img, .vpimage a:active img {
border-color: #333;
}

.locationtitle {
font-size: 16px;
color: black;
font-weight: bold;
font-family: verdana, helvetica, arial, sans-serif;
}

.locationtitle a, .locationtitle a:link, .locationtitle a:visited {
color: #000;
}

.locationtitle a:hover {
color: #141414;
}

.locationcity {
font-size: 12px;
color: #999;
font-family: verdana, helvetica, arial, sans-serif;
}

.locationblurb {
font-size: 12px;
color: #000000;
font-family: verdana, helvetica, arial, sans-serif;
}

table.vplisting {
width: 760px;
padding: 0px;
/* did you mean border-collapse: collapse; instead of cellspacing here?*/
background-color: #F3F3F3;
margin-bottom: 8px;
}

#proplist h3 {
background: transparent url(choose.gif) no-repeat top left;
width: 760px;
height: 26px;
margin-bottom: 0px;
}

#proplist td {
vertical-align: top;
}
/*main page*/

#explanation, #participation, #benefits, #requirements {
margin: 25px 0 0 176px;
width: 529px;
}

#footer {
margin: 0 0 5px 0;
padding: 10px 0 0 0;
width: 100%;
text-align: right;
}

#linkList {
width: 120px;
top: 185px;
left: 0px;
}

#maindetailtable {
width: 760px;
}

#propertytitle {
font-weight: bold;
font-size: 17px;
width: 633px;
background-color: #D8E0E3;
vertical-align: top;
}

/* gallery
--------------------------------- */
.pictures {
padding: 10px;
margin: 6px;
border: 1px solid #285165;
background: #D8E0E3;
float: left;
}
.pictures a:link img, .pictures a:visited img {
border-color: #999;
}
.pictures a:hover img, .pictures a:active img {
border-color: #333;
}

/* weather styles
--------------------------------- */
#weathercondition {
    width: 100%;
    font-weight: bold;
    font-size: 17px;
    border: 4px solid #EFEFEF;
}

#weathercondition td {
    background-color: #EFEFEF;
    text-align: left;
}

#weathercondition td.weatherImage {
    width: 60px;
}

#weathercondition td.weathertitle {
    text-align: left;
    font-weight: bold;
    font-family: verdana, helvetica, arial, sans-serif;
    background-color: #A6C7D9;
}

#currentweather {
    width: 100%;
    margin-bottom: 20px;
    border: 4px solid #EFEFEF;
}

#currentweather td {
    background-color: #EFEFEF;
    text-align: left;
}

#currentweather td.weatherImage {
    width: 100px;
}

#currentweather td.weatherdata {
    text-align: left;
    font-weight: bold;
    font-family: verdana, helvetica, arial, sans-serif;
    background-color: #C7DCE7;
}

#futureweather {
    width: 100%;
    border: 4px solid #EFEFEF;
}

#futureweather td {
    background-color: #EFEFEF;
    text-align: left;
}

#futureweather td.weatherImage {
    width: 60px;
}

#futureweather td.data {
    text-align: left;
    vertical-align: middle;
    background-color: #C7DCE7;
}


/* calendar styles
--------------------------------- */
p.current_step {
    margin-bottom: 2px;
}
p.instructions {
    margin: 2px;
    margin-bottom: 10px;
    padding: 1px;
    font-size: small;
    border: 1px dashed red;
}
.calendar {
    border: 2px solid black;
    font-size: small;
    margin-bottom: 15px;
}
.calendar th {
    background-color: #DDDDDD;
    border: 1px solid black;
}
.calendar .calDay {
    border: none;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    padding-right: 2px;
    text-align: right;
    display: block;
    width: 18px;
    height: 18px;
    background-color: #EEEEEE;
    font-weight: bold;
    margin-bottom: 35px;
    position: absolute;
    top: 0px;
    left: 0px;
}
.calendar .calText {
    text-align: right;
    display: block;
    position: absolute;
    bottom: 0px;
    right: 0px;
}
.calendar td {
    border: 1px solid black;
    padding: 0px;
    cursor: default;
}
table.calendar td div.calDayWrap {
    width: 75px;
    height: 75px;
    padding: 0px;
    position: relative;
    vertical-align: top;
}
.calendar td.empty {
    border: 1px dotted #CCCCCC;
    background-color: transparent;
}
.calendar td.available-hover {
    background-color: #DDFFDD;
    border-color: #007F00;
    cursor: pointer;
}

div.calTitle {
    float: left;
    font-weight: bold;
}
div.calKey {
    width: 555px;
    margin-bottom: 2px;
    text-align: right;
    height: 20px;
}
div.calKey span.available,
div.calKey span.pending,
div.calKey span.reserved {
    border: 1px solid black;
    width: 20px;
    height: 20px;
    padding: 0px;
    margin: 1px;
    line-height: 18px;
}
.available {
    background-color: transparent;
}
.available-available {
    background-image: url('calendar/available-available.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.available-pending {
    background-image: url('calendar/available-reserved.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.available-reserved {
    background-image: url('calendar/available-reserved.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.pending {
    background-color: #5F9BBD;
}
.pending-available {
    background-image: url('calendar/reserved-available.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.pending-pending {
    background-image: url('calendar/reserved-reserved.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.pending-reserved {
    background-image: url('calendar/reserved-reserved.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.reserved {
    background-color: #5F9BBD;
}
.reserved-available {
    background-image: url('calendar/reserved-available.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.reserved-pending {
    background-image: url('calendar/reserved-reserved.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.reserved-reserved {
    background-image: url('calendar/reserved-reserved.gif');
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
}
.calendar td.now {
    border-color: #FF8844;
}
table.calendar td.fade div.calDayWrap {
    background-image: url('fade.gif');
    color: #999999;
}

.calendar td.fade span.calDay {
    border-right: 1px solid #999999;
    border-bottom: 1px solid #999999;
}

.invalid {
    background-image: url('fade.gif');
    color: #999999;
}
.start {
    background-color: #AAFFAA;
    border: 1px solid red;
}
.endDay {
    background-color: #E7CDC7;
}

/* text
----------------------------------------------- */
table.invoice {
    width: 100%;
    border: 2px solid black;
    margin-bottom: 10px;
    border-collapse: collapse;
}
table.invoice th {
    background-color: #DDD;
    border-bottom: 2px solid black;
}
table.invoice td {
    border-bottom: 1px solid #999999;
    padding-left: 4px;
    padding-right: 4px;
}
table.invoice td.item {
    text-align: left;
}
table.invoice td.price {
    text-align: right;
}
table.invoice tr.average {
    font-weight: bold;
    border-top: 2px solid black;
}
table.invoice tr.total {
    font-weight: bold;
    border-bottom: none;
}
table.invoice td.billLine {
    text-align: right;
    width: 80%;
}
table.invoice .highlight {
    border: 1px solid black;
    font-weight: bold;
    font-style: italic;
}


#customerForm {
    border: 1px solid black;
    width: 100%;
    font-size: small;
}
#customerForm th {
    background-color: #DDD;
    border-bottom: 1px solid black;
}

#customerDisplay {
    border: 1px solid black;
    width: 100%;
    margin-bottom: 10px;
    font-size: small;
}
#customerDisplay th {
    background-color: #DDD;
    border-bottom: 1px solid black;
}
#customerDisplay .noteCell {
    padding-left: 20px;
    text-indent: -20px;
}

/* text
----------------------------------------------- */
p {
font-size: 12px;
}

#preamble p.p1, #supportingText p.p1 {
margin-top: 10px;
}

#preamble p, #supportingText p {
line-height: 18px;
}

#quickSummary p.p2 {
font-size: 12px;
color: #333333;
}

#footer {
font-size: 9px;
}

/* lists
----------------------------------------------- */
#linkList ul {
font-size: 10px;
list-style:none;
margin: 5px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}

#linkList ul li {
background: url(bullet_double.gif) no-repeat 5px 2px;
margin: 0px;
padding: 0px 0px 0px 17px;
border: 1px solid #D8E0E3;
line-height: 16px;
}

#linkList #lselect a:link, #linkList #lselect a:visited { display: block; }
#linkList #lselect a.c:link, #linkList #lselect a.c:visited { display:inline; }

#larchives li, #lresources li { text-transform: lowercase; }


/* links
----------------------------------------------- */
a, a:link, a:visited {
color: #999;
}

a:hover {
color: #333;
}

#quickSummary a, #quickSummary a:link, #quickSummary a:visited {
font-weight: bold;
text-transform: uppercase;
text-decoration: none;
}

#quickSummary a:hover {
text-decoration: underline;
}

#linkList a, #linkList a:link, #linkList a:visited {
color: #1F1F1F;
text-decoration: none;
}

#linkList a:hover {
text-decoration: underline;
color: #333;
}

#linkList a.c, #linkList a.c:link, #linkList a.c:visited {
color: #999;
text-decoration: none;
}

#linkList a.c:hover {
text-decoration: underline;
color: #333;
}

#linkList #lselect a {
font-size: 16px;
}

#linkList #lselect a.c {
font-size: 9px;
text-transform: lowercase;
}

#footer a, #footer a:link, #footer a:visited {
font-weight: bold;
text-transform: uppercase;
text-decoration: none;
color: #E9E9E9;
}

#footer a:hover {
text-decoration: underline;
}


/* headings
----------------------------------------------- */
h3 { margin-bottom: 0px; }

h3 span { display: none; }

#supportingText h3 {
width: 529px;
height: 15px;
}

#linkList h3 {
width: 150px;
height: 20px;
margin-top: 20px;
}

#preamble h3 {
background: transparent url(h3_theroadtoenlightenment.gif) no-repeat top left;
width: 529px;
height: 26px;
}

#explanation h3 {
background: transparent url(h3_sowhatisthisabout.gif) no-repeat top left;
}

#participation h3 {
background: transparent url(h3_participation.gif) no-repeat top left;
}

#benefits h3 {
background: transparent url(h3_benefits.gif) no-repeat top left;
}

#requirements h3 {
background: transparent url(h3_requirements.gif) no-repeat top left;
}

#lselect h3 {
background: transparent url(h3_selectadesign.gif) no-repeat top left;
width: 120px;
margin-top: 10px;
}

#lfavorites h3 {
background: transparent url(h3_favorites.gif) no-repeat top left;
}

#larchives h3 {
background: transparent url(h3_archives.gif) no-repeat top left;
}

#lresources h3 {
background: transparent url(h3_resources.gif) no-repeat top left;
}

p.attributes {
    font-weight: bold;
    margin-bottom: 0px;
}
ul.attributes {
    margin: 0px;
}

/* Reserve Now Link in Menu */
a.reservenow {
font-weight: bold;
display: block;
margin-top: 5px;
margin-bottom: 5px;
text-align: center;
font-size: 14px;
}
a.reservenow:hover {
color: red;
}


/* misc
--------------------------------- */
acronym { border-width: 0; }

.success {
    color: green;
}

/* forms
--------------------------------- */
input.error {
    border: 1px solid red;
}
input.date {
    width: 70px;
    text-align: right;
}
input.money {
    width: 68px;
    text-align: right;
}


p.month_selection {font-size: 16px;}