table.cf_grid {
	border: 1px solid silver;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 1em auto;
	width:100%;
}
table.cf_grid > caption {
	font-size: 0.85em;
	text-align: left;
	padding-bottom: 6px;
}
table.cf_grid > thead { display: table-header-group; }
table.cf_grid > thead > tr { vertical-align: bottom; }
table.cf_grid > thead > tr > th {
	background-color: #eeeeee;
	border: 1px solid silver;
	padding: 0;
	text-align: left;
	white-space: nowrap;
}
table.cf_grid > thead > tr > th.center { text-align: center; }
table.cf_grid > thead > tr > th.colgroup {
	border-left: 3px double silver;
	border-right: 3px double silver;
	text-align: center;
}
table.cf_grid > thead > tr > th.groupby {
	background-color: transparent;
	border: 0;
}
table.cf_grid > thead > tr > th.group_col { }
table.cf_grid > thead > tr > th.group_left { border-left: 3px double silver; }
table.cf_grid > thead > tr > th.group_right { border-right: 3px double silver; }
table.cf_grid > thead > tr > th.monospace { }
table.cf_grid > thead > tr > th.nowrap { }
table.cf_grid > thead > tr > th.right { text-align: right; }
table.cf_grid > thead > tr > th.sort_asc {
	background-image: url("../images/sort-asc.png");
	background-position: 100% 50%;
	background-repeat: no-repeat;
}
table.cf_grid > thead > tr > th.sort_desc {
	background-image: url("../images/sort-desc.png");
	background-position: 100% 50%;
	background-repeat: no-repeat;
}
table.cf_grid > thead > tr > th.sort_undef {
	background-image: url("../images/sort-undef.png");
	background-position: 100% 50%;
	background-repeat: no-repeat;
}
table.cf_grid > thead > tr > th > a, table.cf_grid > thead > tr > th > span {
	color: black;
	display: block;
	margin: 0;
	padding: 2px 5px;
	text-decoration: none;
}
table.cf_grid > thead > tr > th.sort_asc > a, table.cf_grid > thead > tr > th.sort_desc > a, table.cf_grid > thead > tr > th.sort_undef > a, table.cf_grid > thead > tr > th.sort_asc > span, table.cf_grid > thead > tr > th.sort_desc > span, table.cf_grid > thead > tr > th.sort_undef > span { padding: 2px 16px 2px 5px; }
table.cf_grid > tbody { 
	display: table-body-group;
	font-size: 14px;
	/*font-size: 0.9em;*/
}
table.cf_grid > tbody > tr { vertical-align: top; }
table.cf_grid > tbody > tr.even { background-color: #eeeeee; }
table.cf_grid > tbody > tr.odd { }
table.cf_grid > tbody > tr:hover { background-color: #ffffcc; }
table.cf_grid > tbody > tr.group:hover { background-color: transparent; }
table.cf_grid > tbody > tr.summary:hover { background-color: transparent; }
table.cf_grid > tbody > tr > td {
	border: 1px solid silver;
	padding: 2px 5px;
	text-align: left;
}
table.cf_grid > tbody > tr > td.center { text-align: center; }
table.cf_grid > tbody > tr > td.groupby { border-right: 1px dotted silver; }
table.cf_grid > tbody > tr > td.group_left { }
table.cf_grid > tbody > tr > td.group_right { }
table.cf_grid > tbody > tr > td.monospace { font-family: monospace; }
table.cf_grid > tbody > tr > td.nowrap { white-space: nowrap; }
table.cf_grid > tbody > tr > td.right { text-align: right; }
table.cf_grid > tbody > tr > td > p {
	margin-bottom: 0;
	margin-top: 1em;
}
table.cf_grid > tbody > tr > td > p:first-child { }
table.cf_grid > tbody > tr.group > th {
	background: #eeeeee;
	border-bottom: 1px solid silver;
	padding-top: 0.5em;
}
table.cf_grid > tfoot { display: table-footer-group; }
table.cf_grid > tfoot > tr { vertical-align: top; }
table.cf_grid > tfoot > tr > td {
	border-top: 3px double silver;
	padding: 2px 5px;
	text-align: left;
}
table.cf_grid > tfoot > tr > td.center { text-align: center; }
table.cf_grid > tfoot > tr > td.groupby { border: 0; }
table.cf_grid > tfoot > tr > td.monospace { font-style: monospace; }
table.cf_grid > tfoot > tr > td.nowrap { white-space: nowrap; }
table.cf_grid > tfoot > tr > td.right { text-align: right; }
