@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap&subset=latin-ext');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap&subset=latin-ext');
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&display=swap&subset=latin-ext');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');


h2, h3 {
    font-family: 'Playfair Display', serif;
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

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

b, strong {
    font-weight: bolder
}

code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

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 {
    -webkit-appearance: button
}

[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: .35em .75em .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] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

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

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

.font {
    font-family: indivisible, Arial, sans-serif
}

.font2 {
    font-family: mixta-pro, Arial, sans-serif
}

body {
    font-family: indivisible, Arial, sans-serif !important;
    color: #000;
    line-height: 1.3;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 400;
    background: #fff;
    overflow-x: hidden
}

html {
    font-size: 16px
}

@media (max-width: 1800px) {
    html {
        font-size: 15px
    }
}

@media (max-width: 1500px) {
    html {
        font-size: 14.55px
    }
}

@media (max-width: 767px) {
    .mobile_just {
        display: block !important;
    }
}

#content {
    background: #fff
}

body, html {
    max-width: 100% !important;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    font-family: mixta-pro, Arial, sans-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: #000;
    border-radius: 50%;
    pointer-events: none;
    transition: ease-out .17s, opacity 1.4s ease-in;
    z-index: 100000
}

#cursor.hover {
    width: 70px;
    height: 70px
}

#cursor.arrows {
    mix-blend-mode: normal;
    opacity: .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 (max-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;
    -o-object-fit: cover;
    object-fit: cover
}

a {
    text-decoration: none;
    outline: 0;
    transition: all .3s ease-in-out;
    cursor: pointer;
    display: inline-block;
    color: #d7a360
}

a:hover {
    color: #d7a360;
    text-decoration: none;
    cursor: pointer
}

li, p {
    font-size: 1rem;
    line-height: 1.5rem;
    margin: 0 0 20px 0;
    font-size: 1.1rem;
    font-weight: 300
}

@media (max-width: 820px) {
    li, p {
        font-size: 16px;
        margin: 0 0 17px 0
    }
}

p.pretit {
    font-size: 1.25rem;
    margin-bottom: .5rem;
    line-height: 1.5625rem;
    letter-spacing: .3125rem;
    font-weight: 400;
    text-transform: uppercase
}

.feat p, p.feat {
    /*font-family: mixta-pro, Arial, sans-serif;*/
    font-family: auto;
    font-style: italic;
    font-size: 1.75rem;
    line-height: 1.7rem;
    margin-bottom: 25px;
    font-weight: 350;
    color: #333;
}

.feat p a, p.feat a {
    border-bottom: 1px solid #d7a360;
    line-height: 1
}

.feat p a:hover, p.feat a:hover {
    color: #D7CDC3;
    border-color: #D7CDC3
}

.feat p.mb, p.feat.mb {
    margin-bottom: 55px
}

.tit1, h1 {
    font-family: emoji !important;
    font-style: italic;
    font-size: 5.625rem;
    font-weight: 400;
    line-height: 5.9375rem;
    letter-spacing: -.05625rem
}

.tit2 {
    font-size: 4.68rem;
    line-height: 4.68rem;
    font-weight: 400;
    letter-spacing: -.05625rem
}

.tit2 .subtit2 {
    font-size: 3.5rem;
    font-style: italic;
}

.tit3 {
    font-family: mixta-pro, Arial, sans-serif;
    font-size: 1.875rem;
    line-height: 1.28;
    font-weight: 350;
    color: #000
}

.tit4 {
    font-family: indivisible, Arial, sans-serif;
    text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: .2rem;
    font-weight: 400;
    margin-bottom: 20px
}

@media (max-width: 1500px) {
    p.pretit {
        font-size: 1.1rem
    }

    .feat p, p.feat {
        font-size: 1.6rem;
        line-height: 1.32
    }

    .tit1, h1 {
        font-size: 4.9rem
    }

    .tit2 {
        font-size: 4.4rem
    }
}

@media (max-width: 1240px) {
    p.pretit {
        font-size: 15px
    }

    .tit1, h1 {
        font-size: 4.5rem
    }

    .tit2 {
        font-size: 4.1rem;
        line-height: 1
    }

    .tit2 .subtit2 {
        font-size: 3.6rem;
    }

    .tit3 {
        font-size: 1.6rem
    }
}

@media (max-width: 1024px) {
    .feat p, p.feat {
        font-size: 22px;
        line-height: 1.3
    }

    .feat p.mb, p.feat.mb {
        margin-bottom: 40px
    }

    .tit2 {
        font-size: 3.9rem
    }

    .tit2 .subtit2 {
        font-size: 3.4rem;
    }
}

@media (max-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: 40px;
        font-size: 42px;
        line-height: 1.07;
        letter-spacing: .5px
    }

    .tit2 {
        font-size: 40px;
        line-height: 1.07
    }

    .tit2 .subtit2 {
        font-size: 34px;
    }

    .tit1 br, .tit2 br, h1 br {
        display: none
    }

    .tit3 {
        font-size: 26px
    }

    .tit4 {
        font-size: 15px
    }
}

.tit-center {
    text-align: center;
    margin-bottom: 100px
}

.tit-center .tit2 {
    margin-bottom: 30px
}

@media (max-width: 1800px) {
    .tit-center {
        margin-bottom: 90px
    }
}

@media (max-width: 1500px) {
    .tit-center {
        margin-bottom: 80px
    }
}

@media (max-width: 1240px) {
    .tit-center {
        margin-bottom: 70px
    }

    .tit-center .feat {
        margin-top: 0
    }
}

@media (max-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: #000;
    text-decoration: underline
}

.inner-txt p a:hover {
    color: #d7a360
}

.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 (max-width: 1800px) {
    .inner-txt.mt {
        margin-top: 90px
    }

    .inner-txt .links-inline {
        margin-top: 110px
    }
}

@media (max-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 (max-width: 1240px) {
    .inner-txt.mt {
        margin-top: 70px
    }

    .inner-txt .links.mt {
        margin-top: 70px
    }

    .inner-txt .links-inline {
        margin-top: 90px
    }
}

@media (max-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
    }
}

.links ul {
    margin: 0;
    padding: 0
}

.links li {
    list-style: none;
    margin: 28px 0
}

.links a {
    display: inline;
    width: auto;
    font-size: 1.4rem;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.350rem;
    transition: all .35s ease-in-out;
}

.links a:hover {
    color: #d7a360;
}

.links.links-inline li {
    display: inline-block;
    margin: 0;
    margin-right: 33px
}

.links.links-inline li:last-child {
    margin: 0
}

@media (max-width: 1800px) {
    .links a {
        letter-spacing: .23rem
    }

    .links.links-inline li {
        margin-right: 30px
    }
}

@media (max-width: 1500px) {
    .links a {
        letter-spacing: .2rem
    }

    .links li {
        margin: 22px 0
    }

    .links.links-inline li {
        margin-right: 28px
    }
}

@media (max-width: 1240px) {
    .links.links-inline li {
        display: block;
        margin-bottom: 22px
    }
}

@media (max-width: 820px) {
    .links a {
        font-size: 14px;
        letter-spacing: .19rem
    }

    .links li {
        margin: 20px 0
    }

    .links li:last-child {
        margin-bottom: 10px
    }

    .links.links-inline li {
        display: block;
        margin-bottom: 20px
    }
}

.link-txt, .link-txt-arrow {
    font-size: 1.875rem;
    font-family: mixta-pro, Arial, sans-serif;
    color: #000;
    transition: all .25s ease-in-out;
    text-decoration: none !important
}

.link-txt-arrow:hover, .link-txt:hover {
    color: #d7a360
}

.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;
    -webkit-animation: moveChevron .7s infinite alternate;
    animation: moveChevron .7s infinite alternate
}

.link-txt-arrow:hover i:before {
    content: url(../images/assets/flecha-villas-clara.svg)
}

@-webkit-keyframes moveChevron {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(8px)
    }
}

@keyframes moveChevron {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(8px)
    }
}

.btn {
    display: inline-block;
    color: #fff !important;
    background: #d7a360;
    font-weight: 500;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .2rem;
    padding: 10px 17px 10px 19px;
    text-decoration: none !important
}

.btn:hover {
    background: #d7a360;
    color: #fff !important
}

@media (max-width: 1240px) {
    .btn {
        padding: 7px 15px 6px 17px
    }
}

.center {
    margin: 0 auto;
    text-align: center;
}

.about-expand {
    max-width: 70rem;
    margin-top: 2rem;
    font-size: 15px;
    font-family: "Poppins Light";
    letter-spacing: 0.1rem;
}

@media(max-width: 767px)
{
    .about_mobile_image img {
        margin: auto;
        margin-top: 40px;
        height: 12rem;
    }
}

.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;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 1800px) {
    .video-expand {
        height: 700px
    }

    .video-expand video {
        height: 700px
    }
}

@media (max-width: 1500px) {
    .video-expand {
        height: 650px
    }

    .video-expand video {
        height: 650px
    }
}

@media (max-width: 1240px) {
    .video-expand {
        height: 610px
    }

    .video-expand video {
        height: 610px
    }
}

@media (max-width: 820px) {
    .video-expand {
        width: calc(100% - 52px * 2)
    }

    .video-expand .txt .tit1, .video-expand .txt p {
        max-width: 237px;
        margin: 0 auto
    }
}

.video-expand-gastro {
    height: 700px
}

.video-expand-gastro video {
    height: 700px
}

@media (max-width: 1500px) {
    .video-expand-gastro {
        height: 640px
    }

    .video-expand-gastro video {
        height: 640px
    }
}

@media (max-width: 1240px) {
    .video-expand-gastro {
        height: 600px
    }

    .video-expand-gastro video {
        height: 600px
    }
}

@media (max-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%;
    -o-object-fit: cover;
    object-fit: cover
}

.video-banner:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .1
}

@media (max-width: 1800px) {
    .video-banner {
        height: 740px
    }
}

@media (max-width: 1500px) {
    .video-banner {
        height: 680px
    }
}

@media (max-width: 1240px) {
    .video-banner {
        height: 640px
    }
}

@media (max-width: 820px) {
    .video-banner {
        height: 610px
    }
}

.home-banner {
    height: 900px
}

@media (max-width: 1800px) {
    .home-banner {
        height: 800px
    }
}

@media (max-width: 1500px) {
    .home-banner {
        height: 700px
    }
}

@media (max-width: 1240px) {
    .home-banner {
        height: 600px
    }
}

@media (max-width: 820px) {
    .home-banner {
        height: 380px
    }
}

.reservar-banner {
    height: 690px
}

@media (max-width: 1240px) {
    .reservar-banner {
        height: 560px
    }
}

@media (max-width: 820px) {
    .reservar-banner {
        height: 380px
    }
}

.video-wrapper video {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    -o-object-fit: cover;
    object-fit: cover;
    max-height: 720px
}

.video-wrapper.veil:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3)
}

.banner {
    position: relative;
    display: grid;
    align-items: center
}

.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;
    -o-object-fit: cover;
    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: .2
}

.banner.veil-3:after {
    opacity: .3
}

@media (max-width: 1023px) {
    .banner img {
        min-height: 500px
    }
}

@media (max-width: 820px) {
    .banner img {
        min-height: 380px
    }
}

@media (max-width: 820px) {
    .banner .txt-wrapper .tit1, .banner .txt-wrapper .tit2 {
        margin-bottom: 15px
    }
}

.spa-banner img {
    max-height: 810px
}

.obrador-banner img {
    max-height: 780px
}

@media (max-width: 1800px) {
    .obrador-banner img, .spa-banner img {
        max-height: 750px
    }
}

@media (max-width: 1500px) {
    .obrador-banner img, .spa-banner img {
        max-height: 700px
    }
}

@media (max-width: 1240px) {
    .obrador-banner img, .spa-banner img {
        max-height: 620px
    }
}

@media (max-width: 1023px) {
    .obrador-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 (max-width: 1800px) {
    .parallax {
        min-height: 680px
    }
}

@media (max-width: 1500px) {
    .parallax {
        min-height: 640px
    }
}

@media (max-width: 820px) {
    .parallax {
        background-attachment: inherit;
        position: relative;
        min-height: 380px
    }

    .parallax:after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #000;
        opacity: .3
    }
}

.anchor {
    display: block;
    position: relative;
    top: -100px
}

@media (max-width: 820px) {
    .anchor {
        top: -90px
    }
}

.page-tratamientos .anchor {
    top: -220px
}

@media (max-width: 820px) {
    .page-tratamientos .anchor {
        top: -200px
    }
}

@media (max-width: 820px) {
    video::-webkit-media-controls {
        display: none !important
    }
}

.gallery-up {
    padding-top: 10px;
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 20px
}

.gallery-up article {
    text-align: center;
    transition: all .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;
    -o-object-fit: cover;
    object-fit: cover
}

.gallery-up article .desc, .gallery-up article .tit3 {
    padding: 0 30px
}

.gallery-up article .num {
    font-family: mixta-pro, Arial, sans-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 .8s ease-in-out
}

.gallery-up article .desc p:last {
    margin-bottom: 0
}

.gallery-up article p {
    transition: all .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: #d7a360
}

@media (max-width: 1240px) {
    .gallery-up article .img-wrapper {
        margin-bottom: 25px
    }

    .gallery-up article .desc, .gallery-up article .tit3 {
        padding: 0 20px
    }
}

