#hero {
  position: relative;
}
@media (min-width: 576px) {
  #hero {
    padding-top: 65px;
  }
  #hero:before {
    content: "";
    width: 100%;
    height: 70%;
    background-color: var(--hero-bg-color);
    display: block;
    position: absolute;
    top: 0;
  }
  #hero,
  #hero + *:not(#booking-engine-beproc):not(.the-content-wrapper),
  #hero + #booking-engine-beproc + #booking-engine-modal + #booking-engine-placeholder + * {
    background-color: var(--hero-sec-bg-color);
  }
}
#hero .hero-wrapper {
  position: relative;
  --bs-aspect-ratio: 80%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #131313;
}
@media (max-width: 575.98px) {
  #hero .hero-wrapper {
    padding-inline: 0;
    max-width: unset;
  }
}
@media (min-width: 576px) {
  #hero .hero-wrapper {
    --bs-aspect-ratio: 32%;
  }
}
#hero .hero-wrapper img {
  filter: brightness(0.9);
}
#hero .hero-content {
  position: relative;
  color: #fff;
  text-shadow: 0 0 50px #000;
}
#hero .hero-content .small {
  font-size: clamp(20px, var(--padding-factor) * 0.035, 50px);
}
#hero .hero-content h1 {
  font-size: clamp(40px, var(--padding-factor) * 0.07, 100px);
  font-weight: normal;
}
#hero .breadcrumbs-section {
  background-color: var(--hero-sec-bg-color);
}
#hero #breadcrumbs {
  padding-block: 3px 14px;
}
@media (min-width: 768px) {
  #hero #breadcrumbs {
    padding-block: 14px;
  }
}

.block-newsletter {
  background-color: #d3c2d8;
  position: relative;
  display: flex;
  align-items: center;
  padding: calc(var(--bs-gutter-x) * 0.5);
}
@media (min-width: 992px) {
  .block-newsletter {
    padding-block: 35px;
    min-height: 200px;
  }
}
.block-newsletter .aside {
  position: absolute;
  left: 50%;
  top: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-inline: 6%;
}
@media (max-width: 991.98px) {
  .block-newsletter .aside {
    display: none;
  }
}
.block-newsletter .aside img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.block-newsletter .aside span {
  color: #fff;
  font-size: calc(1.5625rem + 3.75vw);
  position: relative;
}
@media (min-width: 1200px) {
  .block-newsletter .aside span {
    font-size: 4.375rem;
  }
}
.block-newsletter .newsletter-success {
  display: none;
}
.block-newsletter .newsletter-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
@media (min-width: 992px) {
  .block-newsletter .newsletter-wrapper {
    padding-inline-start: calc(var(--padding-factor, 100%) / 2 + 45px) !important;
    gap: 20px;
  }
}
.block-newsletter .newsletter-wrapper.form-submit-success #newsletter-form, .block-newsletter .newsletter-wrapper.form-submit-success #newsletter-title {
  display: none;
}
.block-newsletter .newsletter-wrapper.form-submit-success .newsletter-success {
  display: block;
  font-size: 2rem;
}
.block-newsletter #newsletter-title {
  display: flex;
  flex-direction: column;
  font-size: 15px;
  line-height: 1;
}
@media (min-width: 992px) {
  .block-newsletter #newsletter-title {
    line-height: 1.5;
    display: block;
    font-size: 20px;
  }
}
.block-newsletter #newsletter-title h2 {
  font-size: 2em;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
}
@media (max-width: 991.98px) {
  .block-newsletter #newsletter-title h2 {
    letter-spacing: 0.6px;
  }
}
@media (min-width: 992px) {
  .block-newsletter #newsletter-title h2 {
    font-size: inherit;
    display: inline;
  }
}
@media (max-width: 991.98px) {
  .block-newsletter #newsletter-title span {
    letter-spacing: 0.15px;
  }
}
.block-newsletter #newsletter-form {
  display: grid;
  grid-template-columns: 1fr 0.4fr;
  align-items: flex-start;
  gap: 10px;
}
@media (min-width: 992px) {
  .block-newsletter #newsletter-form {
    gap: 15px;
    grid-template-columns: 1fr auto;
    max-width: 569px;
  }
}
.block-newsletter #newsletter-form .fields-wrapper {
  flex-grow: 1;
}
.block-newsletter #newsletter-form input.form-control {
  border: none;
  height: 40px;
  font-size: 15px;
  background-color: #fff;
}
.block-newsletter #newsletter-form .btn-submit {
  height: 40px;
  padding-inline: 1.874rem;
  font-size: 15px;
  line-height: 1;
}
@media (min-width: 992px) {
  .block-newsletter #newsletter-form .btn-submit {
    font-size: 17px;
    padding-inline: 2.2rem;
  }
}
.block-newsletter #newsletter-form .btn-submit:hover, .block-newsletter #newsletter-form .btn-submit:focus {
  background-color: transparent;
  color: #131313;
}
.block-newsletter #newsletter-form .btn-submit .spinner-border {
  --bs-spinner-width: 1em;
  --bs-spinner-height: 1em;
  --bs-spinner-border-width: 2px;
}
.block-newsletter #newsletter-form .form-check {
  padding-left: unset;
  padding-right: 1em;
}
.block-newsletter #newsletter-form .form-check .invalid-feedback {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.block-newsletter #newsletter-form .form-check .invalid-feedback:not(caption) {
  position: absolute !important;
}
.block-newsletter #newsletter-form .form-check .invalid-feedback * {
  overflow: hidden !important;
}
.block-newsletter #newsletter-form .form-check .form-check-input {
  float: right;
  border-color: #131313;
  margin-right: calc(-1 * 1em);
  margin-top: 0.5em;
  --bs-form-check-bg: white;
}
.block-newsletter #newsletter-form .form-check label {
  font-size: 11px;
}
@media (min-width: 992px) {
  .block-newsletter #newsletter-form .form-check label {
    font-size: 13px;
    font-weight: 300;
  }
}
.block-newsletter #newsletter-form .invalid-feedback {
  position: absolute;
  bottom: -2em;
  font-size: 11px;
  transform: translateY(100%);
}
@media (min-width: 992px) {
  .block-newsletter #newsletter-form .invalid-feedback {
    font-size: 12px;
  }
}

