td.nw, th.nw { text-align: left;  vertical-align: top; } /* north-west alignment */
td.ne, th.ne { text-align: right; vertical-align: top; } /* north-east alignment */
td.n,  th.n  { text-align: center; vertical-align: top; } /* north alignment */
td.w, th.w   { text-align: left;  vertical-align: middle; } /* west alignment */
td.e, th.e   { text-align: right; vertical-align: middle; } /* east alignment */
td.c, th.c   { text-align: center; vertical-align: middle; } /* central alignment */
td.sw, th.sw { text-align: left;  vertical-align: bottom; } /* south-west alignment */
td.se, th.se { text-align: right; vertical-align: bottom; } /* south-east alignment */
td.s,  th.s  { text-align: center; vertical-align: bottom; } /* south alignment */
td.wide, th.wide { width: 100%; }
td.nowrap, th.nowrap { white-space: nowrap; }

/* * * * * TABLE LAYOUT * * * * */
table.layout {
	border-collapse: collapse;
	border-style: none;
	margin: 0px;
	padding: 0px;
	empty-cells: show;
}
table.layout > tbody {
	border-style: none;
	margin: 0px;
	padding: 0px;
}
table.layout > tbody > tr {
	border-style: none;
	margin: 0px;
	padding: 0px;
}
table.layout > tbody > tr > td {
	border-style: none;
	margin: 0px;
	padding: 0px;
}

/* * * * * TABLE CHART * * * * */
table.chart {
	border-style: none;
	border-collapse: collapse;
}
table.chart > thead > tr {
	border-bottom: 1px solid #999;
}
table.chart > thead > tr > td {
	margin: 0px;
	padding: 2px;
	border-right: 1px solid #999;
	font-weight: bold;
	white-space: nowrap;
	font-family: sss, sans-serif; font-size: 16px;
}
table.chart > thead > tr > td:last-child {
	border-right-style: none;
}
table.chart > tbody > tr {
	border-bottom: 1px solid #999;
	background-color: transparent;
}
table.chart > tbody > tr:last-child {
	border-bottom-style: none;
}
table.chart > tbody > tr > td {
	margin: 0px;
	padding: 2px;
	border-right: 1px solid #999;
}
table.chart > tbody > tr > td:last-child {
	border-right-style: none;
}
table.chart > tfoot > tr {
	border-top: 1px solid #999;
}
table.chart > tfoot > tr > td {
	margin: 0px;
	padding: 2px;
	border-right: 1px solid #999;
	font-weight: bold;
	white-space: nowrap;
}
table.chart > tfoot > tr > td:last-child {
	border-right-style: none;
}

/* * * * * TABLE MATRIX * * * * */
table.matrix {
	border-style: none;
	border-collapse: collapse;
}
table.matrix > thead > tr {
	border-bottom: 1px solid #999;
}
table.matrix > thead > tr > td {
	margin: 0px;
	padding: 2px;
	border-right: 1px solid #999;
	font-weight: bold;
	white-space: nowrap;
	font-family: sss, sans-serif; font-size: 16px;
}
table.matrix > thead > tr > td:last-child {
	border-right-style: none;
}
table.matrix > tbody > tr {
	border-bottom: 1px solid #999;
	background-color: transparent;
}
table.matrix > tbody > tr:last-child {
	border-bottom-style: none;
}
table.matrix > tbody > tr > td {
	margin: 0px;
	padding: 2px;
	border-right: 1px solid #999;
}
table.matrix > tbody > tr > td:first-child {
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	font-weight: bold;
}
table.matrix > tbody > tr:last-child > td:first-child {
	border-bottom-style: none;
}
table.matrix > tbody > tr > td:last-child {
	border-right-style: none;
}
table.matrix > tfoot > tr {
	border-top: 1px solid #999;
}
table.matrix > tfoot > tr > td {
	margin: 0px;
	padding: 2px;
	border-right: 1px solid #999;
	font-weight: bold;
	white-space: nowrap;
}
table.matrix > tfoot > tr > td:last-child {
	border-right-style: none;
}
