html {
    line-height: 1.15;
    text-size-adjust: 100%;
    font-size: 16px;

    /* scroll-behavior: smooth; */
    scrollbar-gutter: stable;
}

html.lg-on body {
    overflow: hidden;
}

body {
    font-family: proxima-nova, sans-serif !important;
    color: #382f2d;
    line-height: 1.3;
    margin: 0 !important;
    padding: 0;
    font-weight: 400;
    background: #fff;
    overflow-x: hidden;
    position: relative;
    box-sizing: border-box;
}

main::after {
    content: '';
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 90%);
    z-index: 4;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

body.menu-active main::after {
    opacity: 0.4;
    transition: opacity 0.3s ease-in-out;
}

body.menu-active {
    overflow: hidden;
}

span,
div,
button,
a {
    -webkit-tap-highlight-color: transparent; /* mobile tap highlight */
    user-select: none; /* optional: prevents text selection on click */
}

/*
.text-white {
    color: #fff !important;
} */

.hyperlink {
    position: relative;
    cursor: pointer;
    /* font-weight: 600; */
    color: #781c4d !important;
}

a.hyperlink {
    text-decoration: none !important;
    text-decoration-color: #781c4d !important;

    /* color:#e0601f !important; */
}

a.hyperlink:hover {
    text-decoration: none !important;
    color: #fff !important;
}

.hyperlink:hover::after {
    height: 100%;
    transition: height 0.3s ease-in-out;
}

.hyperlink::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #781c4d;
    height: 1px;
    width: 100%;
    transition: height 0.3s ease-in-out;
    z-index: -1;
}

/* SCROLL BAR COLOR For Chrome, Edge, Safari */
::-webkit-scrollbar {
    width: 8px; /* Width of the scrollbar */
}

/* Hide the top and bottom arrows (scrollbar buttons) */
::-webkit-scrollbar-button {
    display: none;
    height: 0;
}

::-webkit-scrollbar-track {
    background: #e0e0e0; /* Track color */
}

::-webkit-scrollbar-thumb {
    background-color: gray; /* thumb color, track color */
    border-radius: 0; /* square */
    border: none;
}

::-webkit-scrollbar-thumb:hover {
    background-color: gray; /* Thumb color on hover */
}

/* END SCROLLBAR CODE */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: proxima-nova, sans-serif;
    font-size: 1em;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp {
    font-family: proxima-nova, sans-serif;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

[type='button'],
[type='reset'],
[type='submit'],
button {
    appearance: auto;
}

[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type='checkbox'],
[type='radio'] {
    box-sizing: border-box;
    padding: 0;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
    height: auto;
}

[type='search'] {
    appearance: textfield;
    outline-offset: -2px;
}

[type='search']::-webkit-search-decoration {
    appearance: none;
}

::-webkit-file-upload-button {
    appearance: auto;
    font: inherit;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

.font {
    font-family: proxima-nova, sans-serif;
}

.font2 {
    font-family: proxima-nova, sans-serif;
}

@media (width <= 1800px) {
    html {
        font-size: 15px;
    }
}

@media (width <= 1500px) {
    html {
        font-size: 14.55px;
    }
}

#content {
    background: #fff;
    overflow-x: hidden;
}

body,
html {
    max-width: 100% !important;
    height: 100%;
    min-height: 100%;
    min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: miller-banner, serif;
    margin: 0;
}

#cursor {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15px;
    height: 15px;
    mix-blend-mode: difference;
    background: radial-gradient(circle at 18.7% 37.8%, #fafafa 0, #e1eaee 90%);
    background: #382f2d;
    border-radius: 50%;
    pointer-events: none;
    transition: ease-out 0.17s, opacity 1.4s ease-in;
    z-index: 100000;
}

#cursor.hover {
    width: 70px;
    height: 70px;
}

#cursor.arrows {
    mix-blend-mode: normal;
    opacity: 0.8;
}

#cursor.arrows::after {
    content: '';
    background: url('/images/assets/arrows.svg');
    background-size: cover;
    width: 24px;
    height: 10px;
    z-index: 100001;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#cursor.none {
    opacity: 0 !important;
}

@media (width <= 1024px) {
    #cursor {
        display: none !important;
        opacity: 0 !important;
    }
}

@media (hover: none) {
    #cursor {
        display: none !important;
        opacity: 0 !important;
    }
}

h1,
h2,
h3,
h4,
li,
p {
    cursor: default;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

a {
    text-decoration: none;
    outline: 0;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    display: inline-block;
    color: #5e5554;
}

a:hover {
    color: #5e5554;
    text-decoration: none;
    cursor: pointer;
}

li,
p {
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin: 0 0 20px;
    font-weight: unset;
    letter-spacing: 0.8px;
}

@media (width <= 820px) {
    li,
    p {
        font-size: 16px;
        margin: 0 0 17px;
    }

    .our-team .gallery-up article img {
        height: 80vw !important;
    }
}

p.pretit {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    line-height: 1.5625rem;
    letter-spacing: 0.3125rem;
    font-weight: 400;
    text-transform: uppercase;
}

.home-mru .tit1,
.home-mru .pretit {
    cursor: pointer;
}

/* Home page new code */
#home-intro .col-img {
    margin: 0;
    width: 100%;
    grid-column: 1;
    grid-row: 1;
    place-self: center center;
}

#home-intro .col-txt {
    margin: 0;
    width: 100%;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
}

.feat {
    font-family: miller-banner, serif;
    font-style: italic;
    font-size: 1.75rem;
    line-height: 2.25rem;
    margin-bottom: 25px;
    font-weight: 350;
    color: #5e5554;
}

.feat a {
    border-bottom: 1px solid #5e5554;
    line-height: 1;
}

.feat a:hover {
    color: #d7cdc3;
    border-color: #d7cdc3;
}

.feat .mb {
    margin-bottom: 55px;
}

.tit1,
h1 {
    font-family: miller-banner, serif;
    font-size: 5.625rem;
    font-weight: 400;
    line-height: 5.9375rem;
    letter-spacing: -0.05625rem;
}

.tit2 {
    font-size: 4.68rem;
    line-height: 4.68rem;
    font-weight: 400;
    letter-spacing: -0.05625rem;
}

.tit3 {
    font-family: miller-banner, serif;
    font-size: 3rem;
    line-height: 1.28;
    font-weight: 350;
    color: #382f2d;
}

.tit4 {
    font-family: miller-banner, serif;

    /* text-transform: uppercase; */
    font-size: 2rem;
    line-height: 1.28;
    font-weight: 350;
    color: #382f2d;
}

@media (width <= 1500px) {
    p.pretit {
        font-size: 1.1rem;
    }

    .feat {
        font-size: 1.6rem;
        line-height: 1.32;
    }

    .tit1,
    h1 {
        font-size: 4.9rem;
    }

    .tit2 {
        font-size: 4.4rem;
    }
}

@media (width <= 1240px) {
    p.pretit {
        font-size: 15px;
    }

    .tit1,
    h1 {
        font-size: 4.5rem;
    }

    .tit2 {
        font-size: 4.1rem;
        line-height: 1;
    }

    .tit3 {
        font-size: 1.6rem;
    }
}

@media (width <= 1024px) {
    .feat {
        font-size: 22px;
        line-height: 1.3;
    }

    .feat p.mb,
    .mb {
        margin-bottom: 40px;
    }

    .tit2 {
        font-size: 3.9rem;
    }
}

@media (width <= 820px) {
    p.pretit {
        font-size: 14px;
        letter-spacing: 3.4px;
        margin-bottom: 25px;
        line-height: 1.32;
    }

    .feat p,
    p.feat {
        margin-bottom: 22px;
    }

    .tit1,
    h1 {
        font-size: 42px;
        line-height: 1.07;
        letter-spacing: 0.5px;
    }

    .tit2 {
        font-size: 40px;
        line-height: 1.07;
    }

    .tit1 br,
    .tit2 br,
    h1 br {
        display: none;
    }

    .tit3 {
        font-size: 26px;
    }
}

.tit-center {
    text-align: center;
    margin-bottom: 100px;
}

.tit-center .tit2 {
    margin-bottom: 30px;
}

@media (width <= 1800px) {
    .tit-center {
        margin-bottom: 90px;
    }
}

@media (width <= 1500px) {
    .tit-center {
        margin-bottom: 80px;
    }
}

@media (width <= 1240px) {
    .tit-center {
        margin-bottom: 70px;
    }

    .tit-center .feat {
        margin-top: 0;
    }
}

@media (width <= 820px) {
    .tit-center {
        margin-bottom: 40px;
    }
}

.page-intro .feat p,
.page-intro p.feat {
    max-width: 480px;
}

.page-intro .indent {
    margin-top: 20px;
}

.page-intro .indent .feat p,
.page-intro .indent p.feat {
    max-width: 550px;
}

.page-intro.center,
.tit-center {
    text-align: center;
}

.page-intro.center p,
.tit-center p {
    margin: 50px auto 0;
    max-width: 760px;
}

.inner-txt.mt {
    margin-top: 100px;
}

.inner-txt.mt-s {
    margin-top: 25px;
}

.inner-txt.mt-m {
    margin-top: 60px;
}

.inner-txt p,
.inner-txt p.feat {
    max-width: 420px;
}

.inner-txt p a {
    color: #382f2d;
    text-decoration: underline;
}

.inner-txt p a:hover {
    color: #5e5554;
}

.inner-txt p strong {
    font-weight: 500;
}

.inner-txt .links {
    margin-top: 60px;
}

.inner-txt .links.mt-m {
    margin-top: 80px;
}

.inner-txt .links.mt {
    margin-top: 100px;
}

.inner-txt .links-inline {
    margin-top: 120px;
}

@media (width <= 1800px) {
    .inner-txt.mt {
        margin-top: 90px;
    }

    .inner-txt .links-inline {
        margin-top: 110px;
    }
}

@media (width <= 1500px) {
    .inner-txt .links {
        margin-top: 52px;
    }

    .inner-txt.mt {
        margin-top: 80px;
    }

    .inner-txt .links.mt {
        margin-top: 80px;
    }

    .inner-txt .links-inline {
        margin-top: 100px;
    }
}

@media (width <= 1240px) {
    .inner-txt.mt {
        margin-top: 70px;
    }

    .inner-txt .links.mt {
        margin-top: 70px;
    }

    .inner-txt .links-inline {
        margin-top: 90px;
    }
}

@media (width <= 820px) {
    .inner-txt.mt {
        margin-top: 40px;
    }

    .inner-txt .links {
        margin-top: 40px;
    }

    .inner-txt .links.mt {
        margin-top: 40px;
    }

    .inner-txt .links-inline {
        margin-top: 40px;
    }

    .home-prac .inner-txt.mt {
        margin: 0;
    }
}

.links ul {
    margin: 0;
    padding: 0;
}

.links li {
    list-style: none;
    margin: 28px 0;
}

.links a {
    display: inline;
    width: auto;
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.245rem;
    color: #382f2d;
    transition: all 0.35s ease-in-out;
}

.links a:hover {
    color: #e7e0da;
}

.links.links-inline li {
    display: inline-block;
    margin: 0;
    margin-right: 33px;
}

.links.links-inline li:last-child {
    margin: 0;
}

@media (width <= 1800px) {
    .links a {
        letter-spacing: 0.23rem;
    }

    .links.links-inline li {
        margin-right: 30px;
    }
}

@media (width <= 1500px) {
    .links a {
        letter-spacing: 0.2rem;
    }

    .links li {
        margin: 22px 0;
    }

    .links.links-inline li {
        margin-right: 28px;
    }
}

@media (width <= 1240px) {
    .links.links-inline li {
        display: block;
        margin-bottom: 22px;
    }
}

@media (width <= 1023px) {
    .links a {
        font-size: 14px;
        letter-spacing: 0.19rem;
    }

    .links li {
        margin: 20px 0;
    }

    .links li:last-child {
        margin-bottom: 10px;
    }

    .links.links-inline li {
        display: block;
        margin-bottom: 20px;
    }

    .overlay .overlay-menu .submenu li {
        padding: 20px 0;
    }
}

.link-txt,
.link-txt-arrow {
    font-size: 1.875rem;
    font-family: miller-banner, serif;
    color: #382f2d;
    transition: all 0.25s ease-in-out;
    text-decoration: none !important;
}

.link-txt-arrow:hover,
.link-txt:hover {
    font-style: italic;
    color: #5e5554;
}

.link-txt-arrow i::before {
    content: url('../images/assets/flecha-villas.svg');
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    font-size: 1.3rem;
    margin-right: 13px;
    position: relative;
    animation: moveChevron 0.7s infinite alternate;
}

.link-txt-arrow:hover i::before {
    content: url('../images/assets/flecha-villas-clara.svg');
}

@keyframes moveChevron {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(8px);
    }
}

@keyframes moveChevron {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(8px);
    }
}

.lg-video-object::-webkit-media-controls {
    display: flex !important;
    opacity: 1 !important;
}

.lg-video-cont {
    /* max-width: 1280px !important; */
    max-width: 90% !important;
    margin: 0 auto;
    width: 100% !important;
    height: 720px !important;
}

@media (width <= 1240px) {
    .btn {
        padding: 7px 15px 6px 17px;
    }
}

.center {
    margin: 0 auto;
    text-align: center;
}

.video-expand {
    margin-top: 150px;
    position: relative;
    display: grid;
    align-items: center;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden;
    width: calc(100% - 140px * 2);
    height: 720px;
}

.video-expand .txt {
    position: absolute;
    width: 100%;
    text-align: center;
    padding: 0 32px;
    box-sizing: border-box;
}

.video-expand .txt p {
    color: #fff;
}

.video-expand video {
    width: 100%;
    height: 720px;
    object-fit: cover;
}

@media (width <= 1800px) {
    .video-expand {
        height: 700px;
    }

    .video-expand video {
        height: 700px;
    }
}

@media (width <= 1500px) {
    .video-expand {
        height: 650px;
    }

    .video-expand video {
        height: 650px;
    }
}

@media (width <= 1240px) {
    .video-expand {
        height: 610px;
    }

    .video-expand video {
        height: 610px;
    }
}

@media (width <= 820px) {
    .video-expand {
        width: 100%;
    }

    .video-expand video {
        height: 350px;
    }

    .video-expand .txt .tit1,
    .video-expand .txt p {
        max-width: 237px;
        margin: 0 auto;
    }

    .section-video-coffee .btn-chamarel-unique .tit2 {
        font-size: 30px;
        width: 98vw;
        position: relative;
    }

    .section-video-coffee .btn-chamarel-unique .btn.btn-no-fill-white {
        margin-top: 0 !important;
    }
}

.video-expand-gastro {
    height: 700px;
}

.video-expand-gastro video {
    height: 700px;
}

@media (width <= 1500px) {
    .video-expand-gastro {
        height: 640px;
    }

    .video-expand-gastro video {
        height: 640px;
    }
}

@media (width <= 1240px) {
    .video-expand-gastro {
        height: 600px;
    }

    .video-expand-gastro video {
        height: 600px;
    }
}

@media (width <= 820px) {
    .video-expand-gastro {
        height: 560px;
    }

    .video-expand-gastro video {
        height: 560px;
    }
}

.video-banner {
    height: 790px;
    position: relative;
    display: grid;
    align-items: center;
}

.video-banner .banner-txt {
    z-index: 2;
    width: 100%;
    text-align: center;
    padding: 0 32px;
    box-sizing: border-box;
}

.video-banner .banner-txt .tit1,
.video-banner .banner-txt .tit2,
.video-banner .banner-txt a,
.video-banner .banner-txt p {
    color: #fff;
}

.video-banner .banner-txt a:hover {
    font-style: italic;
}

.video-banner video {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-banner::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.1;
}

@media (width <= 1800px) {
    .video-banner {
        height: 740px;
    }
}

@media (width <= 1500px) {
    .video-banner {
        height: 680px;
    }
}

@media (width <= 1240px) {
    .video-banner {
        height: 640px;
    }
}

@media (width <= 820px) {
    .video-banner {
        height: 610px;
    }
}

.home-banner {
    height: 900px;
}

@media (width <= 1800px) {
    .home-banner {
        height: 800px;
    }
}

@media (width <= 1500px) {
    .home-banner {
        height: 700px;
    }
}

@media (width <= 1240px) {
    .home-banner {
        height: 600px;
    }
}

@media (width <= 820px) {
    .home-banner {
        height: 380px;
    }
}

.reservar-banner {
    height: 690px;
}

@media (width <= 1240px) {
    .reservar-banner {
        height: 560px;
    }
}

@media (width <= 820px) {
    .reservar-banner {
        height: 380px;
    }
}

.video-wrapper video {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    object-fit: cover;
    max-height: 720px;
}

.video-wrapper.veil::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 30%);
}

.banner {
    position: relative;
    display: grid;
    align-items: center;
}

#header-home {
    display: block !important;
    position: relative;
}

#header-home .swiper-btns {
    z-index: 100;
}

.swiper-experiences .swiper-pagination {
    padding-bottom: 10px;
}

.swiper-experiences .swiper-pagination-bullet {
    background: none;
    border: 2px solid #fff;
    opacity: 1;
}

.swiper-experiences .swiper-pagination-bullet-active {
    background-color: #fff;
}

.swiper-pagination-fraction {
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    line-height: 1;
    z-index: 20 !;
}

.swiper-pagination-container {
    position: absolute;
    bottom: 20px;
    right: 52px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 25px;
    font-family: miller-banner;
}

.swiper-pagination-container .swiper-pagination-current {
    font-size: 3rem;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / 23%);
    width: 100%;
    z-index: 1;
}

.swiper-btns svg {
    cursor: pointer;
}

.swiper-btns .arrow-right,
.swiper-btns .arrow-left {
    transition: transform 0.3s ease-in-out;
}

/* Apply hover on parent (e.g., button or container), not the svg itself */
.swiper-btns svg:hover .arrow-right {
    transform: translateX(45px);
}

.swiper-btns svg:hover .arrow-left {
    transform: translateX(-45px);
}

.swiper-pagination {
    color: white;
    font-size: 16px;
}

.swiper-btns {
    display: flex;
    gap: 15px;
    position: relative;
}

#header-home .swiper-pagination.swiper-pagination-fraction.swiper-pagination-horizontal {
    position: static;
    width: auto;
}

#header-home .txt-wrapper {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin: 0 !important;
}

#header-home .txt-wrapper h1 {
    padding: 0 10px;
}

.banner .txt-wrapper {
    position: absolute;
    text-align: center;
    z-index: 2;
    width: 100%;
    box-sizing: border-box;
}

.banner .txt-wrapper .tit1,
.banner .txt-wrapper .tit2,
.banner .txt-wrapper a,
.banner .txt-wrapper p {
    color: #fff;
}

.banner .txt-wrapper .tit1,
.banner .txt-wrapper .tit2 {
    margin-bottom: 20px;
}

.banner .txt-wrapper .tit1 a:hover {
    font-style: italic;
}

.banner img {
    display: block;
    object-fit: cover;
    width: 100%;
    max-height: 720px;
    min-height: 620px;
}

.banner.veil-3::after,
.banner.veil::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    opacity: 0.2;
}

.banner.veil-3::after {
    opacity: 0.3;
}

@media (width <= 1023px) {
    .banner img {
        min-height: 500px;
    }
}

@media (width <= 820px) {
    .banner img {
        min-height: 380px;
    }
}

@media (width <= 820px) {
    .banner .txt-wrapper .tit1,
    .banner .txt-wrapper .tit2 {
        margin-bottom: 15px;
    }
}

.spa-banner img {
    max-height: 810px;
}

.shop-banner img {
    max-height: 780px;
}

@media (width <= 1800px) {
    .shop-banner img,
    .spa-banner img {
        max-height: 750px;
    }
}

@media (width <= 1500px) {
    .shop-banner img,
    .spa-banner img {
        max-height: 700px;
    }
}

@media (width <= 1240px) {
    .shop-banner img,
    .spa-banner img {
        max-height: 620px;
    }
}

@media (width <= 1023px) {
    .shop-banner img,
    .spa-banner img {
        max-height: 580px;
    }
}

.parallax {
    min-height: 720px;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.parallax.spa-banner {
    min-height: 810px;
}

@media (width <= 1800px) {
    .parallax {
        min-height: 680px;
    }
}

@media (width <= 1500px) {
    .parallax {
        min-height: 640px;
    }
}

@media (width <= 1024px) {
    .parallax {
        background-attachment: inherit;
        position: relative;
        min-height: 450px;
    }

    .parallax::after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #000;
        opacity: 0.3;
    }
}

.anchor {
    display: block;
    position: relative;
    top: -100px;
}

@media (width <= 820px) {
    .anchor {
        top: -90px;
    }
}

.page-tratamientos .anchor {
    top: -220px;
}

@media (width <= 820px) {
    .page-tratamientos .anchor {
        top: -200px;
    }
}

@media (width <= 820px) {
    video::-webkit-media-controls {
        display: none !important;
    }
}

.gallery-up {
    padding-top: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.sustainability.gallery-up {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.gallery-up article {
    text-align: center;
    transition: all 0.55s ease-in-out;
}

.gallery-up article .img-wrapper {
    margin-bottom: 28px;
}

.gallery-up article img {
    aspect-ratio: 460/720;
    width: 100%;
    height: 38vw;
    max-height: 900px;
    object-fit: cover;
}

.gallery-up article .desc,
.gallery-up article .tit3 {
    padding: 0 30px;
}

.gallery-up article .num {
    font-family: miller-banner, serif;
    font-size: 5.625rem;
    line-height: 1;
    font-weight: 350;
    margin: 40px 0 0;
}

.gallery-up article .desc {
    max-width: 300px;
    margin: 0 auto;
    opacity: 0;
    visibility: hidden;
    transition: all 0.8s ease-in-out;
}

.gallery-up article .desc p:last {
    margin-bottom: 0;
}

.gallery-up article p {
    transition: all 0.35s ease-in-out;
}

.gallery-up article:hover {
    transform: translateY(-100px);
    transform: translateY(-9%);
}

.gallery-up article:hover .desc {
    opacity: 1;
    visibility: visible;
}

.gallery-up article:hover p {
    color: #5e5554;
}

@media (width <= 1240px) {
    .gallery-up article .img-wrapper {
        margin-bottom: 25px;
    }

    .gallery-up article .desc,
    .gallery-up article .tit3 {
        padding: 0 20px;
    }
}

@media (width <= 820px) {
    .gallery-up {
        grid-template-columns: 1fr;
    }

    .gallery-up article {
        margin-bottom: 30px;
    }

    .gallery-up article:last-child {
        margin-bottom: 30px;
    }

    .gallery-up article .img-wrapper {
        margin-bottom: 25px;
    }

    .gallery-up article .img-wrapper img {
        height: 360px;
    }

    .gallery-up article .desc,
    .gallery-up article .tit3 {
        padding: 0;
    }

    .gallery-up article .tit3 {
        margin-bottom: 13px;
    }

    .gallery-up article .num {
        font-size: 4.8rem;
        margin-top: -5px;
    }

    .gallery-up article .desc {
        opacity: 1;
        visibility: visible;
    }

    .gallery-up article:hover {
        transform: none;
    }
}

@media (width <= 820px) {
    .hidden-xs {
        display: none;
    }
}

.visible-xs {
    display: none;
}

@media (width <= 820px) {
    .visible-xs {
        display: block;
    }
}

.container {
    margin: 0 auto;
    padding: 0 140px;
}

.container.full {
    padding: 0 !important;
}

.container.big {
    padding: 0 52px;
}

.container.small {
    padding: 0 11.8vw;
}

.container.mr0 {
    padding-right: 0;
}

.container.ml0 {
    padding-left: 0;
}

@media (width <= 1500px) {
    .container {
        padding: 0 52px;
    }

    .container.small {
        padding: 0 52px;
    }

    #odd-even-block .generic-row-7 .cols2 {
        padding: 0 0 0 52px;
    }
}

@media (width <= 1024px) {
    #odd-even-block .generic-row-7 .cols2 {
        padding: 0;
    }
    #odd-even-block .generic-row-7 .cols2 .col-img {
        order: 1;
    }
    #odd-even-block .generic-row-7 .cols2 .col-txt {
        order: 2;
    }
}

@media (width<=1240px) {
    #odd-even-block img {
        width: 100%;
        height: 400px;
    }
}

@media (width <= 820px) {
    .container {
        padding: 0 32px;
    }
    .container.big {
        padding: 0 32px;
    }

    .container.small {
        padding: 0 32px;
    }
    #odd-even-block .cols2 {
        padding: 0;
        grid-template-columns: 1fr;
        gap: 15px;
    }

    #odd-even-block .cols2 .col-txt p,
    #odd-even-block .indent {
        width: 100%;
        max-width: unset;
    }

    #odd-even-block section {
        margin: 40px 0;
    }

    #odd-even-block .generic-row-7 .cols2 .col-img {
        order: 2;
    }
    #odd-even-block .generic-row-7 .cols2 .col-txt {
        order: 1;
    }

    #odd-even-block img {
        height: 100%;
    }
}

.full {
    max-width: 100%;
    box-sizing: border-box;
}

.section,
.section-l,
.section-m,
.section-s,
.section-xl,
.section-xxl {
    margin: 120px 0;
}

.section-l.section-s,
.section-m.section-s,
.section-s.section-s,
.section-xl.section-s,
.section-xxl.section-s,
.section.section-s {
    margin: 92px 0;
}

.section-l.section-m,
.section-m.section-m,
.section-s.section-m,
.section-xl.section-m,
.section-xxl.section-m,
.section.section-m {
    margin: 120px 0;
}

.section-l.section-l,
.section-m.section-l,
.section-s.section-l,
.section-xl.section-l,
.section-xxl.section-l,
.section.section-l {
    margin: 160px 0;
}

.section-l.section-xl,
.section-m.section-xl,
.section-s.section-xl,
.section-xl.section-xl,
.section-xxl.section-xl,
.section.section-xl {
    margin: 190px 0;
}

.section-l.section-xxl,
.section-m.section-xxl,
.section-s.section-xxl,
.section-xl.section-xxl,
.section-xxl.section-xxl,
.section.section-xxl {
    margin: 240px 0;
}

.section-l.mt,
.section-m.mt,
.section-s.mt,
.section-xl.mt,
.section-xxl.mt,
.section.mt {
    margin-top: 120px;
}

.section-l.mt-l,
.section-m.mt-l,
.section-s.mt-l,
.section-xl.mt-l,
.section-xxl.mt-l,
.section.mt-l {
    margin-top: 160px;
}

.section-l.mt-xl,
.section-m.mt-xl,
.section-s.mt-xl,
.section-xl.mt-xl,
.section-xxl.mt-xl,
.section.mt-xl {
    margin-top: 190px;
}

.section-l.mb-xl,
.section-m.mb-xl,
.section-s.mb-xl,
.section-xl.mb-xl,
.section-xxl.mb-xl,
.section.mb-xl {
    margin-bottom: 190px;
}

@media (width <= 1800px) {
    .section,
    .section-l,
    .section-m,
    .section-s,
    .section-xl,
    .section-xxl {
        margin: 110px 0;
    }

    .section-l.section-s,
    .section-m.section-s,
    .section-s.section-s,
    .section-xl.section-s,
    .section-xxl.section-s,
    .section.section-s {
        margin: 90px 0;
    }

    .section-l.section-m,
    .section-m.section-m,
    .section-s.section-m,
    .section-xl.section-m,
    .section-xxl.section-m,
    .section.section-m {
        margin: 110px 0;
    }

    .section-l.section-l,
    .section-m.section-l,
    .section-s.section-l,
    .section-xl.section-l,
    .section-xxl.section-l,
    .section.section-l {
        margin: 140px 0;
    }

    .section-l.section-xl,
    .section-m.section-xl,
    .section-s.section-xl,
    .section-xl.section-xl,
    .section-xxl.section-xl,
    .section.section-xl {
        margin: 180px 0;
    }

    .section-l.section-xxl,
    .section-m.section-xxl,
    .section-s.section-xxl,
    .section-xl.section-xxl,
    .section-xxl.section-xxl,
    .section.section-xxl {
        margin: 220px 0;
    }

    .section-l.mt,
    .section-m.mt,
    .section-s.mt,
    .section-xl.mt,
    .section-xxl.mt,
    .section.mt {
        margin-top: 110px;
    }

    .section-l.mt-l,
    .section-m.mt-l,
    .section-s.mt-l,
    .section-xl.mt-l,
    .section-xxl.mt-l,
    .section.mt-l {
        margin-top: 140px;
    }

    .section-l.mt-xl,
    .section-m.mt-xl,
    .section-s.mt-xl,
    .section-xl.mt-xl,
    .section-xxl.mt-xl,
    .section.mt-xl {
        margin-top: 180px;
    }

    .section-l.mb-xl,
    .section-m.mb-xl,
    .section-s.mb-xl,
    .section-xl.mb-xl,
    .section-xxl.mb-xl,
    .section.mb-xl {
        margin-bottom: 180px;
    }

    .section-l.page-intro,
    .section-m.page-intro,
    .section-s.page-intro,
    .section-xl.page-intro,
    .section-xxl.page-intro,
    .section.page-intro {
        margin-bottom: 80px;
    }
}

@media (width <= 1500px) {
    .section,
    .section-l,
    .section-m,
    .section-s,
    .section-xl,
    .section-xxl {
        margin: 100px 0;
    }

    .section-l.section-s,
    .section-m.section-s,
    .section-s.section-s,
    .section-xl.section-s,
    .section-xxl.section-s,
    .section.section-s {
        margin: 80px 0;
    }

    .section-l.section-m,
    .section-m.section-m,
    .section-s.section-m,
    .section-xl.section-m,
    .section-xxl.section-m,
    .section.section-m {
        margin: 100px 0;
    }

    .section-l.section-l,
    .section-m.section-l,
    .section-s.section-l,
    .section-xl.section-l,
    .section-xxl.section-l,
    .section.section-l {
        margin: 130px 0;
    }

    .section-l.section-xl,
    .section-m.section-xl,
    .section-s.section-xl,
    .section-xl.section-xl,
    .section-xxl.section-xl,
    .section.section-xl {
        margin: 170px 0;
    }

    .section-l.section-xxl,
    .section-m.section-xxl,
    .section-s.section-xxl,
    .section-xl.section-xxl,
    .section-xxl.section-xxl,
    .section.section-xxl {
        margin: 180px 0;
    }

    .section-l.mt,
    .section-m.mt,
    .section-s.mt,
    .section-xl.mt,
    .section-xxl.mt,
    .section.mt {
        margin-top: 110px;
    }

    .section-l.mt-l,
    .section-m.mt-l,
    .section-s.mt-l,
    .section-xl.mt-l,
    .section-xxl.mt-l,
    .section.mt-l {
        margin-top: 130px;
    }

    .section-l.mt-xl,
    .section-m.mt-xl,
    .section-s.mt-xl,
    .section-xl.mt-xl,
    .section-xxl.mt-xl,
    .section.mt-xl {
        margin-top: 170px;
    }

    .section-l.mb-xl,
    .section-m.mb-xl,
    .section-s.mb-xl,
    .section-xl.mb-xl,
    .section-xxl.mb-xl,
    .section.mb-xl {
        margin-bottom: 170px;
    }

    .section-l.page-intro,
    .section-m.page-intro,
    .section-s.page-intro,
    .section-xl.page-intro,
    .section-xxl.page-intro,
    .section.page-intro {
        margin-bottom: 70px;
    }
}

@media (width <= 1240px) {
    .section,
    .section-l,
    .section-m,
    .section-s,
    .section-xl,
    .section-xxl {
        margin: 90px 0;
    }

    .section-l.section-s,
    .section-m.section-s,
    .section-s.section-s,
    .section-xl.section-s,
    .section-xxl.section-s,
    .section.section-s {
        margin: 70px 0;
    }

    .section-l.section-m,
    .section-m.section-m,
    .section-s.section-m,
    .section-xl.section-m,
    .section-xxl.section-m,
    .section.section-m {
        margin: 90px 0;
    }

    .section-l.section-l,
    .section-m.section-l,
    .section-s.section-l,
    .section-xl.section-l,
    .section-xxl.section-l,
    .section.section-l {
        margin: 100px 0;
    }

    .section-l.section-xl,
    .section-m.section-xl,
    .section-s.section-xl,
    .section-xl.section-xl,
    .section-xxl.section-xl,
    .section.section-xl {
        margin: 130px 0;
    }

    .section-l.section-xxl,
    .section-m.section-xxl,
    .section-s.section-xxl,
    .section-xl.section-xxl,
    .section-xxl.section-xxl,
    .section.section-xxl {
        margin: 170px 0;
    }

    .section-l.mt,
    .section-m.mt,
    .section-s.mt,
    .section-xl.mt,
    .section-xxl.mt,
    .section.mt {
        margin-top: 100px;
    }

    .section-l.mt-l,
    .section-m.mt-l,
    .section-s.mt-l,
    .section-xl.mt-l,
    .section-xxl.mt-l,
    .section.mt-l {
        margin-top: 100px;
    }

    .section-l.mt-xl,
    .section-m.mt-xl,
    .section-s.mt-xl,
    .section-xl.mt-xl,
    .section-xxl.mt-xl,
    .section.mt-xl {
        margin-top: 120px;
    }

    .section-l.mb-xl,
    .section-m.mb-xl,
    .section-s.mb-xl,
    .section-xl.mb-xl,
    .section-xxl.mb-xl,
    .section.mb-xl {
        margin-bottom: 120px;
    }

    .section-l.page-intro .tit2,
    .section-m.page-intro .tit2,
    .section-s.page-intro .tit2,
    .section-xl.page-intro .tit2,
    .section-xxl.page-intro .tit2,
    .section.page-intro .tit2 {
        margin-bottom: 30px;
    }

    .section-l.page-intro p.feat,
    .section-m.page-intro p.feat,
    .section-s.page-intro p.feat,
    .section-xl.page-intro p.feat,
    .section-xxl.page-intro p.feat,
    .section.page-intro p.feat {
        margin-top: 0;
    }
}

@media (width <= 1023px) {
    .section,
    .section-l,
    .section-m,
    .section-s,
    .section-xl,
    .section-xxl {
        margin: 80px 0;
    }

    .section-l.section-s,
    .section-m.section-s,
    .section-s.section-s,
    .section-xl.section-s,
    .section-xxl.section-s,
    .section.section-s {
        margin: 60px 0;
    }

    .section-l.section-m,
    .section-m.section-m,
    .section-s.section-m,
    .section-xl.section-m,
    .section-xxl.section-m,
    .section.section-m {
        margin: 80px 0;
    }

    .section-l.section-l,
    .section-m.section-l,
    .section-s.section-l,
    .section-xl.section-l,
    .section-xxl.section-l,
    .section.section-l {
        margin: 100px 0;
    }

    .section-l.section-xl,
    .section-m.section-xl,
    .section-s.section-xl,
    .section-xl.section-xl,
    .section-xxl.section-xl,
    .section.section-xl {
        margin: 120px 0;
    }

    .section-l.section-xxl,
    .section-m.section-xxl,
    .section-s.section-xxl,
    .section-xl.section-xxl,
    .section-xxl.section-xxl,
    .section.section-xxl {
        margin: 160px 0;
    }

    .section-l.mt,
    .section-m.mt,
    .section-s.mt,
    .section-xl.mt,
    .section-xxl.mt,
    .section.mt {
        margin-top: 110px;
    }

    .section-l.mt-l,
    .section-m.mt-l,
    .section-s.mt-l,
    .section-xl.mt-l,
    .section-xxl.mt-l,
    .section.mt-l {
        margin-top: 100px;
    }

    .section-l.mt-xl,
    .section-m.mt-xl,
    .section-s.mt-xl,
    .section-xl.mt-xl,
    .section-xxl.mt-xl,
    .section.mt-xl {
        margin-top: 120px;
    }

    .section-l.mb-xl,
    .section-m.mb-xl,
    .section-s.mb-xl,
    .section-xl.mb-xl,
    .section-xxl.mb-xl,
    .section.mb-xl {
        margin-bottom: 120px;
    }
}

