.booking-layout{
  width: 100%;
  }

/* booking-calendar (begin) */
.booking-calendar{
  width: 100%;
  color: #000;
background-image: none;
  }
.booking-calendar td{
  height: 70px;
  padding: 0;

  text-align: center;
  vertical-align: middle;

  border: 1px solid #fafafa;
  }
.booking-calendar a{
  line-height: 70px;

  position: relative;

  display: block;

  width: 100%;
  height: 70px;

  color: #000;
  }
.booking-calendar a:hover{
  background: #f9f9f9;
  }


.booking-header{
  margin-bottom: 0;
  background: #eb4c1c !important;
  width: 60%;
border: 4px solid #eb4c1c;
border-radius: 4px;
  }
.booking-header a {
    font-size: 18px;
    position: relative;
    text-decoration: none;
    color: #f00;
    border-radius: 4px;
}
.booking-header h2{
  display: inline;

  margin: 0 20px 0 0;
  }
.booking-header--prev:before{
  padding-right: 3px;

  content:'\2190';
  }
.booking-header--next:after{
  padding-right: 3px;

  content:'\2192';
  }
.booking-header--prev,
.booking-header--next,
.booking-header--back{
  top:5px;

  float: right;

  margin: 0 0 0 5px;
  padding:1px 3px;

  background: #fff;
  }
.booking-header--back{
  display: inline-block;
  float: none;

  margin: 0 20px 0 0;

  vertical-align: top;
  }
.booking-header--prev:hover,
.booking-header--next:hover{
  opacity: .9;
  }
.booking-header--back:before{
  position: relative;
  top:2px;

  padding-right: 3px;

  content:'\21B5';
  }


.booking-calendar--day.ahead_days,
.booking-calendar--day.ahead_days_unavailable{
  background: #eaeaea;
  }
.booking-calendar--day.in_past{
  font-size: 12px;

  color: #8f8f8f;
  background: #f5f5f5;
  }
.booking-calendar--day.in_past a{
  color: #8f8f8f;
  }
.booking-calendar--day.current{
  font-size: 20px;
  }
.booking-calendar--day.current a:hover{
  background-color: inherit;
  }
.booking-calendar--day.half a:after,
.booking-calendar--day.full a:after{
  position: absolute;
  bottom:8px;
  left: 50%;

  width: 8px;
  height: 8px;
  margin-left: -4px;

  content:'';

  border-radius:50%;
  }
.booking-calendar--day.half a:after{
  background: #f3f31c;
  }
.booking-calendar--day.full a:after{
  background: #f42c2c;
  }
.booking-calendar--day.block{
  background: #f42c2c;
  }
/* booking-calendar (end) */

/* booking-intervals (begin) */
.booking-intervals{
  display: table;

  width: 100%;
  padding: 0;

  color: #000;
  border-top: 1px solid #f8f8f8;
  background: #fff;
  }
.booking-interval{
  display: table-row;

  list-style: none;
  }
.booking-interval-info,
  .booking-interval-date{
  display: table-cell;

  padding: 15px 0;

  vertical-align: middle;

  border-bottom: 1px solid #f8f8f8;
  }
.booking-interval-date{
  width: 80px;

  text-align: center;

  border-right: 1px solid #f8f8f8;
  }
.booking-interval-info{
  font-size: 14px;

  padding-left:30px;
  }
.booking-interval-info a{
  text-decoration: underline;

  color: #3a8ad1;
  }

.booking-interval.block{
  background: red;
  }
.booking-interval--orders{
  margin: 0;
  padding: 0 0 10px;
  }
.booking-interval--order.status-0{
  color: #ff930e;
  }
.booking-interval--order.status-1{
  color: #2bbf4e;
  }
.booking-interval--order.status-2{
  color: #f42c2c;
  }
/* booking-intervals (end) */

/* booking-order-form (end) */
.booking-order-form{
  width: 320px;
  }
/* booking-order-form (begin) */

@media only screen and (min-width: 0) and (max-width: 794px) {
  .booking-layout{
    width: 100%;
    }
  }
@media only screen and (min-width: 0) and (max-width: 480px) {
  .booking-calendar td{
    height: 60px;
    }
  .booking-calendar a {
    line-height: 60px;

    height: 60px;
    }
  .booking-order-form{
    width: auto;
    }
  }