@charset "UTF-8";
/*
    Mobile
*/

/*
*   1.0 Header
*       1.1 Menu
*   2.0 Content
*       2.1 Home
*           2.1.1 Reviews big
*           2.1.2 Custom seasonal info
*           2.1.3 Lead generation banner
*           2.1.4 Vertical slider
*       2.2 Single rooms
*       2.3 404
*       2.4 Single experiences
*       2.5 Single article
*   3.0 Footer
*   4.0 rooms list container
*   5.0 Experiences list container
*   6.0 Reviews list container
*   7.0 Sliders
*   8.0 Booking form
*   9.0 Contacts
*   10.0 Gallery
*   11.0 Bottom bar
*/

:root {
    --global--font-size-xxl: 4rem;
}

body h1 {
    font-size: 2rem;
    line-height: 2.66rem;
}

body h2 {
    font-size: 1.78rem;
    line-height: 2.44rem;
}

.margin-right-border {
    margin-right: -2rem !important;
}

.margin-left-border {
    margin-left: -2rem !important;
}

.no-padding>.grids-s-w_i {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/*
*   1.0 header
*/
header#masthead.site-header {
    grid-template-columns: repeat(2, 1fr);
}

header#masthead.site-header {
    background: rgba(255, 255, 255, 0.9) !important;
    grid-template-rows: 80px;
}

div#animationbox {
    display: none !important;
    visibility: hidden !important;
}

header#masthead.site-header:before,
header#masthead.site-header:after {
    display: none !important;
    visibility: hidden !important;
}

header#masthead.site-header .site-branding,
header#masthead.site-header .primary-navigation {
    grid-row: 1;
}

header#masthead.site-header .site-branding {
    padding: 0.5rem 0;
}

header#masthead.site-header .site-branding .site-description {
    line-height: 0;
}

header#masthead.site-header .primary-navigation {
    padding: 0;
    margin: 0;
    align-self: center;
    height: 100%;
}

header#masthead.site-header .site-branding .site-logo .custom-logo-link img {
    position: inherit;
    max-width: 180px;
}

header#masthead.site-header.sticky .site-branding {
    padding: 0;
}

header#masthead.site-header .site-branding {
    align-self: center;
}

.menu-mobile-widget .wpml-ls-legacy-dropdown {
    width: 5rem;
}

body.singular .entry-header,
body.error404 .page-header {
    min-height: 20rem;
}

body.singular .entry-header,
body.error404 .page-header {
    min-height: 22rem;
}

/*
*       1.1 Menu
*/
.primary-navigation-open .primary-navigation>.primary-menu-container {
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    border: 2px solid transparent;
}

header#masthead.site-header .primary-navigation>div>.menu-wrapper {
    padding-bottom: 100px;
    padding-left: 0;
}

.primary-navigation-open header#masthead.site-header .primary-navigation {
    width: 100%;
    position: fixed;
    margin: 0;
}

/* header#masthead.site-header .menu-button-container {
    display: block;
} */
.primary-navigation>.primary-menu-container {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    padding-top: calc(var(--button--line-height) * var(--primary-nav--font-size-button) + 42px + 5px);
    padding-left: var(--global--spacing-unit);
    padding-right: var(--global--spacing-unit);
    padding-bottom: var(--global--spacing-horizontal);
    background-color: var(--global--color-background);
    transition: all 0.15s ease-in-out;
    transform: translateY(var(--global--spacing-vertical));
}

header#masthead.site-header .primary-navigation .menu-button-container #primary-mobile-menu {
    margin: 0 0 0 auto;
}

header#masthead.site-header .primary-navigation li,
header#masthead.site-header .primary-navigation li:not(.wpml-ls-menu-item) a {
    width: 100%;
}

/* header#masthead.site-header .primary-navigation > div > .menu-wrapper .sub-menu-toggle {
    display: flex;
} */
:root body.home header#masthead.site-header .primary-navigation li:not(.btn-booking) a,
:root body.home header#masthead.site-header .primary-navigation li:not(.btn-booking) a:active,
:root body.home header#masthead.site-header .primary-navigation li:not(.btn-booking) a:focus,
:root body.home header#masthead.site-header .primary-navigation li:not(.btn-booking) a:visited,
:root body header#masthead.site-header .primary-navigation li:not(.btn-booking) a,
:root body header#masthead.site-header .primary-navigation li:not(.btn-booking) a:active,
:root body header#masthead.site-header .primary-navigation li:not(.btn-booking) a:focus,
:root body header#masthead.site-header .primary-navigation li:not(.btn-booking) a:visited {
    color: var(--global--color-primary);
    text-align: center;
}

header#masthead.site-header .primary-navigation li.btn-booking {
    display: flex;
    justify-content: center;
    padding: 1rem 0;
}

