@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulseIcon {
  0%,
  to {
    transform: scale(1);
  }
  50% {
    transform: scale(1.12);
  }
}
.navbar li {
  position: relative;
}
input {
  height: 40px;
}
::placeholder {
  text-align: center;
}
body,
html {
  overflow-x: hidden;
}
.reservation-block {
  background: #f7f7f7;
  padding: 30px 10px;
}
.progress {
  position: relative;
  top: 45px;
  background-color: rgba(233, 236, 239, 0.3098039216);
}
.progress-bar,
.table-dark th {
  background-color: #000;
}
.stepClass {
  max-width: 1300px;
  margin: 0 auto;
  background: #fff;
  border-radius: 14px;
  padding: 0px 24px 40px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.step-circle.disabled {
  pointer-events: none;
  opacity: 0.4;
}
.step-container {
  margin: 20px 0 30px;
  position: relative;
}
.step-circle {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 2px solid transparent;
}
.step-circle.active {
  background: #000;
  color: #fff;
}
.step-circle.active i {
  color: #fff !important;
}
.step {
  display: none;
}
.step.active {
  display: block;
}
.card-step {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 24px;
  background: #fff;
}
.step-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 2rem;
  text-align: center;
}
.step-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background-color: #0c3755;
  margin: 5px auto 0;
  border-radius: 2px;
}
.btn-nav {
  min-width: 120px;
  padding: 10px 20px;
  border-radius: 999px;
}
.booking-card {
  display: flex;
  align-items: stretch;
  gap: 0;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  max-width: 1000px;
  max-height: fit-content;
  margin: 0 auto;
}
.booking-card__image-wrapper {
  position: relative;
  max-width: 350px;
  height: auto;
  flex-shrink: 0;
  padding: 10px;
}
.booking-card__image {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 8px;
}
.booking-card__content {
  flex: 1;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}
