div.calendar{position:relative;}
.calendar, .calendar table{
border:1px solid #556;
font-size:11px;
color:#000;
cursor:default;
background:#ffffff;
font-family:tahoma,verdana,sans-serif;
}
.calendar .button{
text-align:center;
padding:2px;
}
.calendar thead .title{
font-weight:normal;
text-align:center;
background:#ffffff;
color:#445566;
padding:2px;
height:18px;
}
.calendar thead .headrow{
background:#6e8dcc;
color:#ffffff; 
}
.calendar thead .daynames{
background:#f5f5f5;
}
.calendar thead .name{
border-bottom:1px solid #556;
padding:2px;
text-align:center;
color:#000;
}
.calendar thead .weekend{
color:#a66;
}
.calendar thead .hilite{
border:1px solid white;
padding:1px;
}
.calendar thead .active{
background-color:#f5f5f5;
padding:2px 0px 0px 2px;
color:#445566;
}
.calendar tbody .day{
width:2em;
color:#456;
text-align:right;
padding:2px 4px 2px 2px;
}
.calendar tbody .day.othermonth{
font-size:80%;
color:#bbb;
}
.calendar tbody .day.othermonth.oweekend{
color:#fbb;
}
.calendar table .wn{
padding:2px 3px 2px 2px;
border-right:1px solid #000;
background:#F7F7EF;
}
.calendar tbody .rowhilite td{
background:#f5f5f5;
}
.calendar tbody .rowhilite td.wn{
background:#F7F7EF;
}
.calendar tbody td.hilite{
background:#f5f5f5;
padding:1px 3px 1px 1px;
border:1px solid #bbb;
}
.calendar tbody td.active{
background:#cde;
padding:2px 2px 0px 2px;
}
.calendar tbody td.selected{
font-weight:bold;
border:1px solid #000;
padding:1px 3px 1px 1px;
background:#fff;
color:#000;
}
.calendar tbody td.weekend{
color:#a66;
}
.calendar tbody td.today{
font-weight:bold;
color:#004990;
}
.calendar tbody .disabled{color:#999;}
.calendar tbody .emptycell{
visibility:hidden;
}
.calendar tbody .emptyrow{
display:none;
}
.calendar tfoot .footrow{
text-align:center;
background:#556;
color:#fff;
}
.calendar tfoot .ttip{
background:#fff;
color:#445;
border-top:1px solid #556;
padding:1px;
}
.calendar tfoot .hilite{
background:#ffffff;
border:1px solid #AD6563;
color:#000;
padding:1px;
}
.calendar tfoot .active{
background:#77c;
padding:2px 0px 0px 2px;
}
.calendar .combo{
position:absolute;
display:none;
top:0px;
left:0px;
width:4em;
cursor:default;
border:1px solid #655;
background:#f5f5f5;
color:#000;
font-size:90%;
z-index:100;
}
.calendar .combo .label,
.calendar .combo .label-IEfix{
text-align:center;
padding:1px;
}
.calendar .combo .label-IEfix{
width:4em;
}
.calendar .combo .hilite{
background:#54bce3;
}
.calendar .combo .active{
border:1px solid #54bce3;
font-weight:bold;
}
.calendar td.time{
border-top:1px solid #000;
padding:1px 0px;
text-align:center;
background-color:#f4f0e8;
}
.calendar td.time .hour,
.calendar td.time .minute,
.calendar td.time .ampm{
padding:0px 3px 0px 4px;
border:1px solid #889;
font-weight:bold;
background-color:#fff;
}
.calendar td.time .ampm{
text-align:center;
}
.calendar td.time .colon{
padding:0px 2px 0px 3px;
font-weight:bold;
}
.calendar td.time span.hilite{
border-color:#000;
background-color:#667;
color:#fff;
}
.calendar td.time span.active{
border-color:#f00;
background-color:#000;
color:#0f0;
}