table.calendar {
width:100%;
}

table.calendar td {
  vertical-align:top;
  border: 1px solid #ccc;
  border-width: 1px 1px 0 0;
  height: 100px;
}

table.calendar td.today {
  background-color: #FFFFCC;
}

table.calendar .day_label,
table.calendar td.otherMonth {
  font-size: 10px;
  padding: .25em;
}

table.calendar td.otherMonth {
  color: #999;
}

table.calendar th {
  font-size: 24px;
  padding-bottom: 1em;
  vertical-align: middle;
}

table.calendar th a {
  text-decoration: none;
}

table.calendar th.monthName {
  text-align: center;
}

table.calendar th.previousMonth { text-align: right; }
table.calendar th.nextMonth { text-align: left; }

table.calendar tr.dayName th {
  padding-bottom: 0;
  font-size: 12px;
}

table.calendar td a {
  color: #fff;
  display: block;
  font-size: 11px;
  font-weight: bold;
  margin-bottom: 1px;
  padding: 2px .5em;
  text-decoration: none;
}

table.calendar .event a {
  background-color: #666666;
  color: #fff;
}

table.calendar .task a {
  background-color: purple;
  color:#fff;
}

table.calendar .appointment a {
  background-color: #cc0000;
  color:#fff;
}

table.calendar .show a {
  background-color: #005fae;
  color:#fff;
}
