table#calendar_header {width: 100%; margin: 1em auto; font-size: 120%;}

div#lastmonth {float: left; margin-top: 0px; width: 25%;}
div#calendarkey {float: left; margin-top:40px; width: 49%}
div#nextmonth {float: right; margin-top: 0px; width: 25%;}

// div#nextmonth table, div#lastmonth table, div#calendarkey table {margin: 0 auto;}

table {
       border-collapse: collapse;
       margin: 10px auto;
       }

.caption {
       font-weight: bold;
       color: #fff;
       padding: .2em .8em;
       background: #33f;
       }

th, td {
       padding: .2em .8em;
       border: 1px solid #00f;
       }

table#calendar_key {width: 400px; font-size: 80%;}
table#calendar_key td {width: 45%;}
table#calendar_key td.icon {width: 5%; text-align: center;}


table.small_calendar {width: 150px; font-size: 80%;}
table.small_calendar thead {
       color: #ccf; background-color: #66f; 
       font-weight: bold; text-align: center;
       }
table.small_calendar th.s_c_sat, table.small_calendar th.s_c_sun {background: #88f;}
table.small_calendar td {text-align: center; font-weight: normal}
table.small_calendar td {background: #55f; color: #eef}
table.small_calendar td.s_c_sat, table.small_calendar td.s_c_sun {background: #77f;}
table.small_calendar td.s_c_mprev, table.small_calendar td.s_c_mnext {background: #44f;}
table.small_calendar td.holiday {background: #6ff;}

table#calendar {clear: both; width: 95%; font-size: 80%;}
table#calendar tr.empty {height: 5em;}

table#calendar tr#title th {background: #33f; color: #000; font-size: 140%;}
table#calendar tr#title a {font-weight: bold; color: #000; font-size: 150%;}
table#calendar tr#title a:hover {color: #fff;}

table#calendar tr#days th {
                       width: 13%; color: #ccf; background-color: #66f;
                       font-weight: bold; text-align: center; padding: 1px 0.33em;
                       }
table#calendar tr#days th.sat, table#calendar tr#days th.sun {background-color: #966;}

table#calendar td {background: #fff; color: #33f; vertical-align: top; padding: 0px;}
table#calendar td.sat, table#calendar td.sun {background: #fcc;}

table#calendar td.mprev, table#calendar td.mnext {background: #eee; color: #666;}
table#calendar td.mprevsat, table#calendar td.mnextsat, table#calendar td.mprevsun, table#calendar td.mnextsun {
          background: #edd; color: #666;}

table#calendar td.holiday {background: #cfc;}

div.event, div.meet, div.holiday {padding: 1px;}

div.event span, div.meet span, div.holiday span {display: block;}

div.holiday {font-style: italic;}

table#calendar td span.time {font-weight: bold; font-size: 90%;}

span.loc {font-style: italic;}

div.date {
          border-left:1px solid #99f; border-bottom:1px solid #99f; float: right; 
          text-align: center; margin: 0; 
          background: #ccf; color: #009; width: 1.7em;}
td.sat div.date, td.sun div.date {
          border-left:1px solid #f99; border-bottom:1px solid #f99; float: right; 
          background: #fcc; color: #900;}
td.mprev div.date, td.mnext div.date {
          border-left:1px solid #ccf; border-bottom:1px solid #ccf; float: right; 
          background: #eef; color: #99c;}
td.mprevsat div.date, td.mnextsat div.date, td.mnextsun div.date {
          border-left:1px solid #fcc; border-bottom:1px solid #fcc; float: right; 
          background: #fee; color: #c99;}