@charset "UTF-8";

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    overflow: clip;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), transparent)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size)/44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size)/2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
    display: none !important
}

.swiper-button-prev svg,
.swiper-button-next svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: 'next'
}

:root {}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px)0;
    display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 200ms transform, 200ms top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms transform, 200ms right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

:root {}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-vertical>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

/*!modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize*/
*,
*::before,
*::after {
    box-sizing: border-box
}

:root {
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

body {
    font-family: system-ui, -apple-system, segoe ui, Roboto, Helvetica, Arial, sans-serif, apple color emoji, segoe ui emoji
}

hr {
    height: 0;
    color: inherit
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
pre {
    font-family: ui-monospace, SFMono-Regular, Consolas, liberation mono, Menlo, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

:root {
    --container-padding: 20px;
    --content-width: calc(1792px + (2 * var(--container-padding)));
    --grid-row-gap: 24px;
    --grid-column-gap: 20px
}

@media(min-width:576px) {
    :root {
        --container-padding: 32px
    }
}

@media(min-width:768px) {
    :root {
        --grid-row-gap: 32px;
        --grid-column-gap: 32px;
        --container-padding: 40px
    }
}

@media(min-width:1200px) {
    :root {
        --container-padding: 64px;
        --grid-row-gap: 40px
    }
}

.container {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    width: 100%;
    margin: 0 auto
}

@media print {
    .container {
        padding: 0
    }
}

.container:not(.container--fluid) {
    max-width: var(--content-width)
}

.grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-gap: var(--grid-row-gap)var(--grid-column-gap)
}

.grid .card {
    height: 100%
}

@media screen {
    .grid.no-gap {
        grid-gap: 0 !important
    }
}

.grid.no-row-gap {
    grid-row-gap: 0 !important
}

.grid.no-column-gap {
    grid-column-gap: 0 !important
}

.grid.align-items-center {
    align-items: center
}

.order-1 {
    order: 1
}

.offset-1 {
    grid-column-start: 2
}

.order-2 {
    order: 2
}

.order-3 {
    order: 3
}

.order-4 {
    order: 4
}

.col-4 {
    grid-column-end: span 4
}

.col-6 {
    grid-column-end: span 6
}

.col-8 {
    grid-column-end: span 8
}

.col-10 {
    grid-column-end: span 10
}

.col-11 {
    grid-column-end: span 11
}

.col-12 {
    grid-column-end: span 12
}

@media(min-width:576px) {
    .hide-xs-up {
        display: none !important
    }

    .col-xs-6 {
        grid-column-end: span 6
    }

    .col-xs-10 {
        grid-column-end: span 10
    }

    .col-xs-11 {
        grid-column-end: span 11
    }
}

@media(max-width:575px) {
    .hide-xs-down {
        display: none !important
    }

    .no-padding-xs-down {
        padding: 0 !important
    }
}

@media(min-width:768px) {
    .offset-sm-1 {
        grid-column-start: 2
    }

    .order-sm-2 {
        order: 2
    }

    .col-sm-3 {
        grid-column-end: span 3
    }

    .col-sm-4 {
        grid-column-end: span 4
    }

    .col-sm-6 {
        grid-column-end: span 6
    }

    .col-sm-8 {
        grid-column-end: span 8
    }

    .col-sm-10 {
        grid-column-end: span 10
    }
}

@media(max-width:767px) {
    .hide-sm-down {
        display: none !important
    }

    .no-padding-sm-down {
        padding: 0 !important
    }
}

@media(min-width:992px) {
    .hide-md-up {
        display: none !important
    }

    .no-padding-md-up {
        padding: 0 !important
    }

    .order-md-1 {
        order: 1
    }

    .offset-md-1 {
        grid-column-start: 2
    }

    .order-md-2 {
        order: 2
    }

    .col-md-2 {
        grid-column-end: span 2
    }

    .offset-md-2 {
        grid-column-start: 3
    }

    .order-md-3 {
        order: 3
    }

    .col-md-3 {
        grid-column-end: span 3
    }

    .order-md-4 {
        order: 4
    }

    .col-md-4 {
        grid-column-end: span 4
    }

    .offset-md-4 {
        grid-column-start: 5
    }

    .order-md-5 {
        order: 5
    }

    .col-md-5 {
        grid-column-end: span 5
    }

    .offset-md-5 {
        grid-column-start: 6
    }

    .col-md-6 {
        grid-column-end: span 6
    }

    .offset-md-6 {
        grid-column-start: 7
    }

    .col-md-7 {
        grid-column-end: span 7
    }

    .offset-md-7 {
        grid-column-start: 8
    }

    .col-md-8 {
        grid-column-end: span 8
    }

    .offset-md-8 {
        grid-column-start: 9
    }

    .col-md-9 {
        grid-column-end: span 9
    }

    .offset-md-9 {
        grid-column-start: 10
    }

    .col-md-10 {
        grid-column-end: span 10
    }
}

@media(max-width:991px) {
    .hide-md-down {
        display: none !important
    }

    .no-padding-md-down {
        padding: 0 !important
    }
}

@media(min-width:1200px) {
    .offset-lg-1 {
        grid-column-start: 2
    }

    .order-lg-2 {
        order: 2
    }

    .col-lg-2 {
        grid-column-end: span 2
    }

    .offset-lg-2 {
        grid-column-start: 3
    }

    .col-lg-3 {
        grid-column-end: span 3
    }

    .col-lg-4 {
        grid-column-end: span 4
    }

    .col-lg-5 {
        grid-column-end: span 5
    }

    .col-lg-6 {
        grid-column-end: span 6
    }

    .offset-lg-7 {
        grid-column-start: 8
    }

    .col-lg-8 {
        grid-column-end: span 8
    }

    .offset-lg-8 {
        grid-column-start: 9
    }

    .col-lg-9 {
        grid-column-end: span 9
    }

    .col-lg-10 {
        grid-column-end: span 10
    }

    .col-lg-12 {
        grid-column-end: span 12
    }
}

@media(min-width:1440px) {
    .hide-xl-up {
        display: none !important
    }

    .order-xl-1 {
        order: 1
    }

    .offset-xl-1 {
        grid-column-start: 2
    }

    .order-xl-2 {
        order: 2
    }

    .col-xl-2 {
        grid-column-end: span 2
    }

    .offset-xl-2 {
        grid-column-start: 3
    }

    .order-xl-3 {
        order: 3
    }

    .col-xl-3 {
        grid-column-end: span 3
    }

    .offset-xl-3 {
        grid-column-start: 4
    }

    .col-xl-4 {
        grid-column-end: span 4
    }

    .offset-xl-4 {
        grid-column-start: 5
    }

    .col-xl-5 {
        grid-column-end: span 5
    }

    .col-xl-6 {
        grid-column-end: span 6
    }

    .col-xl-7 {
        grid-column-end: span 7
    }

    .offset-xl-7 {
        grid-column-start: 8
    }

    .col-xl-8 {
        grid-column-end: span 8
    }

    .offset-xl-8 {
        grid-column-start: 9
    }

    .col-xl-10 {
        grid-column-end: span 10
    }

    .offset-xl-10 {
        grid-column-start: 11
    }

    .col-xl-11 {
        grid-column-end: span 11
    }
}

@media(min-width:1920px) {
    .offset-xxl-1 {
        grid-column-start: 2
    }

    .col-xxl-2 {
        grid-column-end: span 2
    }

    .offset-xxl-2 {
        grid-column-start: 3
    }

    .col-xxl-3 {
        grid-column-end: span 3
    }

    .offset-xxl-3 {
        grid-column-start: 4
    }

    .col-xxl-4 {
        grid-column-end: span 4
    }

    .offset-xxl-4 {
        grid-column-start: 5
    }

    .col-xxl-5 {
        grid-column-end: span 5
    }

    .offset-xxl-7 {
        grid-column-start: 8
    }

    .col-xxl-8 {
        grid-column-end: span 8
    }

    .offset-xxl-8 {
        grid-column-start: 9
    }

    .offset-xxl-9 {
        grid-column-start: 10
    }

    .order-xxl-10 {
        order: 10
    }

    .col-xxl-10 {
        grid-column-end: span 10
    }

    .order-xxl-11 {
        order: 11
    }
}

.color-white {
    color: #fff
}

.color-blue {
    color: #0053a8
}

.color-primary {
    color: var(--color-primary)
}

.bg-black {
    background: #080808
}

.bg-white {
    background: #fff
}

.bg-grey {
    background: #636569
}

.bg-red {
    background: red
}

.bg-beige {
    background: #f1ede1
}

.bg-beige-50 {
    background: rgba(241, 237, 225, .5)
}

.bg-beige-light {
    background: #fbf9f6
}

.bg-blue {
    background: #0053a8
}

.bg-blue-light {
    background: #2579cf
}

.bg-blue-dark {
    background: #353d45 !important
}

.bg-cyan {
    background: #31aed8
}

.bg-cyan-light {
    background: #6ed1f2
}

.bg-green {
    background: #3dab38
}

.bg-green-light {
    background: #6bd366
}

.bg-gold {
    background: #a49e7f !important
}

.bg-gold-light {
    background: #cfc8a4
}

:root {
    --color-primary: #0053a8;
    --color-primary-light: #2579cf;
    --color-secondary: 99, 101, 105;
    --color-secondary-text: 255, 255, 255;
    --color-button-text: #fff;
    --color-collection: #a49e7f;
    --color-camping: #6ba944;
    --color-select: #31aed8;
    --color-city-vibes: #ff009a
}

@media(max-width:991px) {
    .theme {
        --header-height: 136px
    }
}

.theme--collection .frame::after,
.theme--city-vibes .frame::after {
    background: var(--bg-gradient)
}

.theme--collection .maicard .frame::after,
.theme--city-vibes .maicard .frame::after {
    background: var(--color-primary)
}

.theme--collection {
    --color-primary: #a49e7f;
    --color-primary-light: #cfc8a4;
    --color-secondary: 53, 61, 69;
    --color-secondary-text: 255, 255, 255;
    --color-button-text: #080808;
    --bg-gradient: linear-gradient(90deg, #b39f88 0%, #d5ccbd 100%)
}

.theme--select {
    --color-primary: #31aed8;
    --color-primary-light: #6ed1f2;
    --color-secondary: 241, 237, 225;
    --color-secondary-text: 53, 61, 69;
    --color-button-text: #080808
}

.theme--camping {
    --color-primary: #6ba944;
    --color-primary-light: #6bd366;
    --color-secondary: 241, 237, 225;
    --color-secondary-text: 53, 61, 69;
    --color-button-text: #080808
}

.theme--city-vibes {
    --color-primary: #ff009a;
    --color-primary-light: #ff3ab0;
    --color-secondary: 0, 0, 0;
    --color-secondary-text: 255, 255, 255;
    --color-button-text: #fff;
    --bg-gradient: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), linear-gradient(100.13deg, #ff009a 0%, #0f069d 65.61%)
}

.theme--city-vibes .stars:not([class*=" theme--"]) {
    background: var(--bg-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.theme--loyalty,
.maicard {
    --color-primary: #9f7457;
    --gradient: linear-gradient(90deg, #73412b -50%, #efd1a7 100%);
    --color-primary-light: #efd1a7;
    --color-secondary: 230, 228, 221;
    --color-secondary-text: 53, 61, 69;
    --color-button-text: #080808;
    --color-button-text-hover: #fff;
    --border-width: 0
}

.bg-secondary {
    background: rgb(52 78 105)
}

.color-secondary-text {
    color: rgba(var(--color-secondary-text), 1)
}

@font-face {
    font-family: maistra display;
    src: url(fonts/MaistraDisplay-Regular.woff2)format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: typoninesans pro;
    src: url(fonts/TyponineSansPro-Regular.woff2)format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: typoninesans pro;
    src: url(fonts/TyponineSansPro-Bold.woff2)format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: typoninesans pro;
    src: url(fonts/TyponineSansPro-Medium.woff2)format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: typoninesans pro text;
    src: url(fonts/TyponineSansPro-Text.woff2)format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

:root {
    --typonine-sans-pro: 'TyponineSans Pro', sans-serif;
    --typonine-sans-pro-text: 'TyponineSans Pro Text', sans-serif;
    --maistra-display: 'Maistra Display', sans-serif;
    --p-margin: 24px
}

@media print {
    :root {
        --p-margin: 16px
    }
}

.font-maistra-display {
    font-family: var(--maistra-display)
}

body {
    font-family: var(--typonine-sans-pro);
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: 2;
    letter-spacing: 1px;
    color: #080808
}

@media print {
    body {
        font-size: 12px
    }
}

.gradient-text,
.advantages__list .h3,
.layout-loyalty-list main h2,
.layout-loyalty-list .hero h1,
.layout-levels-list .newsletter h2,
.layout-levels-list h1,
.unit-card .h3--counter::before {
    background: var(--gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.hero-title {
    font-family: var(--maistra-display);
    font-size: clamp(36px, 7.2vw, 80px);
    line-height: 1.1
}

@media(max-width:767px) {
    .hero-title {
        -webkit-hyphens: auto;
        hyphens: auto
    }
}

@media(min-width:1200px) {
    .hero-title {
        line-height: 96px
    }
}

@media print {
    .hero-title {
        font-size: 40px
    }
}

h1,
.h1 {
    font-family: var(--maistra-display);
    font-size: clamp(24px, 4.8vw, 48px);
    line-height: calc(4/3);
    font-weight: 400;
    margin: 1em 0
}

@media(min-width:768px) {

    h1,
    .h1 {
        line-height: calc(7/6)
    }
}

@media print {

    h1,
    .h1 {
        font-size: 32px;
        margin: .5em 0
    }
}

h2,
.h2 {
    font-family: var(--maistra-display);
    font-size: clamp(20px, 4vw, 36px);
    line-height: 1.6;
    font-weight: 400;
    margin: 1em 0
}

@media(min-width:768px) {

    h2,
    .h2 {
        line-height: calc(4/3)
    }
}

@media print {

    h2,
    .h2 {
        font-size: 24px;
        margin: .5em 0
    }
}

h3,
.h3 {
    font-family: var(--maistra-display);
    font-size: clamp(18px, 3.6vw, 24px);
    line-height: calc(4/3);
    font-weight: 400;
    text-transform: uppercase;
    margin: 1em 0;
    letter-spacing: 3px
}

@media(min-width:768px) {

    h3,
    .h3 {
        line-height: calc(5/3)
    }
}

@media print {

    h3,
    .h3 {
        font-size: 18px;
        margin: .25em 0
    }
}

h4,
.h4,
table.loyalty-table th {
    font-family: var(--maistra-display);
    font-size: clamp(16px, 2.8vw, 24px);
    line-height: calc(5/3);
    font-weight: 400;
    margin: 1em 0;
    text-transform: initial;
    letter-spacing: initial
}

@media print {

    h4,
    .h4,
    table.loyalty-table th {
        font-size: 16px;
        margin: .25em 0
    }
}

p {
    margin: var(--p-margin)0
}

a {
    color: #0053a8;
    text-decoration: none
}

a:hover {
    text-decoration: underline
}

.large-text {
    font-family: var(--maistra-display);
    font-size: clamp(16px, 3.2vw, 24px);
    line-height: 1.5
}

@media(min-width:768px) {
    .large-text {
        line-height: 2
    }
}

@media print {
    .large-text {
        font-size: 14px
    }
}

.small-text {
    font-size: clamp(12px, 2.4vw, 14px);
    line-height: 2
}

@media print {
    .small-text {
        font-size: 10px
    }
}

.text-right {
    text-align: right
}

.text-center {
    text-align: center
}

.supertitle::after {
    content: '';
    display: block;
    width: 120px;
    border-bottom: 1px solid var(--color-primary)
}

hr {
    border: none;
    border-top: 1px solid rgba(8, 8, 8, .35);
    margin: var(--p-margin)0
}

ul.no-bullets,
ol.no-bullets {
    margin: 0;
    padding: 0;
    list-style: none
}

ul:not(.no-bullets),
ol:not(.no-bullets) {
    padding: 0;
    margin: var(--p-margin)0
}

ul:not(.no-bullets) li,
ol:not(.no-bullets) li {
    list-style-type: none;
    position: relative;
    padding-left: 56px
}

ul:not(.no-bullets) li::before,
ol:not(.no-bullets) li::before {
    content: '';
    position: absolute;
    width: 40px;
    max-width: 10%;
    margin-left: -56px;
    top: 16px;
    height: 1px;
    background-color: #080808;
    margin-right: 16px
}

@media(max-width:767px) {

    ul:not(.no-bullets) li::before,
    ol:not(.no-bullets) li::before {
        top: 11px
    }
}

.star-list ul li::before {
    font-family: var(--icomoon);
    content: '\e939';
    background: 0 0;
    width: auto;
    height: auto;
    top: 0;
    margin-left: -44px
}

.note {
    margin-top: 52px;
    padding: clamp(24px, 2.4vw, 40px);
    background-color: #f1ede1;
    font-size: 16px;
    font-family: var(--typonine-sans-pro);
    line-height: 26px
}

@media(max-width:991px) {
    .note {
        font-style: italic
    }
}

@media print {
    .note {
        font-size: 14px
    }
}

.note>p:first-child {
    margin-top: 0
}

.note>p:last-child {
    margin-bottom: 0
}

.note>ul:last-child {
    margin-bottom: 0;
    padding-bottom: 0
}

.uppercase {
    text-transform: uppercase
}

html,
body {
    min-height: 100vh;
    background: #fbf9f6;
    color: #080808
}

body[dark] {
    background: #1c1c1c;
    color: #fff
}

.lg-toolbar>a {
    display: none
}

img {
    max-width: 100%
}

:root {
    --section-dist: clamp(40px, 7vw, 120px);
    --section-dist-large: clamp(40px, 8vw, 160px)
}

.is-hidden {
    display: none !important
}

.overflow-hidden {
    overflow: hidden
}

.no-margin {
    margin: 0 !important
}

.no-margin-top {
    margin-top: 0 !important
}

.no-margin-bottom {
    margin-bottom: 0 !important
}

.no-padding-bottom {
    padding-bottom: 0 !important
}

.section-padding {
    padding-top: var(--section-dist);
    padding-bottom: 80px;
}

.section-padding-large {
    padding-top: var(--section-dist-large);
    padding-bottom: var(--section-dist-large)
}

.section-padding-top {
    padding-top: var(--section-dist)
}

.section-padding-large-top {
    padding-top: var(--section-dist-large)
}

.section-padding-bottom {
    padding-bottom: var(--section-dist)
}

.section-padding-small {
    padding-top: calc(var(--section-dist)/2);
    padding-bottom: calc(var(--section-dist)/2)
}

.section-margin {
    margin-top: var(--section-dist);
    margin-bottom: var(--section-dist)
}

.section-margin-top {
    margin-top: var(--section-dist) !important
}

.section-margin-large-top {
    margin-top: var(--section-dist-large) !important
}

.section-margin-large-bottom {
    margin-bottom: var(--section-dist-large) !important
}

.section-margin-large {
    margin-top: var(--section-dist-large) !important;
    margin-bottom: var(--section-dist-large) !important
}

.section-margin-bottom {
    margin-bottom: var(--section-dist) !important
}

.section-margin-small-top {
    margin-top: calc(var(--section-dist)/2) !important
}

.section-margin-small-bottom {
    margin-bottom: calc(var(--section-dist)/2) !important
}

.section-margin-small {
    margin-top: calc(var(--section-dist)/2);
    margin-bottom: calc(var(--section-dist)/2)
}

.capitalize {
    text-transform: capitalize
}

@media(max-width:767px) {
    .width-auto-sm-down {
        width: auto !important
    }
}

.p-margin-top {
    margin-top: var(--p-margin)
}

.p-margin-bottom {
    margin-bottom: var(--p-margin)
}

.min-height-100vh {
    min-height: 100vh
}

@media screen {
    .negative-cp {
        width: calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding))
    }
}

@media screen and (max-width:575px) {
    .negative-cp-xs-down {
        width: calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding))
    }
}

@media screen and (max-width:767px) {
    .negative-cp-sm-down {
        width: calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding))
    }
}

@media screen and (max-width:991px) {
    .negative-cp-md-down {
        width: calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding))
    }
}

@media screen and (max-width:1199px) {
    .negative-cp-lg-down {
        width: calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding))
    }
}

@media print {
    .hide-on-print {
        display: none !important
    }
}

button,
[role=button] {
    cursor: pointer
}

.button {
    display: inline-block;
    padding: clamp(10px, 2.8vw, 20px)clamp(26px, 6vw, 40px);
    background-color: #0053a8;
    border: var(--border-width, 1px)solid #0053a8;
    color: #fff;
    font-family: var(--maistra-display);
    font-size: clamp(14px, 2.8vw, 18px);
    line-height: 1.5;
    letter-spacing: 2px;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .2s ease-in;
    min-width: clamp(216px, 40vw, 272px);
    max-width: 100%
}

.button:hover {
    background-color: #2579cf;
    border-color: #2579cf;
    text-decoration: none
}

.button:disabled {
    pointer-events: none;
    filter: contrast(.65)
}

.button--primary {
    background: var(--gradient, var(--color-primary));
    border-color: var(--color-border, var(--color-primary));
    color: var(--color-button-text)
}

.button--primary:hover {
    background: var(--gradient, var(--color-primary-light));
    border-color: var(--color-border-hover, var(--color-primary-light));
    color: var(--color-button-text-hover, var(--color-button-text))
}

.button--primary:not(.maicard .button--primary) {
    position: relative
}

.button--primary:not(.maicard .button--primary).theme--collection,
.theme--collection .button--primary:not(.maicard .button--primary) {
    background: #fff;
    border-width: 0
}

.button--primary:not(.maicard .button--primary).theme--city-vibes,
.theme--city-vibes .button--primary:not(.maicard .button--primary) {
    background: #080808;
    border-color: #080808;
    color: #fff
}

.button--secondary {
    background-color: transparent;
    border-color: var(--color-primary);
    color: var(--color-primary)
}

.button--secondary:hover {
    background-color: var(--color-primary);
    color: var(--color-button-text)
}

.button--beige {
    background-color: #f1ede1;
    border-color: #f1ede1;
    color: #080808
}

.button--beige:hover {
    background-color: #fbf9f6;
    border-color: #fbf9f6
}

.button--gold {
    background-color: #a49e7f;
    border-color: #a49e7f;
    color: #fff
}

.button--gold:hover {
    background-color: #cfc8a4;
    border-color: #cfc8a4;
    color: #080808
}

.button--cyan {
    background-color: #31aed8;
    border-color: #31aed8;
    color: #080808
}

.button--cyan:hover {
    background-color: #6ed1f2;
    border-color: #6ed1f2
}

.button--green {
    background-color: #3dab38;
    border-color: #3dab38;
    color: #080808
}

.button--green:hover {
    background-color: #6bd366;
    border-color: #6bd366
}

.button--red {
    background-color: red;
    border-color: red;
    color: #fff
}

.button--red:hover {
    background-color: red;
    border-color: red
}

.button--outline {
    --border-width: 1px;
    background-color: transparent;
    color: currentcolor;
    border-color: initial;
    position: relative
}

.button--outline::before {
    content: '';
    background-color: currentcolor;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity .2s ease-in
}

.button--outline:hover {
    background-color: transparent;
    border-color: initial
}

.button--outline:hover::before {
    opacity: .05
}

.button--blank {
    background-color: transparent;
    color: #080808;
    border-color: transparent;
    display: inline-flex;
    padding: 0;
    align-items: center;
    gap: 16px;
    min-width: auto
}

.button--blank i {
    font-size: clamp(18px, 3.6vw, 24px)
}

.button--blank:hover {
    background-color: transparent;
    border-color: transparent
}

.button--block {
    display: block;
    width: 100%
}