.booking-card__title {
  font-size: 1.2rem;
  line-height: 1.1;
  font-weight: 700;
  margin-bottom: 24px;
  color: #111;
  text-transform: initial;
}
.booking-card__meta {
  font-size: 0.9rem;
  color: #333;
  margin-bottom: 0;
  font-weight: 500;
}
.booking-card__feature {
  font-size: 0.9rem;
  color: #333;
  margin-bottom: 14px;
}
.booking-card__description {
  margin-top: 1rem;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #333;
}
.booking-card__notice {
  font-size: 0.8rem;
  line-height: 1.5;
  font-weight: 600;
  color: #222;
  margin-bottom: 0;
}
.booking-card__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border: 0;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  z-index: 2;
}
.container-booking {
  max-width: 1000px;
  margin: 4rem auto 0;
}
.block-tarif {
  margin-top: 30px;
  max-width: 400px;
  margin-left: auto;
}
.block-tarif h3 {
  font-size: 16px;
  margin-bottom: 10px;
  text-transform: capitalize;
}
.block-tarif .text-muted {
  font-size: 14px;
  color: #555;
  margin-bottom: 20px;
}
.block-tarif .amount {
  font-size: 1.5rem;
  font-weight: 500;
}
.block-tarif .hors-taxe,
.block-tarif .night {
  font-size: 0.8rem;
  color: #555;
  font-weight: 500;
}
.block-tarif .hors-taxe {
  font-size: 0.7rem;
}
@media (max-width: 991px) {
  .booking-card {
    flex-direction: column;
  }
  .booking-card__image-wrapper {
    flex: none;
  }
  .booking-card__content {
    padding: 24px 20px;
  }
  .booking-card__title {
    font-size: 1.2rem;
  }
  .booking-card__description,
  .booking-card__notice {
    max-width: 100%;
  }
  .stepClass {
    padding: 0px 15px 30px;
  }
}
.reservation-card {
  max-width: 1400px;
  margin: 0 auto 2rem;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.reservation-top {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px;
}
.reservation-image-box {
  border-radius: 10px;
  overflow: hidden;
}
.reservation-image {
  display: block;
  max-width: 350px;
  height: auto;
  object-fit: cover;
}
.reservation-main {
  flex: 1;
  padding: 20px;
  min-width: 0;
}
.reservation-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 22px;
}
.reservation-title {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
}
.reservation-price-top {
  font-size: 20px;
  font-weight: 500;
  white-space: nowrap;
}
.reservation-details {
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-size: 20px;
}
.detail-row {
  color: #1f2430;
}
.detail-icon {
  text-align: center;
}
.more-btn {
  width: fit-content;
  background: 0 0;
  border: 0;
  padding: 0;
  font-size: 18px;
  cursor: pointer;
  color: #1f2430;
}
.reservation-actions {
  display: flex;
  gap: 12px;
  align-self: flex-start;
}
.card-paiement button,
.qty-btn {
  border-radius: 10px;
  cursor: pointer;
}
.qty-btn {
  width: 58px;
  height: 58px;
  border: 1px solid #cfd5df;
  background: #fff;
  font-size: 32px;
  line-height: 1;
}
.reservation-add-stay {
  text-align: center;
  padding: 46px 0 40px;
  font-size: 22px;
  color: #1f2430;
}
.reservation-summary {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 24px 24px 10px;
}
.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.summary-row-main {
  padding-bottom: 18px;
}
.summary-title {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 8px;
}
.summary-item {
  font-size: 16px;
  margin-bottom: 0;
  font-weight: 300;
}
.summary-sub {
  font-size: 14px;
  color: #5c6270;
}
.summary-price {
  font-size: 20px;
  font-weight: 500;
  white-space: nowrap;
}
.summary-price.small,
.summary-total-right small {
  font-size: 14px;
  font-weight: 300;
  color: #4f5563;
}
.summary-section {
  border-top: 1px solid #e8ebf0;
  padding: 16px 0 10px;
}
.summary-section-title {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
}
.summary-total {
  border-top: 1px solid #e8ebf0;
  margin-top: 8px;
  padding: 18px 0 8px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 18px;
  font-weight: 600;
}
.summary-total-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.summary-total-right strong {
  font-size: 20px;
}
.summary-total-right small {
  color: #5c6270;
}
.card-paiement {
  overflow: hidden;
}
.field {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.payment-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.card-paiement input {
  max-width: 100%;
  width: 100%;
  height: 46px;
  border: 1px solid #ccd5e0;
  border-radius: 6px;
  padding: 0 12px;
  font-size: 15px;
}
@media (max-width: 1100px) {
  .reservation-image-box {
    width: 100%;
    min-width: auto;
  }
  .reservation-actions {
    align-self: flex-end;
  }
  .reservation-header {
    flex-direction: column;
  }
}

@media (max-width: 990px) {
  .reservation-top {
    flex-direction: column;
  }
  .reservation-image {
    max-width: 100%;
  }
}

.detail-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
}
.detail-icon {
  font-size: 20px;
  width: 25px;
  color: #000;
}
#error-information {
  color: red;
  font-size: 14px;
}
.card-paiement {
  width: 100%;
  max-width: 500px;
  margin: auto;
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.card-paiement h2 {
  margin-top: 0;
  margin-bottom: 20px;
}
.card-paiement .field {
  margin-bottom: 16px;
}
.card-paiement label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 14px;
}
.card-paiement .secure-box {
  width: 100%;
  height: 46px;
  border: 1px solid #ccd5e0;
  border-radius: 6px;
  padding: 10px 12px;
  background: #fff;
}
.card-paiement .row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.card-paiement button {
  width: 100%;
  height: 46px;
  border: 0;
  background: #2563eb;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.card-paiement #message {
  margin-top: 14px;
  font-size: 14px;
}
.booking-form .form-label {
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  color: #1f2430;
  font-size: 15px;
}
.booking-form-card {
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}
.booking-form-header {
  margin-bottom: 24px;
}
.step-description {
  margin: 2rem 0;
  font-size: 14px;
  color: #667085;
}
.form-label {
  font-weight: 600;
  margin-bottom: 8px;
  color: #1f2430;
}
.required {
  color: #dc3545;
}
.custom-input {
  min-height: 45px;
  border: 1px solid #d0d5dd;
  padding: 10px 12px;
  font-size: 15px;
  box-shadow: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.custom-input:focus {
  border-color: #111827;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.02);
}
.custom-textarea {
  min-height: 120px;
  resize: vertical;
}
.custom-textarea::placeholder {
  color: #667085;
  font-size: 14px;
  text-align: left;
  font-weight: 300;
}
.form-help-text {
  display: inline-block;
  margin-top: 8px;
  font-size: 14px;
  color: #667085;
}
.form-message {
  min-height: 24px;
  font-size: 14px;
  font-weight: 500;
  color: #dc3545;
}
.booking-form-actions {
  gap: 16px;
}
.booking-confirmation {
  max-width: 500px;
  margin: 80px auto;
  padding: 40px;
  background: #fff;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.confirmation-icon {
  font-size: 70px;
  color: #28a745;
  margin-bottom: 20px;
}
.confirmation-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 10px;
}
.confirmation-message {
  font-size: 18px;
  color: #666;
}
.confirmation-buttons {
  margin-top: 25px;
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}
#bloc-confirmation {
  display: none;
}
body {
  font-family: "Kanit", sans-serif;
  font-weight: 300;
  color: #000;
}
a,
a:hover {
  color: #000;
  text-decoration: none;
}
a:hover {
  color: #1a1a1a;
}
.btn,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Kanit", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}
.btn-cta,
.btn-cta-1 {
  display: inline-block;
  padding: 12px 35px;
  border-radius: 50px;
  transition: 0.2s;
  color: #fff;
  background: #000;
  border: solid 1px #fff;
}
.btn-cta-1 {
  padding: 12px 20px !important;
}
.btn-cta-1:active,
.btn-cta-1:hover,
.btn-cta:active,
.btn-cta:hover {
  color: #000 !important;
  background: #fff !important;
  border: solid 1px #000 !important;
}
button.btn-close {
  background-color: #fff;
  color: #000;
}
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}
#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #000;
  border-top-color: #737373;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1s linear infinite;
}
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: #000;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}
.back-to-top i {
  font-size: 28px;
  color: #fff;
  line-height: 0;
}
.back-to-top:hover {
  background: #141414;
  color: #fff;
}
.back-to-top.active {
  visibility: visible;
  opacity: 1;
}
.datepicker-dropdown {
  padding: 20px !important;
}
.shadow-small {
  box-shadow: 0 10px 20px -10px #000;
}
.shadow-medium {
  box-shadow: 0 12px 20px -10px #000;
}
.shadow-large {
  box-shadow: 0 16px 20px -10px #000;
}
.img-filter1 {
  position: relative;
  background: cover;
  background-position: center bottom;
  min-height: 100vh;
  transition: all 0.1s;
}
.img-filter-1:after,
.img-filter1:after,
.img-filter:after {
  backdrop-filter: brightness(1) grayscale(10%) contrast(125%);
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  transition: all 0.1s;
}
.img-filter-1:hover:after,
.img-filter1:hover:after,
.img-filter:hover:after {
  backdrop-filter: brightness(1.15) grayscale(0%) contrast(150%);
}
.img-filter,
.img-filter-1 {
  background-size: cover;
  background-repeat: no-repeat;
  background-position-x: center;
  position: relative;
  color: #fff;
  border: solid 1px #fff;
  transition: all 0.1s;
}
.img-filter-1 {
  background-position-x: left !important;
  background-size: contain;
}
.content {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}
.content .centered {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
#footer #logo-white img,
.content .centered img {
  height: auto;
}
.text-shadow {
  text-shadow: 2px 2px 10px #000;
  filter: drop-shadow(2px 2px 2px #000);
}
.thumbnail {
  padding: 0;
}
.thumbnail-xs {
  height: 20vh;
  min-height: 100px;
}
.thumbnail-small {
  height: 30vh;
  min-height: 300px;
}
.thumbnail-medium {
  height: 35vh;
  min-height: 360px;
}
.thumbnail-large {
  height: 70vh;
  min-height: 500px;
}
.thumbnail .btn-cta,
.thumbnail .btn-cta-1,
.thumbnail .btn-custom {
  position: absolute;
  top: 80%;
  left: 0;
  transform: translateY(-50%);
  width: 60%;
  margin: 0 20%;
}
.thumbnail .btn-custom {
  font-size: 10px;
}
.btn-calendar,
.btn-custom {
  display: inline-block;
  padding: 12px 35px;
  border-radius: 50px;
  transition: 0.2s;
  color: #fff;
  background: #000;
  border: solid 1px #fff;
}
.btn-calendar:active,
.btn-calendar:hover,
.btn-custom:active,
.btn-custom:hover {
  color: #000 !important;
  background: #fff !important;
  border: solid 1px #000 !important;
}
.btn-calendar {
  position: absolute;
  top: 70px;
  left: 20px;
  z-index: 1000;
  font-size: 10px;
  padding: 5px 25px;
}
.title-black {
  background-color: #000;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.2rem;
  padding: 1.5rem 0;
  margin: 0;
  text-align: center;
}
.row {
  --bs-gutter-x: 0rem;
}
.text-only {
  margin: 10vh 20vw;
}
.offcanvas {
  background-color: #000;
  color: #fff;
}
.widget .input-group {
  min-height: 60px;
}
.widget .input-group-text {
  height: 100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.widget select {
  border-color: #ddd;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  padding: 0 10px;
  font-size: 100%;
}
@media (max-width: 991px) {
  .thumbnail {
    padding: 0;
  }
  .thumbnail-xs {
    height: 20vh;
    min-height: 100px;
    width: 50%;
  }
  .thumbnail .btn-custom {
    font-size: 7px;
    display: flex;
    justify-content: center;
  }
}
.tf-v1-sidetab-button {
  border: 1px solid #fff !important;
  border-bottom: none !important;
}
.tf-v1-sidetab {
  z-index: 10 !important;
}
.title-modal {
  font-size: 130%;
}
.space {
  padding: 90px 0;
}
a.text-a {
  text-decoration: underline;
}
.category {
  text-transform: capitalize;
  font-weight: 700;
  color: #9a9a9a;
}
.title-link,
a.text-a {
  color: #fff;
}
.nav-item .nav-link,
.nav-tabs .nav-link {
  -webkit-transition: all 300ms ease 0s;
  transition: all 300ms ease 0s;
}
.nav-tabs {
  border: 0;
  padding: 15px 0.7rem;
}
.nav-tabs:not(.nav-tabs-neutral) > .nav-item > .nav-link.active {
  box-shadow: 0 5px 35px 0 rgba(0, 0, 0, 0.3);
}
.card .nav-tabs {
  border-top-right-radius: 0.1875rem;
  border-top-left-radius: 0.1875rem;
}
.nav-tabs > .nav-item > .nav-link {
  color: #888;
  margin: 0 5px 0 0;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 30px;
  font-size: 14px;
  padding: 11px 23px;
  line-height: 1.5;
}
.nav-tabs > .nav-item > .nav-link.active {
  background-color: #444;
  border-radius: 30px;
  color: #fff;
}
.tabs-card {
  border: 0;
  border-radius: 0.1875rem;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-bottom: 30px;
  box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.2);
}
.tabs-card .tabs-header {
  border-bottom: 0;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
}
.new-padding {
  padding: 3rem;
}
.new-m-3,
.new-p-3 {
  padding: 1rem;
}
.star {
  color: red;
}
.btn-top-1 {
  top: 70% !important;
}
.btn-top-2 {
  top: 90% !important;
}
@media screen and (max-width: 768px) {
  .nav-tabs {
    display: inline-block;
    width: 100%;
    padding-left: 100px;
    padding-right: 100px;
    text-align: center;
  }
  .nav-tabs .nav-item > .nav-link {
    margin-bottom: 5px;
  }
  .plat-img {
    background-size: cover !important;
  }
  .tf-v1-sidetab {
    display: none;
  }
  .thumbnail-large {
    height: 50vh;
    min-height: 300px;
  }
  .new-padding {
    padding: 1.5rem !important;
  }
  .new-p-3 {
    padding: 0 !important;
  }
  .new-m-3 {
    padding: 1.5rem !important;
  }
}
.plat-img {
  background-size: contain;
}
.hide {
  display: none;
}
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup .popup-content {
  max-width: 850px;
  width: 90%;
  border-radius: 8px;
}
.popup .popup-text h2 {
  margin: 25px 0 20px;
}
.popup .btn-popup {
  padding: 15px;
  text-transform: uppercase;
  background-color: #000;
  color: #fff;
  font-weight: 700;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1;
}
.popup .btn-popup::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(90deg, #000, #555, #000);
  transition: transform 0.5s ease;
  z-index: 0;
}
.popup .btn-popup:hover::before {
  transform: translateX(50%);
}
.popup .btn-popup > span {
  position: relative;
  z-index: 2;
}
.popup .popup-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px 0 0 8px;
}
.popup .popup-logo-desktop {
  max-width: 180px;
}
.popup .close-btn,
.popup .link-close {
  color: #888;
  cursor: pointer;
}
@media (max-width: 768px) {
  .popup .popup-image {
    display: none;
  }
  .reservation-main {
    padding: 20px 10px;
  }
  .summary-row p {
    font-size: 14px;
  }
  .reservation-summary {
    padding: 20px;
  }
}
td.tr-custom {
  border-width: 1px !important;
  border-color: rgba(162, 161, 161, 0.1);
  padding-left: 7px;
}
td.tr-custom.td-with-h6-1 {
  border-right-width: 0 !important;
  width: 70% !important;
}
td.tr-custom.td-with-h6-2 {
  border-left-width: 0 !important;
}
table.table.table-bordered.mt-3 {
  margin-bottom: 0;
}
.btn-section {
  margin-left: 10px;
}
.sections1,
.sections2,
.sections3,
.sections4,
.sections5,
.sections6 {
  display: none;
}
.textes {
  max-height: 390px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.3s ease-in-out;
}
.textes.expanded {
  max-height: none;
}
#loading,
.toggle-link {
  display: flex;
  justify-content: center;
  align-items: center;
}
.toggle-link {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  font-size: 17px;
  margin-top: 10px;
  transition:
    font-size 0.3s ease-in-out,
    color 0.3s ease-in-out;
}
.toggle-link i {
  margin-left: 5px;
  transition: transform 0.3s ease;
}
.toggle-link.expanded i {
  transform: rotate(180deg);
}
.toggle-link:hover {
  font-size: 20px;
  color: #000;
}
h3.tarif-subtitle {
  margin-top: 50px;
}
.tarif-strong,
.toggle-link {
  font-weight: 700;
}
.no-bullet {
  list-style-type: none;
}
@media (max-width: 576px) {
  .textes {
    max-height: 400px;
  }
}
#loading {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}
.spinner-border {
  width: 2.5rem !important;
  height: 2.5rem !important;
  color: #000 !important;
}
.modal-fullscreen {
  height: 85vh;
  width: 85%;
  margin: 7.5vh auto;
}
.modal-fullscreen .modal-content {
  border: 0;
  border-radius: 5px;
}
.navbar ul,
.page-indispo {
  display: flex;
  align-items: center;
}
.page-indispo {
  min-height: 70vh;
  justify-content: center;
  padding: 60px 15px;
}
.card-indispo {
  background: 0 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: 650px;
  width: 100%;
  text-align: center;
}
.indispo-icon {
  font-size: 70px;
  color: #dc3545;
  margin-bottom: 20px;
  animation: pulseIcon 1.2s infinite;
}
.indispo-text {
  font-size: clamp(20px, 4vw, 30px);
  font-weight: 800;
  margin: 0;
}
.subtitle {
  font-size: clamp(14px, 2vw, 16px);
  margin-top: 10px;
}
@media (min-width: 992px) {
  .modal-lg {
    max-width: 875px !important;
  }
}
.navbar {
  padding: 0;
}
.navbar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.navbar > ul > li {
  position: relative;
  white-space: nowrap;
  padding: 8px 0 8px 20px;
}
.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: #9f3223;
  white-space: nowrap;
  transition: 0.3s;
  padding: 5px 2px;
}
.navbar a i,
.navbar a:focus i {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
}
.navbar .active,
.navbar .active:focus,
.navbar a:hover,
.navbar li:hover > a {
  color: #000;
  border: 0;
}
.navbar .dropdown ul {
  display: block;
  left: -50px;
  margin: 5px;
  padding: 10px 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  transition: 0.3s;
}
.navbar .dropdown ul li,
.navbar-mobile .dropdown ul li {
  min-width: 200px;
}
.navbar .dropdown ul a {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  color: #000;
  border: 0;
}
.navbar .dropdown ul a i,
.navbar-mobile .dropdown ul a i {
  font-size: 12px;
}
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul a:hover,
.navbar .dropdown ul li:hover > a {
  color: #000;
}
@media (max-width: 991px) {
  .navbar .dropdown .dropdown ul {
    left: 0;
  }
}
.navbar .dropdown:hover > ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}
@media (max-width: 350px) {
  .navbar .dropdown {
    display: none;
  }
}
.navbar .dropdown-menu {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}
.navbar .dropdown-menu .dropdown-item:hover {
  color: #000 !important;
}
.navbar .dropdown-menu:hover > ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}
@media (max-width: 1366px) {
  .navbar .dropdown-menu ul {
    left: -90%;
  }
  .navbar .dropdown-menu:hover > ul {
    left: -100%;
  }
}
#banner-news {
  background-color: #000;
  z-index: 10;
}
.mobile-nav-toggle {
  color: #9f3223;
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}
.mobile-nav-toggle.bi-x {
  color: #fff;
}
@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }
  .navbar ul {
    align-items: start;
    margin-left: 10px;
  }
}
.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(117, 37, 26, 0.9);
  transition: 0.3s;
  z-index: 999;
}
.navbar-mobile .mobile-nav-toggle,
.navbar-mobile ul {
  position: absolute;
  top: 15px;
  right: 15px;
}
.navbar-mobile ul {
  display: block;
  top: 55px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.3s;
}
.navbar-mobile > ul > li {
  padding: 0;
}
.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 10px 20px;
  font-size: 15px;
  color: #9f3223;
  border: 0;
}
.navbar-mobile .active,
.navbar-mobile .dropdown ul .active:hover,
.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul li:hover > a,
.navbar-mobile a:hover,
.navbar-mobile li:hover > a {
  color: #000;
}
.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
  margin: 15px;
}
.navbar-mobile .dropdown ul {
  position: static;
  display: none;
  margin: 10px 20px;
  padding: 10px 0;
  z-index: 1000;
  background: #fff;
}
.navbar-mobile .dropdown ul a,
.reservation-btn {
  padding: 10px 20px;
}
.navbar-mobile .dropdown > .dropdown-active {
  display: block;
}
.navbar-brand img {
  padding: 6px 30px;
  width: 200px;
  height: auto;
}
@media (max-width: 768px) {
  .navbar-brand img {
    padding: 4px 10px;
    width: 120px;
  }
}
@media (max-width: 424px) {
  .navbar-brand img {
    padding: 4px 5px;
    width: 100px;
  }
}
.logo-hiver:hover,
.navbar-brand:hover {
  border: 0;
  transform: scale(1.05);
}
.logo-hiver img {
  width: 150px;
  height: 50px;
  object-fit: contain;
}
@media (max-width: 768px) {
  .logo-hiver img {
    padding: 4px 10px;
    width: 120px;
    height: 100%;
  }
}
@media (max-width: 424px) {
  .logo-hiver img {
    padding: 4px 5px;
    width: 100px;
    height: 100%;
  }
}
.navbar .icon {
  font-size: 1.2rem;
  line-height: 1.2rem;
  cursor: pointer;
}
.fa-snowflake::before {
  color: #000;
  font-size: 1.3rem;
}
@media (max-width: 768px) {
  .fa-snowflake::before {
    display: none;
  }
}
@media (max-width: 992px) {
  .form {
    margin-left: 5px;
  }
  .navbar li {
    width: 100%;
  }
}
.bx-menu,
.bx-x {
  font-size: 2rem;
}
.accordion-button {
  font-size: 1rem;
}
.row-scroll {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.imgAccordion {
  display: inline-flex;
  height: 20vh;
  min-height: 150px;
  object-fit: cover;
  width: 100%;
}
.textAccordion {
  color: #000;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 0.2rem;
  margin-bottom: 0.2rem;
  background-clip: content-box;
  box-sizing: border-box;
  font-size: 0.7rem;
  display: inherit;
  text-align: center !important;
}
.textAccordion p {
  background-color: #fdf6f6;
  font-size: 0.7rem;
}
.accordion-body {
  padding: 0;
  margin-top: 0.5rem;
}
.accordion-item .show {
  background-color: #fff;
  border: 1px solid #fff;
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.iconCustom {
  content: attr(data-bs-content);
  position: absolute;
  background-color: #000;
  color: #fff;
  padding: 5px 10px;
  border-radius: 4px;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s,
    visibility 0.3s;
}
.iconCustom:hover::before,
.navbar-mobile .dropdown ul {
  opacity: 1;
  visibility: visible;
}
.hero {
  height: calc(90vh - 200px);
  background-position: center 25%;
  border: 0;
  background-size: cover;
}
.hero h1 {
  padding: 25px;
  color: #fff;
}
.hero h2 {
  color: #9f3223;
  font-weight: 300;
  margin: 10px 0 0;
  font-size: 24px;
}
@media (max-width: 992px) {
  .hero {
    margin-bottom: 0;
    height: 60vh;
  }
  .hero .container {
    padding-bottom: 63px;
  }
  .hero h1 {
    font-size: 28px;
    line-height: 36px;
  }
  .hero h2 {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 30px;
  }
}
@media (max-height: 600px) {
  .hero {
    height: 110vh;
  }
}
.tarif-container {
  width: 100%;
  max-width: 500px;
  padding: 0 auto;
}
.tarif-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(221, 221, 221, 0.3294117647);
}
.tarif-label {
  flex: 1;
  padding-right: 10px;
  font-size: 14px;
}
.tarif-price {
  white-space: nowrap;
  font-size: 14px;
}
.tarif-full {
  flex: 2;
  font-weight: 700;
}
.tarif-section-title {
  font-size: 16px;
  font-weight: 700;
  margin-top: 10px;
  margin-bottom: 5px;
  padding-bottom: 5px;
}
#footer {
  font-size: 14px;
  background: #000;
}
#footer h4 {
  font-size: 16px;
  font-weight: 700;
  position: relative;
  padding-bottom: 12px;
}
#footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer ul i {
  padding-right: 2px;
  font-size: 18px;
  line-height: 1;
}
#footer ul li {
  padding: 10px 0;
  display: flex;
}
#footer ul li:first-child {
  padding-top: 0;
}
#footer a {
  color: #ddd;
  transition: 0.3s;
  display: inline-block;
  line-height: 1;
}
#footer a:hover {
  text-decoration: none;
}
img.cs-footer {
  height: 15vh;
  width: 150px;
  object-fit: contain;
}
.style-cs {
  margin-left: calc(10px + 1%);
}
@media (max-width: 991px) {
  img.cs-footer {
    height: 12vh;
    width: 115px;
    object-fit: contain;
    margin-left: 5px;
  }
}
#camping-1 {
  background-image: url(../img/camping-1.webp);
}
#camping-2 {
  background-image: url(../img/camping-2.webp);
}
#camping-3 {
  background-image: url(../img/camping-3.webp);
}
#camping-4 {
  background-image: url(../img/camping-4.webp);
}
#jeux-eau-1 {
  background-image: url(../img/jeux-eau-1.webp);
}
#jeux-eau-2 {
  background-image: url(../img/jeux-eau-2.webp);
}
#jeux-eau-3 {
  background-image: url(../img/jeux-eau-3.webp);
}
#jeux-eau-4 {
  background-image: url(../img/jeux-eau-4.webp);
}
#jeux-eau-5 {
  background-image: url(../img/jeux-eau-5.webp);
}
#rustique-1 {
  background-image: url(../img/rustique-1.webp);
}
#rustique-2 {
  background-image: url(../img/rustique-2.webp);
}
#maison-epoque-1 {
  background-image: url(../img/maison-epoque-1.webp);
}
#maison-epoque-2 {
  background-image: url(../img/maison-epoque-2.webp);
}
#maison-epoque-3 {
  background-image: url(../img/maison-epoque-3.webp);
}
#maison-epoque-4 {
  background-image: url(../img/maison-epoque-4.webp);
}
#maison-epoque-5 {
  background-image: url(../img/maison-epoque-5.webp);
}
#maison-epoque-6 {
  background-image: url(../img/maison-epoque-6.webp);
}
#maison-epoque-7 {
  background-image: url(../img/maison-epoque-7.webp);
}
#maison-epoque-8 {
  background-image: url(../img/maison-epoque-8.webp);
}
#maison-epoque-9 {
  background-image: url(../img/maison-epoque-9.webp);
}
#maison-epoque-10 {
  background-image: url(../img/maison-epoque-10.webp);
}
#maison-epoque-12 {
  background-image: url(../img/maison-epoque-12.webp);
}
#maison-epoque-13 {
  background-image: url(../img/maison-epoque-13.webp);
}
#maison-epoque-14 {
  background-image: url(../img/maison-epoque-14.webp);
}
#maison-epoque-15 {
  background-image: url(../img/maison-epoque-15.webp);
}
#restaurant-4 {
  background-image: url(../img/restaurant-4.webp);
}
#restaurant-5 {
  background-image: url(../img/restaurant-5.webp);
}
#restaurant-6 {
  background-image: url(../img/restaurant-6.webp);
}
#mini-maison-1 {
  background-image: url(../img/mini-maison-1.webp);
}
#mini-maison-2 {
  background-image: url(../img/Chalet-d-exception-hiver-extérieur.webp);
}
#mini-maison-3 {
  background-image: url(../img/mini-maison-3.webp);
}
#mini-maison-4 {
  background-image: url(../img/mini-maison-4.webp);
}
#mini-maison-5 {
  background-image: url(../img/mini-maison-5.webp);
  background-position: center;
}
#mini-maison-6 {
  background-image: url(../img/mini-maison-6.webp);
}
#mini-maison-7 {
  background-image: url(../img/mini-maison-7.webp);
}
#mini-maison-8 {
  background-image: url(../img/mini-maison-8.webp);
}
#mini-maison-9 {
  background-image: url(../img/mini-maison-9.webp);
}
#mini-maison-10 {
  background-image: url(../img/mini-maison-10.webp);
}
#mini-maison-11 {
  background-image: url(../img/mini-maison-11.webp);
}
#mini-maison-12 {
  background-image: url(../img/mini-maison-12.webp);
}
#mini-maison-13 {
  background-image: url(../img/mini-maison-13.webp);
}
#mini-maison-14 {
  background-image: url(../img/minimaison-hiver.webp);
  background-position: center;
}
#mini-maison-15 {
  background-image: url(../img/mini-maison-15.webp);
}
#mini-maison-16 {
  background-image: url(../img/mini-maison-16.webp);
}
#mini-chalet-1 {
  background-image: url(../img/mini-chalet-1.webp);
}
#mini-chalets-1 {
  background-image: url(../img/mini-chalets-1.webp);
}
#mini-chalets-6 {
  background-image: url(../img/mini-chalets-6.webp);
}
#mini-chalet-5 {
  background-image: url(../img/mini-chalet-5.webp);
}
#mini-chalet-2 {
  background-image: url(../img/mini-chalet-2.webp);
}
#mini-chalet-3 {
  background-image: url(../img/mini-chalet-3.webp);
}
#mini-chalet-4 {
  background-image: url(../img/mini-chalet-4.webp);
}
#village-1 {
  background-image: url(../img/village-1.webp);
}
#village-2 {
  background-image: url(../img/village-2.webp);
}
#village-3 {
  background-image: url(../img/village-3.webp);
}
#village-4 {
  background-image: url(../img/village-4.webp);
}
#village-5 {
  background-image: url(../img/village-5.webp);
}
#village-6 {
  background-image: url(../img/village-6.webp);
}
#village-7 {
  background-image: url(../img/village-7.webp);
}
#village-8 {
  background-image: url(../img/village-8.webp);
}
#village-9 {
  background-image: url(../img/village-9.webp);
}
#beautes-du-site-4 {
  background-image: url(../img/beautes-du-site-4.webp);
}
#chute-1 {
  background-image: url(../img/chute-1.webp);
}
#chute-2 {
  background-image: url(../img/chute-2.webp);
}
#chute-3 {
  background-image: url(../img/chute-3.webp);
}
#chute-4 {
  background-image: url(../img/chute-4.webp);
}
#chute-6 {
  background-image: url(../img/chute-6.webp);
}
#chute-7 {
  background-image: url(../img/chute-7.webp);
}
#chute-8 {
  background-image: url(../img/chute-8.webp);
}
#chute-10 {
  background-image: url(../img/chute-10.webp);
}
#chute-12 {
  background-image: url(../img/chute-12.webp);
}
#chute-13 {
  background-image: url(../img/chute-13.webp);
}
#couvent-1 {
  background-image: url(../img/couvent-1.webp);
}
#moulin-1 {
  background-image: url(../img/moulin-1.webp);
}
#riviere-2 {
  background-image: url(../img/riviere-2.webp);
}
#restaurant-1 {
  background-image: url(../img/restaurant-1.webp);
}
#restaurant-2 {
  background-image: url(../img/restaurant-2.webp);
}
#restaurant-3 {
  background-image: url(../img/restaurant-3.webp);
}
#menu-1 {
  background-image: url(../img/menu-1.webp);
}
#menu-2 {
  background-image: url(../img/menu-2.webp);
}
#menu-3 {
  background-image: url(../img/menu-3.webp);
}
#menu-4 {
  background-image: url(../img/menu-4.webp);
}
#menu-5 {
  background-image: url(../img/menu-5.webp);
}
#menu-7 {
  background-image: url(../img/menu-7.webp);
}
#menu-8 {
  background-image: url(../img/menu-8.webp);
}
#menu-9 {
  background-image: url(../img/menu-11.webp);
}
#menu-10 {
  background-image: url(../img/menu-10.webp);
}
#menu-11 {
  background-image: url(../img/menu-11.webp);
}
#beemer-1 {
  background-image: url(../img/beemer-1.webp);
}
#beemer-2 {
  background-image: url(../img/beemer-2.webp);
}
#dompe-2 {
  background-image: url(../img/dompe-2.webp);
}
#dompe-3 {
  background-image: url(../img/dompe-3.webp);
}
#dompe-4 {
  background-image: url(../img/dompe-4.webp);
}
#glace-1 {
  background-image: url(../img/glaces-1.webp);
}
#glace-2 {
  background-image: url(../img/glaces-2.webp);
}
#glace-5 {
  background-image: url(../img/glaces-5.webp);
}
#hiver-1 {
  background-image: url(../img/hiver-1.webp);
}
#hiver-3 {
  background-image: url(../img/hiver-3.webp);
}
#hiver-4 {
  background-image: url(../img/hiver-4.webp);
}
#hiver-5 {
  background-image: url(../img/hiver-5.webp);
}
#hiver-8 {
  background-image: url(../img/hiver-8.webp);
}
#hiver-9 {
  background-image: url(../img/hiver-9.webp);
}
#hiver-10 {
  background-image: url(../img/hiver-10.webp);
}
#hiver-12 {
  background-image: url(../img/hiver-12.webp);
}
#hiver-15 {
  background-image: url(../img/hiver-15.webp);
}
#hiver-16 {
  background-image: url(../img/hiver-16.webp);
}
#hiver-18 {
  background-image: url(../img/hiver-18.webp);
}
#telepherique-1 {
  background-image: url(../img/telepherique-1.webp);
}
#telepherique-2 {
  background-image: url(../img/telepherique-2.webp);
}
#animation-1 {
  background-image: url(../img/animation-1.webp);
}
#animation-2 {
  background-image: url(../img/animation-2.webp);
}
#animation-3 {
  background-image: url(../img/animation-3.webp);
}
#archives-1 {
  background-image: url(../img/archives-1.webp);
}
#archives-2 {
  background-image: url(../img/archives-2.webp);
}
#archives-3 {
  background-image: url(../img/archives-3.webp);
}
#archives-4 {
  background-image: url(../img/archives-4.webp);
}
#archives-5 {
  background-image: url(../img/archives-5.webp);
}
#boucherie-1 {
  background-image: url(../img/boucherie-1.webp);
}
#magasin-general-2 {
  background-image: url(../img/magasin-general-2.webp);
}
#autobus-1 {
  background-image: url(../img/autobus-1.webp);
}
#autobus-2 {
  background-image: url(../img/autobus-2.webp);
}
#spectacle-immersif-1 {
  background-image: url(../img/spectacle-immersif-1.webp);
}
#spectacle-immersif-2 {
  background-image: url(../img/spectacle-immersif-2.webp);
}
#spectacle-immersif-3 {
  background-image: url(../img/spectacle-immersif-3.webp);
}
#spectacle-immersif-4 {
  background-image: url(../img/spectacle-immersif-4.webp);
}
#randonne-1 {
  background-image: url(../img/randonne-1.webp);
}
#randonne-2 {
  background-image: url(../img/randonne-2.webp);
}
#randonne-3 {
  background-image: url(../img/randonne-3.webp);
}
#randonne-4 {
  background-image: url(../img/randonne-4.webp);
}
#randonne-5 {
  background-image: url(../img/randonne-5.webp);
}
#dompe-5 {
  background-image: url(../img/dompe-5.webp);
}
#hiver-21 {
  background-image: url(../img/hiver-21.webp);
}
#hiver-13 {
  background-image: url(../img/hiver-13.webp);
}
#hiver-14 {
  background-image: url(../img/hiver-14.webp);
}
#hiver-17 {
  background-image: url(../img/trotinette-2023.webp);
}
#feu-1 {
  background-image: url(../img/feu-1.webp);
}
#glissade-1 {
  background-image: url(../img/glissade-1.webp);
}
#soir-1 {
  background-image: url(../img/soir-1.webp);
}
#emploi-2 {
  background-image: url(../img/emploi-2.webp);
}
#emploi-3 {
  background-image: url(../img/emploi-3.webp);
}
#passeport-1 {
  background-image: url(../img/passeport-1.webp);
}
#passeport-2 {
  background-image: url(../img/passeport-2.webp);
}
#passeport-3 {
  background-image: url(../img/passeport-3.webp);
}
#passeport-4 {
  background-image: url(../img/passeport-4.webp);
}
#zoo-1 {
  background-image: url(../img/zoo-1.webp);
}
#st-antoine-1 {
  background-image: url(../img/st-antoine-1.webp);
}
#museevieille-1 {
  background-image: url(../img/museevieille-1.webp);
}
#museeilnu-1 {
  background-image: url(../img/museeilnu.webp);
}
#festivaldevin-1 {
  background-image: url(../img/festivaldevin-1.webp);
}
#parc-1 {
  background-image: url(../img/parc-1.webp);
}
#rodeo-7 {
  background-image: url(../img/rodeo-7.webp);
}
#tarif-acces-img {
  width: 100%;
  background-image: url(../img/acces-visite.webp);
}
#tarif-camping-img {
  width: 100%;
  background-image: url(../img/camping.webp);
}
#tarif-chambres-img {
  background-image: url(../img/chambres.webp);
}
#tarif-minimaison-img {
  background-image: url(../img/minimaisons.webp);
}
#tarif-chalets-img {
  background-image: url(../img/mini-chalet.webp);
}
#tarif-chalets-1-img {
  background-image: url(../img/mini-chalet-2.webp);
}
#news img {
  display: block;
  margin: 2rem auto;
  max-width: 100%;
  height: auto;
}
.card-wrapper {
  margin-bottom: 30px;
  padding-top: 50px;
}
.card-image .card .card-img-wrapper {
  height: 100%;
}
.card-image .card .card-body {
  display: none;
}
.card-image-title-description .card .card-img-wrapper {
  max-height: 160px;
}
.card,
.card-image-title-description .card {
  position: relative;
  min-height: 300px;
}
.card-image-title-description .card .card-body {
  height: auto;
  position: relative;
  top: 0;
  margin-bottom: -70px;
}
.card-image-title-description .card:hover .card-body {
  top: -70px;
}
.card-image-title-description .card .card-body .card-title,
.card:hover .card-body .card-title {
  margin-bottom: 0.75rem;
}
.card {
  display: inline-block;
  overflow: hidden;
  min-height: 400px;
  height: 100%;
}
.card:hover {
  box-shadow: 8px 12px 31px -10px #ab98ab;
}
.card-img-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50%;
  overflow: hidden;
}
.card-img-wrapper img {
  transition: 1.5s ease;
}
.card:hover .card-img-wrapper img {
  transform: scale(1.15);
}
.card-body .card-title {
  margin-bottom: calc(50% + 20px);
  transition: 1.5s ease;
}
.card-body,
.card-content {
  left: 0;
  right: 0;
  transition: 1.5s ease;
}
.card-body {
  position: absolute;
  bottom: 0;
  height: 50%;
  background-color: #fff;
}
.card-content {
  overflow: hidden;
  width: 100%;
  height: auto;
}
.card:hover .card-body {
  height: 80%;
}
.card:hover .card-content {
  bottom: 0;
}
.tarif-text {
  padding: 5px 15px;
}
.calendar-icon {
  position: absolute;
  top: 3px;
  left: calc(50% - 100px);
  height: 35px;
  width: 35px;
}
.calendar-input {
  position: relative;
}
#multi-range {
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 15px;
  border-radius: 4px;
}
#multi-range:focus-visible {
  outline: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align-last: left;
}
.calendar-input,
.modal-body {
  display: flex;
  align-items: center;
}
.modal-body {
  flex-wrap: wrap;
  justify-content: center;
  height: 100%;
}
.calendar-input {
  flex-direction: column;
}
.mbsc-ios.mbsc-datepicker-inline {
  border-top: none !important;
}
#cookiescript_badge:hover {
  transform: none !important;
  transition: transform 0.2s !important;
}
#cookiescript_badgeimage > img {
  max-width: 40% !important;
  max-height: 100% !important;
}
.map-container {
  position: fixed;
  margin: 0;
  padding: 0;
  left: 0;
  top: 0;
  overflow: auto;
  width: 100%;
  height: 100%;
}
.map {
  width: 2080px;
  height: 1030px;
  position: relative;
}
.hidden-button {
  position: absolute;
  opacity: 0;
}
.legend {
  top: 10px;
  left: 20px;
  background: #000;
  color: #fff;
  padding: 10px;
}
.date,
.legend,
.legend-icone {
  position: absolute;
  z-index: 1000;
}
.legend-icone {
  top: 577px;
  left: 940px;
  background: rgba(161, 189, 130, 0.5882352941);
  color: #000;
  padding: 15px 2px;
  width: 240px;
  font-size: 10px;
}
.date {
  top: 70px;
  left: 20px;
  background: #000;
  color: #fff;
  padding: 4px 15px;
  font-size: 15px;
}
.tooltip {
  z-index: 1500;
}
.modal {
  z-index: 2000;
}
.available.not-selected,
.available.selected,
.unavailable.not-selected,
.unavailable.selected {
  opacity: 0.65;
  border-radius: 50%;
  background-color: #9d8686;
  color: transparent;
  padding: 0 4px;
  border: 0;
}
.available.selected,
.unavailable.selected {
  background-color: #eb0000;
}
.available.selected {
  background-color: #03cf03;
}
span.available-modal.selected-modal,
span.unavailable-modal.selected-modal {
  margin-left: 15px;
  color: transparent;
  padding: 5px 10px;
  border-radius: 80px;
  font-size: 10px;
}
span.available-modal.selected-modal {
  background: green;
}
span.unavailable-modal.selected-modal {
  background: red;
}
span.available-modal.not-selected-modal,
span.unavailable-modal.not-selected-modal {
  margin-left: 15px;
  background-color: #4f4f4f;
  color: transparent;
  padding: 5px 10px;
  border-radius: 80px;
  font-size: 10px;
}
#multi-range {
  height: 100%;
  width: 100%;
}
.btn-service {
  display: inline-block;
  font-family: "Kanit", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
  padding: 12px 35px;
  border-radius: 50px;
  opacity: 0.3;
  transition: 0.2s;
  color: #fff;
  background-color: #4f4f4f;
  border: solid 1px #fff;
}
span.icone {
  padding: 3px 9px;
  margin: 20px 20px 20px 40px;
  border-radius: 20px;
  border: 1px solid #fff;
}
span.icone.x-available {
  color: transparent;
  border: 0;
  background-color: #03cf03;
}
span.icone.x-not-filter,
span.icone.x-unavailable {
  color: transparent;
  border: 0;
  background-color: #eb0000;
}
span.icone.x-not-filter {
  background-color: #9d8686;
}
span.p-text {
  font-size: 12px;
  font-weight: 700;
}
.wg-default .country-selector {
  left: 180px;
  right: auto !important;
}
.weglot-container {
  z-index: 1000 !important;
}
#cookiescript_badge {
  border-radius: 0 !important;
  left: 10px !important;
  bottom: 0 !important;
  z-index: 100 !important;
}

.loading-charge {
  font-size: 14px;
  font-weight: 300;
  color: #7a7a7a;
  margin: 20px 0;
  position: relative;
}

.loading-charge::after {
  content: "";
  display: inline-block;
  width: 20px;
  text-align: left;
  animation: dots 0.5s infinite;
}

@keyframes dots {
  0% {
    content: "";
  }
  33% {
    content: ".";
  }
  66% {
    content: "..";
  }
  100% {
    content: "...";
  }
}