header#masthead.site-header .primary-navigation li.wpml-ls-menu-item.menu-item-has-children {
    display: inline-flex;
    justify-content: center;
}

header#masthead.site-header .primary-navigation>.primary-menu-container ul>li.wpml-ls-menu-item.menu-item-has-children .sub-menu-toggle[aria-expanded=false]~ul {
    display: unset;
    position: relative;
    top: auto;
    padding: 0;
}

header#masthead.site-header .primary-navigation>.primary-menu-container ul>li.wpml-ls-menu-item>ul.sub-menu {
    column-count: 2;
}

header#masthead.site-header .primary-navigation>.primary-menu-container ul>li.wpml-ls-current-language>a {
    display: none;
}

header#masthead.site-header .primary-navigation li.current-menu-parent>a {
    border-bottom: 0 !important;
}

header#masthead.site-header .primary-navigation .toggle-inner .toggle-icon {
    height: 1.2rem;
}

/* menu fix */


.primary-navigation .primary-menu-container>ul>.menu-item {
    width: 100%;
    display: block;
    margin: 0.55rem 0;
    text-align: center;
}

.primary-navigation .primary-menu-container>ul>.menu-item>a {
    display: inline !important;
}

.primary-navigation>.primary-menu-container>.menu-wrapper>li>button.sub-menu-toggle,
.primary-navigation .primary-menu-container button.sub-menu-toggle {
    margin: 0 0 0 0.2rem !important;
    padding: 0 !important;
    display: inline !important;
    background: #fff;
    color: var(--global--color-primary);
    border: 0 !important;
}

header#masthead.site-header .primary-navigation a {
    justify-content: center;
}

.primary-navigation>.primary-menu-container>.menu-wrapper>li>button.sub-menu-toggle:after,
.primary-navigation .primary-menu-container button.sub-menu-toggle:after {
    display: none !important;
    visibility: hidden !important;
}

.primary-navigation>.primary-menu-container ul>li .sub-menu-toggle[aria-expanded=false]~ul {
    display: none;
}

.primary-navigation>.primary-menu-container ul>li .sub-menu-toggle[aria-expanded=true]~ul {
    display: block;
}

.primary-navigation>div>.menu-wrapper>li {
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
}

.primary-navigation>div>.menu-wrapper>li>.sub-menu {
    position: relative;
    top: 0;
    border: none;
}

header#masthead.site-header .primary-navigation li.wpml-ls-menu-item.menu-item-has-children,
body.lock-scrolling .menu-button-container .menu-mobile-widget {
    display: none !important;
    visibility: hidden !important;
}

.single-slide-image {
    min-height: 207px;
}

/*
*   2.0 Content
*/
.block-icons img {
    max-width: 80px;
}

body .entry-content .entry-content-title {
    display: block;
    padding: 0 2rem;
    overflow-wrap: break-word;
}

.entry-content .grids-section .grids-s-w_i {
    padding: 0 1rem;
}

.emotional_newsletter_wrapper label.EMAIL-label>input,
.emotional_newsletter_wrapper button.yikes-easy-mc-submit-button {
    height: 3.32rem !important;
}

.emotional_newsletter_wrapper button.yikes-easy-mc-submit-button span {
    white-space: break-spaces;
    line-height: 1;
    font-size: 0.9rem;
}

#slider-home {
    height: 400px;
}

.overlay-text-trasparency {
    line-height: 30px;
    font-size: 20px;
    padding: 25px 30px;
}


/*
*   2.1 Home
*/

#row-reviews {
    padding: 0;
}

#row-reviews>.grids-s-w_i {
    padding: 3rem 2rem !important;
}

.reviews-list-container.swiper-container-horizontal .reviews-list-container-single {
    max-width: 28rem;
    margin: 0 3rem 0 0;
}

.reviews-big-wrapper {
    grid-template-columns: 100%;
}

.reviews-big-wrapper .single-big-review {
    padding: 1rem !important;
}

.reviews-big-wrapper .review-answer {
    flex-flow: column;
    position: relative;
}

.reviews-big-wrapper .review-answer .answer-arrow img {
    transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    -moz-transform: rotate(40deg);
    -webkit-transform: rotate(40deg);
    -o-transform: rotate(40deg);
}

.reviews-big-wrapper .review-answer-content .link-button a.btn.btn-answer {
    white-space: break-spaces;
}

#row-rooms .description {
    padding: 2rem !important;
}

#row-rooms>.grids-s-w_i>div.description {
    order: 1;
}

#row-rooms>.grids-s-w_i>div:nth-child(2) {
    order: 3;
}

#row-rooms>.grids-s-w_i .rooms-list-navigation {
    margin-top: 1.55rem;
    margin-bottom: 0.55rem;
}

#row-rooms>.grids-s-w_i>div:last-child {
    order: 2;
}