.button--maistar,
.theme--loyalty .header .button--primary.check-rates-button,
.maicard .header .button--primary.check-rates-button {
    background-image: linear-gradient(90deg, #73412b -52.67%, #efd1a7 100%);
    border: none;
    color: #080808
}

.button--maistar:hover,
.theme--loyalty .header .button--primary.check-rates-button:hover,
.maicard .header .button--primary.check-rates-button:hover {
    color: #fff;
    background-image: linear-gradient(90deg, #73412b 0%, #efd1a7 100%)
}

.button--icons {
    position: relative;
    display: flex;
    align-items: center;
    text-align: left;
    padding: 16px 80px 16px 64px;
    min-height: clamp(80px, 8vw, 96px)
}

@media(min-width:992px) {
    .button--icons {
        padding: 24px 100px 24px 72px
    }
}

.button--icons i {
    position: absolute;
    left: 20px;
    font-size: 20px
}

.button--icons i:last-child {
    left: auto;
    right: 16px;
    font-size: 15px
}

@media(min-width:992px) {
    .button--icons i:last-child {
        right: 32px
    }
}

.show-more {
    cursor: pointer;
    border: none;
    font-family: var(--maistra-display);
    background-color: transparent;
    text-transform: uppercase;
    font-size: 16px;
    display: flex;
    align-items: center
}

.show-more i {
    margin-left: 18px;
    font-size: 24px
}

.link {
    position: relative;
    color: #0053a8;
    text-decoration: none;
    cursor: pointer;
    background-image: linear-gradient(to right, #0053a8, #0053a8);
    background-size: 0 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size .3s ease
}

.link:hover {
    text-decoration: none;
    background-size: 100% 1px
}

.button-group {
    display: flex;
    margin: 24px 0 32px;
    gap: 16px;
    flex-wrap: wrap
}

@media(min-width:992px) {
    .button-group {
        gap: 32px
    }
}

@media(max-width:575px) {
    .button-group .button {
        min-width: calc(50% - 8px)
    }
}

.link-icon {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #080808;
    margin-bottom: 8px;
    line-height: 1
}

@media(min-width:992px) {
    .link-icon {
        gap: 8px;
        margin-bottom: 12px
    }
}

.link-icon::before {
    font-family: var(--icomoon);
    content: '\e927';
    font-size: clamp(32px, 6.4vw, 40px)
}

.link-icon:hover {
    text-decoration: none
}

.link-icon:hover span {
    text-decoration: underline;
    color: #0053a8
}

:root {
    --header-height: 48px;
    --header-sticky-height: 48px;
    --header-single-height: 184px
}

@media(min-width:992px) {
    :root {
        --header-height: 160px;
        --header-single-height: 104px
    }
}

.header {
    --cr-btn-width: 226px;
    --arrow-size: 48px;
    position: absolute;
    z-index: 100;
    width: 100%;
    transition: background 1000ms cubic-bezier(.19, 1, .22, 1);
    background: #fbf9f6
}

.header a:not(.check-rates-button) {
    color: #080808
}

.header__top {
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media(min-width:992px) {
    .header__top {
        padding: 32px var(--container-padding)24px
    }
}

@media print {
    .header__top {
        padding: 0 0 16px
    }
}

.header__arrow-left,
.header__arrow-right {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    background: 0 0;
    outline: none;
    border: none;
    height: var(--arrow-size);
    min-width: var(--arrow-size);
    text-align: center
}

.header__arrow-left i,
.header__arrow-right i {
    vertical-align: middle;
    font-size: 24px
}

.header--dark .header__arrow-left i,
.header--dark .header__arrow-right i {
    color: #fff
}

.header__arrow-left {
    left: calc(var(--container-padding) - 60px)
}

@media(max-width:1199px) {
    .header__arrow-left {
        left: calc(var(--container-padding) - 35px)
    }
}

.header__arrow-right {
    right: calc(var(--cr-btn-width) + var(--container-padding))
}

.header__profile {
    position: relative
}

.header__profile span {
    font-size: 16px;
    line-height: 2;
    color: inherit
}

.header__profile .header__icons--dots {
    width: 30px;
    background-image: url(https://res.cloudinary.com/maistra/image/upload/v1658495232/Assets/auth-in-progress-dark.svg);
    background-repeat: no-repeat;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 55%;
    left: 50%;
    margin-left: 7px
}

@media(max-width:767px) {
    .header__profile .header__icons--dots {
        top: 52%
    }
}

.header--dark .header__profile .header__icons--dots {
    background-image: url(https://res.cloudinary.com/maistra/image/upload/v1658495232/Assets/auth-in-progress.svg)
}

.header__loyalty-nav {
    position: absolute;
    background: #fff;
    display: flex;
    flex-direction: column;
    min-width: 200px;
    z-index: 100;
    right: 26px;
    top: 65px
}

@media(max-width:767px) {
    .header__loyalty-nav {
        position: fixed;
        width: 100%;
        right: 0;
        height: calc(100% - var(--header-sticky-height));
        top: var(--header-sticky-height);
        padding: 12px 0;
        overflow-y: auto
    }
}

.header__loyalty-nav::after {
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #fff;
    display: inline-block;
    transform: rotate(494deg);
    top: -7px;
    right: -5px;
    position: absolute
}

@media(min-width:768px) {
    .header__loyalty-nav::after {
        content: ''
    }
}

@media(min-width:992px) {
    .header__loyalty-nav {
        min-width: 256px
    }
}

.header__loyalty-nav a,
.header__loyalty-nav button {
    padding: 12px 20px;
    text-decoration: none;
    position: relative;
    background: 0 0;
    border: none;
    text-align: left
}

@media(min-width:768px) {

    .header__loyalty-nav a,
    .header__loyalty-nav button {
        padding: 12px 24px
    }
}

.header--dark .header__loyalty-nav a,
.header--dark .header__loyalty-nav button {
    color: #080808 !important
}

.header__loyalty-nav a:hover,
.header__loyalty-nav button:hover {
    background-color: var(--color-primary);
    color: rgba(var(--color-secondary-text), 1) !important;
    transition: .3s
}

.header__loyalty-nav hr {
    margin: 12px 20px
}

@media(min-width:768px) {
    .header__loyalty-nav hr {
        margin: 0 24px
    }
}

.header__bottom {
    position: relative
}

@media(max-width:991px) {
    .header__bottom {
        display: none
    }
}

@media(min-width:992px) {
    .header__bottom {
        padding-left: var(--container-padding);
        padding-right: calc(8px + var(--arrow-size) + var(--cr-btn-width) + var(--container-padding));
        border-top: 1px solid rgba(8, 8, 8, .35);
        border-bottom: 1px solid rgba(8, 8, 8, .35);
        transition: background 1000ms cubic-bezier(.19, 1, .22, 1);
        overflow: hidden
    }
}

@media(min-width:1200px) {
    .header__bottom {
        gap: 80px
    }
}

.header__bottom div {
    display: flex;
    scroll-behavior: smooth;
    overflow-x: scroll;
    gap: 40px;
    scrollbar-width: none;
    height: 46px
}

@media(max-width:1199px) {
    .header__bottom div {
        margin-left: 16px
    }
}

.header__bottom div::-webkit-scrollbar {
    display: none
}

.header__bottom a {
    position: relative;
    padding: 12px 0;
    flex-shrink: 0
}

@media(min-width:992px) {
    .header__bottom a {
        line-height: 22px
    }
}

.header__bottom a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    background: var(--color-primary);
    transition: width 1500ms cubic-bezier(.19, 1, .22, 1)
}

.header__bottom a:hover,
.header__bottom a.active {
    text-decoration: none
}

.header__bottom a:hover::after,
.header__bottom a.active::after {
    width: 100%
}

.header__property-title {
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-family: var(--maistra-display);
    display: flex;
    align-items: baseline
}

@media(max-width:991px) {
    .header__property-title {
        display: none
    }
}

@media(max-width:991px) {
    .header__property-title {
        flex-direction: column;
        position: absolute;
        top: 80px;
        left: var(--container-padding);
        z-index: 20;
        gap: 8px
    }

    .header--dark .header__property-title {
        color: #fff
    }
}

@media(min-width:992px) {
    .header__property-title {
        font-size: 18px;
        line-height: 32px;
        padding-left: 32px;
        margin-left: 32px;
        margin-right: auto;
        border-left: 1px solid rgba(8, 8, 8, .35);
        gap: 16px
    }
}

.header__property-title:hover {
    text-decoration: none
}

.header__icons {
    display: flex;
    align-items: center
}

@media(max-width:991px) {
    .header__icons {
        padding-right: 8px
    }
}

@media(min-width:992px) {
    .header__icons {
        gap: 16px
    }
}

.header__icons a:hover {
    text-decoration: none
}

.header__icon {
    border: none;
    background: 0 0;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    padding: 0;
    min-width: clamp(32px, 11.3vw, 48px);
    color: inherit
}

@media(min-width:992px) {
    .header__icon {
        font-size: 24px
    }
}

.header__icon:hover {
    text-decoration: none
}

.header--dark .header__icon {
    color: #fff
}

.header__icon--user i.icon-caret-down {
    font-size: clamp(10px, 2vw, 20px);
    margin-left: clamp(4px, .8vw, 8px)
}

.header__icon--user i.icon-caret-down.active {
    transform: rotate(180deg)
}

.header__icon--search {
    border: 1px solid #080808;
    padding: 10px 10px 8px;
    text-transform: uppercase;
    font-family: var(--maistra-display);
    font-size: 14px;
    letter-spacing: 2px;
    border-radius: 5px;
    display: flex
}

@media(max-width:991px) {
    .header__icon--search {
        padding: 8px
    }
}

.header--dark .header__icon--search {
    border: 1px solid #fff
}

.header__icon--search span {
    padding-left: 8px
}

@media(max-width:991px) {
    .header__icon--search span {
        display: none;
        padding-left: 0
    }
}

.header .button--primary.check-rates-button {
    --padding-tb: 8px;
    --padding-lr: clamp(8px, 2.5vw, 12px);
    font-size: 10px;
    line-height: 24px;
    padding: var(--padding-tb)var(--padding-lr);
    min-width: auto;
    z-index: 1
}

@media(max-width:991px) {
    .header .button--primary.check-rates-button {
        margin: 0 4px;
        display: none
    }
}

@media(min-width:992px) {
    .header .button--primary.check-rates-button {
        --padding-tb: 10px;
        --padding-lr: 16px;
        position: absolute;
        bottom: 1px;
        right: var(--container-padding);
        font-size: 14px
    }
}

.theme--collection .header .button--primary.check-rates-button,
.theme--city-vibes .header .button--primary.check-rates-button {
    --padding-tb: 11px;
    --padding-lr: 5px;
    border: none;
    background: var(--bg-gradient)
}

.theme--collection .header .button--primary.check-rates-button {
    background: var(--bg-gradient)
}

.theme--city-vibes .header .button--primary.check-rates-button {
    background: #080808
}

.theme--city-vibes .header .button--primary.check-rates-button::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #080808;
    opacity: 0;
    transition: opacity .3s ease;
    z-index: -1
}

.theme--city-vibes .header .button--primary.check-rates-button:hover::after {
    opacity: 1
}

.theme--city-vibes .header--dark .header .button--primary.check-rates-button {
    background: #080808
}

.theme--loyalty .header .button--primary.check-rates-button,
.maicard .header .button--primary.check-rates-button {
    --padding-tb: 9px
}

@media(min-width:992px) {

    .theme--loyalty .header .button--primary.check-rates-button,
    .maicard .header .button--primary.check-rates-button {
        --padding-tb: 11px
    }
}

.header--dark {
    background: 0 0;
    color: #fff
}

.theme--city-vibes .header--dark .check-rates-button {
    background: #080808 !important
}

.header--dark a:not(.check-rates-button) {
    color: #fff
}

@media(min-width:992px) {
    .header--dark a:not(.check-rates-button) {
        line-height: 22px
    }
}

.header--dark .search a {
    color: inherit
}

.header--dark .header__property-title {
    border-color: rgba(255, 255, 255, .35)
}

.header--dark .header__bottom {
    border-top: 1px solid rgba(255, 255, 255, .35);
    border-bottom: 1px solid rgba(255, 255, 255, .35)
}

@media(min-width:992px) {
    .header--single .header__top {
        padding-bottom: 32px
    }
}

@media(max-width:991px) {
    .header--single .header-logos {
        margin-right: auto
    }

    .header--single .header-logos img {
        width: auto;
        height: 100%
    }
}

.header--single .button--primary.check-rates-button {
    margin-right: clamp(20px, 4vw, 80px);
    display: block
}

@media(min-width:992px) {
    .header--single .button--primary.check-rates-button {
        position: relative;
        bottom: initial;
        right: initial
    }
}

.header.sticky {
    position: fixed;
    color: #080808;
    box-shadow: 0 4px 20px rgba(8, 8, 8, 5%);
    animation: sticky-from-top 1500ms cubic-bezier(.19, 1, .22, 1)
}

@media(max-width:991px) {
    .header.sticky {
        background: #faf8f4
    }
}

.header.sticky .mega-menu__button i {
    color: #080808
}

@media(min-width:992px) {
    .header.sticky .header__top {
        height: 0;
        padding: 0
    }

    .header.sticky .header__top *:not(.header__icons, .button) {
        display: none
    }
}

.header.sticky .header__bottom {
    background: #faf8f4;
    border: none;
    padding-top: 1px;
    padding-bottom: 1px
}

body[dark] .header.sticky .header__bottom {
    background: #171717
}

@media(max-width:991px) {
    .header.sticky .header__icon:not(.mega-menu__button) {
        display: none
    }
}

@media(max-width:991px) {
    .header.sticky .header__property-title {
        margin: 0 16px;
        font-size: 12px;
        line-height: 13px;
        position: relative;
        top: 0;
        left: 0
    }

    .header.sticky .header__property-title .stars {
        display: none
    }
}

.header.sticky a:not(.check-rates-button) {
    color: #080808
}

.header.sticky .check-rates-button {
    display: block;
    width: -moz-max-content;
    width: max-content
}

@media(min-width:992px) {
    .header.sticky .check-rates-button {
        bottom: 0;
        padding: 12px 16px
    }
}

@media(max-width:767px) {
    .layout-loyalty-dashboard .header.sticky .check-rates-button {
        display: none
    }
}

.header.sticky .lang-switch__button {
    display: none
}

@media(min-width:992px) {
    .header--brand .header__top {
        padding: 36px var(--container-padding)28px
    }
}

@media(max-width:991px) {
    .header--brand .header-logos {
        justify-content: flex-start !important
    }

    .header--brand .header-logos img {
        height: 100%;
        width: auto;
        max-width: none
    }
}

@media(max-width:991px) {
    .header--brand.sticky .header-logos {
        display: none
    }
}

@media(max-width:767px) {
    .header--brand .header__property-title {
        display: flex
    }
}

.header--simple {
    position: relative;
    background: #faf8f4
}

@media screen {
    .header--simple {
        box-shadow: 0 4px 20px rgba(8, 8, 8, 5%)
    }
}

@media print {
    .header--simple {
        border-bottom: 1px solid rgba(8, 8, 8, .35)
    }
}

body[dark] .header:not(.header--dark) {
    background: #171717
}

body[dark] .header a,
body[dark] .header button {
    color: #fff
}

@media(max-width:767px) {
    .layout-units-single .header__property-title {
        display: flex
    }
}

.header-padding {
    padding-top: var(--header-height)
}

.header-hybrid-padding {
    padding-top: var(--header-sticky-height)
}

@media(min-width:992px) {
    .header-hybrid-padding {
        padding-top: var(--header-height)
    }
}

.header-single-padding {
    padding-top: var(--header-single-height)
}

.header-sentinal {
    position: absolute;
    top: var(--header-height)
}

@media(min-width:992px) {
    .header-sentinal {
        top: calc(var(--header-height) - 48px)
    }
}

@keyframes sticky-from-top {
    from {
        top: -48px
    }

    to {
        top: 0
    }
}

.header-logos {
    display: flex;
    align-items: center
}

@media(max-width:991px) {
    .header-logos {
        height: auto;
        width: 200px;
        flex-shrink: 0;
        gap: 16px
    }
}

@media(min-width:992px) {
    .header-logos {
        gap: 56px
    }
}

.header-logos__maistra img {
    display: block
}

@media(min-width:992px) {
    .header-logos__maistra img {
        width: auto;
        height: 100%;
        flex-shrink: 0
    }
}

@media print {
    .header-logos__maistra img {
        height: 40px
    }
}

.header-logos__posao {
    height: auto;
    width: 80px
}

@media(min-width:992px) {
    .header-logos__posao {
        width: 150px
    }
}

.header.sticky .header-logos__posao {
    display: none
}

@media(min-width:992px) {
    .header-logos--invert .header-logos__maistra img {
        filter: invert(1)
    }
}

.mega-menu {
    --level-padding: clamp(20px, 3vw, 40px)
}

.mega-menu .main-menu__brand div,
.main-menu__brand .mega-menu div,
.mega-menu .mega-menu__title {
    width: calc(100% + (2 * var(--level-padding)));
    margin-left: calc(-1 * var(--level-padding));
    margin-right: calc(-1 * var(--level-padding))
}

.mega-menu__wrapper {
    position: fixed;
    top: var(--header-sticky-height);
    left: 0;
    width: 100%;
    height: calc(100% - var(--header-sticky-height));
    background: #fff;
    color: #080808;
    font-family: var(--maistra-display);
    z-index: 20
}

@media(max-width:991px) {
    .mega-menu__wrapper {
        overflow-y: auto
    }
}

@media(min-width:992px) {
    .mega-menu__wrapper {
        top: 0;
        height: 100%;
        display: flex
    }
}

.mega-menu__wrapper a:not(.button) {
    color: #080808
}

.mega-menu__wrapper a:not(.button):hover {
    text-decoration: none;
    color: #0053a8
}

.mega-menu__button {
    font-size: 24px;
    z-index: 21;
    position: relative
}

@media(min-width:992px) {
    .mega-menu__button {
        font-size: 52px;
        width: 52px;
        margin-left: 24px
    }
}

.mega-menu__button[aria-expanded=false] .icon-close {
    display: none
}

.mega-menu__button[aria-expanded=false]+.mega-menu__wrapper {
    display: none
}

@media(min-width:992px) {
    .mega-menu__button[aria-expanded=true] {
        background: #080808;
        color: #fff;
        font-size: 24px
    }
}

.mega-menu__button[aria-expanded=true] .icon-menu {
    display: none
}

.mega-menu__image {
    height: clamp(20vh, 55vw, 40vh);
    width: 100%
}

@media(min-width:992px) {
    .mega-menu__image {
        order: 5;
        height: 100%
    }
}

.mega-menu__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.mega-menu__image--double {
    display: flex;
    flex-direction: column
}

.mega-menu__image--double img {
    height: 50%
}

@media(min-width:992px) {
    .mega-menu__levels {
        display: flex
    }
}

.mega-menu__level {
    padding: 0 var(--level-padding)clamp(32px, 6.4vw, 40px);
    position: relative;
    background: #fff
}

@media(min-width:992px) {
    .mega-menu__level {
        width: clamp(328px, 32vw, 488px);
        height: 100%;
        overflow-y: auto;
        flex-shrink: 0
    }
}

.mega-menu__level--1,
.mega-menu__level--2 {
    padding-top: clamp(24px, 4.8vw, 32px)
}

@media(min-width:992px) {

    .mega-menu__level--1,
    .mega-menu__level--2 {
        padding-left: clamp(40px, 5vw, 64px)
    }
}

.mega-menu__level--1>hr,
.mega-menu__level--2>hr {
    margin: 36px 0
}

@media(min-width:992px) {

    .mega-menu__level--2,
    .mega-menu__level--3 {
        border-left: 1px solid rgba(8, 8, 8, .35)
    }
}

.mega-menu__level--3 {
    min-height: 100%;
    order: 3;
    z-index: 3
}

@media(max-width:991px) {
    .mega-menu__level--3 {
        position: absolute;
        width: 100%;
        top: clamp(20vh, 55vw, 40vh);
        left: 0
    }
}

.mega-menu__logo {
    display: inline-block;
    margin-bottom: 36px
}

@media(max-width:991px) {
    .mega-menu__logo {
        display: none
    }
}

.mega-menu__title {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px
}

.mega-menu__title button {
    border: 0;
    background: rgba(241, 237, 225, .5);
    padding: 24px var(--level-padding);
    font-size: 14px;
    line-height: 1;
    font-family: var(--typonine-sans-pro);
    display: flex;
    gap: 16px;
    align-items: center
}

@media(min-width:992px) {
    .mega-menu__title button {
        display: none
    }
}

.mega-menu__title span {
    font-size: 24px;
    line-height: 32px;
    padding: clamp(32px, 3.2vw, 44px)var(--level-padding);
    position: relative
}

.mega-menu__title span::after {
    content: '';
    height: 1px;
    width: calc(100% - 2 * var(--level-padding));
    margin-left: var(--level-padding);
    background: rgba(8, 8, 8, .35);
    position: absolute;
    bottom: 0;
    left: 0
}

.mega-menu ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
    font-size: 16px;
    line-height: 1.5
}

.mega-menu__main {
    gap: 28px;
    margin-bottom: 36px !important
}

.mega-menu__personal>li>a {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 24px;
    letter-spacing: 2px;
    text-transform: uppercase;
    gap: 20px
}

@media(min-width:992px) {
    .mega-menu__personal>li>a {
        gap: 16px
    }
}

.mega-menu__personal>li>a>i {
    font-size: 20px
}

.mega-menu .accordion summary {
    padding: 20px 0;
    background: 0 0
}

.mega-menu .accordion summary:hover {
    color: #0053a8
}

.mega-menu .accordion summary .h3 {
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 3px;
    text-transform: uppercase
}

.mega-menu .accordion[open] summary {
    color: #0053a8
}

.mega-menu--sections .header__top {
    margin-bottom: var(--p-margin)
}

@media(max-width:991px) {
    .mega-menu--sections .header__top {
        display: none
    }
}

@media(min-width:1920px) {
    .mega-menu--sections .header__top {
        margin-bottom: calc(var(--section-dist)/2)
    }
}

.header--dark .mega-menu--sections .header__top {
    background: #080808
}

.header--dark .mega-menu--sections .header__top a {
    color: #fff
}

@media(min-width:992px) {
    .mega-menu--sections .mega-menu__image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }
}

.mega-menu--sections .mega-menu__levels {
    width: 100%
}

@media(min-width:992px) {
    .mega-menu--sections .mega-menu__level--1 {
        padding: 0
    }
}

@media(min-width:1920px) {
    .mega-menu--sections .mega-menu__level--1 {
        width: auto
    }
}

.mega-menu--sections .mega-menu__level--2 {
    padding-top: clamp(24px, 4.8vw, 32px)
}

@media(min-width:992px) {
    .mega-menu--sections .mega-menu__level--3 {
        flex-grow: 1
    }
}

@media(max-width:1919px) {
    .mega-menu--property .header__top {
        margin-bottom: var(--header-height)
    }
}

@media(max-width:1919px) {
    .mega-menu--property .header__property-title {
        flex-direction: column;
        gap: 8px;
        position: absolute;
        top: var(--header-height);
        left: var(--container-padding);
        z-index: 20;
        margin: 0;
        padding: 0;
        border: none
    }

    .header--dark .mega-menu--property .header__property-title {
        color: #080808 !important
    }
}

.menu-brands ul {
    gap: 28px;
    margin-top: 40px
}

.js-has-pseudo [csstools-has-1a-31-2t-32-39-19-2q-36-2p-32-2s-37-w-39-30-w-30-2x-w-2p-1m-2w-2p-37-14-2x-31-2v-15]:not(does-not-exist):not(does-not-exist):not(does-not-exist):not(does-not-exist) {
    display: flex
}

.menu-brands ul li a:has(img) {
    display: flex
}

.js-has-pseudo [csstools-has-1a-31-2t-32-39-19-2q-36-2p-32-2s-37-w-39-30-w-30-2x-w-2p-1m-2w-2p-37-14-2x-31-2v-15-w-2x-31-2v]:not(does-not-exist):not(does-not-exist):not(does-not-exist):not(does-not-exist):not(does-not-exist) {
    height: 36px
}

.menu-brands ul li a:has(img) img {
    height: 36px
}

.main-menu {
    font-size: 24px;
    line-height: 32px
}

.main-menu>a>span {
    font-family: var(--typonine-sans-pro);
    font-size: 12px;
    line-height: 16px;
    letter-spacing: .1em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px
}

.main-menu__button {
    position: relative
}

@media(min-width:992px) {
    .main-menu__button {
        display: block;
        padding-right: 40px
    }

    .main-menu__button[aria-expanded=true] ::after,
    .main-menu__button:hover ::after {
        content: '\e905';
        font-family: var(--icomoon);
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 24px
    }
}

.main-menu__button--explore {
    display: block
}

.main-menu__button--explore::after {
    content: '\e905';
    font-family: var(--icomoon);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px
}

.main-menu__button[aria-expanded=true] {
    color: #0053a8
}

.main-menu__button[aria-expanded=false]+.mega-menu__level {
    display: none
}

.main-menu .mega-menu__title {
    margin-bottom: 20px
}

.main-menu__brand div {
    background: rgba(241, 237, 225, .5);
    padding: 28px var(--level-padding)20px
}

.main-menu__brand div img {
    height: 30px;
    width: auto;
    display: block
}

.main-menu__brand ul {
    gap: 32px;
    margin: 32px 0
}

.main-menu__brand ul a {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    text-transform: uppercase;
    gap: 4px
}

@media(min-width:992px) {
    .main-menu__brand ul a {
        position: relative;
        padding-right: 40px
    }

    .main-menu__brand ul a:hover::after {
        content: '\e905';
        font-family: var(--icomoon);
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 16px
    }
}

.main-menu__footer {
    border-top: 1px solid rgba(8, 8, 8, .35);
    padding-top: 32px;
    font-size: 14px;
    line-height: 24px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top: 20px
}

.locale-switch .modal__container {
    max-width: 576px
}

@media(max-width:1199px) {
    .locale-switch .modal__container {
        max-height: 90%
    }
}

@media(max-width:575px) {
    .locale-switch .modal__container {
        max-height: 100%
    }
}

.locale-switch__description {
    margin: 0 0 clamp(24px, 2.4vw, 40px);
    text-align: center;
    font-size: clamp(16px, 3.2vw, 18px);
    line-height: 1.5;
    font-family: var(--maistra-display)
}

.locale-switch__payment-methods {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    margin: clamp(24px, 2.4vw, 32px)0 clamp(20px, 2vw, 24px)
}

.locale-switch label {
    color: rgba(8, 8, 8, .35)
}

.locale-switch label.wrap+.wrap {
    margin-top: clamp(24px, 2.4vw, 32px)
}

.locale-switch__button {
    display: block;
    width: 100%
}

.lang-switch__button[aria-expanded=true] {
    color: #0053a8
}

.lang-switch__button[aria-expanded=false]+#lang-switch {
    display: none
}

.footer-top {
    padding-top: 48px
}

@media(min-width:992px) {
    .footer-top {
        padding-top: 80px
    }
}

.theme--loyalty .footer-top,
.maicard .footer-top {
    background: rgba(230, 228, 221, .5)
}

.footer-top__social-platform a {
    display: flex;
    align-items: center
}

.footer-top__social-platform i {
    margin-right: clamp(8px, 1.6vw, 20px);
    font-size: clamp(18px, 2vw, 32px)
}

@media(max-width:1439px) {
    .footer-top__social-platform i {
        min-width: clamp(28px, 5.6vw, 40px);
        width: clamp(28px, 5.6vw, 40px);
        text-align: center
    }
}

.footer-top a {
    color: inherit;
    transition: color .2s ease
}

.footer-top a:hover {
    text-decoration: none;
    color: #0053a8
}

.footer-top h3 {
    margin: 0
}

@media(max-width:1439px) {
    .footer-top h3 {
        border-bottom: 1px solid rgba(8, 8, 8, .35);
        padding-bottom: 12px;
        margin-bottom: 16px
    }
}

@media(min-width:768px) {
    .footer-top__lists {
        display: flex;
        gap: var(--grid-row-gap)
    }
}

@media(min-width:1440px) {
    .footer-top__lists {
        display: block
    }
}

.footer-top__list {
    font-family: var(--maistra-display);
    font-size: clamp(14px, 2.8vw, 18px);
    line-height: calc(20/7);
    margin-bottom: clamp(32px, 6.4vw, 40px);
    flex: 1
}

@media(min-width:992px) {
    .footer-top__list {
        line-height: 48px
    }
}

@media(min-width:1440px) {
    .footer-top__list {
        display: grid;
        align-items: center;
        grid-template-columns: 320px 1fr 1fr 1fr 1fr 1fr;
        -moz-column-gap: clamp(20px, 2vw, 40px);
        column-gap: clamp(20px, 2vw, 40px)
    }

    .footer-top__list.booking {
        grid-template-columns: 320px 1fr 1fr 1fr 1fr 280px
    }
}

@media(max-width:1439px) {
    .footer-top__list {
        display: flex;
        flex-direction: column
    }
}

.footer-top__list.booking {
    margin-bottom: clamp(32px, 6.4vw, 80px)
}

@media(max-width:991px) {
    .footer-top__bottom-line {
        display: none
    }
}

@media(min-width:1440px) {
    .footer-top__bottom-line {
        margin-top: 64px
    }
}

@media(min-width:992px) {
    .footer-top__accordion-wrapper {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 0 var(--container-padding);
        padding-bottom: 40px;
        padding-right: 80px
    }
}

@media(min-width:1200px) {
    .footer-top__accordion-wrapper {
        padding-right: 20%
    }
}

@media(max-width:991px) {
    .footer-top__accordion-wrapper.container {
        padding: 0
    }
}

.footer-top__accordion summary {
    padding: 20px var(--container-padding);
    background: rgba(241, 237, 225, .5);
    cursor: pointer;
    font-family: var(--maistra-display);
    font-size: 16px;
    line-height: 1.5;
    list-style: none;
    margin-top: 8px
}

.footer-top__accordion summary::marker,
.footer-top__accordion summary::-webkit-details-marker {
    display: none
}

@media(max-width:991px) {

    .theme--loyalty .footer-top__accordion summary,
    .maicard .footer-top__accordion summary {
        background: var(--gradient, var(--color-primary))
    }
}

@media(max-width:991px) {
    .theme--collection .footer-top__accordion summary {
        background: var(--bg-gradient, var(--color-primary))
    }
}

.footer-top__accordion summary i {
    align-self: center;
    font-size: 24px
}

@media(min-width:992px) {
    .footer-top__accordion summary i {
        display: none
    }
}

@media(min-width:992px) {
    .footer-top__accordion summary {
        pointer-events: none;
        justify-self: self-start;
        margin: 40px 0;
        padding: 0;
        font-size: 18px;
        line-height: 1.5;
        display: flex;
        background-color: transparent !important;
        text-transform: uppercase;
        margin-bottom: 32px
    }
}

.footer-top__accordion summary>div {
    display: flex;
    justify-content: space-between;
    width: 100%
}

.footer-top__accordion nav {
    list-style-type: none;
    padding: 32px 0 32px 20px
}

@media(min-width:992px) {
    .footer-top__accordion nav {
        padding: 0
    }
}

.footer-top__accordion nav a {
    display: block
}

.footer-top__accordion nav a+a {
    margin-top: 32px
}

.footer-top__accordion[open] summary i {
    display: inline-block;
    transform: rotate(180deg)
}

@media(min-width:992px) {
    .footer-top__accordion[open] summary i {
        display: none
    }
}

@media(min-width:992px) {
    .footer-top .languages {
        display: none
    }
}

.footer-bottom {
    padding: 40px 0;
    background: #636569
}

.footer-bottom .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

@media(min-width:992px) {
    .footer-bottom .container {
        justify-content: space-between
    }
}

.footer-bottom__links {
    text-transform: uppercase;
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    justify-content: center;
    text-align: center
}

@media(min-width:992px) {
    .footer-bottom__links {
        flex-direction: row;
        font-size: 14px;
        line-height: calc(10/7);
        letter-spacing: 1.2px;
        order: 0;
        margin-bottom: 40px;
        justify-content: flex-start
    }
}

@media(min-width:1440px) {
    .footer-bottom__links {
        margin: 0 0 40px
    }
}

.footer-bottom__links a {
    text-decoration: none;
    color: #fff
}

.footer-bottom__links a:not(:first-child) {
    flex-basis: 100%;
    margin-top: 28px;
    margin-left: 0
}

@media(min-width:992px) {
    .footer-bottom__links a:not(:first-child) {
        flex-basis: auto;
        margin-top: 0;
        margin-left: 40px
    }
}

@media(min-width:1200px) {
    .footer-bottom__links a:not(:first-child) {
        margin-left: 80px
    }
}

.footer-bottom__links a:last-child {
    margin-bottom: 40px
}

@media(min-width:992px) {
    .footer-bottom__links a:last-child {
        margin-bottom: 0;
        margin-right: 30px
    }
}

.footer-bottom__logos-container {
    display: flex;
    flex-grow: 1;
    flex-basis: 100%
}

@media(max-width:991px) {
    .footer-bottom__logos-container {
        flex-direction: column;
        order: 2;
        margin-bottom: 16px;
        align-items: center;
        text-align: center;
        flex-basis: unset
    }
}

.footer-bottom__logos {
    margin-bottom: 32px;
    flex-basis: 50%;
    display: flex;
    gap: 48px
}

@media(max-width:991px) {
    .footer-bottom__logos {
        display: grid;
        align-items: center;
        gap: 32px;
        order: 2
    }
}

@media(min-width:992px) {
    .footer-bottom__logos {
        order: 0;
        margin-bottom: 40px;
        flex-direction: row
    }
}

.footer-bottom__logos div {
    display: flex;
    gap: 32px;
    flex-direction: column
}

@media(max-width:991px) {
    .footer-bottom__logos div {
        order: -1
    }
}

@media(min-width:992px) {
    .footer-bottom__logos div {
        gap: 80px;
        flex-direction: row;
        margin-left: auto
    }
}

.footer-bottom__logo-posao {
    height: 48px;
    width: auto
}

@media(min-width:992px) {
    .footer-bottom__logo-posao {
        height: 60px
    }
}

.footer-bottom__info {
    text-align: center;
    color: #fff;
    order: 3;
    text-transform: uppercase;
    font-size: 14px;
    line-height: calc(10/7);
    letter-spacing: 1.2px
}

@media(max-width:991px) {
    .footer-bottom__info {
        flex-basis: 100%
    }
}

.footer-bottom__info i {
    margin-left: 10px
}

.footer-bottom__extra-logos {
    text-align: center;
    flex-basis: 50%;
    justify-content: end;
    display: flex;
    gap: 80px
}

@media(max-width:991px) {
    .footer-bottom__extra-logos {
        order: 1 !important;
        display: grid;
        gap: 32px;
        margin-bottom: 32px
    }
}

.footer-bottom__app {
    text-align: center;
    flex-basis: 50%;
    justify-content: end;
    display: grid
}

@media(max-width:991px) {
    .footer-bottom__app {
        margin-bottom: 24px;
        order: 2
    }
}

.footer-bottom__app p {
    color: #fff;
    margin: 0;
    line-height: 1;
    margin-bottom: 16px
}

@media(min-width:992px) {
    .footer-bottom__app p {
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: 0
    }
}

.footer-bottom__app>div {
    display: flex;
    gap: 24px;
    text-align: left;
    height: 40px
}

.footer-bottom input[type=checkbox] {
    display: none
}

.footer-bottom input[type=checkbox]:checked~.footer-bottom .icon-arrow-down {
    display: inline-block;
    transform: rotate(180deg)
}

textarea,
input[type=text],
input[type=tel],
input[type=password],
input[type=number],
input[type=date],
input[type=email] {
    border: none;
    background-color: transparent;
    border-bottom: 1px solid rgba(8, 8, 8, .15);
    color: inherit;
    font-family: var(--maistra-display);
    font-size: clamp(16px, 3.2vw, 24px);
    line-height: clamp(24px, calc(8vw - 8px), 40px);
    width: 100%;
    display: block;
    padding: 4px;
    margin: 0
}

textarea:disabled,
input[type=text]:disabled,
input[type=tel]:disabled,
input[type=password]:disabled,
input[type=number]:disabled,
input[type=date]:disabled,
input[type=email]:disabled {
    opacity: 1
}

.reservation-summary textarea,
body[dark] textarea,
.reservation-summary input[type=text],
body[dark] input[type=text],
.reservation-summary input[type=tel],
body[dark] input[type=tel],
.reservation-summary input[type=password],
body[dark] input[type=password],
.reservation-summary input[type=number],
body[dark] input[type=number],
.reservation-summary input[type=date],
body[dark] input[type=date],
.reservation-summary input[type=email],
body[dark] input[type=email] {
    border-bottom: 1px solid rgba(255, 255, 255, .35)
}

textarea::-moz-placeholder,
input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=date]::-moz-placeholder,
input[type=email]::-moz-placeholder {
    color: rgba(8, 8, 8, .35)
}

textarea::placeholder,
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=password]::placeholder,
input[type=number]::placeholder,
input[type=date]::placeholder,
input[type=email]::placeholder {
    color: rgba(8, 8, 8, .35)
}

.reservation-summary textarea::-moz-placeholder,
body[dark] textarea::-moz-placeholder,
.reservation-summary input[type=text]::-moz-placeholder,
body[dark] input[type=text]::-moz-placeholder,
.reservation-summary input[type=tel]::-moz-placeholder,
body[dark] input[type=tel]::-moz-placeholder,
.reservation-summary input[type=password]::-moz-placeholder,
body[dark] input[type=password]::-moz-placeholder,
.reservation-summary input[type=number]::-moz-placeholder,
body[dark] input[type=number]::-moz-placeholder,
.reservation-summary input[type=date]::-moz-placeholder,
body[dark] input[type=date]::-moz-placeholder,
.reservation-summary input[type=email]::-moz-placeholder,
body[dark] input[type=email]::-moz-placeholder {
    color: rgba(255, 255, 255, .65)
}

.reservation-summary textarea::placeholder,
body[dark] textarea::placeholder,
.reservation-summary input[type=text]::placeholder,
body[dark] input[type=text]::placeholder,
.reservation-summary input[type=tel]::placeholder,
body[dark] input[type=tel]::placeholder,
.reservation-summary input[type=password]::placeholder,
body[dark] input[type=password]::placeholder,
.reservation-summary input[type=number]::placeholder,
body[dark] input[type=number]::placeholder,
.reservation-summary input[type=date]::placeholder,
body[dark] input[type=date]::placeholder,
.reservation-summary input[type=email]::placeholder,
body[dark] input[type=email]::placeholder {
    color: rgba(255, 255, 255, .65)
}

textarea {
    font-size: clamp(14px, 2.8vw, 20px);
    line-height: 1.5
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0
}

input[type=number] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

input[type=checkbox],
input[type=radio] {
    --size: 32px;
    border: 1px solid #080808;
    background: 0 0;
    font-size: 16px;
    height: var(--size);
    min-height: var(--size);
    width: var(--size);
    min-width: var(--size);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    cursor: pointer
}

input[type=checkbox]:checked::before,
input[type=radio]:checked::before {
    content: '✓';
    position: absolute;
    top: 5px;
    left: 6px;
    font-size: 24px
}

input[type=checkbox] {
    border: 1px solid rgba(8, 8, 8, .35)
}

@media(min-width:992px) {
    input[type=checkbox] {
        --size: 40px
    }
}

input[type=checkbox]:checked::before {
    top: -2px;
    left: 7px;
    font-size: clamp(32px, 6.4vw, 40px)
}

@media(min-width:992px) {
    input[type=checkbox]:checked::before {
        top: -3px;
        left: 8px
    }
}

input[type=radio] {
    border-radius: 100%
}

input[type=radio]:checked::before {
    content: '';
    background-color: #353d45;
    border-radius: 100%;
    top: 9px;
    left: 9px;
    width: 12px;
    height: 12px
}

input[type=file] {
    display: block;
    margin-top: 8px
}

.label-checkbox,
.label-radio {
    display: flex;
    align-items: center;
    font-family: var(--typonine-sans-pro);
    gap: 24px;
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: 1.5;
    margin-bottom: 24px
}

.label-checkbox--margin {
    margin: var(--p-margin)0
}

label,
.label,
fieldset.no-bg legend,
.fieldset.no-bg legend {
    font-family: var(--maistra-display);
    font-size: clamp(16px, 3.2vw, 18px);
    line-height: calc(5/4);
    letter-spacing: 1px;
    display: flex;
    align-items: center
}

label.wrap,
.label.wrap,
fieldset.no-bg legend.wrap,
.fieldset.no-bg legend.wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

select {
    padding: 6px clamp(8px, 2.5vw, 12px);
    font-size: clamp(16px, 3.2vw, 18px);
    line-height: calc(5/4);
    min-width: clamp(60px, 18.9vw, 80px);
    background: 0 0;
    border: 1px solid #080808
}

select.select-input {
    border: none;
    border-bottom: 1px solid rgba(8, 8, 8, .15);
    font-family: var(--maistra-display);
    font-size: clamp(16px, 3.2vw, 24px);
    width: 100%;
    display: block;
    height: calc(clamp(16px, 4vw, 24px) * 2 + 1px)
}

.checkbox-group {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #080808;
    min-height: 40px;
    position: relative;
    padding-left: 64px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.checkbox-group+.checkbox-group {
    margin-top: 40px
}

.checkbox-group .checkmark {
    color: transparent;
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    height: 40px;
    width: 40px;
    box-sizing: border-box;
    border: 1px solid rgba(8, 8, 8, .15)
}

.checkbox-group .checkmark::after {
    position: absolute;
    top: 25%;
    content: "\e907";
    right: 20%;
    font-size: 16px
}

.checkbox-group.error {
    color: red
}

.checkbox-group.error .checkmark {
    border: 1px solid #080808;
    box-sizing: border-box;
    border-color: #636569
}

.checkbox-group input:checked~.checkmark {
    background-color: transparent;
    border: 1px solid #080808;
    color: #080808
}

.checkbox-group input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0
}

legend,
.legend {
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: 1;
    margin: 0 0 24px;
    font-weight: 500;
    text-transform: uppercase;
    position: absolute;
    top: 24px
}

fieldset,
.fieldset {
    border: 0;
    background-color: rgba(230, 228, 221, .5);
    padding: 64px 24px 32px;
    margin-bottom: 24px;
    position: relative
}

@media(min-width:992px) {

    fieldset,
    .fieldset {
        margin: 0 0 32px
    }
}

fieldset label:last-child,
.fieldset label:last-child {
    margin-bottom: 0
}

fieldset.no-bg,
.fieldset.no-bg {
    padding: 0;
    background: 0 0
}

fieldset.no-bg legend,
.fieldset.no-bg legend {
    position: relative;
    text-transform: none;
    top: initial
}

.form-element {
    display: block;
    position: relative;
    margin: calc(var(--p-margin) * 2)0
}

.form-element__error {
    position: absolute
}

.field-error {
    color: red;
    font-family: var(--typonine-sans-pro);
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: 2
}