@media (width <= 820px) {
    .section,
    .section-l,
    .section-m,
    .section-s,
    .section-xl,
    .section-xxl {
        margin: 60px 0;
    }

    .section-l.section-l,
    .section-m.section-l,
    .section-s.section-l,
    .section-xl.section-l,
    .section-xxl.section-l,
    .section.section-l {
        margin: 70px 0;
    }

    .section-l.section-xl,
    .section-m.section-xl,
    .section-s.section-xl,
    .section-xl.section-xl,
    .section-xxl.section-xl,
    .section.section-xl {
        margin: 95px 0;
    }

    .section-l.section-xxl,
    .section-m.section-xxl,
    .section-s.section-xxl,
    .section-xl.section-xxl,
    .section-xxl.section-xxl,
    .section.section-xxl {
        margin: 95px 0;
    }

    .section-l.page-intro,
    .section-m.page-intro,
    .section-s.page-intro,
    .section-xl.page-intro,
    .section-xxl.page-intro,
    .section.page-intro {
        margin-top: 80px;
    }

    .section-l.page-intro .cols2,
    .section-m.page-intro .cols2,
    .section-s.page-intro .cols2,
    .section-xl.page-intro .cols2,
    .section-xxl.page-intro .cols2,
    .section.page-intro .cols2 {
        gap: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

    .section-l.page-intro .indent,
    .section-m.page-intro .indent,
    .section-s.page-intro .indent,
    .section-xl.page-intro .indent,
    .section-xxl.page-intro .indent,
    .section.page-intro .indent {
        padding-top: 0;
    }

    .section-l.page-intro .indent.cols2 .col + .col,
    .section-m.page-intro .indent.cols2 .col + .col,
    .section-s.page-intro .indent.cols2 .col + .col,
    .section-xl.page-intro .indent.cols2 .col + .col,
    .section-xxl.page-intro .indent.cols2 .col + .col,
    .section.page-intro .indent.cols2 .col + .col {
        margin-top: 20px;
    }

    .section-l.page-intro p.feat,
    .section-m.page-intro p.feat,
    .section-s.page-intro p.feat,
    .section-xl.page-intro p.feat,
    .section-xxl.page-intro p.feat,
    .section.page-intro p.feat {
        margin-bottom: 0;
    }

    .section-l.page-intro p.feat + p.feat,
    .section-m.page-intro p.feat + p.feat,
    .section-s.page-intro p.feat + p.feat,
    .section-xl.page-intro p.feat + p.feat,
    .section-xxl.page-intro p.feat + p.feat,
    .section.page-intro p.feat + p.feat {
        margin-top: 20px;
    }

    .section-l.mt,
    .section-m.mt,
    .section-s.mt,
    .section-xl.mt,
    .section-xxl.mt,
    .section.mt {
        margin-top: 90px;
    }

    .section-l.mt-l,
    .section-m.mt-l,
    .section-s.mt-l,
    .section-xl.mt-l,
    .section-xxl.mt-l,
    .section.mt-l {
        margin-top: 90px;
    }

    .section-l.mt-xl,
    .section-m.mt-xl,
    .section-s.mt-xl,
    .section-xl.mt-xl,
    .section-xxl.mt-xl,
    .section.mt-xl {
        margin-top: 100px;
    }

    .section-l.mb-xl,
    .section-m.mb-xl,
    .section-s.mb-xl,
    .section-xl.mb-xl,
    .section-xxl.mb-xl,
    .section.mb-xl {
        margin-bottom: 100px;
    }
}

.mb0 {
    margin-bottom: 0 !important;
}

.mt0 {
    margin-top: 0 !important;
}

.indent {
    padding: 42px 20px 20px 56px;
}

.indent.indent-l {
    padding-left: 90px;
}

@media (width <= 1500px) {
    .indent.indent-l {
        padding-left: 80px;
    }
}

@media (width <= 1240px) {
    .indent {
        padding: 38px 15px 20px 50px;
    }

    .indent.indent-l {
        padding-left: 65px;
    }
}

@media (width <= 820px) {
    .indent {
        padding: 30px 0 20px 50px;
    }

    .indent.indent-l {
        padding-left: 50px;
    }
}

.container.ml-txt {
    width: 100%;
    padding: 0;
}

.container.ml-txt .cols2 {
    grid-template-columns: 1fr 1.14fr;
}

.container.ml-txt .inner-txt {
    padding-left: 11.8vw;
}

.container.ml-txt .inner-txt .feat,
.container.ml-txt .inner-txt p {
    max-width: 380px;
}

@media (width <= 820px) {
    .container.ml-txt .cols2 {
        grid-template-columns: 1fr;
    }

    .container.ml-txt .col-txt {
        padding: 0 32px;
    }

    .container.ml-txt .col-txt .inner-txt {
        padding: 0;
    }
}

.cols2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 130px;
}

@media (width <= 1800px) {
    .cols2 {
        gap: 115px;
    }
}

@media (width <= 1500px) {
    .cols2 {
        gap: 100px;
    }
}

@media (width <= 1240px) {
    .cols2 {
        gap: 68px;
    }
}

@media (width <= 1023px) {
    .cols2 {
        gap: 45px;
    }
}

@media (width <= 820px) {
    .cols2 {
        grid-template-columns: 1fr;
        gap: 50px;
    }
}

.cols2_s-l {
    grid-template-columns: 0.9fr 1.7fr;
    gap: 45px;
}

@media (width <= 820px) {
    .cols2_s-l {
        grid-template-columns: 1fr;
    }
}

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    padding: 1.5rem 0;
    transition: background-color 0.42s ease;
    background: #fff;
    box-shadow: 0 -1px 12px 4px rgb(0 0 0 / 10%);
}

.navbar .container {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navbar a.logo {
    position: relative;
    z-index: 21000;
}

.navbar a.logo img {
    width: 300px;
    display: none;
}

.navbar a.logo .dark {
    display: block;
}

.navbar ul.menu-sec {
    display: flex;
    gap: 39px;
    margin: 0;
    padding-left: 90px;
}

.navbar ul.menu-sec > li {
    display: inline-block;
    list-style: none;
    margin: 0;
}

.navbar ul.menu-sec > li > a {
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    padding: 8px;
    gap: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbar:not(.transparent) ul.menu-sec > li a svg,
.navbar:not(.transparent) ul.menu-sec > li a svg path {
    fill: #5e5554;
    stroke: #5e5554;
}

.menu-active .navbar.transparent ul.menu-sec > li a svg,
.menu-active .navbar.transparent ul.menu-sec > li a svg path {
    fill: #5e5554;
    stroke: #5e5554;
}

/* Transparent navbar */
.navbar.transparent ul.menu-sec > li a svg,
.navbar.transparent ul.menu-sec > li a svg path {
    fill: #fff;
    stroke: #fff;
}

.desktop-drop {
    transform: rotate(90deg);
    transition: all 0.3s ease-in-out;
}

.desktop-drop.rotateActive {
    transition: all 0.3s ease-in-out;
}

.navbar ul.menu-sec .desktop-drop.rotateActive g path,
.navbar.transparent ul.menu-sec .desktop-drop.rotateActive g path {
    fill: #781c4d !important;
    stroke: #781c4d;
    transition: all 0.3s ease-in-out;
}

.navbar .navbar-side {
    display: flex;
    align-items: center;
    padding-right: 75px;
}

.navbar .navbar-side .lang {
    font-weight: 500;
    font-size: 1rem;
    margin-right: 27px;
    color: #382f2d;
    border: 1px solid #382f2d;
    padding: 22px !important;
    letter-spacing: 0.3rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
}

.navbar .navbar-side .lang:hover {
    color: #781c4d !important;
}

.navbar .navbar-side .btn {
    position: relative;
    margin: 0;
}

.navbar .lang-container .lang-dropdown li,
.navbar .lang-container .lang-dropdown ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: center;
    margin-right: 27px;
}

.navbar.transparent {
    background: linear-gradient(180deg, rgb(0 0 0 / 73.5%) 0%, rgb(0 0 0 / 0%) 100%);
    box-shadow: none;
}

.navbar.transparent a.logo .dark {
    display: none;
}

.navbar.transparent a.logo .white {
    display: block;
}

.navbar.transparent ul.menu-sec > li > a {
    color: #fff;
}

.navbar.transparent ul.menu-sec > li > a:hover {
    color: #e7e0da;
}

.navbar.transparent .navbar-side .btn.btn-normal,
.btn.btn-normal {
    background: #781c4d !important;
    color: #fff !important;
    border: none !important;
    margin-top: 0;
    z-index: 10;
    transform: unset !important;
}

.btn.btn-all-offers {
    margin-top: 30px;
}

.btn.btn-normal.discover {
    margin-top: 50px;
}

.btn.btn-normal {
    margin-right: 27px !important;
}

.btn.btn-normal.bn {
    padding: 22px;
    white-space: nowrap;
}

.navbar.transparent .button-responsive span {
    background: #fff;
}

@media (width <= 1800px) {
    .navbar ul.menu-sec {
        padding-left: 75px;
    }
}

@media (width <= 1500px) {
    .navbar ul.menu-sec {
        gap: 28px;
        padding-left: 70px;
    }
}

@media (width <= 1239px) {
    .navbar .container {
        padding: 0 32px !important;
    }

    .navbar ul.menu-sec {
        display: none;
    }
    .navbar .navbar-side {
        padding-right: 95px;
    }
}

@media (width <= 1023px) {
    .navbar {
        padding: 0;
    }
    .navbar .container {
        padding: 0 17px !important;
        height: 110px;
    }
}

@media (width <= 820px) {
    .navbar .navbar-side {
        padding-right: 58px;
    }

    .navbar .navbar-side .btn {
        display: none;
    }

    .navbar .navbar-side .lang {
        color: #382f2d;
    }

    .navbar a.logo img {
        width: 250px;
    }
}

body.menu-active .navbar a.logo .dark,
body.overlay-open .navbar a.logo .dark {
    display: block;
}

body.menu-active .navbar a.logo .white,
body.overlay-open .navbar a.logo .white {
    display: none;
}

body.menu-active .navbar .navbar-side .lang,
body.overlay-open .navbar .navbar-side .lang {
    color: #5e5554;
}

body.menu-active .navbar .navbar-side .btn:hover,
body.overlay-open .navbar .navbar-side .btn:hover {
    background: #e7e0da !important;
}

body.menu-active .navbar .button-responsive span,
body.overlay-open .navbar .button-responsive span {
    background: #382f2d;
}

body.menu-active .navbar {
    background: #fff;
}

body.menu-active ul.menu-sec > li > a {
    color: #382f2d !important;
}

/* body.menu-active ul.menu-sec>li>a:hover {
    color: #709394  !important
} */

/*
body.menu-active ul.menu-sec>li>a:focus {
    color: #781c4d!important
} */

.megamenu {
    width: 100%;

    /* height: 100vh; */
    left: 0;
    top: 100%;
    position: absolute;
    background: #fff;
    border-top: 1px solid #5e5554;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease-in-out, visibility 0.25s ease-in-out;
}

.navbar ul.menu-sec > li > a.dropdown-toggle.active {
    color: #781c4d !important;
}

.megamenu.show {
    opacity: 1;
    visibility: visible;
}

.megamenu .inner-megamenu {
    display: flex;
    justify-content: center;
    gap: 28px;
    padding: 45px 52px 44px;
}

.megamenu .megamenu-item {
    /* width: calc((100% - 52px*2 - 28px - 8px)/ 6); */
    width: 100%;
    max-width: 300px;
    position: relative;
    color: #fff;
    display: flex;
    gap: 15px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 !important;
    overflow: hidden;
    cursor: pointer;
}

.megamenu .megamenu-item img {
    display: block;
    aspect-ratio: 250/300;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
}

.megamenu-img {
    position: relative;
    overflow: hidden;
}

.megamenu .megamenu-img::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.4;
    transition: opacity 0.35s ease-in-out;
}

.megamenu .megamenu-img {
    position: relative; /* needed for absolute span */
    overflow: hidden;
}

.megamenu .megamenu-img span {
    position: absolute;
    display: block;
    width: 100%;
    padding: 0 20px;
    z-index: 2;
    box-sizing: border-box;

    /* font-family: "miller-banner", serif; */
    font-size: 1.875rem;
    letter-spacing: 0.093rem;
    line-height: 1.07;
    font-weight: 600;
    top: 0;
    bottom: unset;
    opacity: 1;
    transform: translateY(0);
    transition: all 0.35s ease-in-out;
}

.mega-text-container {
    width: 100%;

    /* height:25%; */
    position: absolute;
    bottom: 10vh;
    transform: translateY(0);
    transition: all 0.3s ease-in-out;
    z-index: 15;
}

.megamenu .megamenu-img:hover .mega-text-container {
    transform: translateY(50%);
    bottom: 50%;
    transition: all 0.3s ease-in-out;
}

.megamenu .megamenu-img:hover span {
    transform: translateY(-50%);
    top: 50%;
    transition: all 0.3s ease-in-out;
}

.megamenu .megamenu-item:hover span {
    opacity: 1;
}

.megamenu .megamenu-img:hover::after {
    opacity: 0.4;
}

.mega-item-desc {
    font-size: 1rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    padding: 8px;
    color: #382f2d;
    cursor: pointer;
}

.megamenu .megamenu-item span {
    font-size: 1rem;
    letter-spacing: 0.12rem;
    text-transform: uppercase;
}

.megamenu .megamenu-item:hover img {
    transform: scale(1.05);
}

.megamenu .megamenu-link-wrapper {
    margin: 0 auto 40px;
}

@media (width <= 1800px) {
    .megamenu .inner-megamenu {
        gap: 25px;
    }

    .megamenu .megamenu-item {
        width: 100%;
        max-width: 300px;
    }
}

@media (width <= 1500px) {
    .megamenu .inner-megamenu {
        gap: 20px;
        padding: 40px 52px 39px;
    }

    .megamenu .megamenu-link-wrapper {
        margin: 0 auto 35px;
    }
}

@media (width <= 1399px) {
    .button-responsive {
        right: 52px;
    }
}

@media (width <= 1239px) {
    .button-responsive {
        right: 52px;
    }
}

@media (width <= 820px) {
    .button-responsive {
        top: 50%;
        margin-top: -9px;
        right: 32px !important
        ;
        width: 37px;
        height: 18px;
    }

    .button-responsive.active {
        width: 37px;
        right: 32px !important;
    }

    .button-responsive.active .top {
        transform: translateY(8px) translateX(0) rotate(45deg);
    }

    .button-responsive.active .bottom {
        transform: translateY(-8px) translateX(0) rotate(-45deg);
    }

    .button-responsive span:nth-of-type(2) {
        top: 8px;
    }

    .button-responsive span:nth-of-type(3) {
        top: 16px;
    }
}

.button-responsive {
    position: absolute;

    /* top: 45px; */
    right: 52px;
    height: 20px;
    width: 48px;
    cursor: pointer;
    z-index: 21000;
    transition: all 0.35s ease-in-out;
}

.button-responsive.active {
    width: 40px;
}

.button-responsive.active .top {
    transform: translateY(10px) translateX(0) rotate(45deg);
}

.button-responsive.active .middle {
    opacity: 0;
}

.button-responsive.active .bottom {
    transform: translateY(-10px) translateX(0) rotate(-45deg);
}

.button-responsive.active:hover span {
    background: #382f2d;
}

.button-responsive span {
    background: #382f2d;
    border: none;
    height: 2px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.35s ease;
    cursor: pointer;
}

.button-responsive span:nth-of-type(2) {
    top: 10px;
}

.button-responsive span:nth-of-type(3) {
    top: 20px;
}

body.overlay-open {
    overflow: hidden;
}

body.overlay-open .side-btns {
    z-index: 100;
}

.overlay {
    position: fixed;
    background: #e7e0da;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s, visibility 0.35s;
    overflow: hidden;
}

.overlay::after {
    content: '';
    display: block;
    position: fixed;
    top: 84px;
    left: 0;
    width: 100%;
    height: 1px;

    /* background: #5E5554 */
}

@media (width <= 1800px) {
    .overlay::after {
        top: 79px;
    }
}

.overlay.open {
    opacity: 1;
    visibility: visible;
    height: 100vmax;
    z-index: 20000;
    min-height: 550px;
}

@media (width >= 1024px) {
    .overlay.open {
        height: 100vh;
    }

    .menu-button-icons {
        width: 86.5%;
        justify-content: end !important;
    }
}

@media (width <= 1024px) {
    .overlay.open {
        max-height: 100vh;
        min-height: unset;
        overflow-y: scroll;
    }
}

.overlay .overlay-menu {
    position: relative;
    font-weight: 400;
    display: grid;
    padding: 210px 52px;
}

.overlay .overlay-menu ul {
    margin: 0;
    padding: 0;
    position: relative;
}

.overlay .overlay-menu ul li {
    list-style: none;
    font-family: miller-banner, serif;
    font-weight: 400;
    font-size: 35px;
    margin-top: 5px;
    margin-bottom: 40px;
    color: #5e5554;
    display: flex;
}

.overlay .overlay-menu ul li a {
    color: #828282;
}

.overlay .overlay-menu ul li a.active,
.overlay .overlay-menu ul li a:hover {
    color: #2e5619;
}

.overlay .overlay-menu ul li a.active,
.overlay .overlay-menu ul li a.with-children.active svg path,
.overlay .overlay-menu ul li a:focus {
    color: #2e5619;
    fill: #2e5619;
}

.overlay .overlay-menu ul li a.with-children {
    position: relative;
}

.menu-drop-arr {
    fill: #adadad;
    animation: bounce 2s infinite;
    margin-left: 10px;
    padding-bottom: 0;
    margin-bottom: -1.5px;
    transform: translateX(-10px) rotate(270deg);
    transition: transform 0.3s ease-in-out;
}

.menu-drop-arr.hover-active {
    transform: translateX(0) rotate(270deg);
    transition: transform 0.3s ease-in-out;
}

.menu-drop-arr.rotateArr {
    transform: rotate(0deg);
    transform-origin: center center;
}

/*
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: rotate(270deg) translateY(0);
  }
  40% {
    transform: rotate(270deg) translateY(-20px);
  }
  60% {
    transform: rotate(270deg) translateY(-15px);
  }
} */

@keyframes bounceMobile {
    0%,
    20%,
    50%,
    80%,
    100% {
        transform: rotate(0deg) translateY(0);
    }

    40% {
        transform: rotate(0deg) translateY(-20px);
    }

    60% {
        transform: rotate(0deg) translateY(-15px);
    }
}

.overlay .overlay-menu .submenu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    right: 0;
    left: 55%;
    max-height: 0;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, max-height 0.3s ease-in-out;
}

.overlay .overlay-menu .submenu.show {
    visibility: visible;
    opacity: 1;
    display: block !important;
    max-height: 300px;
}

.overlay .overlay-menu .submenu li {
    font-family: proxima-nova, sans-serif;
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: 0.18rem;
    font-weight: 400;
    margin-bottom: 30px;
    color: #382f2d;
    position: relative;
    right: 15%;
}

.overlay .overlay-menu .submenu li strong {
    font-weight: 600;
}

.overlay .overlay-menu .submenu li a {
    color: #382f2d;
    background: #e7e0da;
    padding-right: 15px;
    white-space: nowrap;
}

.overlay .overlay-menu .submenu li a.active,
.overlay .overlay-menu .submenu li a:hover {
    color: #5e5554;
    text-shadow: 0 0 0.7px #382f2d;
}

.overlay .overlay-menu .submenu li a.active,
.overlay .overlay-menu .submenu li a:focus {
    color: #2e5619;
    text-shadow: 0 0 0.7px #382f2d;
}

.overlay .overlay-menu .submenu li a.active {
    position: relative;
}

.sub-line {
    /* background: #2e5619; */
    height: 1px;
    border-bottom: 1px solid #2e5619;
    line-height: 1;
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
    z-index: -1;
    width: 50%;
    display: block;
    opacity: 0;
    transition: opacity 0.2s ease-in-out, width 0.2s ease-in-out;
}

.overlay .overlay-menu .submenu li a.active + .sub-line {
    width: 105%;
    opacity: 1;
    transition: opacity 0.2s ease-in-out, width 0.2s ease-in-out;
}

.overlay .wrapper {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
}

.overlay .wrapper .col-img .menu-img-wrapper {
    position: relative;
    transition: transform 0.3s ease-in-out;
}

.overlay .wrapper .col-img {
    overflow: hidden;
    cursor: pointer;
}

.overlay .wrapper .col-img .menu-img-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    aspect-ratio: 820/530;
    object-fit: cover;
    width: 100%;
    max-height: 62vh;
    min-height: 310px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.65s ease-in-out, visibility 0.65s ease-in-out;
}

.overlay .wrapper .col-img .menu-img-wrapper:hover {
    transform: scale(1.1);
    transition: transform 0.3s ease-in-out;
}

.overlay .wrapper .col-img .menu-img-wrapper img.show {
    opacity: 1;
    visibility: visible;
}

.overlay .menu-bottom {
    padding-left: 52px;
    padding-right: 52px;
    position: absolute;
    bottom: 55px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
}

.overlay .menu-bottom a {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    margin-right: 36px;
    color: #9c9a9a;
}

.overlay .menu-bottom a:hover {
    color: #5e5554;
}

.overlay .menu-bottom .social-icons a {
    margin: 0;
    color: #9c9a9a;
}

.overlay-menu-sec {
    z-index: 100;
}

@media (width <= 1800px) {
    .overlay .overlay-menu {
        padding: 200px 52px;
    }

    .overlay .overlay-menu .submenu {
        left: 55%;
    }

    .overlay .overlay-menu .submenu li {
        font-size: 18px;
        margin-bottom: 27px;
    }

    .overlay .wrapper {
        grid-template-columns: 1fr 0.9fr;

        /* gap: 50px */
    }

    .overlay .menu-bottom {
        padding-left: 52px;
        padding-right: 52px;
    }

    .button-responsive.active {
        right: 52px;
    }
}

@media (width <= 1500px) {
    .overlay .overlay-menu {
        padding: 180px 52px;
    }

    .overlay .overlay-menu ul li {
        font-size: 34px;
    }

    .overlay .overlay-menu .submenu {
        left: 325px;
    }

    .overlay .overlay-menu .submenu li {
        font-size: 18px;
        letter-spacing: 0.14rem;
        margin-bottom: 25px;
    }

    .overlay .menu-bottom {
        padding-left: 52px;
        padding-right: 52px;
    }

    .overlay .menu-bottom a {
        font-size: 1.25em;
        margin-bottom: 0;
    }

    .button-responsive {
        right: 52px;
    }
}

@media (width <= 1240px) {
    .overlay .menu-bottom {
        padding-right: 32px;
        padding-left: 32px;
    }
    s .overlay .overlay-menu {
        padding: 170px 32px;
    }

    .overlay .overlay-menu .submenu {
        left: 250px;
    }

    .overlay .overlay-menu .submenu li {
        font-size: 18px;
    }

    .overlay .wrappe {
        grid-template-columns: 1fr 0.9fr;
    }
}

@media (width <= 1100px) {
    .overlay .overlay-menu .submenu {
        left: 60%;
    }

    .overlay .overlay-menu .submenu li a.active + .sub-line {
        width: 135%;
    }
}

@media (width < 1260px) {
    .overlay {
        overflow-y: scroll;
        scrollbar-color: #e7e0da #e7e0da;
    }

    .overlay::before {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 110px;
        box-shadow: 0 -1px 12px 4px rgb(0 0 0 / 10%);
        background: #e7e0da;
        z-index: 3;
    }

    .overlay::after {
        top: 78px;
    }

    .overlay .overlay-menu {
        padding: 160px 32px 0 !important;
    }

    .overlay .overlay-menu ul li {
        font-size: 33px;
    }

    .overlay .overlay-menu ul li a:hover {
        color: #2e5619;
    }

    .overlay .overlay-menu ul li a.active {
        color: #2e5619;
    }

    .overlay .overlay-menu ul li a.active.with-children::after {
        transform: rotate(-90deg);
        opacity: 1;
    }

    /* .overlay .overlay-menu ul li a.with-children:after {
        background-image: url('../images/shops/home/home-dropdown-right.svg');
        transform: rotate(90deg);
        transition: opacity .2s ease-in-out;
        margin-left: 8px;
        top:2px;
    } */

    .overlay .overlay-menu .submenu {
        position: relative;
        left: 0;
    }

    .overlay .overlay-menu .submenu li {
        font-size: 18px;
        margin: 0;
        padding-bottom: 9px;
        font-weight: 500;
        position: static;
        padding-top: 15px;
    }

    .overlay .overlay-menu .submenu li:first-child {
        padding-top: 25px;
    }

    .overlay .overlay-menu .submenu li:last-child {
        padding-bottom: 0;
    }

    .overlay .overlay-menu .submenu li a {
        color: #382f2d;
    }

    .overlay .overlay-menu .submenu li a:hover {
        color: #2e5619;
    }

    .overlay .overlay-menu .submenu li a.active {
        text-shadow: none;
        color: #2e5619;
    }

    .overlay .overlay-menu .submenu li a.active::before {
        content: none;
    }

    .overlay .wrapper {
        display: block;
    }

    .overlay .wrapper .col-img {
        display: none;
    }

    .overlay .menu-bottom {
        padding: 0 32px 60px;
        display: flex;
        position: relative;
        bottom: auto !important;
        flex-direction: column;
        gap: 20px;
    }

    .overlay .menu-bottom-lineas::before {
        content: '';
        display: block;
        width: 54px;
        height: 1px;
        background: #382f2d;
    }

    .overlay .menu-bottom .overlay-menu-sec {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .sub-line {
        display: none;
    }

    .overlay .overlay-menu ul.main-menu > li {
        margin-bottom: 33px !important;
        flex-direction: column;
    }
}

@media (width <= 820px) {
    .overlay .overlay-menu {
        padding: 140px 32px 0 !important;
    }
}

@media (height <= 840px) {
    .overlay .overlay-menu {
        padding-top: 180px;
        padding-bottom: 0;
    }

    .overlay .menu-bottom {
        bottom: 40px;
    }
}

@media (height <= 740px) {
    .overlay .overlay-menu {
        padding-top: 155px;
        padding-bottom: 0;
    }

    .overlay .overlay-menu ul li {
        font-size: 33px;
        margin-bottom: 35px;
    }

    .overlay .menu-bottom {
        bottom: 25px;
    }

    .overlay .menu-bottom a {
        font-size: 15px;
    }
}

@media (height <= 570px) {
    .overlay .overlay-menu {
        padding-top: 140px;
        padding-bottom: 0;
    }

    .overlay .overlay-menu ul li {
        font-size: 30px;
        margin-bottom: 32px;
    }
}

.lang-box {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10001;
    background: #fff;
    text-align: center;
    width: 100%;
    max-width: 480px;
    transition: opacity 0.35s ease-in-out, visibility 0.35s ease-in-out;
}

.lang-box.open {
    opacity: 1;
    visibility: visible;
}

.lang-box .foot,
.lang-box .head {
    background: #f6f3f1;
    padding: 20px 30px 19px;
}

.lang-box .inner {
    padding: 22px 30px 28px;
}

.lang-box p {
    margin: 0;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: 0.25rem;
}

.lang-box ul {
    margin: 0;
    padding: 0;
}

.lang-box ul li {
    list-style: none;
    font-family: miller-banner, serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2.8rem;
    color: #5e5554;
    margin-bottom: 17px;
}

.lang-box ul li:last-child {
    margin-bottom: 0;
}

.lang-box ul li a {
    color: #5e5554;
}

.lang-box ul li a.active,
.lang-box ul li a:hover {
    color: #382f2d;
}

.lang-box .foot {
    padding: 10px 30px 7px;
}

@media (width <= 820px) {
    .lang-box {
        width: calc(100% - 2 * 32px);
    }

    .lang-box .head {
        padding: 20px 18px 19px;
    }

    .lang-box .foot {
        padding: 15px 18px;
    }

    .lang-box p {
        font-size: 15px;
        letter-spacing: 3.3px;
    }
}

a.close {
    position: relative;
    width: 40px;
    height: 40px;
    display: inline-block;
    z-index: 3;
}

a.close span {
    position: absolute;
    top: 20px;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 2px;
    background: #382f2d;
    transition: background 0.25s ease-in-out;
}

a.close span.span-1 {
    transform: translateY(0) translateX(0) rotate(45deg);
}

a.close span.span-2 {
    transform: translateY(0) translateX(0) rotate(-45deg);
}

a.close:hover span {
    background: #5e5554;
}

@media (width <= 820px) {
    a.close {
        width: 30px;
        height: 30px;
    }

    a.close span {
        top: 18px;
    }
}

.overlay-lang,
.overlay-menu-kamezi {
    background: rgb(0 0 0 / 65%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    overflow: hidden;
    z-index: 10000;
}

.overlay-lang.open,
.overlay-menu-kamezi.open {
    opacity: 1;
    visibility: visible;
    height: 100%;
}

.social-icons {
    display: flex;
    gap: 20px;
}

.dbl-img {
    position: relative;
    padding: 0 14% 14% 0;
}

.dbl-img .img1 {
    position: relative;
    z-index: 2;
    width: 100%;
    top: -20px;
}

.dbl-img .img-ghost,
.dbl-img .img2 {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 80%;
}

.dbl-img .img-ghost {
    z-index: 3;
    opacity: 0 !important;
    transition: opacity 0.5s ease-in-out;
}

.dbl-img .img-ghost.show {
    opacity: 1;
}

.dbl-img .img-ghost:hover {
    opacity: 1 !important;
}

.dbl-img.above-right {
    padding: 0 0 14% 14%;
}

.dbl-img.above-right .img-ghost,
.dbl-img.above-right .img2 {
    right: auto;
    left: 0;
}

.home-wellness .dbl-img {
    padding: 0 14.8% 14.8% 0;
}

.home-wellness .dbl-img .img-ghost,
.home-wellness .dbl-img .img2 {
    width: 78.8%;
}

@media (width <= 820px) {
    .home-wellness .dbl-img {
        padding: 0 23% 40% 0;
    }
}

.gastronomia-menu .dbl-img {
    padding-bottom: 28%;
}

.gastronomia-menu .dbl-img .img-ghost,
.gastronomia-menu .dbl-img .img2 {
    width: 77%;
}

.banner-coctel-bar .dbl-img {
    padding-bottom: 420px;
    padding-left: 165px;
    padding: 0 0 36% 15.4%;
}

.banner-coctel-bar .dbl-img .img-ghost,
.banner-coctel-bar .dbl-img .img2 {
    width: 42%;
}

.shop-intro .dbl-img {
    padding-left: 22%;
    padding-bottom: 24%;
}

.shop-intro .dbl-img .img-ghost,
.shop-intro .dbl-img .img2 {
    width: 60%;
}

.bar-row-3 .dbl-img {
    padding: 0;
}

.bar-row-3 .dbl-img .img1 {
    width: 60%;
}

.bar-row-3 .dbl-img .img-ghost,
.bar-row-3 .dbl-img .img2 {
    width: 45%;
    top: 180px;
    right: 0;
    left: auto;
    max-height: 1000px;
}

.servicios-villa-row-1 .dbl-img {
    padding: 0 30% 40% 0;
}

.servicios-villa-row-1 .dbl-img .img-ghost,
.servicios-villa-row-1 .dbl-img .img2 {
    width: 75%;
}

.servicios-villa-row-2 .dbl-img {
    padding: 0 0 25.5% 27.3%;
}

.servicios-villa-row-2 .dbl-img .img-ghost,
.servicios-villa-row-2 .dbl-img .img2 {
    width: 81.2%;
}

.servicios-villa-row-3 .dbl-img {
    padding: 0 10% 26% 0;
}

.servicios-villa-row-3 .dbl-img .img-ghost {
    top: 0;
    left: 0;
    width: calc(100% - 10%);
}

.servicios-villa-row-3 .dbl-img .img2 {
    width: 55.8%;
    z-index: 3;
}

.tratamientos-masajes .dbl-img {
    padding-left: 13%;
    padding-bottom: 38%;
}

.tratamientos-masajes .dbl-img .img-ghost,
.tratamientos-masajes .dbl-img .img2 {
    width: 68%;
}

@media (width <= 820px) {
    .tratamientos-masajes .dbl-img {
        padding-left: 20%;
        padding-bottom: 27%;
    }

    .tratamientos-masajes .dbl-img .img-ghost,
    .tratamientos-masajes .dbl-img .img2 {
        width: 65%;
    }
}

.tratamientos-rituales-corporales .dbl-img {
    padding-right: 11%;
    padding-bottom: 23%;
}

.tratamientos-rituales-corporales .dbl-img .img-ghost,
.tratamientos-rituales-corporales .dbl-img .img2 {
    width: 74%;
}

@media (width <= 820px) {
    .tratamientos-rituales-corporales .dbl-img {
        padding-right: 20%;
        padding-bottom: 20%;
    }

    .tratamientos-rituales-corporales .dbl-img .img1 {
        height: 60vw;
    }

    .tratamientos-rituales-corporales .dbl-img .img-ghost,
    .tratamientos-rituales-corporales .dbl-img .img2 {
        width: 68%;
    }
}

#overlayer {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 99998;
    background: #fff;
}

.page-loader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: grid;
    justify-content: center;
    align-items: center;
}

.logo-animation {
    display: inline-block;
    width: 152px;
    height: 152px;
    border-radius: 50%;
    animation: 10s linear infinite spinner-border;
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

body:not(#page-home) {
    animation: fadeInAnimation ease 2.7s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.hero {
    object-fit: cover;
    background-position: 50% 50% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    color: #fff;
    height: 100vh;
    position: relative;
    overflow: hidden;
    display: grid;
    align-items: center;
    justify-content: center;
}

.mouse {
    width: 26px;
    height: 40px;
    border-radius: 15px;
    border: 2px solid #fff;
    overflow: hidden;
    margin-top: 40px;
    bottom: 0;
    z-index: 1;
    cursor: pointer;
    position: relative;
}

.mouse .roll {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    margin-left: -2px;
    height: 4px;
    border-radius: 4px;
    background: #fff;
    animation: mouseScroll 0.8s cubic-bezier(0.7, 0, 0.3, 1) infinite alternate;
    z-index: 2;
}

.mouse-container {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    z-index: 2;
}

@keyframes mouseScroll {
    0% {
        opacity: 0;
        transform: translateY(0);
    }

    100% {
        opacity: 1;
        transform: translateY(14px);
    }
}

.hero img {
    position: absolute;
    width: 100%;
    height: 100%;
}

.hero .txt-wrapper {
    text-align: center;
    z-index: 2;
    margin: 0 32px;
}

.hero::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.33;
    z-index: 1;
}

.hero.no-veil::before {
    opacity: 0;
}

@media (width <= 820px) {
    .hero p.pretit {
        margin-bottom: 10px;
    }
}

/* #page-home .hero:before {
    opacity: .05
} */

@media (width <= 820px) {
    #page-home .hero {
        height: 65vh;
    }
}

.header-bottom-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center !important;
    width: 100% !important;
}

.header-bottom-bar .btn {
    background: #d7cdc3;
    color: #382f2d !important;
    border: none;
    padding: 10px 16px 9px;
    text-transform: uppercase;
    font-weight: 500;
    white-space: nowrap;
    border-radius: 0;
    letter-spacing: 0.24rem;
    font-size: 1rem;
    z-index: 2;
}

.header-bottom-bar .btn:hover {
    background: #f6f3f1;
}

.header-bottom-bar .text-marquee {
    z-index: 1;
    margin-left: 1px;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
}

.header-bottom-bar .text-marquee .marquee-content {
    padding-top: 2px;
    font-size: 1.125rem;
    font-weight: 400;
    color: #f8f8f8;
    text-transform: uppercase;
    line-height: 1rem;
    letter-spacing: 0.25rem;
    white-space: nowrap;
    display: inline-block;
    animation: scroll-text 90s linear infinite;
}

@media (width <= 820px) {
    .header-bottom-bar {
        width: 100% !important;
    }

    .header-bottom-bar .btn {
        display: none;
    }

    .header-bottom-bar .text-marquee {
        margin-bottom: 8px;
    }

    .header-bottom-bar .text-marquee .marquee-content {
        font-size: 13px;
        letter-spacing: 0.2rem;
    }
}

