/* Import default styles
----------------------------------------*/
@import "../../../../wabs_sitepackage_park/Resources/Private/Scss/fonts";
@import "../../../../wabs_sitepackage_park/Resources/Private/Scss/variables";
@import "fonts";
@import "variables";
@import "../../../../wabs_sitepackage_park/Resources/Private/Scss/park-styles";

/* Imports
----------------------------------------*/

@import "base";
@import "form-elements";
@import "navigations";
@import "mega-menu";
@import "header";
@import "footer";
@import "cards";
@import "multiselect";
@import "newsletter";
@import "slider";
@import "info-popup";
@import "social";
@import "feature-items";
@import "filter-elements";
@import "events";
@import "reviews";
@import "badge";
@import "button";
@import "weatherinfo";
@import "accordion";
@import "attraction-details";
@import "news";
@import "calendar";
@import "hospitality";
@import "custom-colors-components";

.flags-gb {
  background-position: center 3.3325%;
}

.flags-fr {
  background-position: center 0.8958%;
}

.content-header-container a.header-button {
  border: inherit;
  color: #444444;
  border: 1px solid #d9b77b;
}

.hero-main .hero-cont .content-header-container .header-title h1,
.hero-main .hero-cont .content-header-container .header-title .h1 {
  text-shadow: none;
}

.actions nav.form-navigation .submit .btn {
  border-radius: 360px;
}

.form-label {
  margin-bottom: 10px;
}

.feature-items .container {
  @include media-breakpoint-down(md) {
    margin-top: 0;
  }
}

.content-main {
  @include media-breakpoint-down(md) {
    padding-top: 0;
  }
}

.mosaic-2col .row>*>div:nth-child(1) {
  grid-row: span 1;
}

.content-on-image-bottom.card.cardtype-price {
  height: 285px;
}

.card.content-on-image-bottom .content {
  @include media-breakpoint-down(md) {
    padding: 20px;
  }
}

.header-main .search-box {
  @include media-breakpoint-down(xl) {
    right: 0;
  }
}

.accordion-element .ce-table td {
  color: #444444;
}

@include media-breakpoint-down(lg) {
  .row .item {
    padding-bottom: 10px;
  }

  .mosaic-3col .row>*>div:nth-child(1) {
    grid-row: none;
  }

  .mosaic .row>*>div {
    grid-column: span 2;
  }
}

@include media-breakpoint-down(sm) {
  .mosaic-3col .row>*>div:nth-child(1) {
    grid-row: none;
    grid-column: span 4;
  }

  .mosaic .row>*>div {
    grid-column: span 4;
  }

  .row .item {
    padding-bottom: 0px;
  }
}

@include media-breakpoint-down(lg) {
  .margin-break-early .break-early {
    margin-bottom: 10px;
  }
}

@include media-breakpoint-down(md) {
  .footer-main .row .col-lg-3:last-of-type h2:last-of-type {
    margin-top: 0;
  }
}

.section h1 {
  margin-top: 40px;
}

@include media-breakpoint-down(md) {
  .card.cardtype-price.content-on-image-bottom .content .price-wrap .items-aside {
    padding: 0;
  }

  .card.cardtype-price.content-on-image-bottom .content .price-wrap .price-items li .price-wrap-inner {
    padding-bottom: 0;
  }

  .card.cardtype-price.content-on-image-bottom .content {
    padding-bottom: 20px;
  }

  .accordion .card .kpi-box.iconbox .icon.icon-image {
    width: 45%;
    height: 45%;
  }

  .accordion .card .iconbox>.icon:before {
    width: 100px;
    height: 100px;
    transform: translate(-2px, 2px);
  }

  .accordion-element .frame-space-before-medium {
    padding-top: 7em;
  }

  .py-4 .row>.mb-4:last-child {
    margin-bottom: 0 !important;
  }

  #container-2944 .py-4 {
    padding-bottom: 0 !important;
  }

  #container-6951 .py-4,
  #container-18457 .py-4,
  #container-29621 .py-4 {
    padding-top: 0 !important;
  }

  #container-28277 .py-4,
  #container-28071 .py-4,
  #container-28266 .py-4,
  #container-28053 .py-4 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }
}

h2 {
  &.text-center {
    @include media-breakpoint-down(sm) {
      line-height: 1.5;
    }
  }
}

#container-32006 {
  .row-cols-1>* {
    @include media-breakpoint-down(sm) {
      margin-bottom: 5px;
    }
  }
}

.tx-wabsolute-newsletter {
  color: white;
  text-align: center;
  padding-bottom: 5%;
}