@media (max-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 (max-width: 820px) {
    .hidden-xs {
        display: none
    }
}

.visible-xs {
    display: none
}

@media (max-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 (max-width: 1500px) {
    .container {
        padding: 0 52px
    }

    .container.small {
        padding: 0 52px
    }
}

@media (max-width: 820px) {
    .container {
        padding: 0 32px
    }

    .container.big {
        padding: 0 32px
    }

    .container.small {
        padding: 0 32px
    }
}

.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 (max-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 (max-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 (max-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 (max-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 (max-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 {
        grid-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 0;
}

.indent.indent-l {
    /*padding-left: 90px*/
}

@media (max-width: 1500px) {
    .indent.indent-l {
        padding-left: 80px
    }
}

@media (max-width: 1240px) {
    .indent {
        padding: 38px 15px 20px 50px
    }

    .indent.indent-l {
        padding-left: 65px
    }
}

@media (max-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 (max-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;
    grid-gap: 130px
}

.sunset-row-2 .cols2.cols2-min {
    grid-template-columns:1.5fr 1fr;
    grid-gap: 0;
    margin-top: 1.5rem;
}

@media (max-width: 1800px) {
    .cols2 {
        grid-gap: 115px
    }
}

@media (max-width: 1500px) {
    .cols2 {
        grid-gap: 100px
    }
}

@media (max-width: 1240px) {
    .cols2 {
        grid-gap: 68px
    }
}

@media (max-width: 1023px) {
    .cols2 {
        grid-gap: 45px
    }
}

@media (max-width: 820px) {
    .cols2 {
        grid-template-columns:1fr;
        grid-gap: 50px
    }
}

.cols2_s-l {
    grid-template-columns:1fr 1.7fr;
    gap: 45px
}

@media (max-width: 820px) {
    .cols2_s-l {
        grid-template-columns:1fr
    }
}

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    padding: 1rem 0;
    transition: background-color .20s ease;
    background: #fff
}

.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: 145px;
    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: 500;
    line-height: normal;
    letter-spacing: .3rem;
    text-transform: uppercase;
    padding: 8px;
    color: #000
}

.navbar ul.menu-sec > li > a:hover {
    color: #d7a360;
}

.navbar .navbar-side {
    display: flex;
    align-items: center;
    padding-right: 75px
}

.navbar .navbar-side .lang {
    font-weight: 500;
    font-size: 1.35rem;
    margin-right: 27px;
    color: #fff;
    color: #d7a360
}

.navbar .navbar-side .lang:hover {
    color: #E7E0DA !important
}

.navbar .navbar-side .btn {
    position: relative;
    z-index: 21000
}

.navbar.transparent {
    background: 0 0
}

.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 .lang {
    color: #fff
}

.navbar.transparent .navbar-side .btn {
    color: #fff !important
}

.navbar.transparent .navbar-side .btn:hover {
    background: #000
}

.navbar.transparent .button-responsive span {
    background: #fff
}

@media (max-width: 1800px) {
    .navbar ul.menu-sec {
        padding-left: 75px
    }
}

@media (max-width: 1500px) {
    .navbar ul.menu-sec {
        gap: 28px;
        padding-left: 70px
    }
}

@media (max-width: 1239px) {
    .navbar .container {
        padding: 0 32px !important
    }

    .navbar ul.menu-sec {
        display: none
    }
}

@media (max-width: 1023px) {
    .navbar a.logo img {
        width: 130px;
    }
}

@media (max-width: 820px) {
    .navbar {
        padding: 25px 0
    }

    .navbar .container {
        padding: 0 17px !important
    }

    .navbar .navbar-side {
        padding-right: 28px
    }

    .navbar .navbar-side .btn {
        display: none
    }

    .navbar .navbar-side .lang {
        color: #000
    }
}

body.menu-active .navbar a.logo .dark, body.overlay-open .navbar a.logo .dark {
    display: block;
    margin-top: -1rem;
}

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: #d7a360
}

body.menu-active .navbar .navbar-side .btn, body.overlay-open .navbar .navbar-side .btn {
    background: #d7a360 !important;
    color: #fff !important
}

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: #000
}

body.menu-active .navbar {
    background: #fff
}

body.menu-active ul.menu-sec > li > a {
    color: #000 !important
}

body.menu-active ul.menu-sec > li > a:hover {
    color: #d7a360b5 !important
}

.megamenu {
    width: 100%;
    left: 0;
    top: 100%;
    position: absolute;
    background: #fff;
    border-top: 1px solid #d7a360;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease-in-out, visibility .25s ease-in-out
}

.megamenu.show {
    opacity: 1;
    visibility: visible
}

.megamenu .inner-megamenu {
    display: flex;
    justify-content: center;
    gap: 28px;
    padding: 45px 52px 44px
}

.megamenu a.megamenu-item {
    width: calc((100% - 52px * 2 - 28px - 8px) / 6);
    position: relative;
    color: #fff;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 0 !important;
    overflow: hidden
}

.megamenu a.megamenu-item span {
    position: absolute;
    display: flex;
    align-items: end;
    width: 100%;
    padding: 0 20px;
    z-index: 2;
    box-sizing: border-box;
    font-family: mixta-pro, Arial, sans-serif;
    font-size: 1.875rem;
    letter-spacing: .093rem;
    line-height: 1.07;
    font-weight: 400;
    background: rgba(0, 0, 0, 0.27);
    opacity: 1;
    transition: opacity .35s ease-in-out
}

.megamenu a.megamenu-item img {
    display: block;
    aspect-ratio: 269/362;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all .4s ease-in-out
}

.megamenu a.megamenu-item:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity .35s ease-in-out
}

.megamenu a.megamenu-item:hover span {
    opacity: 1
}

.megamenu a.megamenu-item:hover:after {
    opacity: .4
}

.megamenu a.megamenu-item:hover img {
    transform: scale(1.05)
}

.megamenu .megamenu-link-wrapper {
    margin: 0 auto 40px
}

@media (max-width: 1800px) {
    .megamenu .inner-megamenu {
        gap: 25px
    }

    .megamenu a.megamenu-item {
        width: calc((100% - 52px * 2 - 25px - 8px) / 6)
    }

    .megamenu a.megamenu-item span {
        font-size: 1.7rem;
        letter-spacing: .08rem
    }
}

@media (max-width: 1500px) {
    .megamenu .inner-megamenu {
        gap: 20px;
        padding: 40px 52px 39px
    }

    .megamenu a.megamenu-item {
        width: calc((100% - 52px * 2) / 6)
    }

    .megamenu .megamenu-link-wrapper {
        margin: 0 auto 35px
    }
}

.button-responsive {
    position: absolute;
    top: 47px;
    right: 52px;
    height: 20px;
    width: 48px;
    cursor: pointer;
    z-index: 21000;
    transition: all .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: #000
}

.button-responsive span {
    background: #000;
    border: none;
    height: 2px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .35s ease;
    cursor: pointer
}

.button-responsive span:nth-of-type(2) {
    top: 10px
}

.button-responsive span:nth-of-type(3) {
    top: 20px
}

@media (max-width: 1399px) {
    .button-responsive {
        right: 52px
    }
}

@media (max-width: 1239px) {
    .button-responsive {
        right: 32px
    }
}

@media (max-width: 1240px) {
    .button-responsive {
        top: 27px
    }
}

@media (max-width: 820px) {
    .button-responsive {
        top: 50%;
        margin-top: -9px;
        right: 17px;
        width: 37px;
        height: 18px
    }

    .button-responsive.active {
        width: 37px
    }

    .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
    }
}

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 .35s, visibility .35s;
    overflow: hidden
}

.overlay:after {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    /*background: #d7a360*/
}

@media (max-width: 1800px) {
    .overlay:after {
        top: 79px
    }
}

.overlay.open {
    opacity: 1;
    visibility: visible;
    height: 100vmax;
    z-index: 20000;
    min-height: 550px
}

@media (min-width: 1024px) {
    .overlay.open {
        height: 100vh;
    }

    .menu-button-icons {
        width: 86.5%;
        justify-content: end !important;
    }
}

.overlay .overlay-menu {
    position: relative;
    font-weight: 400;
    display: grid;
    padding: 210px 130px
}

.overlay .overlay-menu ul {
    margin: 0;
    padding: 0;
    position: relative
}

.overlay .overlay-menu ul li {
    list-style: none;
    font-family: 'Poppins Light';
    font-weight: 400;
    font-size: 26px;
    margin-bottom: 34px;
    color: #d7a360
}

.overlay .overlay-menu ul li a {
    color: #d7a360
}

.overlay .overlay-menu ul li a.active, .overlay .overlay-menu ul li a:hover {
    color: #000
}

.overlay .overlay-menu ul li a.with-children:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 13px;
    background: url(../images/assets/arrow-submenu.svg);
    background-size: cover;
    margin-left: 2px;
    position: relative;
    top: -2px
}

.overlay .overlay-menu .submenu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    left: 48%;
    top: 0;
    transition: opacity .3s ease-in-out, visibility .3s ease-in-out
}

.overlay .overlay-menu .submenu.show {
    visibility: visible;
    opacity: 1;
    display: block !important
}

.overlay .overlay-menu .submenu li {
    font-family: indivisible, Arial, sans-serif;
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: .18rem;
    font-weight: 400;
    margin-bottom: 30px;
    color: #000
}

.overlay .overlay-menu .submenu li strong {
    font-weight: 600
}

.overlay .overlay-menu .submenu li a {
    color: #000
}

.overlay .overlay-menu .submenu li a.active, .overlay .overlay-menu .submenu li a:hover {
    color: #d7a360;
}

.overlay .wrapper {
    display: grid;
    grid-template-columns:1fr 1.35fr
}

.overlay .wrapper .col-img .menu-img-wrapper {
    position: relative
}

.overlay .wrapper .col-img .menu-img-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    aspect-ratio: 820/530;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    max-height: 62vh;
    min-height: 310px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .65s ease-in-out, visibility .65s ease-in-out
}

.overlay .wrapper .col-img .menu-img-wrapper img.show {
    opacity: 1;
    visibility: visible
}

.overlay .menu-bottom {
    padding-left: 130px;
    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: .2rem;
    text-transform: uppercase;
    margin-right: 36px;
    color: #000
}

.overlay .menu-bottom a:hover {
    color: #d7a360
}

.overlay .menu-bottom .social-icons a {
    margin: 0;
    color: #000
}

@media (max-width: 1800px) {
    .overlay .overlay-menu {
        padding: 200px 100px
    }

    .overlay .overlay-menu .submenu {
        left: 45%
    }

    .overlay .overlay-menu .submenu li {
        font-size: 18px;
        margin-bottom: 27px
    }

    .overlay .wrapper {
        grid-template-columns:1fr 1.1fr;
        gap: 50px
    }

    .overlay .menu-bottom {
        padding-left: 100px
    }
}

@media (max-width: 1500px) {
    .overlay .overlay-menu {
        padding: 180px 52px
    }

    .overlay .overlay-menu ul li {
        font-size: 34px
    }

    .overlay .overlay-menu .submenu {
        left: 265px
    }

    .overlay .overlay-menu .submenu li {
        font-size: 17px;
        letter-spacing: .14rem;
        margin-bottom: 25px
    }

    .overlay .menu-bottom {
        padding-left: 52px
    }

    .overlay .menu-bottom a {
        font-size: 1.25em;
        margin-bottom: 25px
    }
}

@media (max-width: 1240px) {
    .overlay .overlay-menu {
        padding: 170px 32px
    }

    .overlay .overlay-menu .submenu {
        left: 250px
    }

    .overlay .overlay-menu .submenu li {
        font-size: 16px
    }

    .overlay .wrappe {
        grid-template-columns:1fr .9fr
    }
}

@media (max-width: 1023px) {
    .overlay {
        overflow-y: scroll;
        scrollbar-color: #E7E0DA #E7E0DA
    }

    .overlay:before {
        content: "";
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 93px;
        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: #d7a360
    }

    .overlay .overlay-menu ul li a.active {
        color: #000
    }

    .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/assets/arrow-submenu-dark.svg);
        opacity: .5;
        width: 11px;
        height: 19px;
        transform: rotate(90deg);
        transition: opacity .2s ease-in-out;
        top: 2px;
        margin-left: 8px
    }

    .overlay .overlay-menu .submenu {
        position: relative;
        left: 0
    }

    .overlay .overlay-menu .submenu li {
        font-size: 14px;
        margin: 0;
        padding-bottom: 9px;
        font-weight: 500;
        font-family: sans-serif;
    }

    .overlay .overlay-menu .submenu li:first-child {
        padding-top: 22px
    }

    .overlay .overlay-menu .submenu li:last-child {
        padding-bottom: 0
    }

    .overlay .overlay-menu .submenu li a {
        color: #000 !important
    }

    .overlay .overlay-menu .submenu li a:hover {
        color: #d7a360
    }

    .overlay .overlay-menu .submenu li a.active {
        text-shadow: none
    }

    .overlay .wrapper {
        display: block
    }

    .overlay .wrapper .col-img {
        display: none
    }

    .overlay .menu-bottom {
        padding: 0 32px;
        display: block;
        position: relative;
        bottom: auto !important
    }

    .overlay .menu-bottom-lineas:before {
        content: "";
        display: block;
        width: 54px;
        height: 1px;
        /*background: #000;*/
        margin-bottom: 22px
    }

    .overlay .menu-bottom .overlay-menu-sec {
        display: flex;
        flex-direction: column
    }
}

@media (max-width: 820px) {
    .overlay .overlay-menu {
        padding: 120px 32px 0 !important
    }

    .overlay .overlay-menu ul.main-menu > li {
        margin-bottom: 25px !important;
    }
}

@media (max-height: 840px) {
    .overlay .overlay-menu {
        padding-top: 180px;
        padding-bottom: 0
    }

    .overlay .menu-bottom {
        bottom: 16px !important;
    }
}

@media (max-height: 740px) {
    .overlay .overlay-menu {
        padding-top: 155px;
        padding-bottom: 0
    }

    .overlay .overlay-menu ul li {
        font-size: 15px;
        margin-bottom: 27px;
    }

    .overlay .menu-bottom {
        bottom: 25px
    }

    .overlay .menu-bottom a {
        font-size: 15px
    }
}

@media (max-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 .35s ease-in-out, visibility .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: .25rem
}

.lang-box ul {
    margin: 0;
    padding: 0
}

.lang-box ul li {
    list-style: none;
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 2.8rem;
    color: #d7a360;
    margin-bottom: 17px
}

.lang-box ul li:last-child {
    margin-bottom: 0
}

.lang-box ul li a {
    color: #d7a360
}

.lang-box ul li a.active, .lang-box ul li a:hover {
    color: #000
}

.lang-box .foot {
    padding: 10px 30px 7px
}

@media (max-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: #000;
    transition: background .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: #d7a360
}

@media (max-width: 820px) {
    a.close {
        width: 30px;
        height: 30px
    }

    a.close span {
        top: 18px
    }
}

.overlay-lang, .overlay-menu-kamezi {
    background: rgba(0, 0, 0, .65);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s;
    overflow: hidden;
    z-index: 10000
}

.overlay-lang.open, .overlay-menu-kamezi.open {
    opacity: 1;
    visibility: visible;
    height: 100%
}

footer.site-footer {
    background: #F7F5F4
}

footer.site-footer .main-footer {
    padding: 60px 0 45px
}

footer.site-footer .main-footer-content {
    display: flex;
    justify-content: space-between;
    gap: 145px;
    margin-top: 45px
}

footer.site-footer .cols-menu {
    display: grid;
    grid-template-columns:auto auto auto;
    grid-gap: 145px
}

footer.site-footer .col-newsletter {
    width: 250px;
    margin-top: -60px
}

.col-newsletter img{
    max-width: 70% !important;
}

footer.site-footer .col-newsletter p.tit {
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    font-size: 1.56rem;
    margin-bottom: 32px
}

footer.site-footer .col-newsletter .check-row {
    margin-top: 38px
}

footer.site-footer .col-newsletter .check-row label {
    max-width: 260px
}

footer.site-footer ul {
    margin: 0;
    padding: 0
}

footer.site-footer ul li {
    list-style: none;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: .17rem;
    text-transform: uppercase;
    color: #000;
    margin: 0 0 11px 0;
    font-family: Poppins;
}

footer.site-footer ul li:last-child {
    margin-bottom: 0
}

footer.site-footer ul li a {
    color: #000
}

footer.site-footer ul li a:hover {
    color: #d7a360
}

footer.site-footer .bottom-footer {
    border-top: 1px solid #d7a360;
    padding: 22px 0
}

footer.site-footer .bottom-footer .container {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: center
}

footer.site-footer .bottom-footer p {
    margin: 0;
    font-weight: 400;
    font-size: 1rem;
    font-size: .95rem;
    color: #000
}

footer.site-footer .bottom-footer p a {
    color: #000
}

footer.site-footer .bottom-footer p a:hover {
    color: #d7a360
}

footer.site-footer .bottom-footer p .sep {
    margin: 0 9px
}

@media (max-width: 1800px) {
    footer.site-footer .main-footer-content {
        grid-gap: 100px
    }

    footer.site-footer .cols-menu {
        grid-gap: 95px
    }
}

@media (max-width: 1600px) and (min-width: 1500px) {
    footer.site-footer .main-footer-content {
        grid-gap: 60px
    }

    footer.site-footer .cols-menu {
        gap: 70px
    }

    footer.site-footer .col-newsletter {
        width: 340px
    }
}

@media (max-width: 1500px) {
    footer.site-footer .main-footer-content {
        grid-gap: 90px
    }

    footer.site-footer .cols-menu {
        grid-gap: 80px
    }

    footer.site-footer .col-newsletter {
        width: 330px
    }
}

@media (max-width: 1240px) {
    footer.site-footer .main-footer-content {
        grid-gap: 55px
    }

    footer.site-footer .cols-menu {
        grid-gap: 55px
    }

    footer.site-footer .col-newsletter {
        width: 300px
    }
}

@media (max-width: 1024px) {
    footer.site-footer .main-footer-content {
        display: block
    }

    footer.site-footer .col-newsletter {
        margin: 45px 0 0;
        padding: 30px 0 35px;
        border-top: 1px solid #d7a360;
        width: 100%;
        max-width: 500px
    }

    footer.site-footer .col-newsletter p.tit {
        margin-bottom: 20px
    }

    footer.site-footer .col-newsletter .check-row {
        margin-top: 25px
    }
}

@media (max-width: 820px) {
    footer.site-footer {
        padding: 10px 0 90px;
    }

    footer.site-footer .main-footer {
        padding: 0
    }

    footer.site-footer .main-footer .btn {
        display: none
    }

    footer.site-footer .main-footer-content {
        margin: 0
    }

    footer.site-footer .cols-menu {
        display: block;
        text-align: center;
        margin-top: 16px;
    }

    footer.site-footer .cols-menu .col:after {
        content: "";
        display: block;
        width: 54px;
        height: 1px;
        background: #d7a360;
        margin: 22px auto
    }

    footer.site-footer .cols-menu .col:last-child:after {
        display: none
    }

    footer.site-footer .col-newsletter {
        margin: 45px auto 0;
        border-bottom: 1px solid #d7a360
    }

    footer.site-footer .bottom-footer {
        border: none;
        text-align: center;
        padding: 28px 0 0
    }

    footer.site-footer .bottom-footer .container {
        display: block
    }

    footer.site-footer .bottom-footer .sep {
        display: none
    }

    footer.site-footer .bottom-footer a {
        display: block;
        margin-bottom: 3px
    }

    footer.site-footer .social-icons {
        justify-content: center;
        margin-top: 20px
    }
}

.social-icons {
    display: flex;
    gap: 10px
}

.social-icons a {
    opacity: .8
}

.social-icons a:hover {
    opacity: 1
}

.dbl-img {
    position: relative;
    padding: 0 14% 14% 0
}

.dbl-img .img1 {
    position: relative;
    z-index: 2;
    width: 100%
}

.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 .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 (max-width: 820px) {
    .home-wellness .dbl-img {
        padding: 0 23% 40% 0
    }
}

.footer-hotel .dbl-img {
    padding: 0 0 16.9% 10.6%
}

.footer-hotel .dbl-img .img-ghost, .footer-hotel .dbl-img .img2 {
    width: 80.5%
}

.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: 0;
    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%
}

.obrador-intro .dbl-img {
    padding-left: 22%;
    padding-bottom: 24%
}

.obrador-intro .dbl-img .img-ghost, .obrador-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: 320px;
    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 (max-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 (max-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%;
    -webkit-animation: 10s linear infinite spinner-border;
    animation: 10s linear infinite spinner-border
}

@-webkit-keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg)
    }
}