@keyframes scroll-text {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes scroll-text {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.txt-vertical {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.25rem;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    z-index: 2;
}

.txt-vertical a {
    color: #fff;
    padding: 21px 16px 19px;
    background: #781c4d;
}

.txt-vertical a:hover {
    background: #fff;
    color: #781c4d;
    font-weight: 600;
}

@media (width <= 1240px) {
    .txt-vertical a {
        padding: 16px 13px 14px;
    }
}

@media (width <=1024px) {
    .mouse-container,
    .swiper-pagination-container {
        bottom: 40px;
    }
}

@media (width <= 820px) {
    .txt-vertical {
        display: none !important;
    }
}

.side-btns {
    position: fixed;
    top: 39%;
    right: 0;
    display: flex;
    flex-direction: column;
    z-index: 1000;
}

.side-btns .btn-reservar {
    display: none;
}

.side-btns .btn-icon {
    color: #382f2d;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: none;
    padding: 0;
    transition: background-color 0.3s ease-in-out;
}

.side-btns .btn-icon i {
    font-size: 24px;
    padding: 0;
}

.side-btns .btn-icon:hover {
    color: #fff;
}

.side-btns .btn-faq .txt,
.side-btns .btn-phone .txt,
.side-btns .btn-whatsapp .txt {
    position: absolute;
    right: 60px;
    color: #382f2d;
    white-space: nowrap;
    opacity: 0;
    z-index: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 1s ease, right 0.5s ease;
    clip-path: inset(0 100% 0 0);
    font-size: 1rem;
    padding: 1rem 1.5rem;
    height: 64px;
    display: grid;
    align-items: center;
    box-sizing: border-box;
}

.side-btns .btn-faq:hover .txt,
.side-btns .btn-phone:hover .txt,
.side-btns .btn-whatsapp:hover .txt {
    right: calc(100% + 0px);
    opacity: 1;
    visibility: visible;
    z-index: 1;
    clip-path: inset(0 0 0 0);
}

.side-btns .btn-whatsapp {
    background-color: #d7cdc3;
    border-radius: 0;
}

.side-btns .btn-whatsapp i {
    content: url('../images/assets/ico-whatsapp.svg');
}

.side-btns .btn-whatsapp .txt {
    top: 0;
    background-color: #d7cdc3;
}

.side-btns .btn-phone {
    background-color: #e7e0da;
    border-radius: 0;
    position: relative;
    z-index: 1;
}

.side-btns .btn-phone i {
    content: url('../images/assets/ico-tlf.svg');
}

.side-btns .btn-phone .txt {
    top: 50%;
    transform: translateY(-50%);
    background-color: #e7e0da;
}

.side-btns .btn-faq {
    background-color: #f6f3f1;
    border-radius: 0;
}

.side-btns .btn-faq i {
    content: url('../images/assets/ico-faqs.svg');
}

.side-btns .btn-faq .txt {
    bottom: 0;
    background-color: #f6f3f1;
}

@media (width <= 1500px) {
    .side-btns {
        top: 30%;
    }

    .side-btns .btn-icon {
        width: 58px;
        height: 58px;
    }

    .side-btns .btn-icon i {
        width: 38px;
    }

    .side-btns .btn-faq .txt,
    .side-btns .btn-phone .txt,
    .side-btns .btn-whatsapp .txt {
        height: 58px;
    }

    .navbar a.logo img {
        width: 250px;
    }
}

@media (width <= 1240px) {
    .side-btns .btn-icon {
        width: 52px;
        height: 52px;
    }

    .side-btns .btn-icon i {
        width: 34px;
    }

    .side-btns .btn-faq .txt,
    .side-btns .btn-phone .txt,
    .side-btns .btn-whatsapp .txt {
        height: 52px;
    }
}

@media (width <= 1023px) {
    .side-btns {
        top: 20%;
    }
}

@media (width <= 820px) {
    .side-btns {
        inset: auto auto 0 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr auto auto auto;
        z-index: 30000 !important;
    }

    .side-btns .btn-reservar {
        display: grid;
        background: #d7cdc3;
        text-align: center;
        align-items: center;
        text-transform: uppercase;
        font-size: 16px;
        line-height: 1;
        font-weight: 500;
        color: #382f2d;
        letter-spacing: 0.2rem;
    }

    .side-btns .btn-faq,
    .side-btns .btn-phone,
    .side-btns .btn-whatsapp {
        border-right: 1px solid #5e5554;
        background: #e7e0da;
        width: 62px;
        height: 50px;
    }

    .side-btns .btn-faq i,
    .side-btns .btn-phone i,
    .side-btns .btn-whatsapp i {
        width: 28px;
    }

    .side-btns .btn-faq .txt,
    .side-btns .btn-phone .txt,
    .side-btns .btn-whatsapp .txt {
        display: none !important;
    }

    .side-btns .btn-faq {
        border: none;
    }
}

.page-header {
    background: #f6f3f1;
    text-align: center;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 50px 0;
    min-height: 440px;
    margin-top: 150px;
}

.page-header .feat {
    max-width: 740px;
    margin: 32px auto 0;
}

.page-header.alt {
    background: #fff;
}

.page-header.alt .feat {
    max-width: 780px;
}

@media (width <= 1800px) {
    .page-header {
        min-height: 420px;
        margin-top: 120px;
    }
}

@media (width <= 820px) {
    .page-header {
        margin-top: 110px;
    }

    .page-header.alt {
        min-height: 340px;
    }
}

.page-content {
    padding: 150px 0;
}

.page-content .container {
    max-width: 940px;
}

.page-content h2,
.page-content h3,
.page-content h4 {
    margin: 50px 0 32px;
    color: #382f2d;
    font-weight: 500;
    font-size: 1.75rem;
}

.page-content h3,
.page-content h4 {
    font-size: 1.5rem;
}

.page-content h2:first-child {
    margin-top: 0;
}

.page-content li,
.page-content p {
    color: #5e5554;
}

.page-content li a,
.page-content p a {
    color: #5e5554;
    text-decoration: underline;
}

.page-content li a:hover,
.page-content p a:hover {
    color: #382f2d;
    border-color: #382f2d;
}

.page-content ul {
    padding-left: 26px;
}

.page-content ul li {
    margin: 2px 0;
}

.page-content.alt {
    background: #f6f3f1;
}

.page-content.alt .container {
    max-width: 100%;
}

@media (width <= 1800px) {
    .page-content {
        padding: 130px 0;
    }
}

@media (width >= 1500px) {
    .page-content.alt .container {
        margin-left: -50px;
        margin-right: -50px;
    }
}

@media (width <= 1500px) {
    .page-content {
        padding: 110px 0;
    }

    .page-content h2,
    .page-content h3,
    .page-content h4 {
        margin: 48px 0 23px;
    }
}

@media (width <= 1240px) {
    .page-content {
        padding: 100px 0;
    }
}

@media (width <= 820px) {
    .page-content {
        padding: 80px 0;
    }

    .page-content h2,
    .page-content h3,
    .page-content h4 {
        line-height: 1.25;
        margin: 46px 0 19px;
    }
}

.home-video-txt .cols2 {
    grid-template-columns: 1.04fr 1fr;
}

.home-video-txt .col-video {
    position: relative;
}

.home-video-txt .col-video img {
    aspect-ratio: 800/880;
    object-fit: cover;
}

.home-video-txt.section.home-prac .col-video img {
    aspect-ratio: 800/980;
}

.home-video-txt .col-video .video-play-wrapper {
    position: relative;
    max-width: 800px;
    height: 880px;
}

.home-video-txt .col-video .video-wrapper video {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    max-height: 100%;
    margin: auto;
    object-fit: cover;
}

.home-video-txt .col-video .video-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 30%);
}

.home-video-txt .col-video .play-button {
    position: absolute;
    width: 100px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    opacity: 0.8;
}

.home-video-txt .col-video .play-button:hover {
    opacity: 1;
}

.home-video-txt .inner-txt p:not(.feat) {
    max-width: 380px;
}

#page-intro .col-video .video-play-wrapper {
    height: 900px;
    width: 100%;
    max-width: 100%;
}

@media (width <= 1800px) {
    .home-video-txt .col-txt .indent {
        padding-right: 0;
    }

    .home-video-txt .col-video .video-play-wrapper {
        height: 780px;
    }
}

@media (width <= 1500px) {
    .home-video-txt .col-video .video-play-wrapper,
    #page-intro .col-video .video-play-wrapper {
        height: 700px;
    }
}

@media (width <= 1024px) {
    .home-video-txt .col-video .video-play-wrapper,
    #page-intro .col-video .video-play-wrapper {
        height: 550px;
    }
}

@media (width <= 820px) {
    .home-video-txt .cols2 {
        grid-template-columns: 1fr;
    }

    .home-video-txt .cols2 .col-video {
        order: 2;
    }

    .home-video-txt .cols2 .col-video .video-play-wrapper,
    #page-intro .col-video .video-play-wrapper {
        height: 470px;
    }

    .home-video-txt .cols2 .col-video .play-button {
        width: 70px;
    }
}

.video-modal .lg-backdrop {
    opacity: 0.7 !important;
}

.video-modal .lg-content {
    top: 0 !important;
}

.video-modal .lg-outer .lg-video-cont {
    max-height: 92% !important;
}

.video-modal .lg-outer .lg-video-cont video {
    object-fit: cover;
}

.video-modal .lg-outer.lg-start-slide .lg-item:not(.lg-zoomable) .lg-video-cont {
    transform: translateY(-100px);
    transition: transform 0.3s ease-out;
}

.video-modal .lg-outer.lg-start-slide .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont {
    transform: translateY(0);
}

@media (width <= 820px) {
    .video-modal .lg-outer .lg-video-cont {
        max-height: 75% !important;
    }

    .main-coffee-plantation .modal-close {
        top: 10px !important;
        right: 10px !important;
    }
}

.lg-toolbar .lg-icon {
    color: #fff !important;
    opacity: 0.8;
    margin: 15px;
}

.lg-toolbar .lg-icon:hover {
    opacity: 1;
}

@media (width <= 820px) {
    .lg-toolbar .lg-icon {
        opacity: 1;
    }
}

.conozca-villa,
.section-home-experiences {
    padding: 20px 0 20px 11.8vw;
}

.conozca-villa .links-slider,
.section-home-experiences .links-slider {
    margin: 75px 0 148px 50px;
}

.conozca-villa .col-img,
.section-home-experiences .col-img {
    margin-top: 60px;
    position: relative;
}

.conozca-villa .col-img .img-links-slider,
.section-home-experiences .col-img .img-links-slider {
    position: relative;
    height: 760px;
}

.conozca-villa .col-img .img-links-slider::after,
.section-home-experiences .col-img .img-links-slider::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.1;
    pointer-events: none;
}

.conozca-villa .col-img .item,
.section-home-experiences .col-img .item {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1066/777;
    object-fit: cover;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.65s ease-in-out;

    /* max-height: 600px; */
}

.conozca-villa .col-img .item.show,
.section-home-experiences .col-img .item.show {
    opacity: 1;
    visibility: visible;
}

.conozca-villa .col-img .txt-overlay,
.section-home-experiences .col-img .txt-overlay {
    position: absolute;
    top: 60px;
    right: 60px;
    text-align: right;
    max-width: 370px;
    z-index: 2;
}

.conozca-villa .col-img .txt-overlay p,
.section-home-experiences .col-img .txt-overlay p {
    font-family: miller-banner, serif;
    color: #fff;
    font-weight: 350;
    font-style: italic;
    font-size: 1.75rem;
    line-height: 2.25rem;
}

@media (width <= 1500px) {
    .conozca-villa,
    .section-home-experiences {
        padding: 20px 0 20px 8vw;
    }
}

@media (width <= 1240px) {
    .conozca-villa,
    .section-home-experiences {
        padding: 20px 0 20px 52px;
    }

    .conozca-villa .links-slider,
    .section-home-experiences .links-slider {
        margin: 45px 0 120px 10px;
    }
}

@media (width <= 820px) {
    .conozca-villa,
    .section-home-experiences {
        padding: 0 32px;
    }

    .conozca-villa .col-img,
    .conozca-villa .link-txt,
    .conozca-villa .links-slider,
    .section-home-experiences .col-img,
    .section-home-experiences .link-txt,
    .section-home-experiences .links-slider {
        display: none;
    }

    .section-home-experiences .inner-txt p,
    .inner-txt p.feat {
        margin-bottom: 22px;
    }
}

.experiences-slider-mobile {
    display: none;
    overflow: hidden;
    position: relative;
}

@media (width <= 820px) {
    .experiences-slider-mobile {
        display: block;
    }
}

.experiences-slider-mobile article.item {
    position: relative;
    display: grid;
    place-items: center center;
}

.experiences-slider-mobile article.item a {
    position: absolute;
    display: block;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 3.4px;
    z-index: 2;
}

.experiences-slider-mobile h3.tit3 {
    color: #fff;
    text-align: center;
    padding: 0 10px;
}

.experiences-slider-mobile article.item img {
    height: 455px;
    width: 100%;
}

.experiences-slider-mobile article.item::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.32;
}

.experiences-slider-mobile .slider-nav {
    z-index: 3;
    position: static;
    height: 0;
}

.experiences-slider-mobile .slider-nav .swiper-button-villas-next,
.experiences-slider-mobile .slider-nav .swiper-button-villas-prev {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 5px;
    margin-top: -15px;
    background-image: url('../images/assets/slider-prev-white.svg');
    background-repeat: no-repeat;
    background-position: center center;
    width: 30px;
    height: 30px;
    background-size: 14px 24px;
}

.experiences-slider-mobile .slider-nav .swiper-button-villas-next {
    left: auto;
    right: 5px;
    background-image: url('../images/assets/slider-next-white.svg');
}

.links-slider .item {
    margin: 30px 0;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 2px 0;
}

.links-slider .item .item-txt {
    font-weight: 400;
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.25rem;
    margin-right: 32px;
    color: #382f2d;
    transition: font-weight 0.1s ease-in-out;
}

.links-slider .item .item-txt a,
.links-slider .item .item-txt span {
    color: #878787;
}

.links-slider .item .item-txt a:hover,
.links-slider .item .item-txt span:hover,
.links-slider .item.active .item-txt a,
.links-slider .item.active .item-txt span {
    letter-spacing: 0.29rem;
    color: #382f2d;
}

.links-slider .item .item-txt span {
    transition: all 0.3s ease-in-out;
}

.links-slider .item .item-txt span:hover {
    cursor: default;
}

.links-slider .item .line {
    flex-grow: 0;
    border-bottom: 1.6px solid #382f2d;
    background: #382f2d;
    opacity: 0;
    display: none;
}

.links-slider .item.active .item-txt {
    font-weight: 500;
    text-shadow: 0 0 0.6px #382f2d;
}

.links-slider .item.active .line {
    display: block;
    animation: drawLine 0.5s ease forwards;
}

@media (width <= 1240px) {
    .links-slider .item {
        margin: 22px 0;
    }

    .links-slider .item .item-txt {
        font-size: 1.2rem;
    }
}

@keyframes drawLine {
    0% {
        flex-grow: 0;
        opacity: 0;
    }

    100% {
        flex-grow: 1;
        opacity: 1;
    }
}

@keyframes drawLine {
    0% {
        flex-grow: 0;
        opacity: 0;
    }

    100% {
        flex-grow: 1;
        opacity: 1;
    }
}

.col-txt.dark .links a,
.col-txt.dark .tit2,
.col-txt.dark p {
    color: #fff;
}

.col-txt.dark .links a:hover {
    color: #fff;
    opacity: 0.6;
}

.section-shopping-experience {
    height: auto;
    width: 100%;
}

.section-shops {
    background: #b13c17;
}

.section-shops .col.col-txt.dark {
    padding: 0 32px;
}

.section-shops .indent.indent-l {
    padding-right: 0;
    display: inline-block;
}

.section-shops .cols2 {
    grid-template-columns: 50% 50%;
    grid-template-rows: 80vh;
    gap: 0;
}

.section-shops .col-txt {
    padding-left: 0;
    place-self: center center;
}

.section-shops .col-txt .inner {
    max-width: 540px;
}

.section-shops .col-txt .tit2 br {
    display: block !important;
}

.section-shops .col-txt .gastro-icons {
    margin: 25px 0 70px;
}

.section-shops .col-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-shops .col-img .gastro-slider,
.section-shops .col-img .gastro-swiper {
    height: 100%;
    overflow: hidden;
}

@media (width <= 1500px) {
    .section-shops .col-txt {
        padding-left: 6.5vw;
    }
}

@media (width <= 1240px) {
    .section-shops .col-txt {
        padding-left: 52px;
    }
    .section-shops .cols2 {
        grid-template-rows: auto;
    }
    .section-shopping-experience .inner {
        padding: 0;
    }
}

@media (width <= 820px) {
    .section-shops .cols2 {
        grid-template-columns: 100%;
        grid-template-rows: auto;
    }

    .section-shops .cols2 .col-txt {
        padding: 0 32px;
    }

    .section-shops .cols2 .col-txt .gastro-icons {
        margin: 50px 0 40px;
        max-width: 200px;
    }

    .section-shops .cols2 .col-img {
        order: 2;
    }

    .section-shops .cols2 .col-img img {
        height: 480px;
    }

    .section-shops .col-txt .inner {
        padding: 0;
    }
}

.home-wellness .cols2 {
    gap: 0;
}

.home-wellness .inner-txt {
    padding-left: 150px;
}

@media (width <= 1500px) {
    .home-wellness .inner-txt {
        padding-left: 8vw;
    }
}

@media (width <= 820px) {
    .home-wellness .col-img {
        order: 2;
    }

    .home-wellness .col-txt {
        margin: 10px 0 30px;
        padding: 0 32px;
    }

    .home-wellness .col-txt .inner-txt {
        padding-left: 0;
    }
}

.section-blog {
    /* padding-left: 11.8vw; */
    background-color: #f0eeed;
    padding: 0 60px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.section.section-xl.section-blog {
    padding: 30px 60px;
}

#page-home .section-blog {
    background-color: #fff;
}

.section-blog .inner-txt.mt {
    margin: 0;
}

.section-blog .cols2.cols2_s-l {
    position: relative;
}

.section-blog .swiper-pagination-container {
    position: absolute;
    bottom: unset;
    right: 0;
    top: 0;
    z-index: 1;
    font-family: miller-banner;
}

.swiper.section-blog-swiper.swiper-initialized.swiper-horizontal.swiper-backface-hidden {
    padding: 80px 0 0;
}

.section-blog .col-txt {
    position: relative;
    padding-right: 70px;
    align-self: center;
}

.section-blog .col-gallery {
    overflow: hidden;
}

.section-blog .col-gallery a {
    display: block;
}

.section-blog .col-gallery img {
    aspect-ratio: 531/694;
    object-fit: cover;
}

@media (width <= 1800px) {
    .section-blog .col-txt {
        padding-right: 40px;
    }

    .section-blog .col-txt .inner-txt.mt {
        margin-top: 50px;
    }

    .section-blog .cols2_s-l {
        grid-template-columns: 0.7fr 1.7fr;
    }

    .section-blog .news-card {
        height: 620px;
    }
}

@media (width <= 1500px) {
    .section-blog {
        padding-left: 8vw;
    }

    .section-blog .col-txt {
        padding-right: 0;
    }

    .section-blog .col-txt .inner-txt.mt {
        margin-top: 0;
    }
}

@media (width <= 1240px) {
    .section-blog {
        padding-left: 52px;
    }

    .section-blog .col-txt .indent {
        padding-left: 50px;
        padding-right: 0;
    }
}

@media (width <= 1023px) {
    .section-blog {
        padding-left: 0;
        padding: 0 32px;
        position: relative;
    }

    .section-blog .cols2_s-l {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .section-blog .col-txt {
        position: static;
        padding: 0;
    }

    .section-blog .col-txt .inner-txt {
        margin-top: 0;
    }

    .section-blog .section-blog-slider {
        position: relative;
        overflow: hidden;
    }

    .section-blog .slider-nav {
        position: static;
        height: 0;
        background: #ddd;
        z-index: 10;
    }

    .section-blog .slider-nav .swiper-button-next,
    .section-blog .slider-nav .swiper-button-prev {
        position: absolute;
        z-index: 11;
        top: auto;
        bottom: 239px;
        left: calc(5px + 32px);
        background-image: url('../images/assets/slider-prev-white.svg');
        background-repeat: no-repeat;
        background-position: center center;
        width: 30px;
        height: 30px;
        background-size: 14px 24px !important;
    }

    .section-blog .slider-nav .swiper-button-next {
        left: auto;
        right: calc(5px + 32px);
        background-image: url('../images/assets/slider-next-white.svg');
    }

    .section.section-xl.section-blog {
        padding: 30px 40px;
    }
}

@media (width <= 820px) {
    .section-blog .slider-nav .swiper-button-next,
    .section-blog .slider-nav .swiper-button-prev {
        bottom: 196px;
    }

    #header-home .swiper-pagination-container {
        display: none;
    }

    .section-blog .col-txt {
        padding: 0;
    }

    .section-blog .swiper-pagination-container {
        position: absolute;
        z-index: 1;
        font-family: miller-banner;
        left: 0;
        right: unset;
        bottom: 20px;
    }

    .swiper-pagination-container {
        right: unset;
        left: 52px;
    }

    .swiper.section-blog-swiper.swiper-initialized.swiper-horizontal.swiper-backface-hidden {
        padding: 40px 0 100px;
    }

    .swiper-btns {
        gap: 30px;
    }

    .section-blog.section.section-xl .cols2 {
        padding: 60px 0 0 !important;
    }

    .section-blog .col-gallery img {
        aspect-ratio: 684 / 430;
    }

    .news-card {
        height: 100% !important;
    }

    .news-card .news-text-container {
        justify-content: unset !important;
        gap: 10px !important;
    }
}

.section-newsletter {
    margin: 90px 0;
    background: #fff;
    width: 100%;
    height: auto;
}

.newsletter-text {
    margin: 20px;
}

.newsletter-text p {
    margin: 30px 20px 20px;
    width: 100%;
    max-width: 900px;
    justify-self: center;
    display: flex;
    justify-content: center;
}

.img-tit-overlay {
    position: relative;
    display: grid;
    align-items: center;
    text-align: center;
    overflow: hidden;
}

.img-tit-overlay p {
    position: absolute;
    color: #fff;
    z-index: 3;
    display: block;
    width: 90%;
    font-family: miller-banner, serif;
    font-weight: 400;
    font-size: 1.875rem;
    text-align: center;
    margin: 20px;
}

.img-tit-overlay::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 2;
    transition: all 0.4s ease-in-out;
    opacity: 0.2;
}

.img-tit-overlay img {
    display: block;
    transition: all 0.4s ease-in-out;
}

@media (width <= 820px) {
    .img-tit-overlay span {
        font-size: 20px;
    }

    .img-tit-overlay img {
        height: 422px;
        width: 100%;
    }
}

.slider-nav {
    position: absolute;
    bottom: 4px;
    right: 120px;
    height: 40px;
    user-select: none;
}

.slider-nav .swiper-button-next,
.slider-nav .swiper-button-prev {
    display: inline-block;
    width: 21px;
    height: 40px;
    background-size: cover !important;
    position: relative;
    transition: opacity 0.2s ease-in-out;
    opacity: 0.8;
}

.slider-nav .swiper-button-next::after,
.slider-nav .swiper-button-prev::after {
    display: none;
}

.slider-nav .swiper-button-next:hover,
.slider-nav .swiper-button-prev:hover {
    opacity: 1;
}

.slider-nav .swiper-button-prev {
    background: url('../images/assets/slider-prev.svg');
    margin-right: 75px;
}

.slider-nav .swiper-button-next {
    background: url('../images/assets/slider-next.svg');
}

@media (width <= 1500px) {
    .slider-nav {
        right: 20px;
    }
}

@media (width <= 820px) {
    .slider-nav .swiper-button-next,
    .slider-nav .swiper-button-prev {
        width: 13px;
        height: 24px;
    }
}

.slider-nav.slider-white {
    z-index: 3;
    position: static;
    height: 0;
}

.slider-nav.slider-white .swiper-button-white-next,
.slider-nav.slider-white .swiper-button-white-prev {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 5px;
    margin-top: -15px;
    background-image: url('../images/assets/slider-prev-white.svg');
    background-repeat: no-repeat;
    background-position: center center;
    width: 30px;
    height: 30px;
    background-size: 14px 24px;
}

.slider-nav.slider-white .swiper-button-white-next {
    left: auto;
    right: 5px;
    background-image: url('../images/assets/slider-next-white.svg');
}

a.img-tit-overlay-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

a.img-tit-overlay-wrapper:hover .img-tit-overlay::after {
    opacity: 0.35;
}

a.img-tit-overlay-wrapper:hover .img-tit-overlay img {
    transform: scale(1.05);
}

@media (width <= 820px) {
    a.img-tit-overlay-wrapper:hover .img-tit-overlay::after {
        opacity: 0.2;
    }

    a.img-tit-overlay-wrapper:hover .img-tit-overlay img {
        transform: none;
    }
}

.hotel-intro {
    margin-bottom: 100px !important;
}

@media (width <= 820px) {
    .hotel-intro {
        margin-bottom: 35px !important;
    }
}

.hotel-img-txt {
    position: relative;
    z-index: 2;
}

.hotel-img-txt .cols2 {
    grid-template-columns: 1fr 1.2fr;
    gap: 150px;
}

.hotel-img-txt img {
    position: relative;
    top: 115px;
}

.hotel-img-txt .col-txt .indent {
    padding-top: 0;
}

.hotel-img-txt .col-txt p.feat {
    max-width: 460px;
}

@media (width <= 1500px) {
    .hotel-img-txt img {
        top: 90px;
    }
}

@media (width <= 1240px) {
    .hotel-img-txt .cols2 {
        gap: 50px;
    }

    .hotel-img-txt .cols2 .col-txt {
        margin-bottom: 30px;
    }
}

@media (width <= 820px) {
    .hotel-img-txt .cols2 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .hotel-img-txt .cols2 .col-txt {
        margin-bottom: 0;
    }

    .hotel-img-txt .col-img {
        order: 2;
        margin-bottom: 75px;
    }

    .hotel-img-txt .col-img img {
        width: 100%;
        max-width: 500px;
        top: 0;
    }
}

.hotel-banner {
    z-index: 1;
}

.hotel-banner::after {
    opacity: 0.3;
}

.science p.feat {
    max-width: 580px;
}

.science .col-txt img {
    margin-top: 80px;
    margin-left: -100px;
    max-height: 562px;
}

.science .col-img img {
    max-height: 986px;
}

@media (width <= 820px) {
    .science .dbl-img {
        margin: 50px 0 0;
    }

    .science .dbl-img .img1 {
        max-height: 77vw;
        padding: 0 32px;
    }

    .science .dbl-img .img-ghost,
    .science .dbl-img .img2 {
        max-height: 60vw;
    }

    .science .dbl-img .img2,
    .science .dbl-img .img-ghost {
        display: none;
    }
}

.hotel-reconocimientos {
    background: #f6f3f1;
    padding: 100px 0 90px;
}

.hotel-reconocimientos .hotel-reconocimientos-slider {
    position: relative;
    margin: 60px 0;
    padding: 0 60px;
}

.hotel-reconocimientos .hotel-reconocimientos-slider .reconocimientos-swiper {
    overflow: hidden;
}

.hotel-reconocimientos .hotel-reconocimientos-slider .slider-nav {
    position: static;
}

.hotel-reconocimientos .hotel-reconocimientos-slider .swiper-button-next,
.hotel-reconocimientos .hotel-reconocimientos-slider .swiper-button-prev {
    position: absolute;
    top: 40%;
}

.hotel-reconocimientos .hotel-reconocimientos-slider .swiper-button-prev {
    left: 0;
}

.hotel-reconocimientos .hotel-reconocimientos-slider .swiper-button-next {
    right: 0;
}

.hotel-reconocimientos .links {
    text-align: center;
}

.hotel-reconocimientos .links li {
    margin-right: 62px;
}

@media (width <= 1240px) {
    .hotel-reconocimientos {
        padding: 90px 0 80px;
    }

    .hotel-reconocimientos .hotel-reconocimientos-slider {
        margin: 50px 0 40px;
        padding: 0 20px;
    }

    .hotel-reconocimientos .links.links-inline li {
        display: inline-block;
    }
}

@media (width <= 1023px) {
    .hotel-reconocimientos .hotel-reconocimientos-slider {
        padding: 0 50px;
    }

    .hotel-reconocimientos .links.links-inline li {
        display: block;
        margin-right: 0;
    }
}

@media (width <= 820px) {
    .hotel-reconocimientos {
        padding: 80px 0;
    }

    .hotel-reconocimientos .tit-center {
        margin-bottom: 60px;
    }

    .hotel-reconocimientos .hotel-reconocimientos-slider {
        margin: 0 0 10px;
        padding: 0 20px;
    }
}

.item-reconocimiento {
    margin: 0 auto;
    padding: 0 40px;
    text-align: center;
    max-width: 260px;
}

.item-reconocimiento img {
    width: 200px;
    margin: 0 auto;
}

.item-reconocimiento .year {
    font-family: miller-banner, serif;
    font-size: 40px;
    font-weight: 350;
    color: #5e5554;
    margin: 25px 0;
}

.item-reconocimiento .desc {
    font-size: 1rem;
    color: #382f2d;
    margin: 0;
}

.item-reconocimiento .desc a {
    color: #382f2d;
}

.item-reconocimiento .desc a:hover {
    color: #5e5554;
}

@media (width <= 1800px) {
    .item-reconocimiento {
        max-width: 250px;
    }

    .item-reconocimiento img {
        width: 190px;
    }

    .item-reconocimiento .desc {
        font-size: 1rem !important;
        line-height: 1.4;
    }
}

@media (width <= 1240px) {
    .item-reconocimiento .year {
        font-size: 38px;
    }
}

@media (width <= 820px) {
    .item-reconocimiento .year {
        font-size: 34px;
        margin: 25px 0 18px;
    }

    .item-reconocimiento .desc {
        font-size: 13px !important;
        line-height: 1.39;
    }
}

.gallery-wrapper .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 75px 20px;
}

.gallery-wrapper article.gallery-item {
    width: 100%;
}

.gallery-wrapper article.gallery-item .gallery-item-link .img-wrapper {
    height: 25vw;
}

.gallery-wrapper article.gallery-item .gallery-item-link img {
    aspect-ratio: 340/438;
    width: 100%;
    height: 100%;
}

@media (width <= 1500px) {
    .gallery-wrapper .swiper-wrapper {
        gap: 60px 20px;
    }

    .gallery-wrapper article.gallery-item .gallery-item-link .img-wrapper {
        height: 28vw;
    }
}

@media (width <= 1023px) {
    .gallery-wrapper .swiper-wrapper {
        gap: 45px 16px;
    }
}

@media (width >= calc(820px + 1px)) {
    .gallery-wrapper .swiper-wrapper {
        transform: none !important;
    }
}

@media (width <= 820px) {
    .gallery-wrapper {
        overflow: hidden;
        position: relative;
    }

    .gallery-wrapper .swiper-wrapper {
        display: flex;
        gap: 0;
    }

    .gallery-wrapper article.gallery-item .gallery-item-link .img-wrapper {
        height: 400px;
        width: 100%;
    }

    .gallery-wrapper article.gallery-item .gallery-item-link .tit3 {
        font-size: 22px;
    }

    .gallery-wrapper .slider-nav.slider-white .swiper-button-white-next,
    .gallery-wrapper .slider-nav.slider-white .swiper-button-white-prev {
        margin-top: 0;
        top: 187px;
    }
}

article.gallery-item {
    text-align: center;
}

article.gallery-item a.gallery-item-link {
    display: block;
    position: relative;
}

article.gallery-item a.gallery-item-link .img-wrapper {
    position: relative;
    display: grid;
    place-items: center center;
    margin-bottom: 28px;
    overflow: hidden;
}

article.gallery-item a.gallery-item-link .img-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