@font-face {
    font-family: icomoon;
    src: url(fonts/icomoon.eot?g3bnjl);
    src: url(fonts/icomoon.eot?g3bnjl#iefix)format("embedded-opentype"), url(fonts/icomoon.ttf?g3bnjl)format("truetype"), url(fonts/icomoon.woff?g3bnjl)format("woff"), url(fonts/icomoon.svg?g3bnjl#icomoon)format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: block
}

:root {
    --icomoon: 'icomoon', sans-serif !important
}

[class^=icon-],
[class*=" icon-"] {
    font-family: var(--icomoon);

    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-info::before {
    content: "\e908"
}

.icon-arrow-down-curved::before {
    content: "\e921"
}

.icon-arrow-left-long::before {
    content: "\e922"
}

.icon-arrow-right-long::before {
    content: "\e923"
}

.icon-calendar::before {
    content: "\e924"
}

.icon-caret-left::before {
    content: "\e925"
}

.icon-caret-right::before {
    content: "\e926"
}

.icon-document::before {
    content: "\e927"
}

.icon-error::before {
    content: "\e928"
}

.icon-hourglass::before {
    content: "\e929"
}

.icon-mail::before {
    content: "\e92a"
}

.icon-moon::before {
    content: "\e92b"
}

.icon-pdf::before {
    content: "\e92c"
}

.icon-people::before {
    content: "\e92d"
}

.icon-call::before {
    content: "\e92e"
}

.icon-pin-camping::before {
    content: "\e92f";
    color: #3dab38
}

.icon-pin-collection::before {
    content: "\e930";
    color: #928e77
}

.icon-pin-select::before {
    content: "\e931";
    color: #31aed8
}

.icon-pin::before {
    content: "\e937"
}

.icon-rocket::before {
    content: "\e938"
}

.icon-star-outline::before {
    content: "\e939"
}

.icon-tick::before {
    content: "\e93a"
}

.icon-warning::before {
    content: "\e93b"
}

.icon-mail-icon::before {
    content: "\e91f"
}

.icon-area::before {
    content: "\e936"
}

.icon-list::before {
    content: "\e900"
}

.icon-map::before {
    content: "\e901"
}

.icon-money::before {
    content: "\e902"
}

.icon-arrow-down::before {
    content: "\e903"
}

.icon-arrow-left::before {
    content: "\e904"
}

.icon-arrow-right::before {
    content: "\e905"
}

.icon-arrow-up::before {
    content: "\e906"
}

.icon-beach::before {
    content: "\e907"
}

.icon-caret-down::before {
    content: "\e909"
}

.icon-check::before {
    content: "\e90a"
}

.icon-close::before {
    content: "\e90b"
}

.icon-fee::before {
    content: "\e90c"
}

.icon-foodie::before {
    content: "\e90d"
}

.icon-globe::before {
    content: "\e90e"
}

.icon-heart::before {
    content: "\e90f"
}

.icon-hearts::before {
    content: "\e910"
}

.icon-language::before {
    content: "\e911"
}

.icon-menu::before {
    content: "\e912"
}

.icon-safety::before {
    content: "\e913"
}

.icon-sailboat::before {
    content: "\e914"
}

.icon-search::before {
    content: "\e915"
}

.icon-sports::before {
    content: "\e916"
}

.icon-star::before {
    content: "\e917"
}

.icon-user::before {
    content: "\e918"
}

.icon-wellness::before {
    content: "\e919"
}

.icon-bed::before {
    content: "\e91a"
}

.icon-rotate::before {
    content: "\e91b"
}

.icon-lamp::before {
    content: "\e91c"
}

.icon-adult::before {
    content: "\e91d"
}

.icon-child::before {
    content: "\e91e"
}

.icon-gallery::before {
    content: "\e932"
}

.icon-extend::before {
    content: "\e933"
}

.icon-slider-arrow-left::before {
    content: "\e934"
}

.icon-slider-arrow-right::before {
    content: "\e935"
}

.icon-locale::before {
    content: "\e920"
}

.icon-twitter::before {
    content: "\e93c"
}

.icon-youtube::before {
    content: "\e93e"
}

.icon-facebook::before {
    content: "\e93f"
}

.icon-pinterest::before {
    content: "\e940"
}

.icon-instagram::before {
    content: "\e941"
}

.page-error h1 {
    font-size: clamp(24px, 4.8vw, 48px);
    line-height: 1;
    margin: 100px 0 24px
}

.page-error hr {
    margin: 0 0 0 calc(-1 * var(--container-padding));
    width: calc(84% + (var(--container-padding)));
    border-color: rgba(8, 8, 8, .35)
}

@media(min-width:992px) {
    .page-error hr {
        width: calc(100% + (var(--container-padding) + 16px))
    }
}

@media(min-width:1440px) {
    .page-error hr {
        margin: 0 0 0 calc(-1 * (var(--container-padding) + 800px));
        width: calc(100% + (var(--container-padding) + 816px))
    }
}

.page-error nav {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column
}

.page-error .button-group {
    margin-top: 40px
}

.stars {
    color: var(--color-primary);
    font-size: clamp(12px, 1.2vw, 16px);
    line-height: 1;
    display: inline-flex;
    gap: clamp(6px, .6vw, 8px)
}

.stars.theme--city-vibes {
    background: var(--bg-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.stars--small {
    font-size: 12px;
    gap: 6px
}

.main-title {
    margin: 32px 0 24px
}

@media(min-width:576px) {
    .main-title {
        margin: clamp(32px, 5vw, 64px)0
    }
}

.main-title__back {
    font-family: var(--maistra-display);
    font-size: 16px;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 40px;
    text-transform: uppercase;
    padding: 0;
    border: none;
    background: 0 0;
    margin-bottom: clamp(24px, 4vw, 40px)
}

.main-title__text {
    display: flex;
    gap: 24px
}

@media(max-width:767px) {
    .main-title__text {
        gap: 16px;
        flex-direction: column
    }
}

.main-title__number {
    --size: clamp(32px, 5.6vw, 60px);
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--size);
    height: var(--size);
    font-size: clamp(16px, 3.2vw, 24px);
    border-radius: 100%;
    border: 1px solid;
    font-family: var(--maistra-display)
}

.main-title--bg {
    background-image: url(https://res.cloudinary.com/maistra/image/upload/v1634649309/Assets/maistar-rewards-background.png);
    padding: 32px 0 24px;
    margin-top: 0
}

@media(min-width:576px) {
    .main-title--bg {
        padding: clamp(32px, 5vw, 64px)0
    }
}

.hero {
    background: #353d45;
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
    height: -moz-max-content;
    height: max-content;
    min-height: 100vh;
    padding: 0
}

@media(max-height:800px) {
    .hero {
        padding-bottom: 0
    }
}

@media(min-width:992px) {
    .hero {
        max-height: 1440px
    }
}

.hero video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    filter: brightness(65%);
    opacity: 0;
    transition: opacity 1s ease-in
}

@media(max-width:991px) {
    .hero video {
        display: none
    }
}

.hero video.is-playing {
    opacity: 1
}

.hero__poster {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    filter: brightness(55%);
    z-index: -1
}

@media(min-width:1200px) {
    .hero__content {
        margin: 0 auto;
        width: 864px
    }
}

.hero__supertitle {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 20px;
    position: relative;
    display: inline-block;
    opacity: 1
}

@media(min-width:992px) {
    .hero__supertitle {
        margin-bottom: 28px
    }
}

.hero__supertitle::after {
    content: '';
    width: 120px;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -4px;
    background: var(--color-primary)
}

.hero .hero-title {
    margin: 0;
    position: relative;
    margin-bottom: 40px
}

@media(min-width:992px) {
    .hero .hero-title {
        display: inline-block;
        margin-bottom: 80px
    }
}

@media(min-width:1200px) {
    .hero .hero-title {
        display: block
    }
}

.hero hr {
    width: 80vw;
    position: absolute;
    left: 0;
    border-color: rgba(255, 255, 255, .35);
    margin: -20px 0 0
}

@media(min-width:992px) {
    .hero hr {
        margin-top: -40px
    }
}

.hero__description {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px
}

@media(min-width:1200px) {
    .hero__description {
        flex-direction: row;
        gap: 32px;
        align-items: center;
        justify-content: space-between
    }
}

.hero__description p {
    max-width: 340px
}

@media(min-width:992px) {
    .hero__description p {
        max-width: 520px
    }
}

.hero__info {
    background: rgba(8, 8, 8, .6);
    color: #fff;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    line-height: 20px;
    text-transform: uppercase;
    width: -moz-fit-content;
    width: fit-content;
    min-width: clamp(216px, 40vw, 272px);
    margin-top: 12px
}

@media(min-width:1200px) {
    .hero__info {
        margin-left: auto;
        margin-top: 4px
    }
}

.hero__info i {
    font-size: 24px
}

.hero .booking-bar {
    z-index: 2
}

@media(max-width:991px) {
    .hero .booking-bar {
        margin-top: var(--p-margin)
    }
}

@media(min-width:992px) {
    .hero .booking-bar {
        position: absolute;
        right: var(--container-padding);
        bottom: calc(-56px - 16vh)
    }
}

@media(max-height:640px) {
    .hero .scroll-down {
        display: none
    }
}

@media(min-width:992px) and (max-height:880px) {
    .hero .scroll-down {
        display: none
    }
}

.hero .swiper {
    width: 100%;
    height: 100%
}

.hero .swiper-slide {
    padding: calc(var(--header-height) + clamp(20px, 4vw, 80px))0 clamp(180px, 28vh, 200px);
    height: -moz-max-content;
    height: max-content;
    min-height: 100vh;
    display: flex;
    align-items: center
}

@media(min-height:1440px) {
    .hero .swiper-slide {
        min-height: auto;
        height: 1440px
    }
}

.hero .swiper-slide .container {
    position: relative
}

.hero .swiper-pagination-bullet {
    flex-grow: 1;
    flex-basis: 0;
    height: 2px;
    max-width: 270px;
    border-radius: 0;
    margin: 0 !important;
    position: relative
}

.hero .swiper-pagination-bullet::before {
    content: '';
    position: absolute;
    inset: -12px 0
}

.hero .swiper-pagination-bullet+.swiper-pagination-bullet {
    margin: 0 0 0 20px !important
}

@media(min-width:992px) {
    .hero .swiper-pagination-bullet+.swiper-pagination-bullet {
        margin: 0 0 0 30px !important
    }
}

.hero .swiper-pagination-bullets {
    position: absolute;
    display: flex;
    bottom: 24%;
    max-width: 100vw;
    justify-content: center
}

@media(min-width:992px) {
    .hero .swiper-pagination-bullets {
        width: 60%;
        transform: translateX(33%);
        bottom: 18%
    }
}

@media(min-width:1200px) {
    .hero .swiper-pagination-bullets {
        bottom: 18%
    }
}

@media(min-width:1440px) {
    .hero .swiper-pagination-bullets {
        bottom: 20%
    }
}

.hero .swiper-pagination-bullet-active {
    position: relative;
    background-color: rgba(8, 8, 8, .2)
}

.hero .swiper-pagination-bullet-active::after {
    content: '';
    animation: loading 8s forwards linear;
    background-color: #fff;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute
}

@keyframes loading {
    0% {
        width: 0%
    }

    100% {
        width: 100%
    }
}

.layout-home .hero .hero-title {
    -webkit-hyphens: none;
    hyphens: none
}

.scroll-down {
    position: relative;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    border-radius: 100%;
    padding: 40px 56px;
    text-transform: uppercase;
    font-size: 12px;
    line-height: calc(5/3);
    letter-spacing: .1em;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 20px;
    z-index: 1;
    background: 0 0
}

.scroll-down i {
    font-size: 40px
}

.scroll-down--hero {
    position: absolute;
    bottom: -24px;
    left: -36px
}

@media(min-width:1200px) {
    .scroll-down--hero {
        bottom: 40px;
        left: var(--container-padding)
    }
}

@media(min-width:1440px) {
    .scroll-down--hero {
        bottom: 80px
    }
}

.scroll-down--brand {
    position: absolute;
    bottom: -24px;
    left: -36px
}

@media(min-width:1200px) {
    .scroll-down--brand {
        bottom: 40px;
        left: var(--container-padding)
    }
}

@media(min-width:1440px) {
    .scroll-down--brand {
        bottom: 80px
    }
}

@media(max-width:991px) {
    .scroll-down--brand {
        bottom: 40px
    }
}

@media(max-width:575px) {
    .scroll-down--brand {
        display: none
    }
}

.scroll-down--curved {
    flex-direction: row;
    align-items: center;
    width: auto;
    height: auto;
    border: none;
    left: 0;
    padding: 0
}

.scroll-down--curved i {
    font-size: 118px
}

.scroll-down--curved span {
    flex-basis: 46px
}

.section-heading {
    position: relative
}

@media(max-width:991px) {
    .section-heading {
        margin-bottom: 40px
    }
}

.section-heading .h1 {
    margin: 0 0 24px
}

@media(max-width:767px) {
    .section-heading .h1 {
        padding-right: 48px
    }
}

@media(min-width:1440px) {
    .section-heading .h1 {
        margin-bottom: 40px
    }
}

.section-heading hr {
    margin: 0 0 0 calc(-1 * var(--container-padding));
    width: calc(84% + (var(--container-padding)));
    border-color: initial;
    opacity: .35
}

@media(min-width:992px) {
    .section-heading hr {
        width: calc(100% + (var(--container-padding) + 16px))
    }
}

@media(min-width:1440px) {
    .section-heading hr {
        margin: 0 0 0 calc(-1 * (var(--container-padding) + 800px));
        width: calc(100% + (var(--container-padding) + 816px))
    }
}

.section-heading__left {
    margin-bottom: 0
}

@media(min-width:992px) {
    .section-heading__left {
        margin-bottom: 56px
    }
}

.section-heading__left .large-text {
    margin: 24px 48px 24px 0
}

@media(min-width:1440px) {
    .section-heading__left .large-text {
        margin: 40px 0 24px
    }
}

@media(min-width:992px) {
    .section-heading__right {
        display: flex;
        position: relative
    }
}

.section-heading__right img {
    width: auto;
    height: clamp(64px, 10vw, 96px)
}

@media(max-width:991px) {
    .section-heading__right img {
        margin: 24px 0 40px
    }
}

@media(min-width:992px) {
    .section-heading__right img {
        align-self: center
    }
}

.section-heading .arrow-button {
    position: absolute;
    right: 0;
    top: 7px;
    color: inherit
}

@media(min-width:992px) {
    .section-heading .arrow-button {
        line-height: 56px;
        top: 0
    }
}

@media(max-width:991px) {
    .section-heading .arrow-button span {
        display: none
    }
}

.card-slider {
    position: relative;
    padding-bottom: var(--section-dist)
}

.card-slider .swiper-slide {
    height: auto
}

.card-slider .swiper-slide-active {
    z-index: 2
}

.card-slider .card {
    height: 100%
}

@media(max-width:575px) {
    .card-slider .card__image {
        margin-bottom: 64px
    }
}

.card-slider .swiper {
    position: initial;
    padding-bottom: 1px
}

@media(max-width:575px) {
    .card-slider .swiper {
        position: static;
        width: calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding))
    }
}

@media(max-width:575px) {
    .card-slider__navigation {
        display: flex;
        gap: 8px;
        position: absolute;
        top: 74.5vw;
        right: var(--container-padding)
    }

    .card-slider__navigation .swiper-button-prev,
    .card-slider__navigation .swiper-button-next {
        position: initial;
        height: auto !important;
        color: inherit;
        width: auto
    }

    .card-slider__navigation .swiper-button-prev::after,
    .card-slider__navigation .swiper-button-next::after {
        font-size: 24px;
        font-family: var(--icomoon)
    }

    .card-slider__navigation .swiper-button-next::after {
        content: "\e923"
    }

    .card-slider__navigation .swiper-button-prev::after {
        content: "\e922"
    }
}

@media(min-width:576px) {

    .card-slider__navigation .swiper-button-prev,
    .card-slider__navigation .swiper-button-next {
        color: inherit;
        width: var(--container-padding);
        background-color: rgba(99, 101, 105, 5%);
        top: 22px
    }

    .card-slider__navigation .swiper-button-prev::after,
    .card-slider__navigation .swiper-button-next::after {
        font-size: 26px
    }

    .theme--city-vibes .card-slider__navigation .swiper-button-prev,
    .theme--city-vibes .card-slider__navigation .swiper-button-next {
        background: var(--bg-gradient);
        color: #fff
    }

    .card-slider__navigation .swiper-button-next {
        right: 0
    }

    .card-slider__navigation .swiper-button-prev {
        left: 0
    }
}

.card-slider .swiper-scrollbar-drag {
    background-color: currentcolor
}

.card-slider .swiper-scrollbar {
    position: absolute;
    background-color: rgba(8, 8, 8, .15);
    right: 0;
    bottom: 0;
    width: 94%;
    height: 2px;
    margin-bottom: 16px
}

@media(max-width:575px) {
    .card-slider .swiper-scrollbar {
        top: 72vw;
        left: 0;
        width: calc(100% - 172px);
        bottom: initial;
        margin: 0
    }
}

@media(min-width:992px) {
    .card-slider .swiper-scrollbar {
        width: 48%
    }
}

@media(max-width:991px) {
    .card-slider--no-slider .card__image {
        margin-bottom: 32px
    }
}

.arrow-button {
    border: none;
    font-family: var(--maistra-display);
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .2s ease-in;
    display: inline-flex;
    align-items: center;
    gap: 40px;
    color: #080808
}

@media(min-width:1200px) {
    .arrow-button {
        font-size: 16px;
        line-height: 40px;
        gap: 60px
    }
}

.arrow-button:hover {
    letter-spacing: 4px;
    text-decoration: none
}

.arrow-button i {
    color: inherit;
    font-size: 15px
}

@media(min-width:1200px) {
    .arrow-button i {
        font-size: 24px
    }
}

.arrow-button--block {
    display: flex;
    justify-content: space-between
}

.arrow-button--stretch {
    position: relative;
    width: 100%;
    overflow: hidden
}

.arrow-button--stretch i {
    font-size: 20px
}

@media(max-width:767px) {
    .arrow-button--stretch i {
        font-size: 18px
    }
}

.arrow-button--stretch i::before {
    transform: translateY(-50%);
    z-index: 0;
    position: absolute;
    right: -7px
}

@media(max-width:991px) {
    .arrow-button--stretch i::before {
        top: 52%
    }
}

.arrow-button--stretch i::after {
    content: '';
    position: absolute;
    width: calc(100% - 12px);
    height: 0;
    top: 50%;
    border-top: 1px solid
}

@media(min-width:576px) {
    .arrow-button--stretch i::after {
        width: calc(100% - 80px)
    }
}

@media(min-width:1200px) {
    .arrow-button--stretch i::after {
        font-size: 24px;
        top: calc(50% - 1px)
    }
}

.arrow-button--stretch:hover i::before {
    letter-spacing: 2px
}

.arrow-button--stretch:hover i::after {
    width: calc(100% - 100px)
}

.quick-info {
    align-items: center
}

.quick-info h2 {
    align-self: center;
    position: relative;
    opacity: 1 !important;
}

.quick-info ul {
    padding: 0;
    margin: 0;
    list-style: none
}

@media(max-width:767px) {
    .quick-info ul {
        padding-top: 32px;
        margin-top: 32px;
        border-top: 1px solid rgba(var(--color-secondary-text), .35)
    }
}

.theme--collection .quick-info ul {
    border-color: rgba(var(--color-secondary-text), .35)
}

.quick-info li {
    position: relative;
    padding-left: 48px;
    opacity: 1 !important;
}

.quick-info li::after {
    font-family: var(--icomoon);
    content: "\e90a";
    font-size: clamp(24px, 3.2vw, 32px);
    color: inherit;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.quick-info li+li {
    margin-top: .5em
}

.stars {
    color: var(--color-primary);
    font-size: clamp(12px, 1.2vw, 16px);
    line-height: 1;
    display: inline-flex;
    gap: clamp(6px, .6vw, 8px)
}

.stars.theme--city-vibes {
    background: var(--bg-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.stars--small {
    font-size: 12px;
    gap: 6px
}

.card {
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%
}

@media(max-width:575px) {
    .card {
        padding: 0 var(--container-padding)
    }
}

.card__image {
    display: block;
    position: relative;
    padding-bottom: 72%;
    overflow: hidden;
    margin: 0 0 40px;
    width: 100%
}

@media(max-width:575px) {
    .card__image {
        margin: 0 calc(-1 * var(--container-padding))24px;
        width: calc(100% + (2 * var(--container-padding)))
    }
}

.card__image .view-gallery-button {
    opacity: 0;
    position: absolute
}

.card__image:hover .view-gallery-button {
    opacity: 1
}

.card__image img {
    width: 100%;
    height: 100%;
    position: absolute;
    -o-object-fit: cover;
    object-fit: cover;
    top: 0;
    left: 0;
    transition: transform .8s ease
}

.card__image a[href]:hover img {
    transform: scale(1.1)
}

.card__points {
    position: absolute;
    top: 24px;
    left: var(--container-padding);
    width: 96px;
    height: 96px;
    background: #353d45;
    color: #efd1a7;
    border-radius: 100%;
    text-align: center;
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: calc(24/14);
    justify-content: center;
    display: flex;
    flex-direction: column;
    text-transform: uppercase
}

@media(min-width:992px) {
    .card__points {
        left: 24px;
        width: 120px;
        height: 120px;
        line-height: 28px
    }
}

.card__points strong {
    font-weight: 500
}

.card__tags {
    margin-bottom: 12px;
    font-family: var(--typonine-sans-pro);
    font-size: 12px;
    line-height: 2;
    letter-spacing: 1px;
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px
}

@media(min-width:992px) {
    .card__tags {
        margin-bottom: 20px;
        letter-spacing: 2px;
        gap: 0 24px
    }
}

.card__location {
    margin-bottom: 12px
}

@media(min-width:992px) {
    .card__location {
        margin-bottom: 24px
    }
}

.card__logo {
    margin: 20px 0 clamp(8px, 1.6vw, 20px);
    height: clamp(32px, 6.4vw, 40px)
}

.card a:not(.button) {
    color: inherit
}

.card .h3 {
    margin: 0 0 12px;
    letter-spacing: 4.2px;
    text-transform: uppercase;
    display: inline-block
}

@media(min-width:992px) {
    .card .h3 {
        margin: 0 0 16px
    }
}

.card .h3:hover {
    text-decoration: none
}

.card__stars {
    text-transform: uppercase;
    display: flex;
    align-items: baseline;
    margin-bottom: 12px;
    font-size: 16px;
    gap: 36px
}

.card__property {
    text-transform: uppercase;
    margin-bottom: clamp(12px, 1.2vw, 16px);
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1
}

.card__property::before {
    content: "\e937";
    font-family: var(--icomoon);
    font-size: 24px
}

.card__teaser {
    display: inline-block;
    margin-bottom: clamp(12px, 1.2vw, 16px);
    text-transform: uppercase;
    background: rgba(241, 237, 225, .16)
}

@media(min-width:992px) {
    .card__teaser {
        line-height: 24px
    }
}

.card__description {
    margin: 0 0 clamp(20px, 3.5vw, 40px)
}

@media(min-width:992px) {
    .card__description {
        padding-right: 50px;
        letter-spacing: 1.2px;
        flex-grow: 1
    }
}

.card__description p {
    margin: .5em 0
}

.card__description:not(.no-clamp .card__description) div {
    -webkit-line-clamp: 6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: pre-wrap;
    line-clamp: 6;
}

.card__buttons {
    z-index: 1;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: var(--p-margin)
}

.card .button--outline {
    border-color: initial
}

.card .button--primary {
    border-color: var(--color-primary)
}

.theme--collection .card .button--primary {
    color: #080808
}

@media(min-width:992px) {
    .card--large {
        display: flex;
        flex-direction: column;
        background-size: cover;
        background-position: 50%;
        background-repeat: no-repeat;
        position: relative;
        padding: 0 40px 40px;
        justify-content: flex-end;
        color: #fff
    }
}

@media(min-width:992px) {
    .card--large .card__image {
        position: static;
        z-index: -1
    }
}

.card--large .card__image::after {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(8, 8, 8, .5), rgba(8, 8, 8, .5))
}

@media(min-width:992px) {
    .card--large .card__image::after {
        content: ''
    }
}

.card--large .card__image:hover img {
    transform: scale(1)
}

@media(min-width:992px) {
    .card--large .card__teaser {
        background: rgba(255, 255, 255, .1)
    }
}

.card--large p,
.card--large .h3,
.card--large span,
.card--large .button {
    border-color: initial;
    color: inherit
}

@media(min-width:992px) {
    .card--large .button {
        margin-top: initial
    }
}

.card--large p {
    padding-right: 0
}

.card--large span {
    background-color: transparent
}

@media(min-width:992px) {
    .card--award .card__tags {
        gap: 0 20px
    }
}

.card--award a.h3 {
    font-size: clamp(18px, 3.6vw, 24px)
}

.card--award .available,
.card--award .available--not {
    color: #fff;
    padding: 0 8px
}

.card--award .available {
    background-color: #0053a8
}

.card--award .available--not {
    background-color: #636569
}

.card--award .button {
    border: 1px solid #080808
}

.contact {
    margin-top: clamp(40px, 8vw, 120px);
    margin-bottom: clamp(40px, 8vw, 120px);
    font-family: var(--maistra-display)
}

@media(max-width:991px) {
    .contact__reservations-menu {
        margin-bottom: 64px
    }
}

.contact__reservations-menu h2 {
    margin-top: 0
}

@media(max-width:991px) {
    .contact__reservations-menu h2 {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 40px
    }
}

.contact__reservations-menu h3 {
    margin-top: 32px;
    text-transform: uppercase;
    letter-spacing: 4px
}

.contact__reservations-menu a {
    font-family: var(--maistra-display);
    display: block;
    color: #080808
}

.contact__reservations-menu a.button--primary {
    display: inline-block
}

.contact__download-menu {
    background-color: #f1ede1;
    padding: clamp(40px, 8vw, 100px)clamp(24px, 4.8vw, 40px)
}

.contact__download-menu .icon-wellness {
    font-size: clamp(32px, 6.4vw, 64px)
}

.contact__hours {
    border-spacing: 0 8px;
    line-height: 1.5
}

.contact__hours td:nth-child(2) {
    position: relative;
    width: clamp(44px, 8.8vw, 72px)
}

.contact__hours td:nth-child(2)::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(8, 8, 8, .5);
    height: 1px;
    width: clamp(20px, 4vw, 40px)
}

.contact__menus {
    padding: clamp(36px, 7.2vw, 100px)clamp(24px, 4.8vw, 40px)clamp(40px, 8vw, 100px);
    background-color: #f1ede1
}

.contact__menus i {
    font-size: clamp(40px, 8vw, 60px)
}

.contact__menus h3 {
    text-transform: uppercase;
    letter-spacing: 4px
}

.contact__logo {
    margin: var(--p-margin)0;
    max-width: 250px
}

.contact__buttons .button {
    color: #fff
}

.contact__buttons .button:not(:last-child) {
    margin-bottom: clamp(12px, 1.5vw, 24px)
}

.contact__locations a {
    display: inline-block
}

.accordion {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 8px 0;
    width: 100%
}

@media(max-width:991px) {
    .accordion:first-of-type {
        margin: 0
    }
}

@media(max-width:991px) {
    .accordion:last-of-type {
        margin-bottom: 40px
    }
}

.accordion summary {
    padding: 20px var(--container-padding);
    background-color: #f1ede1;
    cursor: pointer;
    list-style: none
}

@media(min-width:992px) {
    .accordion summary {
        padding: 32px 40px 24px
    }
}

.accordion summary::marker {
    display: none
}

.accordion summary::-webkit-details-marker {
    display: none
}

.accordion summary i {
    align-self: center;
    font-size: 24px
}

.accordion summary>div {
    width: 100%;
    display: flex;
    justify-content: space-between
}

.accordion summary .h3 {
    margin: 0;
    font-size: clamp(16px, 3.2vw, 18px);
    letter-spacing: 1px;
    text-transform: none
}

.accordion[open] summary i {
    display: inline-block;
    transform: rotate(180deg)
}

.accordion__content {
    padding: 0 var(--container-padding)40px;
    background-color: #f1ede1
}

@media(min-width:992px) {
    .accordion__content {
        padding: 0 40px 40px
    }
}

.accordion__content>hr {
    margin: 0;
    opacity: .35;
    margin-bottom: 32px
}

@media(min-width:992px) {
    .accordion__content>hr {
        margin-bottom: 40px
    }
}

.frame {
    --frame-padding: 16px;
    --frame-padding-small: 12px;
    position: relative;
    z-index: 1;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.frame::after {
    position: absolute;
    width: 170px;
    height: 210px;
    background: var(--gradient, var(--color-primary));
    z-index: -1;
    content: ''
}

.frame img {
    display: block;
    width: 100%
}

.frame--top-left {
    padding-top: var(--frame-padding);
    padding-left: var(--frame-padding);
    margin-top: calc(-1 * var(--frame-padding));
    margin-left: calc(-1 * var(--frame-padding))
}

.frame--top-left::after {
    top: 0;
    left: 0
}

.frame--top-right {
    padding-top: var(--frame-padding);
    padding-right: var(--frame-padding);
    margin-top: calc(-1 * var(--frame-padding));
    margin-right: calc(-1 * var(--frame-padding))
}

.frame--top-right::after {
    top: 0;
    right: 0
}

.frame--bottom-right {
    padding-bottom: var(--frame-padding);
    padding-right: var(--frame-padding);
    margin-bottom: calc(-1 * var(--frame-padding));
    margin-right: calc(-1 * var(--frame-padding))
}

.frame--bottom-right::after {
    bottom: 0;
    right: 0
}

.frame--bottom-left {
    padding-bottom: var(--frame-padding);
    padding-left: var(--frame-padding);
    margin-bottom: calc(-1 * var(--frame-padding));
    margin-left: calc(-1 * var(--frame-padding))
}

.frame--bottom-left::after {
    bottom: 0;
    left: 0
}

@media(max-width:991px) {
    .frame--hide-md-down {
        padding: 0;
        margin: 0
    }

    .frame--hide-md-down::after {
        display: none
    }
}

@media(max-width:991px) {
    .frame--hide-side-md-down {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0
    }

    .frame--hide-side-md-down::after {
        bottom: 0;
        right: 0;
        top: initial;
        left: initial
    }
}

.access-code-input {
    position: relative
}

.access-code-input button {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: 0 0;
    border: none
}

.access-code-input button i::before {
    font-size: 12px;
    font-weight: bolder;
    color: #080808;
    border-radius: 100%;
    padding: 2px;
    border: 1px solid #080808
}

.access-code {
    position: relative;
    width: 100%
}

.access-code input {
    padding-right: clamp(120px, 24vw, 152px)
}

.access-code__controls {
    position: relative
}

.access-code__buttons {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 4px;
    top: 50%;
    transform: translateY(-50%)
}

.access-code__button {
    flex-shrink: 0;
    padding: clamp(2px, .8vw, 6px)clamp(16px, 3.2vw, 24px);
    min-width: auto
}

.access-code__info {
    font-size: clamp(10px, 2vw, 12px);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px
}

.access-code__info i {
    font-size: 16px
}

.access-code--summary {
    margin-top: 16px
}

.access-code--summary input,
.access-code--summary label,
.access-code--summary button {
    font-size: clamp(14px, 2.8vw, 16px);
    font-family: var(--typonine-sans-pro);
    letter-spacing: 1px;
    text-transform: none
}

.access-code--summary button {
    color: #fff;
    border: none;
    background: 0 0;
    padding: 0
}

.access-code--summary button:hover {
    background: 0 0
}

.access-code--property {
    margin: 20px 0
}

@media(min-width:768px) {
    .access-code--property {
        margin: auto 0 0
    }
}

.unit-list {
    --unit-list-padding: 0;
    --unit-list-margin: 0;
    counter-reset: h3;
    padding: var(--unit-list-padding)0;
    margin: var(--unit-list-margin)0
}

.unit-list--dark {
    --unit-list-padding: 48px;
    --unit-list-margin: 40px
}

@media(min-width:992px) {
    .unit-list--dark {
        --unit-list-padding: 80px;
        --unit-list-margin: 80px
    }
}

@media(min-width:1440px) {
    .unit-list--dark {
        --unit-list-padding: 120px;
        --unit-list-margin: 120px
    }
}

.unit-list--dark {
    background: #353d45
}

.unit-list .unit-card {
    margin-bottom: 16px
}

@media(min-width:576px) {
    .unit-list .unit-card {
        margin-bottom: 60px
    }
}

@media(min-width:992px) {
    .unit-list .unit-card {
        margin-bottom: 80px
    }
}

.unit-list .unit-card:last-child {
    margin-bottom: 0
}

.unit-card {
    align-self: center
}

@media(max-width:991px) {
    .unit-card__image {
        width: calc(100% + (2 * var(--container-padding)));
        margin: 0 0 0 calc(-1 * var(--container-padding))
    }
}

.unit-card__content {
    align-self: center
}

@media(max-width:991px) {
    .unit-card__content {
        margin: 20px 0 40px
    }
}

.unit-card__content a img {
    height: clamp(20px, 2vw, 24px)
}

.unit-card__content a img.city-vibes {
    height: clamp(24px, 2.8vw, 32px)
}

.unit-card .h3 {
    display: block;
    color: inherit;
    position: relative
}

@media(min-width:992px) {
    .unit-card .h3--counter {
        padding-top: 100px
    }
}

.unit-card .h3--counter::before {
    counter-increment: h3;
    content: counter(h3);
    position: absolute;
    border: 1px solid #73412b;
    left: 0;
    top: -76px;
    font-size: clamp(20px, 4vw, 36px);
    line-height: calc(8/5);
    padding: 8px clamp(16px, 3.2vw, 32px)
}

@media(min-width:992px) {
    .unit-card .h3--counter::before {
        top: 0;
        line-height: calc(12/9)
    }
}

.unit-card__people {
    display: flex;
    align-items: flex-end;
    font-size: clamp(24px, 4.8vw, 32px);
    margin-top: 8px
}

.unit-card__people .icon-child {
    font-size: clamp(20px, 4vw, 24px)
}

.unit-card__price {
    font-size: clamp(24px, 4.8vw, 30px);
    line-height: calc(4/3)
}

.unit-card__price>span {
    border-bottom: 1px solid #080808;
    margin-right: 25px;
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: calc(12/7);
    padding-bottom: 2px
}

@media(min-width:992px) {
    .unit-card__price>span {
        line-height: 28px;
        padding-bottom: 6px
    }
}

.unit-list--dark .unit-card {
    color: #fff
}

.unit-list--dark .unit-card .button {
    border-color: #fff;
    color: #fff
}

.theme--collection .unit-list--dark .unit-card .button {
    color: #080808
}

.unit-list--dark .unit-card .unit-card__price span {
    border-color: #fff
}

@media(min-width:768px) {
    .image-cards {
        display: flex;
        flex-wrap: wrap
    }
}

.image-cards a {
    position: relative;
    display: block;
    padding-bottom: 280px;
    overflow: hidden;
    z-index: 5
}

@media(min-width:768px) {
    .image-cards a {
        flex-basis: calc(100%/2)
    }
}

@media(min-width:992px) {
    .image-cards a {
        flex-basis: calc(100%/3)
    }
}

@media(min-width:1200px) {
    .image-cards a {
        padding-bottom: 360px
    }
}

@media(min-width:1440px) {
    .image-cards a {
        padding-bottom: 420px
    }
}

.image-cards a::before {
    position: absolute;
    content: '';
    width: calc(100% - 48px);
    height: calc(100% - 48px);
    margin: 24px;
    border: 1px solid rgba(255, 255, 255, .35);
    z-index: 2
}

.image-cards a::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(8, 8, 8, .35);
    z-index: 1
}

.image-cards a img {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform .3s ease-out
}

.image-cards a p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    margin: 0;
    z-index: 3;
    text-align: center
}

.image-cards a:hover img {
    transform: scale(1.1)
}

.facilities {
    margin: 40px 0
}

@media(min-width:992px) {
    .facilities {
        margin: 80px 0
    }
}

@media(min-width:1440px) {
    .facilities {
        margin: 120px 0
    }
}

.facilities__card {
    background-color: rgba(241, 237, 225, .5);
    padding: 40px;
    height: 100%
}

.facilities h2 {
    margin-bottom: 32px
}

@media(min-width:992px) {
    .facilities h2 {
        margin-bottom: 40px
    }
}

.facilities h3 {
    font-size: clamp(14px, 2.8vw, 18px);
    line-height: 2;
    text-transform: none
}

.facilities ul {
    list-style: none;
    margin-top: 24px;
    margin-bottom: 0;
    padding: 0
}

.facilities li {
    display: flex
}

.services {
    position: relative
}

.services h2 {
    margin: 0 0 32px
}

@media(min-width:992px) {
    .services h2 {
        margin-bottom: 40px
    }
}

.services__show-more {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 128px;
    transition: opacity .1s ease;
    opacity: 1;
    background: linear-gradient(180deg, rgba(251, 249, 246, 0) 0%, #fbf9f6 50%)
}

.services__show-more span {
    position: absolute;
    margin-left: 8px;
    z-index: 4;
    bottom: 0
}

.services ul {
    list-style: none;
    margin: 0 0 clamp(20px, 2vw, 40px);
    padding: 0;
    font-size: 18px;
    line-height: 24px;
    padding-bottom: 20px;
    transition: all 1.8s ease
}

@media(min-width:992px) {
    .services ul {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: clamp(16px, 1.6vw, 32px);
        column-gap: clamp(16px, 1.6vw, 32px);
        line-height: 20px
    }
}

@media(min-width:1200px) {
    .services ul {
        -moz-column-count: 3;
        column-count: 3
    }
}

@media(min-width:1440px) {
    .services ul {
        -moz-column-count: 4;
        column-count: 4
    }
}

.services ul li {
    display: flex;
    gap: clamp(20px, 2vw, 24px);
    font-family: var(--maistra-display);
    min-height: 40px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin: 6px 0;
    -moz-column-break-inside: avoid;
    break-inside: avoid-column;
    line-height: clamp(20px, 2vw, 24px)
}

@media(max-width:767px) {
    .services ul li {
        padding-top: 4px;
        padding-bottom: 4px
    }
}

.services ul li::before {
    font-size: clamp(22px, 4.4vw, 32px)
}

.services ul li i {
    font-size: clamp(20px, 2vw, 24px)
}

.services__wrapper {
    overflow: hidden;
    position: relative;
    transition: all 1.3s ease
}

.services__wrapper--closed ul {
    max-height: 190px
}

@media(min-width:992px) {
    .services__wrapper--closed ul {
        max-height: 160px
    }
}

@media(min-width:992px) {
    .layout-units-single .services ul {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(max-width:991px) {
    .booking-modal .booking-menu__inputs {
        display: initial
    }
}

.booking-calendar .p-datepicker-next,
.booking-calendar .p-datepicker-prev {
    position: absolute;
    font-family: var(--icomoon)
}

.booking-calendar .p-datepicker-next::after,
.booking-calendar .p-datepicker-prev::after {
    font-size: 16px
}

.booking-calendar .p-datepicker-next {
    right: 0
}

.booking-calendar .p-datepicker-next::after {
    content: "\e923"
}

.booking-calendar .p-datepicker-prev {
    left: 0
}

.booking-calendar .p-datepicker-prev::after {
    content: "\e922"
}

.booking-calendar .p-datepicker-header {
    margin-bottom: 24px
}

@media(min-width:992px) {
    .booking-calendar .p-datepicker-header {
        margin-bottom: 16px
    }
}

.booking-calendar .p-datepicker-title {
    font-family: var(--maistra-display);
    font-style: normal;
    font-weight: 400;
    font-size: clamp(20px, 4vw, 24px);
    line-height: calc(6/5);
    letter-spacing: 4px;
    text-transform: uppercase
}

@media(min-width:992px) {
    .booking-calendar .p-datepicker-title {
        font-family: var(--maistra-display);
        font-style: normal;
        font-weight: 400;
        line-height: 40px;
        letter-spacing: 4px
    }
}

.booking-calendar .p-calendar,
.booking-calendar .p-datepicker-group {
    width: 100%
}

@media(max-width:991px) {

    .booking-calendar .p-calendar,
    .booking-calendar .p-datepicker-group {
        max-width: clamp(448px, 48vw, 476px);
        margin: 0 auto;
        display: block
    }
}

.booking-calendar .p-datepicker-group-container {
    gap: clamp(28px, 7vw, 32px);
    width: 100%;
    margin-bottom: 32px;
    overflow: hidden
}

@media(max-width:991px) {
    .booking-calendar .p-datepicker-group-container {
        flex-direction: column
    }
}

.booking-calendar .p-datepicker-month {
    margin-right: 12px
}

.booking-calendar .p-datepicker-other-month {
    visibility: hidden
}

.booking-calendar tr td:first-child,
.booking-calendar tr td:last-child {
    overflow: hidden !important
}

.booking-calendar .p-datepicker table td {
    border: none;
    padding: 0;
    overflow: hidden
}

.booking-calendar .p-datepicker table td>span {
    --size: clamp(38px, 12vw, 64px);
    width: var(--size);
    height: var(--size);
    padding: clamp(2px, 1vw, 6px)clamp(2px, .5vw, 4px);
    text-align: center;
    border-radius: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    font-size: clamp(9px, 1.8vw, 12px);
    line-height: clamp(9px, 1.8vw, 18px);
    overflow: visible
}

.booking-calendar .p-datepicker table td>span span:first-child {
    font-size: clamp(16px, 3.2vw, 24px);
    line-height: clamp(16px, 3.4vw, 32px);
    font-family: var(--maistra-display)
}

.booking-calendar .p-datepicker table td>span span:first-child.checkoutOnly {
    width: var(--size);
    height: var(--size);
    background: linear-gradient(to top right, transparent 0%, transparent 50%, rgba(0, 83, 168, .15) 50%, rgba(0, 83, 168, .15) 100%)
}

.booking-calendar .p-datepicker table td>span span.p-price {
    line-height: clamp(9px, 1.8vw, 11px)
}

.booking-calendar .p-datepicker table td>span.p-disabled {
    color: rgba(8, 8, 8, .35)
}

.booking-calendar .p-datepicker table td>span.p-highlight {
    position: relative;
    border-radius: 0;
    overflow: visible !important
}

.booking-calendar .p-datepicker table td>span.p-highlight::before {
    content: '';
    position: absolute;
    background: rgba(0, 83, 168, .15);
    border-radius: 0;
    left: -50%;
    top: 0;
    height: 100%;
    width: 200%;
    z-index: -1
}

.booking-calendar .p-datepicker:not(.p-disabled) table td>span:not(.p-highlight, .p-disabled):hover {
    background: rgba(0, 83, 168, 5%)
}

.booking-calendar .first-selected,
.booking-calendar .last-selected {
    background-color: #0053a8 !important;
    color: #fff;
    border-radius: 100% !important
}

.booking-calendar .first-selected {
    position: relative
}

.booking-calendar .first-selected::before {
    content: '';
    position: absolute;
    background: rgba(0, 83, 168, .15);
    width: 100% !important;
    left: 50% !important;
    height: 100%
}

.booking-calendar .last-selected {
    position: relative
}

.booking-calendar .last-selected::before {
    position: absolute;
    content: '';
    background: rgba(0, 83, 168, .15);
    width: 100% !important;
    left: 0;
    height: 100%
}

.booking-menu {
    background-color: #f6f3eb;
    margin: clamp(16px, 4vw, 24px)0 clamp(24px, 6vw, 64px);
    padding: 10px 0;
    position: sticky;
    top: 0;
    z-index: 90
}

@media(max-width:991px) {
    .booking-menu {
        line-height: 22px
    }
}

@media(min-width:992px) {
    .booking-menu {
        padding: 24px 0
    }
}

@media(min-width:992px) and (max-height:480px) {
    .booking-menu {
        position: initial
    }
}

@media(max-width:991px) {
    .booking-menu__inputs {
        padding: 0;
        margin: 0;
        display: none;
        width: -moz-fit-content;
        width: fit-content;
        text-align: left
    }

    .booking-menu__inputs>div {
        margin-bottom: 24px;
        text-transform: uppercase
    }
}

@media(min-width:992px) {
    .booking-menu__inputs {
        --grid-column-gap: clamp(12px, 1.8%, 32px)
    }
}

.booking-menu__inputs label {
    font-family: var(--typonine-sans-pro);
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    font-size: clamp(12px, 2.4vw, 16px);
    line-height: 2;
    gap: clamp(8px, 1vw, 12px)
}

@media(min-width:992px) {
    .booking-menu__inputs label {
        margin-bottom: 12px
    }
}

.booking-menu__inputs label i {
    font-size: 16px
}

.booking-menu__inputs input {
    border: none;
    background-color: #f1ede1
}

@media(min-width:992px) {
    .booking-menu__inputs input {
        font-size: clamp(16px, 1.6vw, 24px)
    }
}

.booking-menu__inputs__hint {
    font-size: 14px;
    text-transform: none
}

.booking-menu__summary {
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media(min-width:992px) {
    .booking-menu__summary {
        display: none
    }
}

.booking-menu__summary button {
    border: 0;
    background: 0 0;
    font-size: 32px;
    line-height: 1;
    width: 32px;
    height: 32px;
    padding: 0;
    text-align: center
}

.booking-menu__update {
    display: flex;
    align-items: center
}

@media(min-width:992px) {
    .booking-menu__update {
        justify-content: flex-end
    }
}

@media(min-width:992px) {
    .booking-menu__update .button {
        padding: 16px clamp(16px, 1vw, 32px)
    }
}

@media(max-width:1439px) {
    .booking-menu__update .button {
        width: 100%;
        min-width: auto
    }
}

@media(max-width:767px) {
    .select-filters .form-element {
        margin-top: 8px;
        margin-bottom: 8px
    }

    .select-filters .form-element input:last-child {
        margin-bottom: 50px
    }

    .select-filters .form-element:last-child {
        margin-bottom: 16px
    }

    .select-filters .form-element label {
        display: none
    }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background-color: rgba(8, 8, 8, .8);
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center
}

@media(min-width:1200px) {
    .modal {
        padding: var(--container-padding)
    }
}

.modal__overlay {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100%
}

.modal__container {
    background: #faf8f4;
    color: #080808;
    width: 100%;
    height: 100%;
    max-width: 1248px;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 1000;
    padding: clamp(24px, 4.8vw, 48px)clamp(20px, 4vw, 32px)clamp(20px, 4vw, 40px)
}

@media(min-width:992px) {
    .modal__container {
        max-height: 804px
    }
}

.modal__header {
    border-bottom: 1px solid rgba(8, 8, 8, .35);
    padding-bottom: clamp(12px, 2.4vw, 40px);
    margin-bottom: clamp(20px, 3.6vw, 32px);
    display: flex;
    justify-content: space-between;
    align-items: center
}

.modal__header button {
    display: block;
    border: none;
    background: 0 0;
    text-transform: uppercase;
    font-family: var(--maistra-display);
    letter-spacing: 2px;
    font-size: 20px;
    line-height: 32px;
    padding: 0
}

@media(min-width:992px) {
    .modal__header button {
        line-height: 48px
    }
}

.modal__header button i::before {
    vertical-align: middle;
    font-size: clamp(18px, 3.6vw, 24px)
}

.modal__header button span {
    font-size: 16px;
    margin-right: 16px
}

@media(max-width:991px) {
    .modal__header button span {
        display: none
    }
}

.modal__button {
    order: 2
}

@media(min-width:992px) {
    .modal__button {
        display: flex;
        justify-content: end
    }
}

.modal__content {
    flex-grow: 1;
    overflow-y: auto
}

.modal__footer {
    padding-top: 12px;
    gap: 12px;
    display: flex;
    flex-direction: column
}

@media(min-width:768px) {
    .modal__footer {
        justify-content: space-between;
        gap: 32px;
        align-items: flex-start;
        flex-direction: row
    }
}

.modal__note {
    padding: clamp(12px, 3.6vw, 24px);
    background: rgba(241, 237, 225, .5);
    font-style: italic;
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: 24px
}

@media(min-width:992px) {
    .modal__note {
        padding: 16px 24px;
        line-height: 26px
    }
}

@media(max-width:767px) {
    .modal__buttons {
        text-align: center
    }
}

.guests {
    width: 100%
}

.guests .h4,
.guests table.loyalty-table th,
table.loyalty-table .guests th {
    margin-top: 0
}

.guests__decrement,
.guests__increment {
    padding: 0;
    position: absolute;
    top: 50%;
    font-size: 28px;
    background-color: #f1ede1;
    border-radius: 100%;
    color: #080808;
    outline: none;
    cursor: pointer;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    width: 24px;
    transform: translateY(-50%)
}

@media(min-width:992px) {

    .guests__decrement,
    .guests__increment {
        width: 32px;
        height: 32px
    }
}

.guests__decrement {
    left: 16px
}

.guests__increment {
    right: 16px
}

.guests__adult-input {
    position: relative;
    width: 100%
}

.guests__children-input {
    position: relative;
    width: 100%
}

.guests__selector {
    display: flex;
    align-items: flex-start;
    justify-self: flex-start;
    margin-bottom: 24px;
    max-width: 50%;
    flex-direction: column;
    position: relative;
    text-transform: uppercase
}

@media(min-width:992px) {
    .guests__selector {
        max-width: 30%
    }
}

.guests__selector label {
    flex: 1;
    text-align: left
}

@media(min-width:992px) {
    .guests__selector label {
        font-size: 24px;
        line-height: calc(5/3);
        letter-spacing: 4px;
        text-transform: uppercase
    }
}

.guests__selector input {
    border: 1px solid #080808;
    text-align: center;
    flex: 1
}

.guests__selector input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0
}

.guests__ages {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    gap: 10px;
    margin-top: 20px;
    margin-bottom: 50px
}

@media(min-width:992px) {
    .guests__ages {
        margin-bottom: 100px
    }
}

.guests__ages h3 {
    flex-basis: 100%;
    margin-bottom: 12px
}

.guests__age {
    display: flex;
    flex-basis: 30%;
    justify-content: space-between
}

@media(min-width:992px) {
    .guests__age {
        flex-basis: 24%
    }
}

.guests__age select {
    width: 100%;
    text-align: center;
    background-color: transparent;
    padding: 12px 32px;
    margin: 12px 0
}

@media(max-width:991px) {
    .guests__age select {
        padding: 12px 22px
    }
}

.benefits {
    padding: 40px 0;
    align-items: center
}

.benefits .grid {
    align-items: start
}

.benefits h2 {
    margin: 0;
    letter-spacing: 2px
}

.benefits__list {
    align-items: center
}

.benefits__item {
    position: relative;
    padding: 0 10px 0 36px
}

.benefits__item h5,
.benefits__item p {
    margin: 0;
    font-size: 14px
}

@media(min-width:992px) {

    .benefits__item h5,
    .benefits__item p {
        font-size: 16px;
        line-height: 28px
    }
}

.benefits__item i {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px
}

.loyalty-banner {
    background-color: #353d45;
    background-image: url(https://res.cloudinary.com/maistra/image/upload/v1634649309/Assets/maistar-rewards-background.png);
    color: #fff;
    padding: 20px
}

@media(min-width:1440px) {
    .loyalty-banner {
        padding: 16px
    }
}

.loyalty-banner a:not(.button) {
    color: inherit;
    text-decoration: underline
}

.loyalty-banner__wrapper {
    border: 1px solid #73412b;
    padding: 16px clamp(16px, 3.2vw, 36px)24px
}

@media(max-width:1439px) {
    .loyalty-banner__wrapper {
        text-align: center
    }
}

@media(min-width:1440px) {
    .loyalty-banner__wrapper {
        display: flex;
        align-items: center;
        padding: 16px 40px
    }
}

.loyalty-banner__logo {
    text-align: center
}

@media(max-width:1439px) {
    .loyalty-banner__logo {
        border-bottom: 1px solid #73412b;
        padding-bottom: 16px;
        margin-bottom: 16px
    }
}

@media(min-width:1440px) {
    .loyalty-banner__logo {
        padding-right: 40px;
        border-right: 1px solid #73412b;
        margin-right: 40px
    }
}

.loyalty-banner__logo img {
    display: inline-block;
    height: 80px;
    width: auto;
    -o-object-fit: contain;
    object-fit: contain
}

@media(min-width:1440px) {
    .loyalty-banner__logo img {
        height: 96px
    }
}

@media(min-width:1440px) {
    .loyalty-banner__text {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
        width: 100%
    }
}

.loyalty-banner__text h4 {
    margin: 0 0 clamp(8px, 1.6vw, 12px);
    letter-spacing: 2px
}

.loyalty-banner__text p {
    margin: 0
}

@media(max-width:1439px) {
    .loyalty-banner__text p {
        margin-bottom: 16px
    }
}

@media(min-width:1200px) {
    .loyalty-banner--landing .loyalty-banner__logo {
        padding: 20px 40px 20px 0
    }
}

@media(min-width:1920px) {
    .loyalty-banner--landing .loyalty-banner__logo {
        padding: 20px 80px 20px 40px
    }
}

.loyalty-banner--landing .loyalty-banner__logo img {
    width: 180px;
    height: auto
}

@media(max-width:991px) {
    .loyalty-banner--landing .loyalty-banner__logo img {
        width: 90px
    }
}

.loyalty-banner--landing .loyalty-banner__text {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center
}

.loyalty-banner--landing .loyalty-banner__text h4,
.loyalty-banner--landing .loyalty-banner__text p {
    text-align: center
}

.loyalty-banner--landing .loyalty-banner__text h4 {
    -webkit-text-fill-color: unset;
    text-align: center;
    font-size: clamp(18px, 3.6vw, 36px)
}

@media(min-width:992px) {
    .loyalty-banner--landing .loyalty-banner__text h4 {
        padding-top: 20px
    }
}

.loyalty-banner--landing .loyalty-banner__text p {
    font-family: var(--typonine-sans-pro);
    padding-bottom: 16px;
    font-size: clamp(14px, 2.8vw, 24px)
}

@media(min-width:1200px) {
    .loyalty-banner--landing .loyalty-banner__text p {
        padding-bottom: 0
    }
}

.loyalty-banner--landing .button {
    margin-top: 10px;
    margin-bottom: 20px
}

@media screen {
    .reservation-summary {
        background-color: #353d45;
        color: #fff;
        padding: 0 20px;
        bottom: 0;
        left: 0;
        position: fixed;
        width: 100%;
        height: 102px;
        z-index: 100
    }
}

@media screen and (min-width:992px) {
    .reservation-summary {
        z-index: 80;
        position: sticky;
        top: 40px;
        height: -moz-fit-content;
        height: fit-content;
        padding: clamp(20px, 2vw, 40px);
        width: calc(100% + var(--container-padding))
    }
}

@media screen and (min-width:992px) and (min-width:1440px) {
    .reservation-summary {
        width: 100%
    }
}

@media screen and (min-width:992px) and (max-height:600px) {
    .reservation-summary {
        position: initial
    }
}

@media print {
    .reservation-summary {
        border: 1px solid rgba(8, 8, 8, .35);
        padding: clamp(20px, 2.4vw, 32px)
    }
}

@media(max-width:1199px) {
    .reservation-summary__title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, .35);
        margin-bottom: 24px
    }
}

@media(min-width:992px) {
    .reservation-summary__title {
        padding-bottom: clamp(20px, 2vw, 40px)
    }
}

@media print {
    .reservation-summary__title {
        margin-bottom: 8px
    }
}

.reservation-summary__title h4 {
    margin: 0;
    letter-spacing: 2px;
    text-transform: uppercase
}

@media screen and (max-width:991px) {
    .reservation-summary__title h4 {
        font-size: 14px;
        line-height: 48px
    }
}

@media print {
    .reservation-summary__title h4 {
        margin-bottom: 0;
        font-size: 18px;
        letter-spacing: 3px
    }
}

@media(min-width:1200px) {
    .reservation-summary__title span {
        display: none
    }
}

.reservation-summary__content {
    font-size: clamp(14px, 2.8vw, 16px);
    padding-bottom: 32px
}

@media(min-width:992px) {
    .reservation-summary__content {
        overflow-y: auto;
        max-height: calc(100vh - 320px);
        scrollbar-color: initial transparent
    }

    .reservation-summary__content::-webkit-scrollbar-track {
        background: 0 0
    }
}

.reservation-summary__content h4 {
    text-transform: uppercase;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 1px;
    margin: 0
}

.reservation-summary__item {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .35);
    padding: 16px 0
}

.reservation-summary__item i {
    color: var(--color-primary)
}

.reservation-summary p {
    margin: 0
}

.reservation-summary hr {
    border-top: 1px solid rgba(255, 255, 255, .35);
    margin: clamp(16px, 1.6vw, 24px)0
}

@media print {
    .reservation-summary hr {
        margin: 12px 0
    }
}

.reservation-summary .access-code {
    margin-top: 12px
}

@media(max-width:1199px) {
    .reservation-summary--search {
        position: fixed;
        top: initial
    }
}

@media(min-width:992px) {
    .reservation-summary--search {
        width: 100%
    }
}

@media(min-width:1200px) {
    .reservation-summary--search {
        top: -64px;
        right: 0;
        left: initial;
        bottom: initial;
        height: calc(100% + 64px);
        position: absolute;
        z-index: 110;
        width: clamp(360px, 28vw, 520px)
    }
}

@media(min-width:992px) {
    .reservation-summary--search .reservation-summary__content {
        display: flex;
        gap: var(--container-padding);
        align-items: flex-end
    }

    .reservation-summary--search .reservation-summary__content div,
    .reservation-summary--search .reservation-summary__content .access-code {
        flex: 1
    }
}

@media(min-width:1200px) {
    .reservation-summary--search .reservation-summary__content {
        display: block
    }
}

.reservation-summary--open {
    height: auto
}

@media(max-width:991px) {
    .reservation-summary--open {
        height: 100%;
        padding-top: 12px
    }
}

@media(min-width:1200px) {
    .reservation-summary--open {
        height: 100%
    }
}

.reservation-summary--open .reservation-summary__content {
    overflow-y: auto;
    padding-bottom: 20px;
    height: calc(100% - 128px);
    scrollbar-color: initial transparent
}

.reservation-summary--open .reservation-summary__content::-webkit-scrollbar-track {
    background-color: transparent
}

.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .5);
    z-index: 250
}

