/*  calendar calendar table styles  */
.calendar-calendar tr.odd, .calendar-calendar tr.even {
  background-color:#fff;
}
.calendar-calendar table {
  border-collapse: collapse;
  border-spacing: 0;
  margin:0 auto;
  padding:0;
  width: 100%; /* Setting at 100% causes problem in Internet Explorer. */
}
.calendar-calendar .month-view table {
  border:none;
  padding:0;
  margin:0;
  width:100%;
}

  /* IE needs a little help to get the side by side tables to the right size */
.calendar-calendar .year-view td {
  width:32%;
  padding:1px;
  border:none;
}

.calendar-calendar .year-view td table td {
  width:13%;
  padding:0;
}

.calendar-calendar tr {
  padding: 0;
  margin: 0;
  background-color: white;
}
.calendar-calendar th {
  color: #fff;
  background-color: #ccc;
  text-align: center;
  margin:0;
}
.calendar-calendar th a {
  font-weight: bold;
  color: #fff;
  background-color: #ccc;
}
.calendar-calendar td {
  width: 13%; /* 14% is about 1/7 of total table width */
  min-width: 13%;
  border: 1px solid #999;
  color: #777;
  text-align: right;
  vertical-align: top;
  margin: 0;
  padding:0;
}
/* simplify the mini calendar by removing borders */
.calendar-calendar .mini {
  border:none;
 }

/* format for the week number in the first cell */
.calendar-calendar td.week {
  width:1%;
  min-width:1%;
  }
.calendar-calendar .week {
  clear:both;
  font-style: normal;
  color: #555;
  font-size: 0.8em;
}
.calendar-calendar .week a {
  font-weight:normal;
}

/* IE6 does not support min-height, using Min-Height fast hack from http://www.dustindiaz.com/min-height-fast-hack */
.calendar-calendar .inner {
  min-height:5em;
  height:auto !important;
  height:5em;
  padding:0;
  margin:0;
}
.calendar-calendar .inner div {
  padding:0;
  margin:0;
}

.calendar-calendar .calendar-nav {
  width:100%;
  display:relative;
}
.calendar-calendar .calendar-nav div.prev {
  text-align: left;
  width:24%;
  float:left;
}
.calendar-calendar .calendar-nav div.next {
  text-align: right;
  width:24%;
  float:right;
}
.calendar-calendar .calendar-nav div.heading {
  text-align:center;
  width:50%;
  float:left;
}
.calendar-calendar td a {
  font-weight: bold;
  text-decoration: none;
}
.calendar-calendar td a:hover {
  text-decoration: underline;
}
.calendar-calendar td.year, 
.calendar-calendar td.month {
  text-align: center;
}

/* format days of the week header cells */
.calendar-calendar th.days {
  color: #ccc;
  background-color: #224;
  text-align: center;
  padding:1px;
  margin:0;
 }

/*  floating day number div  */
.calendar-calendar div.day {
  float: right;
  text-align: center;
  padding: 0.125em 0.25em 0 0.25em;
  margin: 0;
  background-color: #f3f3f3;
  border: 1px solid gray;
  border-width: 0 0 1px 1px;
  clear:both;
}

/*  individual node container  */
.calendar-calendar div.calendar {
  background-color: #fff;
  border: solid 1px #ddd;
  text-align: left;
  padding:0;
  width: 96%;
  float:right; /* needed to keep IE from hiding the floating day number */
  clear:both;
}
/* No floating of day view content because there is no floating day number */
.calendar-calendar .day-view div.calendar {
  float:none;
  width:98%;
  margin:1% 1% 0 1%;
}

.calendar-calendar div.title {
  font-size:.8em;
  text-align:center;
}

.calendar-calendar div.title a {
  color: #000;
}
.calendar-calendar div.title a:hover {
  color: #c00;
}
.calendar-calendar .content {
  clear:both;
  padding: 3px;
  padding-left: 5px;
}
.calendar div.form-item {
  white-space: normal;
}

table td.mini, 
table th.mini, 
table.mini td.week {
  padding:0 1px 0 0;
  margin:0;
  }
table td.mini a {
  font-weight:normal;
  }
.calendar-calendar .mini-day-off {
  padding:0px;
}
.calendar-calendar .mini-day-on {
  padding:0px;
}
table .mini-day-on a {
  text-decoration:underline;
  }
.calendar-calendar .mini .title {
  font-size:.8em;
  }
.mini .calendar-calendar .week {
  font-size:.7em;
  }
.mini-row {
  width:100%;
  border:none;
}
.mini{
  width:32%;
  vertical-align:top;
  }

/* formatting for the legend stripe and block */
.calendar .stripe {
  height: 5px;
  width: 100%;
  font-size:1px;
  line-height:1px;
}
.calendar .legend .stripe {
  height:14px;
  font-size:12px;
  line-height:12px;
}
 .legend table {
  width:100%;
  margin:0;
  padding:0;
}
table th.legend {
  background-color:#ccc;
}
.legend td {
  text-align:left;
}

.calendar-empty {
  font-size:1px;
  line-height:1px;
}

/* the popup date selector for jumping to a new date */
.calendar-date-select {
  text-align:right;
  float:right;
  width:25%;
}
.calendar-date-select div, 
.calendar-date-select input, 
.calendar-date-select label {
  text-align:right;
  padding:0;
  margin:0;
  float:right;
}

.calendar-label {
  font-weight:bold;
  display:block;
  clear:both;
}

/* background colors for the calendar cells */
.calendar-calendar td, 
.calendar-calendar td a {
  color: #222244;
  background-color: #fff;
}
.calendar-calendar td.sat, 
.calendar-calendar td.sun {
  color: #222244;
  background-color: #eee;
}
.calendar-calendar td.sat a, 
.calendar-calendar td.sun a {
  color: #222244;
  background-color: #eee;
}
.calendar-calendar td .mini-day-on {
  color: #222244;
  background-color:#ffc;
}
.calendar-calendar td .mini-day-on a {
  color: #222244;
  background-color:#ffc;
}

/* Set this last to override other styles, 'today' takes precedence over all */
.calendar-calendar td.today, 
.calendar-calendar td.today .mini-day-on {
  color: #222244;
  background-color: #ffcccc;
}
.calendar-calendar td.today a, 
.calendar-calendar td.today .mini-day-on a {
  color: #222244;
  background-color: #ffcccc;
}

/* Not used by default, but available for themeing */
.calendar-calendar td.past {
}
.calendar-calendar td.future {
}

/* The inner 'node' displayed in the full month view */
.calendar-calendar td .inner div,
.calendar-calendar td .inner div a {
  background-color:#fff;
  color:000;
}