article.gallery-item a.gallery-item-link .img-wrapper span {
    color: #fff;
    font-family: miller-banner, serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

article.gallery-item a.gallery-item-link img {
    display: block;
    object-fit: cover;
    transition: all 0.4s ease-in-out;
}

article.gallery-item a.gallery-item-link:hover .img-wrapper::after {
    opacity: 0.3;
}

article.gallery-item a.gallery-item-link:hover .img-wrapper img {
    transform: scale(1.05);
}

article.gallery-item a.gallery-item-link:hover .img-wrapper span {
    opacity: 1;
}

@media (width <= 1500px) {
    article.gallery-item a.gallery-item-link .img-wrapper {
        margin-bottom: 25px;
    }
}

@media (width <= 820px) {
    article.gallery-item a.gallery-item-link .img-wrapper {
        margin-bottom: 18px;
    }

    article.gallery-item a.gallery-item-link .img-wrapper::after {
        opacity: 0.3;
    }

    article.gallery-item a.gallery-item-link .img-wrapper span {
        opacity: 1;
    }

    article.gallery-item a.gallery-item-link:hover .img-wrapper img {
        transform: none;
    }
}

.gallery-modal .lg-backdrop {
    opacity: 0.9 !important;
}

.gallery-modal .lg-content {
    top: 0 !important;
    top: 4vh !important;
}

.gallery-modal .lg-outer .lg-inner {
    max-height: 92vh !important;
}

.hotel-de-villas .logo-animation {
    display: none;
}

@media (width <= 820px) {
    .hotel-de-villas .container {
        padding: 0 !important;
    }

    .hotel-de-villas .box {
        padding: 0 32px !important;
        margin-bottom: 58px;
    }

    .hotel-de-villas .box .tit2 {
        margin: 0 !important;
    }

    .hotel-de-villas .box .feat {
        padding: 33px 0 0 50px !important;
    }

    .hotel-de-villas .logo-animation {
        display: block;
        width: 122px;
        height: 122px;
        position: static;
        margin: 45px auto 0;
    }
}

.img-box-wrapper {
    position: relative;
}

.img-box-wrapper .box {
    background: #e7e0da;
    padding: 60px 110px 55px;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    width: 560px;
    z-index: 2;
}

.img-box-wrapper .box .tit2 {
    margin-bottom: 35px;
}

.img-box-wrapper .box .inner {
    margin: 0 auto;
}

.img-box-wrapper .box a:hover {
    color: #5e5554;
}

.img-box-wrapper .img-wrapper {
    padding-top: 80px;
    padding-left: 480px;
}

.img-box-wrapper .img-wrapper img {
    display: block;
}

@media (width <= 1240px) {
    .img-box-wrapper .box {
        padding: 50px 60px 45px;
        width: 450px;
    }

    .img-box-wrapper .img-wrapper {
        padding-left: 370px;
    }
}

@media (width <= 1023px) {
    .img-box-wrapper .box {
        padding: 40px 50px 30px;
        width: 380px;
    }

    .img-box-wrapper .img-wrapper {
        padding-left: 300px;
    }
}

@media (width <= 820px) {
    .img-box-wrapper .box {
        background: 0 0;
        position: static;
        padding: 0;
        width: 100%;
    }

    .img-box-wrapper .img-wrapper {
        padding: 0 0 0 32px;
    }
}

.img-box-wrapper.full {
    padding: 85px 0;
}

.img-box-wrapper.full .box {
    padding: 100px 110px;
    position: relative;
    width: 38%;
    z-index: 2;
}

.img-box-wrapper.full .box .inner {
    max-width: 390px;
}

.img-box-wrapper.full .box .links {
    margin-top: 90px;
}

.img-box-wrapper.full .img-wrapper {
    padding-top: 0;
    padding-left: 25%;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.img-box-wrapper.full .img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (width <= 1800px) {
    .img-box-wrapper.full .box {
        padding: 100px;
    }
}

@media (width <= 1500px) {
    .img-box-wrapper.full .box {
        padding: 85px 80px 90px;
    }
}

@media (width <= 1240px) {
    .img-box-wrapper.full .box {
        width: 470px;
        padding: 75px 54px;
    }

    .img-box-wrapper.full .box .links {
        margin-top: 50px;
    }
}

.page-offer-inner {
    padding: 100px 25%;

    /* background-color: #f0eeed; */
}

/* .page-offer-inner a{
    padding: 30px 0;
} */

.page-offer-inner p {
    text-align: left;
    padding: 30px 0;
}

.offer-btn {
    gap: 20px;
    display: flex;
}

.offers-listing {
    padding: 0 150px;
}

.offers-listing .tit-center {
    padding-top: 100px;
}

.offers-listing article {
    background-color: #f0eeed;
}

.offers-listing article .col-img,
.offers-listing article .col-img img {
    height: 100%;
}

.offers-listing h3 {
    color: #781c4d !important;
}

.section-listing article {
    margin: 160px 0;
}

.section-listing article .cols2 {
    gap: 0;
    align-items: center;
}

.section-listing article .inner-txt {
    padding: 120px 23%;
    padding: 0 23%;
}

.section-listing article .inner-txt p.feat {
    font-style: normal;
}

.section-listing article .inner-txt .links {
    margin-top: 60px;
}

.section-listing article img {
    aspect-ratio: 940/680;
    object-fit: cover;
}

.section-listing article:nth-child(odd) .cols2 {
    grid-template-columns: 50% 1fr;
}

.section-listing article:nth-child(odd) .col-img {
    order: 1;
}

.section-listing article:nth-child(odd) .col-txt {
    order: 2;
}

.section-listing article:nth-child(even) .cols2 {
    grid-template-columns: 1fr 50%;
}

@media (width <= 1800px) {
    .section-listing article {
        margin: 100px 0;
    }

    .section-listing article:first-child {
        margin-top: 90px;
    }
}

@media (width <= 1500px) {
    .section-listing article:first-child {
        margin-top: 80px;
    }

    .section-listing article .inner-txt {
        padding: 0 17%;
    }
}

@media (width <= 1240px) {
    .section-listing article {
        margin-bottom: 120px;
    }

    .section-listing article .col-txt .inner-txt {
        padding: 52px;
    }

    .section-listing article .col-txt .links {
        margin-top: 50px;
    }

    .section-listing article .col-txt .links ul li {
        display: inline-block;
    }
}

@media (width <= 1025px) {
    .section-listing article {
        margin-bottom: 100px;
    }

    .section-listing article .col-txt .inner-txt .indent {
        padding-top: 22px;
    }

    .section-listing article .col-txt .inner-txt p.feat {
        margin-bottom: 20px;
    }

    .section-listing article .col-txt .links {
        margin-top: 35px;
    }
    .offers-listing {
        padding: 0 80px !important;
    }
}

@media (width <= 820px) {
    .page-offer-inner {
        padding: 75px 25px;
    }

    .offers-listing {
        padding: unset !important;
    }

    .offers-listing .tit-center {
        padding: 25px;
    }

    .offers-listing article {
        background-color: #fff;
    }

    .offers-listing article .col-img,
    .offers-listing article .col-img img {
        height: auto;
    }

    .section-listing article {
        margin-bottom: 60px;
    }

    .section-listing article .cols2 {
        grid-template-columns: 1fr !important;
    }

    .section-listing article .col-img {
        order: 1 !important;
        margin-bottom: 36px;
    }

    .section-listing article .col-img img {
        height: 240px;
        width: 100%;
    }

    .section-listing article .col-txt {
        order: 2 !important;
    }

    .section-listing article .col-txt .inner-txt {
        padding: 20px;
    }

    .section-listing article .col-txt .inner-txt .indent {
        padding: 18px 0 0;
    }
}

.banner-feat-txt {
    max-width: 100%;
    overflow: hidden;
    margin: 230px auto 250px;
    text-align: center;
}

.banner-feat-txt .tit2 {
    font-size: 5.625rem;
    line-height: 5.9rem;
    color: #5e5554;
}

.banner-feat-txt span {
    display: block;
    opacity: 1;
}

@media (width <= 1800px) {
    .banner-feat-txt {
        margin: 210px auto 230px;
    }

    .banner-feat-txt .tit2 {
        font-size: 5.5rem;
    }
}

@media (width <= 1500px) {
    .banner-feat-txt {
        margin: 180px auto 200px;
    }

    .banner-feat-txt.banner-feat-txt-villas {
        margin: 200px auto 220px;
    }
}

@media (width <= 1240px) {
    .banner-feat-txt {
        margin: 160px auto 180px;
    }

    .banner-feat-txt.banner-feat-txt-villas {
        margin: 180px auto 200px;
    }

    .banner-feat-txt .tit2 {
        font-size: 4.8rem;
        line-height: 1.1;
    }
}

@media (width <= 1023px) {
    .banner-feat-txt {
        margin: 150px auto 170px;
    }

    .banner-feat-txt .tit2 {
        font-size: 4.3rem;
    }
}

@media (width <= 820px) {
    .banner-feat-txt {
        margin: 70px auto;
    }

    .banner-feat-txt.banner-feat-txt-villas {
        margin-bottom: -30px;
    }

    .banner-feat-txt .tit2 {
        font-size: 40px;
        line-height: 1.18;
    }
}

@media (width <= 400px) {
    .banner-feat-txt .tit2 {
        font-size: 37px;
        line-height: 1.1;
    }
}

@media (width <= 375px) {
    .banner-feat-txt .tit2 {
        font-size: 35px;
    }
}

.page-intro-villas .cols2 {
    grid-template-columns: 360px 1fr;
}

.page-intro-villas p.feat {
    max-width: 100%;
    margin-bottom: 15px;
}

.page-intro-villas .links {
    margin-top: 60px;
}

.page-intro-villas .links li:last-child {
    margin-bottom: 0;
}

.page-intro-villas.page-intro-villas-xl .cols2 {
    grid-template-columns: 0.6fr 1fr;
}

@media (width <= 820px) {
    .page-intro-villas .cols2 {
        grid-template-columns: 1fr !important;
    }

    .page-intro-villas .col:nth-child(2) {
        padding-left: 50px;
    }

    .page-intro-villas .links {
        margin-top: 50px;
    }
}

.page-villa .banner img {
    max-height: 655px;
}

.page-villa .banner .tit1 {
    margin: 0;
    line-height: 5.8rem;
}

.page-villa .parallax {
    min-height: 640px;
    background-position: center 66%;
}

.page-villa .conozca-villa .tit-center {
    margin-bottom: 60px;
}

@media (width <= 1800px) {
    .page-villa .banner img {
        max-height: 620px;
    }

    .page-villa .parallax {
        min-height: 620px;
    }
}

@media (width <= 1500px) {
    .page-villa .banner img {
        min-height: 0;
        height: 600px;
    }

    .page-villa .parallax {
        min-height: 600px;
    }
}

@media (width <= 1240px) {
    .page-villa .banner .tit1 {
        line-height: 1.05;
    }

    .page-villa .banner img {
        min-height: 0;
        height: 540px;
    }

    .page-villa .banner br {
        display: block;
    }

    .page-villa .parallax {
        min-height: 540px;
    }
}

@media (width <= 820px) {
    .page-villa .parallax {
        min-height: 380px;
    }

    .page-villa .conozca-villa {
        margin: 65px 0 80px !important;
    }

    .page-villa .conozca-villa .tit-center,
    .page-villa .conozca-villa .tit2 {
        display: none;
    }
}

.instalaciones-servicios {
    background: #f6f3f1;
    padding: 90px 0 80px;
}

.instalaciones-servicios .cols2 {
    grid-template-columns: 510px 1fr;
}

.instalaciones-servicios .tit2 {
    color: #5e5554;
    margin-bottom: 100px;
}

.instalaciones-servicios .col-tit a:hover {
    color: #5e5554;
}

.instalaciones-servicios .col-cont ul {
    margin: 0;
    padding: 0;
    columns: 2;
    column-gap: 90px;
}

.instalaciones-servicios .col-cont ul li {
    font-family: miller-banner, serif;
    color: #5e5554;
    list-style: none;
    font-weight: 400;
    font-size: 1.5rem;
    margin-bottom: 16px;
}

@media (width <= 1800px) {
    .instalaciones-servicios .cols2 {
        grid-template-columns: 440px 1fr;
    }
}

@media (width <= 1500px) {
    .instalaciones-servicios .cols2 {
        grid-template-columns: 420px 1fr;
    }
}

@media (width <= 1024px) {
    .instalaciones-servicios .cols2 {
        grid-template-columns: 1fr;
        gap: 55px;
        position: relative;
        padding-bottom: 120px;
    }

    .instalaciones-servicios .col-tit .tit2 {
        margin: 0;
    }

    .instalaciones-servicios .col-tit .links {
        position: absolute;
        bottom: 0;
    }
}

@media (width <= 820px) {
    .instalaciones-servicios {
        padding: 75px 0 70px;
    }

    .instalaciones-servicios .cols2 {
        gap: 30px;
        padding-bottom: 100px;
    }

    .instalaciones-servicios .col-tit .links {
        margin-left: 50px;
    }

    .instalaciones-servicios .col-cont ul {
        columns: 1;
        margin-left: 50px;
    }

    .instalaciones-servicios .col-cont ul li {
        font-size: 18px;
        margin-bottom: 9px;
    }
}

.text-block .amenities {
    max-width: 380px;
    margin: 30px auto 0;
}

.text-block .amenities article {
    margin-bottom: 25px;
}

.text-block .amenities article p {
    color: #382f2d;
}

.text-block .amenities article p.p1 {
    font-family: miller-banner, serif;
    font-weight: 350;
    line-height: 1.2;
    font-size: 1.56rem;
    margin: 0 0 2px;
}

/*  .page-villa-iconic  > .block-1  */

.text-block.block-1 .col-1 img {
    aspect-ratio: 650/976;
}

.text-block.block-1 .col-3 {
    padding-right: 80px;
}

.text-block.block-1 .col-3 img {
    aspect-ratio: 580/762;
    margin-top: 480px;
}

/*  .page-villas-ocean  >  .block-2 */

.text-block.block-2 .col-1 img {
    aspect-ratio: 580/661;
    margin-top: 430px;
}

.text-block.block-2 .col-3 img {
    aspect-ratio: 760/800;
    margin-top: 0;
}

/*  .page-villas-collection  > .block-3  */

.text-block.block-3 .col-3 {
    padding-right: 80px;
}

.text-block.block-3 .col-3 img {
    aspect-ratio: 618/564;
    margin-top: 640px;
}

/*  .page-villas-sea-lounge  > .block-4  */

.text-block.block-4 {
    margin-bottom: 0 !important;
}

.text-block.block-4 .col-1 img {
    aspect-ratio: 580/950;
}

.text-block.block-4 .col-3 {
    padding-right: 80px;
}

.text-block.block-4 .col-3 img {
    aspect-ratio: 580/760;
    margin-top: 460px;
}

/*  .page-villas-deluxe  > .block-5  */

.text-block.block-5 .col-1 img {
    aspect-ratio: 580/700;
}

.text-block.block-5 .col-3 img {
    aspect-ratio: 920/800;
    margin-top: 600px;
}

/*  .page-villas-rustic  > .block-6  */
.text-block.block-6 .col-1 img {
    aspect-ratio: 600/620;
    margin-top: 520px;
}

.text-block.block-6 .col-3 img {
    aspect-ratio: 555/845;
    margin-top: 0;
    width: 100%;
    max-height: 850px;
}

@media (width <= 1500px) {
    .text-block .amenities {
        margin-top: 10px;
    }

    .text-block .inner-txt {
        margin-top: 90px !important;
    }
}

@media (width <= 1023px) {
    .text-block .inner-txt {
        margin-top: 70px !important;
    }
}

@media (width <= 820px) {
    .text-block {
        margin: 80px 0 !important;
    }

    .text-block .amenities article {
        margin-bottom: 20px;
    }

    .text-block .inner-txt {
        margin-top: 0 !important;
    }

    .text-block .col-txt {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    .text-block .col-txt .tit2 {
        max-width: 180px !important;
        margin: 0 auto;
    }

    .text-block .col-txt .indent {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .text-block .col-1 {
        display: none;
    }

    .text-block .col-3 {
        padding: 0 !important;
    }

    .text-block .col-3 img {
        margin-top: 0 !important;
        width: 100% !important;
        height: 570px !important;
    }

    .container-parallax-image {
        margin-top: 0 !important;
    }
}

.otras-villas .tit-center {
    margin-bottom: 75px;
}

.otras-villas .experiences-slider {
    position: relative;
}

.otras-villas .villas-swiper {
    overflow: hidden;
}

.otras-villas .villas-swiper .swiper-slide a {
    position: relative;
    color: #fff;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 0 !important;
    overflow: hidden;
}

.otras-villas .villas-swiper .swiper-slide a span {
    position: absolute;
    display: block;
    width: 100%;
    padding: 0 20px;
    z-index: 2;
    box-sizing: border-box;
    font-family: miller-banner, serif;
    font-size: 1.875rem;
    letter-spacing: 0.093rem;
    line-height: 1.07;
    font-weight: 400;
    opacity: 1;
    transition: opacity 0.35s ease-in-out;
}

.otras-villas .villas-swiper .swiper-slide a img {
    display: block;
    aspect-ratio: 269/362;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
}

.otras-villas .villas-swiper .swiper-slide a::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.3;
    transition: opacity 0.35s ease-in-out;
}

.otras-villas .villas-swiper .swiper-slide a:hover::after {
    opacity: 0.4;
}

.otras-villas .villas-swiper .swiper-slide a:hover img {
    transform: scale(1.05);
}

.otras-villas .slider-nav {
    position: static;
}

.otras-villas .swiper-button-next,
.otras-villas .swiper-button-prev {
    position: absolute;
    top: 50%;
    margin-top: -40px;
}

.otras-villas .swiper-button-prev {
    left: -60px;
}

.otras-villas .swiper-button-next {
    right: -60px;
}

@media (width <= 1800px) {
    .otras-villas .tit-center {
        margin-bottom: 65px;
    }
}

@media (width <= 1500px) {
    .otras-villas .swiper-button-prev {
        left: -40px;
    }

    .otras-villas .swiper-button-next {
        right: -40px;
    }
}

@media (width <= 1240px) {
    .otras-villas .tit-center {
        margin-bottom: 50px;
    }
}

@media (width <= 1023px) {
    .otras-villas .villas-swiper .swiper-slide a span {
        font-size: 22px;
    }
}

@media (width <= 820px) {
    .otras-villas .tit-center {
        margin: 80px 0 30px;
    }

    .otras-villas .tit-center p {
        font-family: proxima-nova, sans-serif;
        font-size: 16px;
        font-weight: 400;
    }

    .otras-villas .experiences-slider {
        height: 450px;
    }

    .otras-villas .villas-swiper .swiper-slide a span {
        font-size: 20px;
    }

    .otras-villas .villas-swiper .swiper-slide a img {
        height: 450px;
    }

    .otras-villas .villas-swiper .swiper-slide a:hover::after {
        opacity: 0.3;
    }

    .otras-villas .villas-swiper .swiper-slide a:hover img {
        transform: none;
    }

    .otras-villas .swiper-button-next,
    .otras-villas .swiper-button-prev {
        position: absolute;
        z-index: 4;
        top: 50%;
        left: 5px;
        margin-top: -15px;
        background-image: url('../images/assets/slider-prev-white.svg');
        background-repeat: no-repeat;
        background-position: center center;
        width: 30px;
        height: 30px;
        background-size: 14px 24px !important;
    }

    .otras-villas .swiper-button-next {
        left: auto;
        right: 5px;
        background-image: url('../images/assets/slider-next-white.svg');
    }
}

.conozca-villa.single {
    padding: 0 !important;
}

.conozca-villa.single img {
    max-height: 650px;
    width: 100%;
}

@media (width <= 820px) {
    .conozca-villa.single .img-wrapper {
        margin-bottom: 0 !important;
    }

    .conozca-villa.single img {
        height: 420px;
    }

    .conozca-villa.single article.gallery-item a.gallery-item-link .img-wrapper span {
        font-family: proxima-nova, sans-serif;
        text-transform: uppercase;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.19rem;
    }

    .conozca-villa.single article.gallery-item a.gallery-item-link .img-wrapper::after {
        opacity: 0.15;
    }
}

.conozca-villa .links-slider {
    margin-left: 120px;
    margin-top: 48%;
    transform: translateY(-50%);
}

.conozca-villa .col-img {
    margin-top: 100px;
}

.conozca-villa .col-img .img-links-slider {
    height: 650px;
}

.conozca-villa .col-img img {
    aspect-ratio: 1062/650;
    height: 100%;
    max-height: 650px;
}

.conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link {
    display: block;
    height: 100%;
    position: relative;
}

.conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link .img-wrapper {
    height: 100%;
    margin: 0;
}

.conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link .img-wrapper img {
    height: 100%;
}

.conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link span {
    display: grid;
    align-items: center;
    width: 100%;
    height: 100%;
}

.conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link:hover .img-wrapper::after {
    opacity: 0.3;
}

.conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link:hover .img-wrapper img {
    transform: scale(1.05);
}

.conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link:hover .img-wrapper span {
    opacity: 1;
}

@media (width <= 820px) {
    .conozca-villa .col-img img {
        width: 100%;
        height: 420px;
    }

    .conozca-villa .col-img .img-links-slider article.gallery-item a.gallery-item-link:hover .img-wrapper::after img {
        transform: none;
    }
}

.gastronomia-menu .cols2 {
    grid-template-columns: 1.22fr 1fr;
    gap: 90px;
}

.gastronomia-menu .col-txt {
    padding-right: 11.8vw;
}

@media (width <= 1240px) {
    .gastronomia-menu .col-txt {
        padding-right: 8vw;
    }
}

@media (width <= 1023px) {
    .gastronomia-menu .cols2 {
        grid-template-columns: 1.1fr 1fr;
        gap: 60px;
    }
}

@media (width <= 820px) {
    .gastronomia-menu .cols2 {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .gastronomia-menu .cols2 .col-img {
        order: 2;
        margin-bottom: 25px;
    }

    .gastronomia-menu .cols2 .col-img .dbl-img {
        padding-right: 18%;
        padding-bottom: 46%;
    }

    .gastronomia-menu .cols2 .col-img .dbl-img .img-ghost,
    .gastronomia-menu .cols2 .col-img .dbl-img .img2 {
        height: 56vw;
    }

    .gastronomia-menu .cols2 .col-txt {
        padding: 0 32px;
    }

    .gastronomia-menu .cols2 .col-txt .inner-txt {
        margin-top: 0;
    }
}

.banner-coctel-bar {
    margin-bottom: 160px;
    background: url('/images/bg-coctel-bar.jpg');
    background-size: cover;
    padding: 135px 0 100px;
}

.banner-coctel-bar.idiomas {
    background: url('../images/bg-coctel-bar.jpg');
}

.banner-coctel-bar .cols2 {
    gap: 60px;
    grid-template-columns: 1fr 2fr;
}

.banner-coctel-bar .inner-txt {
    margin-left: -56px;
    max-width: 440px;
}

.banner-coctel-bar .col-txt {
    display: grid;
}

.banner-coctel-bar .links a:hover {
    color: #5e5554;
}

.banner-coctel-bar .logo-coctel-bar {
    align-self: flex-end;
    margin-top: 60px;
    text-align: right;
}

.banner-coctel-bar .logo-coctel-bar img {
    width: 330px;
    margin-left: auto;
}

@media (width <= 1800px) {
    .banner-coctel-bar {
        margin-bottom: 150px;
    }
}

@media (width <= 1500px) {
    .banner-coctel-bar {
        margin-bottom: 130px;
        padding-bottom: 90px;
    }

    .banner-coctel-bar .cols2 {
        grid-template-columns: 1fr 1.6fr;
    }

    .banner-coctel-bar .inner-txt {
        margin-left: 0;
    }

    .banner-coctel-bar .logo-coctel-bar {
        margin-top: 30px;
    }

    .banner-coctel-bar .logo-coctel-bar img {
        width: 280px;
    }

    .banner-coctel-bar .dbl-img {
        padding-bottom: 50%;
    }

    .banner-coctel-bar .dbl-img .img1 {
        height: 32vw;
    }

    .banner-coctel-bar .dbl-img .img-ghost,
    .banner-coctel-bar .dbl-img .img2 {
        width: 30vw;
        height: 40vw;
    }

    .img-ghost {
        padding: 0 32px !important;
    }
}

@media (width <= 1240px) {
    .banner-coctel-bar {
        margin-bottom: 120px;
    }
}

@media (width <= 1023px) {
    .banner-coctel-bar {
        margin-bottom: 100px;
    }
}

@media (width <= 820px) {
    .banner-coctel-bar {
        margin-bottom: 95px;
        padding: 70px 0 80px;
        background-image: url('/images/bg-coctel-bar-mobile.jpg');
        background-size: cover;
    }

    .banner-coctel-bar.idiomas {
        background-image: url('../images/bg-coctel-bar-mobile.jpg');
    }

    .banner-coctel-bar .container {
        padding: 0;
    }

    .banner-coctel-bar .cols2 {
        grid-template-columns: 1fr;
    }

    .banner-coctel-bar .inner-txt {
        margin-left: 0;
    }

    .banner-coctel-bar .col-txt {
        padding: 0 32px;
    }

    .banner-coctel-bar .dbl-img {
        padding: 0 0 47% 21.6%;
    }

    .banner-coctel-bar .dbl-img .img1 {
        height: 60vw;
    }

    .banner-coctel-bar .dbl-img .img-ghost,
    .banner-coctel-bar .dbl-img .img2 {
        width: 78vw;
        height: 57vw;
    }

    .banner-coctel-bar .col-img .logo-coctel-bar {
        margin-top: 80px;
        margin-bottom: 140px;
        padding: 0 32px;
    }

    .banner-coctel-bar .col-img .logo-coctel-bar img {
        max-width: 330px;
        width: 100%;
        margin: 0 auto;
    }
}

.video-expand-gastro {
    width: calc(100% - 140px * 3);
}

@media (width <= 820px) {
    .video-expand-gastro.section-l {
        margin-bottom: 90px;
        margin-top: 90px;
        width: calc(100% - 52px * 2);
    }
}

@media (width <= 1800px) {
    .gastro-servicios {
        margin-bottom: 60px !important;
    }
}

@media (width <= 1500px) {
    .gastro-servicios {
        margin-bottom: 40px !important;
    }
}

@media (width <= 1240px) {
    .gastro-servicios {
        margin-bottom: 0 !important;
    }
}

.restaurar-armonia {
    margin-bottom: 140px !important;
}

.restaurar-armonia .col-img img {
    min-height: 410px;
}

.restaurar-armonia .img-wrapper {
    margin-top: 70px;
    padding-left: 270px;
}

.restaurar-armonia .img-wrapper img {
    display: block;
    max-width: 350px;
}

@media (width <= 1240px) {
    .restaurar-armonia .img-wrapper {
        padding-left: 50px;
    }

    .restaurar-armonia .img-wrapper img {
        max-width: 300px;
        margin-left: auto;
    }
}

@media (width <= 820px) {
    .restaurar-armonia {
        margin-bottom: 110px !important;
    }

    .restaurar-armonia .cols2 {
        gap: 0;
    }

    .restaurar-armonia .img-wrapper {
        margin-top: 30px;
        padding: 0;
    }

    .restaurar-armonia .img-wrapper img {
        max-width: 220px;
    }
}

.wellness-gym .inner-txt {
    margin-left: 11.8vw;
    padding-left: 80px;
    margin-bottom: 120px;
}

.wellness-gym .inner-txt .indent {
    padding-right: 0;
}

@media (width <= 1500px) {
    .wellness-gym .inner-txt {
        padding-left: 0;
        margin-bottom: 100px;
    }
}

@media (width <= 1240px) {
    .wellness-gym .inner-txt {
        margin-bottom: 50px;
    }
}

@media (width <= 820px) {
    .wellness-gym .cols2 {
        gap: 30px;
        gap: 0;
    }

    .wellness-gym .col-txt img {
        display: none;
    }

    .wellness-gym .inner-txt {
        padding: 0;
        margin: 0 32px 35px;
    }

    .wellness-gym img {
        width: 100%;
        max-height: 320px;
    }
}

.page-generic .inner-txt .feat + p {
    margin-top: 50px;
}

.footer-btn .btn {
    text-align: center;
}
@media (width <= 1024px) {
    .page-generic {
        padding-top: 20px;
    }

    .page-generic.wrap .cols2 {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    #our-exp {
        margin: 32px;
        padding: 0;
    }

    #page-home .cols2_s-l {
        grid-template-columns: 1fr;
    }

    .page-generic.wrap p,
    .page-generic.wrap .indent,
    .page-generic.wrap .inner-txt {
        max-width: 100% !important;
        width: 100% !important;
    }

    .section-home-experiences .col-img .img-links-slider {
        height: 350px;
    }

    .generic-row-7 .col-img {
        margin-left: 0 !important;
    }
    .generic-row-3 .col-1 img {
        margin-top: 0px !important;
        height: 36.5vw !important;
    }

    .generic-row-6 .col-3 img {
        margin-top: 0px !important;
    }

    .page-generic .col-img {
        order: 2;
    }

    .page-generic .inner-txt {
        margin-top: 0 !important;
    }

    .page-generic .inner-txt .feat + p {
        margin-top: 35px;
    }

    .page-generic .inner-txt .indent {
        padding-left: 0;
        padding-bottom: 0;
    }

    .page-generic img {
        height: auto;
        max-height: 400px !important;
        width: 100%;
    }

    .page-generic .tortoise-3d-col {
        justify-self: center;
    }
}

.generic-row-1 .cols2,
.generic-row-4 .cols2 {
    grid-template-columns: 1fr 1.6fr;
    align-items: center;
}

.generic-row-1 img,
.generic-row-4 img {
    width: 100%;
    max-height: 620px;
    object-fit: cover;
}

@media (width <= 1240px) {
    .generic-row-1 .cols2,
    .generic-row-4 .cols2 {
        grid-template-columns: 1fr 1.3fr;
    }
}

@media (width <= 820px) {
    .generic-row-1 .inner-txt.mt-s,
    .generic-row-4 .inner-txt.mt-s {
        margin-top: 15px;
    }
}

.generic-row-1 {
    margin-bottom: 125px !important;
}

@media (width <= 1240px) {
    .generic-row-1 {
        margin-bottom: 100px !important;
    }
}

@media (width <= 820px) {
    .generic-row-1 {
        margin-bottom: 55px !important;
    }
}

.generic-row-2 {
    margin-top: 0;
}

.generic-row-2 .cols2 {
    grid-template-columns: 1.6fr 1fr;
}

.generic-row-2 .inner-txt {
    max-width: 320px;
}

.generic-row-2 .indent {
    padding: 0 !important;
}

@media (width <= 1240px) {
    .generic-row-2 .cols2 {
        grid-template-columns: 1.5fr 1fr;
    }
}

.cont-3-cols .cols,
.generic-row-3 .cols,
.generic-row-6 .cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 100px;
}

.cont-3-cols img,
.generic-row-3 img,
.generic-row-6 img {
    object-fit: cover;
}

.cont-3-cols .col-txt,
.generic-row-3 .col-txt,
.generic-row-6 .col-txt {
    text-align: center;
}

.cont-3-cols .col-txt .inner-txt,
.generic-row-3 .col-txt .inner-txt,
.generic-row-6 .col-txt .inner-txt {
    margin: 130px auto 0;
    max-width: 500px;
}

.cont-3-cols .col-txt .inner-txt .tit2,
.cont-3-cols .col-txt .inner-txt p,
.generic-row-3 .col-txt .inner-txt .tit2,
.generic-row-3 .col-txt .inner-txt p,
.generic-row-6 .col-txt .inner-txt .tit2,
.generic-row-6 .col-txt .inner-txt p {
    max-width: 100%;
}

.cont-3-cols .col-txt .inner-txt .indent,
.generic-row-3 .col-txt .inner-txt .indent,
.generic-row-6 .col-txt .inner-txt .indent {
    padding-left: 0;
    padding-right: 0;
}

@media (width <= 1800px) {
    .cont-3-cols .cols,
    .generic-row-3 .cols,
    .generic-row-6 .cols {
        gap: 90px;
    }

    .cont-3-cols .col-txt .inner-txt,
    .generic-row-3 .col-txt .inner-txt,
    .generic-row-6 .col-txt .inner-txt {
        margin-top: 120px;
    }
}

@media (width <= 1500px) {
    .cont-3-cols .cols,
    .generic-row-3 .cols,
    .generic-row-6 .cols {
        gap: 80px;
    }

    .cont-3-cols .col-txt .inner-txt,
    .generic-row-3 .col-txt .inner-txt,
    .generic-row-6 .col-txt .inner-txt {
        margin-top: 100px;
    }
}

@media (width <= 1240px) {
    .cont-3-cols .cols,
    .generic-row-3 .cols,
    .generic-row-6 .cols {
        gap: 70px;
    }

    .cont-3-cols .col-txt .inner-txt,
    .generic-row-3 .col-txt .inner-txt,
    .generic-row-6 .col-txt .inner-txt {
        margin-top: 70px;
    }
}

@media (width <= 820px) {
    .cont-3-cols .col-txt,
    .generic-row-3 .col-txt,
    .generic-row-6 .col-txt {
        text-align: left;
    }

    .cont-3-cols .col-txt .inner-txt,
    .generic-row-3 .col-txt .inner-txt,
    .generic-row-6 .col-txt .inner-txt {
        margin: 0;
    }

    .cont-3-cols img,
    .generic-row-3 img,
    .generic-row-6 img {
        height: 97.5vw !important;
        width: 100%;
    }

    #kazalala.generic-row-3 .col-1 img {
        display: none;
    }
}

.generic-row-3 .col-1 img {
    aspect-ratio: 600/500;
    margin-top: 320px;
    height: 24.5vw;
}

.generic-row-3 .col-3 img {
    aspect-ratio: 580/720;
    height: 36.5vw;
}

.generic-row-5 .indent {
    max-width: 320px;
}

.generic-row-6 .col-txt .inner-txt .indent {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
}

.generic-row-6 .col-1 img {
    aspect-ratio: 578/634;
    height: 32.4vw;
}

.generic-row-6 .col-3 img {
    aspect-ratio: 583/389;
    margin-top: 360px;
}

@media (width <= 820px) {
    .generic-row-6 .col-3 {
        display: none;
    }

    .generic-row-6 .col-1 {
        order: 3;
    }
}

.generic-row-7 .cols2 {
    grid-template-columns: 1.5fr 1fr;
    align-items: center;
}

.generic-row-7 .col-img {
    margin-left: -50px;
}

.generic-row-7 .col-txt .inner-txt .indent {
    max-width: 400px;
}

.generic-row-7 .col-txt p:last-child {
    margin-bottom: 0;
}

@media (width <= 820px) {
    .generic-row-7 .col-img {
        margin: 0;
    }
}

.links-img .container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 22px;
}

.links-img article {
    text-align: center;
}

.links-img article a {
    display: block;
}

.links-img article .img-wrapper {
    margin-bottom: 30px;
    position: relative;
    display: grid;
    align-items: center;
}

.links-img article .img-wrapper span {
    display: block;
    width: 100%;
    position: absolute;
    padding: 30px;
    box-sizing: border-box;
    color: #fff;
    font-weight: 500;
    z-index: 2;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.25rem;
}

.links-img article .img-wrapper img {
    aspect-ratio: 460/580;
    object-fit: cover;
    width: 100%;
    height: 30.7vw;
}

.links-img article .img-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity 0.35s ease-in-out;
}

.links-img article p {
    color: #382f2d;
    font-family: miller-banner, serif;
    font-weight: 400;
    font-size: 1.875rem;
}

.links-img article:hover .img-wrapper span {
    transform: translate(0);
    opacity: 1;
}

.links-img article:hover .img-wrapper::after {
    opacity: 0.4;
}

@media (width <= 1500px) {
    .links-img article .img-wrapper img {
        height: 34vw;
    }
}

@media (width <= 1240px) {
    .links-img .container {
        gap: 20px;
    }
}

@media (width <= 820px) {
    .links-img .container {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .links-img article .img-wrapper {
        margin-bottom: 18px;
    }

    .links-img article .img-wrapper img {
        height: 390px;
    }

    .links-img article p {
        font-size: 22px;
        margin: 0 0 5px;
    }
}

.experiencias-lanzarote .img-box-wrapper.full .box .inner {
    max-width: 450px;
}

@media (width <= 820px) {
    .experiencias-lanzarote .img-box-wrapper {
        padding: 0;
    }

    .experiencias-lanzarote .img-box-wrapper .box {
        width: 100%;
        background: #f6f3f1;
        padding: 80px 32px 75px;
    }

    .experiencias-lanzarote .img-box-wrapper .box .links {
        margin-top: 47px;
    }

    .experiencias-lanzarote .img-box-wrapper .img-wrapper {
        position: static;
        padding: 0;
    }

    .experiencias-lanzarote .img-box-wrapper .img-wrapper img {
        position: static;
        height: 336px;
    }
}

.tour-boxes-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.tour-boxes-wrapper .tour-box {
    position: relative;
    margin-bottom: 22px;
}

.tour-boxes-wrapper .tour-box a {
    display: grid;
    position: relative;
    overflow: hidden;
    text-align: center;
    align-items: center;
}

.tour-boxes-wrapper .tour-box a::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.13;
    transition: opacity 0.35s ease-in-out;
}

.tour-boxes-wrapper .tour-box a span.txt,
.tour-boxes-wrapper .tour-box a span.txt-hover {
    position: absolute;
    z-index: 2;
    transition: all 0.2s ease-in-out;
}

.tour-boxes-wrapper .tour-box a span {
    display: block;
    width: 100%;
    color: #fff;
}

.tour-boxes-wrapper .tour-box a span.txt1 {
    font-weight: 400;
    text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: 0.25rem;
}

.tour-boxes-wrapper .tour-box a span.txt2 {
    margin-top: 4px;
    font-family: miller-banner, serif;
    font-size: 1.875rem;
    line-height: 2rem;
}

.tour-boxes-wrapper .tour-box a span.txt-hover {
    font-weight: 500;

    /* text-transform: uppercase; */
    font-size: 1.5rem;

    /* letter-spacing: .25rem; */
    opacity: 0;
    visibility: hidden;
}

.tour-boxes-wrapper .tour-box a:hover::after {
    opacity: 0.4;
}

.tour-boxes-wrapper .tour-box a:hover .txt {
    opacity: 0;
    visibility: hidden;
}

.tour-boxes-wrapper .tour-box a:hover .txt-hover {
    opacity: 1;
    visibility: visible;
}

.tour-boxes-wrapper .tour-box a:hover img {
    transform: scale(1.05);
}

.tour-boxes-wrapper .tour-box img {
    display: block;
    object-fit: cover;
    transition: all 0.4s ease-in-out;
    width: 100%;
}

.tour-boxes-wrapper .box1 {
    padding-top: 42px;
}

.tour-boxes-wrapper .box1 img {
    aspect-ratio: 700/387;
    height: 20.6vw;
}

.tour-boxes-wrapper .box2 img {
    aspect-ratio: 700/480;
    height: 25.5vw;
}

.tour-boxes-wrapper .box3 {
    padding-left: 122px;
}

.tour-boxes-wrapper .box3 img {
    aspect-ratio: 580/640;
    height: 34vw;
}

.tour-boxes-wrapper .box4 {
    padding-right: 216px;
}

.tour-boxes-wrapper .box4 img {
    aspect-ratio: 480/640;
    height: 34.5vw;
}

@media (width <= 1500px) {
    .tour-boxes-wrapper .box1 img {
        height: 24.6vw;
    }

    .tour-boxes-wrapper .box2 img {
        height: 30vw;
    }

    .tour-boxes-wrapper .box3 img {
        height: 37vw;
    }

    .tour-boxes-wrapper .box4 img {
        height: 38.4vw;
    }
}

@media (width <= 1240px) {
    .tour-boxes-wrapper {
        gap: 20px;
    }

    .tour-boxes-wrapper .tour-box {
        margin-bottom: 20px;
    }

    .tour-boxes-wrapper .tour-box a span.txt1 {
        font-size: 1.1rem;
    }

    .tour-boxes-wrapper .tour-box a span.txt2 {
        font-size: 1.8rem;
    }

    .tour-boxes-wrapper .box1 img {
        height: 28vw;
    }

    .tour-boxes-wrapper .box2 img {
        height: 36vw;
    }

    .tour-boxes-wrapper .box3 {
        padding-left: 90px;
    }

    .tour-boxes-wrapper .box3 img {
        height: 40vw;
    }

    .tour-boxes-wrapper .box4 {
        padding-right: 120px;
    }

    .tour-boxes-wrapper .box4 img {
        height: 42vw;
    }
}

