#calendar {
  font-size: 85%;
  width: 100%;
  position: relative;
  margin-bottom: 2em;
}

#calendar TD, #calendar TH {
  height: 16px;
  vertical-align: middle;
}
#calendar TH { padding: 0 0.2em 0 0.2em;}
#calendar TD {
  text-align: center;
}
#calendar .date { color: #000;}
#calendar .current TD { background: #e5e5e5; }
#calendar .top_right, #calendar .top_left { position: relative; top: -0.5em !important;}
#calendar .top_left { float: left;}
#calendar .top_right { float: right;}
#calendar .head TD { cursor: auto;}
#calendar TH { background-color: #e5e5e5; }
#calendar .controls {
  padding-left: 17px;
  padding-bottom: 20px;
  margin-bottom: -3px;
  position: relative;
  top: -0.25em;
}
#calendar .day {
  cursor: pointer;
}
#calendar .current .left, #calendar .current .right, #calendar TH.left, #calendar TH.right {
  background-image: url("/images/icons-gif.png");
  background-repeat: no-repeat;
  border: none !important;
  width: 17px;
}
#calendar TH.left, #calendar TH.right { cursor: pointer;}
#calendar TH.left { background-position: 0 -2100px; }
#calendar TH.right { background-position: right -2150px; }
#calendar .current .left { background-position: 0 -2930px; }
#calendar .current .right { background-position: right -2990px; }

#calendar .weekend { color: #d73434;}
#calendar .container {
  background: #e5e5e5;
  height: 100%;
  width: 100%;
  margin-bottom: -2px;
  margin-left: -16px;
  margin-right: -16px;
  padding-bottom: 2px;
}

#calendar .current .today {
  font-weight: bold;
  color: white;
  background-color: #d73434;
}
#calendar .future {
  color: #b3b3b3;
  cursor: auto;
}
#calendar .future-weekend, #calendar .future .weekend, #calendar .future.weekend {
  color: #e4adad;
}

.calendar-form {
  clear: both;
  margin-top: 1em;
  margin-bottom: 4em;
  position: relative;
  width: 100%;
}
.calendar-form .container {
  position: absolute;
  left: 50%;
}
.calendar-form .container FORM {
  left: -50%;
  position: relative;
}
.calendar-form .container INPUT {
  float: left;
  width: 1.5em;
}
.calendar-form .container P { float: left;}
.calendar-form .container .year { width: 3em;}


/* bubble calendar */
.period-popup {
  width: 26em;
}

.bubble #calendar {
  font-size: 100%;
  margin-top: 1em;
  margin-bottom: 1em;
}
.bubble #calendar th {
  background-color: transparent;
}

.bubble #calendar .current td {
  background: none;
}

.bubble #calendar .current .today {
  color: white !important;
  background-color: #383838;
}

.bubble #calendar tbody .weekend {
  color: #d05656;
}

.bubble #calendar TH.left, .bubble #calendar TH.right {
  background-image: url("/images/arrows.gif");
  background-position: 0 0;
}

.bubble #calendar TH.right {
  background-position: right -42px;
}

.bubble #calendar .future.day {
  cursor: pointer;
}

.periods-selector .pseudo-link {
  color: #FFFFC6;
}

.periods-selector td,
.periods-selector th {
  width: 8em;
}

.periods-selector th {
  text-align: left;
  font-weight: normal;
  padding-bottom: 4px;
}

.periods-selector td span {
  font-weight: bold;
  background-color: #383838;
  color: white;
  padding: 3px 6px;
  left: -6px;
  z-index: 10;
  position: relative;
}

.periods-selector td span.pseudo-link {
  padding: 0;
  left: 0;
  font-weight: normal;
  background: none;
}

.periods-selector td.delim {
  font-size: 120%;
  width: 3em;
}

