@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');

@media screen and (max-width: 500px) {

  #tol-modalHebergements,
  #tol-modalDate,
  #tol-modalReservation {
    width: 100% !important;
    min-width: unset !important;
    height: 100vh !important;
    margin: 0 !important;
  }

  .tol-modal .tol-modal-header,
  .tol-modal .tol-modal-body,
  .tol-modal .tol-modal-footer,
  .tol-modal .tol-modal-container {
    border-radius: 0 !important;
  }

  .tol-modal .tol-modal-container {
    height: 100% !important;
  }
}

.tol-hide {
  display: none !important;
}

#tol-calendar-container.tol-hide {
  display: none !important;
}

#tol-modalDate #tol-dates.tol-hide {
  display: none !important;
}

#tol-modalDate #tol-calendar-resume.tol-hide {
  display: none !important;
}

.tol-modal * {
  font-family: 'Quicksand', BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif !important;
}

.tol-modal-container {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5) !important;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5) !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
}

.tol-modal-header {
  padding: 30px 25px 20px 25px !important;
  border-radius: 6px 6px 0 0 !important;
  border-bottom: 1px solid #e5e5e5 !important;
}

.tol-modal-header-f {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 90% !important;
  gap: 20px !important;
}

.tol-modal-header h1 {
  font-size: 1.8em !important;
  color: #222 !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tol-modal-body {
  max-height: calc(100vh - 300px) !important;
  overflow-y: auto !important;
  position: relative !important;
  padding: 20px !important;
}

.tol-modal-footer {
  padding: 20px !important;
  text-align: right !important;
  border-top: 1px solid #e5e5e5 !important;
}

.tol-modal {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
  z-index: 1050 !important;
  overflow-y: auto !important;
}

.tol-close {
  padding: 0 !important;
  cursor: pointer !important;
  background: transparent !important;
  border: 0 !important;
  float: right !important;
  font-size: 21px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  color: #000000 !important;
  text-shadow: 0 1px 0 #ffffff !important;
  opacity: 0.7 !important;
}

.tol-btn {
  padding: 5px 15px !important;
  background-color: #aaa !important;
  border-radius: 5px !important;
  font-size: 1.5em !important;
  cursor: pointer !important;
  color: white !important;
  transition: 250ms ease !important;
  text-decoration: none !important;
  font-family: 'Quicksand', BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif !important;
  white-space: nowrap !important;
}

.tol-btn:hover {
  background-color: #999690 !important;
}

.tol-pill {
  padding: 2px 10px !important;
  border-radius: 30px !important;
}

.tol-pill-filled {
  color: white !important;
  padding: 2px 10px !important;
  border-radius: 30px !important;
}

.tol-line-3 {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}

/* Modal Date */
#tol-modalDate #tol-dates,
#tol-calendar-resume {
  margin: auto;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  align-items: center !important;
  flex-direction: row !important;
  flex-wrap: wrap;
}

#tol-modalDate #tol-dates div,
#tol-calendar-resume div {
  min-width: 250px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

#tol-calendar-resume div div {
  background-color: #f4f4f4;
  border: 1px solid #ccc;
  border-radius: 5px;
  min-height: 60px !important;
  max-height: 60px !important;
  padding: 0 20px;
  line-height: 60px;
}

.tol-label {
  display: inline-block !important;
  max-width: 100% !important;
  margin: 10px 0px 15px 10px !important;
  font-weight: bold !important;
  font-size: 15px !important;
  color: #222 !important;
  text-transform: uppercase !important;
}

.tol-picker {
  border: 1px solid #c4c4c4 !important;
  border-radius: 5px !important;
  background-color: #fff !important;
  display: block !important;
  padding: 15px !important;
  font-size: 20px !important;
}

#tol-calendar-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  justify-content: center !important;
  align-items: center !important;
  margin-bottom: 40px !important;
}

#tol-calendar .tol-calendar-row {
  display: flex !important;
}

#tol-calendar .tol-calendar-col {
  /* border: 1px solid #eee !important; */
  flex: 1 !important;
  text-align: center !important;
  height: 45px !important;
  line-height: 45px !important;
  cursor: pointer !important;
  position: relative;
}

#tol-calendar .tol-calendar-col-notmonth {
  background-color: #fff !important;
  cursor: default !important;
}

#tol-calendar .tol-calendar-col.notAvailable {
  background-color: rgb(255, 240, 240) !important;
  color: #999;
  text-decoration: line-through !important;
  cursor: default !important;
}

#tol-calendar .tol-calendar-col.daySelected.daySelectedFirst {
  background-color: rgb(165, 214, 255) !important;
  border-radius: 5px 0 0 5px;
}

