.booking-online.modal .modal-dialog {
  max-width: 600px;
}

.booking-online label {
  font-size: 0.813em;
  font-weight: 400;
}

.booking-online .form-group {
  margin-bottom: 0px;
}

.booking-online #detail-accordion + hr {
  margin-bottom: 0px;
}

.booking-online.modal-booking .modal-content .modal-header {
  border-bottom-color: #f2eae5;
}

.booking-online.modal-booking .modal-content .modal-header button.close {
  font-size: 2.8125em;
  font-weight: 300;
  opacity: 1;
  line-height: 1em;
}

.booking-online.modal-booking .modal-content .modal-title {
  font-family: 'Lora', serif;
  font-weight: 400;
  font-style: italic;
  font-size: 1.500em;
  color: #27507e;
}

.bl-booking {
  position: relative;
}

.bootstrap-select .bordered {
  background-color: #FFFFFF;
  border: 1px solid #d0cfcd;
  border-radius: 0px;
  -webkit-box-shadow: 0 0 0 0;
  -ms-box-shadow: 0 0 0 0;
  -o-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
  padding: 6px 24px 6px 12px;
  text-transform: none;
  -webkit-transition: "all", 3s, "ease-in-out";
  transition: "all", 3s, "ease-in-out";
}

.bootstrap-select.open .bordered {
  border-color: #922743;
}

hr.sep-dashed {
  border-color: #d0cfcd;
}

.select-booking {
  padding: 0;
}

.bootstrap-select .dropdown-toggle:focus {
  outline: none !important;
}

.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: 0 0 0 0;
  -ms-box-shadow: 0 0 0 0;
  -o-box-shadow: 0 0 0 0;
  box-shadow: 0 0 0 0;
}

.col-input-left {
  padding-left: 0;
  padding-right: 8px;
}

.col-input-right {
  padding-right: 0;
  padding-left: 8px;
}

.booking-departure {
  border: 1px solid #d0cfcd;
  padding: 5px 15px;
  margin: 15px 0;
  font-size: 0.875em;
}

.booking-departure span {
  font-weight: 700;
}

#btn-close-booking {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 200;
}

.block-age-children {
  display: none;
  padding-top: 15px;
}

.block-age-children .etape-text {
  padding-bottom: 15px;
}

.block-age-children .age-children {
  width: 100%;
}

.block-age-children .birth-date {
  display: inline;
  width: 50%;
  height: 34px;
  padding: 0px 5px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  margin: 0.5em 1em;
}

.block-age-children .ui-datepicker-trigger {
  background: transparent;
  border: none;
}

.block-age-children .error {
    font-size: 0.813em;
    color: red;
}

.booking-details-mobile .details-left .price-product-offer {
  padding-bottom: 0.3em;
  color: #F6F6F6;
}

#product-container-right ul {
  height: auto;
}

.etape-title {
  position: relative;
  margin-bottom: 15px;
  display: table;
  width: 100%;
}

.etape-nb, .etape-text {
  font-size: 0.875em;
  color: #282623;
  font-weight: 600;
  display: table-cell;
  vertical-align: middle;
}

.etape-nb {
  background: #FFFFFF;
  padding: 5px 10px;
  display: inline-block;
  margin-right: 10px;
  float: left;
  border: 1px solid #3f3b36;
}

.etape-text {
  width: 100%;
}

.calendar-booking {
  -webkit-transition: max-height 0.5s;
  transition: max-height 0.5s;
  padding: 0;
  height: auto;
  display: block;
}

.calendar-product {
  display: block;
}

.calendar-list {
  overflow: auto;
  list-style: none;
}

.product-month-bar {
  width: 100%;
  display: table;
  table-layout: fixed;
}

.product-month-bar__prev, .product-month-bar__next, .product-month-bar--selected {
  display: table-cell;
  background-color: #FFFFFF;
  text-align: center;
  color: #636363;
  font-weight: bold;
  font-size: 11px;
  cursor: pointer;
  line-height: 14px;
}

.product-month-bar__prev, .product-month-bar__next {
  width: 25px;
}

.product-month-bar__prev {
  background-image: url("http://newsletter.directours.com/Portals/12/newsletters/refonte_site/fiche_produit_files/month-bar__prev-next.png");
  /* border-right: 2px solid white; */
  background-position: -5px 10px;
}

.product-month-bar__next {
  background-image: url("http://newsletter.directours.com/Portals/12/newsletters/refonte_site/fiche_produit_files/month-bar__prev-next.png");
  background-position: 0 -20px;
  border-left: 2px solid white;
}