@media (width <= 820px) {
    .tour-boxes-wrapper {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .tour-boxes-wrapper .tour-box {
        padding: 0;
        margin: 0 0 32px;
    }

    .tour-boxes-wrapper .tour-box img {
        height: 180px;
    }

    .tour-boxes-wrapper .tour-box a span.txt1 {
        font-size: 14px;
    }

    .tour-boxes-wrapper .tour-box a span.txt2 {
        font-size: 28px;
    }

    .tour-boxes-wrapper .tour-box a:hover::after {
        opacity: 0.13;
    }

    .tour-boxes-wrapper .tour-box a:hover .txt {
        opacity: 1;
        visibility: visible;
    }

    .tour-boxes-wrapper .tour-box a:hover .txt-hover {
        display: none;
    }

    .tour-boxes-wrapper .tour-box a:hover img {
        transform: none;
    }
}

.nuestro-entorno {
    margin-bottom: 280px;
}

.nuestro-entorno .entorno-content {
    margin-top: -300px;
}

.nuestro-entorno .entorno-header {
    background: #f6f3f1;
    padding: 100px 0;
    padding-bottom: 300px;
}

.nuestro-entorno .entorno-header .tit-center .feat {
    max-width: 840px;
}

.nuestro-entorno .entorno-header .filter {
    text-align: center;
    margin: 120px auto 60px;
}

.nuestro-entorno .entorno-header .filter a,
.nuestro-entorno .entorno-header .filter button {
    appearance: none;
    border: none;
    background: 0 0;
    padding: 0 0 0 1px;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    color: #382f2d;
    margin: 0 20px;
    border-bottom: 1px solid transparent;
}

.nuestro-entorno .entorno-header .filter a:hover,
.nuestro-entorno .entorno-header .filter button:hover {
    color: #5e5554;
}

.nuestro-entorno .entorno-header .filter a.active,
.nuestro-entorno .entorno-header .filter a.mixitup-control-active,
.nuestro-entorno .entorno-header .filter button.active,
.nuestro-entorno .entorno-header .filter button.mixitup-control-active {
    border-color: #382f2d;
}

@media (width <= 1800px) {
    .nuestro-entorno {
        margin-bottom: 240px;
    }
}

@media (width <= 1500px) {
    .nuestro-entorno {
        margin-bottom: 210px;
    }

    .nuestro-entorno .entorno-content {
        margin-top: -280px;
    }

    .nuestro-entorno .entorno-header {
        padding-bottom: 280px;
    }
}

@media (width <= 1240px) {
    .nuestro-entorno {
        margin-bottom: 180px;
    }
}

@media (width <= 820px) {
    .nuestro-entorno {
        margin-bottom: 120px;
    }

    .nuestro-entorno .entorno-content {
        margin-top: -70px;
    }

    .nuestro-entorno .entorno-header {
        padding-bottom: 70px;
    }

    .nuestro-entorno .entorno-header .filter {
        margin: 80px 0 50px;
    }

    .nuestro-entorno .entorno-header .filter a,
    .nuestro-entorno .entorno-header .filter button {
        font-size: 12px;
        letter-spacing: 0.09rem;
        margin: 10px auto;
        margin: 5px 9px;
    }

    .nuestro-entorno .entorno-header .filter a:first-child,
    .nuestro-entorno .entorno-header .filter button:first-child {
        margin-left: 0;
    }

    .nuestro-entorno .entorno-header .filter a:last-child,
    .nuestro-entorno .entorno-header .filter button:last-child {
        margin-right: 0;
    }
}

@media (width <= 375px) {
    .nuestro-entorno .entorno-header .filter a,
    .nuestro-entorno .entorno-header .filter button {
        letter-spacing: 0.08rem;
        margin: 5px 6px;
    }
}

.entorno-items {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 75px 20px;
}

.entorno-items article {
    text-align: center;
}

.entorno-items article .txt-wrapper {
    position: absolute;
    padding: 40px;
    display: block;
    z-index: 3;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.entorno-items article .txt-wrapper a,
.entorno-items article .txt-wrapper span {
    color: #fff;
}

.entorno-items article .txt-wrapper .desc {
    max-width: 287px;
    display: block;
    font-size: 1rem;
    line-height: 1.42;
}

.entorno-items article .txt-wrapper a {
    display: block;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.25rem;
    font-weight: 500;
    margin-top: 52px;
}

.entorno-items article .txt-wrapper a:hover {
    opacity: 0.7;
}

.entorno-items article .img-wrapper {
    position: relative;
    margin-bottom: 30px;
    display: grid;
    place-items: center center;
    overflow: hidden;
}

.entorno-items article .img-wrapper::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    z-index: 2;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.entorno-items article img {
    aspect-ratio: 460/578;
    object-fit: cover;
    width: 100%;
    height: 30.8vw;
    display: block;
    transition: all 0.4s ease-in-out;
}

.entorno-items article p {
    margin: 0;
    font-family: miller-banner, serif;
    font-weight: 500;
    font-size: 1.75rem;
}

.entorno-items article:hover .txt-wrapper {
    opacity: 1;
}

.entorno-items article:hover .img-wrapper img {
    transform: scale(1.05);
}

.entorno-items article:hover .img-wrapper::after {
    opacity: 0.35;
}

@media (width <= 1500px) {
    .entorno-items article img {
        height: 36vw;
    }
}

@media (width <= 1240px) {
    .entorno-items {
        gap: 65px 20px;
    }

    .entorno-items article .img-wrapper {
        margin-bottom: 25px;
    }
}

@media (width <= 820px) {
    .entorno-items {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .entorno-items article .txt-wrapper {
        padding: 28px;
    }

    .entorno-items article .txt-wrapper .desc {
        max-width: 100%;
        font-size: 12px;
        line-height: 1.3;
    }

    .entorno-items article .txt-wrapper a {
        margin-top: 18px;
        font-size: 12px;
        letter-spacing: 0.2rem;
    }

    .entorno-items article .img-wrapper {
        margin-bottom: 15px;
    }

    .entorno-items article img {
        height: 170px;
    }

    .entorno-items article p {
        font-size: 20px;
    }
}

.section-reconocimientos {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 140px 20px;
}

.section-reconocimientos .item-reconocimiento .desc {
    font-size: 1.125rem;
}

@media (width <= 1800px) {
    .section-reconocimientos {
        gap: 120px 20px;
    }

    .section-reconocimientos .item-reconocimiento .desc {
        font-size: 1.1rem;
    }
}

@media (width <= 1240px) {
    .section-reconocimientos {
        gap: 90px 20px;
    }

    .section-reconocimientos .item-reconocimiento {
        padding: 0 25px;
    }
}

@media (width <= 1023px) {
    .section-reconocimientos {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (width <= 820px) {
    .section-reconocimientos {
        grid-template-columns: 1fr 1fr;
        gap: 70px 33px;
    }

    .section-reconocimientos .item-reconocimiento {
        padding: 0;
    }
}

.section-prensa {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 130px 60px;
}

@media (width <= 1800px) {
    .section-prensa {
        gap: 110px 55px;
    }
}

@media (width <= 1500px) {
    .section-prensa {
        gap: 90px 50px;
    }
}

@media (width <= 1240px) {
    .section-prensa {
        gap: 70px 30px;
    }
}

@media (width <= 1023px) {
    .section-prensa {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 55px 40px;
    }
}

@media (width <= 820px) {
    .section-prensa {
        grid-template-columns: 1fr 1fr;
        gap: 40px 15px;
    }
}

.item-prensa {
    text-align: center;
}

.item-prensa .img-wrapper {
    margin-bottom: 25px;
    position: relative;
    display: grid;
    align-items: center;
}

.item-prensa .img-wrapper p {
    position: absolute;
    margin: 30px;
    color: #fff;
    font-size: 1rem;
    z-index: 2;
    transform: translateY(40px);
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

.item-prensa .img-wrapper img {
    height: 27vw;
    width: 100%;
    aspect-ratio: 300/460;
    object-fit: cover;
    object-position: center bottom;
}

.item-prensa .img-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity 0.35s ease-in-out;
}

.item-prensa .img-wrapper.with-desc:hover p {
    transform: translate(0);
    opacity: 1;
}

.item-prensa .img-wrapper.with-desc:hover::after {
    opacity: 0.4;
}

.item-prensa .desc {
    font-size: 1.125rem;
    color: #382f2d;
    margin: 0 20px;
}

.item-prensa .desc a {
    color: #382f2d;
}

.item-prensa .desc a:hover {
    color: #5e5554;
}

.item-prensa p.medio {
    margin-top: 24px;
    color: #382f2d;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1.125rem;
    letter-spacing: 0.2rem;
}

@media (width <= 1800px) {
    .item-prensa .desc {
        font-size: 1.1rem;
        line-height: 1.4;
    }

    .item-prensa p.medio {
        font-size: 1.1rem;
    }
}

@media (width <= 1500px) {
    .item-prensa .img-wrapper img {
        height: 30vw;
    }

    .item-prensa .desc br {
        display: none;
    }
}

@media (width <= 1240px) {
    .item-prensa .img-wrapper img {
        height: 31.5vw;
    }
}

@media (width <= 1023px) {
    .item-prensa .img-wrapper img {
        height: 40vw;
    }
}

@media (width <= 820px) {
    .item-prensa .img-wrapper {
        margin-bottom: 18px;
    }

    .item-prensa .img-wrapper img {
        height: 60vw;
    }

    .item-prensa .desc {
        margin: 0;
        font-size: 13px;
        line-height: 1.38;
    }

    .item-prensa p.medio {
        margin-top: 18px;
        font-size: 13px;
        letter-spacing: 0.14rem;
        line-height: 1.38;
    }
}

.section-text-block-3img .page-intro.center p.feat {
    max-width: 630px;
}

.section-text-block-3img .page-intro.center p {
    max-width: 680px;
    color: #887b78;
}

.section-text-block-3img .section-text-block-3img-wrapper {
    margin: 120px 0 50px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}

.section-text-block-3img .section-text-block-3img-wrapper article img:not(.clip) {
    aspect-ratio: 460/580;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease-in-out;
    position: relative;
    top: 0.3px;
    height: 30vw;
    width: 100%;
}

.section-text-block-3img .section-text-block-3img-wrapper article a {
    position: relative;
    display: grid;
    align-items: center;
    text-align: center;
    overflow: hidden;
}

.section-text-block-3img .section-text-block-3img-wrapper article a span {
    color: #fff;
    display: block;
    width: 100%;
}

.section-text-block-3img .section-text-block-3img-wrapper article a span.txt1 {
    font-family: miller-banner, serif;
    font-weight: 350;
    font-size: 4.6rem;
    line-height: 1;
}

.section-text-block-3img .section-text-block-3img-wrapper article a span.txt2 {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.2rem;
    margin-top: 38px;
}

.section-text-block-3img .section-text-block-3img-wrapper article a span.txt {
    position: absolute;
    padding: 20px;
    box-sizing: border-box;
    z-index: 3;
    margin-top: 10px;
}

.section-text-block-3img .section-text-block-3img-wrapper article a::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.section-text-block-3img .section-text-block-3img-wrapper article a:hover::after {
    opacity: 0.35;
}

.section-text-block-3img .section-text-block-3img-wrapper article a:hover img:not(.clip) {
    transform: scale(1.05);
}

.section-text-block-3img .section-text-block-3img-wrapper .clip-path {
    position: relative;
}

.section-text-block-3img .section-text-block-3img-wrapper .clip-path .clip,
.section-text-block-3img .section-text-block-3img-wrapper .clip-path svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 4;
}

@media (width <= 1800px) {
    .section-text-block-3img .section-text-block-3img-wrapper {
        margin-top: 100px;
        gap: 25px;
    }

    .section-text-block-3img .section-text-block-3img-wrapper article a span.txt1 {
        font-size: 3.8rem;
        line-height: 0.95;
    }
}

@media (width <= 1500px) {
    .section-text-block-3img .section-text-block-3img-wrapper {
        margin-top: 90px;
    }

    .section-text-block-3img .section-text-block-3img-wrapper article img:not(.clip) {
        height: 35.1vw;
    }
}

@media (width <= 1240px) {
    .section-text-block-3img .section-text-block-3img-wrapper {
        margin-top: 80px;
        gap: 20px;
    }

    .section-text-block-3img .section-text-block-3img-wrapper article a span.txt1 {
        font-size: 3.5rem;
    }
}

@media (width <= 820px) {
    .section-text-block-3img .section-text-block-3img-wrapper {
        margin: 70px 0 50px;
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .section-text-block-3img .section-text-block-3img-wrapper article img {
        border-radius: 80px 80px 0 0;
        border-radius: 0;
        width: 100%;
        height: 240px !important;
    }

    .section-text-block-3img .section-text-block-3img-wrapper article img.clip {
        display: none;
    }

    .section-text-block-3img .section-text-block-3img-wrapper article a span.txt1 {
        font-size: 42px;
    }

    .section-text-block-3img .section-text-block-3img-wrapper article a span.txt2 {
        margin-top: 25px;
    }
}

.nuestros-vinos .inner-txt {
    padding-left: 11.8vw;
}

.nuestros-vinos .inner-txt .feat {
    max-width: 500px;
}

.nuestros-vinos img {
    max-height: 600px;
    width: 100%;
    aspect-ratio: 820/590;
    object-fit: cover;
}

@media (width <= 820px) {
    .nuestros-vinos .inner-txt {
        padding: 0 32px;
    }

    .nuestros-vinos img {
        width: 100%;
        height: 300px;
    }
}

.cocteles-autor .cols2 {
    align-items: center;
}

.cocteles-autor .col-img {
    padding-left: 70px;
}

.cocteles-autor img {
    aspect-ratio: 590/700;
    object-fit: cover;
    display: block;
    height: 36.4vw;
}

@media (width <= 1023px) {
    .cocteles-autor .col-img {
        padding: 0;
    }
}

@media (width <= 820px) {
    .cocteles-autor .col-img {
        order: 2;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .cocteles-autor .col-img img {
        width: 100%;
        height: 300px;
    }
}

.menu-wrapper {
    background: #f6f3f1;
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}

.menu-wrapper .inner-menu {
    padding: 70px 90px;
    max-width: 520px;
    margin: 0 auto;
}

.menu-wrapper .tit2,
.menu-wrapper article p {
    color: #5e5554;
}

.menu-wrapper .tit2 {
    color: #382f2d;
    font-size: 3.48rem;
}

.menu-wrapper .tit2::after {
    content: '';
    display: block;
    width: 50px;
    height: 1px;
    background: #5e5554;
    margin: 20px auto 45px;
}

.menu-wrapper article {
    margin-bottom: 50px;
}

.menu-wrapper article:last-child {
    margin-bottom: 0;
}

.menu-wrapper article p.p1 {
    font-family: miller-banner, serif;
    font-weight: 350;
    font-size: 1.875rem;
    color: #382f2d;
    margin: 0 0 10px;
}

.menu-wrapper .menu-details {
    margin-top: 30px;
}

.menu-wrapper .menu-details .info,
.menu-wrapper .menu-details .price {
    font-size: 1rem;
    color: #382f2d;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.2rem;
}

.menu-wrapper .menu-details .info a,
.menu-wrapper .menu-details .price a {
    border-bottom: 1px solid #382f2d;
    color: #382f2d;
    line-height: 1;
}

.menu-wrapper .menu-details .info a:hover,
.menu-wrapper .menu-details .price a:hover {
    color: #5e5554;
    border-color: #5e5554;
}

.menu-wrapper .menu-details .info a.phone,
.menu-wrapper .menu-details .price a.phone {
    border: none;
    font-weight: 600;
}

.menu-wrapper .menu-details .price {
    font-size: 1.25rem;
}

.menu-wrapper .menu-details .btn {
    margin: 15px auto 38px;
}

@media (width <= 1023px) {
    .menu-wrapper .tit2 {
        font-size: 38px;
    }

    .menu-wrapper .inner-menu {
        padding: 65px 52px 90px;
    }

    .menu-wrapper article {
        margin-bottom: 30px;
    }

    .menu-wrapper article p.p1 {
        font-size: 22px;
        margin-bottom: 5px;
    }

    .menu-wrapper article p {
        font-size: 14px;
    }

    .menu-wrapper .menu-details .info,
    .menu-wrapper .menu-details p {
        font-size: 14px;
        line-height: 1.3;
    }

    .menu-wrapper .menu-details .info {
        letter-spacing: 0.14rem;
    }

    .menu-wrapper .menu-details .price {
        font-size: 16px;
    }

    .menu-wrapper .menu-details .btn {
        margin-bottom: 25px;
    }
}

.menu-popup {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 10001;
    background: #fff;
    text-align: center;
    width: 100%;
    height: 100vh;
    transition: opacity 0.25s ease-in-out, visibility 0.35s ease-in-out;
}

.menu-popup.open {
    opacity: 1;
    visibility: visible;
}

.menu-popup .scroll-menu {
    position: fixed;
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.menu-popup .scroll-menu::-webkit-scrollbar {
    display: none;
}

.menu-popup .close {
    position: fixed;
    top: 35px;
    right: 40px;
}

@media (width <= 1023px) {
    .menu-popup .close {
        top: 20px;
        right: 25px;
    }
}

.tapas-intro .col-img img {
    aspect-ratio: 940/695;
    max-height: 700px;
    width: 100%;
}

@media (width <= 820px) {
    .tapas-intro .col-img img {
        max-height: 300px;
    }
}

.menu-tapas-wrapper {
    position: relative;
}

.menu-tapas-wrapper .col-img,
.menu-tapas-wrapper .col-video {
    position: absolute;
    width: calc(100% / 3);
}

.menu-tapas-wrapper .col-video {
    top: 150px;
    left: 0;
    overflow: hidden;
}

.menu-tapas-wrapper .col-video .video-wrapper {
    position: relative;
}

.menu-tapas-wrapper .col-video video {
    max-height: 49.5vw;
    width: 102%;
    object-fit: cover;
}

.menu-tapas-wrapper .col-img {
    top: 440px;
    right: 0;
}

.menu-tapas-wrapper .col-img img {
    aspect-ratio: 580/772;
    width: 100%;
    max-height: 780px;
}

@media (width <= 1800px) {
    .menu-tapas-wrapper .col-img,
    .menu-tapas-wrapper .col-video {
        width: calc(100% / 3.25);
    }
}

@media (width <= 1500px) {
    .menu-tapas-wrapper .col-img,
    .menu-tapas-wrapper .col-video {
        width: calc(100% / 3.7);
    }
}

@media (width <= 1240px) {
    .menu-tapas-wrapper .col-img,
    .menu-tapas-wrapper .col-video {
        width: calc(100% / 4.2);
    }
}

@media (width <= 820px) {
    .menu-tapas-wrapper .col-img,
    .menu-tapas-wrapper .col-video {
        position: relative;
        width: 100%;
    }

    .menu-tapas-wrapper .col-video {
        top: 0;
        margin-bottom: -1px;
    }

    .menu-tapas-wrapper .col-video video {
        max-height: 100%;
        height: 220px;
    }

    .menu-tapas-wrapper .col-img {
        top: auto;
        bottom: 0;
    }

    .menu-tapas-wrapper .col-img img {
        height: 200px;
        object-position: center 65%;
    }

    .menu-tapas-wrapper .menu-wrapper .inner-menu {
        padding: 50px 32px;
    }
}

@media (width <= 871px) {
    .reserva-menu .tit-center,
    .reserva-menu .tit2 {
        margin-bottom: 15px;
    }

    .reserva-menu .iframe-reserva-container iframe {
        min-height: 650px !important;
    }
}

.shop-intro .cols2,
.shop-intro .ml-txt .cols2 {
    grid-template-columns: 1fr 1.5fr;
}

@media (width <= 1500px) {
    .shop-intro .cols2,
    .shop-intro .ml-txt .cols2 {
        grid-template-columns: 1fr 1.34fr;
    }
}

@media (width <= 1240px) {
    .shop-intro .cols2 .inner-txt,
    .shop-intro .ml-txt .cols2 .inner-txt {
        padding-left: 52px;
    }
}

@media (width <= 820px) {
    .shop-intro .cols2,
    .shop-intro .ml-txt .cols2 {
        grid-template-columns: 1fr;
    }

    .shop-intro .cols2 .inner-txt,
    .shop-intro .ml-txt .cols2 .inner-txt {
        padding-left: 0;
    }
}

.shop-row-1 .col-txt .inner-txt {
    margin-top: 62px;
}

.shop-row-1 .col-txt .inner-txt .indent {
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
}

.shop-row-1 .col-1 img {
    aspect-ratio: 460/645;
}

.shop-row-1 .col-3 img {
    aspect-ratio: 420/530;
    margin-top: 190px;
}

@media (width <= 820px) {
    .shop-row-1 .cols {
        padding: 0 !important;
    }

    .shop-row-1 .col-1 {
        display: none;
    }

    .shop-row-1 .col-3 img {
        margin-top: 0;
        height: 380px !important;
    }

    .shop-row-1 .col-txt .inner-txt {
        margin-top: 10px;
    }
}

.shop-row-2 {
    padding: 0 50px;
}

.shop-row-2 .cols2 {
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
}

.shop-row-2 .cols2 .indent {
    padding-left: 20px;
    max-width: 330px;
}

@media (width <= 820px) {
    .shop-row-2 {
        padding: 0;
    }

    .shop-row-2 .cols2 {
        grid-template-columns: 1fr;
        gap: 33px;
    }

    .shop-row-2 .cols2 .col-img {
        order: 2;
    }

    .shop-row-2 .cols2 .col-img img {
        width: 100%;
        max-height: 420px !important;
    }

    .shop-row-2 .cols2 .col-txt .indent {
        padding: 0;
    }
}

.shop-row-3 .cols2 {
    grid-template-columns: auto 1fr;
}

.shop-row-3 .col-txt {
    padding-left: 40px;
    padding-bottom: 60px;
}

.shop-row-3 .col-txt .inner-txt p.feat {
    max-width: 440px;
}

.shop-row-3 .col-txt .inner-txt p {
    max-width: 380px;
}

.shop-row-3 .col-img {
    position: relative;

    /* top: 100px; */
    z-index: 2;
}

.shop-row-3 .col-img img {
    aspect-ratio: 813/596;
    max-height: 620px;
    width: 100%;
}

@media (width <= 1240px) {
    .shop-row-3 .col-txt {
        padding-left: 0;
    }
}

@media (width <= 820px) {
    .shop-row-3 {
        margin-top: 80px !important;
        margin-bottom: 25px !important;
    }

    .shop-row-3 .cols2 {
        grid-template-columns: 1fr;
    }

    .shop-row-3 .col-txt {
        padding: 0;
    }

    .shop-row-3 .col-img {
        display: none;
    }
}

.bar-content {
    position: relative;
    padding: 180px 0 120px;
    overflow: hidden;
}

.bar-content .img-dec-1,
.bar-content .img-dec-2 {
    position: absolute;
    z-index: 1;
}

.bar-content .img-dec-1 {
    top: 40px;
    left: 0;
    width: 14%;
}

.bar-content .img-dec-2 {
    top: 20px;
    right: 0;
    width: 28%;
}

.bar-content section {
    position: relative;
    z-index: 2;
}

@media (width <= 1800px) {
    .bar-content {
        padding: 170px 0 110px;
    }
}

@media (width <= 1500px) {
    .bar-content {
        padding: 150px 0 100px;
    }
}

@media (width <= 1240px) {
    .bar-content {
        padding: 130px 0 85px;
    }
}

@media (width <= 1023px) {
    .bar-content {
        padding: 120px 0 70px;
    }
}

@media (width <= 820px) {
    .bar-content {
        padding: 95px 0 85px;
    }
}

.bar-row-1 img {
    aspect-ratio: 745/980;
    height: 45.15vw;
}

.bar-row-1 .col-txt .inner-txt {
    padding-left: 11.8vw;
}

.bar-row-1 .col-txt .feat {
    max-width: 380px;
}

@media (width <= 1980px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 8vw;
    }
}

@media (width <= 1800px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 0;
    }
}

@media (width <= 1500px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 8vw;
    }
}

@media (width <= 1240px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 52px;
    }
}

@media (width <= 1240px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 0;
    }
}

@media (width <= 820px) {
    .bar-row-1 .cols2 {
        gap: 25px;
    }

    .bar-row-1 img {
        width: 100%;
        height: auto;
        position: relative;
        margin-left: auto;
    }
}

.bar-row-2 {
    margin-top: -380px;
}

.bar-row-2 img {
    aspect-ratio: 580/825;
    height: 42vw;
}

.bar-row-2 .col-img {
    margin-right: 90px;
}

/* .bar-row-2 .col-txt {
    margin-top: 380px;
    padding-top: 100px
} */

.bar-row-2 .col-txt .indent {
    padding-left: 0;
}

.bar-row-2 .col-txt .feat {
    margin-bottom: 15px;
}

.bar-row-2 .col-txt .links {
    margin-top: 40px;
}

@media (width <= 1980px) {
    .bar-row-2 {
        margin-top: -370px;
    }

    .bar-row-2 .col-txt {
        margin-top: 370px;
    }

    .bar-row-2 .col-img {
        margin-right: 70px;
    }
}

@media (width <= 1660px) {
    .bar-row-2 {
        margin-top: -260px;
    }

    .bar-row-2 .col-txt {
        margin-top: 260px;
    }

    .bar-row-2 .col-img {
        margin-right: 30px;
    }

    .bar-row-2 img {
        width: 100%;
    }
}

@media (width <= 1500px) {
    .bar-row-2 {
        margin-top: -200px;
    }

    .bar-row-2 .col-txt {
        margin-top: 200px;
    }
}

@media (width <= 1240px) {
    .bar-row-2 {
        margin-top: -80px;
    }

    .bar-row-2 .col-txt {
        margin-top: 60px;
    }
}

@media (width <= 1023px) {
    .bar-row-2 {
        margin-top: -20px;
    }

    .bar-row-2 .col-txt {
        margin-top: 0;
    }
}

@media (width <= 820px) {
    .bar-row-2 {
        margin-top: 0;
    }

    .bar-row-2 .cols2 {
        gap: 40px;
    }

    .bar-row-2 .col-txt {
        margin-top: 0;
        padding-top: 40px;
    }

    .bar-row-2 .col-img {
        order: 2;
        margin: 0;
    }

    .bar-row-2 .col-img img {
        width: 100%;
        height: auto;
    }
}

.banner-bar-green {
    background: #544039;
    padding: 140px 0 260px;
    position: relative;
    overflow: hidden;
}

.banner-bar-green .indent {
    margin-top: 15px;
}

.banner-bar-green .feat.alt {
    font-style: normal;
}

.banner-bar-green .feat.alt:first-child {
    margin-bottom: 15px !important;
}

.banner-bar-green .tit1,
.banner-bar-green .tit2,
.banner-bar-green a,
.banner-bar-green p {
    color: #fff;
}

.banner-bar-green .col-txt .inner-txt {
    padding-left: 11.8vw;
}

.banner-bar-green .col-txt .feat {
    max-width: 380px;
}

.banner-bar-green .col-txt p.feat {
    max-width: 420px;
    /* margin-bottom: 40px; */
}

.banner-bar-green .col-txt p {
    max-width: 360px;
}

.banner-bar-green .col-img img {
    aspect-ratio: 400/520;
    width: 402px;
}

.banner-bar-green .img-dec-3,
.banner-bar-green .img-dec-4 {
    position: absolute;
    z-index: 1;
}

.banner-bar-green div {
    position: relative;
    z-index: 2;
}

.banner-bar-green .img-dec-3 {
    top: 50px;
    left: 0;
    width: 25%;
}

.banner-bar-green .img-dec-4 {
    top: 50px;
    right: 0;
    width: 29%;
}

@media (width <= 1800px) {
    .banner-bar-green .col-txt .inner-txt {
        padding-left: 0;
    }
}

@media (width <= 1500px) {
    .banner-bar-green {
        padding: 120px 0 220px;
    }

    .banner-bar-green .col-txt .inner-txt {
        padding-left: 8vw;
    }
}

@media (width <= 1240px) {
    .banner-bar-green {
        padding: 110px 0 150px;
    }

    .banner-bar-green .col-txt .inner-txt {
        padding-left: 52px;
    }
}

@media (width <= 1023px) {
    .banner-bar-green .col-txt .inner-txt {
        padding-left: 0;
    }

    .banner-bar-green .col-txt p {
        max-width: 100%;
    }

    .banner-bar-green .col-img img {
        aspect-ratio: unset;
        width: 100%;
    }
}

@media (width <= 820px) {
    .banner-bar-green {
        padding: 90px 0;
    }

    .banner-bar-green .cols2 {
        gap: 35px;
    }
}

.bar-row-3 {
    position: relative;
    padding-bottom: 240px;
}

.bar-row-3 .img-dec-5 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 48%;
}

.bar-row-3 .dbl-img {
    margin-top: -110px;
}

.bar-row-3 .coctel-bar-logo {
    margin-left: auto;
    margin-top: 200px;
    position: relative;
    top: 70px;
    z-index: 3;
    max-width: 480px;
    width: 60%;
}

@media (width <= 1800px) {
    .bar-row-3 {
        padding-bottom: 140px;
    }
}

@media (width <= 1500px) {
    .bar-row-3 {
        padding-bottom: 190px;
    }

    .bar-row-3 .dbl-img {
        margin-top: -90px;
    }
}

@media (width <= 1240px) {
    .bar-row-3 {
        padding-bottom: 190px;
    }

    .bar-row-3 .dbl-img {
        margin-top: -70px;
    }
}

@media (width <= 1023px) {
    .bar-row-3 .dbl-img .img-ghost,
    .bar-row-3 .dbl-img .img2 {
        top: 220px;
    }
}

@media (width <= 820px) {
    .bar-row-3 {
        padding-bottom: 0;
    }

    .bar-row-3 .dbl-img {
        margin-top: 90px;
        padding: 0 13% 48% 0;
        left: -32px;
    }

    .bar-row-3 .dbl-img .img1 {
        width: 100%;
        height: 52vw;
        position: static;
    }

    .bar-row-3 .dbl-img .img-ghost,
    .bar-row-3 .dbl-img .img2 {
        width: 54%;
        top: auto;
        right: -32px;
        bottom: 0;
    }

    .bar-row-3 .coctel-bar-logo {
        margin-top: 0;
        width: 80%;
        max-width: 420px;
    }
}

.servicios-villa-row-1 .cols2 {
    position: relative;
    grid-template-columns: 1.2fr 1fr;
    gap: 0;
}

.servicios-villa-row-1 .col-txt {
    position: relative;
}

.servicios-villa-row-1 .col-txt .inner-txt {
    position: absolute;
    left: -88px;
}

.servicios-villa-row-1 .col-txt .feat {
    max-width: 470px;
}

@media (width <= 1800px) {
    .servicios-villa-row-1 .col-txt .inner-txt {
        left: 0;
    }
}

@media (width <= 820px) {
    .servicios-villa-row-1 .cols2 {
        grid-template-columns: 1fr;
    }

    .servicios-villa-row-1 .cols2 .col-txt {
        order: 1;
    }

    .servicios-villa-row-1 .cols2 .col-txt .inner-txt {
        position: static;
        margin-top: 0;
    }

    .servicios-villa-row-1 .cols2 .col-img {
        order: 2;
        margin-top: 16px;
    }

    .servicios-villa-row-1 .dbl-img {
        padding: 0 28% 28% 0;
        margin-left: -32px;
    }

    .servicios-villa-row-1 .dbl-img .img1 {
        height: 70vw;
    }

    .servicios-villa-row-1 .dbl-img .img-ghost,
    .servicios-villa-row-1 .dbl-img .img2 {
        height: 46vw;
    }
}

.servicios-villa-row-2 .cols2 {
    grid-template-columns: 560px 1fr;
    gap: 0;
}

.servicios-villa-row-2 .col-txt {
    padding-left: 100px;
}

.servicios-villa-row-2 .col-txt .inner-txt {
    position: absolute;
}

.servicios-villa-row-2 .col-txt .inner-txt p.feat {
    max-width: 490px;
}

@media (width <= 1800px) {
    .servicios-villa-row-2 .col-txt {
        padding-left: 0;
    }
}

@media (width <= 1500px) {
    .servicios-villa-row-2 .cols2 {
        grid-template-columns: 460px 1fr;
        gap: 60px;
    }

    .servicios-villa-row-2 .col-txt .inner-txt {
        position: static;
    }
}

@media (width <= 1240px) {
    .servicios-villa-row-2 .cols2 {
        grid-template-columns: 1fr 1fr;
        gap: 60px;
    }
}

@media (width <= 820px) {
    .servicios-villa-row-2 .cols2 {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .servicios-villa-row-2 .cols2 .col-txt {
        order: 1;
        padding: 0;
    }

    .servicios-villa-row-2 .cols2 .col-txt .inner-txt {
        margin-top: 0;
    }

    .servicios-villa-row-2 .cols2 .col-img {
        order: 2;
    }

    .servicios-villa-row-2 .dbl-img {
        padding: 0 0 25.5% 27.3%;
        margin-right: -32px;
    }

    .servicios-villa-row-2 .dbl-img .img1 {
        height: 300px;
    }
}

.servicios-villa-row-3 .cols2 {
    grid-template-columns: 1.25fr 1fr;
    gap: 30px;
}

.servicios-villa-row-3 .col-txt .feat,
.servicios-villa-row-3 .col-txt p {
    max-width: 440px;
}

@media (width <= 820px) {
    .servicios-villa-row-3 .cols2 {
        grid-template-columns: 1fr;
    }

    .servicios-villa-row-3 .cols2 .col-txt {
        order: 1;
        padding: 0 32px;
    }

    .servicios-villa-row-3 .cols2 .col-txt .inner-txt {
        position: static;
        margin-top: 0;
    }

    .servicios-villa-row-3 .cols2 .col-img {
        order: 2;
    }

    .servicios-villa-row-3 .cols2 .dbl-img {
        padding: 0 18% 24% 0;
    }

    .servicios-villa-row-3 .cols2 .dbl-img .img-ghost,
    .servicios-villa-row-3 .cols2 .dbl-img .img1 {
        height: 230px;
    }
}

.interior-menu {
    position: sticky;
    top: 83px;
    z-index: 10;
    background: #f6f3f1;
    padding: 26px 0;
    margin-top: 80px;
    margin-bottom: 170px;
}

.interior-menu ul {
    margin: 0;
    padding: 0;
    text-align: center;
}

.interior-menu ul li {
    list-style: none;
    display: inline-block;
    margin: 0 42px;
}

.interior-menu ul li a {
    font-size: 1rem;
    text-transform: uppercase;
    color: #382f2d;
    font-weight: 500;
    letter-spacing: 0.2rem;
}

.interior-menu ul li a:hover {
    color: #5e5554;
}

@media (width <= 1800px) {
    .interior-menu {
        top: 79px;
        margin-top: 70px;
        margin-bottom: 160px;
    }
}

@media (width <= 1500px) {
    .interior-menu {
        top: 77px;
        margin-top: 0;
    }
}

@media (width <= 1240px) {
    .interior-menu {
        top: 75px;
        margin-bottom: 130px;
        padding: 24px 0;
    }

    .interior-menu ul li {
        margin: 0 25px;
    }

    .interior-menu ul li a {
        letter-spacing: 0.15rem;
    }
}

@media (width <= 1023px) {
    .interior-menu {
        margin-bottom: 0;
        padding: 21px 0;
    }

    .interior-menu ul li {
        margin: 0 15px;
    }

    .interior-menu ul li a {
        font-size: 13px;
    }
}

@media (width <= 820px) {
    .interior-menu {
        padding: 16px 0;
    }

    .interior-menu ul li {
        display: block;
        margin: 5px 0;
    }
}

.section-tratamientos .col-txt {
    padding-left: 11.8vw;
}

.section-tratamientos.alt .col-txt {
    order: 2;
    padding-left: 0;
    padding-right: 11.8vw;
}

.section-tratamientos.alt .col-img {
    order: 1;
}

@media (width <= 1800px) {
    .section-tratamientos .col-txt {
        padding-left: 8vw;
    }

    .section-tratamientos.alt .col-txt {
        padding-right: 8vw;
    }
}

@media (width <= 1240px) {
    .section-tratamientos .col-txt {
        padding-left: 52px;
    }

    .section-tratamientos.alt .col-txt {
        padding-right: 52px;
    }
}

@media (width <= 820px) {
    .section-tratamientos {
        margin-top: 80px !important;
        margin-bottom: 0 !important;
    }

    .section-tratamientos .cols2 {
        gap: 75px;
    }

    .section-tratamientos .col-img {
        order: 2 !important;
        margin-bottom: 25px;
    }

    .section-tratamientos .col-txt {
        padding: 0 32px !important;
    }

    .section-tratamientos:last-child .col-img {
        margin-bottom: 0;
    }

    .section-tratamientos img {
        opacity: 1 !important;
        transform: translate(0, 0) !important;
    }
}

.tratamientos-rituales-faciales img {
    height: 34.4vw;
}

@media (width <= 820px) {
    .tratamientos-aparatologia img,
    .tratamientos-rituales-faciales img {
        width: 100%;
        height: 65vw;
    }
}

.section-tratamientos .section-accordion,
.sunset-row-2 .section-accordion,
.practical-info .section-accordion {
    margin: 0 !important;
    padding: 0 !important;
}

.section-tratamientos .section-accordion article,
.sunset-row-2 .section-accordion article,
.practical-info .section-accordion article {
    text-align: left;
    border-color: #5e5554;
}

.section-tratamientos .section-accordion article:last-child,
.sunset-row-2 .section-accordion article:last-child,
.practical-info .section-accordion article:last-child {
    border-bottom: 1px solid #5e5554;
}

.section-tratamientos .section-accordion .accordion-header p,
.sunset-row-2 .section-accordion .accordion-header p,
.practical-info .section-accordion .accordion-header p {
    margin: 0;
    padding: 23px 0;
    color: #5e5554;
}

.section-tratamientos .section-accordion .accordion-header::after,
.sunset-row-2 .section-accordion .accordion-header::after,
.practical-info .section-accordion .accordion-header::after {
    width: 45px;
    height: 23px;
    left: -65px;
    top: 32px;
}

.section-tratamientos .section-accordion .panel,
.sunset-row-2 .section-accordion .panel,
.practical-info .section-accordion .panel {
    padding: 0 0 20px;
}

.section-tratamientos .section-accordion .panel .fee p,
.sunset-row-2 .section-accordion .panel .fee p,
.practical-info .section-accordion .panel .fee p {
    color: #5e5554;
    display: inline;
    margin-right: 50px;
}

.section-tratamientos .section-accordion .panel .fee p:last-child,
.sunset-row-2 .section-accordion .panel .fee p:last-child,
.practical-info .section-accordion .panel .fee p:last-child {
    margin-right: 0;
}

@media (width <= 1500px) {
    .section-tratamientos .section-accordion,
    .sunset-row-2 .section-accordion,
    .practical-info .section-accordion {
        margin: 35px 0 0 90px;
    }

    .section-tratamientos .section-accordion .accordion-header p,
    .sunset-row-2 .section-accordion .accordion-header p,
    .practical-info .section-accordion .accordion-header p {
        padding: 21px 0 20px;
    }

    .section-tratamientos .section-accordion .accordion-header::after,
    .sunset-row-2 .section-accordion .accordion-header::after,
    .practical-info .section-accordion .accordion-header::after {
        left: -60px;
        top: 30px;
    }
}

@media (width <= 820px) {
    .section-tratamientos .section-accordion,
    .sunset-row-2 .section-accordion,
    .practical-info .section-accordion {
        margin: 15px 0 0 80px;
    }

    .section-tratamientos .section-accordion .accordion-header::after,
    .sunset-row-2 .section-accordion .accordion-header::after,
    .practical-info .section-accordion .accordion-header::after {
        left: -55px;
        top: 27px;
    }
}

.sunset-row-2 .section-accordion article:first-child {
    border-top: 1px solid #5e5554;
}

.circuito-row-1 .col-txt .tit2 .num {
    display: block;
    font-size: 5.625rem;
    padding-bottom: 2px;
}

.circuito-row-1 .col-txt .inner-txt {
    margin: 20px auto;
}

.circuito-row-1 .col-txt .indent {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

.circuito-row-1 article {
    text-align: center;
    margin-bottom: 95px;
}

.circuito-row-1 article:last-child {
    margin-bottom: 0;
}

.circuito-row-1 .col-1 img {
    aspect-ratio: 600/600;
    height: 29vw;
}

.circuito-row-1 .col-3 {
    margin-right: 90px;
}

.circuito-row-1 .col-3 img {
    aspect-ratio: 490/690;
    margin-top: 420px;
    height: 34.8vw;
}

@media (width <= 1500px) {
    .circuito-row-1 .col-txt .tit2 .num {
        font-size: 5.2rem;
        padding: 0;
        line-height: 1;
    }

    .circuito-row-1 .col-txt .indent {
        padding-top: 25px;
    }

    .circuito-row-1 article {
        margin-bottom: 80px;
    }
}

@media (width <= 820px) {
    .circuito-row-1 {
        margin-bottom: 100px;
    }

    .circuito-row-1 .cols {
        gap: 10px;
    }

    .circuito-row-1 .col-1 {
        display: none;
    }

    .circuito-row-1 .col-txt .tit2 .num {
        font-size: 4.5rem;
        line-height: 0.95;
    }

    .circuito-row-1 .col-txt .indent {
        padding-top: 15px;
    }

    .circuito-row-1 .col-3 {
        margin-right: 0;
    }

    .circuito-row-1 .col-3 img {
        margin-top: 0;
        height: 60vw !important;
    }

    .circuito-row-1 article {
        margin-bottom: 25px;
    }
}

@media (width <= 820px) {
    .circuito-row-2 {
        display: none;
    }
}

.gimnasio-row-1 .cols2 {
    gap: 0;
}

.gimnasio-row-1 .col-txt {
    padding-left: 11.8vw;
    padding-right: 130px;
}

.gimnasio-row-1 .col-txt .inner-txt {
    max-width: 480px;
}

.gimnasio-row-1 .col-txt .inner-txt p.feat {
    max-width: 330px;
}

@media (width <= 1240px) {
    .gimnasio-row-1 {
        margin-bottom: 0 !important;
    }

    .gimnasio-row-1 .col-txt {
        padding-left: 52px;
        padding-right: 70px;
    }
}

@media (width <= 820px) {
    .gimnasio-row-1 {
        margin-bottom: 0 !important;
    }

    .gimnasio-row-1 .col-txt {
        padding-left: 32px;
        padding-right: 32px;
        margin-bottom: 15px;
    }

    .gimnasio-row-1 img {
        width: 100%;
        max-height: 260px;
    }
}

.gimnasio-row-2 .cols2 {
    gap: 0;
}

.gimnasio-row-2 .col-txt {
    padding-left: 130px;
}

.gimnasio-row-2 .indent {
    padding-left: 0;
}

@media (width <= 1240px) {
    .gimnasio-row-2 {
        margin-top: 100px !important;
    }
}

@media (width <= 1023px) {
    .gimnasio-row-2 {
        margin-top: 60px !important;
    }
}

@media (width <= 820px) {
    .gimnasio-row-2 {
        margin-top: 20px !important;
        margin-bottom: 0 !important;
    }

    .gimnasio-row-2 .container {
        padding: 0;
    }

    .gimnasio-row-2 .col-txt {
        padding: 0 32px;
        margin-bottom: 20px;
    }

    .gimnasio-row-2 .col-img {
        order: 2;
    }

    .gimnasio-row-2 .col-img img {
        width: 100%;
        max-height: 260px;
    }
}

.ubicacion-intro .cols2 {
    grid-template-columns: 0.6fr 1fr;
}

.ubicacion-intro .address p {
    margin-top: 45px;
}

.ubicacion-intro .address p a {
    color: #382f2d;
}

.ubicacion-intro .address p a:hover {
    color: #5e5554;
}

@media (width <= 1800px) {
    .ubicacion-intro .cols2 {
        grid-template-columns: 0.8fr 1fr;
    }
}

@media (width <= 1500px) {
    .ubicacion-intro .cols2 {
        grid-template-columns: 1fr 1fr;
    }
}

@media (width <= 820px) {
    .ubicacion-intro {
        margin-bottom: 55px !important;
    }

    .ubicacion-intro .cols2 {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .ubicacion-intro .address p {
        margin-top: 35px;
        font-size: 20px;
    }
}

.practical-info .container {
    max-width: 1380px;
}

.practical-info .tit3 {
    margin-bottom: 38px;
    margin-top: 0;
}

.practical-info .inner-txt {
    max-width: 600px;
}

.practical-info .inner-txt p {
    max-width: 100%;
}

.practical-info .col1 .inner-txt {
    max-width: 500px;
}

.practical-info .col1 ul {
    padding-left: 40px;
}

.practical-info .col1 ul li {
    margin-bottom: 25px;
}

.practical-info .col1 ul li:last-child {
    margin-bottom: 0;
}

.practical-info .section-accordion {
    margin-left: 50px;
    padding-top: 50px;
}

.practical-info .section-accordion article {
    border: none !important;
}

.practical-info .section-accordion .accordion-header p {
    padding: 12px 0;
    font-size: 1.65rem;
}

.practical-info .section-accordion .accordion-header p:hover {
    color: #382f2d;
}

.practical-info .section-accordion .accordion-header::after {
    transform: rotate(-90deg);
    left: -50px;
    top: 22px;
}

.practical-info .section-accordion .accordion-inner .panel ul li {
    margin-bottom: 0;
    list-style: disc;
    color: #5e5554;
}

.practical-info .section-accordion .accordion-inner .panel ul li:last-child {
    margin-bottom: 0;
}

@media (width <= 820px) {
    .practical-info .tit3 {
        margin-bottom: 25px;
    }

    .practical-info .col1 ul {
        padding-left: 1em;
    }

    .practical-info .section-accordion {
        margin-left: 35px;
    }

    .practical-info .section-accordion .accordion-header p {
        font-size: 1.5rem;
    }

    .practical-info .section-accordion .accordion-header::after {
        left: -35px;
        top: 17px;
        width: 26px;
        height: 14px;
    }
}

.map iframe {
    height: 680px !important;
}

@media (width <= 1800px) {
    .map iframe {
        height: 600px !important;
    }
}

@media (width <= 1500px) {
    .map iframe {
        height: 550px !important;
    }
}

@media (width <= 1240px) {
    .map iframe {
        height: 500px !important;
    }
}

@media (width <= 1023px) {
    .map iframe {
        height: 450px !important;
    }
}

@media (width <= 820px) {
    .map iframe {
        height: 320px !important;
    }
}

.form-wrapper {
    margin: 82px auto 40px;
    max-width: 460px;
}

@media (width <= 820px) {
    .form-wrapper {
        margin: 70px auto 20px;
    }
}

.sunset-row-1 .cols2,
.sunset-row-2 .cols2 {
    grid-template-columns: 1fr 1.18fr;
}

.sunset-row-1 .col-txt .inner-txt,
.sunset-row-2 .col-txt .inner-txt {
    max-width: 750px;
}

@media (width <= 820px) {
    .sunset-row-1 .cols2,
    .sunset-row-2 .cols2 {
        grid-template-columns: 1fr;
    }
}

.sunset-row-1 video {
    max-width: 100%;
}

.sunset-row-1 .col-txt .inner-txt p {
    max-width: 560px;
}

.sunset-row-1 .col-txt .inner-txt p strong {
    font-weight: 600;
}

.sunset-row-1 .col-txt .inner-txt .time {
    margin: 33px 0;
}

.sunset-row-1 .col-txt .inner-txt .time ul {
    margin: 0;
    padding: 0;
}

.sunset-row-1 .col-txt .inner-txt .time li,
.sunset-row-1 .col-txt .inner-txt .time p {
    list-style: none;
    font-family: miller-banner, serif;
    font-size: 1.875rem;
    color: #5e5554;
    margin-bottom: 24px;
}

.sunset-row-1 .col-txt .inner-txt .time li:last-child,
.sunset-row-1 .col-txt .inner-txt .time p:last-child {
    margin-bottom: 0;
}

.sunset-row-1 .col-txt .indent.sunset-info {
    padding: 30px 0 0;
}

.sunset-row-1 .col-txt .indent.sunset-info .p1 {
    text-transform: uppercase;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0.22rem;
}

.sunset-row-1 .col-txt .indent.sunset-info .p2 {
    font-size: 1rem;
}

.sunset-row-1 .col-txt .indent.sunset-info .p2 a {
    text-decoration: none;
    border-bottom: 1px solid #382f2d;
    line-height: 1.1;
}

.sunset-row-1 .col-txt .indent.sunset-info .p2 a:hover {
    border-color: #d7cdc3;
}

.sunset-row-1 .col-txt .indent-l {
    padding-top: 30px;
}

.sunset-row-1 .col-txt .indent-l .p1 {
    margin: 45px 0 10px;
    text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: 0.2rem;
    font-weight: 500;
}

@media (width <= 1240px) {
    .sunset-row-1 .col-txt .indent.sunset-info .p1 {
        font-size: 1.2rem;
        letter-spacing: 0.2rem;
    }
}

@media (width <= 820px) {
    .sunset-row-1 .col-img {
        order: 2;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .sunset-row-1 video {
        height: 60vw;
        width: 100%;
        object-fit: cover;
    }

    .sunset-row-1 .col-txt {
        padding-top: 20px;
    }

    .sunset-row-1 .col-txt .inner-txt .time li,
    .sunset-row-1 .col-txt .inner-txt .time p {
        font-size: 22px;
    }

    .sunset-row-1 .col-txt .inner-txt .indent.sunset-info .p1 {
        font-size: 15px;
        letter-spacing: 0.11rem;
    }

    .sunset-row-1 .col-txt .inner-txt .indent-l {
        padding: 20px 0 0 40px;
    }
}

.sunset-row-2 .cols2 {
    grid-template-columns: 1fr 1.18fr;
}

.sunset-row-2 .sunset-box {
    background: #e7e0da;
    padding: 80px 50px 85px;
    text-align: center;
}

.sunset-row-2 .sunset-box p.tit {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.25rem;
    letter-spacing: 0.2rem;
    margin-bottom: 40px;
}

.sunset-row-2 .sunset-box ul {
    margin: 0;
    padding: 0;
}

.sunset-row-2 .sunset-box ul li {
    list-style: none;
    font-family: miller-banner, serif;
    font-weight: 350;
    font-size: 1.875rem;
    color: #5e5554;
    margin-bottom: 22px;
}

.sunset-row-2 .sunset-box ul li span {
    font-weight: 400;
    color: #382f2d;
    font-family: proxima-nova, sans-serif;
    font-size: 1.25rem;
    padding-left: 2px;
}

.sunset-row-2 .sunset-box ul li:last-child {
    margin-bottom: 0;
}

.sunset-row-2 .col-txt .indent {
    padding-top: 15px;
    padding-left: 0;
}

@media (width <= 1240px) {
    .sunset-row-2 .sunset-box {
        padding: 65px 40px;
    }
}

@media (width <= 820px) {
    .sunset-row-2 .cols2 {
        grid-template-columns: 1fr;
    }

    .sunset-row-2 .sunset-box {
        padding: 50px 32px;
    }

    .sunset-row-2 .sunset-box p.tit {
        font-size: 1.15rem;
        margin-bottom: 30px;
    }

    .sunset-row-2 .sunset-box ul li {
        font-size: 21px;
        margin-bottom: 15px;
    }

    .sunset-row-2 .section-accordion {
        margin-left: 58px;
    }
}

.sunset-row-3 {
    text-align: center;
}

.sunset-row-3 p a {
    text-decoration: none;
    font-weight: 600;
    color: #382f2d;
}

.sunset-row-3 p a:hover {
    color: #d7cdc3;
}

@media (width <= 820px) {
    .sunset-row-3 {
        margin: 75px 0 80px;
    }
}

.sunset-gallerys {
    padding: 100px 0;
    background-color: #e7e0da;
    background-image: url('../images/bg-sunset.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50% 50%;
    text-align: center;
}

.sunset-gallerys .tit4 {
    margin: 90px 0 40px;
}

.sunset-gallerys .gallery-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 120px;
}

.sunset-gallerys .gallery-wrapper:last-child {
    margin-bottom: 0;
}

.sunset-gallerys .gallery-wrapper a {
    position: relative;
    display: grid;
    align-items: center;
    text-align: center;
    overflow: hidden;
}

.sunset-gallerys .gallery-wrapper a .img-wrapper {
    height: 25vw;
}

.sunset-gallerys .gallery-wrapper a img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    aspect-ratio: 340/430;
    transition: all 0.4s ease-in-out;
}

.sunset-gallerys .gallery-wrapper a span {
    position: absolute;
    font-family: miller-banner, serif;
    color: #fff;
    display: block;
    width: 100%;
    z-index: 2;
    font-size: 1.8rem;
    letter-spacing: 0.093rem;
    line-height: 1.07;
    font-weight: 400;
    opacity: 0;
    transition: opacity 0.35s ease-in-out;
}

.sunset-gallerys .gallery-wrapper a::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity 0.35s ease-in-out;
}

.sunset-gallerys .gallery-wrapper a:hover span {
    opacity: 1;
}

.sunset-gallerys .gallery-wrapper a:hover::after {
    opacity: 0.4;
}

.sunset-gallerys .gallery-wrapper a:hover img {
    transform: scale(1.05);
}

@media (width <= 1240px) {
    .sunset-gallerys {
        padding: 95px 0;
    }

    .sunset-gallerys .gallery-wrapper {
        gap: 16px;
        margin-bottom: 100px;
    }

    .sunset-gallerys .tit4 {
        margin: 80px 0 30px;
    }
}

@media (width <= 820px) {
    .sunset-gallerys {
        padding: 80px 0;
    }

    .sunset-gallerys .tit4 {
        margin: 60px 0 30px;
    }

    .sunset-gallerys .gallery-wrapper {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-bottom: 85px;
    }
}

.inner-txt .indent,
.inner-txt h2 {
    opacity: 0;
    transform: translateY(60px);
}

.dbl-img img:not(.img-ghost),
.doble-img img,
.shop-content img,
.page-generic img,
.section-listing img,
img.fadeIn {
    opacity: 0;
    transform: translateY(60px);
}

.shop-content {
    padding: 50px 0;
}

.img-box-wrapper .box,
.img-box-wrapper .img-wrapper img {
    opacity: 0;
    transform: translateY(70px);
}

.terminos-condiciones {
    padding: 0;
}

.subtitulo-ventajas {
    text-transform: uppercase;
    letter-spacing: 0.2em;
}

.terminos-condiciones .ventaja {
    padding: 5vh 0;
}

.terminos-condiciones .tarifas {
    display: flex;
    flex-direction: row;
}

.terminos-condiciones .tarifas .tarifa {
    display: flex;
    flex-direction: column;
    width: 45%;
    margin: 5% auto;
    text-align: justify;
}

.ventaja .container {
    display: flex;
    flex-direction: row;
}

.ventaja:hover {
    background-color: #f6f3f1;
}

.ventaja .ventaja-numero {
    width: 300px;
    max-width: 75%;
}

.ventaja .ventaja-numero h3 {
    color: #5e5554;
    margin-bottom: 0;
    margin-top: 50px;
    font-family: mixta-pro;
    font-size: 150px;
    font-weight: 275;
    line-height: 110px;
    letter-spacing: -0.01em;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}

.texto-ventaja {
    width: 80%;
    margin: 0 auto;
}

.terminos-condiciones .container h2.cursiva {
    font-family: proxima-nova, sans-serif;
    font-size: 28px;
    font-style: italic;
    font-weight: 350;
    line-height: 36px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    width: 70%;
    margin: 50px auto 32px;
}

.terminos-condiciones .container {
    text-align: center;
}

.terminos-condiciones h2 {
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
}

.terminos-condiciones h2 strong {
    font-weight: 600;
}

.terminos-condiciones .texto-ventaja {
    font-family: proxima-nova, sans-serif;
}

.container-terminos {
    max-width: 700px;
}

.texto-ventaja h3 {
    color: #5e5554;
    font-family: proxima-nova, sans-serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 36px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}

.texto-ventaja p {
    font-family: proxima-nova, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}

.texto-ventaja li {
    font-family: proxima-nova, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
}

.texto-ventaja li strong {
    font-family: proxima-nova, sans-serif;
    font-size: 16px;
    font-weight: 500;
}

.texto-ventaja p.sub-texto {
    font-family: proxima-nova, sans-serif;
    margin-bottom: 0.25em;
    color: #887b78;
    font-size: 16px;
    font-weight: 400;
    line-height: 18px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    padding-left: 10px;
    width: 100%;
}

.asterisco {
    width: 15px;
    height: 15px;
}

.sub-textos {
    display: flex;
    flex-direction: row;
    padding-left: 10%;
}

@media (width <= 820px) {
    .ventaja .container {
        display: flex;
        flex-direction: column;
    }

    .ventaja {
        padding: 10vh 0;
    }
}

.early2025 .cols2 {
    grid-template-columns: 1fr 1fr;
}

.early2025 .container {
    width: 89%;
}

.descuento-25 {
    position: absolute;
    bottom: 35%;
    right: 5%;
    width: 28%;
}

.early2025 a {
    background-color: #95bbbc;
}

.doscolumnas {
    display: flex;
    flex-direction: column;
    width: 80%;
    margin: 0 auto;
}

.doscolumnas .col-video {
    order: 2;
    padding: 0 auto;
}

.doscolumnas .col-txt {
    width: 100%;
    order: 1;
}

.descripcion-25 {
    padding: 25px 0 70px !important;
}

.btn-25 {
    width: 100%;
    padding: 7px 0;
    text-align: center;
}

@media (width >= 820px) {
    .doscolumnas {
        flex-direction: row;
    }

    .doscolumnas .col-video {
        order: 1;
        padding: 0 auto;
    }

    .doscolumnas .col-txt {
        width: 50%;
        margin: 0 0 0 auto;
    }

    .descripcion-25 {
        padding: 30px 0 20px 50px;
    }

    .descuento-25 {
        position: absolute;
        bottom: 5%;
        left: 35%;
        width: 10%;
    }

    .btn-25 {
        width: auto;
        padding: 7px 10px;
    }
}

.w-100 {
    width: 100%;
}

.cookiescript_header {
    font-family: proxima-nova, sans-serif !important;
}

.img-circuito-termal {
    width: 100%;
}

.reserva-menu#reservar {
    padding: 160px 0;
    margin: 0;
}

.lang-box ul li button {
    text-decoration: none;
    outline: 0;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    display: inline-block;
    color: #5e5554;
    border: none;
    background-color: transparent;
}

.lang-box ul li button.active {
    color: #382f2d;
}

div.gallery-item a:hover {
    color: #5e5554;
    text-decoration: none;
    cursor: pointer;
}

div.gallery-item a.gallery-item-link:hover .img-wrapper span {
    opacity: 1 !important;
}

div.gallery-item a:hover .img-wrapper img {
    transform: scale(1.05);
}

div.gallery-item a.gallery-item-link:hover .img-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.3;
    transition: all 0.3s ease-in-out;
}

div.gallery-item .img-wrapper {
    height: 25vw;
}

div.gallery-item a {
    overflow: hidden;
}

div.gallery-item .img-wrapper {
    margin-bottom: 28px;
    overflow: hidden;
    display: grid;
    place-items: center center;
}

div.gallery-item a.gallery-item-link .img-wrapper span {
    opacity: 0;
    position: absolute;
}

div.gallery-item .img-wrapper img {
    height: 100%;
    width: 100%;
    max-height: 100% !important;
    max-width: 100% !important;
    display: block;
    object-fit: cover;
    transition: all 0.4s ease-in-out;
    object-position: center;
}

div.gallery-item p {
    text-align: center;
}

div.gallery-item a.gallery-item-link .img-wrapper span {
    color: #fff;
    font-family: miller-banner, serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

@media (width <= 1500px) and (width >=821px) {
    .gallery-wrapper div.gallery-item .gallery-item-link .img-wrapper {
        height: 28vw;
    }
}

@media (width <= 820px) {
    div.gallery-item .img-wrapper {
        height: 400px;
    }

    div.gallery-item a.gallery-item-link .img-wrapper {
        margin-bottom: 18px;
    }

    div.gallery-item a.gallery-item-link .img-wrapper span {
        opacity: 1;
    }

    .gallery-wrapper div.gallery-item .gallery-item-link .tit3 {
        font-size: 22px;
    }

    div.gallery-item a.gallery-item-link:hover .img-wrapper::after {
        opacity: 0.3;
        height: 400px;
    }

    div.gallery-item .img-wrapper img {
        filter: brightness(0.7);
    }
}

.gallery-item a.gallery-item-link .img-wrapper h3 {
    color: #fff;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.gallery-item a.gallery-item-link:hover .img-wrapper h3 {
    opacity: 1;
}

.experiences-slider.links-slider {
    margin-top: 0;
    margin-bottom: 0;
}

.experiences-slider-mobile div.item {
    position: relative;
    display: grid;
    place-items: center center;
}

.experiences-slider-mobile div.item a {
    position: absolute;
    display: block;
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 3.4px;
    z-index: 2;
}

.experiences-slider-mobile div.item img {
    height: 455px;
    width: 100%;
}

.experiences-slider-mobile div.item::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.32;
}

.text-block .amenities div p.p1 {
    font-family: proxima-nova, sans-serif;
    font-weight: 350;
    line-height: 1.2;
    font-size: 1.56rem;
    margin: 0 0 2px;
}

.text-block .amenities div {
    margin-bottom: 25px;
}

.text-block .amenities div p {
    color: #382f2d;
}

.links-img div {
    text-align: center;
}

.links-img div a {
    display: block;
}

.links-img div .img-wrapper {
    margin-bottom: 30px;
    position: relative;
    display: grid;
    align-items: center;
}

.links-img div .img-wrapper::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity 0.35s ease-in-out;
}

