/***** START GENERIC CODE *****/
body { margin: 0; padding: 0; font:x-small/1.5em arial, "lucida console", sans-serif;
       voice-family: "\"}\""; voice-family:inherit; font-size:small; }
.clearing { clear: both; height: 1px; line-height: 1px; width: 1px; }
#container { margin: 2.5em; padding: 1.5em; }
a:link, a:visited, a:active { font-weight:bold; }
a:hover { text-decoration: none; }
form { margin: 0; padding: 0.5em 0; }
h1 { margin: 0; font-size: 1.2em; text-align: center; padding: 0; }
h3 { margin: 0; padding: 0; font-size: 1em; }
.info, .error { padding: 1em; margin: 1em; }
.error { border: 1px #9b2626 solid; background: #fbe8e8 url('../images/error.png') top left no-repeat; }
.info  { border: 1px #888888 solid; background: #e0e0e0 url('../images/info.png') top left no-repeat; }
.req { color: red; font-weight: bold; padding-left: 0.5em;  }
.key { border: 1px #888 solid; background-color: #eee; float: right; padding: 0.5em; }
.noborder { border:none; }
.available { background-color: #c4eac4; }
.not_avail { background-color: #e5bbbb; }
span.available, span.not_avail, span.weekend { border: 1px #555 solid; }
/*****  END GENERIC CODE  *****/

/***** START BOX CODE *****/
.box { border: 0; }
.top, .inner_top { padding: 0; height: 50px;}
h2 { margin: 0; font-size: 1.2em; text-align: center; margin-left: 35px; padding-right: 35px; padding-top: 15px; height: 35px; }
.bottom  { height: 21px; padding: 0; margin: 0 18px; }
.box_content { padding: 2em; text-align: center; } 
.box_content li { width: 17.5em; }
#tools { padding-top: 0; }
/*****  END BOX CODE  *****/

/***** START SUB-BOX CODE *****/
.box_list a:hover { text-decoration: none; }
.box_sub_list li a:hover { text-decoration: none; }
.box_sub_list { padding: 0; margin: 0; width: 150px; }
ul.box_sub_list { list-style-position: inside; list-style-type: none; }
.box_sub_list li { padding: 3px 0 5px 3px; margin: 0; background-image: none; font-weight: normal; line-height: 0.8em; text-align: left; width: auto; }
.sub_list_bottom { height: 15px; width: 150px; }
/*****  END SUB-BOX CODE  *****/

/***** START SPECIFIC BOX CODE *****/
#main  { margin-left: 230px; }
#main .box_content { margin: 2em; margin-top: 0; }
#small { width: 217px; font-size: 0.8em; float: left; }
#login { width: 400px; }
#help h3 { border-top: 1px dotted #ccc; margin: 2em 0 0 0; }
.help_index { list-style: none; }
/*****  END SPECIFIC BOX CODE  *****/

/**** START HOME AREA CODE ****/
#home td { vertical-align: top; }
#home table { border-collapse: separate; }
#home td div { border: 1px #bbb solid; border-right: 0; border-bottom: 0; text-align: left; background-color: #eee; padding: 0.5em; margin: 0.5em; }
#home td.empty div { border: 0; background-color: transparent; }
.cal_bullet { list-style-image: url('../images/bullet.gif'); list-style-position: inside; }
.cal_bullet li { vertical-align: middle; padding-left: 0.25em; }
a[title="help"], .help { float:right; }
/****  END HOME AREA CODE  ****/

/**** START STANDARD FORM CODE ****/
form label { font-size: 0.8em; font-weight: bold;  color: #555}
form input, form.std_layout select { border: 1px #555 solid; background-color: #eee; }
/****  END STANDARD FORM CODE  ****/

/**** START CALENDAR CODE ****/
#calendar .nav { list-style-type: none; margin: 0.5em 0; padding: 0;  }
#calendar .nav li { display: inline; margin: 0; padding: 0; white-space: nowrap; }

table.daily { border-collapse: separate; border-spacing: 0; }
table.daily td { padding: 0 0.5em 0.5em; text-align:left; }
table.daily td a.date, table.daily td span.date { margin: 0; padding: 0; font-size: 0.8em; }

table.monthly { margin: 0; padding: 0; border: 0; border-spacing: 0.5em; border-collapse: separate; }
table.monthly td { margin: 0; padding: 0; }
table.monthly td h3 { padding: 0 0 0 0.25em; margin: 0; }
table.monthly td p { padding: 0 0 0 0.25em;  margin: 0; }

form.exclude input[type="submit"] { border: 1px #555 solid; }
table.exclude { border-collapse: separate; border-spacing: 0; }
table.exclude td { border: 1px #ccc solid; padding: 0.25em; text-align: center; padding-top: 0; vertical-align: top; font-size: 0.8em}
/****  END CALENDAR CODE  ****/

/*** START AVAILABILITY CODE ***/
table.rules { border: 1px #555 solid;  }
table.rules td, table.rules th { border: 0; text-align: left; border-right: 1px solid #ccc; padding: 0.25em; }
table.rules th { border-bottom: 1px solid #ccc; }
table.rules .day { font-size: 0.6em; }
/***  END AVAILABILITY CODE  ***/

/*** START BOOKING TABLE CODE ***/
table.hiddenTable { display: none;   }
table.hiddenTable { display: block;   }
table.shownTable { display: block; position: absolute; }
table.shownTable, table.hiddenTable  { background-color: #eee; font-size: 0.6em; border: 1px #ccc solid; }
table.shownTable, table.hiddenTable, table.shownTable tr, table.hiddenTable tr, table.shownTable td table.hiddenTable td{ margin: 0; padding: 0; }

table.datepicker { float: right; border: 1px #ccc solid; font-size: 0.9em; }
table.datepicker td { border-right: 1px solid #ccc; }
table.datepicker tr.bg { background-color: #ddd; }
/**** END BOOKING TABLE CODE ****/
