#tmsm-availpro-calendar {
  padding: 2px;
  color: #333333;
  background: #ffffff;
}
#tmsm-availpro-calendar.calendar-small .hide-small {
  display: none;
}
#tmsm-availpro-calendar.calendar-small .clndr-controls {
  font-size: 15px;
}
@media (min-width: 900px) {
  #tmsm-availpro-calendar.calendar-small .clndr-controls {
    font-size: 19px;
  }
}
#tmsm-availpro-calendar.calendar-small .clndr-controls td {
  padding: 5px;
}
#tmsm-availpro-calendar.calendar-small .day {
  font-size: 13px;
  border: 1px solid #ffffff;
}
#tmsm-availpro-calendar.calendar-small .cell {
  padding: 4px 3px 4px 3px;
}
#tmsm-availpro-calendar.calendar-large .hide-large {
  display: none;
}
#tmsm-availpro-calendar.calendar-large .clndr-controls {
  font-size: 23px;
}
#tmsm-availpro-calendar.calendar-large .day {
  font-size: 16px;
  border: 3px solid #ffffff;
}
#tmsm-availpro-calendar.calendar-large .cell {
  padding: 8px;
}
#tmsm-availpro-calendar .table-calendarprices {
  width: 100%;
}
#tmsm-availpro-calendar .table-calendarprices ::-moz-selection {
  background: transparent;
  color: inherit;
}
#tmsm-availpro-calendar .table-calendarprices ::selection {
  background: transparent;
  color: inherit;
}
#tmsm-availpro-calendar .table-calendarprices .clndr-controls {
  background: white;
  border-bottom: 2px solid #dddddd;
}
#tmsm-availpro-calendar .table-calendarprices .header-days .header-day {
  text-align: center;
}
#tmsm-availpro-calendar .table-calendarprices .month {
  font-weight: normal;
  text-align: center;
}
#tmsm-availpro-calendar .table-calendarprices .month:first-letter {
  text-transform: uppercase;
}
#tmsm-availpro-calendar .table-calendarprices .month small {
  display: none;
}
#tmsm-availpro-calendar .table-calendarprices th {
  line-height: 2;
}
#tmsm-availpro-calendar .table-calendarprices .clndr-control-button > span:hover {
  cursor: pointer;
}
#tmsm-availpro-calendar .table-calendarprices .clndr-control-button > span.inactive {
  opacity: 0.5;
  cursor: not-allowed;
}
#tmsm-availpro-calendar .table-calendarprices .clndr-control-button.clndr-control-button-previous {
  text-align: left;
}
#tmsm-availpro-calendar .table-calendarprices .clndr-control-button.clndr-control-button-next {
  text-align: right;
}
#tmsm-availpro-calendar .table-calendarprices .cell {
  vertical-align: middle;
  position: relative;
}
#tmsm-availpro-calendar .table-calendarprices .cell + .cell {
  display: none;
}
#tmsm-availpro-calendar .table-calendarprices .day-number {
  background: transparent;
  color: inherit;
  padding: 1px;
  display: inline-block;
  font-size: 15px;
  line-height: normal;
}
#tmsm-availpro-calendar .table-calendarprices .minstay {
  position: absolute;
  line-height: 14px;
  top: 0;
  right: 0;
  display: none;
  background: transparent;
  color: #333333;
}
#tmsm-availpro-calendar .table-calendarprices .day-special {
  position: absolute;
  top: 1px;
  left: 16px;
  padding: 1px;
  width: 16px;
}
#tmsm-availpro-calendar .table-calendarprices .day-special.glyphicon-alert {
  display: block;
}
#tmsm-availpro-calendar .table-calendarprices .price {
  font-weight: bold;
  margin: 0;
  font-size: 11px;
  line-height: normal;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day {
  padding: 0;
  text-align: center;
  vertical-align: top;
  background: #ffffff;
  color: #333333;
  width: 14%;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day .day-number {
  color: inherit;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day .price {
  color: rgba(0, 0, 0, 0.4);
}
#tmsm-availpro-calendar .table-calendarprices tbody .day:hover {
  cursor: pointer;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.past .cell,
#tmsm-availpro-calendar .table-calendarprices tbody .day.next-month .cell,
#tmsm-availpro-calendar .table-calendarprices tbody .day.inactive .cell,
#tmsm-availpro-calendar .table-calendarprices tbody .day.last-month .cell {
  background: #ffffff !important;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.past .cell .day-number,
#tmsm-availpro-calendar .table-calendarprices tbody .day.next-month .cell .day-number,
#tmsm-availpro-calendar .table-calendarprices tbody .day.inactive .cell .day-number,
#tmsm-availpro-calendar .table-calendarprices tbody .day.last-month .cell .day-number {
  color: rgba(0, 0, 0, 0.25) !important;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.past .cell .price,
#tmsm-availpro-calendar .table-calendarprices tbody .day.next-month .cell .price,
#tmsm-availpro-calendar .table-calendarprices tbody .day.inactive .cell .price,
#tmsm-availpro-calendar .table-calendarprices tbody .day.last-month .cell .price {
  visibility: hidden;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.past.inactive:hover,
#tmsm-availpro-calendar .table-calendarprices tbody .day.next-month.inactive:hover,
#tmsm-availpro-calendar .table-calendarprices tbody .day.inactive.inactive:hover,
#tmsm-availpro-calendar .table-calendarprices tbody .day.last-month.inactive:hover {
  cursor: not-allowed;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected .cell {
  background: #808080;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected .day-number {
  color: #333333;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected .price {
  color: rgba(0, 0, 0, 0.4);
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected.active .instead,
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected.active .price {
  opacity: 1;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected-hover .cell {
  background: #808080;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected-begin .cell,
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected-end .cell {
  background: #333333;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected-begin .price,
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected-end .price {
  color: #808080;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected-begin .day-number,
#tmsm-availpro-calendar .table-calendarprices tbody .day.selected-end .day-number {
  color: #ffffff;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.mouseover .cell {
  background: #333333;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.mouseover .price {
  color: #808080;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day.mouseover .day-number {
  color: #ffffff;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day:not(.selected):not(.past):not(.mouseover) .cell[data-lowestprice='1'] .price {
  color: #0f9d58;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day:not(.selected):not(.past):not(.mouseover) .cell[data-availability='1'],
#tmsm-availpro-calendar .table-calendarprices tbody .day:not(.selected):not(.past):not(.mouseover) .cell[data-availability='2'] {
  background: #ffffff;
}
#tmsm-availpro-calendar .table-calendarprices tbody .day:not(.selected):not(.past):not(.mouseover) .cell[data-minstay]:not([data-minstay=""]) .minstay {
  display: inline-block;
}
#tmsm-availpro-calendar .table-calendarprices .cell[data-equal='1'] .instead,
#tmsm-availpro-calendar .table-calendarprices .cell[data-equal='true'] .instead {
  visibility: hidden;
}
.tmsm-availpro-form-legend {
  margin-top: 5px;
}
.tmsm-availpro-form-legend .legend-item {
  margin-bottom: 5px;
}
.tmsm-availpro-form-legend .legend-item:before {
  content: '';
  border: 1px solid black;
  background: white;
  width: 18px;
  line-height: 7px;
  height: 12px;
  padding: 1px;
  display: inline-block;
  margin-right: 5px;
}
.tmsm-availpro-form-legend .legend-item.legend-item-available {
  display: none;
}
.tmsm-availpro-form-legend .legend-item.legend-item-notavailable {
  display: none;
}
.tmsm-availpro-form-legend .legend-item.legend-item-notavailable:before {
  background: #ffffff;
}
.tmsm-availpro-form-legend .legend-item.legend-item-lowestprice {
  display: none;
}
.tmsm-availpro-form-legend .legend-item.legend-item-lowestprice:before {
  background: #0f9d58;
}
.tmsm-availpro-form-legend .legend-item.legend-item-lastrooms {
  display: none;
}
.tmsm-availpro-form-legend .legend-item.legend-item-lastrooms:before {
  background: #ffffff;
}
.tmsm-availpro-form-legend .legend-item.legend-item-minstay {
  display: none;
}
@media (min-width: 900px) {
  .tmsm-availpro-form-legend .legend-item.legend-item-minstay {
    display: block;
  }
}
.tmsm-availpro-form-legend .legend-item.legend-item-minstay:before {
  content: '⇾';
  background: transparent;
  color: #333333;
}
#tmsm-availpro-form .tmsm-availpro-form-fields {
  padding-bottom: 50px;
}
@media (min-width: 900px) {
  #tmsm-availpro-form .tmsm-availpro-form-fields {
    padding-bottom: 0;
  }
}
#tmsm-availpro-form #tmsm-availpro-form-intro {
  display: none;
}
@media (min-width: 900px) {
  #tmsm-availpro-form #tmsm-availpro-form-intro {
    display: block;
  }
}
#tmsm-availpro-form #tmsm-availpro-calculatetotal-totalprice-label {
  display: none;
}
#tmsm-availpro-form #tmsm-availpro-form-checkindateinfo-label,
#tmsm-availpro-form #tmsm-availpro-form-adults-label {
  display: none;
}
#tmsm-availpro-form #tmsm-availpro-form-checkoutdateinfo-label {
  text-align: center;
  display: inline-block;
}
#tmsm-availpro-form #tmsm-availpro-form-checkindateinfo:empty,
#tmsm-availpro-form #tmsm-availpro-form-checkoutdateinfo:empty {
  border-bottom: 1px dotted #dddddd;
  min-width: 60px;
  display: inline-block;
}
#tmsm-availpro-form #tmsm-availpro-form-minstay-message[data-value='0'] {
  display: none;
}
#tmsm-availpro-form #tmsm-availpro-form-adults {
  width: auto;
}
#tmsm-availpro-form #tmsm-availpro-form-dates-container {
  position: relative;
}
#tmsm-availpro-form #tmsm-availpro-form-nights-message {
  display: none;
}
@media (min-width: 900px) {
  #tmsm-availpro-form #tmsm-availpro-form-nights-message {
    display: block;
  }
  #tmsm-availpro-form #tmsm-availpro-form-nights-message[data-value='0'] {
    display: none;
  }
}
#tmsm-availpro-calendar-container {
  padding: 10px;
  background: #dddddd;
}
@media (min-width: 900px) {
  #tmsm-availpro-calendar-container {
    width: 50%;
    display: inline-block;
    padding: 15px;
  }
}
@media (min-width: 900px) {
  #tmsm-availpro-calendar {
    min-height: 325px;
  }
}
#tmsm-availpro-form {
  padding: 10px;
  background: white;
}
@media (min-width: 900px) {
  #tmsm-availpro-form {
    width: 50%;
    float: right;
    padding: 15px;
  }
}
#tmsm-availpro-container {
  background: white;
}
@media (min-width: 900px) {
  #tmsm-availpro-form-outro {
    position: absolute;
    bottom: 0;
    width: auto;
    right: 0;
    padding: 15px;
    left: 50%;
  }
}
.tmsm-availpro-form-has-ota-price #tmsm-availpro-form-outro {
  position: relative;
  right: auto;
  left: auto;
  padding: 0;
}