.links-img div .img-wrapper span {
    display: block;
    width: 100%;
    position: absolute;
    padding: 30px;
    box-sizing: border-box;
    color: #fff;
    font-weight: 500;
    z-index: 2;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.25rem;
}

.links-img div .img-wrapper img {
    aspect-ratio: 460 / 580;
    object-fit: cover;
    width: 100%;
    height: 30.7vw;
}

.links-img div p {
    color: #382f2d;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
    font-size: 1.875rem;
}

.links-img div.experiencia:hover .img-wrapper::after {
    opacity: 0.4;
}

.links-img div.experiencia:hover .img-wrapper span {
    transform: translate(0);
    opacity: 1;
}

.tour-boxes-wrapper .tour-box a h3.txt2 {
    margin-top: 4px;
    font-family: proxima-nova, sans-serif;
    font-size: 50px;
    line-height: 2rem;
    font-weight: normal;
}

.tour-boxes-wrapper .tour-box a div.txt,
.tour-boxes-wrapper .tour-box a span.txt-hover {
    position: absolute;
    z-index: 2;
    transition: all 0.2s ease-in-out;
}

.tour-boxes-wrapper .tour-box a div {
    display: block;
    width: 100%;
    color: #fff;
}

.entorno-items div h3 {
    margin: 0;
    font-family: proxima-nova, sans-serif;
    font-weight: 500;
    font-size: 1.75rem;
}

.section-accordion .accordion-header h3 {
    color: #382f2d;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 2.25rem;
    margin: 0 auto;
    padding: 35px 80px;
    max-width: 680px;
}

h2.tit1 {
    margin: 0 0 20px;
}

.landing-25 {
    height: 100vh;
}

.landing-25-video {
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
}

@media (width <= 820px) {
    .landing-25 {
        position: relative;
        height: calc(100svh - 50px);
        overflow: hidden;
    }

    .landing-25-video {
        position: relative;
        height: 100%;
        object-fit: cover;
    }

    .header-bottom-bar {
        bottom: 50px !important;
    }

    .landing-25-video {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.menu-wrapper .menu-25 p.p1 {
    font-size: 22px;
    margin-bottom: 5px;
}

.menu-wrapper .menu-25 p.p1 {
    font-size: 22px;
    margin-bottom: 5px;
}

.menu-wrapper .menu-25 p.p1 {
    font-family: proxima-nova, sans-serif;
    font-weight: 350;
    font-size: 1.875rem;
    color: #382f2d;
    margin: 0 0 10px;
}

.menu-wrapper .menu-25 {
    margin-bottom: 50px;
}

.conozca-villa .col-img .img-links-slider div.gallery-item a.gallery-item-link {
    display: block;
    height: 100%;
    position: relative;
}

div.gallery-item {
    text-align: center;
}

.conozca-villa .col-img .img-links-slider div.gallery-item a.gallery-item-link .img-wrapper {
    height: 100%;
    margin: 0;
}

div.gallery-item a.gallery-item-link .img-wrapper {
    position: relative;
    display: grid;
    place-items: center center;
    margin-bottom: 28px;
    overflow: hidden;
}

.conozca-villa .col-img .img-links-slider div.gallery-item a.gallery-item-link span {
    display: grid;
    align-items: center;
    width: 100%;
    height: 100%;
}

div.gallery-item a.gallery-item-link .img-wrapper span {
    color: #fff;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.conozca-villa .col-img .img-links-slider div.gallery-item a.gallery-item-link .img-wrapper img {
    height: 100%;
}

div.gallery-item a.gallery-item-link img {
    display: block;
    object-fit: cover;
    transition: all 0.4s ease-in-out;
}

.conozca-villa .col-img .img-links-slider div.gallery-item a.gallery-item-link:hover .img-wrapper span {
    opacity: 1;
}

.conozca-villa .col-img .img-links-slider div.gallery-item a.gallery-item-link:hover .img-wrapper img {
    transform: scale(1.05);
}

.section-tratamientos .section-accordion .accordion-header h3 {
    margin: 0;
    padding: 23px 0;
    color: #5e5554;
}

.practical-info .section-accordion .accordion-header h3 {
    padding: 12px 0;
    font-size: 1.65rem;
}

.practical-info .section-accordion .accordion-header p {
    margin: 0;
    color: #5e5554;
}

.gallery-up article .tit3 {
    padding: 0 30px;
    margin: 0 0 20px;
}

.entorno-items article .txt-wrapper .desc {
    margin: 0 auto;
}

h2.pretit {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    line-height: 1.5625rem;
    letter-spacing: 0.3125rem;
    font-weight: 400;
    text-transform: uppercase;
    font-family: indivisible;
}

h2.pretit.above {
    position: absolute;
    top: 300px;
    text-align: center;
    width: 100%;
    left: 0;
}

section.spacer {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

section.image-unmask {
    height: 100vh;
    overflow: hidden;
}

.inner {
    margin: 50px;
    padding: 50px;
    min-height: 25vh;
    margin-left: 10vw;
    max-width: 80vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    /* background: rgba(255,255,255,0.9); */
    border-radius: 10px;
}

#img {
    position: fixed;
    top: 50%;
    left: 50%;
    opacity: 0;
    z-index: -1;
}

#svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}

.section-hero {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    object-fit: contain;
}

.section-hero:nth-child(1) {
    background-image: url('../images/banners/c7ce_dunes.jpg');
}

.section-hero:nth-child(1)::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / 50%); /* semi-transparent black overlay */
    z-index: 1;
}

.history-accordion {
    margin-top: 50px;
}

.history-accordion .accordion-item {
    --circle-x: 1.8rem;
    --circle-y: 0;
    --circle-r: 200%;
    --circle-bg: #fff;

    color: #382f2d;
    background-color: var(--circle-bg);
    max-width: 90ch;
    margin-bottom: 1rem;
    border-radius: min(0px, 0.5rem);
    display: grid;
    grid-template-rows: 0fr 0fr;
    transition: opacity 200ms var(--slide-ease) 0ms, box-shadow 200ms var(--slide-ease) 0ms, grid-template-rows var(--slide-duration) var(--slide-ease) var(--slide-delay);
    box-shadow: 0 0 0 2px rgb(0 0 0 / 10%);
    opacity: 0.9;
}

.history-accordion .accordion-item:not(:target):hover {
    box-shadow: 0 0 0 2px rgb(0 0 0 / 50%);
}

.history-accordion .accordion-item:not(:target):active {
    opacity: 1;
    box-shadow: 0 4px 7px 0 rgb(0 0 0 / 30%);
}

.history-accordion .accordion-item,
.content {
    overflow: hidden;
}

.history-accordion .accordion-item:target {
    --d: 90deg;

    grid-template-rows: 0fr 1fr;
    transition: grid-template-rows var(--slide-ease) var(--slide-duration) var(--slide-delay);
}

.history-accordion .wrapper {
    padding-block: 0 1.05rem;
    padding-inline: 1.25rem;
}

.history-accordion .content {
    font-size: var(--size-accordion-content);
    line-height: 140%;
}

.history-accordion .content p {
    margin-bottom: 1rem;
}

.history-accordion .content a {
    color: currentcolor;
    font-weight: 800;
    text-decoration: underline;
}

.history-accordion .title a {
    padding: 1rem 1.25rem;
    font-size: var(--size-accordion-title);
    font-weight: 800;
    color: currentcolor;
    text-decoration: none;
    display: flex;
    flex-direction: row;
    place-items: center;
}

.history-accordion .title a::before {
    --chevron-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cpath fill='white' d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E");

    content: '';
    left: 0;
    top: 0;
    width: 0.65rem;
    aspect-ratio: 320 / 512;
    display: inline-block;
    margin-right: 0.75rem;
    transform: rotate(var(--d, 0deg));
    transition: transform var(--slide-ease) var(--slide-duration) var(--slide-delay);
    mask-image: var(--chevron-icon);
    mask-size: 100% 100%;
    background-color: currentcolor;
}

.history-accordion .accordion-item::before,
.history-accordion .accordion-item::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--circle-bg);
    mix-blend-mode: difference;
    transform-style: preserve-3d;
    transition-timing-function: ease;
    transition-property: opacity, clip-path, visibility;
    pointer-events: none;
    clip-path: circle(var(--r) at var(--circle-x) var(--circle-y));
    border-radius: inherit;
    z-index: 4;
}

.accordion-item::before {
    --r: 0%;

    transition-delay: var(--circle-duration), var(--circle-duration), 0ms;
    transition-duration: 0ms, var(--circle-duration), 0ms;
    opacity: 0;
}

.history-accordion .accordion-item:target::before {
    --r: var(--circle-r);

    transition-delay: 0ms, 0ms, 0ms;
    transition-duration: 0ms, var(--circle-duration), 0ms;
    opacity: 1;
}

.history-accordion .accordion-item::after {
    --r: var(--circle-r);

    transition-delay: 0ms, 0ms, var(--circle-duration);
    transition-duration: 0ms, var(--circle-duration), 0ms;
    visibility: hidden;
    opacity: 1;
}

.history-accordion .accordion-item:target::after {
    --r: 0%;

    transition-delay: 0ms, 0ms, 0ms;
    transition-duration: 0ms, 0ms, 0ms;
    visibility: visible;
    opacity: 0;
}

.history-accordion .title a:focus-visible {
    background-color: hsl(0deg 100% 90%);
    outline: none;
}

.history-accordion .accordion-item:target .title a:focus-visible {
    background-color: hsl(183deg 100% 93%);
}

#his-sustainability {
    background: #f0eeed;
    margin: 0;
    padding: 120px 0;
}

@media (width <= 1800px) {
    h2.pretit.above {
        top: 250px;
    }
}

@media (width <= 375px) {
    h2.pretit.above {
        top: 200px;
    }
}

.terminos {
    font-size: 1.5rem !important;
    margin: 50px 0 32px !important;
    color: #382f2d !important;
    font-weight: 500 !important;
    font-family: mixta-pro, Arial, sans-serif !important;
}

button.play-button {
    background-color: transparent;
    border: none;
    cursor: pointer;
}

#header-home .background,
#header-iconic .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

#header-home .background.active,
#header-iconic .background.active {
    opacity: 1;
}

@media (width <= 820px) {
    .ocultar-menu {
        display: none;
    }

    .overlay .menu-bottom.menu-bottom-icons {
        padding: 0 32px 60px !important;
    }
}

@media (width <= 1024px) {
    .overlay .menu-bottom-lineas::after {
        content: '';
        width: 54px;
        height: 1px;
        background: #382f2d;
        margin-bottom: 22px;
    }
    .overlay .menu-bottom {
        padding: 0 32px !important;
    }
}

@media (width >= 1023px) {
    .overlay .menu-bottom.menu-bottom-icons {
        padding: 20px;
        justify-content: end;
    }
}

@media (width <= 1260px) {
    .overlay .menu-bottom.menu-bottom-icons {
        padding: 0 32px !important;
    }
}

.overlay .menu-bottom.menu-bottom-icons {
    position: absolute;
    padding: 0 52px 0 52px;
    cursor: pointer;
}

.p1-tapas {
    font-size: 1.75em;
    line-height: 1.2;
    font-family: proxima-nova, sans-serif;
    font-weight: 350;
    color: #382f2d;
    margin: 0 0 10px;
}

/* ---MARNISH'S BUTTONS STYLES STARTS HERE--- */
.btn {
    position: relative;
    overflow: hidden;
    border: 1px solid #382f2d;
    color: #382f2d;
    display: inline-block;
    padding: 22px;
    text-decoration: none;
    cursor: pointer;
    background: #fff;
    margin-top: 15px;
}

.btn span {
    position: relative;
    transition: color 600ms cubic-bezier(0.48, 0, 0.12, 1);
    z-index: 10;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.2rem;
    user-select: none;
    touch-action: manipulation;
    text-transform: uppercase;
    line-height: normal;
    text-wrap: nowrap;
}

.btn.btn-no-fill-white {
    background: none;
    color: #fff;
    border: 1px solid #fff;
    margin-top: 50px;
}

.btn.btn-no-fill-black {
    background: none;
    color: #382f2d;
    border: 1px solid #382f2d;
}

.btn.btn-no-fill-reverse {
    background: none;
    color: #fff;
    border: 1px solid #fff;
    margin-top: 50px;
}

.btn.btn-fill-white {
    background: #fff;
    color: #382f2d;
    border: 1px solid #fff;
    margin-top: 50px;
}

.btn.btn-no-fill-reverse::after {
    background: #fff;
    color: #fff;
}

.btn.btn-no-fill-reverse:hover span {
    color: #382f2d !important;
}

.btn::after {
    content: '';
    position: absolute;
    bottom: -50%;
    left: 0;
    width: 102%;
    height: 100%;
    background-color: #781c4d;
    transform-origin: bottom center;
    transition: transform 600ms cubic-bezier(0.48, 0, 0.12, 1);
    transform: skewY(9.3deg) scaleY(0);
    z-index: 3;
}

.btn:hover::after {
    transform-origin: bottom center;
    transform: skewY(9.3deg) scaleY(2);
}

.btn:hover {
    color: #fff;
    border: 1px solid #781c4d;
}

.btn.btn-no-fill-reverse:hover {
    color: #fff;
    border: 1px solid #fff;
}

/* ---MARNISH'S BUTTONS STYLES ENDS HERE--- */

/* ---MARNISH'S VIEWPOINT CAFE CODE STARTS--- */
.viewpoint-cafe-intro .indent p.feat {
    max-width: 400px;
}

.abt-viewpoint-coffee .tit3 {
    color: #fff;
    margin-bottom: 15px;
}

.abt-viewpoint-coffee .coffee-2.tit3 {
    margin-left: 0;
}

.abt-viewpoint-coffee .feat-desc-1 {
    margin-left: 11.8vw;
    color: #fff;
}

.abt-viewpoint-coffee {
    position: relative;
    padding: 180px 0 0;
}

.abt-viewpoint-coffee::before {
    content: '';
    display: block;
    background: #761e2b;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 92%;
    z-index: 1;
}

.abt-viewpoint-coffee img {
    object-fit: cover;
    display: block;
}

.abt-viewpoint-coffee .img1 {
    aspect-ratio: 820/650;
}

.abt-viewpoint-coffee .img2 {
    aspect-ratio: 940/650;
    margin-top: -500px;
}

.abt-viewpoint-coffee .img3 {
    aspect-ratio: 600/740;
    margin-right: 11.8vw;
}

.abt-viewpoint-coffee .feat {
    max-width: 600px;
    color: #fff;
    font-style: normal;
    margin-left: 0 !important;
}

.abt-viewpoint-coffee .indent2 {
    margin-left: 6vw;
}

.abt-viewpoint-coffee .indent p {
    padding-left: 56px;
}

.abt-viewpoint-coffee .feat-desc-1 {
    margin-left: 0 !important;
}

.abt-viewpoint-coffee .col1,
.abt-viewpoint-coffee .col2 {
    position: relative;
    z-index: 2;
}

.abt-viewpoint-coffee .col1 .feat {
    margin-left: 11.8vw;
}

.abt-viewpoint-coffee .col2 .gastro-icons {
    margin: 50px 0 55px;
}

.abt-viewpoint-coffee .col2 .feat-desc {
    color: #fff;
    margin-bottom: 120px;
}

.abt-viewpoint-coffee .col2 .indent.indent-l,
.abt-viewpoint-coffee .indent2 {
    padding: 0 5.8vw;
    margin-top: 100px;
    margin-left: 0;
}

.swiper.swiper-cf {
    width: 100%;
    max-width: 1300px;
}

.swiper.swiper-cf p {
    text-align: center;
}

.swiper.swiper-cf h4 {
    font-size: 1.5rem;
    text-align: center;
}

.swiper-wrapper.swipper-cf-wrapper {
    padding-bottom: 0;
    padding-top: 80px;
}

.swiper-slide.swiper-cf-slide .coffee-cd-1 {
    background: #fff;
}

.swiper-slide.swiper-cf-slide > div {
    height: 350px;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 30px;
    transition: background 0.3s ease-in-out;
}

.swiper-button-prev.coffee-arrow::after,
.swiper-button-next.coffee-arrow::after {
    display: none;
}

.swiper-button-prev.coffee-arrow,
.swiper-button-next.coffee-arrow {
    bottom: -10px !important;
}

.swiper-button-prev.coffee-arrow,
.swiper-button-next.coffee-arrow,
.swiper-button-next.prev-menu.menu-arrow-btn,
.swiper-button-prev.prev-menu.menu-arrow-btn {
    width: 60px !important;
}

#cafe-learn-more {
    display: flex;
    margin: 0 auto;
}

.our-menu {
    display: grid;
    align-items: center;
    position: relative;
    padding: 190px 0 0;
}

.our-menu .menu-box {
    position: relative;
    z-index: 2;
    background: #382f2d;
    text-align: center;
    padding: 120px 100px 100px;
    width: 30vw;
}

.our-menu .menu-box .indent {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

.our-menu .menu-box p {
    margin-left: auto;
    margin-right: auto;
}

.our-menu .tit3 {
    color: #fff;
}

.our-menu .menu-box .tit2,
.our-menu .menu-box a,
.our-menu .menu-box p {
    color: #fff;
}

.our-menu .menu-box a:hover {
    color: #e7e0da;
}

.our-menu img {
    position: absolute;
    display: block;
    object-fit: cover;
    transition: all 0.2s ease-in-out;
}

.our-menu .img1,
.our-menu .img1-ghost {
    aspect-ratio: 630/560;
    z-index: 3;
    top: 0;
    left: 0;
    width: 33vw;
    height: 29vw;
}

.our-menu .img2,
.our-menu .img2-ghost {
    aspect-ratio: 667/646;
    top: 110px;
    right: 0;
    width: 33vw;
    height: 32vw;
}

.our-menu .swiper-pagination-vertical.swiper-pagination-bullets {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 15px;
}

.our-menu .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 15px;
    height: 15px;
    margin: 4px 0 !important;
    transition: 0.2s width ease-out, 0.2s height ease-out, 0.2s background-color ease-out;
}

.our-menu .btn.btn-no-fill-white.view-menu {
    margin-bottom: 0;
    margin-top: 15px;
}

.menu-box .swiper-menu-container {
    height: 550px;
    overflow: hidden;
}

