html {
	background-color: white;
}

body {
	width: 500px;
	margin: auto;
}

table {
	width: 500px;
	border: 2px black dotted;	
}

td:first-child {
	text-align: center;
}

table th {
	border-bottom: 2px black dotted;
}
th, td {
	border: 2px black dotted;
}

figure {
	width: 500px; 
	margin: auto;
}

figcaption {
	font-weight: bold;
	text-align: center;
	font-size: 132%;
	padding-top: .7em;
	padding-bottom: .5em;
}

table.sorted {
	border: 2px blue solid;
	border-collapse: collapse;
}

table.sorted th {
	border-bottom: 2px blue solid;
	background-color: lightgray;
}

table.sorted th, table.sorted td {
	border-right: 2px solid blue;
}

table.sorted tr, table.sorted tb {
	border: 2px solid blue;
}

table.sorted tr:nth-child(odd) {
	background-color: lightgray;
}

table.grouped {
	border: 2px black solid;
	border-collapse: collapse;
}

table.grouped th {
	border-bottom: 2px black solid;
	background-color: lightblue;
}
table.grouped tr {
	text-align: center;
}

table.grouped td {
	border: 2px black solid;
}

table.grouped th {
	border: 2px black solid;
}

table.grouped td:nth-child(4) {
	text-align: right;
	font-weight: bold;
	background-color: white;
	vertical-align: top;
	font-size: 1.25em;
}

table.grouped tr:nth-child(odd) {
	background-color: lightgray;
}
table.grouped td:nth-child(3) {
	background-color: white;
}