.tx-wabsolute-popup .alert-wrap2 {
  .inner-wrap {
    text-transform: inherit;
  }
}

@include media-breakpoint-down(md) {
  .tx-wabsolute-popup .alert-wrap2 {
    .inner-wrap {
      padding-right: 85px;

      p {
        text-align: center;
        float: none;
        padding-right: 0;
      }
    }
  }
}

@media (max-width: 767.98px) {

  body .card.img-left,
  body .cardtype-price.card.img-right {
    flex-direction: column !important;
  }
}

@media (max-width: 599.98px) {
  #header-type-2 .row.menu-tab {
    --bs-gutter-x: 0rem;

    >.col-4.p-0 {
      padding-right: calc(var(--bs-gutter-x) * 0.5) !important;
      padding-left: calc(var(--bs-gutter-x) * 0.5) !important;
    }

    .top-nav {
      float: none;
      padding: 0px !important;
      height: 100%;
      display: flex !important;
      align-items: center;
      justify-content: center;
      margin-bottom: 0 !important;
      border-top-right-radius: 0px !important;

      .brand-nav {
        transform: translate(0%, 0%);
        position: static;
        height: auto;

        p {
          white-space: normal;
          padding: 10px 10px;
          font-size: 1rem;
          line-height: 1.4rem;
        }
      }
    }
  }
}

@media (max-width: 575.98px) {

  .hero-main .hero-cont .content-header-container .header-title,
  .hero-main .hero-cont .content-header-container .header-subtitle {
    background: #ffffff;
    border-radius: 8px;
    width: fit-content;
  }

  .hero-main .hero-cont .content-header-container .header-title h1,
  .hero-main .hero-cont .content-header-container .header-title .h1 {
    font-size: 15px;
    text-shadow: none;
  }
}

@media (max-width: 575.98px) {

  .hero-main .hero-cont .content-header-container .header-title,
  .hero-main .hero-cont .content-header-container .header-subtitle {
    background: #ffffff;
    border-radius: 8px;
    width: fit-content;
  }

  .hero-main .hero-cont .content-header-container .header-title h1,
  .hero-main .hero-cont .content-header-container .header-title .h1 {
    font-size: 15px;
    text-shadow: none;
  }
}

// fixes for asterio css
footer {
  height: auto !important;
  position: relative !important;
}

.accordion-element.card {
  box-shadow: inherit !important;
  display: inherit !important;
  flex-direction: inherit !important;
  align-items: inherit !important;
  justify-content: inherit !important;
}

.cardtype-price.card.img-right {
  flex-direction: row-reverse !important;
  align-items: inherit !important;
}

.cardtype-price.card {
  align-items: inherit !important;
}

p {
  padding-bottom: 0;
}

//adjust tab element
#container-63101 {
  .tab-wrapper .nav-tabs .nav-item:has(> .nav-link.active) {
    background-color: white !important;
  }

  .tab-wrapper .nav-tabs .nav-item:has(> .nav-link:not(.active)) {
    background-color: transparent !important;
  }
}

form#aBN25-102028 {

  h2,
  label {
    color: white;
  }
}

.frame-type-news_newsdetail .news .news-body p {
  font-weight: 400;
  font-family: "Gotham Narrow", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem;
  color: #000000;
}

.section-bg-image .row:not(.parallax-window) {
  @include media-breakpoint-down(lg) {
    padding: 40px 30px;
  }

  @include media-breakpoint-down(md) {
    padding: 20px 20px;
  }
}

@include media-breakpoint-down(lg) {
  .frame-type-table table.ce-table tr td {
    padding: 0.5em 0.5em;
  }
}

@include media-breakpoint-down(md) {
  .section-bg-image .container-fluid .row.jarallax .col-sm-12 .twocol-50-50 .row.col2-grid {
    padding-left: 0px;
    padding-right: 0px;

    .col-sm-12.col-md-6.col-lg-6 {
      padding-left: 0px;
      padding-right: 0px;
    }
  }
}

@media (max-width: 574px) {
  .col-md-6 {
    width: 100%;
  }

  .col-md-6-50 {
    padding: 0px;

    .col-md-6 {
      width: 50%;
      padding: 0px;
    }
  }
}

@media (max-width: 767.98px) {
  .content-on-image .figure img {
    height: 100%;
  }
}

.owl-carousel {
  &.center-large {
    .owl-item {
      &.center {
        .slide-item-review {
          >* {
            @include media-breakpoint-down(sm) {
              margin-bottom: 20px !important;
            }
          }

          h4 {
            @include media-breakpoint-down(sm) {
              margin: 0px !important;
            }
          }
        }
      }
    }
  }
}

