

  /*
    =================================================
    The main calendar widget (div containing a table)
    =================================================
  */

  div.calendar {
    position: relative;
  }

  .calendar {
    border: 2px solid #302a22;
    background: #ffffff;
    cursor: default;
  }

  .calendar table {
    border-collapse: separate;
  }



  /*
    =======================================================
    Header part (contains navigation buttons and day names)
    =======================================================
  */

  .calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
    text-align: center; /* they are the navigation buttons */
    padding: 2px 2px 2px 2px; /* make the buttons seem like they're pressing */
  }

  .calendar .nav div {
    font-size: 120%;
  }

  .calendar thead .title { /* this holds the current "month, year" */
    font-weight: bold; /* pressing it will take you to the current date */
    text-align: center;
    background: #ffffff;
    color: #302a22;
    padding: 2px;
  }

  .calendar thead .headrow { /* row <tr> containing navigation buttons */
    background: #302a22;
  }

  .calendar thead .headrow div {
    color: #ffffff;
  }

  .calendar thead .daynames { /* row <tr> containing the day names */
    background: #c2b39f;
  }

  .calendar thead .name { /* cells <td> containing the day names */
    border-bottom: 1px solid #302a22;
    padding: 2px;
    text-align: center;
    color: #302a22;
  }

  .calendar thead .weekend { /* how a weekend day name shows in header */
    color: #ffffff;
  }

  .calendar thead .hilite { /* how do the buttons in header appear when hover */

  }

  .calendar thead .active { /* active (pressed) buttons in header */
    padding: 2px 0px 0px 2px;
  }


  /*
    ==============================================
    The body part (contains all the days in month)
    ==============================================
  */

  .calendar tbody .day { /* cells <td> containing month days dates */
    width: 2em;
    color: #302a22;
    text-align: right;
    padding: 2px 4px 2px 2px;
  }

  .calendar tbody .day.othermonth {
    font-size: 80%;
    color: #bbbbbb;
  }

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

  .calendar table .wn {
    padding: 2px 3px 2px 2px;
    border-right: 1px solid #302a22;
    background: #c2b39f;
  }

  .calendar tbody .rowhilite td {

  }

  .calendar tbody .rowhilite td.wn {
    background: #ffffff;
  }

  .calendar tbody td.hilite { /* hovered cells <td> */
    background: #f2eadf;
    padding: 1px 3px 1px 1px;
    border: 1px solid #ffffff;
  }

  .calendar tbody td.active { /* active (pressed) cells <td> */
    color: #ffffff;
    background: #663c3c;
    padding: 2px 2px 0px 2px;
  }

  .calendar tbody td.selected { /* cell showing today date */
    border: 1px solid #302a22;
    padding: 1px 3px 1px 1px;
    background: #ffffff;
    color: #302a22;
  }

  .calendar tbody td.weekend { /* cells showing weekend days */

  }

  .calendar tbody td.today { /* cell showing selected date */
    color: #ffffff;
    font-weight: bold;
    background: #302a22;
  }

  .calendar tbody .disabled {
    color: #999999;
  }

  .calendar tbody .emptycell { /* empty cells (the best is to hide them) */
    visibility: hidden;
  }

  .calendar tbody .emptyrow { /* empty row (some months need less than 6 rows) */
    display: none;
  }


  /*
    ===============================================
    The footer part (status bar and "Close" button)
    ===============================================
  */

  .calendar tfoot .footrow { /* the <tr> in footer (only one right now) */
    text-align: center;
    background: #302a22;
    color: #ffffff;
  }

  .calendar tfoot .ttip { /* tooltip (status bar) cell <td> */
    background: #ffffff;
    color: #302a22;
    border-top: 1px solid #302a22;
    padding: 2px;
    text-align: center;
  }

  .calendar tfoot .hilite { /* hover style for buttons in footer */
    background: #ffffff;
    border: 1px solid #302a22;
    color: #302a22;
    padding: 1px;
  }

  .calendar tfoot .active { /* active (pressed) style for buttons in footer */
    background: #302a22;
    padding: 2px 0px 0px 2px;
  }


  /*
    ==================================================================
    Combo boxes (menus that display months/years for direct selection)
    ==================================================================
  */

  .calendar .combo {
    position: absolute;
    display: none;
    top: 0px;
    left: 0px;
    width: 4em;
    cursor: default;
    border: 1px solid #302a22;
    background: #f2eadf;
    color: #302a22;
    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: #c2b39f;
  }

  .calendar .combo .active {
    border-top: 1px solid #46a;
    border-bottom: 1px solid #46a;
    background: #ffffff;
    font-weight: bold;
  }

  .calendar td.time {
    border-top: 1px solid #302a22;
    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: #302a22;
    background-color: #667;
    color: #ffffff;
  }

  .calendar td.time span.active {
    border-color: #f00;
    background-color: #302a22;
    color: #0f0;
  }

  .disallowed {
    text-decoration: line-through;
  }


  /*
    =============
    Custom styles
    =============
  */

  img.icon_dateselect {
    cursor: pointer;
    vertical-align: middle;
    margin: 0px 0px 0px 3px;
  }
  
  img.icon_dateclear {
    cursor: pointer;
    vertical-align: middle;
    margin: 0px 0px 0px 3px;
  }
  