The completed CSS:
h2 {
  font-family: Georgia, serif;
  font-weight: normal;
  margin: 1em 0 0 0;
  text-align: center;
}
table {
  border-collapse: collapse;
  font-family: sans-serif;
  font-size: .8em;
  margin: auto;
  text-align: center;
}
th, td {
  width: 3em;
  height: 3em;
}
th {
  font-weight: normal;
}
td {
  border: 1px solid #CCCCCC;
}
td.today {
  background: #809FFF;
  font-weight: bold;
}
tr.thisweek {
  background: #FFFFBF;
}
h2 {
  font-family: Georgia, serif;
  font-weight: normal;
  margin: 1em 0 0 0;
  text-align: center;
}
table {
  border-collapse: collapse;
  font-family: sans-serif;
  font-size: .8em;
  margin: auto;
  text-align: center;
}
th, td {
  width: 3em;
  height: 3em;
}
th {
  font-weight: normal;
}
td {
  border: 1px solid #CCCCCC;
}
td.today {
  background: #809FFF;
  font-weight: bold;
}
tr.thisweek {
  background: #FFFFBF;
}| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 
| 8 | 9 | 10 | 11 | 12 | 13 | 14 | 
| 15 | 16 | 17 | 18 | 19 | 20 | 21 | 
| 22 | 23 | 24 | 25 | 26 | 27 | 28 | 
| 29 | 30 | 
| Su | Mo | Tu | We | Th | Fr | Sa | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 | 
| 13 | 14 | 15 | 16 | 17 | 18 | 19 | 
| 20 | 21 | 22 | 23 | 24 | 25 | 26 | 
| 27 | 28 | 29 | 30 | 31 |