.vertical-slider-list-container .single-slide-content-wrapper {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
}

.vertical-slider-list-container .single-slide-content-wrapper .single-slide-content {
    grid-row: 1/3;
    grid-column: 1;

    background-image: url('./assets/images/vertical-slider-background-mobile.png') !important;
    background-position: bottom;
}

.vertical-slider-list-container .slide-content-wrapper-container {
    padding: 2rem 0 3rem !important;
}

.vertical-slider-list-container .single-slide-content-wrapper .single-slide-image {
    grid-row: 3/6;
    grid-column: 1;
}

.vertical-slider-list-container {
    max-height: unset !important;
}

.swiper-pagination {
    display: none !important;
    visibility: hidden !important;
}

.vertical-slider-list-container .single-slide-content-wrapper .single-slide-image img {
    margin-top: -1rem;
}

.vertical-slider-list-container .slide-content-wrapper-container {
    margin-left: 1rem;
}

.vertical-slider-list-container span.main-title,
.vertical-slider-list-container span.main-title p,
.vertical-slider-list-container span.main-title p strong {
    font-size: 1.77rem;
    line-height: 2.38rem;
}

ul.list-of-services li p {
    margin-bottom: 0 !important;
    font-size: 1rem;
    line-height: 1.38rem;
}

ul.list-of-services li i {
    width: 1rem !important;
}

ul.list-of-services li {
    margin-bottom: 0.55rem;
}

.images-homepage-front-office>.grids-s-w_i {
    display: grid;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: auto !important;
}

.images-homepage-front-office>.grids-s-w_i>div:first-child {
    grid-column: 1/-1;
    grid-row: 1;
}

.images-homepage-front-office>.grids-s-w_i>div:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
}

.images-homepage-front-office>.grids-s-w_i>div:nth-child(2) figure {
    border-radius: 1.66rem !important;
}

.images-homepage-front-office>.grids-s-w_i>div:last-child {
    grid-column: 2;
    grid-row: 2;
}

.rooms-cta-homepage a.cta-rooms-link {
    font-size: 1rem;
    line-height: 1rem;
    text-align: center;
}

#row-apartments .description {
    padding: 2.75rem !important;
}

#row-apartments>.grids-s-w_i>div.description {
    order: 1;
}

#row-apartments>.grids-s-w_i>div:nth-child(2) {
    order: 3;
}

#row-apartments>.grids-s-w_i .rooms-list-navigation {
    margin-top: 1.55rem;
    margin-bottom: 0.55rem;
}

#row-apartments>.grids-s-w_i>div:last-child {
    order: 2;
}

/*
*   2.1.1 Pricechecker
*/
h2.pc_title {
    font-size: 1.22rem;
    line-height: 1.44rem;
}

#pc_maincontainer {
    margin: 1rem auto;
}

/*
*   2.2 Single rooms
*/
body.single-rooms {
    padding-bottom: 1rem;
}

body.single-rooms .entry-content {
    margin-top: 6rem;
    gap: 2rem 1rem;
}

body.single-rooms .entry-content .single-rooms-features .single-rooms-features-evidence {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
}

body.single-rooms .entry-content .single-rooms-features ul.single-rooms-features-evidence li {
    align-items: flex-start;
    flex-flow: column;
}

body.single-rooms .entry-content .single-rooms-title {
    flex-direction: column;
    align-items: flex-start;
}

body.single-rooms .entry-content .single-rooms-title h1 {
    word-break: break-word;
}

body.single-rooms .entry-content .single-rooms-title .single-rooms-title-message {
    margin: 1rem 0 0;
}

body.single-rooms .entry-content .single-rooms-features .feature-box {
    font-size: inherit;
}

body.single-rooms .entry-content .single-rooms-gallery-wrapper {
    grid-template-columns: auto;
    grid-column: 1 / -1;
}

li.blocks-gallery-item.cboxElement {
    margin-right: 0 !important;
}

body.single-rooms .entry-content .single-rooms-gallery-wrapper .single-rooms-slider:not(:first-of-type) {
    display: none;
}

body.single-rooms .entry-content .single-rooms-gallery-wrapper .single-rooms-gallery-wrapper-show-all {
    display: block;
    grid-column: span 2;
    margin: 0 auto;
}

body.single-rooms .entry-content .single-rooms-img-small {
    border-radius: 0;
}

body.single-rooms .entry-content .single-rooms-details {
    grid-column: 2 / -2;
}

body.single-rooms .entry-content .single-rooms-details ul {
    display: block;
}

body.single-rooms .entry-content .single-rooms-details ul li {
    border-right: none;
}

body.single-rooms .entry-content .single-rooms-description {
    grid-column: 2 / -2;
}

body.single-rooms .entry-content .single-rooms-services {
    grid-column: 2 / -2;
}