.product-month-bar--selected {
  background-color: #2c2c2c;
  color: white;
  position: relative;
  border: 0;
  width: 50px;
}

.vp-month-bar__prev, .vp-month-bar__next, .vp-month-bar__month {
  display: table-cell;
  background-color: #D93838;
  text-align: center;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 11px;
  cursor: pointer;
  line-height: 14px;
  width: 50px;
}

.product-month-bar-month {
  text-transform: uppercase;
}

.product-month-bar__text {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Calendrier booking */
.calendar-list {
  padding: 0;
  list-style: none;
  max-height: 319px;
}

.calendar-list-item {
  padding: 5px 15px 5px 0;
  border-bottom: 1px solid #e7e7e7;
  display: table;
  vertical-align: middle;
  width: 100%;
}

.calendar-list-item > div {
  vertical-align: middle;
  display: table-cell;
  text-align: center;
}

.calendar-shortcut {
  text-align: center;
  font-weight: bold;
  background-color: #e7e7e7;
  padding: 3px 0;
}

.vp-flag {
  display: table;
}

.vp-hoverable {
  cursor: pointer;
}

.calendar-block {
  text-align: center;
  padding: 4px 6px;
  background-color: #444444;
  display: table-cell;
  font-size: 10px;
  line-height: 13px;
  text-transform: uppercase;
  color: #FFFFFF;
  width: 50px;
  margin: 10px;
}

.calendar-block div:first-child, .calendar-block div:last-child {
  color: #f2eae5;
}

.calendar-block div:first-child {
  font-size: 9px;
}

.calendar-block .day {
  font-size: 1.5em;
  text-align: center;
}

.calendar-date {
  padding: 0 5px 0 5px;
  font-size: 0.750em;
}

.calendar-reduct {
  color: #922743;
  padding: 0 3px 0 3px;
  font-size: 1em;
}

.calendar-price {
  padding: 0 3px 0 3px;
  line-height: 15px;
}

.calendar-price span b {
  font-weight: 600;
}

.calendar-price .price-out {
  font-size: 0.813em;
  color: #85827f;
}

.calendar-button {
  width: 35px;
  text-align: right !important;
}

.calendar-button .booking-button {
  background-color: #27507e;
  color: #FFFFFF;
  padding: 2px;
  font-size: 20px;
  -webkit-transition: all, 0.3s, ease;
  transition: all, 0.3s, ease;
}

.calendar-button span.booking-button:hover {
  background-color: #922743;
  cursor: pointer;
}

.calendar-shortcut, .calendar-month {
  text-align: center;
  font-weight: bold;
  background-color: #f9f5f3;
  padding: 5px 0;
  font-size: 0.875em;
}

.calendar-nodispo {
  text-align: center;
  font-weight: bold;
  background-color: #fff;
  padding: 0.5em;
}

/* Slider */
.slider-month {
  display: none;
}

/* La booking */
.booking-box {
  display: block;
  background-color: #FFFFFF;
  margin: 0 5px;
  padding: 5px 0;
  border: 2px solid #27507e;
  text-align: center;
  outline: none !important;
}

.booking-box.month-selected {
  border-color: #922743;
  background-color: #922743;
  color: #FFFFFF;
}

.booking-box.month-selected .title {
  color: #FFFFFF;
}

.booking-box.no-dispo {
  border-color: #d0cfcd;
}

.booking-box.no-dispo .title {
  color: #d0cfcd;
}

.booking-box .title {
  display: block;
  color: #27507e;
  font-size: 12px;
  font-family: inherit;
  font-style: inherit;
}

.booking-box a {
  text-decoration: none;
}

/* Week end */
#search-engine-we .room-item {
  padding: 15px;
  border: 1px solid #d0cfcd;
  margin-bottom: 15px;
  display: none;
}

#search-engine-we .room-item .room-item-label {
  font-size: 0.813em;
  font-weight: 400;
  margin-bottom: 5px;
}

#search-engine-we .search-mode-label {
  font-size: 0.813em;
  text-align: center;
}

#search-engine-we #searchEngineWEForm label {
  font-weight: 600;
}

#search-engine-we label {
  font-size: 0.875em;
}

#search-engine-we input {
  border: 1px solid #d0cfcd;
  padding: 5px 10px;
  font-size: 0.813em;
  font-weight: 600;
}

#search-engine-we .input-append {
  position: relative;
}

#search-engine-we .input-append input {
  width: 100%;
}