.loader__box {
    height: 280px;
    width: 280px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 100%;
    overflow: hidden
}

.loader__searching {
    position: absolute;
    top: 68%;
    width: 100%;
    text-align: center;
    z-index: 10
}

.loader__searching h3 {
    color: #fff;
    font-size: 18px
}

.loader__searching svg {
    transform: scale(.8)
}

.loader__water {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    transform: translate(0, 70%);
    background: #0053a8;
    transition: all .3s
}

.loader__water svg {
    width: 200%;
    position: absolute;
    bottom: 100%
}

.loader__water svg:first-child {
    right: 0;
    fill: #31aed8;
    animation: wave-back 1.4s infinite linear
}

.loader__water svg:last-child {
    left: 0;
    fill: #0053a8;
    margin-bottom: -1px;
    animation: wave-front .7s infinite linear
}

.loader__bg {
    height: 300px;
    width: 300px;
    transform: scale(1.1)
}

@keyframes wave-front {
    100% {
        transform: translate(-50%, 0)
    }
}

@keyframes wave-back {
    100% {
        transform: translate(50%, 0)
    }
}

.notifications {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    z-index: 1500;
    display: flex;
    flex-direction: column;
    gap: 20px
}

@media(min-width:576px) {
    .notifications {
        bottom: 20px;
        right: var(--container-padding);
        width: calc(100% - 2 * var(--container-padding));
        max-width: 1000px
    }
}

.notification {
    padding: 24px 20px 20px;
    background: #f5faff;
    border: 1px solid #353d45;
    color: #353d45;
    display: flex;
    gap: clamp(24px, 3.7vw, 48px);
    width: 100%
}

@media(min-width:768px) {
    .notification {
        padding: 24px 32px
    }
}

.notification__icon {
    font-size: 32px
}

.notification button {
    font-size: 26px;
    width: 32px;
    height: 32px;
    border: none;
    margin-left: auto;
    background: 0 0;
    padding: 0;
    display: flex;
    align-items: center;
    text-align: center;
    color: inherit
}

.notification h3,
.notification p {
    margin: 0
}

.notification h3 {
    font-size: clamp(14px, 2.8vw, 16px);
    font-family: var(--typonine-sans-pro)
}

.notification a {
    color: inherit;
    text-decoration: underline
}

.notification--success {
    background: #ecf2ec;
    border-color: #068100;
    color: #068100
}

.notification--warning {
    background: #fff3e1;
    border-color: #a74c01;
    color: #a74c01
}

.notification--error {
    background: #fae6e6;
    border-color: red;
    color: red
}

.fatal-error {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    padding: 0;
    z-index: 1000;
    overflow-y: scroll
}

.fatal-error header {
    background-color: #fff;
    box-shadow: none
}

@media(min-width:992px) {
    .fatal-error header {
        border-bottom: 1px solid rgba(8, 8, 8, .35)
    }
}

.fatal-error__content {
    font-size: clamp(16px, 3.2vw, 24px);
    line-height: 1.5
}

.fatal-error__content h1 {
    font-size: clamp(24px, 4.8vw, 48px)
}

@media(min-width:992px) {
    .fatal-error__content {
        line-height: 2
    }
}

.fatal-error__button {
    display: flex;
    align-items: center
}

.fatal-error__button .button {
    min-width: unset
}

.fatal-error__details {
    font-size: 12px;
    line-height: calc(4/3);
    background: #fae6e6;
    border-color: red;
    color: red;
    padding: 0 20px
}

.loyalty-my-profile__identity {
    margin-bottom: 24px
}

.loyalty-my-profile a {
    color: #080808;
    text-decoration: underline
}

.loyalty-my-profile .note {
    background-color: #e6e4dd
}

.page-hero {
    margin: clamp(40px, 8vw, 60px)0
}

@media(min-width:992px) {
    .page-hero {
        margin: clamp(80px, 12vw, 120px)0
    }
}

.page-hero__description {
    margin: 0
}

.page-hero__image {
    position: relative;
    margin-bottom: clamp(40px, 6vw, 120px);
    overflow: hidden
}

.page-hero__image img,
.page-hero__image video {
    width: 100%;
    height: 280px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    display: block
}

@media(min-width:992px) {

    .page-hero__image img,
    .page-hero__image video {
        height: clamp(520px, 58vh, 640px)
    }
}

.page-hero__tags {
    margin-bottom: 12px;
    font-family: var(--typonine-sans-pro);
    font-size: 12px;
    line-height: 2;
    letter-spacing: 1px;
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px
}

@media(min-width:992px) {
    .page-hero__tags {
        margin-bottom: 20px;
        letter-spacing: 2px;
        gap: 0 24px
    }
}

.page-hero__date {
    font-size: clamp(14px, 2.8vw, 20px);
    line-height: 40px;
    letter-spacing: 4px;
    font-family: var(--maistra-display);
    margin: clamp(12px, 2.4vw, 24px)0
}

.page-hero #booking-bar-app {
    position: absolute;
    right: var(--container-padding);
    top: 50%;
    transform: translateY(-50%);
    z-index: 2
}

@media(min-width:992px) {
    .page-hero #booking-bar-app {
        top: initial;
        bottom: 80px;
        transform: none
    }
}

.page-hero .hero-title {
    margin: 0 0 clamp(40px, 6vw, 48px)
}

.page-hero__button-360 {
    display: inline-flex;
    margin-top: var(--p-margin)
}

.page-hero+.container .story:first-child {
    margin-top: 0
}

.table-container {
    --border-spacing: 20px;
    padding-left: var(--border-spacing);
    padding-right: var(--border-spacing);
    margin-left: calc(-1 * var(--border-spacing));
    margin-right: calc(-1 * var(--border-spacing));
    overflow-x: auto;
    white-space: nowrap
}

@media(min-width:992px) {
    .table-container {
        --border-spacing: 32px
    }
}

@font-face {
    font-family: lg;
    src: url(../fonts/lg.woff2?io9a6k)format("woff2"), url(../fonts/lg.ttf?io9a6k)format("truetype"), url(../fonts/lg.woff?io9a6k)format("woff"), url(../fonts/lg.svg?io9a6k#lg)format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: block
}

.lg-icon {
    font-family: lg !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.lg-container {
    font-family: system-ui, -apple-system, segoe ui, Roboto, helvetica neue, Arial, noto sans, liberation sans, sans-serif, apple color emoji, segoe ui emoji, segoe ui symbol, noto color emoji
}

.lg-next,
.lg-prev {
    background-color: rgba(0, 0, 0, .45);
    border-radius: 2px;
    color: #999;
    cursor: pointer;
    display: block;
    font-size: 22px;
    margin-top: -10px;
    padding: 8px 10px 9px;
    position: absolute;
    top: 50%;
    z-index: 1084;
    outline: none;
    border: none
}

.lg-next.disabled,
.lg-prev.disabled {
    opacity: 0 !important;
    cursor: default
}

.lg-next:hover:not(.disabled),
.lg-prev:hover:not(.disabled) {
    color: #fff
}

.lg-single-item .lg-next,
.lg-single-item .lg-prev {
    display: none
}

.lg-next {
    right: 20px
}

.lg-next:before {
    content: '\e095'
}

.lg-prev {
    left: 20px
}

.lg-prev:after {
    content: '\e094'
}

@keyframes lg-right-end {
    0% {
        left: 0
    }

    50% {
        left: -30px
    }

    100% {
        left: 0
    }
}

@keyframes lg-left-end {
    0% {
        left: 0
    }

    50% {
        left: 30px
    }

    100% {
        left: 0
    }
}

.lg-outer.lg-right-end .lg-object {
    animation: lg-right-end .3s;
    position: relative
}

.lg-outer.lg-left-end .lg-object {
    animation: lg-left-end .3s;
    position: relative
}

.lg-toolbar {
    z-index: 1082;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.lg-media-overlap .lg-toolbar {
    background-image: linear-gradient(0deg, transparent, rgba(0, 0, 0, .4))
}

.lg-toolbar .lg-icon {
    color: #999;
    cursor: pointer;
    float: right;
    font-size: 24px;
    height: 47px;
    line-height: 27px;
    padding: 10px 0;
    text-align: center;
    width: 50px;
    text-decoration: none !important;
    outline: none;
    will-change: color;
    transition: color .2s linear;
    background: 0 0;
    border: none;
    box-shadow: none
}

.lg-toolbar .lg-icon.lg-icon-18 {
    font-size: 18px
}

.lg-toolbar .lg-icon:hover {
    color: #fff
}

.lg-toolbar .lg-close:after {
    content: '\e070'
}

.lg-toolbar .lg-maximize {
    font-size: 22px
}

.lg-toolbar .lg-maximize:after {
    content: '\e90a'
}

.lg-toolbar .lg-download:after {
    content: '\e0f2'
}

.lg-sub-html {
    color: #eee;
    font-size: 16px;
    padding: 10px 40px;
    text-align: center;
    z-index: 1080;
    opacity: 0;
    transition: opacity .2s ease-out 0s
}

.lg-sub-html h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 700
}

.lg-sub-html p {
    font-size: 12px;
    margin: 5px 0 0
}

.lg-sub-html a {
    color: inherit
}

.lg-sub-html a:hover {
    text-decoration: underline
}

.lg-media-overlap .lg-sub-html {
    background-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6))
}

.lg-item .lg-sub-html {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0
}

.lg-error-msg {
    font-size: 14px;
    color: #999
}

.lg-counter {
    color: #999;
    display: inline-block;
    font-size: 16px;
    padding-left: 20px;
    padding-top: 12px;
    height: 47px;
    vertical-align: middle
}

.lg-closing .lg-toolbar,
.lg-closing .lg-prev,
.lg-closing .lg-next,
.lg-closing .lg-sub-html {
    opacity: 0;
    transition: transform .08 cubic-bezier(0, 0, .25, 1)0s, opacity .08 cubic-bezier(0, 0, .25, 1)0s, color .08 linear
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont {
    opacity: 0;
    transform: scale3d(.5, .5, .5);
    will-change: transform, opacity;
    transition: transform 250ms cubic-bezier(0, 0, .25, 1)0s, opacity 250ms cubic-bezier(0, 0, .25, 1) !important
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont {
    opacity: 1;
    transform: scale3d(1, 1, 1)
}

.lg-icon:focus-visible {
    color: #fff;
    border-radius: 3px;
    outline: 1px dashed rgba(255, 255, 255, .6)
}

.lg-toolbar .lg-icon:focus-visible {
    border-radius: 8px;
    outline-offset: -5px
}

.lg-outer .lg-thumb-outer {
    background-color: #0d0a0a;
    width: 100%;
    max-height: 350px;
    overflow: hidden;
    float: left
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
    cursor: -o-grab;
    cursor: -ms-grab;
    cursor: grab
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
    cursor: move;
    cursor: -o-grabbing;
    cursor: -ms-grabbing;
    cursor: grabbing
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
    transition-duration: 0s !important
}

.lg-outer .lg-thumb-outer.lg-rebuilding-thumbnails .lg-thumb {
    transition-duration: 0s !important
}

.lg-outer .lg-thumb-outer.lg-thumb-align-middle {
    text-align: center
}

.lg-outer .lg-thumb-outer.lg-thumb-align-left {
    text-align: left
}

.lg-outer .lg-thumb-outer.lg-thumb-align-right {
    text-align: right
}

.lg-outer.lg-single-item .lg-thumb-outer {
    display: none
}

.lg-outer .lg-thumb {
    padding: 5px 0;
    height: 100%;
    margin-bottom: -5px;
    display: inline-block;
    vertical-align: middle
}

@media(min-width:768px) {
    .lg-outer .lg-thumb {
        padding: 10px 0
    }
}

.lg-outer .lg-thumb-item {
    cursor: pointer;
    float: left;
    overflow: hidden;
    height: 100%;
    border-radius: 2px;
    margin-bottom: 5px;
    will-change: border-color
}

@media(min-width:768px) {
    .lg-outer .lg-thumb-item {
        border-radius: 4px;
        border: 2px solid #fff;
        transition: border-color .25s ease
    }
}

.lg-outer .lg-thumb-item.active,
.lg-outer .lg-thumb-item:hover {
    border-color: #a90707
}

.lg-outer .lg-thumb-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block
}

.lg-outer.lg-can-toggle .lg-item {
    padding-bottom: 0
}

.lg-outer .lg-toggle-thumb:after {
    content: '\e1ff'
}

.lg-outer.lg-animate-thumb .lg-thumb {
    transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}

.lg-outer .lg-video-cont {
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    position: relative
}

.lg-outer .lg-video-cont .lg-object {
    width: 100% !important;
    height: 100% !important
}

.lg-outer .lg-has-iframe .lg-video-cont {
    -webkit-overflow-scrolling: touch;
    overflow: auto
}

.lg-outer .lg-video-object {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    z-index: 3
}

.lg-outer .lg-video-poster {
    z-index: 1
}

.lg-outer .lg-has-video .lg-video-object {
    opacity: 0;
    will-change: opacity;
    transition: opacity .3s ease-in
}

.lg-outer .lg-has-video.lg-video-loaded .lg-video-poster,
.lg-outer .lg-has-video.lg-video-loaded .lg-video-play-button {
    opacity: 0 !important
}

.lg-outer .lg-has-video.lg-video-loaded .lg-video-object {
    opacity: 1
}

@keyframes lg-play-stroke {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0
    }

    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35px
    }

    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124px
    }
}

@keyframes lg-play-rotate {
    100% {
        transform: rotate(360deg)
    }
}

.lg-video-play-button {
    width: 18%;
    max-width: 140px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    cursor: pointer;
    transform: translate(-50%, -50%)scale(1);
    will-change: opacity, transform;
    transition: transform .25s cubic-bezier(.17, .88, .32, 1.28), opacity .1s
}

.lg-video-play-button:hover .lg-video-play-icon-bg,
.lg-video-play-button:hover .lg-video-play-icon {
    opacity: 1
}

.lg-video-play-icon-bg {
    fill: none;
    stroke-width: 3%;
    stroke: #fcfcfc;
    opacity: .6;
    will-change: opacity;
    transition: opacity .12s ease-in
}

.lg-video-play-icon-circle {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    fill: none;
    stroke-width: 3%;
    stroke: rgba(30, 30, 30, .9);
    stroke-opacity: 1;
    stroke-linecap: round;
    stroke-dasharray: 200;
    stroke-dashoffset: 200
}

.lg-video-play-icon {
    position: absolute;
    width: 25%;
    max-width: 120px;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    opacity: .6;
    will-change: opacity;
    transition: opacity .12s ease-in
}

.lg-video-play-icon .lg-video-play-icon-inner {
    fill: #fcfcfc
}

.lg-video-loading .lg-video-play-icon-circle {
    animation: lg-play-rotate 2s linear .25s infinite, lg-play-stroke 1.5s ease-in-out .25s infinite
}

.lg-video-loaded .lg-video-play-button {
    opacity: 0;
    transform: translate(-50%, -50%)scale(.7)
}

.lg-progress-bar {
    background-color: #333;
    height: 5px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1083;
    opacity: 0;
    will-change: opacity;
    transition: opacity .08s ease 0s
}

.lg-progress-bar .lg-progress {
    background-color: #a90707;
    height: 5px;
    width: 0
}

.lg-progress-bar.lg-start .lg-progress {
    width: 100%
}

.lg-show-autoplay .lg-progress-bar {
    opacity: 1
}

.lg-autoplay-button:after {
    content: '\e01d'
}

.lg-show-autoplay .lg-autoplay-button:after {
    content: '\e01a'
}

.lg-single-item .lg-autoplay-button {
    opacity: .75;
    pointer-events: none
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap,
.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
    transition-duration: 0ms !important
}

.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
    will-change: transform;
    transition: transform .5s cubic-bezier(.12, .415, .01, 1.19)0s
}

.lg-outer.lg-use-transition-for-zoom.lg-zoom-drag-transition .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
    will-change: transform;
    transition: transform .8s cubic-bezier(0, 0, .25, 1)0s
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img {
    transform: scale3d(1, 1, 1);
    transition: transform .5s cubic-bezier(.12, .415, .01, 1.19)0s, opacity .15s !important;
    backface-visibility: hidden
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.no-transition,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.no-transition {
    transition: none !important
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition {
    transform: scale3d(1, 1, 1)translate3d(-50%, -50%, 0) !important;
    max-width: none !important;
    max-height: none !important;
    top: 50% !important;
    left: 50% !important
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-x,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-x {
    transform: scale3d(1, 1, 1)translate3d(-50%, 0, 0) !important;
    top: 0 !important;
    left: 50% !important;
    max-width: none !important;
    max-height: none !important
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-y,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-y {
    transform: scale3d(1, 1, 1)translate3d(0, -50%, 0) !important;
    top: 50% !important;
    left: 0% !important;
    max-width: none !important;
    max-height: none !important
}

.lg-icon.lg-zoom-in:after {
    content: '\e311'
}

.lg-actual-size .lg-icon.lg-zoom-in {
    opacity: .5;
    pointer-events: none
}

.lg-icon.lg-actual-size {
    font-size: 20px
}

.lg-icon.lg-actual-size:after {
    content: '\e033'
}

.lg-icon.lg-zoom-out {
    opacity: .5;
    pointer-events: none
}

.lg-icon.lg-zoom-out:after {
    content: '\e312'
}

.lg-zoomed .lg-icon.lg-zoom-out {
    opacity: 1;
    pointer-events: auto
}

.lg-outer[data-lg-slide-type=video] .lg-zoom-in,
.lg-outer[data-lg-slide-type=video] .lg-actual-size,
.lg-outer[data-lg-slide-type=video] .lg-zoom-out,
.lg-outer[data-lg-slide-type=iframe] .lg-zoom-in,
.lg-outer[data-lg-slide-type=iframe] .lg-actual-size,
.lg-outer[data-lg-slide-type=iframe] .lg-zoom-out,
.lg-outer.lg-first-slide-loading .lg-zoom-in,
.lg-outer.lg-first-slide-loading .lg-actual-size,
.lg-outer.lg-first-slide-loading .lg-zoom-out {
    opacity: .75;
    pointer-events: none
}

.lg-outer .lg-pager-outer {
    text-align: center;
    z-index: 1080;
    height: 10px;
    margin-bottom: 10px
}

.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
    overflow: visible
}

.lg-outer.lg-single-item .lg-pager-outer {
    display: none
}

.lg-outer .lg-pager-cont {
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    position: relative;
    vertical-align: top;
    margin: 0 5px
}

.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
    box-shadow: 0 0 0 2px white inset
}

.lg-outer .lg-pager-thumb-cont {
    background-color: #fff;
    color: #fff;
    bottom: 100%;
    height: 83px;
    left: 0;
    margin-bottom: 20px;
    margin-left: -60px;
    opacity: 0;
    padding: 5px;
    position: absolute;
    width: 120px;
    border-radius: 3px;
    will-change: transform, opacity;
    transition: opacity .15s ease 0s, transform .15s ease 0s;
    transform: translate3d(0, 5px, 0)
}

.lg-outer .lg-pager-thumb-cont img {
    width: 100%;
    height: 100%
}

.lg-outer .lg-pager {
    background-color: rgba(255, 255, 255, .5);
    border-radius: 50%;
    box-shadow: 0 0 0 8px rgba(255, 255, 255, .7)inset;
    display: block;
    height: 12px;
    transition: box-shadow .3s ease 0s;
    width: 12px
}

.lg-outer .lg-pager:hover,
.lg-outer .lg-pager:focus {
    box-shadow: 0 0 0 8px white inset
}

.lg-outer .lg-caret {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px dashed;
    bottom: -10px;
    display: inline-block;
    height: 0;
    left: 50%;
    margin-left: -5px;
    position: absolute;
    vertical-align: middle;
    width: 0
}

.lg-fullscreen:after {
    content: "\e20c"
}

.lg-fullscreen-on .lg-fullscreen:after {
    content: "\e20d"
}

.lg-outer .lg-dropdown-overlay {
    background-color: rgba(0, 0, 0, .25);
    bottom: 0;
    cursor: default;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1081;
    opacity: 0;
    visibility: hidden;
    will-change: visibility, opacity;
    transition: visibility 0s linear .18s, opacity .18s linear 0s
}

.lg-outer.lg-dropdown-active .lg-dropdown,
.lg-outer.lg-dropdown-active .lg-dropdown-overlay {
    transition-delay: 0s;
    transform: translate3d(0, 0, 0);
    opacity: 1;
    visibility: visible
}

.lg-outer.lg-dropdown-active .lg-share {
    color: #fff
}

.lg-outer .lg-dropdown {
    background-color: #fff;
    border-radius: 2px;
    font-size: 14px;
    list-style-type: none;
    margin: 0;
    padding: 10px 0;
    position: absolute;
    right: 0;
    text-align: left;
    top: 50px;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 5px, 0);
    will-change: visibility, opacity, transform;
    transition: transform .18s linear 0s, visibility 0s linear .5s, opacity .18s linear 0s
}

.lg-outer .lg-dropdown:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    position: absolute;
    border: 8px solid transparent;
    border-bottom-color: #fff;
    right: 16px;
    top: -16px
}