.menu-box-bottom .img3 {
    aspect-ratio: 500/600;
    width: 25vw;
    height: 30vw;
    top: -124px;
}

.menu-box .swiper-btn-container .prev-menu {
    position: unset;
    width: auto;
    height: auto;
    margin-top: 0;
    transform: rotate(90deg);
    color: unset;
}

.menu-box .swiper-btn-container .prev-menu::after {
    background: unset;
}

.menu-box .swiper-menu-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column;
    gap: 30px;
}

.menu-box .swiper-btn-container {
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    right: -4.7%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    z-index: 10;
}

.menu-box-bottom {
    margin-top: -140px;
}

.menu-box-bottom img {
    position: relative;
}

.menu-box-bottom .img4 {
    aspect-ratio: 764/520;
    z-index: 3;
    width: 35vw;
    width: 100%;
    height: 27.3vw;
}

.menu-listing > * {
    text-align: left;
}

.menu-listing .dish-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

.menu-listing .dish-tit-inner-container {
    padding-right: 15px;
    display: inline;
}

.menu-listing .dish-tit-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.menu-listing .dish-tit {
    color: #fff;
    font-size: 20px;
    display: inline;
    background: hsl(11deg 11% 20%);
    padding-right: 10px;
    z-index: 2;
    position: relative;
}

.menu-listing .dish-price {
    display: inline-block;
    font-size: 14px;
    background: #382f2d;
    color: #fff;
    padding-left: 10px;
    z-index: 2;
    position: relative;
}

.menu-listing .dish-ingr {
    padding: 0 !important;
    max-width: 100%;
    margin-left: 0 !important;
    width: 70%;
}

.menu-listing .dish-item::before {
    content: '';
    height: 1px;
    width: 100%;
    position: absolute;
    top: 15.5px;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 1;
}

@media (width <= 1500px) {
    .our-menu .menu-box-bottom {
        margin-top: -60px;
    }
}

@media (width <= 1240px) {
    .our-menu .menu-box {
        width: 50vw;
    }

    .abt-viewpoint-coffee .indent2 {
        margin-top: 50px;
    }

    .abt-viewpoint-coffee .img2 {
        margin-top: -450px;
    }

    .swiper-slide.swiper-cf-slide > div {
        width: 70%;
        height: 400px;
        margin: 0 auto;
        background: #fff !important;
    }

    #coffee-we-make {
        height: auto;
    }
}

@media (width <= 1024px) {
    .abt-viewpoint-coffee .col2 .indent.indent-l {
        padding-right: 5.8vw;
        padding-left: 0;
    }

    .abt-viewpoint-coffee .indent.indent2,
    .abt-viewpoint-coffee .indent-inner-txt {
        padding: 50px 30px;
    }
}

@media (width <= 820px) {
    .swiper-wrapper.swipper-cf-wrapper {
        padding-top: 0;
    }

    .abt-viewpoint-coffee .cols2 {
        gap: 0;
    }

    .abt-viewpoint-coffee .col2 .feat-desc {
        margin: 0 0 17px;
    }

    .abt-viewpoint-coffee .tit3 {
        margin-left: 0 !important;
        padding: 0 32px !important;
    }

    .abt-viewpoint-coffee {
        padding: 0;
    }

    .abt-viewpoint-coffee .img1 {
        width: 100%;
        height: 340px;
    }

    .abt-viewpoint-coffee .img2 {
        margin: 0;
        width: 100%;
        height: 300px;
    }

    .abt-viewpoint-coffee .img3 {
        width: 80%;
        margin: 0 auto;
        aspect-ratio: 600 / 640;
    }

    .abt-viewpoint-coffee .feat {
        max-width: 100%;
    }

    .abt-viewpoint-coffee .feat,
    .feat-desc-1,
    .feat-desc-2 {
        margin-left: 0 !important;
        padding: 0 32px;
        max-width: 100% !important;
    }

    .abt-viewpoint-coffee .col2 .indent.indent-l {
        margin-top: 0;
        padding: 0;
    }

    .abt-viewpoint-coffee .indent.indent2,
    .abt-viewpoint-coffee .indent-inner-txt {
        padding: 50px 0;
        margin: 0;
    }

    .our-menu {
        padding-top: 140px;
    }

    .our-menu .img1,
    .our-menu .img1-ghost {
        width: 60vw;
        height: 190px;
    }

    .our-menu .img2,
    .our-menu .img2-ghost {
        width: 50vw;
        height: 210px;
        top: 80pxmenu-box;
    }

    .our-menu .menu-box {
        width: calc(100% - 32px * 2);
        padding: 70px 20px;
        margin: 0 calc(32px);
        box-sizing: border-box;
    }

    .our-menu .menu-box .links {
        margin-top: 60px;
    }

    .our-menu .menu-box-bottom {
        margin-top: -140px;
        position: relative;
    }

    .our-menu .menu-box-bottom .img3 {
        width: 45vw;
        height: 280px;
        top: -50px;
        left: -32px;
    }

    .our-menu .menu-box-bottom .img4 {
        width: 60vw;
        height: 190px;
        position: absolute;
        top: 180px;
        right: 0;
        z-index: unset;
    }

    .menu-box .swiper-btn-container {
        top: unset;
        bottom: -5%;
        right: 50%;
        left: unset;
        transform: translateX(50%);
        flex-direction: row;
    }
}

@media (width <= 480px) {
    .swiper-menu-container {
        height: 480px !important;
    }

    .menu-listing .dish-ingr {
        width: 100%;
    }

    .swiper-menu-slide {
        gap: 20px;
    }
}

/* ---MARNISH'S VIEWPOINT CAFE CODE ENDS HERE--- */

/* ---MARNISH'S ABOUT US CODE STARTS HERE--- */

.mountain-bg .history-intro,
.mountain-bg p {
    color: #fff !important;
}

.mountain-bg .history-intro {
    background-color: #781c4d;
    padding: 30px 0;
}

.mountain-bg {
    position: relative;
    width: 100%;
    height: 100%;
}

#our-history {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 0;
    align-items: center;
}

.vector-6 {
    width: 100%;
    height: 100%;
}

#our-history .box-cont {
    display: block;
}

#our-history .slider-desc .feat {
    margin-top: 0;
}

#our-history .box-cont {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
}

#our-history svg {
    z-index: 2;
    width: 100%;
}

#our-history .esterno,
#our-history .interno {
    cursor: pointer;
    fill: #ccc;
}

#our-history .esterno {
    stroke-dashoffset: 200;
    stroke-dasharray: 200;
    transform: rotate(-105deg) translate(-673px, -237px);
    opacity: 1;
    transition: all 0.5s ease-in-out;
}

#our-history .esterno.over {
    stroke-dashoffset: 0;
    opacity: 1;
    transition: 1s ease-in-out;
    fill: #761e2b;
}

#our-history .bordo {
    stroke-dashoffset: 879;
    stroke-dasharray: 878;
    visibility: hidden;
    transition: 1.5s;
}

#our-history .bordo.over {
    stroke-dashoffset: 0;
    transition: 2s;
    visibility: visible;
    transition-delay: 0.7s;
}

#our-history .content-txt {
    opacity: 0;
    transition: opacity 1.5s;
}

#our-history .content-txt.over {
    opacity: 100;
    transition: opacity 3s;
}

.timeline-line {
    fill: #382f2d !important;
    stroke: #382f2d !important;
}

#our-history h1 {
    display: block;
    width: 100%;
    text-align: center;
    font-family: 'Varela Round';
    color: #382f2d;
    font-size: 3rem;
}

#our-history p {
    color: #382f2d;
    padding: 0 50px;
    text-align: center;
}

#our-history .swiper-pagination-year {
    border-radius: unset !important;
    text-align: center;
    opacity: 1;
    background: none;
    display: flex;
    justify-content: center;
    flex-direction: row;
    position: relative;
    right: 0;
    left: 0;
    margin: 0;
    bottom: 50px !important;
}

#our-history .swiper-pagination-year::after {
    content: '';
    position: absolute;
    top: -20px;
    width: 50vw;
    height: 1px;
    background: #382f2d;
    z-index: -1;
}

#our-history .swiper-pagination-year span {
    display: inline-block;
    width: 50px;
    background: none;
    position: relative;
    z-index: 2;
}

#our-history .swiper-pagination-year span::before {
    content: '';
    background: #ccc;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    z-index: 2;
}

#our-history .swiper-pagination-year span::after {
    content: '';
    background: #ccc;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -30px;
    right: 30%;
    transform: translateX(-50%);

    /* only translate */
    border-radius: 50%;
    z-index: 1;
    animation: pulse 2s infinite ease-in-out;
}

#our-history .swiper-pagination-year.swiper-pagination {
    color: #382f2d !important;
}

#our-history .swiper-pagination-bullet {
    opacity: 1 !important;
}

#our-history .swiper-pagination-year .swiper-pagination-bullet-active::before {
    background: #761e2b !important;
}

#our-history .interno.pulse {
    animation: pulse 2s infinite ease-in-out;
    transform-origin: center;
    transform-box: fill-box;
}

#our-history .swiper-pagination-bullet.no-pulse::after {
    animation: none !important;
    background: none !important;
}

@keyframes pulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.6);
        opacity: 0.2;
    }
}

.swiper-history.swiper-timeline {
    width: 100%;
    height: 500px;
    align-items: center;
    justify-content: center;
    display: none;
}

.swiper-history.swiper-timeline h4 {
    font-size: 2rem;
}

.swiper-history.swiper-timeline p {
    padding: 0 80px !important;
}

.swiper-history.swiper-timeline .swiper-slide {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 30px;
}

.did-you-know {
    height: 100vh;
    background-color: #f0eeed;
    color: #382f2d !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 0;
}

.did-you-know > * {
    position: relative;
    z-index: 2;
}

.did-you-know h4 {
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
}

.did-you-know .feat {
    color: #5e5554;
    text-align: center;
}

.did-you-know .card-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    width: 100%;
    margin-top: 70px;
}

.did-you-know .card-container span::before {
    content: '›';
    color: #adadad;
    position: relative;
    font-size: 90px;
    display: block;
    padding: 15px;
    font-family: miller-banner, serif;
    box-sizing: border-box;
    margin: 0;
}

.did-you-know .card-container .card {
    width: 370px;
    height: 100%;
    cursor: pointer;
    filter: grayscale(70%);
    opacity: 0.3;
    transition: filter 0.3s ease-in-out, opacity 0.3s ease-in-out;
    background-color: #e14e19;
}

.did-you-know .card-container .card-title-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 90px 50px;
    color: #fff;
    position: relative;
}

.did-you-know .card-container .card-title-container.card-1 {
    background: url('../images/history/frame-1.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 100%;
}

.did-you-know .card-container .card-title-container.card-2 {
    background: url('../images/history/frame-2.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 100%;
}

.did-you-know .card-container .card-title-container.card-3 {
    background: url('../images/history/frame-3.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 100%;
}

#history-card .card-container {
    max-width: 90vw;
}

#history-card .card-container .card-title-container.card-1 {
    background: #761e2b;
}

#history-card .card-container .card-title-container.card-2 {
    background: #b13c17;
}

#history-card .card-container .card-title-container.card-3 {
    background: #2e5619;
}

.did-you-know .card-container p {
    color: #382f2d;
    padding: 10px 40px !important;
    text-align: center;
}

.did-you-know .card-container .card h4 {
    margin-top: 15px;
    font-weight: bolder;
}

.did-you-know .card-container .card-content-container {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    transition: all 0.5s ease-in-out;
    background-color: #adadad;
}

.did-you-know .card-container .card-content-container.open {
    max-height: 300px;
    padding: 15px 0;
}

.did-you-know .card-container .card-content-container p {
    color: #fff !important;
    padding: 0 15px;
    font-size: 16px;
}

.did-you-know .card-container .card .card-num {
    font-size: 4rem;
    position: absolute;
    font-weight: bolder;
    color: #ccc;
    top: -25%;
    background: #f0eeed;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.5s;
}

.did-you-know .banner-txt.panel-history-txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.did-you-know .banner-txt.panel-history-txt p {
    padding: 0 150px;
}

#our-team {
    margin-bottom: 60px;
}

#our-team .gallery-up article img {
    height: 30vw;
}

#our-team .team-desc {
    margin: 20px 0;
}

#our-team h4 {
    text-transform: uppercase;
}

@keyframes moveFade {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    25% {
        transform: translateX(10px);
        opacity: 0;
    }

    50% {
        transform: translateX(0);
        opacity: 1;
    }

    75% {
        transform: translateX(10px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* @media (max-width: 1120px) {
	.did-you-know {
		height: auto !important;
		padding: 50px 0;
	}

	.did-you-know .card-container {
		gap: 30px !important;
		flex-direction: column;
	}

	.did-you-know .card-container .card {
		max-width: unset !important;
		width: 80% !important;
		filter: none;
		opacity: 1;
	}

	.did-you-know .banner-txt.panel-history-txt p {
		padding: 0 15px;
	}

	.did-you-know .card-container span::before {
		transform: rotate(90deg);
	}
} */

@media (width <= 1120px) {
    .did-you-know {
        height: auto !important;
    }

    #history-card .card-container {
        width: 65vw;
    }

    .did-you-know .card-container {
        gap: 30px !important;
        flex-direction: column;
    }

    .did-you-know .card-container .card {
        max-width: unset !important;
        width: 90% !important;
        filter: none;
        opacity: 1;
    }

    .did-you-know .card-container span::before {
        display: none;
    }

    .swiper-history.swiper-timeline {
        display: block;
    }

    #our-history {
        gap: 10px;
    }

    #our-history .box-cont {
        display: none !important;
    }

    #our-history .box-cont::after {
        width: 1.7px;
        height: 80%;
        left: 48.7%;
    }

    #our-history p {
        padding: 0 50px;
    }

    #our-history .slider-desc {
        padding: 0;
        margin-bottom: 0;
    }
}

@media (width<=500px) {
    #history-card .card-container {
        width: 90vw;
    }
}

/* ---MARNISH'S ABOUT US CODE ENDS HERE--- */

/* ---MARNISH'S TORTOISE PARK PAGE CODE STARTS HERE--- */
.page-generic.abt-tortoise-container .cols2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    place-items: center;
    max-width: 1200px;
    gap: 100px;
    margin: 0 auto;
    padding: 0 32px;
}

.page-generic.abt-tortoise-container .col-img {
    margin: 0;
    width: 100%;
    grid-column: 2;
    grid-row: 1;
    place-self: center center;
}

.page-generic.abt-tortoise-container .col-txt {
    margin: 0;
    width: 100%;
    grid-column: 1;
    grid-row: 1;
    align-self: center;
}

.page-generic.abt-tortoise-container .container-parallax-image img {
    width: 100%;
    max-width: unset;
}

.page-generic.abt-tortoise-container .container.small.ml0 {
    padding: 0;
}

.dual-img-block.cont-3-cols.section.abt-tortoise,
.dual-img-block.cont-3-cols.section.abt-tortoise .feat {
    background: #f0eeed;
}

.page-generic.abt-tortoise-container {
    position: relative;
    overflow-x: hidden;
    padding-top: 0;
}

.abt-tortoise-container > * {
    overflow: hidden;
}

.page-generic.abt-tortoise-container .generic-row-7.section {
    margin: 0;
    padding: 120px 0;
}

.inner-txt.tortoise-img-container {
    position: relative;
}

.tortoise-img {
    position: absolute;
    left: -4%;
    bottom: 0;
    width: 320px;
}

.tortoise-park-img {
    background-image: url('../images/tortoise-park/tortoises-in-park.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.colorful-dunes-img {
    background-image: url('../images/geopark/colorful-dunes-mask.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.tortoise-3d {
    width: 100%;
    max-width: 580px;
}

.tortoise-3d-col {
    justify-self: end;
}

.video-illustration-separator.separator-tortoise {
    z-index: unset;
}

/* ZOOM EFFECT CODE STARTS HERE */
.zoom-wrapper,
.zoom-wrapper-content {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow-x: hidden;
}

.zoom-img-container {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    perspective: 500px;
    overflow: hidden;
}

.zoom-img-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.zoom-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    opacity: 0;
    width: 100%;
    display: flex;
    background: #00000078;
    align-items: center;
    height: 100%;
}

.zoom-content p {
    color: #fff;
}

.img-zoom {
    opacity: 1;
}

/* ZOOM EFFECT CODE ENDS HERE */

/* INFO CARDS CODE STARTS HERE */
.info-cards-container {
    width: 100%;
    height: 100vh;
    max-height: 1000px;
    background: #2e5619;
    margin: 0 auto;
    color: #fff;
    position: relative;
}

.info-cards-container.info-card-waterfall {
    background: #709293;
}

.info-cards-container.info-card-waterfall .info-card-left > div {
    background: #5b7e7f;
}

.info-cards-container h2 {
    color: #fff;
}

.info-cards-inner-container {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 2fr 3fr;
    margin: 0 auto;
    max-width: 1400px;
}

.info-cards-inner-container p {
    margin: 25px 0;
}

.info-cards-inner-container .indent {
    margin: 0;
    padding: 0;
}

.info-cards-container .info-card-right {
    align-self: center;
    padding: 0 50px;
}

.info-cards-container .info-card-left {
    display: flex;
    gap: 55px;
    justify-self: center;
    padding-right: 50px;
}

.info-card-left > div {
    background: #244412;
    max-height: 0;
    opacity: 0;
    max-width: 350px;
    width: 100%;
    border-bottom-left-radius: 300px;
    border-bottom-right-radius: 300px;
    transition: max-height 0.9s ease-out, opacity 0.9s ease-out;
}

.info-card-content-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.info-card-content-inner-container {
    text-align: center;
    padding: 0 20px;
    margin-top: 60%;
}

.info-card-content-container.info-card-content-container-2 {
    flex-direction: column-reverse;
    margin-top: auto;
    border-top-left-radius: 300px;
    border-top-right-radius: 300px;
    border-bottom-left-radius: unset;
    border-bottom-right-radius: unset;
}

.info-card-content-container.info-card-content-container-2 .info-card-content-inner-container {
    margin-top: 0;
    margin-bottom: 60%;
}

.info-card-img {
    aspect-ratio: 1 / 1;
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    clip-path: circle(50% at 50% 50%);
    flex-shrink: 0;
}

.info-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.2s ease-out 0.9s;
}

.info-card-left.animate .info-card-content-container {
    height: 100%;
    max-height: 680px;
    opacity: 1;
}

.info-card-left.animate .info-card-content-container .info-card-img img,
.info-card-left.animate .info-card-content-container .info-card-content-inner-container {
    opacity: 1;
}

.info-card-content-container h3 {
    font-size: 1.5rem;
}

/* INFO CARDS CODE ENDS HERE */
@media (width <= 1024px) {
    .tortoise-img,
    .flying-birds-img {
        display: none;
    }

    .info-cards-container {
        max-height: unset;
        height: auto;
        padding-bottom: 80px;
    }

    .info-cards-container .info-card-right {
        place-self: center center;
        text-align: center;
        padding: 50px 30px;
    }

    .info-cards-container .info-card-left {
        justify-self: start;
        width: 100%;
    }

    .info-cards-inner-container {
        grid-template-rows: 0.2fr 2fr;
        grid-template-columns: unset;
    }

    .info-card-left {
        flex-direction: column;
        padding-right: 0 !important;
    }

    .info-card-img {
        margin: 0;
    }

    .info-card-content-container,
    .info-card-content-container.info-card-content-container-2 {
        flex-direction: row;
    }

    .info-card-left > div {
        width: 95%;
        transition: opacity 0.9s ease-out;
    }

    .info-card-left > div,
    .info-card-content-container.info-card-content-container-2 {
        border-top-right-radius: 200px;
        border-bottom-right-radius: 200px !important;
        border-bottom-left-radius: unset !important;
        border-top-left-radius: unset;
    }

    .info-card-content-inner-container,
    .info-card-content-container.info-card-content-container-2 .info-card-content-inner-container {
        text-align: left;
        margin: 0;
    }

    .info-card-content-inner-container {
        padding: 30px;
    }

    .zoom-img-container img {
        display: none;
    }

    .zoom-content {
        transition: opacity 1s ease-in-out;
    }
}

@media (width <= 1350px) {
    .info-card-left > div {
        max-width: unset;
        border-bottom-left-radius: 200px;
        border-bottom-right-radius: 200px;
    }
}

@media (width <= 820px) {
    .page-generic .tortoise-3d-col {
        justify-self: unset;
    }

    .page-generic.abt-tortoise-container .cols2 {
        grid-template-columns: unset !important;
        grid-template-rows: auto auto;
        gap: 50px;
    }

    .zoom-wrapper {
        display: none;
    }

    .page-generic.abt-tortoise-container .col-img,
    #home-intro .col-img {
        grid-column: 1;
        grid-row: 2;
    }

    .page-generic.abt-tortoise-container .col-txt,
    #home-intro .col-txt {
        margin: 0;
        width: 100%;
        grid-column: 1;
        grid-row: 1;
        align-self: center;
    }

    .tortoise-3d {
        max-width: unset !important;
    }
}

@media (width <= 580px) {
    .info-card-img {
        display: none;
    }
}

/* ---MARNISH'S TORTOISE PARK PAGE CODE ENDS HERE--- */

/* ---MARNISH'S CHAMAREL WATERFALL PAGE CODE STARTS HERE--- */
.dual-img-block {
    padding: 120px 0;
    margin: 0 !important;
    position: relative;
    background: #fff;
}

.dual-img-block .col.col-txt {
    align-self: center;
}

.dual-img-block .col.col-txt .inner-txt {
    margin-top: 0;
    padding: 20px 0;
}

.dual-img-block .col.col-3 {
    aspect-ratio: 420 / 530;
    margin-top: 190px;
}

.dual-img-block .btn {
    margin-top: 15px;
}

.waterfall-separator {
    background: url('../images/chamarel-waterfalls/final-waterfall-blue-illus.png');
    width: 100vw;
    max-width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 1300px;
    max-height: 100%;
    position: relative;
}

.waterfall-separator h3,
.waterfall-desc.desc-1 p,
.waterfall-desc.desc-3 h3,
.waterfall-desc {
    color: #fff;
}

.waterfall-desc {
    max-width: 420px;
}

.waterfall-desc.desc-1 {
    position: absolute;
    bottom: 30%;
    left: 10%;
}

.waterfall-desc.desc-2 {
    position: absolute;
    bottom: 10%;
    right: 8%;
}

.chamarel-waterfall-img {
    background-image: url('../images/chamarel-waterfalls/New Project (83).jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

.plain-background {
    position: relative;
    background: url('../images/chamarel-waterfalls/waterfall-plain-background.png');
    background-size: cover;
    width: 100%;
    height: 200px;
    display: none;
    padding-bottom: 80px;
}

.flying-birds-img {
    position: absolute;
    left: 12%;
    top: 15%;
    width: 170px;
}

@media (width <= 1550px) {
    .waterfall-desc.desc-2 {
        right: 3%;
    }

    .waterfall-separator {
        background-position: -400px center;
    }
}

@media (width <= 1500px) {
    .dual-img-block {
        padding: 100px 0;
    }
}

@media (width <= 1400px) {
    .waterfall-desc.desc-2 {
        right: 0;
    }

    .waterfall-separator {
        background-position: -550px center;
    }
}

@media (width <= 1240px) {
    .dual-img-block {
        padding: 90px 0;
    }

    .waterfall-separator {
        background-position: -600px center;
    }

    .waterfall-desc.desc-2 {
        display: none;
    }

    .waterfall-desc.desc-3 {
        position: absolute;
        right: 10%;
        top: -15%;
    }

    .plain-background {
        display: block;
    }
}

@media (width <= 1023px) {
    .dual-img-block {
        padding: 80px 0;
    }
}

@media (width <= 820px) {
    .dual-img-block {
        padding: 60px 0 60px;
    }

    .dual-img-block .col.col-3 {
        margin-top: 0;
    }

    .dual-img-block.cont-3-cols.section {
        margin: 90px 0;
    }

    .dual-img-block.cont-3-cols.section .cols {
        padding: 0;
    }

    .waterfall-separator .waterfall-desc.desc-1 {
        position: absolute;
        bottom: 32%;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 300px;
    }

    .waterfall-desc.desc-3 {
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 300px;
        top: 0;
    }
}

@media (width <= 400px) {
    .waterfall-desc {
        padding: 30px;
    }

    .plain-background {
        height: 200px;
        align-items: center;
        justify-content: center;
    }
}

/* ---MARNISH'S CHAMAREL WATERFALL PAGE CODE ENDS HERE--- */

/* ---MARNISH'S COFFEE PLANTATION CODE STARTS HERE--- */
.main-coffee-plantation {
    overflow-x: hidden;
}

#coffee-plantation-intro {
    background: #fff;
    position: relative;
}

.coffee-plantation-prac-desc {
    margin-top: 25px;
}

#coffee-plantation-intro .coffee-img-container {
    width: 45%;
    position: absolute;
    height: auto;
    right: -10%;
    z-index: 10;
}

#coffee-plantation-intro .cols2 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 80px;
    max-width: 100%;
    align-items: center;
    position: relative;
    z-index: 1;
}

#coffee-plantation-intro .coffee-bg {
    max-height: unset;
}

.main-coffee-plantation .img-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgb(0 0 0 / 85%);
    align-items: center;
    justify-content: center;
}

.main-coffee-plantation .img-modal img {
    max-width: 90%;
    max-height: 80%;
}

.main-coffee-plantation .modal-close {
    position: absolute;
    top: 30px;
    right: 50px;
    font-size: 40px;
    color: white;
    cursor: pointer;
    border: 1px solid #fff;
    padding: 0 20px;
}

#odd-even-block {
    background: #761e2b;
    color: #fff;
    padding: 90px 0;
}

#odd-even-block section:nth-child(1) {
    margin-top: 0;
}

#odd-even-block section:nth-child(3) {
    margin-bottom: 0;
}

#odd-even-block h3 {
    color: #fff;
}

.tour-boxes-wrapper .cf_image-wrapper {
    position: relative;
    overflow: hidden;
    margin-bottom: 15px;
    cursor: pointer;
}

.tour-boxes-wrapper .cf_image-wrapper:hover img {
    transform: scale(1.05);
}

.tour-boxes-wrapper .cf_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 70%);
    color: white;
    font-size: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.cf_overlay span {
    border: 1px solid #fff;
    padding: 5px 15px;
    color: #fff;
    font-size: 1.4rem;
}

.tour-boxes-wrapper .cf_image-wrapper:hover .cf_overlay {
    opacity: 1;
}

.science.section.section-l.coffee-fields {
    background: #ffff;
    margin: 0;
    padding: 160px 0;
}

.did-you-know.dyk2 {
    background: #fff;
    height: auto;
}

.did-you-know.dyk2 .container.small {
    padding: 0 32px;
}

.did-you-know.dyk2 .card-container {
    padding: 20px 0;
    gap: 0;
    max-width: 80vw;
    width: 100%;
    margin: 0 auto;
}

.did-you-know.dyk2 .card-container .card {
    position: relative;
    background: url('../images/coffee-plantation/c7ce_dunes.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    height: 100%;
    background-position: center 100%;
    max-width: 450px;
    width: 100%;
}

.did-you-know.dyk2 .card-container .card .card-num {
    background: #fff;
    padding: 20px;
}

.did-you-know.dyk2 .card-container .card-title-container {
    padding: 30px 10px;
    background: #fff;
}

.did-you-know.dyk2 .card-container .card-title-container.card-1 {
    height: 250px;
    background: url('../images/coffee-plantation/from_brew_to_bean_0.jpg');
    background-size: cover;
}

.did-you-know.dyk2 .card-container .card-title-container.card-2 {
    height: 250px;
    background: url('../images/coffee-plantation/from_brew_to_bean.jpg');
    background-size: cover;
}

.did-you-know.dyk2 .card-container .card-title-container.card-3 {
    height: 250px;
    background: url('../images/coffee-plantation/from_brew_to_bean_00.jpg');
    background-size: cover;
}

.did-you-know.dyk2 .card-img-con {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    top: 0;
    z-index: 1;
    object-fit: cover;
}

.did-you-know.dyk2 .card-img-con-2 {
    position: absolute;
    z-index: 2;
    object-fit: cover;
    bottom: -1%;
    left: 0;
    width: 100%;
}

.section-video-coffee {
    height: 80vh;
    width: 100%;
}

/* .section-video-coffee .cpvideo {
	margin-top: 70px;
} */

.section-video-coffee .btn-chamarel-unique {
    /* margin: 20px auto; */
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    display: flex;
    gap: 20px;
    padding: 20px 0;
    align-items: center;
    flex-direction: column;
}

.section-video-coffee .btn-chamarel-unique .tit2 {
    text-align: center;
    color: #fff;
}

/* PRACTICAL INFO ACCORDION STARTS */
.visitor-guide.prac-coffee-plantation {
    display: grid;
    background: #f0eeed !important;
    height: auto;
    place-items: center;
    margin: 0;
    color: #382f2d;
    padding: 160px;
}

.visitor-guide.prac-coffee-plantation h3,
.visitor-guide.prac-coffee-plantation p,
.visitor-guide.prac-coffee-plantation a,
.visitor-guide.prac-coffee-plantation li {
    color: #382f2d;
}

ul.coffee-plantation-list {
    list-style-type: none !important;
    padding: 0;
}

.section-accordion {
    margin: -30px 0 100px;
}

.section-accordion article {
    text-align: left;
}

.section-accordion article:last-child {
    border-bottom: 0;
}

.section-accordion .accordion-header {
    position: relative;
    font-size: 1.6rem;
    font-family: proxima-nova, sans-serif !important;
    font-weight: 500;
}

.section-accordion article.active .accordion-header::after {
    transform: rotate(-180deg);
    opacity: 0.65;
}

.section-accordion .accordion-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease-in-out;
}

.section-accordion .accordion-content.active {
    max-height: 500px;
}

.section-accordion.closed.accordion-main-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 50px;
    margin: 0;
}

.section-accordion .accordion-header:hover,
.section-accordion .accordion-header:hover p {
    cursor: pointer;
}

.section-accordion .accordion-panel {
    max-width: 500px;
    width: 100%;
    margin-left: 40px;
}

.section-accordion .panel ul {
    margin: 0;
    padding: 0;
}

.section-accordion .panel ul li {
    list-style: none;
    margin-bottom: 7px;
}

.section-accordion .panel ul li:last-child {
    margin-bottom: 0;
}

.section-accordion .accordion-drop-container {
    display: flex;
    align-items: center;
    justify-content: left;
    cursor: pointer;
}

.section-accordion .accordion-drop-container h3 {
    margin: unset !important;
}

.section-accordion .accordion-drop-container .prac-arr {
    transition: transform 0.2s ease;
    width: 17px;
    margin-right: 20px;
}

/* PRACTICAL INFO ACCORDION ENDS */

/* FAQ ACCORDION STARTS */
.section-text-block-3img.section.section-l.faq_section {
    background: #e2d9c9;
    background-size: cover;
    position: relative;
    width: 100%;
}

.faq-coffee-bg {
    position: absolute;
    left: -10%;
    bottom: -10%;
    width: 35%;
    height: auto;
    opacity: 1;
    filter: grayscale(0.3);
}

.faq-content {
    width: 100%;
    max-width: 700px;
    position: relative;
    top: 100px;
}

#faq-main {
    background: #fff;
    overflow: hidden;
    margin-bottom: 0;
}

.faq-accordion-container {
    max-width: 900px;
    padding: 50px 10px;
    margin: 0 auto;
}

.faq-accordion-container h2 {
    text-align: center;
    padding-bottom: 50px;
}

.faq-accordion-header {
    position: relative;
    padding: 25px 50px;
    font-size: 18px;
    border-bottom: 1px solid;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
}

.faq-accordion-header:hover {
    background-color: #761e2b;
    color: #fff;
}

.faq-accordion-header.active {
    background-color: #761e2b;
    color: #fff;
}

.faq-accordion-header.active .close-btn-faq {
    border: 1px solid #fff;
    background-color: transparent;
}

.faq-accordion-header.active .close-btn-faq .faq-icon {
    transform: rotate(45deg);
}

.faq-accordion-header:hover .close-btn-faq {
    border: 1px solid #fff;
}

.faq-accordion-header:hover .close-btn-faq .faq-icon,
.faq-accordion-header.active .close-btn-faq .faq-icon {
    color: #fff;
}

.faq-accordion-content {
    background-color: #fafafa;
    overflow: hidden;
    padding: 0 10px;
    max-height: 0;
    transition: max-height 0.3s ease;
}

.faq-accordion-content ul {
    padding: 40px;
    line-height: 1.5;
    color: #382f2d;
    font-size: 18px;
    letter-spacing: 1px;
    list-style-type: none;
}

.faq-accordion-content p {
    margin: 15px 0;
    line-height: 1.5;
}

.close-btn-faq {
    border: 1px solid #382f2d;
    padding: 5px 10px;
}

.close-btn-faq .faq-icon {
    font-size: 26px;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
    font-weight: bolder;
    background-color: #0000;
    border: none;
    color: #382f2d;
}

/* FAQ ACCORDION ENDS HERE */

@media screen and (width <= 1500px) {
    .science.section.section-l.coffee-fields {
        padding: 130px 0;
    }
}

@media (width<=1120px) {
    .did-you-know.dyk2 .card-container .card .card-num {
        color: #382f2d;
    }
}

@media screen and (width <= 1240px) {
    .science.section.section-l.coffee-fields {
        padding: 100px 0;
    }

    .science.section.section-l.coffee-fields {
        padding: 70px 0;
    }
    .section-accordion .accordion-panel {
        max-width: 340px;
    }

    .faq-coffee-bg {
        display: none;
    }
}

@media screen and (width <= 820px) {
    .faq-accordion-header {
        padding: 15px;
        gap: 15px;
    }

    #coffee-plantation-intro {
        margin: 0 !important;
        padding: 60px 0 0;
    }

    #coffee-plantation-intro .cols2 {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 100px;
        gap: 0;
    }

    #coffee-plantation-intro .coffee-img-container {
        display: none;
    }

    .did-you-know.dyk2 .card-container .card {
        width: 100% !important;
    }

    .section-accordion .accordion-panel {
        margin-left: 0;
        max-width: 100%;
    }
}

@media screen and (width <= 500px) {
    #coffee-plantation-intro .coffee-img-container {
        display: none;
    }

    .did-you-know.dyk2 .card-container .card-title-container {
        height: 220px !important;
    }
}

/* ---MARNISH'S COFFEE PLANTATION CODE ENDS HERE--- */

/* ---MARNISH'S GEOPARK CODE STARTS HERE--- */
#geopark-dual-img-block {
    background: #f0eeed;
}

.opening-hrs-desc {
    margin-top: 15px;
    max-width: 380px !important;
}

.home-video-txt.section.home-prac {
    position: relative;
    margin: 0;
    padding: 92px 0;
}

.home-video-txt.section.video-geopark,
.home-video-txt.section.video-tortoise-park {
    position: relative;
    margin: 0;

    /* padding: 120px 0; */
    padding: 75px 0;
}

.home-video-txt.section.home-prac .video-illustration-separator {
    z-index: unset;
}

.video-illustration-separator {
    position: absolute;
    bottom: 0;
    z-index: -1.5;
    width: 100%;
}

#home-practical-info .video-illustration-separator,
#tortoise-practical-info .video-illustration-separator {
    z-index: unset !important;
}

.visitor-guide .container.small {
    padding: 0;
}

#visitor-guide .geopark-img,
#home-practical-info .geopark-img {
    background-image: url('../images/geopark/c7ce-dunes-top-view.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

#visitor-guide .cols2,
#home-practical-info .cols2 {
    place-items: center;
    gap: 90px;
}

#visitor-guide .tit4,
#home-practical-info .tit4 {
    margin-top: 40px;
}

.visitor-guide.prac {
    display: grid;
    height: auto;
    place-items: center;
    padding: 20px 32px 92px;
    margin: 0;
    color: #fff;
}

.visitor-guide.prac.prac-geopark {
    background: #781c4d;
}

.visitor-guide.prac.prac-waterfalls {
    background: #709293;
}

.visitor-guide.prac.prac-tortoise-park {
    background: #2e5619;
}

.visitor-guide.prac.prac-coffee-plantation-bg,
.visitor-guide.prac.prac-home,
.visitor-guide.prac.prac-contact {
    background: #761e2b;
}

.visitor-guide.prac h3,
.visitor-guide.prac p,
.visitor-guide.prac a {
    color: #fff;
}

.visitor-guide.prac .btn {
    margin-top: 15px;
}

.info-cards-container.info-cards-container-geopark {
    background: #781c4d;
}

.info-cards-container.info-cards-container-geopark .info-card-left > div {
    background: #681742;
}

@media (width<=1240px) {
    #visitor-guide .cols2,
    #home-practical-info .cols2 {
        gap: 15px;
    }
}

@media (width <= 820px) {
    #visitor-guide .cols2,
    #home-practical-info .cols2 {
        justify-items: start;
        gap: 50px;
    }

    .visitor-guide.prac-coffee-plantation,
    .visitor-guide.prac {
        padding: 80px 32px;
    }

    .visitor-guide.prac .container.small {
        padding: 0;
    }

    .home-video-txt.section.video-geopark,
    .home-video-txt.section.video-tortoise-park {
        padding: 0;
    }
}

/* ---MARNISH'S GEOPARK CODE ENDS HERE--- */

/* ---MARNISH'S & TATIANA FOOTER CODE STARTS HERE--- */
footer {
    width: 100%;
    height: 100%;
    background-color: #709293 !important;
}