#search-engine-we .input-append .add-on {
  position: absolute;
  right: 0;
  background: #922743;
  border: none;
  height: 100%;
  padding: 3px 6px;
  color: #FFFFFF;
  top: 0;
}

#search-engine-we .input-append .add-on .icon {
  font-size: 1.188em;
}

#search-engine-we #search-place .desti-txt {
  font-size: 0.813em;
}

#search-engine-we #search-room .col-cell {
  vertical-align: middle;
}

#search-engine-we.FLIGHT_HOTEL #search-mode .search-mode-1,
#search-engine-we.HOTEL #search-mode .search-mode-2 {
  background-color: #922743;
  color: #FFFFFF;
  border-color: #922743;
}

#search-engine-we.HOTEL .with-flight-only {
  display: none;
}

#search-engine-we #search-mode .search-mode {
  width: 100%;
  text-transform: none;
  background: #FFFFFF;
  border: 1px solid #d0cfcd;
}

#search-engine-we #waiting-form {
  background: url("/resources/cssImages/weekend/waitBackground.png") no-repeat scroll left bottom #fff;
  border: 1px solid #666;
  border-radius: 10px;
  display: none;
  float: none;
  height: 320px;
  padding: 10px;
  position: fixed;
  width: 350px;
  z-index: 4000;
}

#search-engine-we #waiting-form img.waiting-loading {
  padding: 15px 71px;
}

#search-engine-we #waiting-form div.waiting-resume {
  color: #3A3733;
  font: 15px Arial,Helvetica,sans-serif;
  font-style: italic;
  text-align: center;
  width: 100%;
}

#search-engine-we #waiting-form div.waiting-content {
  width: 300px;
  margin: auto;
}

#search-engine-we #waiting-form span.waiting-label, #search-engine-we #waiting-form span.waiting-value {
  display: inline-block;
  font-weight: bold;
  font-size: 11px;
  padding: 5px 5px 5px 15px;
  width: 90px;
}

#search-engine-we #waiting-form span.waiting-value {
  width: 10px;
}

@media only screen and (min-width: 320px) {
  .calendar-booking .calendar-list-item {
    padding-right: 10px;
    min-height: 42px;
  }
  .calendar-booking .calendar-block {
    width: 45px;
  }
  .calendar-booking .calendar-date {
    width: 25%;
    font-size: 0.688em;
  }
  .calendar-booking .calendar-reduct {
    width: 20%;
    font-size: 0.688em;
  }
  .calendar-booking .calendar-price {
    font-size: 0.875em;
  }
}

@media only screen and (min-width: 320px) and (max-width: 480px) {
  .bl-booking .bl-inner {
    padding-top: 30px;
  }
  #search-engine-we .col-cell {
    display: block;
  }
}

@media only screen and (min-width: 360px) {
  .calendar-booking .calendar-date {
    width: 25%;
  }
  .calendar-booking .calendar-reduct {
    width: 20%;
  }
  .modal-booking .modal-dialog {
    max-width: 95vw;
  }
}

@media only screen and (min-width: 480px) {
  .calendar-booking .calendar-block {
    width: 120px;
  }
  .calendar-booking .calendar-block > div {
    display: inline-block;
  }
  .calendar-booking .calendar-date,
  .calendar-booking .calendar-reduct {
    font-size: 0.8125em;
  }
  .calendar-booking .calendar-price {
    font-size: 0.9375em;
  }
}

@media only screen and (min-width: 600px) and (max-width: 991px) {
  #search-engine-we #search-engine-we-submit {
    width: auto;
    margin: 0 auto;
    padding-right: 10%;
    padding-left: 10%;
  }
  .modal-booking .modal-dialog {
    max-width: 90vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .bl-booking {
    margin-top: 30px;
    margin-bottom: 0;
  }
  .modal-booking .modal-dialog {
    max-width: 80vw;
  }
}

/* Medium Devices, Desktops */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .calendar-list-item {
    padding: 5px 5px 5px 0;
  }
  .calendar-block {
    padding: 4px 2px;
    width: 40px;
  }
  .calendar-button {
    width: 30px;
  }
  .calendar-button .booking-button {
    padding: 0;
  }
  .calendar-reduct {
    font-size: 0.813em;
  }
  .modal-booking .modal-dialog {
    max-width: 70vw;
  }
}

/* Large Devices, Wide Screens */
@media only screen and (min-width: 1200px) {
  .calendar-booking .calendar-date {
    width: 25%;
  }
  .calendar-booking .calendar-reduct {
    width: 22%;
  }
  .modal-booking .modal-dialog {
    max-width: 60vw;
  }
}
