/*
###############################
## WIREFRAME STYLESHEET
###############################
*/

/*#### GENERICS ####*/

div.clear{ clear:both; height: 1%; overflow:hidden;}

/*#### LAYOUT ####*/

body{
	
	margin: 0;
	padding: 0;
	font-size: 100.8%;
	
}

body#login{
	background: #333;
}

div#top_nav{
	
	background: #333;
	color:#fff;
	text-align:right;
	font-size: 85%;
	padding:5px;
	margin:0;
	
}

div#top_nav a:link, div#top_nav a:visited{
	color: #BFCFFF;
	background:#333;
	text-decoration:bottom;
}

div#top_nav a:hover{
	background: #eee;
	color: #333;
} 

div#top_nav p{ margin:0; padding:0;}

div#top_admin_nav{
	
	background: #FF8080;
	color:#000;
	text-align:center;
	font-size: 85%;
	padding:5px;
	margin:0;
	
}

div#top_admin_nav a:link, div#top_admin_nav a:visited{
	color: blue;
	background: #FF8080;
	text-decoration:bottom;
}

div#top_admin_nav a:hover{
	background: #eee;
	color: #000;
} 

div#top_admin_nav p{ margin:0; padding:0;}

div#page{
	/*  */
	width: 85%;
	padding: 1em;
	margin: 0 auto;
}

div#preferences{
	background:#333;
	color:#fff;
}

div#notice{
	
	margin: .5em;
	
}

div#content{
	/*  */
	clear:both;
	border: 1px solid #000;
	border-top: 0;
	padding: 1.5em 1em;
	margin:0;
}

* html div#content {
	margin-top: -1.5em;
}

ul#nav{
	
	float: left;
	width: 100%;
	padding: 10px 0 0 0; margin: 0;
	list-style: none;
	background: #fff;
	background-image: url('../img/nav_bg.gif');
	background-repeat: repeat-x;
	background-position: bottom left;
	
}

ul#nav li{

	float: left;
	margin: 0; padding: 0;
	font-size: 85%;

}

ul#nav li a{
	
	float: left;
	display: block;
	margin: 0 3px 0 0;
	padding: 4px 20px;
	color: #000;
	background: #FFF;
	background-image: url('../img/nav_tab_bg.gif');
	background-position: bottom left;
	background-repeat: repeat-x;
	border: 1px solid #333;
	text-decoration: none;
	
	
}


ul#nav li a:link, ul#nav li a:visited{


	text-transform: uppercase;
	color: #000;
	
}

ul#nav li a:hover, ul#nav li.active a:link, ul#nav li.active a:visited{


	text-transform: uppercase;
	background: #fff;
	color: #000;
	padding-bottom: 4px;
	border-bottom: 1px solid #fff;

}

ul#admin_nav{
	/*  */
	float:right;
	width: 100%;
	list-style-type:none;
	margin:0;padding:0;
	background:#ddd;
}

ul#admin_nav li{
	float:right;
}
ul#admin_nav li a{
	/*  */
	display:block;
	font-size: 80%;
	text-transform:uppercase;
	color: #000;
}


/*++++++++++ SCHEDULE-APPOINTMENT.HTML STYLES ++++++++++*/

div#appointment-times h2{ 
	
	font-family: "Arial"; 
	color: #fff;
	letter-spacing: .5mm;
	font-size: 125%;
	margin: 0;
	background-color: #666;
	padding: .25em .5em;
	
}

div#suggested h3, h3#alternate{
	background: #333;
	color: #fff;
	padding: 5px;
	margin-bottom:0;
}

div.current_month_cal{
	
	float: left;

	margin-left: 10%;
	
}

div.next_month_cal{
	
	float: right;
	margin-right: 10%;

}

div.pick_time{
	
	border: 1px solid #666;
	padding: 1em;
	background: #efefef;
	font-size: 80%;
	margin: 1em;
	color: #000;
	
}

div.current_month_cal h3, div.next_month_cal h3{
	
	font-family: Verdana, Arial, sans-serif; 
	color: #fff;
	letter-spacing: .5mm;
	margin-bottom: 0;
	background-color: #1B7861;
	padding: 10px 10px;
	width: 180px;
	
}

table.cal{
	
	border: 1px solid #666;
	border-width: 1px 0 0 1px;
	font-size: 80%;
	width: 200px;
}

table.cal th{
	
	background: #fff;
	color: #666;
	padding: 5px;
	border: 1px solid #666;
	border-width: 0 1px 1px 0;
	
}

table.cal td{
	
	border: 1px solid #666;
	border-width: 0 1px 1px 0;
	padding: 5px;
	text-align: center;
	background: #fff;
	
}

table.cal td.off{
	
	background: #ccc;
	color: 666;
	
}

div#appointment-times{
	
	width: 60%;
	margin: 0 auto;
	padding: 1em;
	
}

p.date, p.time, p.cal-img, p.schedule{ margin: 10px 20px 10px 0; display: inline; }

p.date{ font-weight: bold; font-size: 90%; }


a.button:link, a.button:visited{ 
	
	background-color: #BFCFFF; 
	border: 2px solid #666; 
	color:blue;
	font-size: 90%; 
	padding: 4px 8px; 
	text-decoration: none;
	font-weight: bold;
	
}

a.button:hover{
	
	background-color: #fff;
	
}

div.appointment-details{
	
	margin: 0 0 1em 0;
	border: 1px solid #666;
	padding: 1em .5em;
	background-color: #fff;
	
}

div.appointment-details p{
	
	clear: left;

	
}

div.appointment-details ul#future-appointments{
	
	margin: 0; padding: 0;
	border: 1px solid #666;
	list-style: none;
	
}

ul#future-appointments li{ display: inline; }

ul#future-appointments li a{
	
	display: block;
	font-size: 80%;
	background: #fff;
	
}

ul#future-appointments li.alt a{

	background: #f5f5f5;

}

ul#future-appointments li a:link, ul#future-appointments li a:visited{
	
	
	display: block;
	padding: 5px 10px;
	text-decoration: none;
	
}

ul#future-appointments li a:hover{
	
	background-color: #666;
	color: #fff;
	
}

div.appointment-details a{
	
	color: #1B7861;
	font-family: Verdana;
	
}

div.appointment-details a:hover{
	
	text-decoration: none;
	
}

/*#### BASIC STYLES ####*/

body{
	font-family: Verdana, Arial, sans-serif;
}

p{ font-size: 85%; }

.not_confirmed{
	border: 2px solid #FF8080;
	background: #FFE6E6;
	padding: 1em;
}

.confirmed{
	border: 2px solid #60BF60;
	background:#E6FFE6;
	padding: 1em;
}

h1, h2, h3, h4 { clear:both;}

h4{
	border-bottom: 2px solid #000;
}

em{ color: red;}

/*#### LINK STYLES ####*/

a:hover{ color: #000; text-decoration: none;}
a:visited{ color: blue; text-decoration:none;background:#eee;}

a img{ border: 0;}

/*#### TABLES ####*/

div.table_shadow{ background: #919191;}

table{
	/*  */
	border: 1px solid #333;
	position:relative;
	top: -3px;
	left: -3px;
	background:#fff;
	width:100%;
	font-size:80%;
}

caption{
	/*  */
	background: #333;
	color: #fff;
	font-weight:bold;
	text-align: left;
	padding: .5em;
	font-family: Arial, Verdana, sans-serif;
	
}

th{
	/*  */
	background: #eee;
	padding: 6px 4px;
	border-bottom: 2px solid #333;
	font-size: 90%;
	text-align: left;
	padding-left: 1em;
}

th a{ color: #000; }

th.manage{
	text-align:center;
	padding:0;
}

td{
	padding: 6px 4px;
	font-size: 90%;
	padding-left: 1em;
}

td.manage{
	/* The edit column */
	text-align:center;
	padding: 0;
}

tr.alt{
	background:#efefef;
}

/*#### CALENDARS ####*/

div#calendars{
	padding: 20px 10px;
	border:1px solid #000;
}

div.calendar_wrapper{
	width: 49%;
	float:left;
	text-align:center;
}

div.calendar_gutter{
	padding:1em;
	text-align:center;
}

table.calendar{
	width:20%;
	border:1px solid #000;
	border-width: 1px 0 0 1px;
	text-align:center;
	margin: 0 auto;
}

table.calendar caption{
	margin: 0 auto;
}

table.calendar th{
	border-right: 1px solid #000;
	text-align:center;
	padding:5px;
	background: #ccc;
	color: #000;
}

table.calendar td{
	border: 1px solid #000;
	border-width: 0 1px 1px 0;
	color: #999;
	background: #efefef;
	font-style: italic;
	padding:5px;
}

table.calendar td.available{
	color: #000;
	background: #BFCFFF;
	font-style:normal;
	font-weight:bold;

}

p#key span{ background: #BFCFFF; padding:5px;}

div#single_date_wrapper{
	
	border: 2px solid #000;
	background: #efefef;
	padding: 1em;
	
}

/*#### INFORMATIONAL DLs ####*/

dl.info_display{ 
	
	font-size: 80%;
	
}

dl.info_display input.text, dl.info_display select{
	margin:-5px 0 0 0;padding:2px;
}

dl.info_display input.required{
	margin:-5px 0 0 0;padding:2px;
	border:1px solid #f00;
}


dl.info_display dt{ 

	width: 20%; 
	background: #eee;
	font-weight:bold;
	padding: 5px;
	margin:0 0 2px 0;
	float:left;
	clear:both;
	border-right: 2px solid #ccc;
	text-align:right;
	
}

dl.info_display dt.req{
	background:#FFE6E6;
	border-right:2px solid #FF8080;
}

dl.info_display dd{
	padding: 5px;
	margin:0;
	vertical-align: middle;
	display:block;
	float:left;
	width: 70%;
}

dl p{ margin:0; padding:0; clear:both;}



/*#### FORM STUFF ####*/

fieldset{
	/*  */
	border: 1px solid #ccc;
	margin-top:1em;
	
}

legend{
	/*  */
	padding: 6px;
	border: 1px solid #ccc;
	background: #eee;
	font-weight:bold;
	font-size: 90%;
}

span strong{
	color: #f00;
	padding-left:5px;
}

form#login_form{
	width: 450px;
	padding:1em;
	border: 5px solid #bbb;
	background: #eee;
	margin: 25% auto 0 auto;
	
}

form#login_form p.field{
	margin: 10px;
	clear:both;
}

form#login_form p label{ 
	text-align:right; 
	width: 100px; 
	float:left;
	margin:3px 10px 0 4px;
}

form#login_form input.text{
	margin: 4px;
	float:left;
	width: 225px;
}

form#login_form p.button{
	margin-top: 1em;
	margin-left: 125px;
}

form#login_form p.button input{
	width: 250px;
}

div.error{
	border: 1px solid #BF3030;
	background:#FFE6E6;
	padding: 5px;
}

div.success{
	border: 1px solid #30BF30;
	background:#E6FFE6;
	padding: 5px;
}

span.alert{
	padding: 0 5px;
	font-weight:bold;
	color:red;
}

/*
###############################
## A BUNCH OF IE HACKS ALL IN ONE PLACE
###############################
*/
