#availability-calendar-modal h3.modal-title {
  text-align: center;
}
table.calendar {
  margin: 0 auto;
}
#calendar-btn {
  text-align: center;
  display: none;
  padding-left: 5px;
}
.calendar-legend {
  text-align: right;
  padding-top: 10px;
}
.calendar-legend .fa {
  font-size: 14px;
  margin-left: 20px;
}
.calendar-legend .fa-star {
  color: gold;
}
.calendar-controls {
  margin-bottom: 10px;
}
.calendar-controls h2 {
  margin: 0 0 10px 0;
  line-height: 1;
  font-size: 36px;
}
.calendar-controls p {
  font-size: 14px;
  margin-bottom: 10px;
}
.calendar-controls span {
  line-height: 21px;
}
.calendar-controls select {
  margin-left: 10px;
}
.calendar-day {
  width: 100px;
  height: 100px;
  position: relative;
}
.calendar-date {
  position: absolute;
  top: 3px;
  left: 4px;
  font-size: 16px;
  line-height: 1;
  font-family: 'Georgia', serif;
  text-align: center;
  color: #000;
}
.calendar-sign {
  position: absolute;
  top: 5px;
  right: 5px;
}
.calendar-sign .fa {
  font-size: 20px;
  margin-right: 3px;
}
.calendar-sign .fa.fa-star {
  color: orange;
}
.calendar-sign .fa-asterisk {
  color: gold;
}
.calendar-content {
  position: absolute;
  left: 0;
  bottom: 0;
  padding-bottom: 20px;
  width: 100px;
  text-align: center;
  font-size: 13px;
}
.calendar-content b {
  display: block;
  font-size: 16px;
  line-height: 1.5;
}
.calendar th {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  padding: 0 0 5px 0;
}
.calendar td {
  background-image: linear-gradient(to bottom right, #d2ffdf 0%, #d2ffdf 20%, transparent 20%);
  width: 100px;
  height: 100px;
  border: 1px solid gray;
  vertical-align: middle;
}
.calendar td.avl {
  background-color: #f0fff4;
  color: #4f6b72;
}
.calendar td.other,
.calendar td.past,
.calendar td.na {
  color: gray;
}
.calendar td.other .calendar-date,
.calendar td.past .calendar-date,
.calendar td.na .calendar-date {
  color: gray;
}
.calendar td.na {
  background-color: #eee;
  background-image: linear-gradient(to bottom right, #e9e9e9 0%, #e9e9e9 22%, transparent 22%);
}
.calendar td.na .calendar-content {
  bottom: 10px;
}
.calendar td.min .calendar-content {
  bottom: 0;
}
.calendar td.min .calendar-content .min-stay-val {
  display: block;
  margin-top: 3px;
  color: #ff4200;
}
.calendar td.other,
.calendar td.past {
  background-image: none !important;
  background-color: transparent !important;
}
.calendar td.avl:hover {
  background-color: #e0ebff;
  cursor: pointer;
  background-image: linear-gradient(to bottom right, #c2d8ff 0%, #c2d8ff 25%, transparent 26%);
}
.calendar td.avl:hover .calendar-date {
  font-size: 20px;
  text-shadow: 0 1px 0 #fff;
}
.calendar-content .fa-times {
  font-size: 28px;
  color: silver;
}