form .f-row {
    margin-bottom: 54px;
    max-width: 580px
}

form input[type=text], form input[type=email], form input[type=phone], form textarea {
    border: none;
    box-shadow: none;
    outline: 0;
    border-radius: 0 !important;
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    border-bottom: 1px solid #d7a360;
    padding: 6px 0;
    font-family: mixta-pro, Arial, sans-serif;
    font-size: 1.75rem;
    font-weight: 400;
    color: #000
}

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: #d7a360
}

form input[type=text]::-moz-placeholder, form input[type=email]::-moz-placeholder, form input[type=phone]::-moz-placeholder, form textarea::-moz-placeholder {
    color: #d7a360
}

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: #d7a360
}

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: #d7a360
}

form input[type=text]::placeholder, form input[type=email]::placeholder, form input[type=phone]::placeholder, form textarea::placeholder {
    color: #d7a360
}

form textarea {
    height: 142px
}

form label {
    font-family: mixta-pro, Arial, sans-serif;
    font-size: 1.75rem;
    font-weight: 400;
    color: #d7a360;
    display: block;
    margin-bottom: 6px
}

form input[type=submit] {
    -webkit-appearance: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    font-family: indivisible, Arial, sans-serif;
    text-transform: uppercase;
    transition: all .25s ease-in-out
}

form input[type=submit]:hover {
    text-decoration: none;
    cursor: pointer
}

form p.help {
    margin-top: 10px;
    font-size: 1rem;
    color: #000;
    font-weight: 300
}

@media (max-width: 820px) {
    form .f-row {
        margin-bottom: 38px
    }

    form input[type=text], form input[type=email], form input[type=phone], form textarea {
        font-size: 20px;
        padding: 3px 0
    }

    form textarea {
        height: 100px
    }

    form label {
        font-size: 20px;
        margin-bottom: 3px
    }
}

.site-footer form .f-row {
    margin-bottom: 5px
}

.site-footer form input[type=text], .site-footer form input[type=email] {
    border: none;
    padding: 13px 15px;
    font-family: indivisible, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #000
}

.site-footer form input[type=text]::-webkit-input-placeholder, .site-footer form input[type=email]::-webkit-input-placeholder {
    color: #E7E0DA
}

.site-footer form input[type=text]::-moz-placeholder, .site-footer form input[type=email]::-moz-placeholder {
    color: #E7E0DA
}

.site-footer form input[type=text]:-ms-input-placeholder, .site-footer form input[type=email]:-ms-input-placeholder {
    color: #E7E0DA
}

.site-footer form input[type=text]::-ms-input-placeholder, .site-footer form input[type=email]::-ms-input-placeholder {
    color: #E7E0DA
}

.site-footer form input[type=text]::placeholder, .site-footer form input[type=email]::placeholder {
    color: #E7E0DA
}

.site-footer form input[type=submit] {
    background: 0 0;
    color: #000;
    font-size: 1rem;
    letter-spacing: .2em;
    margin-left: -3px;
    font-weight: 500
}

.site-footer form input[type=submit]:hover {
    color: #d7a360
}

.site-footer form .submit-wrapper {
    margin: 22px 0 25px
}

.site-footer form .check-row {
    position: relative
}

.site-footer form .check-row label {
    font-family: indivisible, Arial, sans-serif;
    color: #000;
    font-size: 12px;
    position: absolute;
    top: 0;
    left: 28px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin: 0
}

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: #000;
    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
}

body:not(#page-home) {
    -webkit-animation: fadeInAnimation ease 2.7s;
    animation: fadeInAnimation ease 2.7s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes fadeInAnimation {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.hero {
    -o-object-fit: cover;
    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
}

.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: rgba(0, 0, 0, 0.45); /* opacity burada */
    opacity: .33;
    z-index: 1
}

.hero.no-veil:before {
    opacity: 0
}

@media (max-width: 820px) {
    .hero p.pretit {
        margin-bottom: 10px
    }
}

#page-home .hero:before {
    background: none;
}

@media (max-width: 820px) {
    #page-home .hero {
        height: calc(100vh - 50px)
    }
}

@media (min-width: 820px) {
    #page-home .hero:before {
        background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 1) 100%);
    }
}

.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: #000 !important;
    border: none;
    padding: 10px 16px 9px;
    text-transform: uppercase;
    font-weight: 500;
    white-space: nowrap;
    border-radius: 0;
    letter-spacing: .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: .25rem;
    white-space: nowrap;
    display: inline-block;
    -webkit-animation: scroll-text 90s linear infinite;
    animation: scroll-text 90s linear infinite
}

@media (max-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: .2rem
    }
}

@-webkit-keyframes scroll-text {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(-50%)
    }
}

@keyframes scroll-text {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(-50%)
    }
}

.txt-vertical {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: .25rem;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    z-index: 1000
}

.txt-vertical a {
    color: #fff;
    padding: 21px 16px 19px;
    background: rgba(97, 79, 69, .7)
}

.txt-vertical a:hover {
    background: rgba(97, 79, 69, .94)
}

@media (max-width: 1240px) {
    .txt-vertical a {
        padding: 16px 13px 14px
    }
}

@media (max-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: #000;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: none;
    padding: 0;
    transition: background-color .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, .btn-telegram .txt {
    position: absolute;
    right: 60px;
    color: #000;
    white-space: nowrap;
    opacity: 0;
    z-index: 0;
    visibility: hidden;
    transition: opacity .5s ease, visibility 1s ease, right .5s ease;
    -webkit-clip-path: inset(0 100% 0 0);
    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, .btn-telegram:hover .txt {
    right: calc(100% + 0px);
    opacity: 1;
    visibility: visible;
    z-index: 1;
    -webkit-clip-path: inset(0 0 0 0);
    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-telegram {
    background-color: #E7E0DA;
    border-radius: 0
}

.side-btns .btn-telegram .txt {
    background-color: #E7E0DA;
    border-radius: 0
}

.side-btns .btn-faq i {
    content: url(../images/assets/ico-faqs.svg)
}

.side-btns .btn-telegram i {
    content: url(../images/ico-telegram.png)
}

.side-btns .btn-faq .txt {
    bottom: 0;
    background-color: #F6F3F1
}

@media (max-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
    }
}

@media (max-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 (max-width: 1023px) {
    .side-btns {
        top: 20%
    }
}

@media (max-width: 820px) {
    .side-btns {
        top: auto;
        bottom: -3px;
        right: auto;
        left: 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: #000;
        letter-spacing: .2rem
    }

    .side-btns .btn-faq, .side-btns .btn-phone, .side-btns .btn-whatsapp {
        border-right: 1px solid #d7a360;
        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 (max-width: 1800px) {
    .page-header {
        min-height: 420px;
        margin-top: 120px
    }
}

@media (max-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: #000;
    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: #d7a360
}

.page-content li a, .page-content p a {
    color: #d7a360;
    text-decoration: underline;
    padding: .5rem;
}

.page-content li a:hover, .page-content p a:hover {
    color: #000;
    border-color: #000
}

.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 (max-width: 1800px) {
    .page-content {
        padding: 130px 0
    }
}

@media (min-width: 1500px) {
    .page-content.alt .container {
        margin-left: -50px;
        margin-right: -50px
    }
}

@media (max-width: 1500px) {
    .page-content {
        padding: 110px 0
    }

    .page-content h2, .page-content h3, .page-content h4 {
        margin: 48px 0 23px
    }
}

@media (max-width: 1240px) {
    .page-content {
        padding: 100px 0
    }
}

@media (max-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:0.7fr 1fr;
}

.home-video-txt .col-video {
    position: relative
}

.home-video-txt .col-video img {
    aspect-ratio: 800/880;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 767px) {
    .home-video-txt .col-video img {
        aspect-ratio: 590 / 874;
    }
}

.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;
    -o-object-fit: cover;
    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: rgba(0, 0, 0, .3)
}

.home-video-txt .col-video .play-button {
    position: absolute;
    width: 100px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    opacity: .8
}

.home-video-txt .col-video .play-button:hover {
    opacity: 1
}

.home-video-txt .inner-txt p:not(.feat) {
    max-width: 650px;
    font-family: system-ui;
}

@media (max-width: 1800px) {
    .home-video-txt .col-txt .indent {
        padding-right: 0
    }

    .home-video-txt .col-video .video-play-wrapper {
        height: 780px
    }
}

@media (max-width: 1500px) {
    .home-video-txt .col-video .video-play-wrapper {
        height: 700px
    }
}

@media (max-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 {
        height: 470px
    }

    .home-video-txt .cols2 .col-video .play-button {
        width: 70px
    }

    .home-video-txt .cols2 .col-txt .inner-txt {
        margin-top: 40px
    }
}

.video-modal .lg-backdrop {
    opacity: .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 {
    -o-object-fit: cover;
    object-fit: cover
}

.video-modal .lg-outer.lg-start-slide .lg-item:not(.lg-zoomable) .lg-video-cont {
    transform: translateY(-100px);
    transition: transform .3s ease-out
}

.video-modal .lg-outer.lg-start-slide .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont {
    transform: translateY(0)
}

@media (max-width: 820px) {
    .video-modal .lg-outer .lg-video-cont {
        max-height: 80% !important
    }
}

.lg-toolbar .lg-icon {
    color: #fff !important;
    opacity: .8
}

.lg-toolbar .lg-icon:hover {
    opacity: 1
}

@media (max-width: 820px) {
    .lg-toolbar .lg-icon {
        opacity: 1
    }
}

.conozca-villa, .section-home-villas {
    padding: 20px 0 20px 11.8vw
}

.conozca-villa .links-slider, .section-home-villas .links-slider {
    margin: 75px 0 148px 50px
}

.conozca-villa .col-img, .section-home-villas .col-img {
    margin-top: 60px;
    position: relative
}

.conozca-villa .col-img .img-links-slider, .section-home-villas .col-img .img-links-slider {
    position: relative;
    height: 760px
}

.conozca-villa .col-img .img-links-slider:after, .section-home-villas .col-img .img-links-slider:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    opacity: .1
}

.conozca-villa .col-img .item, .section-home-villas .col-img .item {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1066/777;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all .65s ease-in-out
}

.conozca-villa .col-img .item.show, .section-home-villas .col-img .item.show {
    opacity: 1;
    visibility: visible
}

.conozca-villa .col-img .txt-overlay, .section-home-villas .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-villas .col-img .txt-overlay p {
    font-family: mixta-pro, Arial, sans-serif;
    color: #fff;
    font-weight: 350;
    font-style: italic;
    font-size: 1.75rem;
    line-height: 2.25rem
}

@media (max-width: 1500px) {
    .conozca-villa, .section-home-villas {
        padding: 20px 0 20px 8vw
    }
}

@media (max-width: 1240px) {
    .conozca-villa, .section-home-villas {
        padding: 20px 0 20px 52px
    }

    .conozca-villa .links-slider, .section-home-villas .links-slider {
        margin: 45px 0 120px 10px
    }
}

@media (max-width: 820px) {
    .conozca-villa, .section-home-villas {
        padding: 0 32px
    }

    .conozca-villa .col-img, .conozca-villa .link-txt, .conozca-villa .links-slider, .section-home-villas .col-img, .section-home-villas .link-txt, .section-home-villas .links-slider {
        display: none
    }
}

.villas-slider-mobile {
    display: none;
    overflow: hidden;
    position: relative;
    margin-bottom: 85px
}

@media (max-width: 820px) {
    .villas-slider-mobile {
        display: block
    }
}

.villas-slider-mobile article.item {
    position: relative;
    display: grid;
    align-items: center;
    justify-items: center
}

.villas-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
}

.villas-slider-mobile article.item img {
    height: 455px;
    width: 100%
}

.villas-slider-mobile article.item:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .32
}

.villas-slider-mobile .slider-nav {
    z-index: 3;
    position: static;
    height: 0
}

.villas-slider-mobile .slider-nav .swiper-button-villas-next, .villas-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
}

.villas-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: .25rem;
    margin-right: 32px;
    color: #000;
    transition: font-weight .1s ease-in-out
}

.links-slider .item .item-txt a, .links-slider .item .item-txt span {
    color: #000
}

.links-slider .item .item-txt a:hover, .links-slider .item .item-txt span:hover {
    letter-spacing: .29rem
}

.links-slider .item .item-txt span {
    transition: all .3s ease-in-out
}

.links-slider .item .item-txt span:hover {
    cursor: default
}

.links-slider .item .line {
    flex-grow: 0;
    height: 1px;
    background: #000;
    opacity: 0;
    display: none
}

.links-slider .item.active .item-txt {
    ffont-weight: 500;
    text-shadow: 0 0 .6px #000
}

.links-slider .item.active .line {
    display: block;
    -webkit-animation: drawLine .5s ease forwards;
    animation: drawLine .5s ease forwards
}

@media (max-width: 1240px) {
    .links-slider .item {
        margin: 22px 0
    }

    .links-slider .item .item-txt {
        font-size: 1.2rem
    }
}

@-webkit-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: .6
}

.banner-gastronomia {
    background: #5E514D
}

.banner-gastronomia .cols2 {
    grid-template-columns:50% 50%;
    grid-gap: 0
}

.banner-gastronomia .col-txt {
    padding-left: 8.5vw
}

.banner-gastronomia .col-txt .inner {
    max-width: 540px
}

.banner-gastronomia .col-txt .tit2 br {
    display: block !important
}

.banner-gastronomia .col-txt .gastro-icons {
    margin: 25px 0 70px
}

.banner-gastronomia .col-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    max-height: 1060px
}

.banner-gastronomia .col-img .gastro-slider, .banner-gastronomia .col-img .gastro-swiper {
    height: 100%;
    overflow: hidden
}

@media (max-width: 1500px) {
    .banner-gastronomia .col-txt {
        padding-left: 6.5vw
    }
}

@media (max-width: 1240px) {
    .banner-gastronomia .col-txt {
        padding-left: 52px
    }
}

@media (max-width: 820px) {
    .banner-gastronomia .cols2 {
        grid-template-columns:100%
    }

    .banner-gastronomia .cols2 .col-txt {
        padding: 0 32px
    }

    .banner-gastronomia .cols2 .col-txt .gastro-icons {
        margin: 50px 0 40px;
        max-width: 200px
    }

    .banner-gastronomia .cols2 .col-img {
        order: 2
    }

    .banner-gastronomia .cols2 .col-img img {
        height: 480px
    }
}

.home-wellness .cols2 {
    grid-gap: 0
}

.home-wellness .inner-txt {
    padding-left: 150px
}

@media (max-width: 1500px) {
    .home-wellness .inner-txt {
        padding-left: 8vw
    }
}

@media (max-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
    }
}

.home-experiencias {
    padding-left: 1.8vw;
    padding-right: 1.8vw;
}


.home-experiencias .col-txt {
    position: relative;
    padding-right: 70px
}

.home-experiencias .col-gallery {
    overflow: hidden
}

.home-experiencias .col-gallery a {
    display: block
}

.home-experiencias .col-gallery img {
    aspect-ratio: 531/694;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 1800px) {
    .home-experiencias .col-txt {
        padding-right: 40px
    }

    .home-experiencias .col-txt .inner-txt.mt {
        margin-top: 50px
    }
}

@media (max-width: 1500px) {
    .home-experiencias {
        padding-left: 8vw
    }

    .home-experiencias .col-txt {
        padding-right: 0
    }

    .home-experiencias .col-txt .inner-txt.mt {
        margin-top: 0
    }
}

@media (max-width: 1240px) {
    .home-experiencias {
        padding-left: 52px
    }

    .home-experiencias .col-txt .indent {
        padding-left: 50px;
        padding-right: 0
    }
}

@media (max-width: 1023px) {
    .home-experiencias {
        padding-left: 0;
        padding: 0 32px;
        position: relative
    }

    .home-experiencias .cols2_s-l {
        grid-template-columns:1fr;
        gap: 18px
    }

    .home-experiencias .col-txt {
        position: static;
        padding: 0
    }

    .home-experiencias .col-txt .inner-txt {
        margin-top: 0
    }

    .home-experiencias .home-experiencias-slider {
        position: relative;
        overflow: hidden
    }

    .home-experiencias .slider-nav {
        position: static;
        height: 0;
        background: #ddd;
        z-index: 10
    }

    .home-experiencias .slider-nav .swiper-button-next, .home-experiencias .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
    }

    .home-experiencias .slider-nav .swiper-button-next {
        left: auto;
        right: calc(5px + 32px);
        background-image: url(../images/assets/slider-next-white.svg)
    }
}

@media (max-width: 820px) {
    .home-experiencias .slider-nav .swiper-button-next, .home-experiencias .slider-nav .swiper-button-prev {
        bottom: 196px
    }
}

.img-tit-overlay {
    position: relative;
    display: grid;
    align-items: end;
    text-align: center;
    overflow: hidden
}