.lg-outer .lg-dropdown>li:last-child {
    margin-bottom: 0
}

.lg-outer .lg-dropdown>li:hover a {
    color: #333
}

.lg-outer .lg-dropdown a {
    color: #333;
    display: block;
    white-space: pre;
    padding: 4px 12px;
    font-family: open sans, helvetica neue, Helvetica, Arial, sans-serif;
    font-size: 12px
}

.lg-outer .lg-dropdown a:hover {
    background-color: rgba(0, 0, 0, 7%)
}

.lg-outer .lg-dropdown .lg-dropdown-text {
    display: inline-block;
    line-height: 1;
    margin-top: -3px;
    vertical-align: middle
}

.lg-outer .lg-dropdown .lg-icon {
    color: #333;
    display: inline-block;
    float: none;
    font-size: 20px;
    height: auto;
    line-height: 1;
    margin-right: 8px;
    padding: 0;
    vertical-align: middle;
    width: auto
}

.lg-outer .lg-share {
    position: relative
}

.lg-outer .lg-share:after {
    content: '\e80d'
}

.lg-outer .lg-share-facebook .lg-icon {
    color: #3b5998
}

.lg-outer .lg-share-facebook .lg-icon:after {
    content: '\e904'
}

.lg-outer .lg-share-twitter .lg-icon {
    color: #00aced
}

.lg-outer .lg-share-twitter .lg-icon:after {
    content: '\e907'
}

.lg-outer .lg-share-pinterest .lg-icon {
    color: #cb2027
}

.lg-outer .lg-share-pinterest .lg-icon:after {
    content: '\e906'
}

.lg-comment-box {
    width: 420px;
    max-width: 100%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 9999;
    background-color: #fff;
    will-change: transform;
    transform: translate3d(100%, 0, 0);
    transition: transform .4s cubic-bezier(0, 0, .25, 1)0s
}

.lg-comment-box .lg-comment-title {
    margin: 0;
    color: #fff;
    font-size: 18px
}

.lg-comment-box .lg-comment-header {
    background-color: #000;
    padding: 12px 20px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0
}

.lg-comment-box .lg-comment-body {
    height: 100% !important;
    padding-top: 43px !important;
    width: 100% !important
}

.lg-comment-box .fb-comments {
    height: 100%;
    width: 100%;
    background: url(../images/loading.gif)no-repeat 50% #fff;
    overflow-y: auto;
    display: inline-block
}

.lg-comment-box .fb-comments[fb-xfbml-state=rendered] {
    background-image: none
}

.lg-comment-box .fb-comments>span {
    max-width: 100%
}

.lg-comment-box .lg-comment-close {
    position: absolute;
    right: 5px;
    top: 12px;
    cursor: pointer;
    font-size: 20px;
    color: #999;
    will-change: color;
    transition: color .2s linear
}

.lg-comment-box .lg-comment-close:hover {
    color: #fff
}

.lg-comment-box .lg-comment-close:after {
    content: '\e070'
}

.lg-comment-box iframe {
    max-width: 100% !important;
    width: 100% !important
}

.lg-comment-box #disqus_thread {
    padding: 0 20px
}

.lg-outer .lg-comment-overlay {
    background-color: rgba(0, 0, 0, .25);
    bottom: 0;
    cursor: default;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1081;
    opacity: 0;
    visibility: hidden;
    will-change: visibility, opacity;
    transition: visibility 0s linear .18s, opacity .18s linear 0s
}

.lg-outer .lg-comment-toggle:after {
    content: '\e908'
}

.lg-outer.lg-comment-active .lg-comment-overlay {
    transition-delay: 0s;
    transform: translate3d(0, 0, 0);
    opacity: 1;
    visibility: visible
}

.lg-outer.lg-comment-active .lg-comment-toggle {
    color: #fff
}

.lg-outer.lg-comment-active .lg-comment-box {
    transform: translate3d(0, 0, 0)
}

.lg-outer .lg-img-rotate {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition: transform .4s cubic-bezier(0, 0, .25, 1)0s
}

.lg-outer[data-lg-slide-type=video] .lg-rotate-left,
.lg-outer[data-lg-slide-type=video] .lg-rotate-right,
.lg-outer[data-lg-slide-type=video] .lg-flip-ver,
.lg-outer[data-lg-slide-type=video] .lg-flip-hor,
.lg-outer[data-lg-slide-type=iframe] .lg-rotate-left,
.lg-outer[data-lg-slide-type=iframe] .lg-rotate-right,
.lg-outer[data-lg-slide-type=iframe] .lg-flip-ver,
.lg-outer[data-lg-slide-type=iframe] .lg-flip-hor {
    opacity: .75;
    pointer-events: none
}

.lg-outer .lg-img-rotate:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.lg-rotate-left:after {
    content: '\e900'
}

.lg-rotate-right:after {
    content: '\e901'
}

.lg-icon.lg-flip-hor,
.lg-icon.lg-flip-ver {
    font-size: 26px
}

.lg-flip-ver:after {
    content: '\e903'
}

.lg-flip-hor:after {
    content: '\e902'
}

.lg-medium-zoom-item {
    cursor: zoom-in
}

.lg-medium-zoom .lg-outer {
    cursor: zoom-out
}

.lg-medium-zoom .lg-outer.lg-grab img.lg-object {
    cursor: zoom-out
}

.lg-medium-zoom .lg-outer.lg-grabbing img.lg-object {
    cursor: zoom-out
}

.lg-relative-caption .lg-outer .lg-sub-html {
    white-space: normal;
    bottom: auto;
    padding: 0;
    background-image: none
}

.lg-relative-caption .lg-outer .lg-relative-caption-item {
    opacity: 0;
    padding: 16px 0;
    transition: .5s opacity ease
}

.lg-relative-caption .lg-outer .lg-show-caption .lg-relative-caption-item {
    opacity: 1
}

.lg-group:after {
    content: '';
    display: table;
    clear: both
}

.lg-container {
    display: none;
    outline: none
}

.lg-container.lg-show {
    display: block
}

.lg-on {
    scroll-behavior: unset
}

.lg-overlay-open {
    overflow: hidden
}

.lg-toolbar,
.lg-prev,
.lg-next,
.lg-pager-outer,
.lg-hide-sub-html .lg-sub-html {
    opacity: 0;
    will-change: transform, opacity;
    transition: transform .25s cubic-bezier(0, 0, .25, 1)0s, opacity .25s cubic-bezier(0, 0, .25, 1)0s
}

.lg-show-in .lg-toolbar,
.lg-show-in .lg-prev,
.lg-show-in .lg-next,
.lg-show-in .lg-pager-outer {
    opacity: 1
}

.lg-show-in.lg-hide-sub-html .lg-sub-html {
    opacity: 1
}

.lg-show-in .lg-hide-items .lg-prev {
    opacity: 0;
    transform: translate3d(-10px, 0, 0)
}

.lg-show-in .lg-hide-items .lg-next {
    opacity: 0;
    transform: translate3d(10px, 0, 0)
}

.lg-show-in .lg-hide-items .lg-toolbar {
    opacity: 0;
    transform: translate3d(0, -10px, 0)
}

.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html {
    opacity: 0;
    transform: translate3d(0, 20px, 0)
}

.lg-outer {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    text-align: left;
    opacity: .001;
    outline: none;
    will-change: auto;
    overflow: hidden;
    transition: opacity .15s ease 0s
}

.lg-outer * {
    box-sizing: border-box
}

.lg-outer.lg-zoom-from-image {
    opacity: 1
}

.lg-outer.lg-visible {
    opacity: 1
}

.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide,
.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide,
.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current {
    transition-duration: inherit !important;
    transition-timing-function: inherit !important
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide,
.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,
.lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
    transition-duration: 0s !important;
    opacity: 1
}

.lg-outer.lg-grab img.lg-object {
    cursor: -o-grab;
    cursor: -ms-grab;
    cursor: grab
}

.lg-outer.lg-grabbing img.lg-object {
    cursor: move;
    cursor: -o-grabbing;
    cursor: -ms-grabbing;
    cursor: grabbing
}

.lg-outer .lg-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.lg-outer .lg-inner {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    transition: opacity 0s;
    white-space: nowrap
}

.lg-outer .lg-item {
    display: none !important
}

.lg-outer .lg-item:not(.lg-start-end-progress) {
    background: url(../images/loading.gif)no-repeat 50%
}

.lg-outer.lg-css3 .lg-prev-slide,
.lg-outer.lg-css3 .lg-current,
.lg-outer.lg-css3 .lg-next-slide {
    display: inline-block !important
}

.lg-outer.lg-css .lg-current {
    display: inline-block !important
}

.lg-outer .lg-item,
.lg-outer .lg-img-wrap {
    display: inline-block;
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%
}

.lg-outer .lg-item:before,
.lg-outer .lg-img-wrap:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.lg-outer .lg-img-wrap {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    white-space: nowrap;
    font-size: 0
}

.lg-outer .lg-item.lg-complete {
    background-image: none
}

.lg-outer .lg-item.lg-current {
    z-index: 1060
}

.lg-outer .lg-object {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    position: relative
}

.lg-outer .lg-empty-html.lg-sub-html,
.lg-outer .lg-empty-html .lg-sub-html {
    display: none
}

.lg-outer.lg-hide-download .lg-download {
    opacity: .75;
    pointer-events: none
}

.lg-outer .lg-first-slide .lg-dummy-img {
    position: absolute;
    top: 50%;
    left: 50%
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components {
    transform: translate3d(0, 0%, 0);
    opacity: 1
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html {
    opacity: 1;
    transition: opacity .2s ease-out .15s
}

.lg-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    background-color: #000;
    opacity: 0;
    will-change: auto;
    transition: opacity 333ms ease-in 0s
}

.lg-backdrop.in {
    opacity: 1
}

.lg-css3.lg-no-trans .lg-prev-slide,
.lg-css3.lg-no-trans .lg-next-slide,
.lg-css3.lg-no-trans .lg-current {
    transition: none 0s ease 0s !important
}

.lg-css3.lg-use-css3 .lg-item {
    backface-visibility: hidden
}

.lg-css3.lg-fade .lg-item {
    opacity: 0
}

.lg-css3.lg-fade .lg-item.lg-current {
    opacity: 1
}

.lg-css3.lg-fade .lg-item.lg-prev-slide,
.lg-css3.lg-fade .lg-item.lg-next-slide,
.lg-css3.lg-fade .lg-item.lg-current {
    transition: opacity .1s ease 0s
}

.lg-css3.lg-use-css3 .lg-item.lg-start-progress {
    transition: transform 1s cubic-bezier(.175, .885, .32, 1.275)0s
}

.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress {
    transition: transform 1s cubic-bezier(0, 0, .25, 1)0s
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
    opacity: 0
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
    transform: translate3d(-100%, 0, 0)
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
    transform: translate3d(100%, 0, 0)
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
    transform: translate3d(0, 0, 0);
    opacity: 1
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide,
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,
.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
    transition: transform 1s cubic-bezier(0, 0, .25, 1)0s, opacity .1s ease 0s
}

.lg-container {
    display: none
}

.lg-container.lg-show {
    display: block
}

.lg-container.lg-dragging-vertical .lg-backdrop {
    transition-duration: 0s !important
}

.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current {
    transition-duration: 0s !important;
    opacity: 1
}

.lg-inline .lg-backdrop,
.lg-inline .lg-outer {
    position: absolute
}

.lg-inline .lg-backdrop {
    z-index: 1
}

.lg-inline .lg-outer {
    z-index: 2
}

.lg-inline .lg-maximize:after {
    content: '\e909'
}

.lg-components {
    transform: translate3d(0, 100%, 0);
    will-change: transform;
    transition: transform .35s ease-out 0s;
    z-index: 1080;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0
}

.mega-menu {
    --level-padding: clamp(20px, 3vw, 40px)
}

.mega-menu .mega-menu__title,
.mega-menu .main-menu__brand div,
.main-menu__brand .mega-menu div {
    width: calc(100% + (2 * var(--level-padding)));
    margin-left: calc(-1 * var(--level-padding));
    margin-right: calc(-1 * var(--level-padding))
}

.mega-menu__wrapper {
    position: fixed;
    top: var(--header-sticky-height);
    left: 0;
    width: 100%;
    height: calc(100% - var(--header-sticky-height));
    background: #fff;
    color: #080808;
    font-family: var(--maistra-display);
    z-index: 20
}

@media(max-width:991px) {
    .mega-menu__wrapper {
        overflow-y: auto
    }
}

@media(min-width:992px) {
    .mega-menu__wrapper {
        top: 0;
        height: 100%;
        display: flex
    }
}

.mega-menu__wrapper a:not(.button) {
    color: #080808
}

.mega-menu__wrapper a:not(.button):hover {
    text-decoration: none;
    color: #0053a8
}

.mega-menu__button {
    font-size: 24px;
    z-index: 21;
    position: relative
}

@media(min-width:992px) {
    .mega-menu__button {
        font-size: 52px;
        width: 52px;
        margin-left: 24px
    }
}

.mega-menu__button[aria-expanded=false] .icon-close {
    display: none
}

.mega-menu__button[aria-expanded=false]+.mega-menu__wrapper {
    display: none
}

@media(min-width:992px) {
    .mega-menu__button[aria-expanded=true] {
        background: #080808;
        color: #fff;
        font-size: 24px
    }
}

.mega-menu__button[aria-expanded=true] .icon-menu {
    display: none
}

.mega-menu__image {
    height: clamp(20vh, 55vw, 40vh);
    width: 100%
}

@media(min-width:992px) {
    .mega-menu__image {
        order: 5;
        height: 100%
    }
}

.mega-menu__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.mega-menu__image--double {
    display: flex;
    flex-direction: column
}

.mega-menu__image--double img {
    height: 50%
}

@media(min-width:992px) {
    .mega-menu__levels {
        display: flex
    }
}

.mega-menu__level {
    padding: 0 var(--level-padding)clamp(32px, 6.4vw, 40px);
    position: relative;
    background: #fff
}

@media(min-width:992px) {
    .mega-menu__level {
        width: clamp(328px, 32vw, 488px);
        height: 100%;
        overflow-y: auto;
        flex-shrink: 0
    }
}

.mega-menu__level--1,
.mega-menu__level--2 {
    padding-top: clamp(24px, 4.8vw, 32px)
}

@media(min-width:992px) {

    .mega-menu__level--1,
    .mega-menu__level--2 {
        padding-left: clamp(40px, 5vw, 64px)
    }
}

.mega-menu__level--1>hr,
.mega-menu__level--2>hr {
    margin: 36px 0
}

@media(min-width:992px) {

    .mega-menu__level--2,
    .mega-menu__level--3 {
        border-left: 1px solid rgba(8, 8, 8, .35)
    }
}

.mega-menu__level--3 {
    min-height: 100%;
    order: 3;
    z-index: 3
}

@media(max-width:991px) {
    .mega-menu__level--3 {
        position: absolute;
        width: 100%;
        top: clamp(20vh, 55vw, 40vh);
        left: 0
    }
}

.mega-menu__logo {
    display: inline-block;
    margin-bottom: 36px
}

@media(max-width:991px) {
    .mega-menu__logo {
        display: none
    }
}

.mega-menu__title {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px
}

.mega-menu__title button {
    border: 0;
    background: rgba(241, 237, 225, .5);
    padding: 24px var(--level-padding);
    font-size: 14px;
    line-height: 1;
    font-family: var(--typonine-sans-pro);
    display: flex;
    gap: 16px;
    align-items: center
}

@media(min-width:992px) {
    .mega-menu__title button {
        display: none
    }
}

.mega-menu__title span {
    font-size: 24px;
    line-height: 32px;
    padding: clamp(32px, 3.2vw, 44px)var(--level-padding);
    position: relative
}

.mega-menu__title span::after {
    content: '';
    height: 1px;
    width: calc(100% - 2 * var(--level-padding));
    margin-left: var(--level-padding);
    background: rgba(8, 8, 8, .35);
    position: absolute;
    bottom: 0;
    left: 0
}

.mega-menu ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
    font-size: 16px;
    line-height: 1.5
}

.mega-menu__main {
    gap: 28px;
    margin-bottom: 36px !important
}

.mega-menu__personal>li>a {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 24px;
    letter-spacing: 2px;
    text-transform: uppercase;
    gap: 20px
}

@media(min-width:992px) {
    .mega-menu__personal>li>a {
        gap: 16px
    }
}

.mega-menu__personal>li>a>i {
    font-size: 20px
}

.mega-menu .accordion summary {
    padding: 20px 0;
    background: 0 0
}

.mega-menu .accordion summary:hover {
    color: #0053a8
}

.mega-menu .accordion summary .h3 {
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 3px;
    text-transform: uppercase
}

.mega-menu .accordion[open] summary {
    color: #0053a8
}

.mega-menu--sections .header__top {
    margin-bottom: var(--p-margin)
}

@media(max-width:991px) {
    .mega-menu--sections .header__top {
        display: none
    }
}

@media(min-width:1920px) {
    .mega-menu--sections .header__top {
        margin-bottom: calc(var(--section-dist)/2)
    }
}

.header--dark .mega-menu--sections .header__top {
    background: #080808
}

.header--dark .mega-menu--sections .header__top a {
    color: #fff
}

@media(min-width:992px) {
    .mega-menu--sections .mega-menu__image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }
}

.mega-menu--sections .mega-menu__levels {
    width: 100%
}

@media(min-width:992px) {
    .mega-menu--sections .mega-menu__level--1 {
        padding: 0
    }
}

@media(min-width:1920px) {
    .mega-menu--sections .mega-menu__level--1 {
        width: auto
    }
}

.mega-menu--sections .mega-menu__level--2 {
    padding-top: clamp(24px, 4.8vw, 32px)
}

@media(min-width:992px) {
    .mega-menu--sections .mega-menu__level--3 {
        flex-grow: 1
    }
}

@media(max-width:1919px) {
    .mega-menu--property .header__top {
        margin-bottom: var(--header-height)
    }
}

@media(max-width:1919px) {
    .mega-menu--property .header__property-title {
        flex-direction: column;
        gap: 8px;
        position: absolute;
        top: var(--header-height);
        left: var(--container-padding);
        z-index: 20;
        margin: 0;
        padding: 0;
        border: none
    }

    .header--dark .mega-menu--property .header__property-title {
        color: #080808 !important
    }
}

.menu-brands ul {
    gap: 28px;
    margin-top: 40px
}

.js-has-pseudo [csstools-has-1a-31-2t-32-39-19-2q-36-2p-32-2s-37-w-39-30-w-30-2x-w-2p-1m-2w-2p-37-14-2x-31-2v-15]:not(does-not-exist):not(does-not-exist):not(does-not-exist):not(does-not-exist) {
    display: flex
}

.menu-brands ul li a:has(img) {
    display: flex
}

.js-has-pseudo [csstools-has-1a-31-2t-32-39-19-2q-36-2p-32-2s-37-w-39-30-w-30-2x-w-2p-1m-2w-2p-37-14-2x-31-2v-15-w-2x-31-2v]:not(does-not-exist):not(does-not-exist):not(does-not-exist):not(does-not-exist):not(does-not-exist) {
    height: 36px
}

.menu-brands ul li a:has(img) img {
    height: 36px
}

.main-menu {
    font-size: 24px;
    line-height: 32px
}

.main-menu>a>span {
    font-family: var(--typonine-sans-pro);
    font-size: 12px;
    line-height: 16px;
    letter-spacing: .1em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px
}

.main-menu__button {
    position: relative
}

@media(min-width:992px) {
    .main-menu__button {
        display: block;
        padding-right: 40px
    }

    .main-menu__button[aria-expanded=true] ::after,
    .main-menu__button:hover ::after {
        content: '\e905';
        font-family: var(--icomoon);
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 24px
    }
}

.main-menu__button--explore {
    display: block
}

.main-menu__button--explore::after {
    content: '\e905';
    font-family: var(--icomoon);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px
}

.main-menu__button[aria-expanded=true] {
    color: #0053a8
}

.main-menu__button[aria-expanded=false]+.mega-menu__level {
    display: none
}

.main-menu .mega-menu__title {
    margin-bottom: 20px
}

.main-menu__brand div {
    background: rgba(241, 237, 225, .5);
    padding: 28px var(--level-padding)20px
}

.main-menu__brand div img {
    height: 30px;
    width: auto;
    display: block
}

.main-menu__brand ul {
    gap: 32px;
    margin: 32px 0
}

.main-menu__brand ul a {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    text-transform: uppercase;
    gap: 4px
}

@media(min-width:992px) {
    .main-menu__brand ul a {
        position: relative;
        padding-right: 40px
    }

    .main-menu__brand ul a:hover::after {
        content: '\e905';
        font-family: var(--icomoon);
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 16px
    }
}

.main-menu__footer {
    border-top: 1px solid rgba(8, 8, 8, .35);
    padding-top: 32px;
    font-size: 14px;
    line-height: 24px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top: 20px
}

table:not(.p-datepicker-calendar, .no-formatting) {
    --border-spacing: 2px;
    border-spacing: var(--border-spacing);
    margin-left: calc(-1 * var(--border-spacing));
    margin-right: calc(-1 * var(--border-spacing));
    width: calc(100% + 2 * var(--border-spacing))
}

.table td,
.table th,
table:not(.loyalty-table, .p-datepicker-calendar, .no-formatting) td,
table:not(.loyalty-table, .p-datepicker-calendar, .no-formatting) th {
    padding: 4px 20px;
    background-color: rgba(241, 237, 225, .5)
}

.table th,
table:not(.loyalty-table, .p-datepicker-calendar, .no-formatting) th {
    background-color: #e6e4dd
}

.table.p-datepicker-calendar th,
table:not(.loyalty-table, .p-datepicker-calendar, .no-formatting).p-datepicker-calendar th {
    font-weight: 400
}

.info-list {
    padding: clamp(68px, 10vw, 80px)clamp(20px, 4vw, 40px)clamp(32px, 6.4vw, 80px);
    margin: clamp(64px, 8vw, 120px)0;
    position: relative;
    background: rgba(241, 237, 225, .5)
}

@media(max-width:767px) {
    .info-list {
        margin: 0px calc(-1 * var(--container-padding))0
    }
}

.info-list .h3 {
    margin: 0 0 clamp(28px, 5.6vw, 64px)
}

.info-list ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 0 40px;
    margin: 0 0 32px;
    border-bottom: 1px solid rgba(8, 8, 8, .35)
}

@media(min-width:1200px) {
    .info-list ul {
        padding: 0;
        margin: 0;
        border: none;
        display: grid;
        grid-template-columns: repeat(3, 1fr)
    }
}

.info-list ul li {
    vertical-align: middle;
    position: relative;
    padding-left: clamp(44px, 8.8vw, 60px)
}

.info-list ul i {
    color: #080808;
    font-size: clamp(26px, 5.2vw, 36px);
    position: absolute;
    top: -2px;
    left: 0
}

@media(min-width:992px) {
    .info-list ul i {
        top: 2px
    }
}

@media(max-width:1199px) {
    .info-list .arrow-button {
        display: flex
    }
}

@media(min-width:1200px) {
    .info-list .arrow-button {
        position: absolute;
        top: 80px;
        right: 40px
    }
}

.search {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100vw;
    z-index: 30;
    background: #fbf9f6;
    color: #080808;
    overflow-y: scroll
}

.search .header__top {
    border-bottom: 1px solid rgba(8, 8, 8, .35)
}

.search .header__search {
    max-width: 1248px
}

.search__input {
    position: relative;
    display: block
}

.search__input span {
    position: absolute;
    height: 100%;
    width: 52px;
    display: flex;
    align-items: center;
    justify-content: center
}

@media(min-width:768px) {
    .search__input span {
        width: 76px
    }
}

@media(min-width:992px) {
    .search__input span {
        width: 104px
    }
}

.search__input .icon-search {
    font-size: clamp(24px, 3vw, 44px)
}

.search .ais-SearchBox-input {
    border: none;
    outline: none;
    padding: 0 52px;
    height: clamp(48px, 8vw, 80px);
    line-height: clamp(48px, 8vw, 80px);
    font-size: clamp(16px, 3vw, 36px);
    width: 100%;
    box-shadow: 0 0 20px rgba(8, 8, 8, .15)
}

.search .ais-SearchBox-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none
}

.search .ais-SearchBox-input:-moz-placeholder-shown {
    border-bottom: 1px solid #080808;
    box-shadow: none;
    padding: 0 8px 0 52px;
    background: rgba(255, 255, 255, .5)
}

.search .ais-SearchBox-input:placeholder-shown {
    border-bottom: 1px solid #080808;
    box-shadow: none;
    padding: 0 8px 0 52px;
    background: rgba(255, 255, 255, .5)
}

@media(min-width:768px) {
    .search .ais-SearchBox-input:-moz-placeholder-shown {
        padding: 0 16px 0 76px
    }

    .search .ais-SearchBox-input:placeholder-shown {
        padding: 0 16px 0 76px
    }
}

@media(min-width:992px) {
    .search .ais-SearchBox-input:-moz-placeholder-shown {
        padding: 0 24px 0 104px
    }

    .search .ais-SearchBox-input:placeholder-shown {
        padding: 0 24px 0 104px
    }
}

@media(min-width:768px) {
    .search .ais-SearchBox-input {
        padding: 0 76px
    }
}

@media(min-width:992px) {
    .search .ais-SearchBox-input {
        padding: 0 104px
    }
}

.search .ais-SearchBox-reset {
    position: absolute;
    border: none;
    background: 0 0;
    right: 0;
    top: 0;
    height: 100%;
    width: 52px;
    align-items: center;
    justify-content: center
}

.search .ais-SearchBox-reset:not([hidden]) {
    display: flex
}

@media(min-width:768px) {
    .search .ais-SearchBox-reset {
        width: 76px
    }
}

@media(min-width:992px) {
    .search .ais-SearchBox-reset {
        width: 104px
    }
}

.search .ais-SearchBox-reset .icon-close {
    font-size: clamp(16px, 3vw, 26px)
}

.search__suggestions-title {
    font-size: clamp(16px, 3.2vw, 20px);
    letter-spacing: 1px;
    margin-bottom: .5rem
}

.search__suggestions {
    white-space: nowrap;
    overflow-y: auto;
    margin-right: -18px
}

.search__suggestions button {
    font-family: var(--maistra-display);
    font-size: clamp(12px, 2.4vw, 14px);
    text-transform: uppercase;
    border: none;
    background: rgba(0, 83, 168, .2);
    padding: 2px 20px 0;
    line-height: 2.5;
    margin-right: 8px
}

.search__toggle-filters {
    margin-top: 1rem;
    width: 100%
}

@media(min-width:992px) {
    .search__toggle-filters {
        display: none
    }
}

.search__refinement {
    display: none;
    align-items: center;
    gap: 24px
}

@media(min-width:992px) {
    .search__refinement {
        display: flex
    }
}

.js-has-pseudo [csstools-has-1a-37-2t-2p-36-2r-2w-2n-2n-36-2t-2u-2x-32-2t-31-2t-32-38-1m-2w-2p-37-14-1a-2p-2x-37-19-1v-30-2t-2p-36-2a-2t-2u-2x-32-2t-31-2t-32-38-37-19-2q-39-38-38-33-32-1m-2s-2x-37-2p-2q-30-2t-2s-15]:not(.does-not-exist):not(.does-not-exist) {
    display: none
}

.search__refinement:has(.ais-ClearRefinements-button:disabled) {
    display: none
}

.search__refinement .ais-ClearRefinements-button {
    font-size: 16px;
    border: none;
    background: 0 0;
    color: #080808;
    border-bottom: 1px solid #080808;
    padding: 0
}

.search__refinement .ais-CurrentRefinements-label {
    display: none
}

.search__refinement .ais-CurrentRefinements-list {
    display: flex;
    gap: 12px
}

.search__refinement .ais-CurrentRefinements-item {
    display: flex;
    gap: 12px
}

.search__refinement .ais-CurrentRefinements-category {
    font-family: var(--maistra-display);
    font-size: clamp(12px, 2.4vw, 14px);
    text-transform: uppercase;
    border: none;
    background: rgba(0, 83, 168, .2);
    line-height: 2.5;
    padding: 2px 0 0 24px
}

.search__refinement .ais-CurrentRefinements-category button {
    background: 0 0;
    border: none;
    height: 38px;
    width: 46px;
    padding-right: 24px
}

.search .container {
    max-width: 1248px
}

.search__stats {
    font-size: clamp(14px, 3.2vw, 16px);
    margin-bottom: clamp(16px, 3.2vw, 24px);
    text-transform: uppercase
}

.search__hits ol {
    margin: 0
}

.search .ais-Hits-item {
    background: #f1ede1;
    margin-bottom: clamp(16px, 2.4vw, 24px);
    display: flex;
    flex-direction: column
}

@media(min-width:992px) {
    .search .ais-Hits-item {
        flex-direction: row
    }
}

.search__image__label {
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 1;
    padding: 0 8px;
    text-transform: uppercase;
    color: #fff;
    background-color: #2579cf
}

.search__image img {
    display: block;
    width: 100%
}

@media(min-width:992px) {
    .search__image {
        max-width: 320px
    }

    .search__image img {
        height: 100%;
        min-width: 320px;
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center
    }
}

.search__content {
    padding: 24px;
    width: 100%
}

.search__content h3,
.search__content p {
    margin: 0 0 12px
}

.search__content__brand {
    width: 150px
}

@media(min-width:992px) {
    .search__content__more {
        text-align: right
    }
}

.search__content__more a {
    gap: 20px
}

.search__content__tags {
    margin-bottom: 12px
}

.search__content__tags span {
    display: inline-block;
    text-transform: uppercase;
    background: rgba(0, 83, 168, .2);
    font-size: clamp(12px, 2.4vw, 16px);
    padding: clamp(3px, 2.4vw, 5px)8px;
    margin-right: 8px;
    line-height: 1
}

.search__content .card__stars {
    gap: 16px
}

.search__pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0
}

.search__pagination ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: center
}

.search__pagination ul li.ais-Pagination-item--disabled {
    display: none
}

.search__pagination ul li.ais-Pagination-item--previousPage,
.search__pagination ul li.ais-Pagination-item--nextPage {
    font-weight: 700
}

.search__pagination ul li.ais-Pagination-item--selected {
    font-weight: 700;
    border: 1px solid #080808
}

.search__pagination ul li.ais-Pagination-item--page a {
    width: 28px;
    height: 28px
}

.search__refinements {
    display: none
}

.search__refinements__title {
    font-size: 16px;
    text-transform: uppercase;
    padding-bottom: 4px;
    margin: 0;
    display: flex;
    justify-content: space-between;
    place-items: center
}

@media(min-width:992px) {
    .search__refinements__title {
        font-size: 20px
    }

    .search__refinements__title .ais-ClearRefinements {
        display: none
    }
}

.search__refinements__title .ais-ClearRefinements-button {
    font-size: 14px;
    border: none;
    background: 0 0;
    color: #080808;
    border-bottom: 1px solid #080808;
    padding: 0
}

.search__refinements__title .ais-ClearRefinements-button:disabled {
    display: none
}

.search__refinements .header,
.search__refinements .footer {
    display: none
}

@media(min-width:992px) {
    .search__refinements {
        display: block
    }
}

@media(max-width:767px) {
    .search__refinements.open {
        display: block;
        position: fixed;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        z-index: 100;
        background: #fbf9f5;
        overflow-y: scroll;
        padding: 48px 0 80px
    }

    .search__refinements.open .search__refinements__container {
        padding: 24px 19px
    }

    .search__refinements .header {
        display: block;
        position: fixed;
        top: 0;
        box-shadow: 0 0 20px rgba(8, 8, 8, .2)
    }

    .search__refinements .header__top {
        border: none
    }

    .search__refinements .footer {
        display: block;
        position: fixed;
        bottom: 0;
        height: 80px;
        background: #fbf9f5;
        padding: 24px 19px 19px;
        width: 100%;
        background-color: #f6f3eb;
        box-shadow: 0 0 20px rgba(8, 8, 8, .2)
    }

    .search__refinements .footer .button {
        width: 100%;
        height: 40px;
        line-height: 40px;
        padding: 0
    }
}

.search__refinements .title {
    border-top: 1px solid #080808;
    padding-top: 24px;
    font-size: 14px;
    text-transform: uppercase;
    margin-top: 12px
}

@media(min-width:992px) {
    .search__refinements .title {
        font-size: 16px;
        padding-top: 32px;
        margin-top: 24px
    }
}

.search__refinements ul {
    margin: 0;
    padding: 0 0 12px
}

@media(min-width:992px) {
    .search__refinements ul {
        padding: 8px 0 16px
    }
}

.search__refinements ul li {
    margin-top: 24px
}

.search__refinements ul li label {
    font-family: var(--typonine-sans-pro);
    font-size: 16px
}

.search__refinements ul li label input {
    --size: 30px
}

.search__refinements ul li label input:checked::before {
    top: -5px;
    left: 6px;
    font-size: 32px
}

.search__refinements ul li label .ais-RefinementList-labelText {
    padding: 0 16px
}

.search__refinements .ais-RefinementList-count {
    background-color: #f6f3eb;
    border-radius: 80px;
    padding: 0 7px;
    line-height: 28px;
    display: none
}

.search__refinements__primary .ais-RefinementList-count {
    display: inline
}

.search ul:not(.no-bullets) li,
.search ol:not(.no-bullets) li {
    padding: 0
}