footer p {
    margin: 0;
}

footer .links-header {
    font-size: 19px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    white-space: nowrap;
}

.footer-container {
    display: grid;
    grid-template-columns: 0.5fr 1fr 1fr 1fr auto 0.5fr;
    grid-template-rows: auto;
    gap: 10px;
    padding: 0;
    max-width: 1500px;
    width: 100%;
    margin: 0 auto;
}

.stay-connected {
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
}

.stay-connected .links-header {
    text-transform: unset;
    font-size: 20px;
    font-family: miller-banner, serif;
    font-style: italic;
}

.footer-social .social-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
}

.footer-social .social-icons li {
    list-style-type: none;
    margin: 0;
    padding: 0;
    color: #fff !important;
}

.footer-line {
    height: 1px;
    width: 20%;
}

.footer-container > div {
    padding: 20px 10px;
    color: #fff;
}

footer .list-contact > li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    margin: 5px 0;
}

.footer-container h4,
.footer-container a {
    color: #fff;
}

.footer-list,
.list-contact {
    list-style-type: none;
    padding: 0;
}

.footer-list li,
.list-contact .left-down a {
    margin: 5px 0;
    color: #ffffffd6;
    transition: color 0.2s ease-in-out;
    cursor: pointer;
}

.footer-list li:hover,
.list-contact .left-down a:hover {
    color: #fff;
}

.footer-list li,
.footer-list p {
    font-size: 1rem !important;
}

.left-down-no-line a {
    color: #ffffffd6;
}

.left-down-no-line a:hover {
    color: #fff;
    transition: all 0.2s ease-in-out;
}

.cursor-bg {
    cursor: pointer;
}

/* footer links animation */

.left-down {
    position: relative;
    box-sizing: border-box;
    user-select: none;
    transition: color 0.5s ease;
}

.left-down::after {
    content: '';
    position: absolute;
    top: 0;
    left: -6%;
    z-index: 1;
    width: 3px;
    height: 3px;
    background: #fff;
    opacity: 0;
    transition: all 0.5s ease;
}

.left-down:focus::after,
.left-down:hover::after {
    width: 3px;
    opacity: 1;
    height: 100%;
    transition: all 0.5s ease;
}

.left-down:focus::before,
.left-down:hover::before {
    outline: 0;
    background-color: #1b98e0;
    transition: all 0.5s ease;
}

/* end footer links animation */

.footer-logo {
    grid-area: 2 / 2;
    width: 230px;
    padding-right: 50px !important;
}

.footer-btn {
    grid-area: 3 / 3 / 1 / span 3;
    gap: 20px;
    display: flex;
    justify-content: flex-end;
}

.footer-experiences {
    grid-area: 3 / 3 / span 2;
}

.footer-useful-links {
    grid-area: 3 / 4 / span 2;
}

.footer-quick-links {
    grid-area: 3 / 5 / span 2;
}

.footer-contact {
    grid-area: 3 / 2 / span 2;
}

.footer-logo-container {
    grid-area: 5 / 2 / 5 / span 4;
}

.footer-social {
    grid-area: 6 / 2 / 5 / span 4;
    display: flex;
    justify-content: flex-start;
}

.footer-copywright {
    grid-area: 6 / 2 / 6 / span 4;
    border-top: 0.3px solid #ffffff81;
    padding-top: 20px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    text-align: center;
}

.footer-copywright p,
.footer-copywright li {
    font-size: 0.875rem !important;
}

.list-copywright {
    display: flex;
    gap: 15px;
    list-style-type: none;
    align-items: center;
}

.list-copywright li {
    align-self: center;
    margin: 0;
}

.footer-logo-container {
    grid-area: 5 / 2 / 6 / span 1;
}

.footer-social {
    grid-area: 5 / 3 / 6 / span 3;
}

.plus {
    display: none;
}

.social-icons i {
    font-size: 23px;
}

.fa-phone {
    font-size: 18px !important;
}

.fa-solid.fa-envelope {
    font-size: 22px !important;
}

.mailto-container {
    position: relative;
}

.clip-board.mailto-link {
    position: relative;
}

.mailto-message {
    background-color: #fff;
    color: #382f2d;
    padding: 5px 6px;
    border: 4px solid #fff;
    width: auto;
    white-space: nowrap;
    letter-spacing: 1px;
    font-weight: 800;
    font-size: 12px;
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 35px;
    font-family: proxima-nova, sans-serif !important;
}

.mailto-message::before {
    content: '';
    top: -70%;
    padding: 0;
    left: 50%;
    transform: translateX(-50%);
    border: 10px solid transparent;
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: transparent transparent #fff;
}

@media (width <=950px) {
    .footer-list {
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.3s ease;

        /* Ensure smooth transition */
    }

    .footer-contact-inner .footer-list {
        overflow: visible;
        max-height: fit-content;
    }

    .footer-list li {
        margin: 20px 0;
        font-size: 18px !important;
    }

    .footer-list.active {
        max-height: 500px;
    }

    footer .list-contact > li {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        margin: 10px 0;
        text-align: center;
    }

    .footer-contact-inner .links-header {
        text-align: center;
        padding-bottom: 15px;
    }

    .plus {
        display: block;
        transition: 0.2s ease-in-out;
        font-size: 30px;
    }

    .footer-contact,
    .footer-logo-container {
        border-top: 1px solid #ffffff81;
    }

    .footer-quick-links,
    .footer-contact,
    .footer-logo-container {
        border-bottom: 1px solid #ffffff81;
    }

    .footer-copywright {
        border: none;
    }

    .list-copywright {
        flex-direction: column;
        padding-left: 0;
        gap: 10px;
    }

    .list-copywright li {
        margin: 0;
        font-size: 16px !important;
    }

    .list-copywright span {
        display: none;
    }

    .footer-social .social-icons {
        gap: 50px;
        padding: 0;
    }

    .logo-rh {
        max-width: 200px;
        width: 100%;
    }

    .footer-container {
        padding: 30px;
        width: auto;
        max-width: 500px;
        gap: 0;
    }

    .footer-logo {
        margin: 0 auto;
        order: 1;
        padding-right: 0 !important;
        padding-bottom: 0 !important;
    }

    .footer-btn {
        order: 2;
        gap: 0;
        padding-top: 0 !important;
        max-width: 300px;
        margin-top: 30px;
    }

    .footer-btn .btn.btn-no-fill-white,
    .btn.btn-fill-white {
        margin-top: 10px !important;
    }

    .footer-btn .btn {
        padding: 20px !important;
        margin: 0;
    }

    .footer-contact {
        order: 3;
    }

    .footer-experiences {
        order: 4;
    }

    .footer-useful-links {
        order: 4;
    }

    .footer-quick-links {
        order: 5;
    }

    .footer-social {
        order: 6;
    }

    .footer-logo-container {
        order: 7;
        margin: auto 0;
    }

    .footer-copywright {
        order: 8;
    }

    .footer-logo-container {
        align-items: center;
        justify-content: center;
    }

    .footer-container .footer-copywright {
        flex-direction: column-reverse;
    }

    .footer-container > div,
    .stay-connected {
        grid-area: auto;
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 20px 0;
    }

    .footer-container .footer-experiences {
        padding-top: 25px !important;
    }

    .footer-container .footer-experiences,
    .footer-container .footer-useful-links,
    .footer-container .footer-quick-links {
        padding: 0;
    }

    .footer-experiences .links-header,
    .footer-useful-links .links-header,
    .footer-quick-links .links-header {
        font-size: 20px !important;
    }

    .stay-connected p,
    .stay-connected img {
        display: none;
    }

    .footer-container {
        grid-template-columns: unset;
        place-items: center;
    }

    .footer-list-upper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
}

/* TATIANA CODE */

/* DOWNLOAD APP - HOMEPAGE */
.c7ce-app {
    width: 100%;
    max-width: 100vw;
    height: auto;
    margin: 0 auto;
}

.mobile-app-intro {
    margin: 120px auto 50px;
}

.download-app {
    width: 100vw;
    height: 100vh;
    background: url('/images/c7ce-app/home-pocket-guide-separator.png') no-repeat center center;
    background-size: cover;
    position: relative;
}

.app-text-hp {
    width: 400px;
    position: absolute;
    right: 25%;
    top: 30%;
}

.app-text-hp p {
    color: #fff !important;
}

.app-text-hp p.indent {
    padding-top: 20px !important;
}

.app-text-hp p.indent button {
    margin-top: 30px !important;
}

.app-text-hp h2 {
    color: #fff !important;
    text-wrap: nowrap;
    padding-bottom: 15px;
}

/* .app-text-hp .btn.btn-no-fill-reverse{
    margin-top: 0 !important;
} */

.mobile-illustration {
    position: absolute;
    top: -15%;
    left: 5%;
    width: 100%;
    height: auto;
    max-width: 600px;
}

@media (width <= 980px) {
    .c7ce-app {
        display: none;
    }

    .app-text-hp {
        right: 5%;
    }

    .mobile-illustration {
        left: 0;
        max-width: 70vh;
    }
}

@media (width >= 939px) and (width <= 1119px) {
    .app-text-hp {
        right: 5%;
    }

    .mobile-illustration {
        left: 0;
    }
}

@media (width >= 1120px) {
    .app-text-hp {
        right: 7%;
    }

    .mobile-illustration {
        left: 5%;
    }
}

@media (width >= 1220px) {
    .app-text-hp {
        right: 15%;
    }
}

@media (width >= 1265px) {
    .app-text-hp {
        right: 20%;
    }
}

@media (width >= 1440px) {
    .app-text-hp {
        right: 25%;
    }
}

@media (width >= 2040px) {
    .app-text-hp {
        right: 30%;
    }

    .mobile-illustration {
        left: 15%;
        top: 10%;
    }
}

/* MARNISH CONTACT US PAGE STARTS HERE */
.map-holder {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 1500px;
    margin: 0px auto;
}
.map-holder iframe {
    width: 100%;
    margin: 0px auto;
    height: 600px;
}

.contact-details-main {
    display: flex;
    flex-direction: column;
    margin-top: 50px;
}

.contact-intro-header {
    margin-bottom: 25px;
}
.contact-intro.section .indent.indent-l {
    padding-left: 0 !important;
}

.contact-intro.section p {
    margin: 0;
}

.contact-intro.section .indent.indent-l {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 0;
}

.col-form {
    place-items: center;
    display: grid;
    max-width: 750px;
    margin: 0px auto;
    width: 100%;
    padding: 70px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 20px;
    background-color: rgb(255, 255, 255);
    box-sizing: border-box;
}

.col-form form {
    width: 100%;
}

.f-row.f-row-two {
    display: flex;
    gap: 50px;
}

form textarea {
    height: 70px;
}

#country {
    width: 100%;
    padding: 15px;
    border: 1px solid rgb(204, 204, 204);
}

#country:focus {
    outline: none;
    box-shadow: none;
}

.contact-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.contact-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-checkbox label {
    margin: 0;
}

.contact-checkbox input {
    border-radius: 50%;
    background: none;
    border: 1px solid #382f2d;
}

.f-row.f-row-checkbox {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.f-row.f-row-checkbox input[type='radio'] {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    background-color: #fff;
    cursor: pointer;
    border-radius: 50%;
}

.f-row.f-row-checkbox input[type='radio']:checked {
    background-color: #382f2d;
    border-color: #382f2d;
    padding: 5px;
    position: relative;
}

.f-row.f-row-checkbox input[type='radio']:checked::after {
    content: '✔';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 12px;
}

/* Contact Us */
/* Contact us part 1 */

form .f-row {
    margin-bottom: 25px;
}

form input[type='text'],
form input[type='email'],
form input[type='phone'],
form textarea {
    /* border: none; */
    box-shadow: none;
    border: 1px solid rgb(204, 204, 204) !important;
    outline: 0;
    border-radius: 0 !important;
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    padding: 15px;
    font-family: 'proxima-nova', serif;
    font-size: 1rem;
    font-weight: 400;
    color: #382f2d;
}

form input[type='text']::-webkit-input-placeholder,
form input[type='email']::-webkit-input-placeholder,
form input[type='phone']::-webkit-input-placeholder,
form textarea::-webkit-input-placeholder {
    color: #5e5554;
}

form input[type='text']::-moz-placeholder,
form input[type='email']::-moz-placeholder,
form input[type='phone']::-moz-placeholder,
form textarea::-moz-placeholder {
    color: #5e5554;
}

form input[type='text']:-ms-input-placeholder,
form input[type='email']:-ms-input-placeholder,
form input[type='phone']:-ms-input-placeholder,
form textarea:-ms-input-placeholder {
    color: #5e5554;
}

form input[type='text']::-ms-input-placeholder,
form input[type='email']::-ms-input-placeholder,
form input[type='phone']::-ms-input-placeholder,
form textarea::-ms-input-placeholder {
    color: #5e5554;
}

form input[type='text']::placeholder,
form input[type='email']::placeholder,
form input[type='phone']::placeholder,
form textarea::placeholder {
    color: #5e5554;
}

form label {
    font-family: 'miller-banner', serif;
    font-size: 1rem;
    font-weight: 400;
    color: #382f2d;
    display: block;
    margin-bottom: 6px;
}

.input-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

form input[type='submit'] {
    -webkit-appearance: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    font-family: 'proxima-nova', sans-serif;
    text-transform: uppercase;
    transition: all 0.25s ease-in-out;
}

form input[type='submit']:hover {
    text-decoration: none;
    cursor: pointer;
}

form p.help {
    margin-top: 10px;
    font-size: 1rem;
    color: #382f2d;
    font-weight: 300;
}

@media (max-width: 820px) {
    form .f-row {
        margin-bottom: 20px;
    }

    .f-row.f-row-two {
        flex-direction: column;
    }

    form textarea {
        height: 100px;
    }

    form label {
        font-size: 20px;
        margin-bottom: 3px;
    }
}

select::-ms-expand {
    display: none;
}

input[type='radio'],
input[type='checkbox'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    margin: 0;
    color: #382f2d;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    border: none;
    display: grid;
    place-content: center;
    margin-top: 1px;
    outline: 0;
}

input[type='radio']:before,
input[type='checkbox']:before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 100%;
    transition: 60ms transform ease-in;
    background: url(../images/assets/check.svg);
    background-size: cover;
    transform: scale(0);
}

input[type='radio']:checked::before,
input[type='checkbox']:checked::before {
    transform: scale(1);
}

input[type='radio']:hover,
input[type='checkbox']:hover {
    cursor: pointer;
}

input[type='checkbox'] {
    border-radius: 0;
}

input[type='checkbox']:before {
    border-radius: 0;
}

.radio-wrapper {
    display: grid;
    grid-template-columns: 18px 1fr;
    grid-gap: 9px;
    align-items: center;
}

/* Contact us Part 2*/

.contacto-content {
    width: 100%;
}
.contacto-content {
    width: 100%;
}

.contact-intro {
    margin: 0;
    position: relative;
}

.contact-intro .cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 80px;
    padding: 20px 80px 80px 80px;
    position: relative;
    padding-bottom: 100px;
}

.contact-intro .cols .col-txt {
    display: grid;
    align-items: center;
    justify-items: center;
    max-width: 750px;
    margin: 0 auto;
}

.contact-intro .cols .txt-wrapper article {
    margin-bottom: 45px;
}

.contact-intro .cols .txt-wrapper article:last-child {
    margin-bottom: 0;
}

.contact-intro .cols .txt-wrapper p {
    font-family: 'miller-banner', serif;
    font-size: 1.3rem;
    line-height: 1.35;
}

.contact-intro .cols .txt-wrapper .p1 {
    color: #382f2d;
    margin-bottom: 0;
    font-size: 1.5rem;
}

.contact-intro .cols .txt-wrapper .p2 {
    color: #5e5554;
    font-family: 'proxima-nova', serif;
    font-size: 1.2rem;
}

.contact-intro .cols .txt-wrapper .p2 a {
    color: #5e5554;
}

.contact-intro .cols .txt-wrapper .p2 a:hover {
    color: #5e5554;
}

.contact-intro .cols .col-map {
    position: relative;
    top: 100px;
    left: -100px;
    height: calc(100% - 200px);
}

.contact-intro .cols .col-map iframe {
    height: 100%;
}

.contact-info-txt {
    font-size: 0.875rem;
    font-family: 'proxima-nova', sans-serif;
}

.btn.btn-normal.submit {
    width: 100%;
    margin-top: 40px;
}

.visitor-guide.prac.prac-contact {
    padding: 80px;
    height: auto;
}

.input-container label {
    font-family: 'miller-banner, serif';
    font-weight: 600;
}

@media (max-width: 1240px) {
    .contact-intro .cols {
        display: block;
        padding-bottom: 200px;
    }
    .contact-intro .cols .col-txt {
        padding: 30px;
    }

    .contact-intro .cols .txt-wrapper p {
        font-size: 25px;
    }

    .contact-intro .cols .col-map {
        top: 75px;
        height: calc(100% - 150px);
    }
}

@media (max-width: 1023px) {
    .contact-intro {
        margin-top: 0;
    }

    .contact-intro .container {
        padding: 0 !important;
    }

    .contact-intro .cols .col-txt {
        padding: 70px 0;
        max-width: 700px;
        margin: 0 auto;
    }

    .contact-intro .cols .txt-wrapper .indent {
        padding: 0;
    }

    .contact-intro .cols .txt-wrapper article {
        margin-bottom: 32px;
    }

    .contact-intro .cols .txt-wrapper p {
        font-size: 22px;
    }

    .contact-intro .cols .col-map {
        position: static;
        height: 390px;
    }
}

@media (max-width: 820px) {
    .contact-intro .cols .col-map {
        height: 265px;
    }

    .contact-intro .cols {
        padding: 0 32px 60px 32px;
    }

    .col-form {
        padding: 30px;
    }

    .f-row.f-row-two {
        gap: 20px;
        margin-bottom: 20px;
    }

    .visitor-guide.prac.prac-contact {
        padding: 32px;
    }

    .contact-intro .cols .col-txt {
        padding: 50px 0px 80px 0px;
    }

    .map-holder iframe {
        height: 400px;
    }
}

@media (max-width: 820px) {
    .contacto-content .indent {
        padding-left: 0;
        padding-bottom: 0;
    }

    .contacto-content .cols2 {
        gap: 30px;
    }
}

/* Banner Swiper */
.swiper.banner-swiper {
    width: 100%;
    height: 100vh;
    z-index: 2;
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* HOMEPAGE'S OUR EXPERIENCES */
.section-home-experiences {
    padding-top: 0;
    padding-bottom: 0;
}

.section-home-experiences .col-img .img-links-slider {
    transition: transform 0.5s ease-in-out;
    overflow: hidden;
    cursor: pointer;
}

.section-home-experiences .col.col-txt {
    align-self: center;
}

.section-home-experiences .col-img {
    margin-top: 0;
}

.section-home-experiences .col-img .img-links-slider:hover img {
    transform: scale(1.1);
    transition: transform 0.5s ease-in-out;
}

.container-parallax-image {
    max-height: 650px;
    height: 100%;
    overflow: hidden;
}

.container-parallax-image.of {
    max-height: 950px;
}

.container-parallax-image img {
    margin-top: 0 !important;
    width: 100%;
}

/* News card container */

.section-blog.section.section-xl .cols2 {
    max-width: 1700px;
    margin: 0 auto;

    /* padding: 92px 0; */
}

.news-card {
    background: #fff;
    width: 100%;
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    cursor: pointer;
    height: 650px;
}

#page-home .news-card {
    background: #761e2b;
}

.news-card .img-container {
    overflow: hidden;
    position: relative;
}

/* .news-card .img-container img:nth-child(2){
    aspect-ratio: 855/694 !important;
} */

.news-card.card-1 img {
    object-position: center center;
}

.news-card.card-2 img,
.news-card.card-2 img {
    object-position: center 10%;
}

.news-card img:nth-child(1) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    /* clip-path: polygon(100% 0%, 0% 0%, 0% 83.27%, 5% 86.01%, 10% 88.67%, 15% 91.03%, 20% 92.91%, 25% 94.16%, 30% 94.68%, 35% 94.43%, 40% 93.42%, 45% 91.74%, 50% 89.53%, 55% 86.95%, 60% 84.21%, 65% 81.53%, 70% 79.12%, 75% 77.18%, 80% 75.86%, 85% 75.25%, 90% 75.42%, 95% 76.34%, 100% 77.95%); */
    transition: all 0.3s ease-out;
}

.news-card:hover img:nth-child(1) {
    transform: scale(1.1);
    /* clip-path: polygon(100% 0%, 0% 0%, 0% 83.27%, 5% 80.66%, 10% 78.39%, 15% 76.65%, 20% 75.56%, 25% 75.22%, 30% 75.66%, 35% 76.83%, 40% 78.65%, 45% 80.97%, 50% 83.6%, 55% 86.34%, 60% 88.98%, 65% 91.29%, 70% 93.1%, 75% 94.26%, 80% 94.69%, 85% 94.34%, 90% 93.25%, 95% 91.49%, 100% 89.22%); */
    filter: grayscale(0);
}

/* .swiper-slide.flipped .card-slider-dunes {
    transform: scaleX(-1);
} */

.card-slider-dunes {
    position: absolute;
    bottom: -0.9px;
    width: 100%;
    height: unset !important;
    aspect-ratio: unset !important;
}

.news-card .news-text-container {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 15px 45px 30px;
    gap: 20px;
}

.news-card h4 {
    font-size: 1.5rem;
    text-align: left;
    color: #fff;
    min-height: 60px;
}

.news-card .read-more {
    font-size: 0.9rem;
    text-align: left;
    font-family: proxima-nova, serif;
    margin-bottom: 0;
    color: #382f2d;
    background: #fff;
    padding: 18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.cards-drop {
    transform: rotate(0deg);
    transition: all 0.3s ease-in-out;
}

.cards-drop,
.cards-drop path {
    fill: #382f2d;
    stroke: #382f2d;
}

.read-more:hover .cards-drop {
    transform: translateX(8px);
    transition: all 0.3s ease-in-out;
}

@media (width <=1800px) {
    .container-parallax-image.two-img {
        max-height: 450px;
    }
}

@media (width <= 1023px) {
    .cont-3-cols .cols,
    .generic-row-3 .cols,
    .generic-row-6 .cols {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 0 32px;
    }
}

@media (width <=1023px) {
    .container-parallax-image.two-img {
        max-height: 650px;
    }

    .dual-img-block .col.col-3 {
        aspect-ratio: unset;
        margin-top: 0;
    }
}

@media (width <=1023px) {
    .section-blog-slider.home .news-card h4 {
        min-height: 120px;
    }
}

/* Home page video banner */

.banner-video-play {
    margin: 0 auto;
}

/* Home section 1 */
#page-intro {
    width: 100%;
    margin: 0;
}

#page-intro .container {
    margin: 0;
    padding: 0;
}

#page-intro .cols2 {
    display: unset;
}

#page-intro p {
    width: 100%;
    color: #fff;
}

.video-lighbox-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    color: #fff;
}

#page-intro .play-button {
    position: unset;
    transform: unset;
}

/* Home page practical information
.video-illustration-separator */

/* Media Query for padding */
@media (width <= 1800px) {
    .page-generic.abt-tortoise-container .generic-row-7.section,
    #his-sustainability,
    .home-video-txt.section.home-prac,
    .section-blog.section.section-xl .cols2 {
        padding: 90px 0 120px;
    }

    .visitor-guide.prac.prac-home {
        padding-bottom: 90px;
    }
}

@media (width <= 1500px) {
    .page-generic.abt-tortoise-container .generic-row-7.section,
    #his-sustainability,
    .home-video-txt.section.home-prac,
    .section-blog.section.section-xl .cols2 {
        padding: 80px 0 110px;
    }

    .visitor-guide.prac.prac-home {
        padding-bottom: 80px;
    }
}

@media (width <= 1240px) {
    .page-generic.abt-tortoise-container .generic-row-7.section,
    #his-sustainability,
    .home-video-txt.section.home-prac,
    .section-blog.section.section-xl .cols2 {
        padding: 70px 0 100px;
    }

    .visitor-guide.prac.prac-home {
        padding-bottom: 70px;
    }
}

@media (width <= 1023px) {
    .page-generic.abt-tortoise-container .generic-row-7.section,
    #his-sustainability,
    .home-video-txt.section.home-prac,
    .section-blog.section.section-xl .cols2 {
        padding: 60px 0 90px;
    }

    .page-generic.abt-tortoise-container .generic-row-7 .col-img {
        margin: 0;
    }

    .visitor-guide.prac.prac-home {
        padding-bottom: 60px;
    }
}

@media (width <= 800px) {
    .page-generic.abt-tortoise-container .generic-row-7.section,
    #his-sustainability {
        padding: 60px 0;
    }
}

.listing-desc.wht {
    color: #fff;
}

.listing-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #382f2d;
}

.listing-truncate .listing-desc {
    -webkit-line-clamp: 5;
}

/* Breadcrumbs */
.breadcrumb-container {
    position: absolute;
    left: 2%;
    width: 100%;
    bottom: 2%;
    z-index: 1 !important;
}

.breadcrumb {
    display: flex;
    align-items: center;
    list-style-type: none;
    gap: 10px;
    color: #fff;
    padding: 0;
}

.breadcrumb li {
    padding: 0;
    margin: 0;
    color: #fff;
}

.breadcrumb li a {
    color: #fff !important;
    opacity: 1;
    font-family: proxima-nova;
    font-size: 1.1rem;
    font-weight: 600;
}

.bread-c-home {
    width: 22px !important;
    height: 22px !important;
    position: static !important;
}

.breadcrumb img:not(.bread-c-home) {
    position: static;
    width: 7px;
}

@media (width <=500px) {
    .breadcrumb {
        width: 100%;
        align-items: center;
        left: 0;
    }

    .breadcrumb li a {
        font-size: 0.9rem;
    }
}

/* Back to top */
.paginacontainer {
    position: relative;
}

.back-to-top {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
}

.progress-wrap {
    position: fixed;
    right: 30px;
    bottom: 30px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 0; /* Changed to square */
    box-shadow: inset 0 0 0 2px rgb(0 0 0 / 10%);
    z-index: 90;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 200ms linear;
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap svg path {
    fill: #fff;
}

.progress-wrap svg.progress-circle path {
    /* stroke: #382F2D; */
    stroke-width: 5;
    box-sizing: border-box;
    transition: all 200ms linear;
}

/* Offers Slider */
.offers-slider > * {
    box-sizing: border-box;
}

.offers-slider .tit-center {
    margin-bottom: 40px;
}

.offers-slider {
    height: auto;
    width: 100%;
    background: #f0eeed;
    display: grid;
    padding: 50px 0;
    place-items: center;
}

.offers-slider-main-container {
    display: grid;
    grid-template-columns: 0.9fr 1.7fr;
    gap: 45px;
    grid-template-rows: 1fr;
    place-items: center;
    height: 730px;
    padding: 70px;
}

.offers-txt .feat {
    margin: 25px 0;
}

.offers-txt h3 {
    font-size: 2.3rem !important;
}

.offers-slider-main-container .indent.indent-l,
.offers-slider-main-container h2 {
    text-align: left;
    margin-bottom: 0 !important;
}

.offers-slider .swiper {
    width: 100%;
    height: 100%;
    background: none;
    padding: 70px 0;
}

.offers-slider .swiper-slide {
    font-size: 18px;
    background-color: #fff;
}

.offers-slider .swiper-slide .offers-container {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.offers-slider .swiper-slide .offers-container > div {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1 1 50%;

    /* Each child takes up 50% of the container width */
    box-sizing: border-box;

    /* So padding doesn't break layout */
}

.offers-txt {
    padding: 50px;
    background: #fff;
}

.offers-slider .offers-img {
    object-fit: cover;
}

.offers-slider .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.offers-slider .swiper.swiper-offers .swiper-btns {
    position: absolute;
    top: 0;
    right: 0;
}

.offer-inner {
    padding: 0 0 200px !important;
}

.offers-cta {
    display: flex;
    justify-content: center;
    align-items: center;
}

.offers-cta .btn.btn-no-fill-black {
    margin-top: 0 !important;
}

@media (width <= 1800px) {
    .offers-slider-main-container {
        height: 650px;
    }
}

@media (width <= 1240px) {
    .offers-slider-main-container {
        grid-template-columns: 1fr;
    }

    .offers-slider-main-container {
        height: 100%;
    }
}

@media (width <=1025px) {
    .offers-slider .swiper-slide .offers-container {
        flex-direction: column-reverse;
        height: 100%;
    }
    .swiper-offers .swiper-wrapper {
        height: unset !important;
    }
    .offer-inner {
        padding: 0 0 80px !important;
    }
}

@media (width <=840px) {
    .offers-slider .swiper-slide {
        height: auto;
    }

    .offers-slider .swiper {
        padding: 40px 0 80px;
        height: auto;
    }

    .offers-slider-main-container {
        padding: 0 32px;
        gap: 30px;
    }

    .offers-txt .indent.indent-l {
        padding-left: 0;
    }

    .offers-slider .swiper.swiper-offers .swiper-btns {
        top: unset;
        bottom: 0;
    }
}

@media (width <= 767px) {
    .offers-slider .swiper-slide .offers-container > div {
        flex: 1 1;
        height: 500px;
    }

    .offers-txt {
        padding: 25px;
    }

    .offers-txt h3 {
        height: 6rem;
    }
}

@media (width <= 500px) {
    .offers-txt h3 {
        font-size: 1.5rem !important;
        height: 3rem;
    }
}
/* Newsletter */
.modal-bg {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    visibility: hidden;
    opacity: 0;
    background: rgb(0 0 0 / 50%);
    backdrop-filter: blur(10px);
    transition: visibility 0s, opacity 0.5s;
    transform: scale(1);
    z-index: 100;
    font-size: 13px;
}

.modal-bg.bg-active {
    visibility: visible;
    opacity: 1;
    transition: 0.5s;
}

.modal-bg .modal {
    opacity: 0;
    transform: translateY(80px);
    transition: 0.5s;
    height: 100%;
    display: grid;
    align-content: center;
}

.modal-bg .modal.modal-active {
    transform: translateY(0);
    opacity: 1;
    z-index: 1000;
    transition: 0.5s 0.3s;
}

/* Modal form container */
.newsletter-form {
    overflow: hidden auto;
}

.modal-bg .join_newsletter {
    font-size: 1.3rem;
    font-family: proxima-nova;
    font-weight: 500;
    color: #000;
    text-transform: uppercase;
    margin-bottom: 5px;
    padding: 15px 0;
    letter-spacing: 0.3rem;
}

.modal-bg .form-main-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1400px;
    margin: 0 auto;
    grid-template-rows: 700px;
    padding: 32px;
}

.modal-bg .item {
    display: flex;
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    padding: 100px;
    border: none;
}

.modal-bg .item:nth-child(1) {
    position: relative;
    text-align: center;
    background: url('../images/newsletter/family-watching-dunes-from-view.jpg');
    color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
    border: none;
    outline: none;
    overflow: hidden;
    background-color: rgb(0 0 0 / 60%);
    background-blend-mode: multiply;
}

.modal-bg .item.item1 img,
h2,
.modal-bg .short-desc {
    z-index: 2;
}

.modal-bg .overlay {
    position: absolute;
    background-color: rgb(0 0 0 / 40%);
    inset: 0;
    z-index: 1;
}

.modal-bg .short-desc {
    text-align: center;
    padding: 10px 40px;
    font-size: 13px;
    position: relative;
    letter-spacing: 0.75px;
}

.modal-bg .short-desc::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30%;
    height: 1px;
    width: 25%;
    background-color: #fff;
}

.modal-bg .desc-right {
    margin: 10px 0;
}

.modal-bg .conc-right {
    font-size: 11px;
    margin-top: 20px;
}

.modal-bg .label.contact.required {
    font-size: 9px;
    font-weight: bolder;
}

/* Inputs and selects styled consistently */
.modal-bg input,
.modal-bg select {
    padding: 15px !important;
    border: 1px solid #ccc !important;
    width: 100%;
    appearance: none;
    background: #fff;
    box-sizing: border-box;
    cursor: pointer;
    font-size: 1rem !important;
}

/* Add a custom arrow for select */
.modal-bg select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='none' stroke='%23666' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 8px;
}

.modal-bg .main-captcha {
    border: 1px solid #ccc;
}

.modal-bg .label {
    padding: 15px 0;
    font-size: 16px;
    color: #5e5554 !important;
}

.modal-bg .contact {
    color: #5e5554;
    font-weight: 600;
}

.modal-bg input::placeholder {
    color: #5e5554;
    opacity: 0.8;
}

.modal-bg .detail {
    display: grid;
    grid-template-columns: 2fr 2fr;
    gap: 30px;
    justify-content: space-between;
}

.modal-bg .btn-subscribe {
    width: 100%;
    margin-top: 25px;
}

.modal-bg #field-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.modal-bg .item2 {
    position: relative;
}

.modal-bg .detail-container {
    display: flex;
    flex-direction: column;
}

.modal-bg .close-icon {
    position: absolute;
    top: 2% !important;
    right: 2%;
    padding: 15px;
    border: 1px solid #382f2d;
    cursor: pointer;
    box-sizing: border-box;
    background: #fff;
    transition: background 0.3s ease-out, border 0.3s ease-out;
}

.modal-bg .close-icon:hover {
    background: #781c4d !important;
    border: 1px solid #781c4d;
    transition: background 0.3s ease-out, border 0.3s ease-out;
}

.modal-bg .close-icon:hover .close-icon-container path {
    fill: #fff;
}

.close-icon-container {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    width: 25px;
    height: 100%;
}

.modal-bg .logo-img {
    padding-bottom: 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.modal-bg .icon-img-container {
    position: relative;
    z-index: 2;
    padding: 20px;
}

.modal-bg .icon-img-container::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 0;
    right: 0;
}

.modal-bg .icon-img2 {
    display: none;
}

.modal-bg #captchaDiv {
    width: 170px;
}

.modal-bg #captchaOld {
    margin-top: 30px;
}

.modal-bg #relCaptcha {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
}

.modal-bg #captchaParent {
    position: relative;
    width: 100%;
}

.modal-bg .main-captcha {
    border: none;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.modal-bg .recaptcha {
    display: flex;
    justify-content: space-between;
}

/* Responsive adjustments */

@media screen and (width <=1240px) {
    .modal-bg .item {
        padding: 32px;
    }
}
@media screen and (width <= 900px) {
    .modal-bg .form-main-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        max-width: 100%;
        width: 100%;
        padding: 0;
    }

    .modal-bg #captchaOld {
        display: flex;
        flex-direction: column-reverse;
        align-items: revert;
        gap: 15px;
    }

    .modal-bg .field-main-container {
        margin-top: 0;
    }

    .modal-bg .join_newsletter {
        margin-top: 0;
        text-align: center;
    }

    .modal-bg .icon-img2 {
        display: block;
        padding: 0;
    }

    .modal-bg .close-icon {
        color: #000;
        z-index: 500;
    }

    .modal-bg .item.item1 {
        background: #fff;
        background-image: none;
        padding: 0;
        border: none;
    }

    .modal-bg .overlay {
        display: none;
        opacity: 0;
    }

    .modal-bg .logo-img {
        display: none;
        opacity: 0;
        padding: 0;
    }

    .modal-bg form {
        position: relative;
    }

    .modal-bg .item2 {
        position: relative;
        display: block;
    }

    .modal-bg .detail,
    .detail-container {
        display: revert;
    }

    .modal-bg .close-icon path {
        fill: #000;
    }

    .modal-bg #captchaDiv {
        padding-top: 0;
        width: 160px;
        margin: 0 auto;
    }

    .modal-bg .recaptcha {
        margin: 0;
        flex-direction: column-reverse;
        align-items: revert;
        gap: 5px;
    }
}

.section-blog.section.section-xl.section-yml {
    background-color: #f0eeed !important;
}

.section-blog.section.section-xl.section-yml .news-card {
    background-color: #761e2b !important;
}

/* Modal background */
.bg-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 90%);
    justify-content: center;
    align-items: center;
}

/* Modal box */
.modal-content {
    background: #f0eeed;
    padding: 50px;
    border-radius: 0;
    width: 380px;
    text-align: center;
    position: relative;
}

/* Close button */
.modal-close {
    position: absolute;
    top: 30px;
    right: 50px;
    font-size: 40px;
    color: white !important;
    cursor: pointer;
    border: 1px solid #fff;
    padding: 0 20px;
}

.modal-buttons {
    margin-top: 20px;
    display: flex;
    justify-content: space-evenly;
}

@media screen and (width<=1024px) {
    .wistia-player {
        max-height: 100vh !important;
    }
}

#coffee-exp svg {
    position: static;
    fill: #822946;
    stroke: #822946;
}

#coffee-exp svg path.arrow-right,
#coffee-exp svg path.arrow-left {
    position: static;
}

#coffee-exp .swiper-btns {
    width: 100%;
    justify-content: space-between;
    padding: 0 10px;
}

#coffee-exp .swiper-pagination-container {
    left: unset !important;
    right: unset !important;
    bottom: unset !important;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

@media screen and (width<=820px) {
    .cpb .cols2 {
        grid-template-columns: 1fr;
    }

    .cpb .cols2 > div:nth-child(1) {
        order: 2 !important;
    }
    .cpb .cols2 > div:nth-child(2) {
        order: 1 !important;
    }
    .cpb .cols2 img {
        height: 240px;
    }

    .cpb .container.small {
        padding: 0;
    }
    .cpb .col-txt {
        padding: 0 32px;
    }
}
