.cal {
  font-size: smaller;
  color: #000000;
  background-color: #ffffff;
  border-width: 0px;
  border-color: #000000;
}
.cal caption {
  text-align: left;
  font-weight: bold;
  font-style: inherit;
  font-size: smaller;
}

.cal thead th {
  text-align: center;
  font-weight: bold;
  font-style: inherit;
}

.cal td {
  width: 28px;
  height: 28px;
  text-align: center;
  vertical-align: middle;
}

/* Whole days, -pm states are IE6 fallback: IE6 does not display split states: show PM state as whole day state */
.calav > span, .calav-pm > span {
  background-color: #90ee90;
}

.calna > span, .calna-pm > span {
  background-color: #ffb6c1;
}

.calopt > span, .calopt-pm > span {
  background-color: #ffffe0;
}

/* Split days */
.cal td > span {
  display: block;
  position: relative;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  vertical-align: middle;
  z-index: 1;
}

.cal td > span > span {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-style: solid;
  width: 0;
  height: 0;
  border-left-width: 14px;
  border-top-width: 14px;
  border-right-width: 14px;
  border-bottom-width: 14px;
}

.calav-am > span > span, .calav > span > span {
  border-left-color: #90ee90;
  border-top-color: #90ee90;
}

.calav-pm > span > span, .calav > span > span {
  border-right-color: #90ee90;
  border-bottom-color: #90ee90;
}

.calna-am > span > span, .calna > span > span {
  border-left-color: #ffb6c1;
  border-top-color: #ffb6c1;
}

.calna-pm > span > span, .calna > span > span {
  border-right-color: #ffb6c1;
  border-bottom-color: #ffb6c1;
}

.calopt-am > span > span, .calopt > span > span {
  border-left-color: #ffffe0;
  border-top-color: #ffffe0;
}

.calopt-pm > span > span, .calopt > span > span {
  border-right-color: #ffffe0;
  border-bottom-color: #ffffe0;
}

td.calweeknote {
  width: 90px;
}

