div.calendar {
  color: #000;
}
div.calendar.popup {
  margin-left: -40px;
  margin-top: -100px;
}
div.calendar table {
  background-color: #eee;
  border: 1px solid #bbbbbb;
  border-collapse: collapse;
}
div.calendar thead {
  background-color: white;
}
div.calendar td, div.calendar th {
  padding: 8px 0;
  text-align: center;
}
div.calendar td.title {
  font-weight: bold;
  background-color: #eee;
  background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2VlZWVlZSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #eeeeee));
  background: -moz-linear-gradient(top, #ffffff, #eeeeee);
  background: -webkit-linear-gradient(top, #ffffff, #eeeeee);
  background: linear-gradient(to bottom, #ffffff, #eeeeee);
}
div.calendar th {
  background: #ddd;
  border-bottom: 1px solid #bbbbbb;
  border-top: 1px solid #bbbbbb;
  font-weight: bold;
  color: #555;
}
div.calendar tr.days td {
  width: 2em;
  color: #555;
  text-align: center;
  cursor: pointer;
}
div.calendar tr.days td:hover {
  background-color: #34ABFA;
  cursor: pointer;
}
div.calendar td.button:hover {
  background-color: #34ABFA;
  cursor: pointer;
}
div.calendar tr.days td:active div.calendar td.button:active {
  background-color: #cde;
}
div.calendar tr.days td.selected {
  font-weight: bold;
  background-color: #fff;
  color: #000;
}
div.calendar tr.days td.today {
  font-weight: bold;
  color: #D50000;
}
div.calendar tr.days td.otherDay {
  color: #bbb;
}
