/* Main calendar */

.calendar {                                                            /* Container */
  position: relative;
  display: none;
  border-top: 2px solid #fff;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  border-left: 2px solid #fff;
  background: #EEEEEE;
  color: #000;
  font: 11px trebuchet MS, verdana, arial, tahoma, sans-serif;
  cursor: default;
}

.calendar table {                                                      /* Body */
  border-top: 1px solid #000;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #000;
  background: #EEEEEE;
  color: #000;
  font: 11px trebuchet MS, verdana, arial, tahoma, sans-serif;
  cursor: default;
}

/* Header */

.calendar .button {                                                    /* Navigation buttons */
  text-align: center;
  padding: 1px;
  border-top: 1px solid #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #fff;
  font: 13px trebuchet MS, verdana, arial, tahoma, sans-serif;
}

.calendar .nav {                                                       /* Navigation buttons, arrows */
  background: #EEEEEE;
}

.calendar thead .title {                                               /* TopBar */
  padding: 1px;
  border-top: 1px solid #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #fff;
  background: #555555;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.calendar thead .headrow {                                             /* Row <TR> containing navigation buttons */
}

.calendar thead .daynames {                                            /* Row <TR> containing days */
}

.calendar thead .name {                                                /* DayBar <TD> */
  padding: 2px;
  border-bottom: 1px solid #000;
  background: #BBBBBB;
  text-align: center;
}

.calendar thead .weekend {                                             /* DayBar weekend days */
  color: #f00;
}

.calendar thead .hilite {                                              /* Navigation buttons hover */
  padding: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  border-left: 2px solid #fff;
  background: #BBBBBB;
}

.calendar thead .active {                                              /* Navigation buttons active */
  padding: 2px 0px 0px 2px;                         /* Push 2px down, left */
  border-top: 1px solid #000;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #000;
  background: #BBBBBB;
  color: #fff;
}

/* Body */

.calendar tbody .day {
  width: 2.0em;                                     /* Cell widths <TD> */
  padding: 2px 4px 2px 2px;
  text-align: right;
}

.calendar tbody .day.othermonth {
  font-size: 75%;
  color: #555555;
}

.calendar tbody .day.othermonth.oweekend {
  color: #faa;
}

.calendar table .wn {                                                  /* WeekBar */
  padding: 2px 3px 2px 2px;
  border-right: 1px solid #000;
  background: #BBBBBB;
}

.calendar tbody .rowhilite td.wn {                                     /* WeekBar hover */
  background: #EEEEEE;
}

.calendar tbody .rowhilite td {                                        /* Rows hover */
  background: #BBBBBB;
}

.calendar tbody td.hilite {                                            /* Cells hover <TD> */
  padding: 1px 3px 1px 1px;
  border-top: 1px solid #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #fff;
  background: #BBBBBB;
}

.calendar tbody td.active {                                            /* Cells active <TD> */
  padding: 2px 2px 0px 2px;                         /* Push 1px down, left */
  border-top: 1px solid #000;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #000;
  background: #BBBBBB;
  color: #fff; 
  font-weight: normal;
}

.calendar tbody td.selected {                                          /* Cells selcted */
  padding: 2px 2px 0px 2px;                         /* Push 1px down, left */
  border-top: 1px solid #000;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #000;
  background: #BBBBBB;
  font-weight: bold;
}

.calendar tbody td.weekend {                                           /* Body weekend days */
  color: #f00;
}

.calendar tbody td.weekend.active {                                    /* Body weekend days active */
  color: #fff;
}

.calendar tbody td.today {                                             /* Today */
  color: #00f;
  font-weight: bold;
}

.calendar tbody .disabled {                                            /* Disabled cells */
  color: #999999;
  background: #EEEEEE;
}

.calendar tbody .emptycell {                        /* Hide empty cells */
  visibility: hidden;
}

.calendar tbody .emptyrow {                         /* Empty rows */
  display: none;
}

/* Footer */

.calendar tfoot .footrow {                          /* The <TR> in footer (just one) */
}

.calendar tfoot .ttip {                                                /* BottomBar <TD> */  
  padding: 1px;
  border-top: 1px solid #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #fff;
  background: #555555;
  color: #fff;
  text-align: center;
}

.calendar tfoot .hilite {                           /* Navigation buttons hover */
  padding: 1px;
  border-top: 1px solid #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #fff;
  background: #BBBBBB;
}

.calendar tfoot .active {                           /* Navigation buttons active */  
  padding: 2px 2px 0px 2px;                         /* Push 1px down, left */
  border-top: 1px solid #000;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #000;
  background: #BBBBBB;
  color: #fff; 
  font-weight: normal;
}

/* Combination boxes */

.calendar .combo {
  display: none;
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  padding: 1px;
  width: 4.0em;
  border-top: 1px solid #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #fff;
  background: #BBBBBB;
  font-size: 90%;
  cursor: default; 
}

.calendar .combo .label,
.calendar .combo .label-IEfix {
  padding: 1px;
  text-align: center;
}

.calendar .combo .label-IEfix {
  width: 4.0em;
}

.calendar .combo .active {
  padding: 0;
  border-top: 1px solid #000;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #000;
  background: #BBBBBB;
}

.calendar .combo .hilite {
  background: #555555;
  color: #EEEEEE;
}

.calendar td.time {                                                    /* TimeBar */
  padding: 1px 0px;
  border-top: 1px solid #000;
  background: #BBBBBB;
  text-align: center;
}

.calendar td.time .hour,                                               /* Time display */
.calendar td.time .minute,
.calendar td.time .ampm {
  padding: 0px 3px 0px 4px;
  border: 1px solid #000;
  background: #EEEEEE;
  font-weight: normal;
}

.calendar td.time .ampm {
  text-align: center;
}

.calendar td.time .colon {
  padding: 0px 2px 0px 3px;
  font-weight: bold;
}

.calendar td.time span.hilite {                                        /* Time display hover */
  border-color: #000;
  background: #BBBBBB;
  color: #000;
}

.calendar td.time span.active {                                        /* Time display active */
  border-color: #000;
  background: #BBBBBB;
  color: #fff;
}