.search ul:not(.no-bullets) li::before,
.search ol:not(.no-bullets) li::before {
    display: none
}

.booking-bar__wrapper {
    display: flex
}

.booking-bar__button {
    border: none;
    padding: 0 32px;
    text-transform: uppercase;
    display: flex;
    gap: 16px;
    align-items: center;
    letter-spacing: 2px;
    font-size: 16px;
    line-height: 24px;
    transition: background .2s ease-in
}

.booking-bar__button:hover {
    background: var(--color-primary-light)
}

.big-card-slider {
    overflow: hidden
}

@media(min-width:992px) {
    .big-card-slider {
        width: 100%;
        margin: 0 0 40px
    }
}

.big-card-slider .container {
    position: relative
}

@media(max-width:575px) {
    .big-card-slider .container {
        padding: 0
    }
}

@media(min-width:992px) {
    .big-card-slider .container::before {
        content: '';
        height: 100%;
        width: var(--container-padding);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2
    }
}

.big-card-slider .card {
    height: 100%
}

@media(min-width:992px) {
    .big-card-slider .card:not(.card--large) {
        padding-bottom: 60px
    }
}

@media(max-width:991px) {
    .big-card-slider .grid {
        --grid-row-gap: 60px
    }
}

.big-card-slider .swiper-slide {
    height: auto
}

@media(max-width:991px) {
    .big-card-slider .swiper-slide:last-child {
        display: none
    }

    .big-card-slider .swiper-slide .card__image {
        margin-bottom: 64px
    }
}

@media(min-width:992px) {
    .big-card-slider .swiper-slide-active {
        z-index: 2;
        margin-right: 80px !important
    }
}

@media(min-width:1440px) {
    .big-card-slider .swiper-slide-active {
        margin-right: 340px !important
    }
}

@media(max-width:991px) {
    .big-card-slider .swiper {
        padding-bottom: 60px
    }
}

@media(max-width:575px) {
    .big-card-slider .swiper {
        padding-bottom: 0
    }
}

@media(min-width:992px) {
    .big-card-slider .swiper {
        overflow: visible
    }
}

.big-card-slider .swiper-scrollbar {
    background: rgba(var(--color-secondary), .15);
    height: 2px;
    left: 0;
    width: calc(100% - 172px);
    margin: 0;
    position: relative
}

@media(max-width:575px) {
    .big-card-slider .swiper-scrollbar {
        position: absolute;
        top: 72vw;
        bottom: initial
    }
}

@media(min-width:576px) {
    .big-card-slider .swiper-scrollbar {
        bottom: 10px
    }
}

@media(min-width:992px) {
    .big-card-slider .swiper-scrollbar {
        display: none
    }
}

.big-card-slider .swiper-scrollbar-drag {
    background: rgba(var(--color-secondary), 1)
}

.big-card-slider__navigation {
    position: absolute;
    display: flex;
    justify-content: space-between
}

@media(max-width:991px) {
    .big-card-slider__navigation {
        gap: 8px;
        left: initial !important;
        right: 0;
        bottom: -4px
    }
}

@media(max-width:575px) {
    .big-card-slider__navigation {
        top: 74.5vw;
        bottom: initial;
        right: var(--container-padding)
    }
}

@media(min-width:992px) {
    .big-card-slider__navigation {
        width: 270px;
        height: 26px;
        bottom: 0
    }
}

.big-card-slider__navigation .swiper-button-next,
.big-card-slider__navigation .swiper-button-prev {
    position: relative;
    width: auto !important;
    color: inherit
}

@media(max-width:991px) {

    .big-card-slider__navigation .swiper-button-next,
    .big-card-slider__navigation .swiper-button-prev {
        position: initial;
        height: 24px !important
    }
}

.big-card-slider__navigation .swiper-button-next::after,
.big-card-slider__navigation .swiper-button-prev::after {
    font-family: var(--icomoon);
    font-size: 28px
}

@media(max-width:991px) {

    .big-card-slider__navigation .swiper-button-next::after,
    .big-card-slider__navigation .swiper-button-prev::after {
        font-size: 24px
    }
}

.big-card-slider__navigation .swiper-button-next::after {
    content: "\e923"
}

@media(min-width:992px) {
    .big-card-slider__navigation .swiper-button-next::after {
        content: "\e905";
        right: 0;
        left: auto
    }
}

@media(min-width:992px) {
    .big-card-slider__navigation .swiper-button-prev {
        left: 0
    }
}

.big-card-slider__navigation .swiper-button-prev::after {
    content: "\e922"
}

@media(min-width:992px) {
    .big-card-slider__navigation .swiper-button-prev::after {
        content: "\e904";
        right: auto;
        left: 0
    }
}

.maicard {
    margin: 0 0 48px;
    overflow: hidden
}

@media(min-width:992px) {
    .maicard {
        margin: 160px 0
    }
}

@media(min-width:992px) {
    .maicard .grid {
        --grid-row-gap: 80px
    }
}

.maicard__image-bottom {
    display: none
}

@media(min-width:992px) {
    .maicard__image-bottom {
        display: flex;
        align-items: flex-end
    }
}

@media(min-width:992px) {
    .maicard__title-wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center
    }
}

.maicard img {
    width: 100%;
    height: auto
}

.maicard .hero-title {
    margin: 20px 0 0;
    color: var(--color-primary)
}

@media(min-width:992px) {
    .maicard .hero-title {
        margin-top: 28px
    }
}

.maicard__image {
    margin-bottom: var(--grid-column-gap)
}

@media(max-width:991px) {
    .maicard__image {
        width: calc(100% + 40px);
        margin-left: -20px;
        margin-right: -20px
    }
}

.maicard__list {
    position: relative;
    margin: 0 0 16px;
    padding-top: 24px
}

@media(min-width:992px) {
    .maicard__list {
        padding-top: 40px;
        margin-bottom: 0
    }
}

.maicard__list::before {
    content: '';
    position: absolute;
    width: 95vw;
    top: 0;
    right: 0;
    border-top: 1px solid rgba(8, 8, 8, .35)
}

@media(min-width:992px) {
    .maicard__list::before {
        right: auto;
        left: 0
    }
}

.maicard__list ul {
    list-style: none;
    margin: 0 0 40px;
    padding: 0
}

@media(min-width:992px) {
    .maicard__list ul {
        margin-bottom: 64px
    }
}

.maicard__list ul li {
    display: flex;
    align-items: center
}

@media(min-width:992px) {
    .maicard__list ul li {
        font-size: 18px;
        line-height: 40px
    }
}

.maicard__list i {
    margin-right: 24px;
    font-size: 24px
}

@media(min-width:992px) {
    .maicard__buttons {
        display: flex
    }
}

.maicard__buttons .button {
    margin-bottom: 18px;
    display: inline-block
}

@media(min-width:992px) {
    .maicard__buttons .button {
        margin-right: 32px;
        margin-bottom: 0
    }
}

.maicard__buttons .button:last-child {
    margin-bottom: 0
}

.maicard .frame--bottom-right::after {
    bottom: -16px;
    right: -16px
}

@media(max-width:991px) {
    .maicard .frame--bottom-right::after {
        content: ''
    }
}

@media(max-width:991px) {
    .layout-home .maicard .frame--bottom-right::after {
        content: none
    }
}

.maicard .frame--bottom-left::after {
    bottom: -16px;
    left: -16px
}

@media(max-width:991px) {
    .maicard .frame--bottom-left::after {
        content: '';
        left: auto;
        right: -16px
    }
}

@media(max-width:991px) {
    .layout-home .maicard .frame--bottom-left::after {
        content: none
    }
}

.subpage-banner {
    background-color: #f1ede1;
    padding: 48px 0 32px
}

@media(min-width:992px) {
    .subpage-banner {
        padding: 120px 0 80px
    }
}

@media(min-width:1440px) {
    .subpage-banner {
        padding: 220px calc(2 * var(--container-padding))140px
    }
}

.subpage-banner__image {
    -o-object-fit: cover;
    object-fit: cover;
    height: 272px;
    display: block;
    position: relative;
    filter: brightness(85%);
    width: 100%
}

@media(min-width:768px) {
    .subpage-banner__image {
        height: 360px;
        flex-basis: 50%;
        margin: 0 0 32px !important;
        right: initial !important;
        left: initial !important
    }
}

@media(min-width:992px) {
    .subpage-banner__image {
        height: 480px
    }
}

@media(min-width:1440px) {
    .subpage-banner__image {
        height: 580px
    }
}

@media(min-width:1440px) {
    .subpage-banner__image {
        height: 640px
    }
}

.subpage-banner__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.subpage-banner__image--first {
    grid-area: image-first;
    right: calc(-1 * var(--container-padding));
    margin-left: auto
}

.subpage-banner__image--second {
    grid-area: image-second;
    left: calc(-1 * var(--container-padding))
}

.subpage-banner__title {
    margin-right: 40px;
    grid-area: title
}

@media(min-width:768px) {
    .subpage-banner__title {
        margin-top: 0;
        margin-bottom: 32px
    }
}

@media(min-width:992px) {
    .subpage-banner__title {
        margin-bottom: 0
    }
}

@media(min-width:992px) {
    .subpage-banner__container {
        display: grid;
        grid-template-areas: "title""button";
        grid-template-columns: 1fr
    }
}

.js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-15]:not(.does-not-exist) {
    display: grid;
    grid-template-columns: 1fr
}

.subpage-banner__container:has(.subpage-banner__image) {
    display: grid;
    grid-template-columns: 1fr
}

.js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-2u-2x-36-37-38-15]:not(.does-not-exist) {
    grid-template-areas: "title""image-first""button"
}

.subpage-banner__container:has(.subpage-banner__image--first) {
    grid-template-areas: "title""image-first""button"
}

@media(min-width:992px) {
    .js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-2u-2x-36-37-38-15]:not(.does-not-exist) {
        grid-template-areas: "image-first image-first image-first image-first image-first""title title title button button";
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }

    .subpage-banner__container:has(.subpage-banner__image--first) {
        grid-template-areas: "image-first image-first image-first image-first image-first""title title title button button";
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }
}

@media(max-width:991px) {
    .js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-2u-2x-36-37-38-15-w-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist) {
        margin-top: 0
    }

    .subpage-banner__container:has(.subpage-banner__image--first) .subpage-banner__title {
        margin-top: 0
    }
}

@media(max-width:991px) {
    .js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-2u-2x-36-37-38-15-w-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-2u-2x-36-37-38]:not(.does-not-exist):not(.does-not-exist) {
        left: calc(-1 * var(--container-padding));
        margin-right: auto;
        right: unset
    }

    .subpage-banner__container:has(.subpage-banner__image--first) .subpage-banner__image--first {
        left: calc(-1 * var(--container-padding));
        margin-right: auto;
        right: unset
    }
}

.js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-37-2t-2r-33-32-2s-15]:not(.does-not-exist) {
    grid-template-areas: "image-first""title""image-second""button"
}

.subpage-banner__container:has(.subpage-banner__image--second) {
    grid-template-areas: "image-first""title""image-second""button"
}

@media(min-width:992px) {
    .js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-37-2t-2r-33-32-2s-15]:not(.does-not-exist) {
        grid-template-areas: "image-first image-first image-first image-second image-second image-second""title title title title button button";
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

    .subpage-banner__container:has(.subpage-banner__image--second) {
        grid-template-areas: "image-first image-first image-first image-second image-second image-second""title title title title button button";
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }
}

@media(min-width:1920px) {
    .js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-37-2t-2r-33-32-2s-15]:not(.does-not-exist) {
        grid-template-areas: "image-first image-second""title button";
        grid-template-columns: 1fr 1fr
    }

    .subpage-banner__container:has(.subpage-banner__image--second) {
        grid-template-areas: "image-first image-second""title button";
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:991px) {
    .js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-37-2t-2r-33-32-2s-15-w-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist) {
        margin-top: 36px
    }

    .subpage-banner__container:has(.subpage-banner__image--second) .subpage-banner__title {
        margin-top: 36px
    }
}

@media(max-width:991px) {
    .js-has-pseudo [csstools-has-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2p-2x-32-2t-36-1m-2w-2p-37-14-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-37-2t-2r-33-32-2s-15-w-1a-37-39-2q-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2x-31-2p-2v-2t-19-19-2u-2x-36-37-38]:not(.does-not-exist):not(.does-not-exist) {
        right: calc(-1 * var(--container-padding));
        margin-left: auto;
        left: unset
    }

    .subpage-banner__container:has(.subpage-banner__image--second) .subpage-banner__image--first {
        right: calc(-1 * var(--container-padding));
        margin-left: auto;
        left: unset
    }
}

.subpage-banner .arrow-button {
    display: flex;
    position: relative;
    margin: 0 auto;
    grid-area: button
}

@media(max-width:767px) {
    .subpage-banner .arrow-button {
        margin-top: 32px
    }
}

.theme--collection .subpage-banner {
    background-position: 50%;
    background-color: #353d45;
    background-repeat: no-repeat;
    background-size: cover
}

.theme--collection .subpage-banner *,
.theme--collection .subpage-banner li::after {
    color: #fff;
    border-color: #fff
}

.theme--collection .subpage-banner i::before {
    color: #fff;
    border-color: #fff
}

.theme--collection .subpage-banner hr {
    border-color: rgba(255, 255, 255, .35)
}

.story {
    position: relative;
    margin: 40px 0
}

@media(min-width:992px) {
    .story {
        margin: 80px 0
    }
}

@media(min-width:1440px) {
    .story {
        margin: 120px 0 80px
    }
}

.story--dark {
    padding: 48px 0 0;
    background: #384048
}

@media(min-width:992px) {
    .story--dark {
        padding: 120px 0 60px
    }
}

@media(min-width:1440px) {
    .story--dark {
        padding: 160px 0 80px
    }
}

.story--dark p,
.story--dark .h1,
.story--dark .story__description {
    color: #fff
}

.story--dark hr {
    border-color: #fff
}

@media(min-width:768px) {
    .story__image-one img {
        margin-left: calc(-1 * var(--container-padding));
        width: calc(100% + var(--container-padding))
    }
}

@media(min-width:1440px) {
    .story__image-one img {
        width: calc(100% + var(--container-padding))
    }
}

.story__image-two img {
    width: 100%
}

.story__logo {
    width: 40%
}

.story__logo:nth-child(1) {
    padding-right: 10%
}

.story img:not(.story__logo) {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    display: block;
    max-width: none;
    height: 280px
}

@media(max-width:767px) {
    .story img:not(.story__logo) {
        width: calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding))
    }
}

@media(min-width:992px) {
    .story img:not(.story__logo) {
        height: 460px;
        max-width: 576px
    }
}

@media(min-width:992px) {
    .story__description--exposed {
        display: flex;
        flex-direction: column;
        height: 100%;
        justify-content: space-between
    }
}

.story__description--exposed p.h1 {
    margin-top: 40px
}

@media(min-width:992px) {
    .story__description--exposed p {
        margin: 0
    }
}

.large-hero {
    background: #353d45;
    color: #fff;
    position: relative;
    z-index: 1;
    height: -moz-max-content;
    height: max-content;
    overflow: hidden;
    min-height: 100vh;
    margin-top: calc(-1 * var(--header-height));
    margin-bottom: clamp(80px, 12vw, 120px);
    padding-top: calc(var(--header-height) + 20vh)
}

.large-hero .hero-title {
    margin: 2.5vh 0
}

.large-hero video,
.large-hero__image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    filter: brightness(65%);
    z-index: -1
}

.large-hero video {
    opacity: 0;
    transition: opacity 1s ease-in;
    z-index: 0
}

@media(max-width:991px) {
    .large-hero video {
        display: none
    }
}

.large-hero video.is-playing {
    opacity: 1
}

.unit-hero {
    position: relative;
    margin: 0 0 32px
}

@media(min-width:992px) {
    .unit-hero {
        width: 100%;
        margin: auto auto 60px
    }
}

@media(min-width:1440px) {
    .unit-hero {
        margin-bottom: 80px
    }
}

.unit-hero .scroll-down {
    color: #fff;
    border-color: #fff
}

@media(min-width:1440px) {
    .unit-hero .scroll-down {
        color: #080808;
        border-color: #080808
    }
}

@media(min-width:992px) {
    .unit-hero:hover .view-gallery-button {
        opacity: 1;
        z-index: 10
    }
}

@media(max-width:991px) {
    .unit-hero__left {
        display: none
    }
}

@media(max-width:1439px) {
    .unit-hero__left {
        position: absolute;
        bottom: 40px;
        left: var(--container-padding);
        z-index: 1
    }
}

@media(min-width:1440px) {
    .unit-hero__left {
        display: flex;
        align-items: flex-end;
        height: 100%
    }
}

.unit-hero__right {
    display: block;
    height: 280px
}

@media(min-width:992px) {
    .unit-hero__right {
        position: relative;
        padding-bottom: 480px
    }
}

@media(min-width:1440px) {
    .unit-hero__right {
        padding-bottom: 600px;
        margin-left: 0;
        margin-right: calc(-1 * var(--container-padding));
        width: calc(100% + var(--container-padding))
    }
}

.unit-hero__right img {
    width: 100%;
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.unit-hero .gallery-images a {
    display: none
}

.unit-hero .gallery-images a:first-of-type {
    display: block
}

.next-page {
    margin: 40px auto
}

@media(min-width:992px) {
    .next-page {
        margin: 80px auto
    }
}

@media(min-width:1440px) {
    .next-page {
        margin-top: 120px
    }
}

.next-page__image {
    display: block;
    height: 280px;
    max-width: none;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

@media(max-width:767px) {
    .next-page__image {
        margin: 0 calc(-1 * var(--container-padding))32px;
        width: calc(100% + 2 * var(--container-padding))
    }
}

@media(min-width:768px) {
    .next-page__image {
        height: 649px
    }
}

.next-page .h2 {
    text-decoration: none;
    color: #080808;
    margin-bottom: 8px;
    display: block;
    display: flex;
    gap: 8px;
    flex-direction: column
}

@media(min-width:768px) {
    .next-page .h2 {
        margin-bottom: 16px;
        gap: 24px;
        flex-direction: row
    }
}

.next-page .h2 span {
    opacity: .35
}

@media(max-width:767px) {
    .next-page p {
        margin-bottom: var(--p-margin) !important
    }
}

.next-page__text {
    margin-bottom: 40px
}

@media(min-width:768px) {
    .next-page__text {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 32px
    }
}

@media(min-width:768px) {
    .next-page__text>div {
        max-width: 400px
    }
}

@media(min-width:992px) {
    .next-page__text>div {
        max-width: 560px
    }
}

@media(min-width:1440px) {
    .next-page__text>div {
        max-width: 600px
    }
}

.next-page .icon-arrow-right::before {
    color: #080808
}

.view-gallery-button {
    position: absolute;
    cursor: pointer;
    border: none;
    bottom: 0;
    right: 0;
    z-index: 5
}

@media(max-width:991px) {
    .view-gallery-button {
        padding: 8px;
        background-color: rgba(8, 8, 8, .75);
        color: #fff;
        font-size: 32px;
        line-height: 1
    }

    .frame--hide-side-md-down .view-gallery-button {
        bottom: var(--frame-padding)
    }

    .view-gallery-button span {
        display: none
    }

    .view-gallery-button i {
        display: block
    }
}

@media(min-width:992px) {
    .view-gallery-button {
        background-color: var(--color-primary);
        width: 112px;
        height: 112px;
        border-radius: 50%;
        margin: 40px;
        font-size: 12px;
        line-height: calc(5/3);
        letter-spacing: .1em;
        text-transform: uppercase;
        transition: opacity .3s ease
    }

    .theme--collection .view-gallery-button {
        background: var(--bg-gradient)
    }

    .theme--collection .view-gallery-button span {
        color: #080808
    }

    .view-gallery-button i {
        display: none
    }

    .view-gallery-button--left {
        left: 0
    }

    .view-gallery-button--hero {
        margin: 0;
        left: 70%;
        top: 50%;
        transform: translateY(-50%)
    }
}

.property-card {
    display: grid;
    background: #f1ede1;
    margin-top: clamp(16px, 4vw, 24px);
    margin-bottom: clamp(16px, 4vw, 24px)
}

@media(min-width:992px) {
    .property-card {
        display: grid;
        grid-gap: 0 clamp(20px, 2vw, 40px);
        grid-template-columns: 2fr 3.5fr 2fr;
        width: 100%;
        min-height: 320px
    }
}

.property-card__image img {
    width: 100%;
    height: clamp(240px, 40vw, 400px);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    display: block
}

@media(min-width:992px) {
    .property-card__image img {
        height: 100%;
        min-width: 240px
    }
}

.property-card__gallery {
    overflow: hidden;
    position: relative
}

.property-card__gallery .swiper {
    height: 100%
}

.property-card__gallery .swiper-button-next,
.property-card__gallery .swiper-button-prev {
    position: absolute;
    width: auto;
    height: 100%
}

.property-card__gallery .swiper-button-next::after,
.property-card__gallery .swiper-button-prev::after {
    color: #fff;
    font-size: 27px
}

.property-card__gallery .swiper-button-next {
    background: linear-gradient(270deg, rgba(0, 0, 0, .35) 5.7%, transparent 100%)
}

.property-card__gallery .swiper-button-next::after {
    right: 0;
    margin-right: 20px;
    left: auto
}

.property-card__gallery .swiper-button-prev {
    background: linear-gradient(90deg, rgba(0, 0, 0, .35) 5.7%, transparent 100%);
    left: 0
}

.property-card__gallery .swiper-button-prev::after {
    right: auto;
    margin-left: 20px;
    left: 0
}

.property-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 24px 0 32px;
    padding: 0 var(--container-padding);
    position: relative
}

@media(min-width:992px) {
    .property-card__content {
        margin: clamp(24px, 1.25vw, 40px)0;
        padding: 0 20px 0 0;
        border-right: 1px solid rgba(8, 8, 8, .35)
    }
}

.property-card__content img {
    height: auto;
    width: clamp(160px, 20vw, 300px)
}

.property-card__content .h3 {
    display: block;
    color: #080808;
    margin: 16px 0 8px;
    line-height: 28px
}

.property-card__content p {
    margin-bottom: 28px;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.property-card__content .arrow-button {
    line-height: 1;
    margin-top: auto
}

.property-card__price {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin: 24px var(--container-padding);
    padding: 24px 0 32px;
    border-top: 1px solid rgba(8, 8, 8, .35);
    gap: clamp(24px, 2.4vw, 40px)
}

@media(min-width:992px) {
    .property-card__price {
        margin: clamp(24px, 1.25vw, 40px)0;
        padding: 0 40px 0 0;
        border-top: 0
    }
}

@media(min-width:1200px) {
    .property-card__price {
        padding-right: clamp(20px, 2vw, 40px)
    }
}

.property-card__price a:first-child {
    margin-bottom: auto
}

.property-card__price .unit-card__price {
    margin: 0
}

.property-card__price .unit-card__price span {
    padding-bottom: 13px;
    border-bottom: 1px solid #080808;
    position: relative;
    top: -4px
}

.property-card__price .unit-card__price small {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    color: #636569
}

@media(min-width:992px) {
    .property-card__price .unit-card__price small {
        font-size: 9px
    }
}

@media(max-width:991px) {

    .property-card__price iframe,
    .js-has-pseudo [csstools-has-1a-34-36-33-34-2t-36-38-3d-19-2r-2p-36-2s-2n-2n-34-36-2x-2r-2t-w-2p-1m-2w-2p-37-14-2x-2u-36-2p-31-2t-15]:not(does-not-exist):not(does-not-exist) {
        height: 50px
    }

    .property-card__price iframe,
    .property-card__price a:has(iframe) {
        height: 50px
    }
}

.property-card__price .button {
    align-self: baseline
}

@media(min-width:992px) {
    .property-card__price .button {
        width: 100%;
        min-width: auto
    }
}

@media(min-width:1200px) {
    .property-card__price .button {
        padding-right: clamp(20px, 2vw, 32px);
        padding-left: clamp(20px, 2vw, 32px)
    }
}

.property-card .card__discount {
    background-color: #a74c01 !important
}

.parallax-image {
    position: relative;
    height: 468px;
    overflow: hidden
}

@media(min-width:992px) {
    .parallax-image {
        height: 640px
    }
}

.parallax-image img {
    position: absolute;
    -o-object-fit: cover;
    object-fit: cover;
    bottom: 25%;
    width: 100%;
    min-height: 100vh
}

.gallery-slider {
    color: #080808;
    padding: 48px 0 32px
}

@media(min-width:992px) {
    .gallery-slider {
        padding: 120px 0 80px
    }
}

.gallery-slider__header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative !important
}

@media(min-width:992px) {
    .gallery-slider__header {
        margin-bottom: 10px
    }
}

.gallery-slider__header>h2 {
    display: flex;
    flex-basis: 50%
}

.gallery-slider__image {
    display: block;
    position: relative;
    padding-bottom: 72%;
    overflow: hidden;
    margin: 0 0 40px;
    width: 100%
}

.gallery-slider__image:hover .view-gallery-button {
    opacity: 1
}

.gallery-slider__image img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.gallery-slider__navigation {
    position: absolute;
    top: 50%;
    right: 0;
    display: flex;
    align-items: center;
    justify-self: flex-end
}

@media(max-width:991px) {
    .gallery-slider__navigation {
        display: none
    }
}

.gallery-slider__navigation .swiper-button-next,
.gallery-slider__navigation .swiper-button-prev {
    position: relative;
    width: auto;
    margin-right: 40px
}

.gallery-slider__navigation .swiper-button-next::after,
.gallery-slider__navigation .swiper-button-prev::after {
    color: #080808;
    font-family: var(--icomoon);
    font-size: 27px
}

.gallery-slider__navigation .swiper-button-next::after {
    content: "\e905";
    right: 0;
    left: auto
}

.gallery-slider__navigation .swiper-button-prev {
    left: 0
}

.gallery-slider__navigation .swiper-button-prev::after {
    content: "\e904";
    right: auto;
    left: 0
}

.gallery-slider .arrow-button {
    color: #080808;
    margin: 0
}

@media(min-width:992px) {
    .gallery-slider .arrow-button {
        display: none
    }
}

.gallery-slider .arrow-button i::after {
    color: #080808
}

.gallery-slider .arrow-button i::before {
    border-color: #080808
}

.gallery-slider--dark {
    color: #fff;
    background-color: #353d45
}

.gallery-slider--dark .swiper-button-next::after,
.gallery-slider--dark .swiper-button-prev::after {
    color: #fff
}

.gallery-slider--dark .arrow-button {
    color: #fff
}

.gallery-slider--dark .arrow-button i::after {
    color: #fff
}

.gallery-slider--dark .arrow-button i::before {
    border-color: #fff
}

.card-list .grid {
    --grid-row-gap: clamp(48px, 8vw, 80px)
}

@media(min-width:768px) {
    .card-list__wrapper {
        padding-top: calc(var(--section-dist)/2) !important
    }
}

.card-list h4 {
    font-size: 16px;
    text-transform: uppercase;
    margin: 0
}

.side-card {
    display: flex;
    flex-direction: column;
    align-items: space-between
}

.side-card+.side-card {
    margin-top: clamp(40px, 7vw, 80px)
}

@media(min-width:992px) {
    .side-card {
        flex-direction: row;
        align-items: initial;
        justify-content: space-between
    }
}

.side-card__image {
    display: flex;
    align-items: center
}

@media(min-width:992px) {
    .side-card__image {
        flex-basis: 50%
    }
}

.side-card__image img {
    width: 100%;
    height: auto
}

@media(max-width:991px) {
    .side-card__content {
        margin-top: var(--p-margin)
    }
}

@media(min-width:992px) {
    .side-card__content {
        flex-basis: 50%;
        place-self: center center;
        padding: 0 var(--container-padding)
    }
}

.side-card__content * {
    margin-top: 0
}

.side-card__content p:last-child {
    margin-bottom: 0
}

.side-card--brands {
    background: rgba(241, 237, 225, .5)
}

@media(min-width:992px) {
    .side-card--brands .side-card__image {
        order: 2
    }

    .side-card--brands .side-card__image img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center
    }
}

.side-card--brands .side-card__content {
    align-self: flex-start;
    padding: calc(var(--p-margin) * 1.5)var(--container-padding)
}

@media(min-width:992px) {
    .side-card--brands .side-card__content {
        align-self: center;
        margin: 0 32px 0 0;
        max-width: calc(576px + (var(--container-padding) * 2) + 32px)
    }
}

.gallery {
    background: rgba(var(--color-secondary), 1);
    position: relative;
    padding-top: clamp(48px, 8vw, 160px)
}

.gallery img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.gallery__heading {
    margin-bottom: clamp(36px, 7vw, 140px);
    color: rgba(var(--color-secondary-text), 1)
}

.gallery__heading hr {
    border-color: rgba(var(--color-secondary-text), 1);
    margin: 0 0 40px calc(-1 * (320px + var(--container-padding)));
    width: calc(100% + (var(--container-padding) + 316px))
}

@media(max-width:991px) {
    .gallery__heading hr {
        display: none
    }
}

@media(min-width:1440px) {
    .gallery__heading hr {
        margin: 0 0 40px calc(-1 * (var(--container-padding) + 820px));
        width: calc(100% + (var(--container-padding) + 816px))
    }
}

.gallery .h1 {
    margin: clamp(28px, 3vw, 40px)0 clamp(12px, 2vw, 40px)
}

@media(min-width:992px) {
    .gallery .h1 {
        margin-top: 0
    }
}

@media(max-width:991px) {
    .gallery__left-image {
        margin-left: calc(-1 * var(--container-padding));
        height: clamp(212px, 40vw, 400px)
    }
}

@media(min-width:992px) {
    .gallery__left-image {
        padding-bottom: 119%;
        position: relative;
        grid-row: 2/4
    }

    .gallery__left-image img {
        position: absolute;
        top: var(--frame-padding);
        right: var(--frame-padding);
        width: calc(100% - var(--frame-padding));
        height: calc(100% - var(--frame-padding))
    }
}

@media(max-width:991px) {
    .gallery__middle-image {
        margin: 96px calc(-1 * var(--container-padding))0 -12vw;
        height: clamp(188px, 38vw, 400px)
    }
}

@media(min-width:992px) {
    .gallery__middle-image {
        position: relative;
        padding-bottom: 122%;
        width: 100%;
        height: 100%;
        left: calc(-1 * var(--container-padding));
        grid-row: 2/3
    }

    .gallery__middle-image img {
        position: absolute;
        top: 0;
        left: 0
    }
}

@media(max-width:991px) {
    .gallery__right-image {
        margin: 0 calc(-1 * var(--container-padding));
        height: clamp(168px, 36vw, 400px)
    }
}

@media(min-width:992px) {
    .gallery__right-image {
        position: relative;
        height: 0;
        right: 0;
        width: 100%;
        padding-bottom: 73%;
        grid-row: 1/3
    }

    .gallery__right-image img {
        position: absolute;
        bottom: var(--frame-padding);
        left: var(--frame-padding);
        width: calc(100% - var(--frame-padding));
        height: calc(100% - var(--frame-padding))
    }
}

.gallery__button {
    color: rgba(var(--color-secondary-text), 1);
    margin: clamp(24px, 3vw, 60px)0;
    grid-row-start: 3
}

@media(min-width:992px) {
    .gallery__button {
        margin: 84px 0 60px
    }
}

@media(min-width:992px) {
    .gallery--camping {
        padding-bottom: 80px
    }
}

@media(min-width:1440px) {
    .gallery--camping {
        padding-bottom: 160px
    }
}

.gallery--camping .gallery__mobile-images {
    padding-top: 0;
    margin-bottom: 40px
}

.gallery--camping .gallery__mobile-images .frame::after {
    content: ''
}

@media(max-width:991px) {
    .gallery--camping .gallery__mobile-images .frame::after {
        height: 70%;
        width: 30%;
        bottom: -12px;
        right: 0
    }
}

.gallery--camping .gallery__left-image {
    padding-bottom: 59%;
    grid-row: 2/3;
    width: 100%
}

.gallery--camping .gallery__left-image--mobile {
    padding-bottom: 63%
}

.gallery--camping .gallery__middle-image {
    padding-bottom: 59%;
    grid-row: 2/3
}

@media(min-width:992px) {
    .gallery--camping .gallery__middle-image {
        width: 100%;
        left: initial
    }
}

.gallery--camping .gallery__right-image img {
    display: none
}

@media(min-width:992px) {
    .gallery--camping .gallery__button {
        margin-bottom: 0
    }
}

.gallery--beige {
    --color-secondary: 241, 237, 225;
    --color-secondary-text: 53, 61, 69;
    --color-button-text: #080808
}

.gallery-button-img {
    cursor: pointer
}

.image {
    position: relative;
    display: inline-flex
}

.image img {
    -o-object-fit: cover;
    object-fit: cover
}

.image:hover .view-gallery-button {
    opacity: 1
}

.tabs {
    --tabs-width: 100%;
    --tabs-label-width: 50%;
    --tabs-from-start: 0%
}

.tabs__thumbs {
    margin: clamp(40px, 7vw, 80px)0
}

.tabs__thumbs .swiper-wrapper::before {
    content: '';
    display: block;
    position: absolute;
    left: var(--tabs-from-start);
    bottom: 0;
    width: var(--tabs-label-width);
    height: 2px;
    background: currentcolor;
    transition: left .8s ease;
    z-index: 1
}

.tabs__thumbs .swiper-slide {
    position: relative;
    cursor: pointer;
    height: auto;
    display: flex;
    align-items: flex-end
}

.tabs__thumbs .swiper-slide span {
    padding-bottom: 16px;
    padding-right: 24px;
    display: block;
    font-size: clamp(20px, 4vw, 30px);
    line-height: clamp(32px, 5.5vw, 40px);
    font-family: var(--maistra-display);
    color: inherit;
    opacity: .35;
    transition: opacity .2s ease
}

.tabs__thumbs .swiper-slide::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: currentcolor;
    opacity: .35
}

.tabs__thumbs .swiper-slide:hover span,
.tabs__thumbs .swiper-slide.swiper-slide-thumb-active span {
    opacity: 1;
    text-decoration: none
}

.tabs--shortcode {
    padding-bottom: clamp(40px, 10vw, 80px);
    margin-bottom: clamp(40px, 10vw, 80px);
    border-bottom: 1px solid rgba(8, 8, 8, .35)
}

.tabs--loyalty .tabs__thumbs::before {
    display: none
}

.tabs--loyalty .tabs__thumbs .swiper-wrapper::before {
    display: none
}

.tabs--loyalty .tabs__thumbs .swiper-slide {
    flex-shrink: 1
}

.tabs--loyalty .tabs__thumbs .swiper-slide.swiper-slide-active span {
    opacity: 1;
    text-decoration: none
}

.tabs--loyalty .tabs__thumbs .swiper-slide.swiper-slide-active::after {
    opacity: 1
}

@media(max-width:991px) {
    .news {
        margin-top: 32px
    }
}

.news__slider {
    position: relative;
    padding-bottom: 40px
}

@media(min-width:992px) {
    .news__slider {
        padding-bottom: 96px
    }

    .news__slider::after {
        color: var(--color-button-text)
    }
}

@media(min-width:992px) and (max-width:991px) {
    .news__slider {
        display: none
    }
}

.news .swiper-slide {
    height: auto
}

.news .swiper-button-next,
.news .swiper-button-prev {
    margin-top: 0;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 64px;
    background: var(--color-primary)
}

.news .swiper-button-next::after,
.news .swiper-button-prev::after {
    font-size: 26px;
    color: var(--color-button-text)
}

@media(max-width:991px) {

    .news .swiper-button-next,
    .news .swiper-button-prev {
        display: none
    }
}

.theme--city-vibes .news .swiper-button-next,
.theme--city-vibes .news .swiper-button-prev {
    background: var(--bg-gradient);
    color: #fff
}

.news .swiper-button-prev {
    left: 0
}

.news .swiper-scrollbar {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 94%;
    height: 2px
}

@media(min-width:992px) {
    .news .swiper-scrollbar {
        width: 50%
    }
}

