table#calendar { border: 2px solid black; margin: 12px 6px; padding: 2px; }

table#calendar a {text-decoration: none;}

tr#days th {width: 12%;}
tr#days th.sat {width: 14%;}
tr#days th.sun {width: 18%;}                        

table#calendar tr#days th {color: #CCE; background-color: #557;
   font-weight: bold; text-align: center;
   padding: 1px 0.33em;}
   
table#calendar tr#caltitle th {background: #9CF; color: black;
   border: 1px solid #242; font-size: 120%;}
   
table#calendar td {vertical-align: top; padding: 0;
   border: 1px solid gray; border-width: 0 0 1px 1px; font-size:87%; }  
   
table#calendar td.sat {border-right: 1px solid gray;}

table#calendar a {font-weight: normal; display: block; margin: 0;}

table#calendar td.sat, table#calendar td.sun {background: #DDF;}

table#calendar td.prevmonth, table#calendar td.nextmonth {
   background: #AAC; color: #88A;}
   
table#calendar tr#lastweek td {border-bottom: 2px solid #AAB;}

table#calendar td.calholiday {background: #BBF;}

table#calendar td#caltoday {background-color: #6AF;}

td#caltoday div.date {color: #33C; font-weight: bold; background: #CCF;}

div.calevent {margin: 0.5em;}

div.calevent span {display: block;}

div.calholiday {font-style: italic; font-size: 0.8em; }                              

span.time {font-weight: bold;}

span.loc {color: #555; font-style: italic;}

div.date {float: right; text-align: center;
   border: 1px solid gray; border-width: 0 0 1px 1px;
   padding: 0.125em 0.25em 0 0.25em; margin: 0;
   background: #F3F3F3;}
   
td.sat div.date, td.sun div.date {border-width: 0;
   color: gray; background: transparent;}
   
td.prevmonth div.date, td.nextmonth div.date {border-width: 0;
   color: gray; background: transparent;}