/**
 * 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 {
  text-align: center;
  margin: 0;
}
.calendar-calendar th a {
  font-weight: bold;
}
.calendar-calendar td {
  width: 14%;
  border: 1px solid #ccc;
  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;
}

/**
 * IE6 does not support min-height, using Min-Height fast hack from http://www.dustindiaz.com/min-height-fast-hack
 */
.calendar-calendar .inner {
  height: auto !important;
  height: 5em;
  padding: 0;
  margin: 0;
}
.calendar-calendar .inner div {
  padding: 0;
  margin: 0;
}
/**
 * Make sure paragraphs buried in calendar cells use padding, not margins, for separation so the background color doesn't come through.
 */
.calendar-calendar .inner p {
  padding: 0 0 .8em 0;
  margin: 0;
}
.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;
  width: 1.5em;
}

/**
 * individual node container
 */
.calendar-calendar div.calendar {
  background-color: #fff;
  border: solid 1px #ddd;
  text-align: left;
  margin: 0 .25em .25em 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-calendar .stripe {
  height: 5px;
  width: auto;
  font-size:1px !important;
  line-height:1px !important;
}
.calendar-calendar .day-view .stripe {
  width: 100%;
}
table.calendar-legend {
  background-color: #ccc;
  width: 100%;
  margin: 0;
  padding: 0;
}
table.calendar-legend tr.odd .stripe,
table.calendar-legend tr.even .stripe {
  height: 12px !important;
  font-size: 9px !important;
  line-height: 10px !important;
}
.calendar-legend td {
  text-align: left;
  padding-left: 5px;
}

.calendar-empty {
  font-size: 1px;
  line-height: 1px;
}

/**
 * formatting for the full day view
 */
.calendar-calendar td.calendar-agenda-hour {
  text-align: right;
  border: none;
  border-top: 1px solid #CCCCCC;
  padding-top: .25em;
  width: 1%;
}
.calendar-calendar td.calendar-agenda-no-hours {
  min-width: 1%;
}
.calendar-calendar td.calendar-agenda-hour .calendar-hour {
  font-size: 1.2em;
  font-weight: bold;
}
.calendar-calendar td.calendar-agenda-hour .calendar-ampm {
  font-size: 1em;
}
.calendar-calendar td.calendar-agenda-items {
  border: 1px solid #CCCCCC;
  text-align: left;
}
.calendar-calendar td.calendar-agenda-items div.calendar {
  width: auto;
  padding: .25em;
  margin: 0;
}
.calendar-calendar div.calendar div.inner .calendar-agenda-empty {
  width: 100%;
  text-align: center;
  vertical-align: middle;
  padding: 1em 0;
  background-color: #fff;
}

/**
 * the popup date selector for jumping to a new date
 */
.calendar-date-select form {
  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;
  clear: both;
}
.calendar-date-select .description {
  float: right;
}
.calendar-label {
  font-weight: bold;
  display: block;
  clear: both;
}

.calendar-calendar div.date-nav {
  background-color: #ccc;
  color: #777;
  padding: 0.2em;
  width: auto;
  border: 1px solid #ccc;
}
.calendar-calendar div.date-nav a,
.calendar-calendar div.date-nav h3 {
  color: #777;
  text-decoration: none;
}
.calendar-calendar th.days {
  background-color: #eee;
  color: #777;
  font-weight: bold;
  border: 1px solid #ccc;
}
.calendar-calendar td.empty {
  background: #ccc;
  border-color: #ccc;
  color: #cc9;
}
.calendar-calendar table.mini td.empty {
  background: #fff;
  border-color: #fff;
}
.calendar-calendar td div.day {
  border: 1px solid #ccc;
  border-top: none;
  border-right: none;
  margin-bottom: 2px;
}
.calendar-calendar td .inner div,
.calendar-calendar td .inner div a {
  background: #eee;
}

/**
 * Set small font size for all items in calendar div, themes can override this.
 * Use x-small instead of em to avoid multiplying effect in nested items.
 */
.calendar-calendar div.calendar {
  border: none;
  font-size: x-small;
}
.calendar-calendar td .inner div.calendar div,
.calendar-calendar td .inner div.calendar div a {
  border: none;
  background: #ffc;
  padding: 0;
}
.calendar-calendar td .inner div.calendar div.calendar-more,
.calendar-calendar td .inner div.calendar div.calendar-more a {
  color: #444;
  background: #fff;
  text-align: right;
}
.calendar-calendar td .inner .view-field,
.calendar-calendar td .inner .view-field a {
  color: #444;
  font-weight: normal;
}

.calendar-calendar td span.date-display-single,
.calendar-calendar td span.date-display-start,
.calendar-calendar td span.date-display-end,
.calendar-calendar td span.date-display-separator {
  font-weight: bold;
}
.calendar-calendar td .inner div.day a {
  color: #4b85ac;
}
.calendar-calendar tr td.today,
.calendar-calendar tr.odd td.today,
.calendar-calendar tr.even td.today {
  background-color: #C3D6E4;
}
.calendar-calendar td .inner div.calendar div div.view-data-node-data-field-date-field-date-value {
}

/**
 * The following are not used by default but are available for themes
 */
.calendar-calendar td.past {}
.calendar-calendar td.future {}
.calendar-calendar td.has-events {}
.calendar-calendar td.has-no-events {}

/**
 * Multi day styles
 */
.calendar-calendar tbody {
  border-top: none;
}

.calendar-calendar .month-view .full .inner,
.calendar-calendar .week-view .full .multi-day .inner {
  height: auto;
  min-height: auto;
}
.calendar-calendar .week-view .full .calendar-agenda-hour
.calendar-calendar .month-view .full .single-day .inner .view-item {
  float: left;
  width: 100%;
}

.calendar-calendar .week-view .full .calendar-agenda-hour,
.calendar-calendar .day-view .full .calendar-agenda-hour {
  padding-right: 2px;
}

.calendar-calendar .week-view .full .calendar-agenda-hour {
  width: 6%;
  min-width: 0px;
}

.calendar-calendar .week-view .full .days {
  width: 13%;
}

.calendar-calendar .month-view .full div.calendar,
.calendar-calendar .week-view .full div.calendar,
.calendar-calendar .day-view div.calendar {
  width: auto;
}

.calendar-calendar .month-view .full tr.date-box,
.calendar-calendar .month-view .full tr.date-box td,
.calendar-calendar .month-view .full tr.multi-day,
.calendar-calendar .month-view .full tr.multi-day td {
  height: 19px;
  max-height: 19px;
}

.calendar-calendar .month-view .full tr.single-day .no-entry,
.calendar-calendar .month-view .full tr.single-day .no-entry .inner {
  height: 44px !important;
  line-height: 44px;
}

.calendar-calendar .month-view .full tr.single-day .noentry-multi-day,
.calendar-calendar .month-view .full tr.single-day .noentry-multi-day .inner {
  height: 22px !important;
  line-height: 22px;
}

.calendar-calendar .month-view .full td,
.calendar-calendar .week-view .full td,
.calendar-calendar .day-view  td {
  vertical-align: top;
  padding: 1px 2px 0 2px
}

.calendar-calendar .month-view .full td.date-box {
  height: 1%;
  border-bottom: 0px;
  padding-bottom: 2px;
}

.calendar-calendar .month-view .full .week {
  font-size: inherit;
}

.calendar-calendar .month-view .full .week a,
.calendar-calendar .week-view .full .week a {
  color: #4b85ac;
}

.calendar-calendar .month-view .full td .inner div.day,
.calendar-calendar .month-view .full td .inner div.day a {
  border: none;
  background: none;
  margin-bottom: 0px;
}

.calendar-calendar .month-view .full td.date-box .inner,
.calendar-calendar .week-view .full td.date-box .inner {
  min-height: inherit;
}

.calendar-calendar .month-view .full td.multi-day,
.calendar-calendar .week-view .full td.multi-day {
  border-top: 0px;
  border-bottom: 0px;
}

.calendar-calendar .week-view .full .first td.multi-day {
  border-top: 1px solid #CCCCCC;
}

.calendar-calendar .month-view .full td.single-day {
  border-top: 0px;
}

.calendar-calendar .month-view .full td.multi-day .inner,
.calendar-calendar .week-view .full td.multi-day .inner,
.calendar-calendar .day-view .full td.multi-day .inner {
  min-height: inherit;
  width: auto;
  position: relative;
}

.calendar-calendar .month-view .full td.multi-day.no-entry {
  min-height: 0px;
}

.calendar-calendar .month-view .full td.single-day .calendar-empty,
.calendar-calendar .month-view .full td.single-day.empty,
.calendar-calendar .month-view .full td.date-box.empty {
  background: #F4F4F4;
}

.calendar-calendar .month-view .full td.single-day .inner div,
.calendar-calendar .month-view .full td.single-day .inner div a ,
.calendar-calendar .month-view .full td.multi-day .inner div,
.calendar-calendar .month-view .full td.multi-day .inner div a ,
.calendar-calendar .month-view .full td .inner div.calendar.monthview div,
.calendar-calendar .month-view .full td .inner div.calendar.monthview div a,
.calendar-calendar .week-view .full td.single-day .inner div,
.calendar-calendar .week-view .full td.single-day .inner div a ,
.calendar-calendar .week-view .full td.multi-day .inner div,
.calendar-calendar .week-view .full td.multi-day .inner div a ,
.calendar-calendar .week-view .full td .inner div.calendar.weekview div,
.calendar-calendar .week-view .full td .inner div.calendar.weekview div a,
.calendar-calendar .day-view .full td .inner div.view-item,
.calendar-calendar .day-view .full td .inner div.calendar div,
.calendar-calendar .day-view .full td .inner div.calendar div a {
  background: none;
}

.calendar-calendar .day-view .full td .inner div.calendar div,
.calendar-calendar .day-view .full td .inner div.calendar div a {
  margin: 0px 3px;
}

.calendar-calendar .day-view .full td .inner div.calendar div.stripe {
  margin: 0px;
}

.calendar-calendar .month-view .full tr td.today,
.calendar-calendar .month-view .full tr.odd td.today,
.calendar-calendar .month-view .full tr.even td.today {
  background: none;
  border-left: 2px solid #7C7F12;
  border-right: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full td.date-box.today {
  border-width: 2px 2px 0px 2px;
  border-style: solid;
  border-color: #7C7F12;
}

.calendar-calendar .month-view .full tr td.single-day.today {
  border-bottom: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day.starts-today {
  border-left: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day.ends-today {
  border-right: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day,
.calendar-calendar .month-view .full tr td.single-day {
  border-top: 0px;
}

.calendar-calendar .month-view .full tr td.multi-day,
.calendar-calendar .month-view .full tr td.date-box {
  border-bottom: 0px;
}

.calendar-calendar .month-view .full .inner .monthview,
.calendar-calendar .week-view .full .inner .weekview,
.calendar-calendar .day-view .full .inner .dayview {
  -moz-border-radius: 5px;
  border-radius: 5px;
  width: auto;
  float: none;
  display: block;
  margin: .25em auto;
  position: relative;
}

.calendar-calendar .month-view .full td.single-day div.monthview,
.calendar-calendar .week-view .full td.single-day div.weekview,
.calendar-calendar .day-view .full td.single-day div.dayview {
  background: #ffc;
  width: auto;
  padding: 0px 3px;
  overflow: hidden;
}

.calendar-calendar .month-view .full td.single-day .calendar-more div.monthview {
  background: none;
}

.calendar-calendar .day-view td div.dayview {
  padding: 0px;
}

.calendar-calendar .month-view .full td.multi-day div.monthview,
.calendar-calendar .week-view .full td.multi-day div.weekview,
.calendar-calendar .day-view .full td.multi-day div.dayview {
  background: #74a5d7;
  height: 1.9em;
  overflow: hidden;
  margin: 0px auto;
  color: #ffffff;
  position: relative;
}

.calendar-calendar .week-view .full td.multi-day div.weekview {
  height: 3.5em;
}

.calendar-calendar .month-view .full td.multi-day .inner .view-field,
.calendar-calendar .month-view .full td.multi-day .inner .view-field a,
.calendar-calendar .week-view .full td.multi-day .inner .view-field,
.calendar-calendar .week-view .full td.multi-day .inner .view-field a,
.calendar-calendar .day-view .full td.multi-day .inner .view-field,
.calendar-calendar .day-view .full td.multi-day .inner .view-field a {
  color: #ffffff;
}

.calendar-calendar .full td.multi-day .calendar .view-field,
.calendar-calendar .full td.single-day .calendar .view-field {
}

.calendar-calendar .day-view .full td.multi-day div.dayview,
.calendar-calendar .week-view .full td.multi-day div.weekview {
  margin-bottom: 2px;
}

.calendar-calendar .month-view .full td.multi-day .calendar.monthview .view-field {
  white-space: nowrap;
  float: left;
  margin-right: 3px;
}

.calendar-calendar .week-view .full td.multi-day .calendar.weekview .view-field {
  white-space: nowrap;
  display: inline;
  margin-right: 3px;
}

.calendar-calendar .day-view .full td.multi-day .calendar.weekview .view-field {
  display: block;
}

.calendar-calendar .month-view .full td.multi-day .calendar.monthview .contents,
.calendar-calendar .week-view .full td.multi-day .calendar.weekview .contents {
  position: absolute;
  width: 3000px;
  left: 5px;
}

.calendar-calendar .day-view td .stripe,
.calendar-calendar .month-view .full td .stripe,
.calendar-calendar .week-view .full td .stripe {
  -moz-border-radius: 5px 5px 0px 0px;
  border-radius: 5px 5px 0px 0px;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 3px;
  z-index: 2;
}

.calendar-calendar .full td.single-day .continuation,
.calendar-calendar .full td.single-day .continues,
.calendar-calendar .full td.single-day .cutoff {
  display: none;
}

.calendar-calendar .month-view .full td.multi-day  .inner .monthview .continuation,
.calendar-calendar .week-view .full td.multi-day  .inner .weekview .continuation {
  float:left;
  margin-right: 3px;
  height: 1.9em;
}

.calendar-calendar .week-view .full td.multi-day  .inner .weekview .continuation {
  height: 2.75em;
  padding-top: 0.75em;
  margin-right: 8px;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .continues,
.calendar-calendar .month-view .full td.multi-day .inner .monthview .cutoff,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .continues,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  position: absolute;
  right: 0px !important;
  right: -1px;
  width: 10px;
  text-align: left;
  background: #74a5d7;
  -moz-border-radius: 0px 5px 5px 0px;
  border-radius: 0px 5px 5px 0px;
  height: 1.9em;
  padding-left: 6px;
  z-index: 1;
}

.calendar-calendar .week-view .full td.multi-day .inner .weekview .continues,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  height: 2.75em;
  padding-top: 0.75em;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .cutoff,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  width: 8px;
  padding-left: 0px;
}

.calendar-calendar .week-view .full td.multi-day {
  padding: 2px;
}

.calendar-calendar .week-view td.single-day div.calendar {
  width: 100%;
  padding-left: 0px;
  padding-right: 0px;
}

.calendar-calendar .week-view .full tr.last td.multi-day {
  border-bottom:1px solid #CCCCCC;
}

/**
 * Restyle Header
 */
.view .date-nav-wrapper .clear-block {
  margin-bottom: 10px;
}

.view .date-nav-wrapper  {
  position: relative;
  margin-top: 5px;
  width: 100%;
}

.view .date-nav-wrapper .date-nav {
  background-color: transparent;
  border: 0px;
  height: 30px;
  height: auto;
  min-height: 30px;
  position: relative;
  margin-bottom: 10px;
}

.view .date-nav-wrapper .date-prev a,
.view .date-nav-wrapper .date-next a {
  text-decoration: none;
  color: inherit;
  font-size: 12px;
}

.view .date-nav-wrapper.date-nav a:hover {
  text-decoration: underline;
}

.view .date-nav-wrapper .date-prev {
  -moz-border-radius: 5px 0 0 5px;
  border-radius: 5px 0 0 5px;
  background: none repeat scroll 0 0 #dfdfdf;
  float: none;
  padding: 5px 0;
  position: absolute;
  right: 80px;
  left: auto;
  text-align: right;
  top: 0px;
  width: auto;
  z-index: 1;
  font-size: 12px;
}

.block-views .view .date-nav-wrapper .date-prev {
  left: 0;
  right: auto;
}

.view .date-nav-wrapper .date-prev a {
  margin-left: 10px;
  font-weight: bold;
}

.view .date-nav-wrapper .date-heading {
  position: relative;
  width: 100%;
  top: 0px;
  text-align: center;
  z-index: 0;
}

.view .date-nav-wrapper .date-heading h3 {
  line-height: 30px;
  font-size: 1.7em;
}

.view .date-nav-wrapper .date-next {
  -moz-border-radius: 0px 5px 5px 0px;
  border-radius: 0px 5px 5px 0px;
  background: none repeat scroll 0 0 #dfdfdf;
  float: none;
  padding: 5px 0;
  position: absolute;
  right: 0px;
  text-align: right;
  top: 0px;
  width: auto;
  z-index: 1;
  font-size: 12px;
}

.view .date-nav-wrapper .date-next a {
  margin-right: 10px;
  font-weight: bold;
}

.attachment .calendar-calendar {
  margin-top: 20px;
  clear: both;
}

.calendar-calendar th a,
.attachment .calendar-calendar th {
  background-color: transparent;
  border: 0px;
}

.attachment .calendar-calendar th.calendar-agenda-hour {
  color: #777777;
  font-weight: bold;
  text-align: right;
}

.view-calendar .feed-icon {
  margin-top: 5px;
}

.view table.mini .date-prev,
.view table.mini .date-next {
  background: none;
}

.date-nav div.date-prev,
.date-nav div.date-next,
.date-nav {
  width:auto;
}

ul.calendar-links,
.region-content ul.calendar-links {
  margin:0;
  padding:0;
}

.year-view div.month-view div.date-nav {
  background-color: #DFDFDF;
  min-height: 20px;
}



/* Events with just a single time, like just the start time but no end time, are showing the time in white, which is barely visible against background colors such as yellow and light gray. Need to override to match color to other events' times, which is dark gray. */
span.date-display-single {
    color: rgb(119, 119, 119) !important;
}