.notice {
    margin: 0 0 40px;
    padding: 24px;
    color: #353d45;
    background-color: rgba(37, 121, 207, .1)
}

.news-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #f1ede1
}

@media(min-width:992px) {
    .news-card {
        display: grid;
        grid-template-columns: 3fr 3.2fr;
        grid-gap: calc(var(--grid-row-gap) * 2)
    }
}

@media(min-width:1200px) {
    .news-card {
        padding: 0 var(--container-padding)
    }
}

.news-card__image {
    width: 100%;
    height: 290px;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width:992px) {
    .news-card__image {
        height: 520px;
        min-height: 100%
    }
}

.news-card__content {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(80px, 8vw, 100px)clamp(20px, 4.2vw, 80px)0
}

@media(min-width:992px) {
    .news-card__content {
        padding-left: 0
    }
}

.js-has-pseudo [csstools-has-1a-32-2t-3b-37-19-2r-2p-36-2s-2n-2n-2r-33-32-38-2t-32-38-1m-2w-2p-37-14-1a-2r-2p-36-2s-2n-2n-37-38-2p-36-37-15]:not(.does-not-exist) {
    padding-top: clamp(24px, 2.4vw, 40px)
}

.news-card__content:has(.card__stars) {
    padding-top: clamp(24px, 2.4vw, 40px)
}

.news-card__content .h4,
.news-card__content table.loyalty-table th,
table.loyalty-table .news-card__content th {
    font-size: 18px
}

.news-card__content .card__stars {
    border-bottom: 1px solid rgba(8, 8, 8, .35);
    padding-bottom: 16px;
    margin-bottom: 30px
}

.news-card__content .h3 {
    margin-top: 0
}

.news-card__content .arrow-button {
    margin-top: auto;
    margin-bottom: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(8, 8, 8, .35)
}

@media(max-width:575px) {
    .news-card__content .arrow-button {
        justify-content: space-between
    }
}

@media(min-width:992px) {
    .news-card__content .arrow-button {
        border-top: none;
        padding-top: 0
    }
}

.news-card__content .arrow-button i {
    color: #080808
}

.check-rates {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 100;
    overflow-y: auto;
    color: inherit;
    background-color: #faf8f4
}

body[dark] .check-rates {
    background-color: #1c1c1c
}

.check-rates .header {
    border-bottom: 1px solid rgba(8, 8, 8, .35)
}

@media(max-width:991px) {
    .check-rates .header .button--blank {
        margin-right: var(--container-padding)
    }
}

.check-rates__main {
    padding-bottom: 132px;
    min-height: calc(100% - var(--header-height) - 17px)
}

@media(min-width:1200px) {
    .check-rates__main--padding {
        padding-right: calc(var(--container-padding) + clamp(360px, 28vw, 520px));
        position: relative
    }
}

.check-rates .main-title {
    margin-bottom: clamp(24px, 7.5vw, 80px)
}

.check-rates__image {
    height: clamp(160px, 44vw, 400px);
    position: relative
}

@media(min-width:1440px) {
    .check-rates__image {
        height: 100%
    }
}

.check-rates__image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0
}

.check-rates__destination {
    cursor: pointer
}

.check-rates__destination .h2 {
    margin: 0 0 8px
}

.check-rates__destination>div {
    position: relative;
    padding-top: 50%;
    overflow: hidden
}

@media(min-width:1920px) {
    .check-rates__destination>div {
        padding-top: 100%
    }
}

.check-rates__destination img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform .3s ease
}

.check-rates__destination:hover img {
    transform: scale(1.05)
}

.check-rates__destination[disabled=true] {
    opacity: .5;
    pointer-events: none;
    filter: grayscale(1)
}

.check-rates__select-all {
    border: 1px solid;
    width: 100%;
    color: inherit;
    padding: 24px var(--container-padding);
    background-color: #faf8f4;
    z-index: 1
}

body[dark] .check-rates__select-all {
    background-color: #1c1c1c
}

@media(max-width:1199px) {
    .check-rates__select-all {
        border-width: 1px 0 0;
        margin-top: 32px;
        position: fixed;
        bottom: 0
    }
}

@media(min-width:1920px) {
    .check-rates__select-all {
        margin-top: 56px
    }
}

@media(min-width:1200px) {
    .check-rates__select-all--properties {
        border-width: 1px 0 0;
        padding-left: 0;
        padding-right: 0;
        margin-top: 24px;
        text-align: left
    }
}

.check-rates__select-all--properties .h3 {
    font-size: 14px
}

.check-rates__property-title {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
    font-family: var(--maistra-display);
    text-transform: uppercase;
    padding: 8px 0;
    color: inherit;
    cursor: pointer
}

@media(max-width:575px) {
    .check-rates__property-title {
        flex-direction: column;
        gap: 4px
    }
}

.check-rates__property-title:hover {
    text-decoration: none;
    color: #0053a8
}

.check-rates__property-title[disabled=true] {
    opacity: .5;
    pointer-events: none;
    filter: grayscale(1)
}

.check-rates__property-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.check-rates__calendar-container {
    overflow-y: auto
}

@media(max-width:1439px) {
    .check-rates__calendar-container .p-datepicker-group-container {
        flex-direction: column
    }
}

@media(max-width:1199px) {
    .check-rates .reservation-summary:not(.reservation-summary--open) {
        height: calc(40px + 2 * clamp(20px, 2vw, 40px))
    }
}

@media(max-width:991px) {
    .check-rates .reservation-summary:not(.reservation-summary--open) {
        height: 48px
    }
}

.check-rates .modal__footer {
    padding-top: 0;
    z-index: 10
}

@media(min-width:768px) {
    .check-rates .modal__footer {
        position: fixed;
        bottom: 0;
        background: #faf8f4;
        padding: 16px 0 56px;
        width: calc(100% - var(--container-padding));
        padding-left: var(--container-padding)
    }
}

@media(min-width:992px) {
    .check-rates .modal__footer {
        padding-bottom: calc(56px + 2 * clamp(20px, 2vw, 40px))
    }
}

@media(min-width:1200px) {
    .check-rates .modal__footer {
        width: calc(100% - var(--container-padding) - clamp(360px, 28vw, 520px));
        padding-bottom: 32px
    }
}

@media(min-width:1440px) {
    .check-rates .modal__footer {
        padding-bottom: 40px
    }
}

@media(min-width:1920px) {
    .check-rates .modal__footer {
        padding-bottom: 80px
    }
}

@media(max-width:767px) {
    .check-rates .modal__buttons {
        position: fixed;
        bottom: 0;
        width: 100%;
        background: #faf8f4;
        padding: 8px 0 56px;
        text-align: center;
        z-index: 1
    }
}

@media(max-width:1199px) {
    .filters {
        position: fixed;
        z-index: 200;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100%;
        background: #fbf9f5;
        padding: 0 var(--container-padding);
        overflow-y: auto
    }
}

@media(min-width:1200px) {
    .filters {
        display: block !important
    }
}

.filters__title {
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media(min-width:992px) {
    .filters__title {
        margin-top: 4px
    }
}

@media(min-width:1200px) {
    .filters__title .icon-close {
        display: none
    }
}

@media(min-width:1200px) {
    .filters__grid {
        display: block
    }
}

@media(max-width:1199px) {
    .filters .label-checkbox--margin {
        margin: 0
    }
}

@media(min-width:1200px) {
    .filters__show-button {
        display: none
    }
}

.help {
    padding: 40px;
    background-color: #f1ede1
}

.help__header {
    margin-right: 40px
}

.help__action {
    font-weight: 700
}

.help__days {
    font-size: 12px;
    display: block;
    position: relative;
    top: -4px
}

.maistar-card {
    background: url(https://res.cloudinary.com/maistra/image/upload/Assets/maistar-rewards-background.png);
    background-color: #353d45;
    border: 1px solid #353d45;
    border-radius: 16px;
    display: grid;
    align-items: flex-start;
    padding: clamp(24px, 3.7vw, 40px);
    text-align: center;
    min-height: 350px;
    height: 100%
}

.maistar-card__image {
    border-bottom: 1px solid #efd1a7;
    padding: 0 48px 44px
}

@media(max-width:991px) {
    .maistar-card__image {
        transform: scale(.7)
    }
}

.maistar-card__content {
    color: #fff
}

@media(min-width:992px) {
    .maistar-card__content {
        padding-top: 20px;
        padding-bottom: 20px
    }
}

@media(max-width:991px) {
    .maistar-card__content p {
        margin-top: 0
    }
}

.maistar-card span {
    display: block
}

.newsletter {
    margin-top: clamp(40px, 7vw, 120px)
}

@media(min-width:1200px) {
    .newsletter {
        display: flex;
        align-items: stretch
    }
}

.newsletter>div {
    flex: 1;
    overflow: hidden
}

.newsletter .frame {
    height: 294px;
    width: 100%
}

@media(min-width:768px) {
    .newsletter .frame {
        height: 400px
    }
}

@media(min-width:992px) {
    .newsletter .frame {
        height: 560px;
        margin-left: var(--container-padding);
        width: calc(100% - (2 * var(--container-padding)) + var(--frame-padding))
    }
}

@media(min-width:1200px) {
    .newsletter .frame {
        height: auto;
        width: 50vw;
        margin-left: 0
    }
}

.newsletter .frame img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.newsletter__content {
    padding: clamp(32px, 5vw, 100px)var(--container-padding);
    display: flex;
    align-items: center
}

@media(min-width:1200px) {
    .newsletter__content {
        width: 50vw
    }
}

.newsletter__content>div {
    max-width: 576px;
    margin: 0 auto
}

.newsletter hr {
    margin: var(--p-margin)0;
    border-color: rgba(8, 8, 8, .35)
}

@media(max-width:1199px) {
    .newsletter hr {
        width: calc(89% - var(--container-padding))
    }
}

@media(min-width:1200px) {
    .newsletter hr {
        width: calc(100% + 20vw);
        margin: 48px 0 40px
    }
}

.newsletter form {
    margin-top: 40px
}

.newsletter .button {
    margin-top: clamp(40px, 7vw, 56px)
}

.load-more__navigation {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 0
}

@media(min-width:992px) {
    .load-more__navigation {
        flex-direction: row;
        padding: 88px 0
    }
}

.load-more__navigation hr {
    width: 100%
}

@media(min-width:992px) {
    .load-more__navigation hr {
        flex: 1;
        margin: 0 40px
    }
}

.expiration-counter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    display: flex;
    align-items: center;
    background: #0053a8;
    color: #fff;
    padding: clamp(12px, 1.2vw, 28px)clamp(20px, 2vw, 40px)clamp(12px, 1.2vw, 16px);
    text-transform: uppercase;
    font-family: var(--maistra-display);
    line-height: clamp(24px, 2.4vw, 40px)
}

.expiration-counter__text {
    --spacing: clamp(12px, 1.2vw, 40px);
    font-size: clamp(12px, 1.2vw, 18px);
    letter-spacing: clamp(1.1px, .11vw, 2px);
    border-right: 1px solid rgba(255, 255, 255, .35);
    padding-right: var(--spacing);
    margin-right: var(--spacing)
}

.expiration-counter__time {
    font-size: clamp(16px, 1.6vw, 30px);
    letter-spacing: clamp(2px, .2vw, 4px)
}

.special-offers .card__image-label {
    position: absolute;
    top: 12px;
    left: 0;
    z-index: 1
}

@media(min-width:992px) {
    .special-offers .card__image-label {
        top: 24px
    }
}

.special-offers .card__discount {
    display: inline-block;
    padding: 0 8px;
    text-transform: uppercase;
    color: #fff;
    background-color: #2579cf;
    margin-bottom: 12px
}

@media(min-width:992px) {
    .special-offers .card__discount {
        margin-bottom: 24px
    }
}

.special-offers .card .button {
    margin-top: auto
}

.special-offers .page-hero .card__image {
    margin-top: clamp(40px, 6vw, 48px)
}

.special-offers .booking-menu {
    position: relative
}

.special-offers__warning {
    padding: 20px
}

@media(min-width:992px) {
    .special-offers__warning {
        padding: 60px 40px 50px
    }
}

.special-offers__recomendations .section-heading__left .large-text {
    margin-top: 40px
}

.app-banner__container {
    margin-top: 20px
}

@media(min-width:992px) {
    .app-banner__container {
        align-items: center;
        margin-top: 0
    }
}

.app-banner .hero-title {
    background: var(--mai-star, linear-gradient(90deg, #73412b 0%, #efd1a7 100%));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 24px;
    margin-bottom: 36px
}

@media(max-width:991px) {
    .app-banner .hero-title {
        margin-bottom: 28px
    }
}

.app-banner__content {
    margin-top: 20px;
    margin-bottom: 20px
}

.app-banner__logos {
    display: flex;
    gap: 32px
}

@media(max-width:991px) {
    .app-banner__logos {
        justify-content: space-around;
        margin-bottom: 12px;
        gap: 24px
    }
}

.app-banner__logos img {
    height: 48px
}

.app-banner__description {
    margin-bottom: 52px
}

@media(max-width:991px) {
    .app-banner__description {
        margin-bottom: 40px
    }
}

@media(max-width:991px) {
    .app-banner__image {
        border-top: 1px solid rgba(8, 8, 8, .35)
    }
}

.app-banner__image img {
    display: block
}

.app-banner hr {
    margin: 0
}

.layout-property-term--collection .awards .swiper-scrollbar,
.layout-property-term--collection .inspiration .swiper-scrollbar,
.layout-property-term--city-vibes .awards .swiper-scrollbar,
.layout-property-term--city-vibes .inspiration .swiper-scrollbar {
    background: rgba(8, 8, 8, .15)
}

.layout-property-term--collection .awards i::before,
.layout-property-term--collection .inspiration i::before,
.layout-property-term--city-vibes .awards i::before,
.layout-property-term--city-vibes .inspiration i::before {
    border-color: #080808
}

.layout-property-term--collection .awards .swiper-scrollbar-drag,
.layout-property-term--collection .inspiration .swiper-scrollbar-drag,
.layout-property-term--city-vibes .awards .swiper-scrollbar-drag,
.layout-property-term--city-vibes .inspiration .swiper-scrollbar-drag {
    background: #080808
}

.layout-property-term--collection .awards .swiper-button-next::after,
.layout-property-term--collection .awards .swiper-button-prev::after,
.layout-property-term--collection .inspiration .swiper-button-next::after,
.layout-property-term--collection .inspiration .swiper-button-prev::after,
.layout-property-term--city-vibes .awards .swiper-button-next::after,
.layout-property-term--city-vibes .awards .swiper-button-prev::after,
.layout-property-term--city-vibes .inspiration .swiper-button-next::after,
.layout-property-term--city-vibes .inspiration .swiper-button-prev::after {
    color: #080808
}

.layout-property-term--collection .awards *:not(.icon-star),
.layout-property-term--collection .awards li::after,
.layout-property-term--collection .inspiration *:not(.icon-star),
.layout-property-term--collection .inspiration li::after,
.layout-property-term--city-vibes .awards *:not(.icon-star),
.layout-property-term--city-vibes .awards li::after,
.layout-property-term--city-vibes .inspiration *:not(.icon-star),
.layout-property-term--city-vibes .inspiration li::after {
    color: #080808;
    border-color: #080808
}

.layout-property-term .hero-title {
    -webkit-hyphens: none;
    hyphens: none
}

@media(max-width:991px) {
    .property-special-offers .unit-card__content {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding)
    }
}

@media(min-width:992px) {

    .layout-properties-single .parallax-image,
    .layout-properties-single .story {
        margin: 40px 0
    }
}

@media(min-width:992px) {

    .layout-properties-single .parallax-image,
    .layout-properties-single .story {
        margin: 80px 0
    }
}

@media(min-width:1440px) {

    .layout-properties-single .parallax-image,
    .layout-properties-single .story {
        margin: 120px 0
    }
}

@media(min-width:992px) {
    .layout-properties-single .subpage-banner {
        margin-top: 80px
    }
}

@media(min-width:576px) {

    .layout-brands-list .swiper-button-next,
    .layout-brands-list .swiper-button-prev {
        background: var(--color-primary)
    }

    .layout-brands-list .swiper-button-next::after,
    .layout-brands-list .swiper-button-prev::after {
        color: var(--color-button-text)
    }
}

.layout-brands-single__bg {
    position: relative
}

.layout-brands-single__bg .section-heading>* {
    position: relative;
    z-index: 1
}

.layout-brands-single__bg::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    top: -600px;
    height: calc(100% + 1400px);
    background-color: rgba(241, 237, 225, .5)
}

@media(min-width:768px) {
    .layout-brands-single__bg::after {
        height: calc(100% + 1200px)
    }
}

.theme--collection .layout-brands-single__bg::after,
.theme--city-vibes .layout-brands-single__bg::after {
    background-color: rgba(var(--color-secondary), 1)
}

.theme--collection .layout-brands-single__bg,
.theme--city-vibes .layout-brands-single__bg {
    color: #fff
}

.theme--collection .layout-brands-single__bg hr,
.theme--city-vibes .layout-brands-single__bg hr {
    background-color: #fff
}

@media(min-width:768px) {
    .layout-brands-single__bg--large::after {
        height: calc(100% + 1500px)
    }
}

.layout-restaurants-list__second {
    margin-top: 40px
}

@media(min-width:992px) {
    .layout-restaurants-list__second {
        margin-top: 80px
    }
}

@media(min-width:1440px) {
    .layout-restaurants-list__second {
        margin-top: 160px
    }
}

.layout-restaurants-list .unit-list .button {
    background: 0 0;
    border: 1px solid
}

.layout-restaurants-list .hero-title {
    -webkit-hyphens: none;
    hyphens: none
}

.layout-travel-ideas-events-single__content {
    margin-bottom: calc(var(--section-dist) - var(--p-margin))
}

.layout-travel-ideas-events-single .page-hero {
    margin-bottom: 0
}

.layout-holidays-single .page-hero {
    margin-top: 48px
}

@media(min-width:992px) {
    .layout-holidays-single .page-hero {
        margin-top: 60px
    }
}

@media(min-width:1200px) {
    .layout-holidays-single .page-hero {
        margin-top: 136px
    }
}

.js-has-pseudo [csstools-has-1a-30-2p-3d-33-39-38-19-2w-33-30-2x-2s-2p-3d-37-19-37-2x-32-2v-30-2t-w-1a-30-2p-36-2v-2t-19-2w-2t-36-33-1m-2w-2p-37-14-17-w-1a-30-2p-3d-33-39-38-19-2w-33-30-2x-2s-2p-3d-37-19-37-2x-32-2v-30-2t-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32-15]:not(.does-not-exist):not(.does-not-exist) {
    margin-bottom: clamp(32px, 6.4vw, 120px)
}

.layout-holidays-single .large-hero:has(+.layout-holidays-single__description) {
    margin-bottom: clamp(32px, 6.4vw, 120px)
}

.layout-holidays-single p.large-text {
    margin-top: 0
}

@media(max-width:991px) {
    .layout-holidays-single p.large-text {
        margin-bottom: 12px
    }
}

@media(max-width:767px) {
    .layout-holidays-single__list {
        padding: 0
    }
}

@media(min-width:992px) {
    .layout-holidays-single__list {
        display: grid;
        grid-gap: 0;
        grid-auto-rows: 1fr;
        margin-top: 32px;
        margin-bottom: 52px
    }
}

.layout-holidays-single__button {
    margin-top: 16px;
    margin-bottom: 32px
}

@media(min-width:1440px) {
    .layout-holidays-single__button {
        margin-top: 56px;
        margin-bottom: 72px
    }
}

.layout-holidays-single .benefits {
    margin: 32px 0 48px
}

@media(min-width:992px) {
    .layout-holidays-single .benefits {
        margin: 80px 0
    }
}

@media(min-width:1440px) {
    .layout-holidays-single .benefits {
        margin: 160px 0
    }
}

@media(min-width:992px) {
    .layout-holidays-single .accordion:not(:last-child) {
        margin-bottom: 24px
    }
}

.layout-units-single .services {
    margin: 16px 0
}

@media(min-width:992px) {
    .layout-units-single .services {
        margin: 56px 0
    }
}

@media(min-width:992px) {
    .layout-levels-list__benefits {
        margin: auto 0 auto 48px
    }
}

.layout-levels-list__benefits h3 {
    margin-top: 8px;
    margin-bottom: 0
}

.layout-levels-list .note {
    background-color: rgba(230, 228, 221, .15);
    margin-top: 0;
    margin-bottom: 16px
}

@media(min-width:992px) {
    .layout-levels-list .note {
        margin-bottom: 40px
    }
}

.layout-levels-list .note span {
    display: block
}

.layout-levels-list .loyalty-table img {
    padding-top: 0
}

.layout-contact-list .hero {
    margin-bottom: 40px
}

.layout-contact-list__form {
    padding: 40px 0
}

.layout-contact-list__faq {
    padding: 40px 0
}

.layout-contact-list__faq .arrow-button {
    float: right
}

@media(min-width:992px) {
    .layout-contact-list__faq .arrow-button {
        margin-top: 24px
    }
}

.layout-contact-list__all-contacts {
    padding: 40px 0
}

.layout-award-single .card__tags {
    padding: 0 var(--container-padding);
    margin-bottom: 24px
}

.layout-award-single__image {
    position: relative
}

.layout-award-single__image img {
    width: 100%;
    height: 280px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    display: block
}

@media(min-width:992px) {
    .layout-award-single__image img {
        height: 520px
    }
}

@media(min-width:1440px) {
    .layout-award-single__image img {
        height: 640px
    }
}

.layout-award-single__content {
    background: rgba(230, 228, 221, .5);
    padding: 16px 24px 48px
}

@media(min-width:992px) {
    .layout-award-single__content {
        padding: 40px 64px 64px 60px
    }
}

.layout-award-single__content .loyalty-member-card {
    position: relative;
    right: 0;
    top: 0;
    margin: 40px -24px 0
}

@media(min-width:992px) {
    .layout-award-single__content .loyalty-member-card {
        margin-top: 64px
    }
}

.layout-award-single__notice {
    padding: 24px;
    border: 1px solid rgba(8, 8, 8, .35)
}

@media(min-width:992px) {
    .layout-award-single__notice {
        margin-top: 32px
    }
}

.layout-loyalty-list .section-heading {
    padding-top: 48px;
    padding-bottom: 32px
}

@media(min-width:992px) {
    .layout-loyalty-list .section-heading {
        padding-top: 160px;
        padding-bottom: 0;
        margin-top: 0;
        margin-bottom: 0
    }
}

.layout-loyalty-list .story {
    margin-top: 0
}

@media(min-width:992px) {
    .layout-loyalty-list .story {
        margin-bottom: 124px
    }
}

.layout-loyalty-list__how-it-works {
    background-image: url(https://res.cloudinary.com/maistra/image/upload/Assets/maistar-rewards-background.png);
    background-color: transparent;
    margin-top: 160px;
    padding-bottom: 120px
}

@media(max-width:991px) {
    .layout-loyalty-list__how-it-works {
        margin-top: 40px;
        padding-bottom: 0
    }
}

.layout-loyalty-list__how-it-works .unit-list {
    margin-bottom: 0
}

@media(max-width:991px) {
    .layout-loyalty-list__how-it-works .unit-list .unit-card__content {
        margin-top: 72px
    }
}

.layout-loyalty-list .container>.layout-loyalty-list__how-it-works {
    padding: 0
}

.layout-loyalty-list .arrow-button {
    margin-top: 56px
}

@media(max-width:991px) {
    .layout-loyalty-list .arrow-button {
        margin-top: 8px
    }
}

.layout-loyalty-list .loyalty-banner {
    margin-top: clamp(48px, 10vw, 160px)
}

@media(max-width:991px) {
    .layout-loyalty-list .newsletter {
        margin-top: 0
    }
}

.layout-loyalty-list .loyalty-rewards {
    margin-top: clamp(32px, 7vw, 120px);
    margin-bottom: 0
}

.layout-loyalty-list .loyalty-rewards .section-heading {
    padding-top: 0
}

.layout-loyalty-dashboard .hero {
    position: relative
}

.layout-loyalty-dashboard .hero__supertitle {
    font-family: var(--maistra-display);
    text-transform: uppercase;
    letter-spacing: 4px;
    display: block;
    font-size: clamp(18px, 3.6vw, 24px);
    margin-bottom: 16px
}

.layout-loyalty-dashboard .hero__supertitle::after {
    width: 0
}

.layout-loyalty-dashboard .hero .hero-title {
    font-size: clamp(36px, 5.2vw, 80px)
}

@media(min-width:1200px) {
    .layout-loyalty-dashboard .hero .hero-title {
        max-width: 50%
    }
}

@media(min-width:1440px) {
    .layout-loyalty-dashboard .hero .hero-title {
        max-width: 60%
    }
}

@media(min-width:1920px) {
    .layout-loyalty-dashboard .hero .hero-title {
        max-width: 100%
    }
}

.layout-loyalty-dashboard .hero hr {
    width: 55vw
}

.layout-loyalty-dashboard .hero__description span {
    display: block
}

.layout-loyalty-dashboard .hero a {
    color: #fff;
    text-decoration: underline
}

@media(max-width:1199px) {
    .layout-loyalty-dashboard .loyalty-member-card {
        margin-bottom: 24px
    }
}

@media(min-width:992px) {
    .layout-loyalty-dashboard .levels-progress {
        margin: clamp(40px, 4vw, 80px)0
    }
}

.layout-loyalty-dashboard .loyalty-rewards {
    margin-top: clamp(48px, 8vw, 80px)
}

.layout-loyalty-dashboard .advantages {
    margin-top: 48px;
    padding-bottom: 40px
}

@media(min-width:992px) {
    .layout-loyalty-dashboard .advantages {
        padding-bottom: 64px
    }
}

@media(min-width:992px) {
    .layout-loyalty-dashboard .advantages h2 {
        margin-top: 80px;
        margin-bottom: 80px
    }
}

.layout-loyalty-dashboard .advantages li .h3 {
    -webkit-text-fill-color: unset
}

.layout-loyalty-dashboard .advantages li::before {
    color: #080808
}

.layout-loyalty-dashboard .load-more__navigation {
    padding: 32px 0 0;
    margin-bottom: 40px
}

@media(min-width:992px) {
    .layout-loyalty-dashboard .load-more__navigation {
        margin-bottom: 160px
    }
}

@media(max-width:991px) {
    .layout-loyalty-dashboard .load-more__navigation hr {
        margin: 0
    }
}

@media(max-width:991px) {
    .layout-loyalty-dashboard .load-more__navigation .show-more {
        padding-top: 32px
    }
}

.layout-company-list .unit-list {
    background-color: #f1ede1
}

@media(max-width:991px) {
    .layout-company-list .unit-list {
        padding: 0
    }
}

.layout-company-single img {
    display: block
}

.layout-news-single .page-hero {
    margin-bottom: 0
}

.layout-web-albums__existing p {
    font-size: clamp(16px, 3.2vw, 18px)
}

.layout-b2b-list .card-list__wrapper {
    padding-bottom: clamp(48px, 6vw, 80px)
}

@media(min-width:992px) {
    .layout-b2b-list .unit-card {
        margin-top: var(--section-dist)
    }
}

.layout-wedding-list h2:first-child {
    margin-top: 0
}

.layout-wedding-list p:last-child {
    margin-bottom: 0
}

.layout-newsletter .page-hero {
    margin-bottom: 0
}

.layout-conference-single__buttons {
    margin-bottom: clamp(40px, 4vw, 80px)
}

@media(max-width:991px) {
    .layout-conference-single__buttons {
        display: grid
    }
}

@media(max-width:991px) {
    .layout-conference-single__buttons .button {
        max-width: 272px
    }
}

.layout-conference-single__buttons .button:not(:last-child) {
    margin-bottom: 16px
}

@media(min-width:992px) {
    .layout-conference-single__buttons .button:not(:last-child) {
        margin-bottom: 0;
        margin-right: 32px
    }
}

.layout-conference-single main .select-input {
    max-width: 360px;
    margin-bottom: clamp(40px, 4vw, 80px)
}

.layout-conference-single__items {
    display: flex;
    flex-direction: column;
    gap: clamp(52px, 5.2vw, 100px)
}

.more-links {
    border-bottom: 1px solid #080808;
    padding-bottom: 40px
}

@media(min-width:992px) {
    .more-links {
        margin: 80px 0 160px;
        padding-bottom: 0;
        border-bottom: none
    }
}

@media(max-width:991px) {
    .more-links {
        border-top: 1px solid rgba(8, 8, 8, .35)
    }
}

.more-links h2 {
    margin-top: 40px
}

@media(max-width:991px) {
    .more-links h2 {
        margin-bottom: 0
    }
}

@media(min-width:992px) {
    .more-links .grid {
        border-bottom: 1px solid rgba(8, 8, 8, .35);
        padding-bottom: 80px
    }
}

@media(min-width:992px) {
    .more-links__buttons {
        display: flex;
        gap: 32px;
        align-self: center;
        max-height: 96px
    }
}

.more-links__buttons .button--icons {
    width: 100%
}

@media(max-width:991px) {
    .more-links__buttons .button--icons {
        margin-bottom: 8px
    }
}

.about {
    margin: 48px 0 40px
}

@media(min-width:992px) {
    .about {
        margin: 120px 0 80px
    }
}

.about .hero-title {
    margin: 20px 0 16px;
    color: #080808
}

@media(min-width:992px) {
    .about .hero-title {
        margin: 24px 0 16px
    }
}

.about .supertitle::after {
    border-color: var(--color-primary)
}

.about__border {
    position: relative;
    padding-bottom: 40px
}

@media(min-width:992px) {
    .about__border {
        padding-bottom: 64px
    }
}

.about__border.border-container {
    position: relative
}

.about__border.border-container::before {
    content: '';
    position: absolute;
    width: 100%
}

.about__border .stars {
    font-size: clamp(16px, 1.6vw, 24px);
    gap: clamp(8px, .8vw, 12px)
}

.about__border::before {
    content: '';
    position: absolute;
    width: 95vw;
    bottom: 0;
    right: 0;
    border-bottom: 1px solid rgba(8, 8, 8, .35)
}

.about__border i::before {
    color: var(--color-primary);
    font-size: 24px
}

.about a {
    color: #080808
}

.about__text {
    position: relative;
    margin: calc(40px - var(--grid-column-gap))0 84px
}

@media(min-width:768px) {
    .about__text {
        margin-bottom: 60px
    }
}

@media(min-width:1200px) {
    .about__text {
        margin: calc(80px - var(--grid-column-gap))0 64px
    }
}

.about__logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 40px;
    gap: 20px 40px;
    border-bottom: 1px solid rgba(8, 8, 8, .35);
    justify-content: space-between
}

@media(min-width:992px) {
    .about__logos {
        gap: 0 40px;
        padding-bottom: 0
    }
}

@media(min-width:1440px) {
    .about__logos {
        margin-left: 52px
    }
}

.about__logos a {
    flex: 1;
    min-width: 30%;
    max-width: 50%;
    margin: 0 auto
}

.about__logos img {
    height: 160px;
    width: 160px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    display: block;
    margin: 0 auto
}

.about__side {
    display: flex;
    flex-direction: column
}

@media(min-width:1440px) {
    .about__side {
        padding-left: 52px
    }
}

.about__stars {
    margin: 40px 0 28px
}

@media(min-width:992px) {
    .about__stars {
        margin: 60px 0 20px
    }
}

@media(min-width:1440px) {
    .about__stars {
        margin-top: 72px;
        display: flex;
        align-items: center
    }
}

.about__stars p {
    text-transform: uppercase;
    margin: 0 0 8px
}

@media(min-width:1440px) {
    .about__stars p {
        margin-bottom: 0;
        margin-right: 24px
    }
}

.about__info {
    display: grid;
    text-transform: initial
}

.about__info p {
    margin-top: 0
}

.about__info p:last-child {
    margin-bottom: 0
}

@media(min-width:992px) {
    .about__info p {
        line-height: 28px
    }
}

.about__buttons {
    margin-bottom: calc(40px - var(--grid-row-gap));
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px
}

@media(min-width:768px) {
    .about__buttons {
        gap: 16px;
        margin-bottom: calc(80px - var(--grid-row-gap))
    }
}

@media(min-width:1440px) {
    .about__buttons {
        margin-bottom: 0;
        display: flex;
        flex-direction: row;
        align-items: initial;
        gap: 32px
    }
}

.about__buttons .button {
    flex: 1;
    width: 100%
}

@media(min-width:576px) {
    .about__buttons .button {
        width: 400px
    }
}

@media(min-width:1440px) {
    .about__buttons .button {
        width: initial
    }
}

.theme--city-vibes .about__buttons .button {
    background: #080808;
    border-color: #080808;
    color: #fff
}

.awards .card__image a {
    display: flex
}

@media(max-width:575px) {
    .awards .card__image {
        margin: 0;
        width: calc(100% - var(--container-padding)) !important
    }
}

.awards .card__image img {
    width: auto;
    max-width: 180px;
    height: auto
}

@media(max-width:575px) {
    .awards .swiper-scrollbar {
        top: initial;
        bottom: 0;
        left: var(--container-padding);
        width: calc(100% - var(--container-padding))
    }
}

@media(min-width:768px) {
    .awards .swiper-scrollbar {
        display: none
    }
}

.awards .card-slider {
    padding-bottom: 40px
}

@media(min-width:768px) {
    .awards .card-slider {
        padding: 0
    }
}

@media(max-width:767px) {

    .awards .swiper-button-prev,
    .awards .swiper-button-next {
        display: none
    }
}

.awards .swiper-slide {
    display: flex;
    height: 280px;
    justify-content: center
}

.awards .swiper-slide>.card__image {
    display: flex;
    width: auto;
    padding-bottom: 0%;
    height: 100%
}

.awards .swiper-slide>.card__image img {
    position: relative;
    width: initial;
    height: initial;
    -o-object-fit: contain;
    object-fit: contain
}

.awards .swiper-slide>.card__image:hover img {
    transform: none
}

.information {
    background: rgba(var(--color-secondary), 1);
    color: rgba(var(--color-secondary-text), 1)
}

.information .section-heading {
    color: inherit
}

@media(max-width:991px) {
    .information .section-heading {
        margin-bottom: 40px
    }
}

.information .section-heading hr {
    border-color: rgba(var(--color-secondary-text), .35)
}

.information .tabs__thumbs::before {
    background-color: rgba(var(--color-secondary-text), 1)
}

.information .tabs__thumbs label span {
    color: rgba(var(--color-secondary-text), 1)
}

.information__address {
    margin-bottom: 40px
}

.information__address span {
    text-transform: uppercase;
    font-size: 16px
}

.information__address p {
    margin-bottom: 12px
}

.information__address p span:first-child {
    font-size: 24px;
    line-height: 2;
    text-transform: uppercase;
    font-family: var(--maistra-display)
}

@media(max-width:1199px) {
    .information__address p span:first-child {
        display: block
    }
}

@media(min-width:1200px) {
    .information__address p .stars {
        margin-left: 24px
    }
}

@media(min-width:992px) {
    .information__reservations {
        margin-right: 90px
    }
}

.information__reservations>p {
    margin-right: 60px;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid
}

@media(min-width:992px) {
    .information__reservations>p {
        padding-bottom: 16px;
        margin-right: 0
    }
}

.information__reservations .h4,
.information__reservations table.loyalty-table th,
table.loyalty-table .information__reservations th {
    font-family: var(--maistra-display);
    font-size: clamp(16px, 3.2vw, 20px);
    line-height: 2;
    text-transform: lowercase;
    letter-spacing: 1px
}

.information__reservations .h4,
.information__reservations table.loyalty-table th,
table.loyalty-table .information__reservations th,
.information__reservations .phone {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% + 40px);
    margin: 10px -20px;
    padding: 20px;
    color: inherit;
    text-decoration: none
}

@media(min-width:992px) {

    .information__reservations .h4,
    .information__reservations table.loyalty-table th,
    table.loyalty-table .information__reservations th,
    .information__reservations .phone {
        width: 50%;
        margin: 0;
        display: inline;
        padding: 0 0 16px;
        background: 0 0
    }
}