#tol-calendar .tol-calendar-col.daySelected.daySelectedLast {
  background-color: rgb(165, 214, 255) !important;
  border-radius: 0 5px 5px 0;

}

#tol-calendar .tol-calendar-col.daySelected {
  background-color: rgb(239, 248, 255) !important;
}

/* #tol-calendar .tol-calendar-col:hover{
  background-color:rgb(252, 215, 241) !important;
} */

#tol-calendar-container .tol-calendar-ressource {
  text-align: center !important;
  max-width: 350px !important;
  flex-grow: 1 !important;
}

#tol-calendar-container .tol-calendar-image {
  margin: auto !important;
  width: 50% !important;
  min-width: 140px !important;
  height: 120px !important;
  border-radius: 10px !important;
}

/* Modal hebergements list */
#tol-date-selected {
  font-size: 1.5em !important;
}

#tol-date-selected span {
  font-weight: 700 !important;
}

#tol-modalHebergements #tol-list-hebergements {
  display: flex !important;
  flex-direction: column !important;
  gap: 30px !important;
}

#tol-modalHebergements .tol-hebergement {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 30px !important;
  align-items: center !important;
}

#tol-modalHebergements .tol-hebergement-image {
  width: 250px !important;
  min-width: 250px !important;
  height: 170px !important;
  border-radius: 15px !important;
}

#tol-modalHebergements h1,
#tol-modalHebergements h2,
#tol-modalHebergements h3,
#tol-modalHebergements h4,
#tol-modalHebergements p {
  margin: 0 !important;
}

#tol-modalHebergements .tol-description {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
}

#tol-modalHebergements .tol-hebergement-infos {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 5px !important;
  flex: 1 !important;
}

.tol-hebergement-notavailable .tol-pill,
.tol-hebergement-selectednotavailable .tol-pill {
  border: 1px solid #aaa !important;
}

.tol-hebergement-notavailable .tol-pill-filled,
.tol-hebergement-selectednotavailable .tol-pill-filled {
  border: 1px solid #aaa !important;
  background-color: #aaa !important;
}

.tol-hebergement-notavailable .tol-btn-select,
.tol-hebergement-selectednotavailable .tol-btn-select {
  background-color: #aaa !important;
}

.tol-hebergement-notavailable .tol-btn-select:hover,
.tol-hebergement-selectednotavailable .tol-btn-select:hover {
  background-color: #aaa !important;
}

.tol-hebergement-notavailable,
.tol-hebergement-notselected {
  transform: scale(0.8) !important;
}

/* Modal reservation */
#tol-reservation-primaryinfos .tol-reservation-image {
  width: 300px !important;
  min-width: 300px !important;
  height: 200px !important;
  border-radius: 15px !important;
}

#tol-form-reservation input {
  margin: 20px 0 !important;
  display: block !important;
  height: 40px !important;
  font-size: 20px !important;
  padding: 5px 10px !important;
  border-radius: 5px !important;
  background-color: #fff !important;
  border: 1px solid #c4c4c4 !important;
  width: calc(100% - 20px) !important;
}

#tol-form-reservation .tol-form-names {
  margin: 20px 0 !important;
  width: calc(100%) !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}

#tol-form-reservation .tol-form-names input {
  display: inline-block !important;
  margin: 0 !important;
}

#tol-reservation-result {
  margin-top: 20px !important;
  border-radius: 30px !important;
  width: 100% !important;
}

/* Mobile supercountry */
#teoola-supercountry-select {
  background-color: #ddd !important;
  cursor: pointer !important;
}

#teoola-supercountry-select:hover {
  background-color: #bbb !important;
}

.teoola-country-row:hover {
  background-color: #ddd !important;
  cursor: pointer !important;
}

#tol-resume-dateDebut,
#tol-resume-dateFin,
#tol-resume-prix,
#tol-resume-nuite {
  border: 2px solid #ccc !important;
}

#tol-resume-dateDebut.tol-input-selected,
#tol-resume-dateFin.tol-input-selected,
#tol-resume-prix.tol-input-selected,
#tol-resume-nuite.tol-input-selected {
  border: 2px solid rgb(25, 162, 25) !important;
}

.tol-calendar-state {
  position: absolute;
  margin: -10px 0 0 -120px;
  white-space: nowrap;
  background: #ffffff;
  left: 0;
  top: 0;
  font-size: 16px;
  height: 20px;
  line-height: 20px;
  border: 1px solid rgb(206, 78, 78);
  padding: 2px 12px;
  border-radius: 30px 30px 0 30px;
  z-index: 1000;
}