@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

.sub-hero {
    background-color: #F2EDE8;
    padding: 10px 10px 0
}

.sub-hero__container {
    overflow: hidden;
    border-radius: 30px;
    padding: 82px 10px 72px;
    min-height: 400px;
    position: relative;
    background-color: var(--brown-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.sub-hero__container .bg img {
    object-fit: cover
}

.sub-hero__container .bg:before {
    background: linear-gradient(180deg,rgba(0,0,0,.5) 0,rgba(0,0,0,0) 100%);
    z-index: 2
}

.sub-hero__container .bg:after {
    background: linear-gradient(0deg,rgba(0,0,0,.4) 0,rgba(0,0,0,.4) 100%);
    z-index: 2
}

.sub-hero__container .txt {
    display: flex;
    height: auto;
    flex: 1;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.sub-hero__container .txt h1,.sub-hero__container .txt h3,.sub-hero__container .txt p {
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 3
}


.sub-hero__container .txt .bts {
    justify-content: center;
    position: relative;
    z-index: 3
}

.sub-hero__container .infotext_h {
    z-index: 3;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 140%;
    padding: 0;
    margin: 30px 0 0
}

.sub-hero__container .infotext_h a {
    text-decoration: underline;
    color: #fff
}

@media (min-width: 768px) {
    .sub-hero__container {
        min-height:450px
    }

    .sub-hero__container .txt {
        max-width: 560px;
        margin: 0 auto
    }
}

.t_images-1 {
    display: flex;
    align-items: center
}

.t_images-1 .img-1 {
    aspect-ratio: 210/198;
    width: 60%;
    height: auto;
    flex: 0 0 60%
}

.t_images-1 .imggroup {
    width: 40%;
    padding: 0 0 0 12px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.t_images-2,.t_images-3 .imggroup {
    flex-direction: column;
    display: flex
}

.t_images-1 .img-2 {
    aspect-ratio: 128/96;
    width: 100%;
    height: auto;
    margin-bottom: 12px
}

.t_images-1 .img-3 {
    aspect-ratio: 78/64;
    width: 70%;
    height: auto
}

.t_images-2 .img-1 {
    aspect-ratio: 350/268;
    width: 100%;
    height: auto
}

.t_images-2 .imggroup {
    padding: 12px 0 0;
    display: flex;
    justify-content: center;
    align-items: flex-start
}

.t_images-2 .img-2 {
    aspect-ratio: 133/81;
    width: 38%;
    height: auto;
    margin-right: 12px
}

.t_images-2 .img-3 {
    aspect-ratio: 168/120;
    width: 48%;
    height: auto
}

.t_images-3 {
    display: flex;
    align-items: center
}

.t_images-3 .img-1 {
    aspect-ratio: 189/262;
    width: 58%;
    height: auto;
    flex: 0 0 58%;
    order: 2
}

.t_images-3 .imggroup {
    order: 1;
    width: 42%;
    padding: 0 12px 0 0;
    justify-content: center;
    align-items: flex-end
}

.t_images-3 .img-2 {
    aspect-ratio: 91/74;
    width: 70%;
    height: auto;
    margin-bottom: 12px
}

.t_images-3 .img-3 {
    aspect-ratio: 149/112;
    width: 100%;
    height: auto
}

.t_images-4 {
    display: flex;
    flex-direction: column
}

.t_images-4 .img-1 {
    order: 2;
    aspect-ratio: 350/165;
    width: 100%;
    height: auto
}

.t_images-4 .imggroup {
    order: 1;
    padding: 0 0 12px;
    display: flex;
    justify-content: center;
    align-items: flex-end
}

.t_images-4 .img-2 {
    aspect-ratio: 143/102;
    width: 40%;
    height: auto;
    margin-right: 12px
}

.t_images-4 .img-3 {
    aspect-ratio: 102/88;
    width: 29%;
    height: auto
}

.imgtxt__item:nth-child(5n+1) .text:before {
    z-index: 0;
    content: ' ';
    width: 66px;
    height: 66px;
    position: absolute;
    right: 0;
    top: 0;
    background-repeat: no-repeat
}

@media (min-width: 1024px) {
    .imgtxt__item:nth-child(5n+1) .text:before {
        width:96px;
        height: 96px;
        }
}

.imgtxt__item:nth-child(5n+2) .text:before {
    z-index: 0;
    content: ' ';
    width: 96px;
    height: 66px;
    position: absolute;
    right: 0;
    top: -20px;
    background-repeat: no-repeat
}

.imgtxt__item:nth-child(5n+3) .text:before,.imgtxt__item:nth-child(5n+4) .text:before {
    width: 66px;
    z-index: 0;
    content: ' ';
    position: absolute;
    right: 0;
    background-repeat: no-repeat
}

.imgtxt__item:nth-child(5n+3) .text:before {
   height: 66px;
    top: -10px
}

.imgtxt__item:nth-child(5n+4) .text:before {
    height: 36px;
    top: 20px
}

.imgtxt__item:nth-child(5n+5) .text:before {
    z-index: 0;
    content: ' ';
    width: 96px;
    height: 67px;
    position: absolute;
    right: 0;
    bottom: 8px;
    background-repeat: no-repeat
}

@media (max-width: 1023px) {
    .imgtxt__item {
        margin:0;
        padding: 0;
        display: flex;
        flex-direction: column
    }

    .imgtxt__item:first-child .t_images {
        margin-top: 30px;
        margin-bottom: 0
    }

    .imgtxt__item .t_images {
        order: 1;
        margin: 30px 0;
        display: flex;
        position: relative;
        height: auto
    }

    .imgtxt__item .t_images img {
        border-radius: 6px;
        object-fit: cover
    }

    .imgtxt__item .text {
        margin: 30px 0;
        position: relative;
        order: 2
    }

    .imgtxt__item .text h3.title {
        margin-bottom: 24px
    }

    .imgtxt__item .text h2 {
        margin-top: 0;
        padding-right: 40px
    }

    .imgtxt__item .text>:last-child {
        margin-bottom: 0
    }
}

@media (min-width: 768px) {
    .imgtxt__item {
        padding:0 var(--padding-pc2)
    }
}

@media (min-width: 1024px) {
    .imgtxt__item,.imgtxt__slider {
        display:inline-flex;
        width: auto
    }

    .imgtxt__slider {
        align-items: center
    }

    .imgtxt__item {
        align-items: center;
        padding: 0;
        margin-top: 0px
    }

    .imgtxt__item:last-child {
        margin-bottom: 0
    }

    .imgtxt__item:nth-child(2n+2) .text {
        order: 2;
        margin: 0 0 0 100px;
        padding: 0
    }

    .imgtxt__item:nth-child(2n+2) .t_images {
        order: 1
    }

    .imgtxt__item .text {
        width: calc(45% - 100px);
        flex: 0 0 calc(45% - 100px);
        margin: 0 100px 0 0;
        padding: 0;
        position: relative
    }

    .imgtxt__item .text h2 {
        padding: 0 90px 0 0
    }

    .imgtxt__item .t_images {
        width: 55%;
        flex: 0 0 55%
    }

    .imgtxt__item .t_images img {
        border-radius: var(--box-radius);
        object-fit: cover
    }
}

.room__head {
    margin: 0 auto 40px;
    max-width: 700px
}

.room__item {
    border-radius: 30px;
    background: #F2EDE8;
    margin: 30px 0
}

.room__gallery {
    min-height: 60px;
    margin: 0 0 24px;
    padding: 6px;
    display: flex;
    flex-wrap: wrap
}

.room__txt h3,.room__txt p {
    margin: 0 0 30px
}

.room__gallery a {
    padding: 6px;
    overflow: hidden;
    width: 33.33%
}

.room__gallery a.img-0 {
    width: 100%
}

.room__gallery a.img-0 img {
    border-radius: 20px
}

.room__gallery a img {
    width: 100%;
    aspect-ratio: 326/190;
    overflow: hidden;
    border-radius: 12px;
    object-fit: cover
}

.room__gallery .imgfooter {
    display: flex
}

.room__gallery .imgfooter a.img-3 {
    position: relative
}

.room__gallery .imgfooter a.img-3:before {
    content: ' ';
    display: block;
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    background: linear-gradient(90deg,rgba(242,237,232,0) 0,#F2EDE8 100%)
}

.room__gallery .imgfooter a.img-4 {
    display: none
}

.room__txt {
    padding: 0 24px 24px
}

.room__txt h3 {
    color: #221E1A;
    font-size: 36px;
    font-weight: 500;
    line-height: 1em
}

.room__txt ul {
    margin: 32px 0 0
}

.room__txt ul li {
    margin: 16px 0;
    display: flex;
    align-items: center
}

.room__txt ul li:last-child {
    margin-bottom: 0
}

.room__txt ul li img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin: 0 12px 0 0
}

.room__txt ul li span {
    color: #221E1A;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: -.48px
}

@media (min-width: 768px) {
    .room__head {
        margin:0 auto 60px
    }

    .room__item {
        display: flex;
        flex-direction: initial
    }

    .room__gallery {
        width: 40%;
        flex: 0 0 40%;
        margin: 0;
        padding: 7px 15px 7px 7px;
        height: auto;
        display: flex;
        flex-direction: column
    }

    .room__gallery a {
        padding: 5px;
        width: 25%
    }

    .room__gallery a.img-0 {
        width: 100%;
        height: auto;
        display: flex;
        flex: 1;
        position: relative
    }

    .room__gallery a.img-0 img {
        position: absolute;
        left: 5px;
        top: 5px;
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        aspect-ratio: initial;
        display: block
    }

    .room__gallery .imgfooter a.img-3 {
        position: relative
    }

    .room__gallery .imgfooter a.img-3:before {
        display: none
    }

    .room__gallery .imgfooter a.img-4 {
        position: relative;
        display: block
    }

    .room__gallery .imgfooter a.img-4:before {
        display: block;
        content: ' ';
        z-index: 2;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 12px;
        background: linear-gradient(90deg,rgba(242,237,232,0) 0,#F2EDE8 100%)
    }

    .room__gallery .imgfooter img {
        aspect-ratio: 134/88;
        border-radius: 20px
    }

    .room__txt {
        width: 60%;
        flex: 0 0 60%;
        padding: 30px 30px 30px 15px
    }

    .room__txt ul {
        margin: 32px 0 0;
        column-gap: 30px;
        column-count: 2;
        column-fill: balance
    }

    .room__txt ul li {
        margin-top: 0;
        break-inside: avoid;
        page-break-inside: avoid;
        -webkit-column-break-inside: avoid
    }
}

@media (min-width: 1024px) {
    .room__gallery {
        width:50%;
        flex: 0 0 50%;
        margin: 0;
        padding: 7px 30px 7px 7px
    }

    .room__txt {
        width: 50%;
        flex: 0 0 50%;
        padding: 52px 60px 52px 30px
    }

    .room__txt h3 {
        font-size: 46px;
        margin: 0 0 40px
    }

    .room__txt ul {
        margin-top: 60px
    }

    .room__txt ul li {
        margin-bottom: 20px
    }
}

.equipment__box,.equipment__item .in {
    background-color: #fff;
    overflow: hidden
}

.equipment__title {
    margin: 0 auto 40px;
    max-width: 600px
}

.equipment__box {
    margin: 80px 0 0;
    border-radius: 20px
}

.equipment__rew {
    background-color: #ffffff;
    padding: 40px 0
}

.equipment__box-images {
    position: relative;
    margin: -12px 0 38px;
    aspect-ratio: 431/299
}

.equipment__box-images-c {
    position: absolute;
    left: 0;
    top: 0;
    height: calc(50% - 6px);
    display: flex;
    overflow: hidden
}

.equipment__box-images-c .imgin {
    display: inline-flex;
    height: auto;
    width: auto;
    animation: anim-to-l 12s infinite linear
}

.equipment__box-images-c img {
    margin: 0 6px;
    display: inline-flex;
    object-fit: cover;
    border-radius: 12px;
    aspect-ratio: 180/120;
    height: 100%;
    width: auto;
    max-width: none;
}

.equipment__box-images-c.c-2 {
    top: initial;
    bottom: 0
}

.equipment__box-images-c.c-2 .imgin {
    animation: anim-to-r 12s infinite linear
}

@keyframes anim-to-r {
    0% {
        transform: translateX(-50%)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes anim-to-l {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-50%)
    }
}

@keyframes anim-to-t {
    0% {
        transform: translateY(-50%)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes anim-to-b {
    0% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(-50%)
    }
}

.equipment__box-txt {
    padding: 38px 25px 25px
}

.equipment__box-txt h3 {
    color: #221E1A;
    font-size: 36px;
    font-weight: 500;
    line-height: 1em;
    margin: 0 0 30px;
    max-width: 300px
}

.equipment__box-txt p {
    margin: 0 0 30px
}

.equipment__box-txt ul {
    margin: 32px 0 0
}

.equipment__box-txt ul li {
    margin: 16px 0;
    display: flex;
    align-items: center
}

.equipment__box-txt ul li:last-child {
    margin-bottom: 0
}

.equipment__box-txt ul li img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin: 0 12px 0 0
}

.equipment__box-txt ul li span {
    color: #221E1A;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: -.48px
}

.equipment__item {
    width: 300px;
    flex: 0 0 300px;
    height: auto;
    min-height: 300px;
    display: inline-flex;
    padding: 0 10px
}

.equipment__item .in {
    height: auto;
    border-radius: var(--bt-radius);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    min-height: 300px
}

.equipment__item .in img {
    width: 32px;
    height: 32px;
    display: block;
    object-fit: contain;
    object-position: left center;
    margin: 0 0 40px
}

.equipment__item .in h4 {
    color: #1F2F28;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    margin: 0 0 24px
}

.equipment__item .in p {
    margin: 0
}

@media (min-width: 768px) {
    .equipment__rew {
        background-color:#ffffff;
        padding: 80px 0
    }

    .equipment__title {
        margin: 0 auto 60px
    }

    .equipment__box {
        display: flex;
        flex-direction: initial;
        justify-content: space-between

    }

    .equipment__box-txt {
        width: 60%;
        flex: 0 0 60%;
        padding: 30px 30px 30px 30px
    }

    .equipment__box-txt ul {
        margin: 80px 0 0;
        column-gap: 30px
    }

    .equipment__box-images {
        width: calc(40% - 15px);
        flex: 0 0 calc(40% - 15px);
        position: relative;
        margin: 0;
        aspect-ratio: initial
    }

    .equipment__box-images-c {
        height: 100%;
        width: calc(50% - 6px);
        display: flex;
        flex-direction: column
    }

    .equipment__box-images-c .imgin {
        display: inline-flex;
        height: auto;
        width: auto;
        animation: anim-to-b 12s infinite linear;
        flex-direction: column
    }

    .equipment__box-images-c img {
        margin: 6px 0;
        display: inline-flex;
        object-fit: cover;
        border-radius: 12px;
        aspect-ratio: 180/120;
        width: 100%;
        height: auto;
    }

    .equipment__box-images-c.c-2 {
        left: initial;
        right: 0
    }

    .equipment__box-images-c.c-2 .imgin {
        animation: anim-to-t 12s infinite linear
    }

    .equipment__item .in {
        min-height: 360px
    }
}

@media (min-width: 1024px) {
    .equipment__box {
        display:flex;
        flex-direction: initial;
        justify-content: space-between
    }

    .equipment__box-images {
        width: calc(50% - 40px);
        flex: 0 0 calc(50% - 40px)
    }

    .equipment__box-txt {
        width: 50%;
        flex: 0 0 50%;
        padding: 74px 74px 74px 40px
    }

    .equipment__box-txt h3 {
        font-size: 46px;
        margin: 0 0 40px
    }

    .equipment__box-txt ul {
        margin-top: 60px
    }

    .equipment__box-txt ul li {
        margin-bottom: 20px
    }
}

.review__item,.review__slider {
    display: inline-flex;
    padding: 0 10px
}

.review__slider__sticky {
    overflow: hidden
}

.review__slidercd {
    width: 100%;
    overflow: visible
}

.review__slider {
    width: auto
}

.review__item {
    width: 245px;
    flex: 0 0 245px;
    height: auto;
    min-height: 300px
}

.review__item .in {
    height: auto;
    border-radius: var(--bt-radius);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    background-color: #fff;
    position: relative;
    overflow: hidden
}

.review__item blockquote {
    margin: 0 0 30px;
    color: #1B191C;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5em;
    letter-spacing: -.42px
}

.review__item blockquote span {
    width: 100%;
    display: block
}

.review__item blockquote:before {
    content: ' ';
    width: 37px;
    height: 37px;
    margin: 0 0 18px;
    display: inline-block;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="37" height="37" viewBox="0 0 37 37" fill="none"><circle cx="18.2812" cy="18.2812" r="18.2812" fill="%23F2EDE8"/><path d="M14.0156 19.4037C14.0156 18.5547 14.3174 17.7369 14.9211 16.9504C15.5332 16.1639 16.2134 15.5919 16.9616 15.2344L17.2039 15.7706C16.6087 16.1281 16.0986 16.575 15.6735 17.1113C15.2569 17.6386 15.0486 18.1748 15.0486 18.72C15.0486 18.8273 15.0784 18.9077 15.1379 18.9613C15.2059 19.0149 15.2909 19.0418 15.393 19.0418C15.9456 18.9792 16.2432 18.9479 16.2857 18.9479C16.5662 18.9479 16.8681 19.0552 17.1911 19.2697C17.5227 19.4842 17.6885 19.8506 17.6885 20.369C17.6885 20.8069 17.5525 21.1778 17.2804 21.4817C17.0083 21.7856 16.6215 21.9375 16.1199 21.9375C15.5332 21.9375 15.0359 21.7007 14.6278 21.227C14.2197 20.7443 14.0156 20.1366 14.0156 19.4037ZM18.874 19.511C18.874 18.5547 19.1801 17.6922 19.7922 16.9236C20.4129 16.146 21.0888 15.5829 21.82 15.2344L22.0623 15.7706C21.4671 16.1281 20.957 16.5705 20.5319 17.0978C20.1153 17.6162 19.907 18.148 19.907 18.6932C19.907 18.7915 19.9325 18.8764 19.9835 18.9479C20.0345 19.0105 20.1238 19.0418 20.2513 19.0418C20.7955 18.9792 21.093 18.9479 21.144 18.9479C21.4586 18.9479 21.7689 19.0686 22.075 19.3099C22.3896 19.5423 22.5469 19.8908 22.5469 20.3556C22.5469 20.722 22.4236 21.0795 22.177 21.4281C21.939 21.7677 21.5351 21.9375 20.9655 21.9375C20.3533 21.9375 19.8517 21.6917 19.4606 21.2002C19.0695 20.6997 18.874 20.1366 18.874 19.511Z" fill="%23242328"/></svg>');
    background-repeat: no-repeat;
    background-position: left top
}

.review__item p {
    margin: 0;
    color: #1B191C;
    font-size: 10px;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: .3px;
    text-transform: uppercase
}

.review__item .button {
    position: relative;
    z-index: 3;
    width: auto
}

.review__item .img:before {
    content: ' ';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 40%;
    background: #1F2F28;
    backdrop-filter: blur(6px);
    z-index: 2;
    mask-image: linear-gradient(to top,#000 60%,transparent 100%);
    -webkit-mask-image: linear-gradient(to top,#000 60%,transparent 100%)
}

.review__item .img img {
    object-fit: cover
}

.reviews .bts {
    padding: 0 var(--padding-mt2);
    margin-top: 25px;
    justify-content: center
}

.reviews__container {
    margin: 0 0 30px
}

.reviews__container h2 {
    margin: 0 auto
}

.reviews__container .a.button {
    display: none
}

@media (max-width: 767px) {
    .reviews {
        height:auto!important
    }

    .reviews .js__sticky__wrapper {
        top: initial!important;
        position: relative!important
    }

    .review__slider {
        transform: translate(0,0)!important;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-snap-type: x mandatory
    }

    .review__slider:-webkit-scrollbar {
        display: none
    }

    .review__item {
        scroll-snap-align: start;
        padding: 0 0 0 20px
    }

    .review__item:last-child {
        padding: 0 10px 0 20px
    }
}

@media (min-width: 768px) {
    .review__slidercd {
        padding:0
    }

    .review__max {
        padding: 0 20px;
        max-width: var(--containerWidth-xl);
        margin-left: auto;
        margin-right: auto
    }

    .reviews__container {
        margin: 0 auto 60px;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .reviews__container h2 h2 {
        margin: 0 auto
    }

    .reviews__container .a.button {
        display: inline-flex
    }

    .reviews .bts {
        display: none
    }

    .review__item {
        width: 320px;
        flex: 0 0 320px
    }

    .review__item .in {
        min-height: 400px;
        padding: 30px
    }

    .review__item .in blockquote {
        font-size: 16px
    }
}

.tiles h2 {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto
}

ul.tiles__list {
    display: flex;
    flex-wrap: wrap;
    margin: 30px -10px 0;
    width: calc(100% + 20px)
}

.tiles__item {
    width: 100%;
    display: flex;
    padding: 10px
}

.tiles__item .in {
    position: relative;
    z-index: 2;
    height: auto;
    border-radius: var(--box-radius);
    padding: 30px;
    background-color: #F2EDE8
}

.tiles__item .in img {
    width: 100%;
    height: 32px;
    object-fit: contain;
    object-position: left center;
    margin: 0 0 40px
}

.tiles__item .in h3 {
    margin: 0 0 24px;
    font-size: 32px;
    color: var(--brown-dark)
}

.tiles__item .in p {
    margin: 0
}

.tiles__item .dots {
    pointer-events: none;
    transform: translate(-30px,30px);
    z-index: -1
}

.tiles__item .dots:before {
    background-repeat: no-repeat;
    background-position: right top;
    background-size: initial
}

.tiles__item:nth-child(4n+1) .dots:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="66" height="66" viewBox="0 0 66 66" fill="none"><circle cx="63" cy="3" r="3" transform="rotate(90 63 3)" fill="%23DDC9B5"/><circle cx="63" cy="33" r="3" transform="rotate(90 63 33)" fill="%23DDC9B5"/><circle cx="63" cy="63" r="3" transform="rotate(90 63 63)" fill="%23DDC9B5"/><circle cx="33" cy="3" r="3" transform="rotate(90 33 3)" fill="%23DDC9B5"/><circle cx="33" cy="33" r="3" transform="rotate(90 33 33)" fill="%23DDC9B5"/><circle cx="3" cy="3" r="3" transform="rotate(90 3 3)" fill="%23DDC9B5"/></svg>')
}

.tiles__item:nth-child(4n+2) .dots:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"><circle cx="33" cy="3" r="3" transform="rotate(90 33 3)" fill="%23DDC9B5"/><circle cx="33" cy="33" r="3" transform="rotate(90 33 33)" fill="%23DDC9B5"/><circle cx="3" cy="3" r="3" transform="rotate(90 3 3)" fill="%23DDC9B5"/><circle cx="3" cy="33" r="3" transform="rotate(90 3 33)" fill="%23DDC9B5"/></svg>')
}

.tiles__item:nth-child(4n+3) .dots:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="66" height="36" viewBox="0 0 66 36" fill="none"><circle cx="63" cy="3" r="3" transform="rotate(90 63 3)" fill="%23DDC9B5"/><circle cx="63" cy="33" r="3" transform="rotate(90 63 33)" fill="%23DDC9B5"/><circle cx="33" cy="3" r="3" transform="rotate(90 33 3)" fill="%23DDC9B5"/><circle cx="3" cy="3" r="3" transform="rotate(90 3 3)" fill="%23DDC9B5"/><circle cx="33" cy="33" r="3" transform="rotate(90 33 33)" fill="%23DDC9B5"/><circle cx="3" cy="33" r="3" transform="rotate(90 3 33)" fill="%23DDC9B5"/></svg>')
}

.tiles__item:nth-child(4n+4) .dots:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none"><circle cx="33" cy="3" r="3" transform="rotate(90 33 3)" fill="%23DDC9B5"/><circle cx="33" cy="33" r="3" transform="rotate(90 33 33)" fill="%23DDC9B5"/><circle cx="3" cy="3" r="3" transform="rotate(90 3 3)" fill="%23DDC9B5"/><circle cx="3" cy="33" r="3" transform="rotate(90 3 33)" fill="%23DDC9B5"/></svg>')
}

@media (min-width: 768px) {
    .tiles__item {
        width:33.33%;
        flex: 0 0 33.33%
    }

    .tiles__item .tiles__item .in {
        padding: 40px
    }

    .tiles__item .tiles__item .in img {
        margin: 0 0 80px
    }

    ul.tiles__list {
        margin: 60px -10px 0
    }
}

.formblock__in {
    border-radius: 20px;
    background: #1F2F28;
    padding: 40px 27px;
    position: relative
}

@media (min-width: 768px) {
    .formblock__in:after,.formblock__in:before {
        content:' ';
        position: absolute;
        background-repeat: no-repeat
    }

    .formblock__in:before {
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" viewBox="0 0 96 96" fill="none"><circle cx="63" cy="93" r="3" transform="rotate(-90 63 93)" fill="%23787572"/><circle cx="33" cy="93" r="3" transform="rotate(-90 33 93)" fill="%23787572"/><circle cx="3" cy="93" r="3" transform="rotate(-90 3 93)" fill="%23787572"/><circle cx="63" cy="63" r="3" transform="rotate(-90 63 63)" fill="%23787572"/><circle cx="33" cy="63" r="3" transform="rotate(-90 33 63)" fill="%23787572"/><circle cx="3" cy="63" r="3" transform="rotate(-90 3 63)" fill="%23787572"/><circle cx="33" cy="33" r="3" transform="rotate(-90 33 33)" fill="%23787572"/><circle cx="3" cy="33" r="3" transform="rotate(-90 3 33)" fill="%23787572"/><circle cx="3" cy="3" r="3" transform="rotate(-90 3 3)" fill="%23787572"/><circle cx="93" cy="93" r="3" transform="rotate(-90 93 93)" fill="%23787572"/></svg>');
        left: 60px;
        bottom: 60px;
        width: 96px;
        height: 96px
    }

    .formblock__in:after {
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="66" height="126" viewBox="0 0 66 126" fill="none"><circle cx="63" cy="63" r="3" transform="rotate(-180 63 63)" fill="%23787572"/><circle cx="63" cy="93" r="3" transform="rotate(-180 63 93)" fill="%23787572"/><circle cx="63" cy="123" r="3" transform="rotate(-180 63 123)" fill="%23787572"/><circle cx="33" cy="63" r="3" transform="rotate(-180 33 63)" fill="%23787572"/><circle cx="33" cy="93" r="3" transform="rotate(-180 33 93)" fill="%23787572"/><circle cx="33" cy="123" r="3" transform="rotate(-180 33 123)" fill="%23787572"/><circle cx="3" cy="63" r="3" transform="rotate(-180 3 63)" fill="%23787572"/><circle cx="3" cy="93" r="3" transform="rotate(-180 3 93)" fill="%23787572"/><circle cx="3" cy="123" r="3" transform="rotate(-180 3 123)" fill="%23787572"/><circle cx="63" cy="33" r="3" transform="rotate(-180 63 33)" fill="%23787572"/><circle cx="63" cy="3" r="3" transform="rotate(-180 63 3)" fill="%23787572"/><circle cx="33" cy="33" r="3" transform="rotate(-180 33 33)" fill="%23787572"/><circle cx="3" cy="33" r="3" transform="rotate(-180 3 33)" fill="%23787572"/><circle cx="33" cy="3" r="3" transform="rotate(-180 33 3)" fill="%23787572"/><circle cx="3" cy="3" r="3" transform="rotate(-180 3 3)" fill="%23787572"/></svg>');
        right: 60px;
        top: 60px;
        width: 66px;
        height: 126px
    }

    .formblock__incd {
        margin: 0 auto;
        max-width: 600px;
        position: relative;
        z-index: 2
    }

    .formblock__in {
        padding: 60px 30px
    }
}


.clc,.clc__bg {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.clc {
    position: fixed;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center
}

.clc__bg {
    position: absolute;
    background: rgba(28,27,25,.8)
}

.clc__msg {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    padding: 40px;
    max-width: 100%;
    background-color: #fff;
    font-size: 20px;
    border: 1px solid rgba(67,63,59,.25);
    box-shadow: 4px 4px 19px 0 rgba(0,0,0,.13);
    z-index: 300;
    width: 450px;
    text-align: center
}

.clc__container {
    padding: var(--margin-mt) var(--padding-mt-2);
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 3;
    width: calc(100% - 40px);
    max-width: 810px
}

.clc__container h1 {
    margin: 40px 0;
    width: 100%;
    text-align: center;
    font-size: 36px;
    font-weight: 300;
    line-height: 1.28em
}

.clc__dates {
    display: flex;
    flex-direction: column;
    align-items: center
}

.clc__dates .line {
    height: 1px;
    border: 1px solid rgba(67,63,59,.25)
}

.clc__dates h3 {
    margin: 0 0 30px;
    text-align: center;
    font-size: 28px;
    font-weight: 400;
    line-height: 32px
}

.clc__date,.clc__date .calc {
    line-height: 26px;
    display: flex
}

.clc__date {
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 400;
    margin: 20px 0
}

.clc__date .title {
    width: 70px;
    flex: 0 0 70px;
    display: flex;
    align-items: center
}

.clc__date .calc {
    flex: 1;
    font-weight: 700;
    align-items: center
}

.clc__date .calc:before {
    display: inline-block;
    content: ' ';
    width: 16px;
    height: 16px;
    margin: 0 12px;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M12.6667 2.66699H3.33333C2.59695 2.66699 2 3.26395 2 4.00033V13.3337C2 14.07 2.59695 14.667 3.33333 14.667H12.6667C13.403 14.667 14 14.07 14 13.3337V4.00033C14 3.26395 13.403 2.66699 12.6667 2.66699Z" stroke="%23433F3B" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.667 1.33301V3.99967" stroke="%23433F3B" stroke-linecap="round" stroke-linejoin="round"/><path d="M5.33301 1.33301V3.99967" stroke="%23433F3B" stroke-linecap="round" stroke-linejoin="round"/><path d="M2 6.66699H14" stroke="%23433F3B" stroke-linecap="round" stroke-linejoin="round"/></svg>')
}

.clc__date .time {
    width: 110px;
    flex: 0 0 110px;
    font-weight: 700;
    display: flex;
    align-items: center
}

.clc__date .time:before {
    display: inline-block;
    content: ' ';
    width: 16px;
    height: 16px;
    margin: 0 12px;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><g clip-path="url(%23clip0_499_2496)"><path d="M8 15.5C6.51664 15.5 5.0666 15.0601 3.83323 14.236C2.59986 13.4119 1.63856 12.2406 1.07091 10.8701C0.50325 9.49968 0.354725 7.99168 0.644114 6.53683C0.933503 5.08197 1.64781 3.7456 2.6967 2.6967C3.7456 1.64781 5.08197 0.933503 6.53683 0.644114C7.99168 0.354725 9.49968 0.50325 10.8701 1.07091C12.2406 1.63856 13.4119 2.59986 14.236 3.83323C15.0601 5.0666 15.5 6.51664 15.5 8C15.5 9.98913 14.7098 11.8968 13.3033 13.3033C11.8968 14.7098 9.98913 15.5 8 15.5ZM8 1.5C6.71443 1.5 5.45772 1.88122 4.3888 2.59545C3.31988 3.30968 2.48676 4.32484 1.99479 5.51256C1.50282 6.70028 1.3741 8.00722 1.6249 9.26809C1.8757 10.529 2.49477 11.6872 3.40381 12.5962C4.31285 13.5052 5.47104 14.1243 6.73192 14.3751C7.99279 14.6259 9.29973 14.4972 10.4874 14.0052C11.6752 13.5133 12.6903 12.6801 13.4046 11.6112C14.1188 10.5423 14.5 9.28558 14.5 8C14.5 6.2761 13.8152 4.6228 12.5962 3.40381C11.3772 2.18482 9.72391 1.5 8 1.5Z" fill="%23433F3B"/><path d="M10.12 10.83L7.64501 8.355C7.59867 8.30828 7.56201 8.25287 7.53712 8.19195C7.51224 8.13103 7.49963 8.0658 7.50001 8V4H8.50001V7.795L10.83 10.12L10.12 10.83Z" fill="%23433F3B"/></g><defs><clipPath id="clip0_499_2496"><rect width="16" height="16" fill="white"/></clipPath></defs></svg>')
}

.clc__legend {
    margin: 27px 0;
    display: flex;
    flex-direction: column
}

.clc__legend .clc__legend_l {
    width: auto;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 0 20px;
    color: #fff
}

.clc__legend .clc__legend_r {
    width: auto;
    display: flex
}

.clc__legend .clc__legend_r .occupied,.clc__legend .clc__legend_r .reserved {
    width: auto;
    display: flex;
    align-items: center;
    font-size: 14px;
    margin: 0 20px;
    color: #fff
}

.clc__legend .clc__legend_r .occupied:before,.clc__legend .clc__legend_r .reserved:before {
    content: ' ';
    width: 12px;
    height: 12px;
    margin: 0 12px 0 0;
    background-color: #FFF1CC
}

.clc__legend .clc__legend_r .occupied.occupied:before,.clc__legend .clc__legend_r .reserved.occupied:before {
    background-color: #FFE2E2
}

.clc__footer__msg,.clc__footer__msgs {
    visibility: hidden;
    display: flex;
    flex: 1;
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 6px 40px;
    min-height: 28px;
    margin: 5px 0 0;
    width: 100%;
    border-radius: 100px;
    background: #8a0000;
    text-align: center;
    font-size: 14px;
    line-height: 1em;
    font-weight: 500
}

.clc__footer__msg.active,.clc__footer__msgs.active {
    visibility: visible;
    display: flex
}

.clc__footer__msg span,.clc__footer__msgs span {
    text-align: left
}

.clc__footer__msg strong,.clc__footer__msgs strong {
    font-weight: 700
}

.clc__footer__msg:before,.clc__footer__msgs:before {
    flex: 0 0 20px;
    content: ' ';
    width: 20px;
    height: 20px;
    margin: 0 8px 0 0;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none"><path d="M10.5003 18.3337C15.1027 18.3337 18.8337 14.6027 18.8337 10.0003C18.8337 5.39795 15.1027 1.66699 10.5003 1.66699C5.89795 1.66699 2.16699 5.39795 2.16699 10.0003C2.16699 14.6027 5.89795 18.3337 10.5003 18.3337Z" stroke="white" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 13.3333V10" stroke="white" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 6.66699H10.5088" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg>')
}

.clc__footer__msg .wt,.clc__footer__msgs .wt {
    color: #fff
}

.clc__footer__msg .wt a,.clc__footer__msgs .wt a {
    color: #fff;
    text-decoration: underline
}

.clc__footer {
    display: flex;
    padding: 0 10px
}

.clc__footer .clc__footer__m {
    flex: 1;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 20px;
    min-height: 28px;
    margin: 0 20px 20px;
    border-radius: 100px;
    background: #F9F3EB;
    text-align: center;
    font-size: 14px;
    line-height: 1em;
    font-weight: 500
}

.clc__dates__footer .msg__placeholder:before,.clc__footer .clc__footer__m:before {
    margin: 0 8px 0 0;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none"><path d="M10.5003 18.3337C15.1027 18.3337 18.8337 14.6027 18.8337 10.0003C18.8337 5.39795 15.1027 1.66699 10.5003 1.66699C5.89795 1.66699 2.16699 5.39795 2.16699 10.0003C2.16699 14.6027 5.89795 18.3337 10.5003 18.3337Z" stroke="%23272322" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 13.3333V10" stroke="%23272322" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 6.66699H10.5088" stroke="%23272322" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    content: ' '
}

.clc__footer .clc__footer__m span {
    text-align: left
}

.clc__footer .clc__footer__m strong {
    font-weight: 700
}

.clc__footer .clc__footer__m:before {
    flex: 0 0 20px;
    width: 20px;
    height: 20px
}

.clc__dates__footer {
    margin: 0 0 20px;
    padding: 0 30px;
    display: flex;
    flex-direction: column;
    align-items: center
}

.clc__dates__footer .button span {
    width: auto;
    white-space: nowrap
}

.clc__dates__footer .button.disabled {
    display: none
}

.clc__dates__footer .msg__placeholder {
    display: none;
    flex: 1;
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 6px 20px;
    min-height: 28px;
    border-radius: 100px;
    background-color: #F8B0B0;
    color: #000;
    text-align: center;
    font-size: 14px;
    font-weight: 500
}

.clc__dates__footer .msg__placeholder strong {
    font-weight: 700
}

.clc__dates__footer .msg__placeholder.active {
    display: flex
}

.clc__dates__footer .msg__placeholder:before {
    width: 20px;
    height: 20px
}

.clc__close {
    position: absolute;
    right: -20px;
    top: -20px;
    width: 40px;
    height: 40px;
    background-color: var(--brown-dark);
    border-radius: 50%;
    display: block;
    z-index: 5;
    cursor: pointer;
    transition: all 150ms linear
}

.clc__close:after,.clc__close:before {
    content: ' ';
    width: 20px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(-45deg)
}

.clc__close:after {
    transform: translateX(-50%) translateY(-50%) rotate(45deg)
}

.clc__close:hover {
    background-color: var(--brown-light)
}

.clc__calendars {
    max-height: calc(100 * 1dvh - 40px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

.clc__calendars .calendar {
    display: flex;
    justify-content: center
}

.clc__calendars__border {
    border-radius: 20px;
    border: 1px solid rgba(67,63,59,.25);
    background: #FFF;
    padding: 0 10px
}

@media (max-width: 767px) {
    .clc__footer .clc__footer__m {
        margin:0
    }

    .clc__footer .clc__footer__m2 {
        display: none!important
    }

    .clc__legend {
        flex-direction: column
    }

    .clc__legend .clc__legend_l {
        text-align: center
    }

    .clc__legend .clc__legend_r {
        margin-top: 10px;
        justify-content: center
    }

    .clc__dates__footer {
        padding: 0 10px;
        margin: 10px 0
    }
}

@media (min-width: 768px) {
    .clc__container {
        padding:var(--margin-pc) var(--padding-pc-2);
        margin: 0 auto
    }

    .clc__container h1 {
        font-size: 56px;
        margin: 80px 0
    }

    .clc__dates {
        width: 40%;
        margin: 0 0 40px
    }

    .clc__dates h3 {
        margin: 60px 0 30px
    }

    .clc__legend .clc__legend_r {
        justify-content: center
    }

    .clc__legend {
        flex-direction: column
    }

    .clc__legend .clc__legend_l {
        text-align: center
    }

    .clc__footer__msg,.clc__footer__msgs {
        margin: 0 30px 20px;
        width: calc(100% - 60px)
    }
}

@media (max-width: 1023px) {
    .clc__footer .clc__footer__m2 {
        display:none
    }
}

@media (min-width: 1024px) {
    .clc__container {
        padding:var(--margin-pc) var(--padding-pc-2);
        margin: 0 auto;
        display: flex
    }

    .clc__container h1 {
        font-size: 56px;
        margin: 80px 0
    }

    .clc__calendars .calendar {
        display: flex;
        justify-content: space-evenly
    }

    .clc__legend {
        flex-direction: initial;
        justify-content: space-between;
        align-items: center
    }

    .clc__legend .clc__legend_r {
        justify-content: flex-end
    }

    .clc__dates {
        width: 33.33%;
        padding: 0 0 0 60px;
        margin: 0 auto
    }

    .clc__dates h3 {
        font-size: 40px;
        line-height: 1.3em;
        margin: 30px 0 60px
    }
}


/* =========================================
   PREMIUM EDITORIAL RESORT STYLE OVERRIDES
   ========================================= */

.room__item {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 80px 0 100px !important;
    align-items: center;
}

.room__gallery {
    padding: 0 !important;
    margin: 0 !important;
}

.room__gallery a {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    transition: opacity 0.3s ease;
}


.room__gallery .imgfooter {
    gap: 12px;
    margin-top: 12px;
}

.room__gallery a img {
    width: 100%;
    display: block;
    border-radius: 8px !important; 
}

.room__gallery a.img-0 img {
    border-radius: 8px !important;
    position: relative;
    left: auto;
    top: auto;
}

.room__txt {
    padding: 0 0 0 60px !important;
    background: transparent !important;
}

.room__txt h3 {
    font-size: 42px;
    font-weight: 400; 
    margin-bottom: 24px;
    color: var(--brown-dark);
    letter-spacing: -0.02em;
}

.room__txt p {
    font-size: 16px;
    line-height: 1.8; 
    color: #5a5550; 
    margin-bottom: 40px;
}

.room__txt ul {
    margin-top: 40px;
}

.room__txt ul li {
    margin-bottom: 24px;
    opacity: 0.9;
}


@media (max-width: 767px) {
    .room__item {
        flex-direction: column;
        margin: 60px 0 !important;
    }

    .room__txt {
        padding: 30px 0 0 0 !important;
        width: 100%;
    }
    
    .room__gallery {
        width: 100%;
    }
    
    .room__gallery .imgfooter {
        gap: 8px;
    }
}


.room__gallery .imgfooter a.img-3:before,
.room__gallery .imgfooter a.img-4:before {
    display: none !important;
    background: none !important;
}


.sub-hero__container {
    border-radius: 0 !important;
    padding: 100px 0 !important; 
    background-color: transparent !important; 
    min-height: 60vh;
}

.sub-hero {
    padding: 0 !important; 
}


/* 1. Target all images within the text/image rows */
.imgtxt__item .t_images img,
.imgtxt__item .t_images .img-1,
.imgtxt__item .t_images .img-2,
.imgtxt__item .t_images .img-3 {
    border-radius: 8px !important;
    box-shadow: none !important; 
}

.imgtxt__item .t_images {
    padding: 0 !important; 
}

.room__gallery .imgfooter {
    display: flex;
    gap: 4px;
    margin-top: 12px;
    padding: 0;
}

.room__gallery-progress-bar {
    flex: 1;
    height: 3px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.2s ease;
}

.room__gallery-progress-bar:hover {
    height: 4px;
    background: rgba(0, 0, 0, 0.15);
}

.room__gallery-progress-bar.active {
    background: rgba(0, 0, 0, 0.2);
}

.room__gallery-progress-bar.active::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: #3E3A36;
    animation: progressBarFill 3s linear forwards;
}

@keyframes progressBarFill {
    from { width: 0; }
    to { width: 100%; }
}

@media (max-width: 767px) {
    .room__gallery .imgfooter {
        gap: 3px;
    }
    
    .room__gallery-progress-bar {
        height: 2px;
    }
    
    .room__gallery-progress-bar:hover {
        height: 3px;
    }
}