.img-tit-overlay span {
    position: absolute;
    color: #fff;
    z-index: 3;
    display: block;
    width: 100%;
    font-family: math;
    font-weight: 500;
    font-size: 2rem;
    background: #00000087;
    padding: 5px;
}

.img-tit-overlay:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 2;
    transition: all .4s ease-in-out;
    opacity: .2
}

.img-tit-overlay img {
    display: block;
    transition: all .4s ease-in-out
}

@media (max-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;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    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 .2s ease-in-out;
    opacity: .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 (max-width: 1500px) {
    .slider-nav {
        right: 20px
    }
}

@media (max-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:hover .img-tit-overlay:after {
    opacity: .35
}

a.img-tit-overlay-wrapper:hover .img-tit-overlay img {
    transform: scale(1.05)
}

@media (max-width: 820px) {
    a.img-tit-overlay-wrapper:hover .img-tit-overlay:after {
        opacity: .2
    }

    a.img-tit-overlay-wrapper:hover .img-tit-overlay img {
        transform: none
    }
}

.footer-hotel {
    margin-bottom: 260px !important
}

.footer-hotel .cols2 {
    grid-gap: 0
}

.footer-hotel .inner-txt {
    padding-left: 160px
}

.footer-hotel .inner-txt .feat {
    max-width: 460px
}

.footer-hotel .col-img {
    position: relative
}

.footer-hotel .logo-animation {
    width: 200px;
    height: 200px;
    position: absolute;
    bottom: -90px;
    right: 7%;
    z-index: 10
}

.footer-hotel.alt .cols2 {
    grid-gap: 190px;
    grid-template-columns:1fr 1.5fr
}

.footer-hotel.alt .inner-txt {
    padding-left: 11.8vw
}

.footer-hotel.alt .doble-img {
    padding: 0 0 130px 130px;
    max-width: 100%
}

.footer-hotel.alt .doble-img .img1 {
    left: auto;
    right: 0;
    width: 100%
}

.footer-hotel.alt .logo-animation {
    left: auto;
    right: 90%
}

@media (max-width: 1500px) {
    .footer-hotel {
        margin-bottom: 200px !important
    }

    .footer-hotel .inner-txt {
        padding-left: 120px
    }

    .footer-hotel .logo-animation {
        width: 160px;
        height: 160px;
        bottom: -50px
    }
}

@media (max-width: 1240px) {
    .footer-hotel {
        margin-bottom: 180px !important
    }

    .footer-hotel .inner-txt {
        padding-left: 90px
    }
}

@media (max-width: 1100px) {
    .footer-hotel .logo-animation {
        bottom: 10px
    }
}

@media (max-width: 1023px) {
    .footer-hotel {
        margin-bottom: 70px !important
    }

    .footer-hotel .col-txt {
        padding: 0 52px
    }

    .footer-hotel .col-txt .inner-txt {
        padding: 0 !important
    }

    .footer-hotel .col-img {
        order: 2;
        margin: 0
    }

    .footer-hotel .col-img .dbl-img {
        padding: 0 0 0 32px
    }

    .footer-hotel .col-img .img-ghost, .footer-hotel .col-img .img2 {
        display: none
    }

    .footer-hotel .logo-animation {
        width: 124px;
        height: 124px;
        position: static;
        margin: 45px auto 0;
        display: block
    }

    .footer-hotel.alt .cols2 {
        grid-gap: 0;
        grid-template-columns:1fr 1fr
    }
}

@media (max-width: 820px) {
    .footer-hotel .col-txt {
        padding: 0 32px
    }

    .footer-hotel .col-img {
        margin: 30px 0
    }

    .footer-hotel.alt .cols2 {
        grid-template-columns:1fr
    }
}

.hotel-intro {
    margin-bottom: 100px !important
}

@media (max-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;
    grid-gap: 150px
}

.hotel-img-txt img {
    position: relative;
    top: 0px
}

.hotel-img-txt .col-txt .indent {
    padding-top: 0
}

.hotel-img-txt .col-txt p.feat {
    max-width: 460px
}

@media (max-width: 1500px) {
    .hotel-img-txt img {
        top: 90px
    }
}

@media (max-width: 1240px) {
    .hotel-img-txt .cols2 {
        grid-gap: 50px
    }

    .hotel-img-txt .cols2 .col-txt {
        margin-bottom: 30px
    }
}

@media (max-width: 820px) {
    .hotel-img-txt .cols2 {
        grid-template-columns:1fr;
        grid-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: .3
}

.hotel-oasis p.feat {
    max-width: 580px
}

.hotel-oasis .col-txt img {
    margin-top: 80px;
    margin-left: -100px;
    max-height: 562px
}

.hotel-oasis .col-img img {
    max-height: 986px
}

@media (max-width: 820px) {
    .hotel-oasis .dbl-img {
        margin: 50px 0 84px;
        padding: 0 21% 37% 0
    }

    .hotel-oasis .dbl-img .img1 {
        max-height: 77vw
    }

    .hotel-oasis .dbl-img .img-ghost, .hotel-oasis .dbl-img .img2 {
        max-height: 60vw
    }
}

.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 (max-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 (max-width: 1023px) {
    .hotel-reconocimientos .hotel-reconocimientos-slider {
        padding: 0 50px
    }

    .hotel-reconocimientos .links.links-inline li {
        display: block;
        margin-right: 0
    }
}

@media (max-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: mixta-pro, Arial, sans-serif;
    font-size: 40px;
    font-weight: 350;
    color: #d7a360;
    margin: 25px 0
}

.item-reconocimiento .desc {
    font-size: 1rem;
    color: #000;
    margin: 0
}

.item-reconocimiento .desc a {
    color: #000
}

.item-reconocimiento .desc a:hover {
    color: #d7a360
}

@media (max-width: 1800px) {
    .item-reconocimiento {
        max-width: 250px
    }

    .item-reconocimiento img {
        width: 190px
    }

    .item-reconocimiento .desc {
        font-size: 1rem !important;
        line-height: 1.4
    }
}

@media (max-width: 1240px) {
    .item-reconocimiento .year {
        font-size: 38px
    }
}

@media (max-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;
    grid-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 (max-width: 1500px) {
    .gallery-wrapper .swiper-wrapper {
        grid-gap: 60px 20px
    }

    .gallery-wrapper article.gallery-item .gallery-item-link .img-wrapper {
        height: 28vw
    }
}

@media (max-width: 1023px) {
    .gallery-wrapper .swiper-wrapper {
        grid-gap: 45px 16px
    }
}

@media (min-width: calc(820px + 1px)) {
    .gallery-wrapper .swiper-wrapper {
        transform: none !important
    }
}

@media (max-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;
    align-items: center;
    justify-items: 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 .3s ease-in-out
}

article.gallery-item a.gallery-item-link .img-wrapper span {
    color: #fff;
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all .3s ease-in-out
}

article.gallery-item a.gallery-item-link img {
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .4s ease-in-out
}

article.gallery-item a.gallery-item-link:hover .img-wrapper:after {
    opacity: .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 (max-width: 1500px) {
    article.gallery-item a.gallery-item-link .img-wrapper {
        margin-bottom: 25px
    }
}

@media (max-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: .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: .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 (max-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: #d7a360
}

.img-box-wrapper .img-wrapper {
    padding-top: 80px;
    padding-left: 480px
}

.img-box-wrapper .img-wrapper img {
    display: block
}

@media (max-width: 1240px) {
    .img-box-wrapper .box {
        padding: 50px 60px 45px;
        width: 450px
    }

    .img-box-wrapper .img-wrapper {
        padding-left: 370px
    }
}

@media (max-width: 1023px) {
    .img-box-wrapper .box {
        padding: 40px 50px 30px;
        width: 380px
    }

    .img-box-wrapper .img-wrapper {
        padding-left: 300px
    }
}

@media (max-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%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 1800px) {
    .img-box-wrapper.full .box {
        padding: 100px
    }
}

@media (max-width: 1500px) {
    .img-box-wrapper.full .box {
        padding: 85px 80px 90px
    }
}

@media (max-width: 1240px) {
    .img-box-wrapper.full .box {
        width: 470px;
        padding: 75px 54px
    }

    .img-box-wrapper.full .box .links {
        margin-top: 50px
    }
}

.section-tipo-villas article {
    margin-bottom: 160px
}

.section-tipo-villas article .cols2 {
    grid-gap: 0;
    align-items: center
}

.section-tipo-villas article .inner-txt {
    padding: 120px 23%;
    padding: 0 23%
}

.section-tipo-villas article .inner-txt p.feat {
    font-style: normal
}

.section-tipo-villas article .inner-txt .links {
    margin-top: 60px
}

.section-tipo-villas article img {
    aspect-ratio: 940/680;
    -o-object-fit: cover;
    object-fit: cover
}

.section-tipo-villas article:nth-child(odd) .cols2 {
    grid-template-columns:50% 1fr
}

.section-tipo-villas article:nth-child(odd) .col-img {
    order: 1
}

.section-tipo-villas article:nth-child(odd) .col-txt {
    order: 2
}

.section-tipo-villas article:nth-child(even) .cols2 {
    grid-template-columns:1fr 50%
}

@media (max-width: 1800px) {
    .section-tipo-villas article {
        margin-bottom: 140px
    }

    .section-tipo-villas article:first-child {
        margin-top: 130px
    }
}

@media (max-width: 1500px) {
    .section-tipo-villas article:first-child {
        margin-top: 110px
    }

    .section-tipo-villas article .inner-txt {
        padding: 0 17%
    }
}

@media (max-width: 1240px) {
    .section-tipo-villas article {
        margin-bottom: 120px
    }

    .section-tipo-villas article:first-child {
        margin-top: 0
    }

    .section-tipo-villas article .col-txt .inner-txt {
        padding: 0 52px
    }

    .section-tipo-villas article .col-txt .links {
        margin-top: 50px
    }

    .section-tipo-villas article .col-txt .links ul li {
        display: inline-block
    }
}

@media (max-width: 1023px) {
    .section-tipo-villas article {
        margin-bottom: 100px
    }

    .section-tipo-villas article .col-txt .inner-txt .indent {
        padding-top: 22px
    }

    .section-tipo-villas article .col-txt .inner-txt p.feat {
        margin-bottom: 20px
    }

    .section-tipo-villas article .col-txt .links {
        margin-top: 35px
    }
}

@media (max-width: 820px) {
    .section-tipo-villas article {
        margin-bottom: 60px
    }

    .section-tipo-villas article .cols2 {
        grid-template-columns:1fr !important
    }

    .section-tipo-villas article .col-img {
        order: 1 !important;
        margin-bottom: 36px
    }

    .section-tipo-villas article .col-img img {
        height: 240px;
        width: 100%
    }

    .section-tipo-villas article .col-txt {
        order: 2 !important
    }

    .section-tipo-villas article .col-txt .inner-txt {
        padding: 0 32px
    }

    .section-tipo-villas article .col-txt .inner-txt .indent {
        padding: 18px 0 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: #d7a360;
}

.banner-feat-txt span {
    display: block;
    opacity: 1
}

@media (max-width: 1800px) {
    .banner-feat-txt {
        margin: 210px auto 230px
    }

    .banner-feat-txt .tit2 {
        font-size: 5.5rem
    }
}

@media (max-width: 1500px) {
    .banner-feat-txt {
        margin: 180px auto 200px
    }

    .banner-feat-txt.banner-feat-txt-villas {
        margin: 200px auto 220px
    }
}

@media (max-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 (max-width: 1023px) {
    .banner-feat-txt {
        margin: 150px auto 170px
    }

    .banner-feat-txt .tit2 {
        font-size: 4.3rem
    }
}

@media (max-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 (max-width: 400px) {
    .banner-feat-txt .tit2 {
        font-size: 37px;
        line-height: 1.1
    }
}

@media (max-width: 375px) {
    .banner-feat-txt .tit2 {
        font-size: 35px
    }
}

.page-intro-villas .cols2 {
    grid-template-columns:350px 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:.6fr 1fr
}

@media (max-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 (max-width: 1800px) {
    .page-villa .banner img {
        max-height: 620px
    }

    .page-villa .parallax {
        min-height: 620px
    }
}

@media (max-width: 1500px) {
    .page-villa .banner img {
        min-height: 0;
        height: 600px
    }

    .page-villa .parallax {
        min-height: 600px
    }
}

@media (max-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 (max-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: #d7a360;
    margin-bottom: 100px
}

.instalaciones-servicios .col-tit a:hover {
    color: #d7a360
}

.instalaciones-servicios .col-cont ul {
    margin: 0;
    padding: 0;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    -webkit-column-gap: 90px;
    -moz-column-gap: 90px;
    column-gap: 90px
}

.instalaciones-servicios .col-cont ul li {
    font-family: mixta-pro, Arial, sans-serif;
    color: #d7a360;
    list-style: none;
    font-weight: 400;
    font-size: 1.5rem;
    margin-bottom: 16px
}

@media (max-width: 1800px) {
    .instalaciones-servicios .cols2 {
        grid-template-columns:440px 1fr
    }
}

@media (max-width: 1500px) {
    .instalaciones-servicios .cols2 {
        grid-template-columns:420px 1fr
    }
}

@media (max-width: 1024px) {
    .instalaciones-servicios .cols2 {
        grid-template-columns:1fr;
        grid-gap: 55px;
        position: relative;
        padding-bottom: 120px
    }

    .instalaciones-servicios .col-tit .tit2 {
        margin: 0
    }

    .instalaciones-servicios .col-tit .links {
        position: absolute;
        bottom: 0
    }
}

@media (max-width: 820px) {
    .instalaciones-servicios {
        padding: 75px 0 70px
    }

    .instalaciones-servicios .cols2 {
        grid-gap: 30px;
        padding-bottom: 100px
    }

    .instalaciones-servicios .col-tit .links {
        margin-left: 50px
    }

    .instalaciones-servicios .col-cont ul {
        -webkit-columns: 1;
        -moz-columns: 1;
        columns: 1;
        margin-left: 50px
    }

    .instalaciones-servicios .col-cont ul li {
        font-size: 18px;
        margin-bottom: 9px
    }
}

.amenities-extras .amenities {
    max-width: 380px;
    margin: 30px auto 0
}

.amenities-extras .amenities article {
    margin-bottom: 25px
}

.amenities-extras .amenities article p {
    color: #000
}

.amenities-extras .amenities article p.p1 {
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    line-height: 1.2;
    font-size: 1.56rem;
    margin: 0 0 2px 0
}

.amenities-extras.page-villa-iconic .col-1 img {
    aspect-ratio: 650/976
}

.amenities-extras.page-villa-iconic .col-3 {
    padding-right: 80px
}

.amenities-extras.page-villa-iconic .col-3 img {
    aspect-ratio: 580/762;
    margin-top: 480px
}

.amenities-extras.page-villas-ocean .col-1 img {
    aspect-ratio: 580/661;
    margin-top: 430px
}

.amenities-extras.page-villas-ocean .col-3 img {
    aspect-ratio: 760/800;
    margin-top: 0
}

.amenities-extras.page-villas-collection .col-3 {
    padding-right: 80px
}

.amenities-extras.page-villas-collection .col-3 img {
    aspect-ratio: 618/564;
    margin-top: 640px
}

.amenities-extras.page-villas-sea-lounge .col-1 img {
    aspect-ratio: 580/950
}

.amenities-extras.page-villas-sea-lounge .col-3 {
    padding-right: 80px
}

.amenities-extras.page-villas-sea-lounge .col-3 img {
    aspect-ratio: 580/760;
    margin-top: 460px
}

.amenities-extras.page-villas-deluxe .col-1 img {
    aspect-ratio: 580/700
}

.amenities-extras.page-villas-deluxe .col-3 img {
    aspect-ratio: 920/800;
    margin-top: 600px
}

.amenities-extras.page-villas-rustic .col-1 img {
    aspect-ratio: 600/620;
    margin-top: 520px
}

.amenities-extras.page-villas-rustic .col-3 img {
    aspect-ratio: 555/845;
    margin-top: 0;
    width: 100%;
    max-height: 850px
}

@media (max-width: 1500px) {
    .amenities-extras .amenities {
        margin-top: 10px
    }

    .amenities-extras .inner-txt {
        margin-top: 90px !important
    }
}

@media (max-width: 1023px) {
    .amenities-extras .inner-txt {
        margin-top: 70px !important
    }
}

@media (max-width: 820px) {
    .amenities-extras {
        margin: 80px 0 !important
    }

    .amenities-extras .amenities article {
        margin-bottom: 20px
    }

    .amenities-extras .inner-txt {
        margin-top: 0 !important
    }

    .amenities-extras .col-txt {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto
    }

    .amenities-extras .col-txt .tit2 {
        max-width: 180px !important;
        margin: 0 auto
    }

    .amenities-extras .col-txt .indent {
        padding-top: 10px;
        padding-bottom: 10px
    }

    .amenities-extras .col-1 {
        display: none
    }

    .amenities-extras .col-3 {
        padding: 0 !important
    }

    .amenities-extras .col-3 img {
        margin-top: 0 !important;
        width: 100% !important;
        height: 570px !important
    }
}

.otras-villas .tit-center {
    margin-bottom: 75px
}

.otras-villas .villas-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: mixta-pro, Arial, sans-serif;
    font-size: 1.875rem;
    letter-spacing: .093rem;
    line-height: 1.07;
    font-weight: 400;
    opacity: 1;
    transition: opacity .35s ease-in-out
}

.otras-villas .villas-swiper .swiper-slide a img {
    display: block;
    aspect-ratio: 269/362;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all .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: .3;
    transition: opacity .35s ease-in-out
}

.otras-villas .villas-swiper .swiper-slide a:hover:after {
    opacity: .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 (max-width: 1800px) {
    .otras-villas .tit-center {
        margin-bottom: 65px
    }
}

@media (max-width: 1500px) {
    .otras-villas .swiper-button-prev {
        left: -40px
    }

    .otras-villas .swiper-button-next {
        right: -40px
    }
}

@media (max-width: 1240px) {
    .otras-villas .tit-center {
        margin-bottom: 50px
    }
}

@media (max-width: 1023px) {
    .otras-villas .villas-swiper .swiper-slide a span {
        font-size: 22px
    }
}

@media (max-width: 820px) {
    .otras-villas .tit-center {
        margin: 80px 0 30px
    }

    .otras-villas .tit-center p {
        font-family: indivisible, Arial, sans-serif;
        font-size: 16px;
        font-weight: 400
    }

    .otras-villas .villas-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: .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 (max-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: indivisible, Arial, sans-serif;
        text-transform: uppercase;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: .19rem
    }

    .conozca-villa.single article.gallery-item a.gallery-item-link .img-wrapper:after {
        opacity: .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: .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 (max-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;
    grid-gap: 90px
}

.gastronomia-menu .col-txt {
    padding-right: 11.8vw
}

@media (max-width: 1240px) {
    .gastronomia-menu .col-txt {
        padding-right: 8vw
    }
}

@media (max-width: 1023px) {
    .gastronomia-menu .cols2 {
        grid-template-columns:1.1fr 1fr;
        grid-gap: 60px
    }
}

@media (max-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 {
    grid-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: #d7a360
}

.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 (max-width: 1800px) {
    .banner-coctel-bar {
        margin-bottom: 150px
    }
}

@media (max-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
    }
}

@media (max-width: 1240px) {
    .banner-coctel-bar {
        margin-bottom: 120px
    }
}

@media (max-width: 1023px) {
    .banner-coctel-bar {
        margin-bottom: 100px
    }
}

@media (max-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 (max-width: 820px) {
    .video-expand-gastro.section-l {
        margin-bottom: 90px;
        margin-top: 90px;
        width: calc(100% - 52px * 2)
    }
}

.page-gastronomia .footer-hotel {
    margin-top: 0
}

@media (max-width: 820px) {
    .page-gastronomia .footer-hotel {
        margin-top: 40px
    }
}

@media (max-width: 1800px) {
    .gastro-servicios {
        margin-bottom: 60px !important
    }
}

@media (max-width: 1500px) {
    .gastro-servicios {
        margin-bottom: 40px !important
    }
}

@media (max-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 (max-width: 1240px) {
    .restaurar-armonia .img-wrapper {
        padding-left: 50px
    }

    .restaurar-armonia .img-wrapper img {
        max-width: 300px;
        margin-left: auto
    }
}

@media (max-width: 820px) {
    .restaurar-armonia {
        margin-bottom: 110px !important
    }

    .restaurar-armonia .cols2 {
        grid-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-righ: 0
}

@media (max-width: 1500px) {
    .wellness-gym .inner-txt {
        padding-left: 0;
        margin-bottom: 100px
    }
}

@media (max-width: 1240px) {
    .wellness-gym .inner-txt {
        margin-bottom: 50px
    }
}

@media (max-width: 820px) {
    .wellness-gym .cols2 {
        grid-gap: 30px;
        grid-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-servicios .inner-txt .feat + p {
    margin-top: 50px
}

@media (max-width: 820px) {
    .page-servicios {
        padding-top: 20px
    }

    .page-servicios .cols2 {
        grid-template-columns:1fr !important;
        grid-gap: 20px
    }

    .page-servicios .col-img {
        order: 2
    }

    .page-servicios .inner-txt {
        margin-top: 0 !important
    }

    .page-servicios .inner-txt .feat + p {
        margin-top: 35px
    }

    .page-servicios .inner-txt .indent {
        padding-left: 0;
        padding-bottom: 0
    }

    .page-servicios img {
        height: 97.5vw;
        max-height: 400px !important;
        width: 100%
    }
}

.servicios-row-1 .cols2, .servicios-row-4 .cols2 {
    grid-template-columns:1fr 1.6fr
}

.servicios-row-1 img, .servicios-row-4 img {
    width: 100%;
    max-height: 620px;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 1240px) {
    .servicios-row-1 .cols2, .servicios-row-4 .cols2 {
        grid-template-columns:1fr 1.3fr
    }
}

@media (max-width: 820px) {
    .servicios-row-1 .inner-txt.mt-s, .servicios-row-4 .inner-txt.mt-s {
        margin-top: 15px
    }
}

.servicios-row-1 {
    margin-bottom: 125px !important
}

@media (max-width: 1240px) {
    .servicios-row-1 {
        margin-bottom: 100px !important
    }
}

@media (max-width: 820px) {
    .servicios-row-1 {
        margin-bottom: 55px !important
    }
}

.servicios-row-2 {
    margin-top: 0
}

.servicios-row-2 .cols2 {
    grid-template-columns:1.6fr 1fr
}

.servicios-row-2 .inner-txt {
    max-width: 320px
}

.servicios-row-2 .indent {
    padding: 0 !important
}

@media (max-width: 1240px) {
    .servicios-row-2 .cols2 {
        grid-template-columns:1.5fr 1fr
    }
}

.cont-3-cols .cols, .servicios-row-3 .cols, .servicios-row-6 .cols {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 100px
}

.cont-3-cols img, .servicios-row-3 img, .servicios-row-6 img {
    -o-object-fit: cover;
    object-fit: cover
}

.cont-3-cols .col-txt, .servicios-row-3 .col-txt, .servicios-row-6 .col-txt {
    text-align: center
}

.cont-3-cols .col-txt .inner-txt, .servicios-row-3 .col-txt .inner-txt, .servicios-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, .servicios-row-3 .col-txt .inner-txt .tit2, .servicios-row-3 .col-txt .inner-txt p, .servicios-row-6 .col-txt .inner-txt .tit2, .servicios-row-6 .col-txt .inner-txt p {
    max-width: 100%
}

.cont-3-cols .col-txt .inner-txt .indent, .servicios-row-3 .col-txt .inner-txt .indent, .servicios-row-6 .col-txt .inner-txt .indent {
    padding-left: 0;
    padding-right: 0
}

@media (max-width: 1800px) {
    .cont-3-cols .cols, .servicios-row-3 .cols, .servicios-row-6 .cols {
        grid-gap: 90px
    }

    .cont-3-cols .col-txt .inner-txt, .servicios-row-3 .col-txt .inner-txt, .servicios-row-6 .col-txt .inner-txt {
        margin-top: 120px
    }
}

@media (max-width: 1500px) {
    .cont-3-cols .cols, .servicios-row-3 .cols, .servicios-row-6 .cols {
        grid-gap: 80px
    }

    .cont-3-cols .col-txt .inner-txt, .servicios-row-3 .col-txt .inner-txt, .servicios-row-6 .col-txt .inner-txt {
        margin-top: 100px
    }
}

@media (max-width: 1240px) {
    .cont-3-cols .cols, .servicios-row-3 .cols, .servicios-row-6 .cols {
        grid-gap: 70px
    }

    .cont-3-cols .col-txt .inner-txt, .servicios-row-3 .col-txt .inner-txt, .servicios-row-6 .col-txt .inner-txt {
        margin-top: 70px
    }
}

@media (max-width: 820px) {
    .cont-3-cols .cols, .servicios-row-3 .cols, .servicios-row-6 .cols {
        grid-template-columns:1fr;
        grid-gap: 25px;
        padding: 0 32px
    }

    .cont-3-cols .col-txt, .servicios-row-3 .col-txt, .servicios-row-6 .col-txt {
        text-align: left
    }

    .cont-3-cols .col-txt .inner-txt, .servicios-row-3 .col-txt .inner-txt, .servicios-row-6 .col-txt .inner-txt {
        margin: 0
    }

    .cont-3-cols img, .servicios-row-3 img, .servicios-row-6 img {
        height: 97.5vw !important;
        width: 100%
    }
}

.servicios-row-3 .col-1 img {
    aspect-ratio: 600/500;
    margin-top: 320px;
    height: 24.5vw
}

.servicios-row-3 .col-3 img {
    aspect-ratio: 580/720;
    height: 36.5vw
}

.servicios-row-4 .indent {
    max-width: 310px
}

.servicios-row-5 .indent {
    max-width: 320px
}

.servicios-row-6 .col-txt .inner-txt .indent {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto
}

.servicios-row-6 .col-1 img {
    aspect-ratio: 578/634;
    height: 32.4vw
}

.servicios-row-6 .col-3 img {
    aspect-ratio: 583/389;
    margin-top: 360px
}

@media (max-width: 820px) {
    .servicios-row-6 .col-3 {
        display: none
    }

    .servicios-row-6 .col-1 {
        order: 3
    }
}

.servicios-row-7 .cols2 {
    grid-template-columns:1.5fr 1fr;
    align-items: center
}

.servicios-row-7 .col-img {
    margin-left: -50px
}

.servicios-row-7 .col-txt .inner-txt .indent {
    max-width: 400px
}

.servicios-row-7 .col-txt p:last-child {
    margin-bottom: 0
}

@media (max-width: 820px) {
    .servicios-row-7 .col-img {
        margin: 20px 0 40px
    }
}

.links-img .container {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-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 .5s ease-in-out;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: .25rem
}

.links-img article .img-wrapper img {
    aspect-ratio: 460/580;
    -o-object-fit: cover;
    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 .35s ease-in-out
}

.links-img article p {
    color: #000;
    font-family: mixta-pro, Arial, sans-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: .4
}

@media (max-width: 1500px) {
    .links-img article .img-wrapper img {
        height: 34vw
    }
}

@media (max-width: 1240px) {
    .links-img .container {
        grid-gap: 20px
    }
}

@media (max-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 (max-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;
    grid-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: .13;
    transition: opacity .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 .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: .25rem
}

.tour-boxes-wrapper .tour-box a span.txt2 {
    margin-top: 4px;
    font-family: mixta-pro, Arial, sans-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: 1rem;
    letter-spacing: .25rem;
    opacity: 0;
    visibility: hidden
}

.tour-boxes-wrapper .tour-box a:hover:after {
    opacity: .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;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .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 (max-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 (max-width: 1240px) {
    .tour-boxes-wrapper {
        grid-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 (max-width: 820px) {
    .tour-boxes-wrapper {
        grid-template-columns:1fr;
        grid-gap: 0
    }

    .tour-boxes-wrapper .tour-box {
        padding: 0;
        margin: 0 0 32px 0
    }

    .tour-boxes-wrapper .tour-box img {
        height: 380px
    }

    .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: .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 {
    -webkit-appearance: none;
    border: none;
    background: 0 0;
    padding: 0 0 0 1px;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: .2rem;
    text-transform: uppercase;
    color: #000;
    margin: 0 20px;
    border-bottom: 1px solid transparent
}

.nuestro-entorno .entorno-header .filter a:hover, .nuestro-entorno .entorno-header .filter button:hover {
    color: #d7a360
}

.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: #000
}

@media (max-width: 1800px) {
    .nuestro-entorno {
        margin-bottom: 240px
    }
}

@media (max-width: 1500px) {
    .nuestro-entorno {
        margin-bottom: 210px
    }

    .nuestro-entorno .entorno-content {
        margin-top: -280px
    }

    .nuestro-entorno .entorno-header {
        padding-bottom: 280px
    }
}

@media (max-width: 1240px) {
    .nuestro-entorno {
        margin-bottom: 180px
    }
}

@media (max-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: .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 (max-width: 375px) {
    .nuestro-entorno .entorno-header .filter a, .nuestro-entorno .entorno-header .filter button {
        letter-spacing: .08rem;
        margin: 5px 6px
    }
}

.entorno-items {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-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 .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: .25rem;
    font-weight: 500;
    margin-top: 52px
}

.entorno-items article .txt-wrapper a:hover {
    opacity: .7
}

.entorno-items article .img-wrapper {
    position: relative;
    margin-bottom: 30px;
    display: grid;
    align-items: center;
    justify-items: 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 .5s ease-in-out
}

.entorno-items article img {
    aspect-ratio: 460/578;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 30.8vw;
    display: block;
    transition: all .4s ease-in-out
}

.entorno-items article p {
    margin: 0;
    font-family: mixta-pro, Arial, sans-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: .35
}

@media (max-width: 1500px) {
    .entorno-items article img {
        height: 36vw
    }
}

@media (max-width: 1240px) {
    .entorno-items {
        grid-gap: 65px 20px
    }

    .entorno-items article .img-wrapper {
        margin-bottom: 25px
    }
}

@media (max-width: 820px) {
    .entorno-items {
        grid-template-columns:1fr;
        grid-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: .2rem
    }

    .entorno-items article .img-wrapper {
        margin-bottom: 15px
    }

    .entorno-items article img {
        height: 170px
    }

    .entorno-items article p {
        font-size: 20px
    }
}

.section-accordion {
    margin: -30px 0 100px
}

.section-accordion article {
    border-bottom: 1px solid #000;
    text-align: center
}

.section-accordion article:last-child {
    border-bottom: 0
}

.section-accordion article.active .accordion-header:after {
    transform: rotate(-180deg);
    opacity: .65
}

.section-accordion .accordion-header {
    position: relative
}

.section-accordion .accordion-header p {
    color: #000;
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 2.25rem;
    margin: 0 auto;
    padding: 35px 80px;
    max-width: 680px
}

.section-accordion .accordion-header:after {
    content: "";
    display: block;
    background: url(../images/assets/arrow-accordion.svg) no-repeat;
    background-size: cover;
    width: 45px;
    height: 23px;
    position: absolute;
    top: 40px;
    right: 0;
    opacity: 1;
    transition: all .3s ease-in-out;
    transition: opacity .4s ease-in-out
}

.accordion-header.idiomas:after {
    background: url(../images/assets/arrow-accordion.svg) no-repeat;
}

.section-accordion .accordion-header:hover, .section-accordion .accordion-header:hover p {
    cursor: pointer
}

.section-accordion .panel {
    padding: 0 10px 20px
}

.section-accordion .panel ul {
    margin: 0 0 20px 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 .panel a {
    text-decoration: none;
    border-bottom: 1px solid #d7a360;
    line-height: 1.1
}

@media (max-width: 1500px) {
    .section-accordion .accordion-header p {
        max-width: 640px
    }
}

@media (max-width: 1240px) {
    .section-accordion .accordion-header p {
        font-size: 24px;
        padding: 32px 55px
    }

    .section-accordion .accordion-header:after {
        width: 45px;
        height: 23px;
        top: 39px
    }
}

@media (max-width: 820px) {
    .section-accordion {
        margin-bottom: 50px
    }

    .section-accordion article {
        text-align: left
    }

    .section-accordion .accordion-header p {
        padding: 30px 45px 30px 0;
        font-size: 22px;
        line-height: 1.25
    }

    .section-accordion .accordion-header:after {
        width: 45px;
        height: 23px;
    }

    .section-accordion .panel {
        padding: 0 0 15px
    }
}

.section-reconocimientos {
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-gap: 140px 20px
}

.section-reconocimientos .item-reconocimiento .desc {
    font-size: 1.125rem
}

@media (max-width: 1800px) {
    .section-reconocimientos {
        grid-gap: 120px 20px
    }

    .section-reconocimientos .item-reconocimiento .desc {
        font-size: 1.1rem
    }
}

@media (max-width: 1240px) {
    .section-reconocimientos {
        grid-gap: 90px 20px
    }

    .section-reconocimientos .item-reconocimiento {
        padding: 0 25px
    }
}

@media (max-width: 1023px) {
    .section-reconocimientos {
        grid-template-columns:1fr 1fr 1fr
    }
}

@media (max-width: 820px) {
    .section-reconocimientos {
        grid-template-columns:1fr 1fr;
        grid-gap: 70px 33px
    }

    .section-reconocimientos .item-reconocimiento {
        padding: 0
    }
}

.footer-btn {
    text-align: center;
    margin: 110px 0
}

.footer-btn a.btn2 {
    padding: 6px 13px 5px;
    border: 1px solid #000;
    color: #000;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: .23rem;
    margin-bottom: 60px
}

.footer-btn a.btn2:hover {
    background: #F6F3F1
}

@media (max-width: 820px) {
    .footer-btn {
        margin: 65px 0
    }

    .footer-btn a.btn2 {
        font-size: 14px;
        margin-bottom: 45px
    }
}

.section-prensa {
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-gap: 130px 60px
}

@media (max-width: 1800px) {
    .section-prensa {
        grid-gap: 110px 55px
    }
}

@media (max-width: 1500px) {
    .section-prensa {
        grid-gap: 90px 50px
    }
}

@media (max-width: 1240px) {
    .section-prensa {
        grid-gap: 70px 30px
    }
}

@media (max-width: 1023px) {
    .section-prensa {
        grid-template-columns:1fr 1fr 1fr;
        grid-gap: 55px 40px
    }
}

@media (max-width: 820px) {
    .section-prensa {
        grid-template-columns:1fr 1fr;
        grid-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 .5s ease-in-out
}

.item-prensa .img-wrapper img {
    height: 27vw;
    width: 100%;
    aspect-ratio: 300/460;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center bottom;
    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 .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: .4
}

.item-prensa .desc {
    font-size: 1.125rem;
    color: #000;
    margin: 0 20px
}

.item-prensa .desc a {
    color: #000
}

.item-prensa .desc a:hover {
    color: #d7a360
}

.item-prensa p.medio {
    margin-top: 24px;
    color: #000;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1.125rem;
    letter-spacing: .2rem
}

@media (max-width: 1800px) {
    .item-prensa .desc {
        font-size: 1.1rem;
        line-height: 1.4
    }

    .item-prensa p.medio {
        font-size: 1.1rem
    }
}

@media (max-width: 1500px) {
    .item-prensa .img-wrapper img {
        height: 30vw
    }

    .item-prensa .desc br {
        display: none
    }
}

@media (max-width: 1240px) {
    .item-prensa .img-wrapper img {
        height: 31.5vw
    }
}

@media (max-width: 1023px) {
    .item-prensa .img-wrapper img {
        height: 40vw
    }
}

@media (max-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: .14rem;
        line-height: 1.38
    }
}

.restaurante-intro .indent p.feat {
    max-width: 400px
}

.banner-restaurante {
    position: relative;
    padding: 180px 0 0
}

.banner-restaurante:before {
    content: "";
    display: block;
    background: #5E514D;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 90%;
    z-index: 1
}

.banner-restaurante img {
    -o-object-fit: cover;
    object-fit: cover;
    display: block
}

.banner-restaurante .img1 {
    aspect-ratio: 820/650
}

.banner-restaurante .img2 {
    aspect-ratio: 940/650;
    margin-top: -500px
}

.banner-restaurante .img3 {
    aspect-ratio: 600/640;
    margin-right: 11.8vw
}

.banner-restaurante p.feat {
    max-width: 440px;
    color: #fff
}

.banner-restaurante .col1, .banner-restaurante .col2 {
    position: relative;
    z-index: 2
}

.banner-restaurante .col1 p.feat {
    margin-left: 11.8vw;
    margin-top: 80px
}

.banner-restaurante .col2 .gastro-icons {
    margin: 50px 0 55px
}

.banner-restaurante .col2 .indent {
    padding-right: 11.8vw
}

.banner-restaurante .col2 p.feat {
    margin-bottom: 120px
}

@media (max-width: 1240px) {
    .banner-restaurante .img2 {
        margin-top: -450px
    }
}

@media (max-width: 820px) {
    .banner-restaurante {
        padding: 0
    }

    .banner-restaurante .img1 {
        width: 100%;
        height: 340px
    }

    .banner-restaurante .img2 {
        margin: 0;
        width: 100%;
        height: 300px
    }

    .banner-restaurante .img3 {
        width: 100%;
        height: 380px
    }

    .banner-restaurante p.feat {
        max-width: 100%
    }

    .banner-restaurante .col1 p.feat {
        margin-left: 0;
        padding: 0 32px
    }

    .banner-restaurante .col2 p.feat {
        margin-bottom: 75px
    }
}

.menu-degustacion .page-intro.center p.feat {
    max-width: 630px
}

.menu-degustacion .page-intro.center p {
    max-width: 680px;
    color: #887B78
}

.menu-degustacion .menu-degustacion-wrapper {
    margin: 120px 0 50px;
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 40px
}

.menu-degustacion .menu-degustacion-wrapper article img:not(.clip) {
    aspect-ratio: 460/580;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    transition: transform .35s ease-in-out;
    position: relative;
    top: .3px;
    height: 30vw;
    width: 100%
}

.menu-degustacion .menu-degustacion-wrapper article a {
    position: relative;
    display: grid;
    align-items: center;
    text-align: center;
    overflow: hidden
}

.menu-degustacion .menu-degustacion-wrapper article a span {
    color: #fff;
    display: block;
    width: 100%
}

.menu-degustacion .menu-degustacion-wrapper article a span.txt1 {
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    font-size: 4.6rem;
    line-height: 1
}

.menu-degustacion .menu-degustacion-wrapper article a span.txt2 {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: .2rem;
    margin-top: 38px
}

.menu-degustacion .menu-degustacion-wrapper article a span.txt {
    position: absolute;
    padding: 20px;
    box-sizing: border-box;
    z-index: 3;
    margin-top: 10px
}

.menu-degustacion .menu-degustacion-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 .3s ease-in-out
}

.menu-degustacion .menu-degustacion-wrapper article a:hover:after {
    opacity: .35
}

.menu-degustacion .menu-degustacion-wrapper article a:hover img:not(.clip) {
    transform: scale(1.05)
}

.menu-degustacion .menu-degustacion-wrapper .clip-path {
    position: relative
}

.menu-degustacion .menu-degustacion-wrapper .clip-path .clip, .menu-degustacion .menu-degustacion-wrapper .clip-path svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 4
}

@media (max-width: 1800px) {
    .menu-degustacion .menu-degustacion-wrapper {
        margin-top: 100px;
        grid-gap: 25px
    }

    .menu-degustacion .menu-degustacion-wrapper article a span.txt1 {
        font-size: 3.8rem;
        line-height: .95
    }
}

@media (max-width: 1500px) {
    .menu-degustacion .menu-degustacion-wrapper {
        margin-top: 90px
    }

    .menu-degustacion .menu-degustacion-wrapper article img:not(.clip) {
        height: 35.1vw
    }
}

@media (max-width: 1240px) {
    .menu-degustacion .menu-degustacion-wrapper {
        margin-top: 80px;
        grid-gap: 20px
    }

    .menu-degustacion .menu-degustacion-wrapper article a span.txt1 {
        font-size: 3.5rem
    }
}

@media (max-width: 820px) {
    .menu-degustacion .menu-degustacion-wrapper {
        margin: 70px 0 50px;
        grid-template-columns:1fr;
        grid-gap: 25px
    }

    .menu-degustacion .menu-degustacion-wrapper article img {
        border-radius: 80px 80px 0 0;
        border-radius: 0;
        width: 100%;
        height: 240px !important
    }

    .menu-degustacion .menu-degustacion-wrapper article img.clip {
        display: none
    }

    .menu-degustacion .menu-degustacion-wrapper article a span.txt1 {
        font-size: 42px
    }

    .menu-degustacion .menu-degustacion-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;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-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;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    height: 36.4vw
}

@media (max-width: 1023px) {
    .cocteles-autor .col-img {
        padding: 0
    }
}

@media (max-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
    }
}

.el-espacio {
    display: grid;
    align-items: center;
    position: relative;
    padding: 190px 0 0
}

.el-espacio .espacio-box {
    position: relative;
    z-index: 2;
    background: #000;
    text-align: center;
    padding: 120px 100px 100px;
    width: 34vw
}

.el-espacio .espacio-box .indent {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0
}

.el-espacio .espacio-box p {
    margin-left: auto;
    margin-right: auto
}

.el-espacio .espacio-box p.feat {
    margin-bottom: 50px
}

.el-espacio .espacio-box .tit2, .el-espacio .espacio-box a, .el-espacio .espacio-box p {
    color: #fff
}

.el-espacio .espacio-box a:hover {
    color: #E7E0DA
}

.el-espacio img {
    position: absolute;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .2s ease-in-out
}

.el-espacio .img1, .el-espacio .img1-ghost {
    aspect-ratio: 630/560;
    z-index: 3;
    top: 0;
    left: 0;
    width: 33vw;
    height: 29vw
}

.el-espacio .img2, .el-espacio .img2-ghost {
    aspect-ratio: 667/646;
    top: 110px;
    right: 0;
    width: 33vw;
    height: 32vw
}

@media (max-width: 820px) {
    .el-espacio {
        padding-top: 140px
    }

    .el-espacio .img1, .el-espacio .img1-ghost {
        width: 60vw;
        height: 190px
    }

    .el-espacio .img2, .el-espacio .img2-ghost {
        width: 50vw;
        height: 210px;
        top: 80px
    }

    .el-espacio .espacio-box {
        width: calc(100% - 32px * 2);
        padding: 110px 32px 100px;
        margin: 0 calc(32px);
        box-sizing: border-box
    }

    .el-espacio .espacio-box p.feat {
        margin-bottom: 33px
    }

    .el-espacio .espacio-box .links {
        margin-top: 60px
    }
}

.el-espacio-bottom {
    margin-top: -140px
}

.el-espacio-bottom img {
    position: relative
}

.el-espacio-bottom .img3 {
    aspect-ratio: 500/600;
    width: 25vw;
    height: 30vw;
    top: -124px
}

.el-espacio-bottom .img4 {
    aspect-ratio: 764/520;
    z-index: 3;
    width: 35vw;
    width: 100%;
    height: 27.3vw
}

@media (max-width: 1500px) {
    .el-espacio-bottom {
        margin-top: -60px
    }
}

@media (max-width: 820px) {
    .el-espacio-bottom {
        margin-top: -140px;
        position: relative
    }

    .el-espacio-bottom .img3 {
        width: 45vw;
        height: 280px;
        top: -50px;
        left: -32px
    }

    .el-espacio-bottom .img4 {
        width: 60vw;
        height: 190px;
        position: absolute;
        top: 90px;
        right: 0
    }
}

.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: #d7a360
}

.menu-wrapper .tit2 {
    color: #000;
    font-size: 3.48rem
}

.menu-wrapper .tit2:after {
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    background: #d7a360;
    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: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    font-size: 1.875rem;
    color: #000;
    margin: 0 0 10px 0
}

.menu-wrapper .menu-footer:after {
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    background: #d7a360;
    margin: 40px auto 0
}

.menu-wrapper .menu-details {
    margin-top: 30px
}

.menu-wrapper .menu-details .info, .menu-wrapper .menu-details .price {
    font-size: 1rem;
    color: #000;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .2rem
}

.menu-wrapper .menu-details .info a, .menu-wrapper .menu-details .price a {
    border-bottom: 1px solid #000;
    color: #000;
    line-height: 1
}

.menu-wrapper .menu-details .info a:hover, .menu-wrapper .menu-details .price a:hover {
    color: #d7a360;
    border-color: #d7a360
}

.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 (max-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-footer p {
        font-size: 14px;
        line-height: 1.3
    }

    .menu-wrapper .menu-footer:after {
        margin-top: 35px
    }

    .menu-wrapper .menu-details .info, .menu-wrapper .menu-details p {
        font-size: 14px;
        line-height: 1.3
    }

    .menu-wrapper .menu-details .info {
        letter-spacing: .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 .25s ease-in-out, visibility .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 (max-width: 1023px) {
    .menu-popup .close {
        top: 20px;
        right: 25px
    }
}

.tapas-intro .col-img img {
    aspect-ratio: 940/695;
    max-height: 700px;
    width: 100%
}

@media (max-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%;
    -o-object-fit: cover;
    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 (max-width: 1800px) {
    .menu-tapas-wrapper .col-img, .menu-tapas-wrapper .col-video {
        width: calc(100% / 3.25)
    }
}

@media (max-width: 1500px) {
    .menu-tapas-wrapper .col-img, .menu-tapas-wrapper .col-video {
        width: calc(100% / 3.7)
    }
}

@media (max-width: 1240px) {
    .menu-tapas-wrapper .col-img, .menu-tapas-wrapper .col-video {
        width: calc(100% / 4.2)
    }
}

@media (max-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;
        -o-object-position: center 65%;
        object-position: center 65%
    }

    .menu-tapas-wrapper .menu-wrapper .inner-menu {
        padding: 50px 32px
    }
}

@media (max-width: 871px) {
    .reserva-menu .tit-center, .reserva-menu .tit2 {
        margin-bottom: 15px
    }

    .reserva-menu .iframe-reserva-container iframe {
        min-height: 650px !important
    }
}

.reserva-footer {
    text-align: center;
    padding-bottom: 1px
}

.reserva-footer p {
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .2rem
}

.reserva-footer p a {
    font-weight: 400;
    color: #000
}

.reserva-footer p a:hover {
    color: #D7CDC3
}

.obrador-intro .cols2, .obrador-intro .ml-txt .cols2 {
    grid-template-columns:1fr 1.5fr
}

@media (max-width: 1500px) {
    .obrador-intro .cols2, .obrador-intro .ml-txt .cols2 {
        grid-template-columns:1fr 1.34fr
    }
}

@media (max-width: 1240px) {
    .obrador-intro .cols2 .inner-txt, .obrador-intro .ml-txt .cols2 .inner-txt {
        padding-left: 52px
    }
}

@media (max-width: 820px) {
    .obrador-intro .cols2, .obrador-intro .ml-txt .cols2 {
        grid-template-columns:1fr
    }

    .obrador-intro .cols2 .inner-txt, .obrador-intro .ml-txt .cols2 .inner-txt {
        padding-left: 0
    }
}

.obrador-row-1 .col-txt .inner-txt {
    margin-top: 62px
}

.obrador-row-1 .col-txt .inner-txt .indent {
    max-width: 430px;
    margin-left: auto;
    margin-right: auto
}

.obrador-row-1 .col-1 img {
    aspect-ratio: 460/645
}

.obrador-row-1 .col-3 img {
    aspect-ratio: 420/530;
    margin-top: 190px
}

@media (max-width: 820px) {
    .obrador-row-1 .cols {
        padding: 0 !important
    }

    .obrador-row-1 .col-1 {
        display: none
    }

    .obrador-row-1 .col-3 img {
        margin-top: 0;
        height: 380px !important
    }

    .obrador-row-1 .col-txt .inner-txt {
        margin-top: 10px
    }
}

.obrador-row-2 {
    padding: 0 50px
}

.obrador-row-2 .cols2 {
    grid-template-columns:1.2fr 1fr;
    align-items: center
}

.obrador-row-2 .cols2 .indent {
    padding-left: 20px;
    max-width: 330px
}

@media (max-width: 820px) {
    .obrador-row-2 {
        padding: 0
    }

    .obrador-row-2 .cols2 {
        grid-template-columns:1fr;
        grid-gap: 33px
    }

    .obrador-row-2 .cols2 .col-img {
        order: 2
    }

    .obrador-row-2 .cols2 .col-img img {
        width: 100%;
        max-height: 420px !important
    }

    .obrador-row-2 .cols2 .col-txt .indent {
        padding: 0
    }
}

.obrador-row-3 .cols2 {
    grid-template-columns:auto 1fr
}

.obrador-row-3 .col-txt {
    padding-left: 40px;
    padding-bottom: 60px
}

.obrador-row-3 .col-txt .inner-txt p.feat {
    max-width: 440px
}

.obrador-row-3 .col-txt .inner-txt p {
    max-width: 380px
}

.obrador-row-3 .col-img {
    position: relative;
    top: 100px;
    z-index: 2
}

.obrador-row-3 .col-img img {
    aspect-ratio: 813/596;
    max-height: 620px;
    width: 100%
}

@media (max-width: 1240px) {
    .obrador-row-3 .col-txt {
        padding-left: 0
    }
}

@media (max-width: 820px) {
    .obrador-row-3 {
        margin-top: 80px !important;
        margin-bottom: 25px !important
    }

    .obrador-row-3 .cols2 {
        grid-template-columns:1fr
    }

    .obrador-row-3 .col-txt {
        padding: 0
    }

    .obrador-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 (max-width: 1800px) {
    .bar-content {
        padding: 170px 0 110px
    }
}

@media (max-width: 1500px) {
    .bar-content {
        padding: 150px 0 100px
    }
}

@media (max-width: 1240px) {
    .bar-content {
        padding: 130px 0 85px
    }
}

@media (max-width: 1023px) {
    .bar-content {
        padding: 120px 0 70px
    }
}

@media (max-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 (max-width: 1980px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 8vw
    }
}

@media (max-width: 1800px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 0
    }
}

@media (max-width: 1500px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 8vw
    }
}

@media (max-width: 1240px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 52px
    }
}

@media (max-width: 1240px) {
    .bar-row-1 .col-txt .inner-txt {
        padding-left: 0
    }
}

@media (max-width: 820px) {
    .bar-row-1 .cols2 {
        grid-gap: 25px
    }

    .bar-row-1 img {
        width: calc(100vw - 32px - 50px);
        height: 50vw;
        position: relative;
        right: -32px;
        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 (max-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 (max-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 (max-width: 1500px) {
    .bar-row-2 {
        margin-top: -200px
    }

    .bar-row-2 .col-txt {
        margin-top: 200px
    }
}

@media (max-width: 1240px) {
    .bar-row-2 {
        margin-top: -80px
    }

    .bar-row-2 .col-txt {
        margin-top: 60px
    }
}

@media (max-width: 1023px) {
    .bar-row-2 {
        margin-top: -20px
    }

    .bar-row-2 .col-txt {
        margin-top: 0
    }
}

@media (max-width: 820px) {
    .bar-row-2 {
        margin-top: 0
    }

    .bar-row-2 .cols2 {
        grid-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: 80vw !important;
        height: 49vw;
        margin-left: -32px
    }
}

.banner-bar-green {
    background: #3C4936;
    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 (max-width: 1800px) {
    .banner-bar-green .col-txt .inner-txt {
        padding-left: 0
    }
}

@media (max-width: 1500px) {
    .banner-bar-green {
        padding: 120px 0 220px
    }

    .banner-bar-green .col-txt .inner-txt {
        padding-left: 8vw
    }
}

@media (max-width: 1240px) {
    .banner-bar-green {
        padding: 110px 0 150px
    }

    .banner-bar-green .col-txt .inner-txt {
        padding-left: 52px
    }
}

@media (max-width: 1023px) {
    .banner-bar-green .col-txt .inner-txt {
        padding-left: 0
    }
}

@media (max-width: 820px) {
    .banner-bar-green {
        padding: 90px 0
    }

    .banner-bar-green .cols2 {
        grid-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 (max-width: 1800px) {
    .bar-row-3 {
        padding-bottom: 230px
    }
}

@media (max-width: 1500px) {
    .bar-row-3 {
        padding-bottom: 210px
    }

    .bar-row-3 .dbl-img {
        margin-top: -90px
    }
}

@media (max-width: 1240px) {
    .bar-row-3 {
        padding-bottom: 190px
    }

    .bar-row-3 .dbl-img {
        margin-top: -70px
    }
}

@media (max-width: 1023px) {
    .bar-row-3 .dbl-img .img-ghost, .bar-row-3 .dbl-img .img2 {
        top: 220px
    }
}

@media (max-width: 820px) {
    .bar-row-3 {
        padding-bottom: 85px
    }

    .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;
    grid-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 (max-width: 1800px) {
    .servicios-villa-row-1 .col-txt .inner-txt {
        left: 0
    }
}

@media (max-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;
    grid-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 (max-width: 1800px) {
    .servicios-villa-row-2 .col-txt {
        padding-left: 0
    }
}

@media (max-width: 1500px) {
    .servicios-villa-row-2 .cols2 {
        grid-template-columns:460px 1fr;
        grid-gap: 60px
    }

    .servicios-villa-row-2 .col-txt .inner-txt {
        position: static
    }
}

@media (max-width: 1240px) {
    .servicios-villa-row-2 .cols2 {
        grid-template-columns:1fr 1fr;
        grid-gap: 60px
    }
}

@media (max-width: 820px) {
    .servicios-villa-row-2 .cols2 {
        grid-template-columns:1fr;
        grid-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;
    grid-gap: 30px
}

.servicios-villa-row-3 .col-txt .feat, .servicios-villa-row-3 .col-txt p {
    max-width: 440px
}

@media (max-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: -webkit-sticky;
    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: #000;
    font-weight: 500;
    letter-spacing: .2rem
}

.interior-menu ul li a:hover {
    color: #d7a360
}

@media (max-width: 1800px) {
    .interior-menu {
        top: 79px;
        margin-top: 70px;
        margin-bottom: 160px
    }
}

@media (max-width: 1500px) {
    .interior-menu {
        top: 77px;
        margin-top: 0
    }
}

@media (max-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: .15rem
    }
}

@media (max-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 (max-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 (max-width: 1800px) {
    .section-tratamientos .col-txt {
        padding-left: 8vw
    }

    .section-tratamientos.alt .col-txt {
        padding-right: 8vw
    }
}

@media (max-width: 1240px) {
    .section-tratamientos .col-txt {
        padding-left: 52px
    }

    .section-tratamientos.alt .col-txt {
        padding-right: 52px
    }
}

@media (max-width: 820px) {
    .section-tratamientos {
        margin-top: 80px !important;
        margin-bottom: 0 !important
    }

    .section-tratamientos .cols2 {
        grid-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 (max-width: 820px) {
    .tratamientos-aparatologia img, .tratamientos-rituales-faciales img {
        width: 100%;
        height: 65vw
    }
}

.section-tratamientos .section-accordion, .sunset-row-2 .section-accordion, .ubicacion-content .section-accordion {
    margin: 50px 0 0 110px
}

.section-tratamientos .section-accordion article, .sunset-row-2 .section-accordion article, .ubicacion-content .section-accordion article {
    text-align: left;
    border-color: #d7a360
}

.section-tratamientos .section-accordion article:last-child, .sunset-row-2 .section-accordion article:last-child, .ubicacion-content .section-accordion article:last-child {
    border-bottom: 1px solid #d7a360
}

.section-tratamientos .section-accordion .accordion-header p, .sunset-row-2 .section-accordion .accordion-header p, .ubicacion-content .section-accordion .accordion-header p {
    margin: 0;
    padding: 23px 0;
    color: #d7a360
}

.section-tratamientos .section-accordion .accordion-header:after, .sunset-row-2 .section-accordion .accordion-header:after, .ubicacion-content .section-accordion .accordion-header:after {
    width: 45px;
    height: 23px;
    left: -65px;
    top: 32px
}

.section-tratamientos .section-accordion .panel, .sunset-row-2 .section-accordion .panel, .ubicacion-content .section-accordion .panel {
    padding: 0 0 20px
}

.section-tratamientos .section-accordion .panel .fee p, .sunset-row-2 .section-accordion .panel .fee p, .ubicacion-content .section-accordion .panel .fee p {
    color: #d7a360;
    display: inline;
    margin-right: 50px
}

.section-tratamientos .section-accordion .panel .fee p:last-child, .sunset-row-2 .section-accordion .panel .fee p:last-child, .ubicacion-content .section-accordion .panel .fee p:last-child {
    margin-right: 0
}

@media (max-width: 1500px) {
    .section-tratamientos .section-accordion, .sunset-row-2 .section-accordion, .ubicacion-content .section-accordion {
        margin: 35px 0 0 90px
    }

    .section-tratamientos .section-accordion .accordion-header p, .sunset-row-2 .section-accordion .accordion-header p, .ubicacion-content .section-accordion .accordion-header p {
        padding: 21px 0 20px
    }

    .section-tratamientos .section-accordion .accordion-header:after, .sunset-row-2 .section-accordion .accordion-header:after, .ubicacion-content .section-accordion .accordion-header:after {
        left: -60px;
        top: 30px
    }
}

@media (max-width: 820px) {
    .section-tratamientos .section-accordion, .sunset-row-2 .section-accordion, .ubicacion-content .section-accordion {
        margin: 15px 0 0 80px
    }

    .section-tratamientos .section-accordion .accordion-header:after, .sunset-row-2 .section-accordion .accordion-header:after, .ubicacion-content .section-accordion .accordion-header:after {
        left: -55px;
        top: 27px
    }
}

.sunset-row-2 .section-accordion article:first-child {
    border-top: 1px solid #d7a360
}

.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 (max-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 (max-width: 820px) {
    .circuito-row-1 {
        margin-bottom: 100px
    }

    .circuito-row-1 .cols {
        grid-gap: 10px
    }

    .circuito-row-1 .col-1 {
        display: none
    }

    .circuito-row-1 .col-txt .tit2 .num {
        font-size: 4.5rem;
        line-height: .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 (max-width: 820px) {
    .circuito-row-2 {
        display: none
    }
}

.gimnasio-row-1 .cols2 {
    grid-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 (max-width: 1240px) {
    .gimnasio-row-1 {
        margin-bottom: 0 !important
    }

    .gimnasio-row-1 .col-txt {
        padding-left: 52px;
        padding-right: 70px
    }
}

@media (max-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 {
    grid-gap: 0
}

.gimnasio-row-2 .col-txt {
    padding-left: 130px
}

.gimnasio-row-2 .indent {
    padding-left: 0
}

@media (max-width: 1240px) {
    .gimnasio-row-2 {
        margin-top: 100px !important
    }
}

@media (max-width: 1023px) {
    .gimnasio-row-2 {
        margin-top: 60px !important
    }
}

@media (max-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
    }
}

.contacto-intro {
    margin-top: 100px
}

.contacto-intro .cols {
    display: grid;
    grid-template-columns:1.7fr 1fr;
    grid-gap: 0;
    position: relative
}

.contacto-intro .cols .col-txt {
    background: #F6F3F1;
    padding: 50px 11.8vw
}

.contacto-intro .cols .txt-wrapper article {
    margin-bottom: 45px
}

.contacto-intro .cols .txt-wrapper article:last-child {
    margin-bottom: 0
}

.contacto-intro .cols .txt-wrapper p {
    font-family: mixta-pro, Arial, sans-serif;
    font-size: 1.875rem;
    line-height: 1.35
}

.contacto-intro .cols .txt-wrapper .p1 {
    color: #d7a360;
    margin-bottom: 0
}

.contacto-intro .cols .txt-wrapper .p2 {
    color: #000
}

.contacto-intro .cols .txt-wrapper .p2 a {
    color: #000
}

.contacto-intro .cols .txt-wrapper .p2 a:hover {
    color: #d7a360
}

.contacto-intro .cols .col-map {
    position: relative;
    top: 100px;
    left: -100px;
    height: calc(100% - 200px)
}

.contacto-intro .cols .col-map iframe {
    height: 100%
}

@media (max-width: 1500px) {
    .contacto-intro .cols .col-txt {
        padding-left: 0
    }
}

@media (max-width: 1240px) {
    .contacto-intro .cols .col-txt {
        padding: 30px 0
    }

    .contacto-intro .cols .txt-wrapper p {
        font-size: 25px
    }

    .contacto-intro .cols .col-map {
        top: 75px;
        height: calc(100% - 150px)
    }
}

@media (max-width: 1023px) {
    .contacto-intro {
        margin-top: 0
    }

    .contacto-intro .container {
        padding: 0 !important
    }

    .contacto-intro .cols {
        display: block
    }

    .contacto-intro .cols .col-txt {
        padding: 65px 32px 55px
    }

    .contacto-intro .cols .txt-wrapper .indent {
        padding: 0
    }

    .contacto-intro .cols .txt-wrapper article {
        margin-bottom: 32px
    }

    .contacto-intro .cols .txt-wrapper p {
        font-size: 22px
    }

    .contacto-intro .cols .col-map {
        position: static;
        height: 390px
    }
}

@media (max-width: 820px) {
    .contacto-intro .cols .col-map {
        height: 265px
    }
}

.contacto-content .col-form {
    margin-top: 180px
}

@media (max-width: 820px) {
    .contacto-content .indent {
        padding-left: 0;
        padding-bottom: 0
    }

    .contacto-content .cols2 {
        gap: 30px
    }

    .contacto-content .col-form {
        margin-top: 0
    }
}

.ubicacion-intro .cols2 {
    grid-template-columns:.6fr 1fr
}

.ubicacion-intro .address p {
    margin-top: 45px
}

.ubicacion-intro .address p a {
    color: #000
}

.ubicacion-intro .address p a:hover {
    color: #d7a360
}

@media (max-width: 1800px) {
    .ubicacion-intro .cols2 {
        grid-template-columns:.8fr 1fr
    }
}

@media (max-width: 1500px) {
    .ubicacion-intro .cols2 {
        grid-template-columns:1fr 1fr
    }
}

@media (max-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
    }
}

.ubicacion-content .container {
    max-width: 1380px
}

.ubicacion-content .tit3 {
    margin-bottom: 38px;
    margin-top: 0
}

.ubicacion-content .inner-txt {
    max-width: 600px
}

.ubicacion-content .inner-txt p {
    max-width: 100%
}

.ubicacion-content .col1 .inner-txt {
    max-width: 500px
}

.ubicacion-content .col1 ul {
    padding-left: 40px
}

.ubicacion-content .col1 ul li {
    margin-bottom: 25px
}

.ubicacion-content .col1 ul li:last-child {
    margin-bottom: 0
}

.ubicacion-content .section-accordion {
    margin-top: 0;
    margin-left: 50px
}

.ubicacion-content .section-accordion article {
    border: none !important
}

.ubicacion-content .section-accordion .accordion-header p {
    padding: 12px 0;
    font-size: 1.65rem
}

.ubicacion-content .section-accordion .accordion-header p:hover {
    color: #000
}

.ubicacion-content .section-accordion .accordion-header:after {
    transform: rotate(-90deg);
    left: -50px;
    top: 22px
}

.ubicacion-content .section-accordion .accordion-inner .panel ul {
    margin: 0;
    padding: 0;
    margin-left: 16px
}

.ubicacion-content .section-accordion .accordion-inner .panel ul li {
    margin-bottom: 0;
    list-style: disc;
    color: #d7a360
}

.ubicacion-content .section-accordion .accordion-inner .panel ul li:last-child {
    margin-bottom: 0
}

@media (max-width: 820px) {
    .ubicacion-content .tit3 {
        margin-bottom: 25px
    }

    .ubicacion-content .col1 ul {
        padding-left: 1em
    }

    .ubicacion-content .section-accordion {
        margin-left: 35px
    }

    .ubicacion-content .section-accordion .accordion-header p {
        font-size: 1.5rem
    }

    .ubicacion-content .section-accordion .accordion-header:after {
        left: -35px;
        top: 17px;
        width: 26px;
        height: 14px
    }
}

.map iframe {
    height: 680px !important
}

@media (max-width: 1800px) {
    .map iframe {
        height: 600px !important
    }
}

@media (max-width: 1500px) {
    .map iframe {
        height: 550px !important
    }
}

@media (max-width: 1240px) {
    .map iframe {
        height: 500px !important
    }
}

@media (max-width: 1023px) {
    .map iframe {
        height: 450px !important
    }
}

@media (max-width: 820px) {
    .map iframe {
        height: 320px !important
    }
}

.form-wrapper {
    margin: 82px auto 40px;
    max-width: 460px
}

@media (max-width: 820px) {
    .form-wrapper {
        margin: 70px auto 20px
    }
}

.sunset-row-1 .cols2, .sunset-row-2 .cols2 {
    grid-template-columns:1fr 1fr
}

.sunset-row-1 .col-txt .inner-txt, .sunset-row-2 .col-txt .inner-txt {
    max-width: 750px
}

@media (max-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;
    margin: 0 0 .5rem 0;
}

.sunset-row-1 .col-txt .inner-txt p strong {
    font-weight: 600
}

.sunset-row-1 .col-txt .inner-txt .time {
    margin: 1rem 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: mixta-pro, Arial, sans-serif;
    font-size: 1.875rem;
    color: #d7a360;
    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: 1rem 0 0
}

.sunset-row-1 .col-txt .indent.sunset-info .p1 {
    text-transform: uppercase;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: .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 #000;
    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: 1rem 0;
    text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: .2rem;
    font-weight: 500
}

@media (max-width: 1240px) {
    .sunset-row-1 .col-txt .indent.sunset-info .p1 {
        font-size: 1.2rem;
        letter-spacing: .2rem
    }
}

@media (max-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%;
        -o-object-fit: cover;
        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: .11rem
    }
}

.sunset-row-2 .cols2 {
    grid-template-columns:1fr 1fr
}

.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: .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: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    font-size: 1.875rem;
    color: #d7a360;
    margin-bottom: 22px
}

.sunset-row-2 .sunset-box ul li span {
    font-weight: 400;
    color: #000;
    font-family: indivisible, Arial, 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 (max-width: 1240px) {
    .sunset-row-2 .sunset-box {
        padding: 65px 40px
    }
}

@media (max-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: #000
}

.sunset-row-3 p a:hover {
    color: #D7CDC3
}

@media (max-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;
    grid-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 .4s ease-in-out
}

.sunset-gallerys .gallery-wrapper a span {
    position: absolute;
    font-family: mixta-pro, Arial, sans-serif;
    color: #fff;
    display: block;
    width: 100%;
    z-index: 2;
    font-size: 1.8rem;
    letter-spacing: .093rem;
    line-height: 1.07;
    font-weight: 400;
    opacity: 0;
    transition: opacity .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 .35s ease-in-out
}

.sunset-gallerys .gallery-wrapper a:hover span {
    opacity: 1
}

.sunset-gallerys .gallery-wrapper a:hover:after {
    opacity: .4
}

.sunset-gallerys .gallery-wrapper a:hover img {
    transform: scale(1.05)
}

@media (max-width: 1240px) {
    .sunset-gallerys {
        padding: 95px 0
    }

    .sunset-gallerys .gallery-wrapper {
        grid-gap: 16px;
        margin-bottom: 100px
    }

    .sunset-gallerys .tit4 {
        margin: 80px 0 30px
    }
}

@media (max-width: 820px) {
    .sunset-gallerys {
        padding: 80px 0
    }

    .sunset-gallerys .tit4 {
        margin: 60px 0 30px
    }

    .sunset-gallerys .gallery-wrapper {
        grid-template-columns:1fr 1fr;
        grid-gap: 12px;
        margin-bottom: 85px
    }
}

.sunset-footer {
    max-width: 700px;
    margin: 110px auto 30px;
    padding: 0 32px
}

.sunset-footer .tit3 {
    font-size: 2.8rem;
    margin-bottom: 40px
}

.sunset-footer p {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.65;
    margin: 0 0 20px 0 !important
}

.sunset-footer p a {
    color: #000;
    text-decoration: none;
    line-height: 1.1
}

.sunset-footer p a.email {
    border-bottom: 1px solid #000;
    padding-left: 1px
}

.sunset-footer p a.phone {
    font-weight: 500
}

.sunset-footer p a:hover {
    color: #d7a360;
    border-color: #d7a360
}

.sunset-footer .btn {
    margin-top: 28px
}

@media (max-width: 1240px) {
    .sunset-footer {
        margin: 100px auto 25px
    }
}

@media (max-width: 820px) {
    .sunset-footer {
        margin: 90px auto 20px
    }

    .sunset-footer .tit3 {
        font-size: 2rem;
        margin-bottom: 30px
    }

    .sunset-footer p {
        font-size: 14px
    }

    .sunset-footer .btn {
        margin-top: 16px
    }
}

.inner-txt .indent, .inner-txt h2 {
    opacity: 0;
    transform: translateY(60px)
}

.dbl-img img:not(.img-ghost), .doble-img img, .obrador-content img, .page-servicios img, .section-tipo-villas img, img.fadeIn {
    opacity: 0;
    transform: translateY(60px)
}

.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: .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: #d7a360;
    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: "mixta-pro";
    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: "indivisible";
    font-weight: 400;
}

.terminos-condiciones h2 strong {
    font-weight: 600;
}

.terminos-condiciones .texto-ventaja {
    font-family: "mixta-pro";
}

.container-terminos {
    max-width: 700px;
}

.texto-ventaja h3 {
    color: #d7a360;
    font-family: "mixta-pro";
    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: Indivisible;
    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: Indivisible;
    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: Indivisible;
    font-size: 16px;
    font-weight: 500;
}

.texto-ventaja p.sub-texto {
    font-family: Indivisible;
    margin-bottom: .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 (max-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 0 !important;
}

.btn-25 {
    width: 100%;
    padding: 7px 0;
    text-align: center;
}

@media (min-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: "indivisible" !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 .3s ease-in-out;
    cursor: pointer;
    display: inline-block;
    color: #d7a360;
    border: none;
    background-color: transparent;
}

.lang-box ul li button.active {
    color: #000;
}

div.gallery-item a:hover {
    color: #d7a360;
    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: .3;
    transition: all .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;
    align-items: center;
    justify-items: 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;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .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: mixta-pro, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all .3s ease-in-out;
}

@media (max-width: 1500px) and (min-width: 821px) {
    .gallery-wrapper div.gallery-item .gallery-item-link .img-wrapper {
        height: 28vw;
    }
}

@media (max-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: .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: mixta-pro, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all .3s ease-in-out;
}

.gallery-item a.gallery-item-link:hover .img-wrapper h3 {
    opacity: 1;
}

.villas-slider-mobile div.item {
    position: relative;
    display: grid;
    align-items: center;
    justify-items: center;
}

.villas-slider-mobile div.item a {
    position: absolute;
    display: block;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 3.4px;
    z-index: 2;
}

.villas-slider-mobile div.item img {
    height: 455px;
    width: 100%;
}

.villas-slider-mobile div.item:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .32;
}

.amenities-extras .amenities div p.p1 {
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    line-height: 1.2;
    font-size: 1.56rem;
    margin: 0 0 2px 0;
}

.amenities-extras .amenities div {
    margin-bottom: 25px;
}

.amenities-extras .amenities div p {
    color: #000;
}

.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 .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 .5s ease-in-out;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: .25rem;
}

.links-img div .img-wrapper img {
    aspect-ratio: 460 / 580;
    object-fit: cover;
    width: 100%;
    height: 30.7vw;
}

.links-img div p {
    color: #000;
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.875rem;
}

.links-img div.experiencia:hover .img-wrapper:after {
    opacity: .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: mixta-pro, Arial, sans-serif;
    font-size: 1.875rem;
    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 .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: mixta-pro, Arial, sans-serif;
    font-weight: 500;
    font-size: 1.75rem;
}

.section-accordion .accordion-header h3 {
    color: #000;
    font-family: mixta-pro, Arial, 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 0;
}

.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 (max-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: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    font-size: 1.875rem;
    color: #000;
    margin: 0 0 10px 0;
}

.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;
    align-items: center;
    justify-items: 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: mixta-pro, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transition: all .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;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .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: #d7a360;
}

.ubicacion-content .section-accordion .accordion-header h3 {
    padding: 12px 0;
    font-size: 1.65rem;
}

.ubicacion-content .section-accordion .accordion-header p {
    margin: 0;
    color: #d7a360;
}

.gallery-up article .tit3 {
    padding: 0 30px;
    margin: 0 0 20px 0;
}

.entorno-items article .txt-wrapper .desc {
    margin: 0 auto
}

h2.pretit {
    font-size: 1.25rem;
    margin-bottom: .5rem;
    line-height: 1.5625rem;
    letter-spacing: .3125rem;
    font-weight: 400;
    text-transform: uppercase;
    font-family: "indivisible";
}

h2.pretit.above {
    position: absolute;
    top: 300px;
    text-align: center;
    width: 100%;
    left: 0;
}

@media (max-width: 1800px) {
    h2.pretit.above {
        top: 250px;
    }
}

@media (max-width: 375px) {
    h2.pretit.above {
        top: 200px;
    }
}

.terminos {
    font-size: 1.5rem !important;
    margin: 50px 0 32px !important;
    color: #000 !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 (max-width: 820px) {
    .ocultar-menu {
        display: none
    }
}

@media (max-width: 1023px) {
    .overlay .menu-bottom-lineas:after {
        content: "";
        display: block;
        width: 54px;
        height: 1px;
        background: #000;
        margin-bottom: 22px;
    }
}

.overlay .menu-bottom.menu-bottom-icons {
    right: 0;
    left: auto;
}

.p1-tapas {
    font-size: 1.75em;
    line-height: 1.2;
    font-family: mixta-pro, Arial, sans-serif;
    font-weight: 350;
    color: #000;
    margin: 0 0 10px 0;
}

.el-espacio.servicios .espacio-box p.feat {
    margin-bottom: 25px;
}

.el-espacio #bienvenida::before {
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background: #ffffff;
    margin: 30px auto;
}

.sunset-row-1 h3 {
    color: #d39685;
    font-size: 3rem;
    font-weight: 401;
    line-height: 1;
}

.sunset-row-2 h3 {
    color: #d39685;
    font-size: 2.75rem;
    font-weight: 401;
    margin: 2rem 0 1rem 0;
    line-height: 1.25;
}

.sunset-row-2 h3 span {
    color: #000;
}

.sunset-row-2 h3 span.opcional {
    color: #000;
    font-style: italic;
    font-size: 1.5rem;
    margin-left: .5rem;
    font-weight: 601;
}

.sunset-row-2 .col-box-container {
    width: 70%;
    margin-left: 5%;
}

.cols2 .titulo-lista {
    font-family: mixta-pro, Arial, sans-serif;
    font-size: 1.75rem;
    font-weight: 501;
}

.sunset-row-2 .reserva {
    font-family: mixta-pro, Arial, sans-serif;
    font-size: 2.25rem;
    font-style: italic;
    line-height: 1;
}

.sunset-row-2 .reserva span {
    font-weight: 501;
}

.sunset-row-2 hr {
    color: #d1c4ab;
    margin: 2.5rem 0;
}

#content.sunset {
    background-color: #FBF9F3;
}

.cols2-min li {
    margin-bottom: .25rem;
}

.cols2-min .col-box p {
    margin-bottom: .75rem;
}

.cols2-min .col-box ul {
    margin: 0
}

.cols2-min .col-box img {
    height: 100%
}

.sunset-row-1 .col-txt .indent.sunset-info p.p1 {
    margin-bottom: .5rem;
}

.sunset-row-1 .col-txt .indent.sunset-info p.p2 {
    margin-bottom: 0;
}

.sunset-row-1 .col-txt .inner-txt > p {
    margin-bottom: 0;
}

.sunset-row-1 .indent.indent-l {
    padding: 1rem 0 0 5rem;
}

.sunset-row-1 .indent.indent-l .time li {
    margin: 0 0 1rem 0;
}

.sunset-row-1 .indent.sunset-info.feat a {
    color: #d39685;
}

.sunset-row-1 p.feat a {
    border: none;
}

.hero.no-veil {
    height: calc(100vh - 75px);
    margin-top: 75px;
}

@media screen and (max-width: 1240px) {
    .sunset-row-2 .cols2.cols2-min {
        grid-template-columns: 1fr;
    }

    .sunset-row-1 .indent.indent-l {
        padding: 1rem 0 0 0;
    }
}

@media screen and (max-width: 820px) {
    .sunset-row-1 .indent.indent-l {
        padding: 1rem 0 0 2.5rem;
    }
}

@media (max-width: 820px) {
    .hero.no-veil {
        height: calc(50vh - 75px);
    }

    .sunset-row-2 .cols2.cols2-min .col-box:has(img) {
        margin-top: 1rem;
    }
}

@media screen and (max-width: 576px) {
    .hero.sunset {
        background-size: 140% !important;
    }
}

.break-mobile {
    display: inline;
}

@media screen and (max-width: 768px) {
    .break-mobile {
        display: block;
    }
}

.block {
    display: block;
}

@media (max-width: 820px) {
    .mobile-sunset a {
        text-transform: uppercase;
        font-size: 1rem;
        letter-spacing: .25rem;
        cursor: pointer;
        background: linear-gradient(-45deg, #DE8274, #D8A58A);
        transition: background 1.5s ease-in-out;
        color: white;
        padding: 1rem 1.5rem;
        margin-top: 2rem;
    }

    .mobile-sunset a:hover {
        background: linear-gradient(-45deg, #D8A58A, #DE8274);
    }
}

@media (min-width: 820px) {
    .mobile-sunset {
        display: none
    }
}

.descuento-kamezi {
    width: 90%;
    margin: 0 auto
}

.descuento-kamezi span {
    font-weight: 501;
}

.descuento-kamezi a {
    background: #D8A58A;
    padding: 1rem;
    display: block;
    text-align: center;
    color: white;
    border-radius: 50px;
    letter-spacing: .2rem;
    font-size: 1.25rem;
}

.descuento-kamezi a:hover {
    background: #d7a360;
    color: #fff;
}

.descuento-kamezi p {
    font-size: 1.1rem;
    line-height: 2rem;
}

.sunset-row-2 .col-box, .sunset-row-2 .col-txt {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.descuento-kamezi p {
    margin: 2rem auto 3rem auto;
}

@media (max-width: 820px) {
    .descuento-kamezi h3 {
        font-size: 2.25rem;
    }

    .col-txt .weeztix {
        order: 2;
    }

    .descuento-kamezi a {
        margin-bottom: 4rem;
    }
}

@media (min-width: 820px) and (max-width: 1240px) {
    .sunset-row-2 .col-txt {
        justify-content: start;
    }
}

.sold-out {
    color: #d39685;
    font-size: 3.5rem;
    display: block;
}

@media screen and (min-width: 920px) {
    .sold-out {
        display: inline-block;
    }
}

.txt-vertical.sunset a {
    font-size: 1.15rem;
    background: linear-gradient(-45deg, #DE8274, #D8A58A);
    transition: background 1.5s ease-in-out;
}

.txt-vertical.sunset a:hover {
    background: linear-gradient(-45deg, #D8A58A, #DE8274);
}

.hero .txt-wrapper {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 100vw;
    height: 100vh;
    border-radius: 0;
    background-color: rgba(0, 0, 0, 0.20);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    transition: backdrop-filter 0.6s ease, background-color 0.6s ease;
}

#custom-alert {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    padding: 20px 30px;
    z-index: 9999;
    font-family: sans-serif;
    text-align: center;
    max-width: 80%;
}

#custom-alert button {
    margin-top: 15px;
    background-color: #372f2b;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    cursor: pointer;
}

#custom-alert button:hover {
    background-color: #D7CDC3;
}

.landing-25 {
    position: relative;
    height: 100vh;
    overflow: hidden; /* CLAVE */
}

.landing-25-video {
    position: absolute;
    /*inset: 0;*/
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.doscolumnas {
    min-height: fit-content;

}

@media (max-width: 1800px) {
    .section {
        margin: 52px 0 30px 0 !important;
    }
}

@media (min-width: 800px) and (max-width: 1500px) {
    .doscolumnas {
        gap: 1.5rem;
    }

    .descuento-25 {
        top: 500px;
    }
}


.lg-video-cont {
    margin-top: 4rem;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    margin-top: 20px;
}

.gallery a img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    opacity: 0.8;
    transition: opacity 0.3s;
}

.gallery a img:hover {
    opacity: 1;
}
.actions-wrapper {
    max-width: 1000px;
    margin: 40px auto;
    padding: 0 20px;
}

.top-actions {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;           /* Mobilde alta geçmesin diye wrap var ama 3'ü sığıyor */
    margin-bottom: 40px;
}

.action-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #888;
    cursor: pointer;
    transition: color 0.3s;
}

.action-item:hover {
    color: #b9925e;
}

.action-item svg {
    width: 34px;
    height: 34px;
    fill: #d7a360;
    transition: fill 0.3s;
}

.action-item:hover svg {
    fill: #b9925e;
}

.action-item .text a {
    text-decoration: none;
    color: inherit;
}

/* Yaz Konsepti İndir butonu her zaman ortalı */
.bottom-download {
    display: flex;
    justify-content: center;
}

.download-box {
    border: 1px solid #eee;
    padding: 18px 40px;
    width: 220px;
    display: flex;
    text-align: center;
    transition: all 0.3s ease;
    background: #fff;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column-reverse;
    justify-content: space-between;
    align-content: space-around;

}

@media(max-width: 767px)
{
    .mobile_dnone {
        display: none;
    }
}

.download-box:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transform: translateY(-6px);
}

.download-box svg {
    width: 32px;
    height: 32px;
    fill: #d7a360;
    margin-bottom: 12px;
}

.download-box span {
    font-size: 16px;
    color: #555;
    font-weight: 500;
}

/* Mobilde daha güzel dursun diye */
@media (max-width: 480px) {
    .top-actions {
        gap: 20px;
    }
    .action-item {
        gap: 10px;
    }
    .action-item svg {
        width: 30px;
        height: 30px;
    }
}

/* Mobilde 3'ü yan yana zorla + küçült */
@media (max-width: 767px) {  /* Tablet ve telefonlar için */
    .top-actions {
        flex-wrap: nowrap !important;       /* Alta geçmesini engelle */
        justify-content: space-between;     /* Eşit boşluklu dağılım */
        gap: 10px !important;               /* Boşluğu küçült */
        padding: 0 10px;                    /* Kenarlardan biraz boşluk */
    }

    .action-item {
        flex-direction: column;             /* İkon üstte, yazı altta olsun */
        align-items: center;
        text-align: center;
        gap: 6px;
        min-width: 0;                       /* Genişliği zorlamasın */
        flex: 1;                            /* Üçü eşit genişlikte olsun */
    }

    .action-item svg {
        width: 32px !important;
        height: 32px !important;
    }

    .action-item .text {
        font-size: 11px !important;         /* Yazıyı biraz küçült */
        line-height: 1.2;
    }

    .action-item .text strong,
    .action-item .text b {
        font-size: 11px;
    }
}

/* Çok dar ekranlar için ekstra güvenlik (320-400px) */
@media (max-width: 480px) {
    .top-actions {
        gap: 8px !important;
    }

    .action-item svg {
        width: 28px !important;
        height: 28px !important;
    }
}

.custom-social-share {
    position: absolute;
    top: 30px;
    left: 23rem;
    z-index: 9999;
    display: flex;
    gap: 12px;
}

@media (max-width: 767px) {
    .custom-social-share {
        position: absolute;
        top: 9rem;
        left: 8rem;
        z-index: 9999;
        display: flex;
        gap: 12px;
    }
}

.custom-social-share a {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    backdrop-filter: blur(4px);
}

.custom-social-share a:hover {
    transform: translateY(-4px) scale(1.1);
    background: white;
}

.custom-social-share svg {
    width: 20px;
    height: 20px;
    fill: #333;
}

.action-item svg {
    fill: #b9925e;
    filter: drop-shadow(0 2px 4px rgba(185, 146, 94, 0.3));
}

#header-home {
    touch-action: pan-y;
}
