table.calendar {
  border-collapse: collapse;
  border: 1px solid #999999;
}

table.calendar th {
  margin: 0;
  border: 1px solid #999999;
  padding: 8px;
  background-color: #cccccc;
  font-weight: 700;
  text-align: center;
}

table.calendar tbody {
  vertical-align: top;
}

table.calendar td {
  margin: 0;
  border: 1px solid #999999;
  padding: 8px;
  text-align: center;
}

table.calendar td p {
  margin-top: 0;
  margin-bottom: 8px;
}

table.calendar td p.date {
  padding: 0;
}

table.calendar td p:last-of-type {
  margin-bottom: 0;
}

table.calendar td p.date {
  font-size: 10px;
  font-weight: 700;
  color: #999999;
}

table.calendar td p.task {
  text-align: left;
  font-size: 13px;
  line-height: 1.5em;
  padding-left: 19px;
  text-indent: -19px;
}

table.calendar td.weekend,
table.calendar td.holiday {
  background-color: #eeeeee;
}

table.calendar td {
  width: 18%;
}

table.calendar td.weekend {
  width: 5%;
}

table.calendar td.day {
  width: 10%;
}

table.calendar td.task {
  width: 90%;
}

table.calendar td.task p.task {
  padding-left: 0;
  text-indent: 0;
}
