/*  calendar calendar table styles  */

.calendar-calendar table {
  border: 1px solid #999;
  border-collapse: collapse;
  border-spacing: 0;
  margin:0 auto;
  width: 100%; /* Setting at 100% causes problem in Internet Explorer. */
}
.calendar-calendar .month-view table {
  border:none;
  padding:0;
  margin:0;
  width:100%;
  }
.mini .calendar-calendar .month-view table {
  border:none;
  padding:0;
  margin:1%;
  width:98%;
  }

.calendar-calendar tr {
  padding: 0;
  margin: 0;
  background: white;
}
.calendar-calendar th {
  color: #fff;
  background: #ccc;
  text-align: center;
  padding:3px;
  margin:0;
}
.calendar-calendar td {
  width: 14%; /* 14% is about 1/7 of total table width */
  border: 1px solid #999;
  color: #777;
  text-align: right;
  vertical-align: top;
  margin: 0;
}
.calendar-calendar td.week {
  width:1%;
  }
.calendar-calendar .inner {
  min-height:5em;
  overflow:hidden;
}
/* hack to make Internet Explorer for Windows display calendar height correctly \*/
* html .calendar-calendar .inner {
  height: 5em;
}
/* end of hack */
  }

.calendar-nav-wrapper, .view-header {
  width:100%;
  clear:both;
  position:relative;
  }

.calendar-nav-wrapper .nav-title {
  width:48%;
  text-align:center;
}
.calendar-calendar .prev {
  text-align: left;
  width:25%;
  }
.calendar-calendar .next {
  text-align: right;
  width:25%;
  }

.calendar-calendar th a {
  font-weight: bold;
  color: #fff;
}
.calendar-calendar td a {
  color: #222244;
  font-weight: bold;
  text-decoration: none;
}
.calendar-calendar td a:hover {
  text-decoration: underline;
}
.calendar-calendar td.sat, .calendar-calendar td.sun {
  background: #eee;
}
.calendar-calendar td.selected {
  background: #99f;
}
.calendar-calendar td.today {
  background: #f99;
}
.calendar-calendar td.year, .calendar-calendar td.month {
  text-align: center;
  border-width: 1px 0px;
}

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

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

/*  calendar node times for the body */
.calendar-nodeapi div {
  color: #000;
  padding: 0.5em 1em 0 0;
}
.calendar-nodeapi div label { color: #999; }

/*  individual node container  */
.calendar-calendar div.calendar {
  background-color: #fff;
  border: solid 1px #555;
  text-align: left;
  margin: 0.25em 0 0.5em 0.25em;
}
.calendar-calendar div.title {
  font-size:.8em;
  text-align:center;
}
.calendar-calendar .monthview .title {
  clear:both;
  text-align:left;
}
.calendar-calendar .dayview .title {
  clear:both;
  text-align:left;
}
.calendar-calendar div.title a {
  color: #000;
}
.calendar-calendar div.title a:hover {
  color: #c00;
}
.calendar-calendar .content {
  clear:both;
  margin: 5px;
  padding: 3px;
  padding-left: 5px;
}
.calendar-calendar div.type {
  margin-left: 5px;
  font-size: 0.8em;
}
.calendar-calendar div.type a {
  color: #00c;
}
.calendar-calendar div.type a:hover {
  color: #c00;
}
.calendar-calendar div.links {
  padding-left: 3px;
}
.calendar-calendar div.links a {
  color: #00c;
}
.calendar-calendar div.links a:hover {
  color: #c00;
}
.calendar-calendar .start {
  clear:both;
  font-style: normal;
  color: #555;
  margin: 2px 0 2px 0;
  padding-left: 3px;
  font-size: 0.8em;
}
.calendar-calendar .end {
  clear:both;
  font-style: normal;
  color: #555;
  margin: 2px 0 2px 0;
  padding-left: 3px;
  font-size: 0.8em;
}
.calendar-calendar .ongoing {
  clear:both;
  font-style: normal;
  color: #555;
  margin: 2px 0 2px 0;
  padding-left: 9px;
  font-size: 0.8em;
}
.calendar-calendar .week {
  clear:both;
  font-style: normal;
  color: #555;
  margin: 2px 0 2px 0;
  font-size: 0.8em;
}
.calendar-calendar .week a {
  font-weight:normal;
}
.calendar-calendar div.info {
  visibility: hidden;
  height: 0px;
  overflow:hidden;
  padding-left: 3px;
}

/*  individual node view styles  */
.calendar-calendar div.monthview .title {
  font-size: 0.8em;
}
.calendar-calendar div.dayview {
  width: auto;
}
.calendar-calendar div.tableview {
  width: auto;
}
.calendar-calendar div.tableview .links {
}
.container-inline .day input {
  width: auto;
  display: inline;
}

/*  multi-day calendar top stripes  */
.calendar .stripe {
  height: 5px;
  line-height:5px;
  font-size:5px;
  visibility:hidden;
}
.calendar .stripe-1 {
  background-color: #FF6;
  height: 5px;
  width: 100%;
}
.calendar .stripe-2 {
  background-color: #F66;
  height: 5px;
  width: 100%;
}
.calendar .stripe-3 {
  background-color: #668CFF;
  height: 5px;
  width: 100%;
}
.calendar .stripe-4 {
  background-color: #FFB366;
  height: 5px;
  width: 100%;
}
.calendar .stripe-5 {
  background-color: #85FF66;
  height: 5px;
  width: 100%;
}
.calendar .stripe-6 {
  background-color: #A666FF;
  height: 5px;
  width: 100%;
}
.calendar .stripe-7 {
  background-color: #FFE066;
  height: 5px;
  width: 100%;
}
.calendar .stripe-8 {
  background-color: #66FFFF;
  height: 5px;
  width: 100%;
}
.calendar .stripe-9 {
  background-color: #FF66D9;
  height: 5px;
  width: 100%;
}
.calendar .stripe-10 {
  background-color: #DDD;
  height: 5px;
  width: 100%;
}

#block-calendar-1 .item-list ul li a {
  margin-top: 8px;
}

span.calendar-timeleft {
  padding-bottom: 3px;
  text-align: right;
  width: auto;
  display: block;
}
span.calendar-nodetype {
  padding: 0px 0px 0px 5px;
  display: block;
  width: auto;
  text-align: right;
  float: right;
}
.ical-link {
  text-align: right;
}
.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;
  }
.mini-day-off {
  padding:0px;
}
.mini-day-on {
  padding:0px;
  background-color:#ffc
}
table .mini-day-on a {
  text-decoration:underline;
  }
.calendar-calendar .mini .title {
  font-size:.8em;
  }
.mini .calendar-calendar .week {
  font-size:.7em;
  }
div.mini-row {
  width:100%;
  clear:left;
}
div.mini {
  width:33%;
  float:left;
  }
div.mini table {
  margin:1%;
  }
.legend {
  width:100%;
  }
table th.legend {
  background-color:#ccc;
  }
.legend td {
  text-align:left;
  }

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