div.truncate {
  --line-clamp: var(--line-clamp-mobile, 0);
}
@media (min-width: 768px) {
  div.truncate {
    --line-clamp: var(--line-clamp-desktop, 0);
  }
}
div.truncate + .truncate-btn {
  font-weight: 500;
  margin-bottom: 18px;
}
@media (min-width: 768px) {
  div.truncate + .truncate-btn {
    margin-bottom: 40px;
  }
}

#deals-list {
  margin-bottom: 60px;
}
#deals-list .cards-filters {
  display: flex;
  flex-direction: column;
  padding-block: 30px 43px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  #deals-list .cards-filters {
    gap: 35px;
    flex-direction: row;
    padding-block: 35px 50px;
    width: min-content;
    align-items: center;
  }
}
#deals-list .cards-filters .form-floating {
  width: 100%;
}
@media (min-width: 768px) {
  #deals-list .cards-filters .form-floating {
    width: clamp(200px, var(--padding-factor) * 0.15, 300px);
  }
}
#deals-list .cards-filters .btn-reset {
  height: 1em;
  width: 1em;
}
@media (max-width: 767.98px) {
  #deals-list .cards-filters .btn-reset {
    display: none;
  }
}
#deals-list .cards-filters .btn-reset svg {
  width: 100%;
  height: 100%;
}
#deals-list .cards-none-found {
  text-align: center;
}
#deals-list .cards-none-found-message {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 0.5rem;
  display: inline-block;
}
@media (min-width: 768px) {
  #deals-list .cards-none-found-message {
    font-size: 24px;
  }
}
.grecaptcha-badge {
  display: none;
}