body.single-rooms .entry-content .single-rooms-services ul {
    column-count: 1;
}

body.single-rooms .entry-content .single-rooms-map {
    grid-column: 2 / -2;
}

body.single-rooms .entry-content .single-rooms-taxes-extra-charges {
    grid-column: 2 / -2;
}

body.single-rooms .entry-content .single-rooms-booking .single-rooms-booking-box {
    background: #ffffff;
    width: 100vw;
    position: fixed;
    bottom: 0;
    top: auto;
    left: 0;
    right: 0;
    z-index: 10000;
    overflow: hidden;
    box-shadow: 0.8rem 0.4rem 4rem rgba(0, 0, 0, 0.08);
    border-radius: 0;
    padding: 0;
    max-width: unset;
    margin: 0;
}

body.single-rooms .entry-content .single-rooms-booking .single-rooms-booking-box h3 {
    color: var(--booking-color);
    font-weight: 600;
    letter-spacing: 0.1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    margin-top: 0;
    padding: 1rem 0;
    line-height: 0;
}

body.single-rooms .entry-content .single-rooms-booking .single-rooms-booking-box h3 i {
    display: inline-block;
    margin-left: 1rem;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

body.single-rooms .entry-content .single-rooms-booking .single-rooms-booking-box.active h3 i {
    transform: rotate(180deg);
}

body.single-rooms .entry-content .single-rooms-booking .single-rooms-booking-box .single-rooms-booking-box-content {
    display: none;
    padding: 0 2rem 2rem;
}

body.single-rooms .entry-content .single-rooms-booking .single-rooms-booking-box .single-rooms-booking-box-content>div {
    padding-bottom: 1rem;
}

body.single-rooms .single-rooms-more .single-rooms-more-wrapper,
.single-advice-container {
    grid-template-columns: 100%;
}

body.single-rooms .single-rooms-more {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.single-rooms .entry-content .single-rooms-booking .single-rooms-booking-box a.btn-request-quote {
    margin: 0.55rem auto !important;
    width: 100% !important;
    justify-content: center;
    padding: 0.55rem 1.11rem !important;
    display: inline-flex;
}

/*
*   2.5 Single article
*/
.entry-content.news-events {
    display: flex !important;
    flex-flow: column !important;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.articles-list-container:not(.swiper-container-horizontal) {
    display: flex !important;
    flex-flow: column !important;
}


/*
*   3.0 Footer
*/
footer.site-footer .row-site {
    grid-template-columns: auto;
    gap: 2rem;
    justify-content: flex-start;
}

footer.site-footer .row-credits {
    display: inline-block;
    text-align: center;
    padding-bottom: 5rem;
}

footer.site-footer .row-credits .site-socials {
    display: flex;
    justify-content: center;
}

footer.site-footer .row-credits .site-socials a {
    margin: 0 1rem;
    padding: 1rem;
}

.floatingIcon {
    display: none !important;
}

footer.site-footer .row-newsletter-booking .booking-info {
    display: flex;
    flex-flow: column;
    padding-left: 0;
}

.row-extra {
    padding-bottom: 10rem !important;
}

/*
*   4.0 rooms list container
*/
.rooms-list-container.swiper-container-horizontal {
    padding: 1rem;
    /* margin: 0 -2rem; */
    margin: 0;
}

.rooms-list-container:not(.swiper-container-horizontal) {
    grid-template-columns: auto;
}

.rooms-list-container-filters {
    margin: 0 0 1rem;
}

.rooms-list-container-filters ul {
    display: block;
}

.rooms-list-container-filters ul li {
    margin: 1rem 0;
}

div.rooms-services-wrapper {
    padding: 1.77rem !important;
}

.rooms-services-wrapper .list-of-services {
    column-count: 1;
}

/*
*   6.0 Reviews list container
*/
.reviews-list-container.swiper-container-horizontal {
    overflow: auto;
    padding: 2rem 0;
}

.reviews-list-container:not(.swiper-container-horizontal) {
    grid-template-columns: auto;
}

/*
*   8.0 Booking form
*/
#booking-form {
    display: none;
    visibility: hidden;
}

.booking-form-container.container {
    display: none !important;
    visibility: hidden !important;
}

/*
*   10.0 Gallery
*/
.gallery-filters {
    flex-flow: column;
}

.gallery-filters .wrapper-container {
    overflow-x: auto;
}

.gallery-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
}

.gallery-wrapper.video {
    grid-template-columns: 1fr !important;
}

.gallery-wrapper .single-image-gallery {
    min-height: 160px;
}

.row-site .site-logo img {
    max-width: 200px;
}

a.btn-booking.booking-form-mobile {
    margin-bottom: 0 !important;
}

/*
*   11.0 Bottom bar
*/
.bottom-bar {
    display: flex;
}