.calendar {
  width: 100%;
  margin-bottom: .5em;
}

tr.month_name th {
  position: relative;
  padding: .2em 0;
  font-size: 125%;
  text-align: center;
}
tr.month_name th span {
  color: #999;
}
tr.month_name th #prev {
  position: absolute;
  left: 0;
}
tr.month_name th #next {
  position: absolute;
  right: 0;
}

tr.day_name th {
  width: 20%;
  padding: .3em 0 .1em;
  border-bottom: 1px solid #adbbdd;
  background-color: #c3d9ff;
  color: #112abb;
  font-size: 90%;
  text-align: center;
}

td.day,
td.other_month {
  position: relative;
  height: 6em;
  border: 1px solid #cde;
  vertical-align: top;
  overflow: hidden;
}

td.day span,
td.day img {
  display: block;
  padding: .2em;
}
td.day img {
  clear: right;
  float: right;
  margin-right: .2em;
}

td.day span.day {
  background-color: #e8eef7;
  color: #333;
  font-weight: bold;
}
td.day span.disabled {
  color: #999;
  font-weight: normal;
}
td.day span.selected {
  background-color: #ff9;
  font-weight: normal;
}
td.day span.day a {
  font-weight: normal;
}