#deals-list .form-floating label {
  font-weight: 400;
  font-size: 1rem;
  left: unset;
  right: 0;
}
#deals-list .form-floating .form-select {
  padding-inline: 0;
  padding-top: 1rem;
  padding-bottom: 0.2rem;
}
#deals-list .form-floating .form-select ~ label {
  opacity: 1;
  transform: none;
  font-size: 1rem;
}
#deals-list .form-floating .form-select:focus ~ label, #deals-list .form-floating .form-select.selected ~ label {
  font-size: 0.8em;
  opacity: 0.8;
  transform: translateY(-1rem);
}
#deals-list .form-floating > .form-control:focus ~ label,
#deals-list .form-floating > .form-control.has-value ~ label,
#deals-list .form-floating > .form-control:not(:placeholder-shown) ~ label {
  font-size: 0.8em;
}
#deals-list .form-floating > .form-control:-webkit-autofill ~ label {
  font-size: 0.8em;
}
#deals-list .form-check {
  padding-left: unset;
  padding-right: 1em;
}
#deals-list .form-check .form-check-input {
  float: right;
  margin-right: calc(-1 * 1em);
  margin-top: 0.4em;
}
#deals-list .form-check label {
  font-size: 1rem;
}
#deals-list .form-check.form-confirm label {
  font-size: 0.8em;
}
#deals-list .form-control, #deals-list .form-select {
  border-top: unset;
  border-left: unset;
  border-right: unset;
}
#deals-list .form-control[required] + label:after, #deals-list .form-select[required] + label:after {
  content: " *";
  color: inherit;
  position: unset;
}
#deals-list .form-control.is-invalid, #deals-list .form-select.is-invalid {
  background-color: rgba(220, 53, 69, 0.25);
}
#deals-list .form-control.is-invalid, #deals-list .form-control.is-invalid ~ label, #deals-list .form-select.is-invalid, #deals-list .form-select.is-invalid ~ label {
  color: #dc3545;
}
#deals-list .form-control:focus ~ .invalid-feedback, #deals-list .form-select:focus ~ .invalid-feedback {
  transform: scale(0.85) translateY(-1.7rem) translateX(3rem);
}
#deals-list .file-input-wrapper input[type=file] {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#deals-list .file-input-wrapper input[type=file] + input {
  pointer-events: none;
}
#deals-list .file-input-wrapper input[type=file].is-invalid + input {
  border-color: #dc3545;
}
#deals-list .file-input-wrapper input[type=file].is-invalid ~ label {
  color: #dc3545;
}
#deals-list .file-input-wrapper input[type=file][required] ~ label:after {
  content: " *";
  color: inherit;
}
#deals-list .file-input-wrapper input[type=file].selected ~ label, #deals-list .file-input-wrapper input[type=file]:focus ~ label {
  font-size: 0.8em;
  opacity: 0.8;
  transform: translateY(-1rem);
}
#deals-list .file-input-wrapper input[type=file].selected + input, #deals-list .file-input-wrapper input[type=file]:focus + input {
  border-color: rgba(0, 0, 0, 0.3);
}
#deals-list .file-input-wrapper .file-add {
  position: absolute;
  left: 0;
  bottom: 0.5rem;
  border-radius: 50%;
  background-color: #e1cfcb;
  transition: background-color 0.3s ease-in-out;
  will-change: transition;
  font-size: 1rem;
  line-height: 1.2em;
  width: 1.2em;
  height: 1.2em;
}
#deals-list .file-input-wrapper .file-add:after {
  content: "+";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  top: calc(50% - 0.1em);
}
#deals-list .was-validated .form-select:invalid:not([multiple]):not([size]),
#deals-list .was-validated .form-select:invalid:not([multiple])[size="1"],
#deals-list .form-control.is-invalid,
#deals-list .form-select.is-invalid:not([multiple]):not([size]),
#deals-list .form-select.is-invalid:not([multiple])[size="1"] {
  padding-left: calc(1.5em + 0.75rem);
  padding-right: 0.75rem;
  background-image: none;
  background-color: transparent;
}
#deals-list .was-validated .form-select:invalid:not([multiple]):not([size]):focus,
#deals-list .was-validated .form-select:invalid:not([multiple])[size="1"]:focus,
#deals-list .form-control.is-invalid:focus,
#deals-list .form-select.is-invalid:not([multiple]):not([size]):focus,
#deals-list .form-select.is-invalid:not([multiple])[size="1"]:focus {
  box-shadow: none;
}
#deals-list .invalid-feedback {
  pointer-events: none;
  position: absolute;
  width: 100%;
  text-align: start;
  font-weight: 500;
  bottom: -1.5em;
  transform: unset !important;
  font-size: 0.7em;
}
@media (min-width: 768px) {
  #deals-list {
    margin-bottom: 100px;
  }
  #deals-list > .container {
    padding-inline: 0;
  }
}
#deals-list .list-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-gap: 30px;
}
@media (min-width: 768px) {
  #deals-list .list-items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1201px) {
  #deals-list .list-items {
    grid-template-columns: repeat(6, 1fr);
  }
  #deals-list .list-items > li {
    grid-column: span 2;
  }
  #deals-list .list-items > li:only-child {
    grid-column: 3/span 2;
  }
  #deals-list .list-items:has(> li:first-child + li:last-child) > li:first-child {
    grid-column: 2/span 2;
  }
}
@media (max-width: 767.98px) {
  #deals-list .list-items .atlas-card {
    height: unset;
  }
  #deals-list .list-items .atlas-card.box .img-wrapper {
    aspect-ratio: 1/0.81;
  }
}