.frame-type-textpic>div {
  @include media-breakpoint-down(sm) {
    display: flex;
    flex-direction: column;
  }
}

.search-icon {
  @include media-breakpoint-down(sm) {
    align-content: center;
  }

  img {
    @include media-breakpoint-down(sm) {
      width: 30px;
      height: 30px;
    }
  }
}

@include media-breakpoint-down(md) {

  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl,
  .container-xxxl {
    .container {
      --bs-gutter-x: 0px;
    }

    .row.split-cont {
      .container {
        --bs-gutter-x: 12px;
      }
    }
  }
}

.stepper-wrapper {
  @include media-breakpoint-down(md) {
    margin-top: 0px;
  }
}

// bug-fixes

@media (min-width: 748px) {
  .fourcol-25-25-25-25 {
    .row {
      --bs-gutter-y: 24px;
    }
  }
}

@media (max-width: 767.98px) {
  div[style*="padding-bottom: 50px;"] {
    padding-bottom: 20px !important;
  }

  // .mosaic-2col .row > * > div {
  //   padding-bottom: 20px !important;
  // }

  .container .py-4 .owl-carousel .owl-item {
    .item[style*="padding-bottom: 50px;"] {
      padding-bottom: 25px !important;
    }
  }

  .container .py-4 .owl-carousel .owl-item .item:has(.cardtype-price) {
    padding-bottom: 50px !important;
  }
}

// 767.98px screen size