.information__reservations .h4 span,
.information__reservations table.loyalty-table th span,
table.loyalty-table .information__reservations th span,
.information__reservations .phone span {
    font-size: 24px;
    text-transform: uppercase;
    color: inherit
}

.information__reservations .h4 i,
.information__reservations table.loyalty-table th i,
table.loyalty-table .information__reservations th i,
.information__reservations .phone i {
    font-size: 16px;
    text-transform: uppercase;
    color: inherit
}

@media(min-width:992px) {

    .information__reservations .h4 i,
    .information__reservations table.loyalty-table th i,
    table.loyalty-table .information__reservations th i,
    .information__reservations .phone i {
        display: none
    }
}

.information__reservations .h4 i::before,
.information__reservations table.loyalty-table th i::before,
table.loyalty-table .information__reservations th i::before,
.information__reservations .phone i::before {
    letter-spacing: normal
}

@media(min-width:992px) {
    .information__reservations .phone {
        margin-right: 50px
    }
}

.information__reservations .h3 {
    letter-spacing: 1px;
    text-transform: uppercase
}

.information__reservations .h3 i::before {
    letter-spacing: normal
}

.information__reservations .h3.title {
    border-bottom: 1px solid
}

@media(min-width:992px) {
    .information__distance {
        margin-right: 90px
    }
}

.information__distance .h3 {
    margin-right: 60px;
    padding-bottom: 16px;
    border-bottom: 1px solid;
    text-transform: uppercase;
    letter-spacing: 4px
}

@media(min-width:992px) {
    .information__distance .h3 {
        margin-right: 0
    }
}

.information__distance--list {
    display: block
}

@media(min-width:992px) {
    .information__distance--list {
        display: flex;
        margin-right: 0
    }
}

.information__distance--list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%
}

.information__distance--list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 2;
    text-transform: uppercase
}

.information__distance--list li span:nth-child(1) {
    max-width: 40%;
    flex-basis: 40%
}

.information__distance--list li span:nth-child(2) {
    max-width: 10%;
    flex-basis: 10%;
    border-bottom: 1px solid
}

.information__distance--list li span:nth-child(3) {
    max-width: 40%;
    flex-basis: 40%;
    text-align: right
}

.information__reach-us {
    padding: 40px;
    background: rgba(255, 255, 255, 5%);
    overflow-x: scroll;
    white-space: nowrap
}

@media(min-width:992px) {
    .information__reach-us {
        overflow-x: unset;
        white-space: normal
    }
}

.information__reach-us--heading {
    display: flex;
    border-bottom: 1px solid;
    width: 750px
}

@media(min-width:992px) {
    .information__reach-us--heading {
        width: 100%
    }
}

.information__reach-us--heading h3 {
    max-width: 33%;
    flex-basis: 33%;
    margin: 0 0 16px
}

.information__reach-us--details {
    margin-top: 32px;
    width: 750px
}

@media(min-width:992px) {
    .information__reach-us--details {
        width: 100%
    }
}

.information__reach-us--details ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    width: 100%
}

.information__reach-us--details li {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

.information__reach-us--details li>* {
    flex-basis: 33.33%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.information__reach-us--details li p {
    flex-basis: 50%;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-family: var(--maistra-display)
}

.information__reach-us--details li .line {
    margin: 0 40px;
    flex-basis: 60%;
    justify-content: center
}

.information__reach-us--details li .line::after {
    display: block;
    content: '';
    width: 80px;
    height: 1px;
    background-color: currentcolor
}

.information__reach-us--details li+li {
    margin-top: 12px
}

.information__reach-us+.button--outline {
    margin-top: 48px
}

.map {
    width: 100%
}

@media(max-width:991px) {
    .map {
        height: 496px
    }
}

@media(min-width:992px) {
    .map {
        padding-top: 80%
    }
}

.map__info-window {
    color: #080808;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 12px
}

.map__info-window h4 {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 8px
}

.map__info-window p {
    font-size: 14px;
    line-height: calc(10/7);
    margin: 8px 0 0
}

.map__info-window i {
    color: var(--color-primary)
}

.map-simple {
    height: 100%;
    width: 100%;
    overflow: hidden
}

.map-simple iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.property-units {
    margin-top: 40px
}

@media(min-width:992px) {
    .property-units {
        margin-top: 80px
    }
}

@media(min-width:1440px) {
    .property-units {
        margin-top: 160px
    }
}

.property-related {
    background-color: rgb(52 78 105);
    color: rgba(var(--color-secondary-text), 1)
}

.property-related .icon-arrow-right-long {
    color: rgba(var(--color-secondary-text), 1)
}

.brands-hero {
    background: var(--color-primary);
    color: #fff;
    display: flex;
    align-items: center;
    z-index: 1;
    position: relative
}

.brands-hero .container {
    display: flex;
    justify-content: center;
    text-align: center
}

.brands-hero__title {
    font-size: clamp(60px, 6.4vw, 120px);
    line-height: 1;
    letter-spacing: 1px;
    z-index: 1
}

@media(min-width:992px) {
    .brands-hero__title {
        max-width: 576px
    }
}

.brands-hero video {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    display: block
}

.brands-masonry {
    z-index: 1;
    position: relative
}

@media(max-width:767px) {
    .brands-masonry {
        border-bottom: 1px solid rgba(8, 8, 8, .35)
    }
}

@media(min-width:768px) {
    .brands-masonry {
        padding: 40px 0
    }
}

@media(min-width:768px) {
    .brands-masonry .container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: clamp(20px, 2vw, 32px)
    }
}

.brands-masonry__media {
    padding-bottom: 72%;
    position: relative
}

.brands-masonry__media img,
.brands-masonry__media video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.brands-masonry__item {
    -moz-column-break-inside: avoid;
    break-inside: avoid
}

.brands-masonry__item.h1 {
    margin: clamp(40px, 6vw, 100px)0;
    text-transform: initial;
    font-style: italic;
    max-width: 732px
}

@media(max-width:767px) {
    .brands-masonry__item.h1 {
        text-align: center
    }
}

.brands-masonry article {
    margin: 40px 0 32px
}

@media(min-width:768px) {
    .brands-masonry article {
        padding-left: 20%;
        margin: 0
    }
}

@media(min-width:1200px) {
    .brands-masonry article {
        padding-left: 34%
    }
}

[class*=" theme--"] .brands-masonry article img {
    height: clamp(20px, 4vw, 40px)
}

.theme--city-vibes .brands-masonry article img {
    height: clamp(26px, 5.2vw, 52px)
}

.brands-masonry article p {
    margin: 16px 0 0
}

@media(min-width:768px) {
    .brands-masonry article p {
        margin: clamp(20px, 4vw, 40px)0 clamp(80px, 12vw, 120px)
    }
}

.theme--collection .brands-masonry article p,
.theme--city-vibes .brands-masonry article p {
    color: #fff
}

.brands-subhero {
    padding: 40px 0 0;
    position: relative;
    z-index: 1
}

@media(min-width:992px) {
    .brands-subhero {
        padding: clamp(80px, 10vw, 160px)0 40px
    }
}

.brands-subhero__title {
    text-align: center;
    margin-top: 0;
    margin-bottom: 40px
}

@media(min-width:992px) {
    .brands-subhero__title {
        margin-bottom: 120px
    }
}

.brands-subhero img {
    width: 100%;
    height: 480px;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width:576px) {
    .brands-subhero img {
        height: 520px
    }
}

@media(min-width:992px) {
    .brands-subhero img {
        height: 600px
    }
}

@media(min-width:1440px) {
    .brands-subhero img {
        height: 680px
    }
}

@media(min-width:1920px) {
    .brands-subhero img {
        height: 800px
    }
}

.brands-subhero--collection,
.brands-subhero--city-vibes {
    background-color: rgba(var(--color-secondary), 1)
}

.brands-subhero--collection .brands-subhero__title,
.brands-subhero--city-vibes .brands-subhero__title {
    color: #fff
}

@media(min-width:992px) {
    .brands-events .swiper-slide {
        transition: all .4s ease-out
    }

    .brands-events .swiper-slide-active {
        width: 60% !important
    }

    .brands-events .swiper-slide-active .card__image {
        padding-bottom: 60%
    }

    .brands-events .swiper-slide-active .card__content {
        opacity: 1
    }

    .brands-events .swiper-slide-prev,
    .brands-events .swiper-slide-next {
        width: 20% !important;
        height: 580px !important;
        padding-top: 60px
    }

    .brands-events .swiper-slide-prev .card__image,
    .brands-events .swiper-slide-next .card__image {
        padding-bottom: 146.3%
    }

    .brands-events .swiper-slide-prev .card__content,
    .brands-events .swiper-slide-next .card__content {
        opacity: 0
    }

    .brands-events .swiper-button-prev,
    .brands-events .swiper-button-next {
        margin-top: 38px;
        transition: all .2s ease-out
    }
}

@media(min-width:992px) {
    .brands-event-card .card__image {
        margin-bottom: 0;
        transition: padding .4s ease-out
    }

    .brands-event-card .card__content {
        padding: 32px;
        background-color: rgba(241, 237, 225, .5);
        width: 100%;
        opacity: 1;
        transition: opacity .3s ease-out
    }
}

.reservations {
    padding: clamp(32px, 3.2vw, 80px)clamp(24px, 2.4vw, 40px)clamp(36px, 3.6vw, 88px);
    background-color: #f1ede1
}

.reservations__title {
    margin: 0 0 clamp(12px, 1.2vw, 24px)
}

.reservations__description {
    margin: 0 0 28px
}

.reservations hr {
    margin: 28px 0 clamp(28px, 2.8vw, 40px)
}

.reservations__items {
    display: flex;
    gap: 28px
}

@media(max-width:767px) {
    .reservations__items {
        flex-direction: column
    }
}

@media(min-width:768px) {
    .reservations__items {
        justify-content: space-around
    }
}

.reservations__items h3 {
    text-transform: none;
    margin: 0;
    letter-spacing: inherit
}

@media(max-width:767px) {
    .reservations__items h3 {
        line-height: 28px
    }
}

.reservations__items p {
    margin: 0;
    line-height: 28px
}

@media(min-width:768px) {
    .reservations__items p {
        margin-top: 28px
    }
}

.reservations__items span:not(.help__days) {
    font-weight: 700
}

.holidays-related {
    margin: 48px 0 40px
}

@media(min-width:992px) {
    .holidays-related {
        margin: 80px 0
    }
}

@media(min-width:1440px) {
    .holidays-related {
        margin: 160px 0
    }
}

.holidays-related.container {
    max-width: inherit
}

.holidays-related .arrow-button {
    margin-top: 44px
}

@media(min-width:992px) {
    .holidays-related .arrow-button {
        margin-top: 100px
    }
}

.restaurants-about.gallery {
    background: 0 0;
    padding: 0
}

.restaurants-about .gallery-images {
    display: none
}

.restaurants-about .h1 {
    margin-bottom: clamp(32px, 6.4vw, 40px)
}

@media(min-width:992px) {
    .restaurants-about .h1 {
        font-size: 64px;
        line-height: 72px
    }
}

.restaurants-about__buttons {
    margin-bottom: clamp(40px, 8vw, 72px);
    display: flex;
    gap: clamp(20px, 4vw, 40px)
}

@media(max-width:575px) {
    .restaurants-about__buttons {
        flex-direction: column
    }
}

.restaurants-about .button {
    min-height: clamp(48px, 9.6vw, 52px);
    display: flex;
    align-items: center;
    justify-content: center
}

.restaurants-about .gallery-button {
    padding: clamp(18px, 3.6vw, 20px)100px clamp(18px, 3.6vw, 20px)72px;
    border-color: #a49e7f
}

.units-about {
    margin: 0 0 16px
}

@media(min-width:992px) {
    .units-about {
        margin: 0 0 56px
    }
}

.units-about .container {
    display: flex;
    flex-direction: column
}

.units-about__header {
    display: flex;
    align-items: flex-start;
    gap: 40px
}

@media(max-width:991px) {
    .units-about__header {
        flex-direction: column;
        gap: 8px
    }
}

.units-about__header>span {
    display: flex;
    align-items: flex-end
}

@media(min-width:992px) {
    .units-about__header>span {
        align-self: center;
        margin-left: 40px
    }
}

.units-about__header .icon-adult {
    font-size: clamp(24px, 4.8vw, 32px)
}

.units-about__header .icon-child {
    font-size: clamp(20px, 4vw, 24px)
}

.units-about__links {
    display: flex;
    flex-direction: column;
    margin-top: 8px
}

@media(min-width:992px) {
    .units-about__links {
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 40px
    }
}

.units-about__price {
    font-size: clamp(24px, 4.8vw, 30px);
    line-height: calc(4/3)
}

@media(max-width:991px) {
    .units-about__price {
        margin: 24px 0
    }
}

.units-about__price>span {
    border-bottom: 1px solid #080808;
    margin-right: 25px;
    font-size: clamp(14px, 2.8vw, 16px);
    line-height: 2
}

.units-about__buttons {
    display: flex;
    gap: 32px
}

@media(max-width:991px) {
    .units-about__buttons {
        flex-direction: column;
        gap: 16px
    }
}

.units-about__buttons a {
    border: 1px solid var(--color-primary);
    min-height: auto;
    padding-top: 12px;
    padding-bottom: 12px
}

@media(min-width:992px) {
    .units-about__buttons a {
        padding-top: 16px;
        padding-bottom: 16px;
        align-self: center
    }
}

.units-about__buttons a:first-child {
    color: #080808;
    background-color: transparent
}

.units-about__buttons a:hover {
    border-color: var(--color-primary-light)
}

.units-about__content {
    margin-top: 40px
}

@media(min-width:992px) {
    .units-about__content {
        margin-top: 72px
    }
}

.restaurant-card-slider {
    background-color: rgba(var(--color-secondary), 1)
}

.restaurant-card-slider .card__content a {
    border-color: rgba(var(--color-secondary-text), 1)
}

.restaurant-card-slider * {
    border-color: rgba(var(--color-secondary-text), 1);
    color: rgba(var(--color-secondary-text), 1)
}

.loyalty-hero {
    padding-top: 48px
}

@media(min-width:992px) {
    .loyalty-hero {
        padding-top: 160px
    }
}

.loyalty-hero__title {
    margin: clamp(40px, 7vw, 136px)0 clamp(40px, 8vw, 48px)
}

.loyalty-hero__image {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    margin-bottom: clamp(40px, 8vw, 80px)
}

.loyalty-hero__logos {
    display: flex
}

@media(max-width:991px) {
    .loyalty-hero__logos {
        justify-content: space-around
    }
}

@media(min-width:992px) {
    .loyalty-hero__logos {
        gap: 100px
    }
}

.loyalty-hero__logos img {
    -o-object-fit: contain;
    object-fit: contain
}

@media(max-width:767px) {
    .loyalty-hero__logos img {
        max-width: 132px;
        max-height: 106px
    }
}

.loyalty-hero .large-text {
    margin: clamp(32px, 7vw, 40px)0 clamp(40px, 8vw, 80px)
}

.loyalty-hero .scroll-down {
    bottom: -44px
}

@media(min-width:768px) {
    .loyalty-hero .scroll-down {
        display: none
    }
}

table.loyalty-table {
    --border-spacing: 32px;
    border-spacing: var(--border-spacing)0
}

@media(max-width:991px) {
    table.loyalty-table {
        --border-spacing: 20px
    }
}

table.loyalty-table th {
    background-color: transparent !important
}

table.loyalty-table th img {
    padding: 40px 0
}

@media(max-width:991px) {
    table.loyalty-table th img {
        padding: 0;
        transform: scale(.7)
    }
}

table.loyalty-table td {
    padding: 16px;
    width: 20%;
    text-align: center
}

@media(min-width:992px) {
    table.loyalty-table td {
        padding: 24px 40px;
        width: 15%
    }
}

table.loyalty-table td:first-child {
    width: 20%;
    text-align: left
}

@media(min-width:992px) {
    table.loyalty-table td:first-child {
        width: 40%
    }
}

table.loyalty-table td.exposed {
    font-weight: 500
}

table.loyalty-table--background-odd:not(.p-datepicker-calendar) tr:nth-child(even) {
    background-color: rgba(230, 228, 221, .5)
}

table.loyalty-table--background-odd:not(.p-datepicker-calendar) tr:nth-child(odd) {
    background-color: transparent
}

table.loyalty-table--bookings th,
table.loyalty-table--activity th {
    font-family: var(--maistra-display);
    font-weight: 400;
    background-color: #e6e4dd
}

table.loyalty-table--bookings td,
table.loyalty-table--activity td {
    font-weight: 500
}

table.loyalty-table--bookings td .label-text,
table.loyalty-table--activity td .label-text {
    text-transform: uppercase;
    font-weight: 300;
    font-size: 12px
}

table.loyalty-table--bookings th,
table.loyalty-table--bookings td,
table.loyalty-table--activity th,
table.loyalty-table--activity td {
    padding: 20px 40px
}

table.loyalty-table--bookings th:not(:first-child),
table.loyalty-table--bookings td:not(:first-child),
table.loyalty-table--activity th:not(:first-child),
table.loyalty-table--activity td:not(:first-child) {
    text-align: center
}

table.loyalty-table--activity th,
table.loyalty-table--activity td {
    text-align: center
}

table.loyalty-table--activity th:first-child,
table.loyalty-table--activity td:first-child {
    width: 20%;
    text-align: center
}

table.loyalty-table--activity th:nth-child(2),
table.loyalty-table--activity td:nth-child(2) {
    width: 45%
}

@media(max-width:991px) {
    .loyalty-awards h3 {
        padding: 0 20px
    }
}

.loyalty-awards__banner {
    padding: 32px 24px;
    background-color: #384048;
    color: #fff;
    text-align: center;
    font-family: var(--maistra-display);
    font-size: clamp(16px, 3.2vw, 24px);
    line-height: 1.5
}

@media(min-width:992px) {
    .loyalty-awards__banner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 40px;
        line-height: calc(5/3)
    }
}

@media(min-width:992px) {
    .loyalty-awards__banner p {
        margin-right: 20px
    }
}

@media(min-width:992px) {
    .loyalty-awards__banner .button {
        max-height: 60px
    }
}

.loyalty-awards__filters {
    padding-bottom: 80px
}

@media(max-width:991px) {
    .loyalty-awards__filters {
        padding-bottom: 20px;
        padding-left: var(--container-padding);
        padding-right: var(--container-padding)
    }
}

.advantages__list {
    list-style: none;
    padding-left: 0
}

.advantages__list li {
    position: relative
}

.advantages__list li::before {
    font-family: var(--icomoon);
    content: '\e90a';
    color: #73412b;
    font-size: clamp(28px, 5.6vw, 42px);
    transform: translateY(-50%);
    position: absolute;
    left: 0;
    top: 14%
}

@media(min-width:992px) {
    .advantages__list li::before {
        left: -16px;
        top: 16%
    }
}

.advantages__list .h3,
.advantages__list p {
    margin: 0 44px 16px
}

.advantages__list .h3 {
    font-size: clamp(18px, 3.6vw, 24px);
    line-height: calc(5/3)
}

.loyalty-faq {
    margin-top: clamp(48px, 8vw, 160px)
}

.loyalty-faq .accordion {
    margin: clamp(8px, 1.2vw, 24px)0
}

.loyalty-faq summary,
.loyalty-faq .accordion__content {
    background-color: rgba(230, 228, 221, .5)
}

.loyalty-rewards {
    background-color: rgba(230, 228, 221, .5);
    padding-top: clamp(48px, 8vw, 120px);
    padding-bottom: clamp(40px, 7vw, 120px)
}



@media(min-width:992px) {
    .loyalty-member-card {
        text-align: left;
        padding: 20px 52px 28px 40px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-template-areas: "image qr""info qr"
    }
}

@media(min-width:1200px) {
    .loyalty-member-card {
        position: absolute;
        right: var(--container-padding);
        top: 35%;
        margin: 0
    }
}

.loyalty-member-card__image {
    width: 88px;
    margin-bottom: 24px;
    order: 1;
    justify-self: center
}

@media(min-width:992px) {
    .loyalty-member-card__image {
        width: 104px
    }
}

@media(min-width:992px) {
    .loyalty-member-card__image {
        grid-area: image;
        order: unset;
        justify-self: start
    }
}

.loyalty-member-card__image img {
    display: block
}

.loyalty-member-card__info {
    order: 3
}

@media(min-width:992px) {
    .loyalty-member-card__info {
        grid-area: info;
        order: unset;
        padding-right: 24px
    }
}

.loyalty-member-card__info span {
    display: block;
    margin: 0
}

@media(max-width:767px) {
    .loyalty-member-card__info p {
        margin-top: 16px
    }
}

@media(max-width:991px) {
    .loyalty-member-card__qr {
        order: 2
    }
}

@media(min-width:992px) {
    .loyalty-member-card__qr {
        grid-area: qr;
        width: 160px;
        text-align: center;
        place-self: end end
    }
}

.loyalty-member-card__qr>img {
    width: 160px
}

.loyalty-member-card__qr p {
    text-align: center;
    cursor: default;
    margin: 0 0 16px;
    text-decoration: underline;
    padding-top: 12px
}

@media(max-width:991px) {
    .loyalty-member-card__qr p {
        padding-top: 0
    }
}

@media(max-width:991px) {
    .loyalty-member-card p:not(.h4) {
        font-size: 12px
    }
}

.loyalty-my-interests {
    margin: auto
}

.loyalty-my-interests .large-text {
    margin-top: 0;
    margin-bottom: clamp(24px, 3.7vw, 40px)
}

@media(min-width:992px) {
    .loyalty-my-interests__masonry {
        -moz-column-count: 2;
        column-count: 2;
        -moz-column-gap: 32px;
        column-gap: 32px
    }
}

.loyalty-my-interests .note {
    background-color: #e6e4dd
}



@media(min-width:992px) {
    .levels-progress__points {
        flex-direction: column;
        justify-content: space-between
    }
}

.levels-progress__points p {
    align-self: center;
    margin: 0 24px
}

@media(min-width:992px) {
    .levels-progress__points p {
        margin: 0;
        align-self: flex-start
    }
}

.levels-progress__box {
    border: 1px solid #efd1a7;
    padding: 16px 24px;
    letter-spacing: 1px;
    min-width: clamp(128px, 40vw, 272px)
}

.levels-progress__box .h2 {
    display: inline-block;
    font-family: var(--maistra-display);
    letter-spacing: 2px;
    margin: 0 4px 0 0
}

.levels-progress__status {
    flex: 1
}

.levels-progress__status p {
    font-size: clamp(12px, 2.4vw, 16px)
}

.levels-progress__logos {
    display: flex;
    margin: 32px 0 16px
}

@media(min-width:992px) {
    .levels-progress__logos {
        margin: 0 0 20px
    }
}

.levels-progress__logos img {
    width: auto;
    height: clamp(40px, 4vw, 60px);
    margin-right: calc(25% - 38px)
}

@media(min-width:992px) {
    .levels-progress__logos img {
        height: clamp(40px, 4vw, 60px)
    }
}

.levels-progress__bar-bg {
    background-color: rgba(230, 228, 221, .15);
    line-height: 12px;
    margin-bottom: 16px
}

@media(min-width:992px) {
    .levels-progress__bar-bg {
        margin-bottom: 28px
    }
}

.levels-progress__bar-line {
    height: 12px;
    background: linear-gradient(90deg, #73412b 0%, #efd1a7 100%)
}

@media(min-width:992px) {
    .levels-progress__bar-line {
        height: 16px
    }
}

.levels-progress a {
    color: #fff;
    text-decoration: underline
}

@media(min-width:992px) {
    .bookings hr {
        margin: 0 0 96px
    }
}

.bookings table th {
    font-size: clamp(14px, 2.8vw, 18px)
}

.bookings table td:nth-child(1),
.bookings table td:nth-child(2) {
    width: 33.3%
}

.bookings table td:nth-child(3),
.bookings table td:nth-child(4) {
    width: 16.7%
}

.bookings__no-reservations {
    color: #fff;
    background-color: #353d45;
    background-image: url(https://res.cloudinary.com/maistra/image/upload/Assets/maistar-rewards-background.png);
    padding: 32px clamp(24px, 2vw, 40px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px
}

@media(max-width:991px) {
    .bookings__no-reservations {
        text-align: center;
        flex-direction: column
    }
}

@media(min-width:992px) {
    .bookings__no-reservations {
        gap: 64px
    }
}

.bookings__no-reservations a {
    color: #080808;
    margin-left: 40px
}

@media(max-width:991px) {
    .bookings__no-reservations a {
        display: block;
        margin-left: 0;
        margin-top: 24px
    }
}

.activity__buttons {
    margin-top: clamp(24px, 3.7vw, 40px);
    margin-bottom: clamp(40px, 8vw, 80px)
}

@media(min-width:992px) {
    .activity__buttons {
        display: flex;
        justify-content: end;
        gap: 20px
    }
}

.activity__buttons .button {
    border: 1px solid #080808
}

@media(max-width:991px) {
    .activity__buttons .button {
        width: 100%
    }

    .activity__buttons .button:not(:last-child) {
        margin-bottom: 16px
    }
}

.activity .levels-progress {
    margin: clamp(40px, 4vw, 80px)0 0
}

.loyalty-transfer-points .loyalty-form__wrapper {
    height: 100%
}

.loyalty-transfer-points h2 {
    margin-top: clamp(40px, 6vw, 80px)
}

.loyalty-transfer-points__amount {
    padding-bottom: 0;
    height: 100%
}

.loyalty-transfer-points__amount span {
    font-family: var(--maistra-display);
    font-size: 16px
}

@media(min-width:992px) {
    .loyalty-transfer-points__amount .number {
        font-size: 24px
    }
}

.loyalty-transfer-points__other-amount {
    display: flex;
    align-items: center
}

@media(max-width:991px) {
    .loyalty-transfer-points__other-amount {
        margin-bottom: 20px
    }
}

.loyalty-transfer-points__other-amount hr {
    margin-bottom: 0
}

.loyalty-transfer-points__other-amount input[type=number] {
    background: #fff;
    border: none;
    width: 80px;
    height: 40px;
    line-height: 1;
    margin-left: 16px;
    text-indent: 12px
}

@media(min-width:992px) {
    .loyalty-transfer-points__other-amount input[type=number] {
        width: 120px;
        height: 56px;
        text-indent: 20px
    }
}

.loyalty-transfer-points .button-group {
    padding: 0;
    margin-top: clamp(24px, 3vw, 32px);
    margin-bottom: clamp(8px, 1vw, 16px)
}

.loyalty-transfer-points input[type=radio] {
    border-radius: 100%
}

.loyalty-transfer-points input[type=radio]:checked::before {
    font-family: var(--icomoon);
    content: "\e921";
    top: 9px;
    left: 7px;
    z-index: 1;
    font-size: 12px;
    background-color: transparent
}

.loyalty-transfer-points input[type=radio]:checked::after {
    content: '';
    position: absolute;
    background-color: #fff;
    border-radius: 100%;
    top: -2px;
    left: -2px;
    width: 34px;
    height: 34px
}

.loyalty-obtain-points h2 {
    margin-top: clamp(40px, 6vw, 80px);
    margin-bottom: 0
}

@media(min-width:992px) {
    .loyalty-obtain-points__input-small {
        --gap: 32px;
        display: flex;
        gap: var(--gap)
    }
}

.loyalty-form__wrapper {
    padding: 24px 20px;
    background-color: rgba(230, 228, 221, .5)
}

.loyalty-form__wrapper--dark {
    background-color: #e6e4dd
}

.loyalty-form__border {
    border: 1px solid rgba(8, 8, 8, .35);
    padding: clamp(24px, 3vw, 32px)
}

@media(min-width:992px) {
    .loyalty-form .form-element {
        width: 50%
    }

    .loyalty-form .form-element--small {
        width: calc(25% - (var(--gap)/2))
    }

    .loyalty-form .form-element--large {
        width: 100%
    }
}

.loyalty-form h4 {
    text-transform: uppercase
}

@media(min-width:992px) {
    .loyalty-form h4 {
        letter-spacing: 4px
    }
}

.qr-modal {
    text-align: center
}

@media(min-width:992px) {
    .qr-modal .modal__container {
        max-width: 600px
    }
}

@media(max-width:991px) {
    .qr-modal .modal__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }
}

.qr-modal .modal__content img {
    margin-top: clamp(24px, 3.7vw, 40px)
}

.company-contacts {
    background-color: #f8f5f0
}

@media(min-width:992px) {
    .company-contacts h4 {
        padding-top: 8px;
        margin-top: 40px
    }
}

.company-contacts hr {
    margin-bottom: 8px
}

.company-contacts__card {
    background-color: rgba(241, 237, 225, .5);
    padding: clamp(24px, 4vw, 40px);
    height: 100%
}

.company-contacts__department {
    font-size: clamp(16px, 3.2vw, 18px);
    margin-top: 0;
    margin-bottom: clamp(16px, 2.7vw, 24px);
    font-family: var(--maistra-display)
}

.conference-hall:last-child {
    margin-bottom: 0
}

.conference-hall__description {
    font-size: clamp(16px, 1.8vw, 24px);
    margin-bottom: 0
}

.conference-hall__image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.js-has-pseudo [csstools-has-1a-2r-33-32-2u-2t-36-2t-32-2r-2t-19-2w-2p-30-30-2n-2n-2x-31-2p-2v-2t-1m-2w-2p-37-14-2w-1e-15]:not(does-not-exist) {
    padding-right: clamp(24px, 2.4vw, 40px)
}

.conference-hall__image:has(h2) {
    padding-right: clamp(24px, 2.4vw, 40px)
}

.conference-hall__side {
    padding: clamp(24px, 2.4vw, 40px)var(--container-padding)
}

@media(min-width:576px) {
    .conference-hall__side {
        padding: clamp(24px, 2.4vw, 40px);
        background: rgba(241, 237, 225, .5)
    }
}

.conference-hall__main-props {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: clamp(12px, 1.2vw, 32px);
    margin-bottom: clamp(32px, 3.2vw, 52px)
}

.conference-hall__main-props div {
    flex: 1;
    background: #353d45;
    color: #fff;
    padding: clamp(8px, .8vw, 16px)clamp(8px, .6vw, 20px);
    text-align: center
}

.conference-hall__main-props em {
    font-family: var(--maistra-display);
    font-size: clamp(20px, 2vw, 36px);
    font-style: normal
}

.conference-hall__main-props abbr {
    font-family: var(--maistra-display)
}

.conference-hall__main-props span {
    font-family: var(--typonine-sans-pro);
    text-transform: uppercase;
    display: block
}

.conference-hall .button {
    margin-bottom: clamp(20px, 2vw, 32px);
    min-height: clamp(52px, 5.2vw, 96px)
}

.conference-hall .button--primary {
    display: flex;
    align-items: center;
    justify-content: center
}

.conference-hall .accordion {
    margin: clamp(8px, .8vw, 20px)0 0
}

.conference-hall .accordion summary,
.conference-hall .accordion .accordion__content {
    background: rgba(241, 237, 225, .5)
}

.conference-hall .accordion .h3 {
    text-transform: uppercase;
    letter-spacing: 3px
}

.conference-hall .table {
    --border-spacing: 8px
}

.conference-hall .table td {
    padding: 8px 16px;
    background-color: #fff
}
.brands {
    margin: 54px 0 0;
    position: relative;
    overflow-y: hidden
}

@media(min-width: 992px) {
    .brands {
        margin:160px 0
    }
}

@media(min-width: 1440px) {
    .brands {
        margin-bottom:120px
    }
}

@media(max-width: 991px) {
    .brands__image {
        width:calc(100% + (2 * var(--container-padding)));
        margin-left: calc(-1 * var(--container-padding));
        margin-right: calc(-1 * var(--container-padding))
    }
}

@media(min-width: 992px) {
    .brands .grid {
        --grid-row-gap:80px
    }
}

@media(max-width: 991px) {
    .brands__bottom-image {
        display:none
    }
}

.brands img {
    width: 100%;
    height: auto
}

.brands__text {
    position: relative;
    margin: 0 0 16px;
    padding-top: 24px
}

@media(min-width: 992px) {
    .brands__text {
        text-align:right;
        padding-top: 40px;
        margin-bottom: 0
    }
}

.brands__text::before {
    content: '';
    position: absolute;
    width: 95vw;
    top: 0;
    right: 0;
    border-top: 1px solid rgba(8,8,8,.35)
}

@media(min-width: 992px) {
    .brands__title-wrap {
        display:flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center
    }
}

.brands h1 {
    margin: 20px 0 0
}

@media(min-width: 992px) {
    .brands h1 {
        margin-top:28px
    }
}

.brands .scroll-down {
    bottom: -26px
}

@media(max-width: 991px) {
    .brands .scroll-down {
        position:absolute;
        bottom: -24px;
        left: -36px;
        top: initial!important
    }
}

@media(min-width: 992px) {
    .brands .scroll-down {
        border-color:#080808;
        color: #080808;
        margin: 80px 0 0 auto;
        bottom: 20px
    }
}

@media(min-width: 1440px) {
    .brands .scroll-down {
        margin-top:120px
    }
}

.brands-wrap {
    overflow: hidden
}

.brand {
    height: auto;
    border-bottom: 1px solid rgba(8,8,8,.35)
}

@media(min-width: 992px) {
    .brand {
        height:calc(100vh - var(--header-sticky-height));
        min-height: 820px
    }
}

.brand__image-left {
    display: none
}

@media(min-width: 992px) {
    .brand__image-left {
        display:block;
        position: relative;
        overflow: hidden;
        height: 100%
    }

    .brand__image-left img {
        width: 100%;
        height: 100%;
        position: absolute;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.brand__image-right img {
    width: 100%;
    height: auto;
    display: block
}

@media(min-width: 992px) {
    .brand__content-wrap {
        display:flex;
        align-items: center
    }
}

.brand__content {
    margin: 48px 0 32px
}

@media(min-width: 992px) {
    .brand__content {
        margin:clamp(32px,4.1vh,40px)var(--container-padding)clamp(32px,4.1vh,40px)0
    }
}

.brand__logo {
    margin: 0 76px 20px var(--container-padding)
}

@media(min-width: 992px) {
    .brand__logo {
        margin:0 0 16px
    }
}

.brand__logo img {
    width: auto;
    height: 44px
}

.brand__logo--collection img {
    height: 32px
}

.brand__text {
    position: relative;
    margin: 0 76px 40px var(--container-padding);
    padding-top: 24px
}

@media(min-width: 992px) {
    .brand__text {
        padding-top:clamp(32px,4.1vh,40px);
        margin: 0 0 clamp(32px,4.1vh,40px)
    }
}

.brand__text::before {
    content: '';
    position: absolute;
    width: calc(100% + var(--container-padding));
    left: calc(-1 * var(--container-padding));
    top: 0;
    border-bottom: 1px solid rgba(8,8,8,.35)
}

@media(min-width: 992px) {
    .brand__text::before {
        left:0
    }
}

.brand .arrow-button {
    margin: 32px var(--container-padding)0;
    display: flex;
    justify-content: space-between
}

@media(min-width: 992px) {
    .brand .arrow-button {
        margin:clamp(32px,4.1vh,40px)0 0;
        justify-content: flex-start
    }
}

.brand.bg-blue-dark .brand__text {
    color: #fff
}

.brand.bg-blue-dark .brand__text::before {
    border-color: rgba(255,255,255,.35)
}

.brand.bg-blue-dark .arrow-button {
    color: #fff
}

.brand.bg-blue-dark .arrow-button i::before {
    color: #fff
}
/* Add this to your CSS file or in a <style> tag in your HTML */
.newsletter__content form {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  .form-group {
    display: block !important;
    margin-bottom: 1rem !important;
  }
  
  .form-group label,
  .form-group input,
  .form-group textarea {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
  }
  
  .form-element {
    display: block !important;
  }
  
  .button.button--primary {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }