#body, #nav, #footer {
	border-left: 0 !important;
}

#main {
	width: 55em;
}
#article {
	width:36em;
}

/* Info tables (usually contact info, etc.) */
table.info {
	border-collapse:collapse;
	font: .8em verdana;
}
table.info td {
	border: 1px solid gray;
	padding: .1em .3em;
	vertical-align:top;
}
table.info caption {
	font: 1.2em verdana bold;
	margin-top:1em;
	margin-bottom: .2em;
}

/* Image tables (for adding captions to images) */
table.image caption {
	font-weight:bold;
	margin:0;
	padding:0;
	padding-top:1em;
}
table.image, table.image td {
	padding:0;
	margin:0;
}
	
/* Admin buttons */
.adminbutton {
	float:left;
	width: 8em;
	margin: .5em !important;
}
.adminbutton .i3 {
	text-align: center;
	height:7em;
}
.adminbutton img {
	height: 64px;
}

/* Calendars */
table.calendar {
	border-collapse: collapse;
}
	
table.calendar td {
	width: 80px;
	height: 55px;
	vertical-align: top;
	border: 1px solid black;
	padding: 0 0 0 2px;
	font-family: verdana;
	font-size: .8em;
}

table.calendar td.future {
	background-color: gray;
}

table.calendar td.details {
	background-color: #fefefe;
}
	
table.calendar tr.header td {
	height: 0;
	text-align: center;
	font-weight: bold;
}

table.calendar td div.month {
	float: right;
	border-left: 1px solid black;
	border-bottom: 1px solid black;
	font-size: 8pt;
	font-family: verdana;
	background-color: #F7FA00;
	padding-left: 2px;
	padding-right: 2px;
}

table.calendar td div.content {
	float: right;
	width: 100%;
}
	
table.calendar td div.day {
	float: right;
	border-left: 1px solid black;
	border-bottom: 1px solid black;
	background-color: #E7EA00;
	font-size: 8pt;
	font-family: verdana;
	padding-left: 2px;
	padding-right: 2px;
}

table.calendar caption {
	font-family: verdana;
	font-size: 12pt;
	font-weight: bold;
}

/*
Reports
*/	
.report caption {
	font-size: 1.1em;
	font-weight:bold;
	font-family: arial;
}

table.report, .report table {
	border-collapse: collapse;
}

div.report {
	margin-bottom:1em;
}

.report td, .report th {
	padding: .1em .3em;
}
.report tr:hover {
	background-color:#e0e0ff !important;
}	
.report td {
	border: 1px solid gray;
	margin:0;
	font-family: verdana;
	font-size: .8em;
	background-color: white;
}
.report td input, .report td select {
	margin: -.08em 0;
}	
.report .highlight td {
	background-color: #f5f5ff;
}

.report .payment td {
	background-color: #ccffcc;
}

.report .pending td {
	background-color: #ffffcc;
}	

.report tr.group td, .report tr.group:hover td {
	font-weight: bold;
	color:white;
	background-color: #000099;
}	

/*
Cell alignment in tables by data type
*/
.report .center {
	text-align: center;
}	
.report .text, .report .date {
	text-align:left;
}
.report .number, .report .money {
	text-align:right;
}

/*
Reports
*/
.report select {
	width:auto;
	margin: .2em 1em .2em 0;
	vertical-align:middle;
}

.report .emptyreport {
	text-align: center !important;
	font-size: 1.5em;
	font-weight: bold;
	padding: .5em;
}

.report th {
	border: 2px solid #777777;
	background-color:#eaeaff;
	font:1em arial bold;
}

.report th a {
	text-decoration:none;
}	
.report th.sortable {
	background: #eaeaff 4px 50% no-repeat !important;
	padding:0;
}	
.report th.sortable a {
	display:block;
	margin:0;
	padding: .1em .3em .1em 24px;
}
.report th.asc {
	background-image: url(/images/uparrow_gray.jpg) !important;
}
.report th.desc {
	background-image: url(/images/downarrow_gray.jpg) !important;
}
.report th.asc.current {
	background-image: url(/images/uparrow.jpg) !important;
}
.report th.desc.current {
	background-image: url(/images/downarrow.jpg) !important;
}