@include media-breakpoint-down(md) {
  .container-fluid {
    .container {
      &.attraction-details {
        --bs-gutter-x: 24px;
      }
    }
  }

  .container-fluid {
    .jarallax {
      .container {
        --bs-gutter-x: 24px;

        #_form_4_ {
          padding-inline: 0px;

          &._inline-form {
            ._form_element input[type="text"] {
              display: flex;
              padding: 10px 20px;
              align-items: center;
              align-self: stretch;
              border-radius: 100px;
            }

            ._submit {
              display: flex;
              min-width: 180px;
              padding: 15px 10px !important;
              justify-content: center;
              align-items: center;
              gap: 10px;
              border-radius: 100px !important;
            }
          }
        }
      }
    }
  }

  .tx-wabs-attractions {
    .hero-inner {
      &.owl-carousel {
        .owl-nav {
          button {

            &.owl-prev,
            &.owl-next {
              &::before {
                top: -30px;
              }
            }
          }
        }
      }
    }
  }

  .footer-main {
    .footer-menu {
      margin: 10px 0px 0px 20px;
    }
  }

  .filter {
    margin-bottom: 70px;
  }

  .ce-uploads {
    li {
      padding-left: 0px;

      img {
        max-height: 74.8px;
      }
    }
  }

  .fourcol-25-25-25-25 {
    .row {
      --bs-gutter-y: 24px;
    }
  }

  .card.content-on-image-bottom .content .title h3,
  .card.content-on-image-bottom .content .title .subtitle p {
    width: 90%;
  }

  .card.content-on-image-bottom .content .title:after {
    transform: translate(0, -30%);
  }

  .accordion {
    .card-body {

      .container,
      .container.threecol-33-33-33,
      .container.twocol-50-50 {
        padding: 0;
      }
    }
  }

  form .form-group .input .form-check {
    padding-left: 0px;
  }

  .card {
    &.cardtype-price {
      .content {
        .price-wrap {
          .price-items {
            &.items-below {
              li.price-style1 {
                .title {
                  p {
                    text-align: left;
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  .section-bg-color {
    .container {
      .container {

        &.threecol-33-33-33,
        &.fourcol-25-25-25-25,
        &.twocol-50-50 {
          .item {
            .card {
              &.img-top {
                .content {
                  .title {
                    margin-bottom: 25px;
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  .section-bg-color {
    .container {
      .container.twocol-50-50 {
        .row.col2-grid {
          ul~p {
            margin-left: 40px;

            span.Apple-tab-span {
              white-space: normal !important;
            }
          }
        }
      }
    }
  }

  .mosaic-2col {
    .row>* {
      display: block;

      .card {
        &.content-on-image-bottom {
          max-height: 100%;
        }
      }
    }
  }

  .tx-wabs-attractions {
    .iconbox {
      .value {
        font-size: 1.1rem;
        margin-top: 10px;
      }
    }
  }

  .feature-items .row {
    margin: 50px -7px -14px -7px;
  }

  .offcanvas-body .dropdown .dropdown-menu li a:hover {
    color: #000000;
    text-decoration: none;
  }

  .ce-gallery iframe {
    margin: 25px 0px;
  }

  .accordion .card .card-header .card-title {
    padding: 0 40px;
  }
}

// 575.98px screen size

@include media-breakpoint-down(sm) {
  .card .content .title {
    margin-bottom: 20px;
  }

  .container.mobile-no-padding {
    padding-inline: 40px;
  }

  .content-main {
    .container-fluid {
      .container {
        --bs-gutter-x: 24px;
      }
    }
  }

  .search-icon img {
    margin-left: 10px;
  }

  .card.img-top {
    width: calc(100% - 6px);
    margin-left: auto;
    margin-right: auto;
  }

  .frame-type-text {

    p,
    li {
      word-break: break-word;
    }
  }

  .ce-bodytext {

    p,
    li {
      word-break: break-word;
    }
  }

  .card .content .price-wrap .items-below li .title {
    margin: 10px 0px 10px;
  }

  .feature-items .row {
    margin: 0 -7px -14px -7px;
  }
}

//language flag position fix
@include media-breakpoint-down(xl) {
  .header-main {
    &.fixed {
      .language-menu {
        right: 20%;
        top: 30%;
      }
    }

    &:not(.fixed) {
      .language-menu {
        right: 20%;
        top: 54%;
      }
    }
  }
}

@include media-breakpoint-down(lg) {
  .header-main {
    &.fixed {
      .language-menu {
        right: 30%;
      }
    }

    &:not(.fixed) {
      .language-menu {
        right: 30%;
      }
    }
  }
}

.news-slider-2-container .owl-carousel .card {
  box-shadow: none !important;
}

.badge-wrapper {
  .badge-label {
    font-weight: 700;
    font-size: 1rem;
    color: #e4d9ce;
    line-height: 26px;
    text-align: center;
    background: #00503c;
    border-radius: 360px;
    position: absolute;
    top: -25px;
    right: -25px;
    transform: rotate(25deg);
    padding: 50px 0 0 0;
    z-index: 8;

    span.icon {
      height: 35px;
      width: 35px;
      color: #00503c;
      line-height: 29px;
      position: absolute;
      top: 6%;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: 1;

      @include media-breakpoint-down(md) {
        top: 0px;
        height: 30px;
        width: 30px;
      }
    }

    span.badge-text {
      @include media-breakpoint-down(md) {
        top: 28px;
        position: absolute;
        right: 0;
        font-size: 13px;
        line-height: 14px;
        left: 0;
      }
    }
  }
}

// menu design fix

.header-main {
  nav.navbar.navbar-expand-xl {
    a.navbar-brand {
      &:has(.brand-nav) {
        width: auto !important;
      }
    }

    ul.navbar-nav {
      .nav-item {
        .nav-link {
          max-width: 190px !important;
        }
      }
    }
  }
}

@media (max-width: 768px) {
  .hero-section.header-type-before-2 .hero-content {
    margin-top: 190px;
  }
}

.news {
  .card {
    .content {
      .btn.btn-primary {
        background: #185c4c;
        border: #185c4c;
      }
    }
  }
}

.hero-search-container .hero-search-tabs {
  @media (min-width: 1024px) {
    max-width: 1000px;
  }

  @media (max-width: 767.98px) {
    .hero-search-tabs {
      overflow: scroll;
    }
  }

  .tx-accommodation-search {
    z-index: auto;

    #date-inputs {
      #datepicker {
        input {
          &.check-in {
            @media (min-width: 992px) {
              padding-left: 45px !important;
            }
          }
        }
      }
    }

    &.search-style-2 {
      .ast-filter-element .arrivalDate {
        padding-left: 0;
      }

      #accordion-occ-parent .card-title {
        padding: 0px;

        .accordion-toggle {
          padding-top: 16px;
        }
      }

    }
  }
}

.datepicker-custom-dialog {
  z-index: 1001;
}

// Fix: Datepicker full-screen overlay on mobile
@media (max-width: 991.98px) {
  .tx-accommodation-search .datepicker-custom-dialog {
    position: fixed !important; // Override the inline position:absolute from JS
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important; // Allow scrolling through months
    z-index: 99999 !important; // Ensure it appears above everything (navbar, etc.)
    margin: 0 !important;
    border-radius: 0 !important;
    -webkit-overflow-scrolling: touch; // Smooth scroll on iOS
  }
}

