.calendar {
  border-left: 1px solid #CCC; }

.calendar th {
  text-align: center;
  color: #FFF; }

.calendar .month_names th {
  background-color: #222;
  font-size: 15px; }

.calendar .day_names th {
  background-color: #444;
  width: 14%; }

.calendar td {
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  height: 100px;
  vertical-align: top; }

.calendar .day-number {
  float: right;
  padding: 3px; }

.calendar .otherMonth {
  color: #CCC; }

.calendar .event {
  background-color: #3a498c;
  color: #FFF;
  display: block;
  padding: 4px;
  float: left;
  width: 95%;
  margin: 2px 2px;
  font-size: 11px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px; }

.event a, .event a:link, .event a:visited, .event a:active {
  color: #FFF; }

.event a:hover {
  color: #D9D9D9; }

.calendar .event.series, .calendar .event.exception-in-series {
  background-image: url(series.gif);
  background-repeat: no-repeat;
  background-position: 97% 5px; }

.calendar .event.exception-in-series {
  background-image: url(series_exception.gif); }

.calendar th.previous a, .calendar th.previous a:link, .calendar th.previous a:visited, .calendar th.previous a:active, .calendar th.next a, .calendar th.next a:link, .calendar th.next a:visited, .calendar th.next a:active {
  color: #FFF;
  font-size: 11px; }

.calendar .menu-item {
  display: block;
  float: left;
  width: 85%;
  font-size: 11px;
  margin: 2px 5px; }

.calendar-list td {
  border-bottom: 1px solid #CCC; }

.calendar-list .event a, .calendar-list .event a:link, .calendar-list .event a:visited, .calendar-list .event a:active {
  color: #333; }

.calendar-list .event a:hover {
  color: #D9D9D9; }
