/*
Theme Name: Sitio Web Santa Elena
Theme URI:https://www.jorgearancibia.com
Author:Jorge Arancibia
Author URI:http://jorgearancibia.com;
Description: Sitio web para Santa Elena
Version:1.0
License:GNU General Public License v2 or later
Text Domain:SE
*/
@import url("css/header.css");
@import url("css/footer.css");
@import url("css/modales.css");
@import url("css/tabs.css");
@import url("css/form.css");
@import url("css/botones-laterales.css");

@import url("css/animaciones.css");

@font-face {
    font-family: "Poynter";
    font-style: normal;
    font-weight: 400;

    src: local("Poynter Nar Roman"), local("Poynter-Nar-Roman"), url("fuentes/PoynterOldstyleDisplay-NarRoman.woff2") format("woff2"), url("fuentes/PoynterOldstyleDisplay-NarRoman.woff") format("woff"), url("fuentes/PoynterOldstyleDisplay-NarRoman.ttf") format("truetype");
}

:root {
    font-size: 14px;

    letter-spacing: 1.1px;

    --color-oscuro: black;
    --color-oscuro-semi: #1b1b1b;
    --color-rojo: #b4292d;
    --fuente-display: "Castoro Titling", cursive;
    --fuente-normal: "Poppins", sans-serif;
    --fuente-titulos: "Poynter";
}

body {
    font-family: var(--fuente-normal);
    font-size: 14px;
    font-weight: 300;
    line-height: 30px;

    background: unset;
}



.padding {
    margin: 120px;
}

@media only screen and (max-width:991px) {
    .padding {
        margin: 120px 50px;
        margin-left: 30px;
    }
}



.espacios {
    padding: 120px 0;
}


a {
    text-decoration: none;

    color: unset;
}

ul {
    margin: 0;
}

/* Estilos de tipografías */
h1,
h2,
h3 {
    margin: 0;
}


.frase {
    opacity: 0;
}

.sombra {
    text-shadow: 1px 3px 4px rgba(0,0,0,.28);
}


h1 {
    font-family: var(--fuente-display);
    font-size: 80px;

    color: var(--color-oscuro);
}

h1.titulos-h1-h2 {
    font-family: var(--fuente-titulos);
    font-size: 40px;
    font-weight: 400;

    text-transform: none ;

    color: var(--color-oscuro);
}

h2 {
    font-family: var(--fuente-titulos);
    font-size: 40px;
    font-weight: 400;

    color: var(--color-oscuro);
}



.bajadas,
.bajada {
    font-size: 17px;
}


strong {
    font-weight: 600;
}

@media only screen and (max-width:991px) {
    h1 {
        font-size: 33px;
    }

    h2 {
        font-size: 30px;
    }

    h1.titulos-h1-h2 {
        font-size: 30px;
    }
    .bajadas,
    .bajada {
        font-size: 14px;
    }
}

.pre {
    padding: 0;
    margin: 0;

    font-family: var(--fuente-normal);
    font-size: 12px;
    font-weight: 600;

    text-transform: uppercase;

    opacity: .7;
}

.pre.blanco {
    color: white;
}

.pre.oscuro {
    color: var(--color-oscuro);
}


/* Términos y condiciones */
.terminos-y-condiciones {
    display: none;
    max-width: 900px;
}

/* Generales */



/* Ajustes Fancybox */
.has-youtube .fancybox__content {
    width: 80% !important;
    height: auto !important;
    max-width: 80%;
}



.pre-linea {
    width: 100px;
    height: 2px;
    margin: 0 30px;

    background: var(--color-oscuro);
}
.descripcion-bajo-lineas {
    margin: 0 auto;
}

@media only screen and (max-width:991px) {
    .pre-linea {
        display: none;
    }
}



.indicadores {
    display: flex;
    height: 1px;
    margin-top: 30px;
    margin-bottom: 30px;

    justify-content: center;
}

.indicadores .swiper-pagination-bullet {
    width: 60px;
    height: 2px;

    line-height: 2px;

    text-align: center;
    vertical-align: middle;

    opacity: 1;
    border-radius: 0;
    background: white;
}

.indicadores .swiper-pagination-bullet:first-child {
    margin-left: 0;
}




.indicadores .swiper-pagination-bullet-active {
    transition: width 3s ease;

    opacity: 1;
    background: var(--color-rojo);
}


.indicadores.sobre-blanco .swiper-pagination-bullet {
    opacity: .3;
    background: var(--color-oscuro) !important;
}

.indicadores.sobre-blanco .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--color-rojo) !important;
}



.etiqueta {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    padding: 5px 15px;

    font-size: 11px;
    font-weight: 600;

    text-transform: uppercase;

    color: white;
    border-bottom-right-radius: 7px;
    background: rgba(0,0,0,.9);
}


.solo-mobile-link {
    pointer-events: none;
}

@media only screen and (max-width:991px) {
    .solo-mobile-link {
        pointer-events: auto;
    }
}

.fancybox__caption {
    font-size: 16px;
}

img.iconos.small {
    width: 20px;
}
img.invertido {
    filter: invert(100%);
}



.mascara {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;

    pointer-events: none;

    background: rgb(41,41,41);
    background: linear-gradient(0deg, rgb(0 0 0 / 28%) 37%, rgba(218, 135, 52, 0) 72%);
}




.boton-sobre-contenidos {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 200;

    display: flex;
    width: 90px;
    height: 90px;

    transition: all .5s;
    transform: translate(-50%, -50%);

    border-radius: 50%;
    background: rgb(0 0 0 / 58%);

    align-items: center;
    backdrop-filter: blur(3px);
    justify-content: center;
}
.boton-sobre-contenidos img.iconos {
    margin: 0 !important;
}
.boton-sobre-contenidos:hover {
    cursor: pointer;
    transition: all .5s;

    background: rgb(0 0 0 / 100%);
}

.boton-sobre-contenidos img.iconos {
    display: block;
    width: 80px !important;
    height: 80px !important;
    margin: 0 auto;
    overflow: unset !important;
}

.boton-sobre-contenidos img.iconos.fondo {
    padding: 20px;

    border-radius: 50%;
}



.boton-sobre-contenidos img.iconos:hover {
    cursor: pointer;
}


/* Portadas */
section#portada {
    padding: 0;
}

section#portada .swiper-slide-principal .swiper-slide img {
    width: 100%;
    height: 100%;
    overflow: hidden;
}





section#portada .fondo-portadas {
    position: relative;

    height: 100vh;
    overflow: hidden;
}

section#portada .fondo-portadas img {
    position: relative;

    object-fit: cover;
}

section#portada .fondo-portadas > .mascara {
    display: block;
}



section#portada .contenido .logo {
    position: absolute;
    top: 50%;

    transform: translateY(-50%);
}



section#portada .swiper-slide-principal {
    height: 90vh;
}


section#portada .swiper-slide-principal-interior-sin-botones {
    height: 100vh;
}


section#portada.portada-grande .swiper-slide-portada-grande {
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

section#portada .mascara {
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(0, 0, 0, .5018382352941176) 37%, rgba(218, 135, 52, 0) 72%);
}



section#portada .contenido {
    position: absolute;
    left: 50%;
    z-index: 10;
    z-index: 10;

    width: 90%;

    transform: translateX(-50%);

    color: white;
}


section#portada.portada-grande .contenido {
    top: 50% !important;

    transform: translate(-50%);
}





section#portada .contenido h1,
section#portada .contenido h2 {
    color: white;
}







@media only screen and (max-width:991px) {
    section#portada .fondo-portadas .fondo-blur {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 0;

        overflow: hidden;

        box-shadow: inset 0 0 200px #000;
    }

    section#portada .fondo-portadas .fondo-blur img.imagen-blur {
        top: -20%;
        right: 50%;

        filter: blur(15px);
    }


    section#portada .contenido {
    }

    section#portada .contenido .logo {
        position: relative;
        left: 50%;

        margin-bottom: 20px;

        transform: translateX(-50%);
    }
    section#portada .contenido .logo img {
        display: block;
        max-width: 240px;
        margin: 0 auto;
    }

    section#portada .posicion-imagen {
        position: relative;
        top: 124px;

        transform: translateY(0px);
    }

    section#portada .fondo-portadas img.imagenes-slide {
    }

    section#portada.portada-grande .fondo-portadas img {
        position: relative;
        top: 28%;

        transform: translateY(-35%);
    }



    section#portada .fondo-portadas {
        height: 100vh;
    }



    section#portada .swiper-slide-principal {
        height: 100vh;
    }

    section#portada .swiper-slide-principal-interior-sin-botones {
        height: 100vh;
    }





    section#portada.portada-grande {
        height: 100vh;
    }

    section#portada.portada-grande .indicadores {
        display: none !important;
    }
    section#portada.portada-grande .swiper-slide-portada-grande {
        height: 100vh;
    }

    section#portada.portada-grande .fondo-portadas {
        height: 100vh;
    }

    section#portada.portada-grande .contenido {
        top: unset;
    }
}





/* Proyectos */


section#contenido-proyecto-single {
    position: relative;
    top: -30px;
}

section#contenido-proyecto .titulo-planta {
    position: relative;
    top: -80px;
    z-index: 2;

    text-align: center;
}




section#contenido-proyecto {
    position: relative;

    width: 100%;
}
section#contenido-proyecto .contenedor {
    position: relative;
    z-index: 2;

    width: 100%;
}


section#contenido-proyecto .contenido {
    max-width: 90%;
    padding: 120px 90px;
}

section#contenido-proyecto video {
    width: 100%;
    max-height: 550px;
    overflow: hidden;
}



section#contenido-proyecto .fondo {
    position: relative;
    z-index: 1;

    width: 90%;
    padding: 30px 0;

    background: white;
}

section#contenido-proyecto.contenido-plantas .fondo {
    position: absolute;
    top: -95px;
    left: 50%;
    z-index: 1;

    width: 90%;

    transform: translateX(-50%);

    background: white;
}


section#contenido-proyecto-interior .fondo {
    position: absolute;
    top: -130px;
    z-index: 1;

    width: 90%;
    height: 131px;

    background: white;
}


@media only screen and (max-width:991px) {
    section#contenido-proyecto-interior .fondo {
        position: absolute;
        top: -90px;
        z-index: 1;

        width: 90%;
        height: 131px;

        background: white;
    }
}



/* Section Cotizar */
section#cotizar {
    width: 100%;

    color: white;
    background: #262626;
}

section#cotizar h2 {
    color: white;
}


/* Sección Cómo Llegar */

section#como-llegar {
    padding: 30px 0;
    margin-bottom: -15px;

    font-size: 13px;

    color: white;
    border-top: 2px solid #181818;
    background: black;
}

section#como-llegar p {
    margin: 0;
}



.ubicaciones.desktop {
    position: absolute;
    left: 90px;
    z-index: 1;

    border-radius: 30px;
    background: white;
}

.ubicaciones.mobile {
    width: 100%;
}
.ubicaciones.mobile li {
    display: inline-block !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


.ubicaciones ul {
    padding: 0;
    margin: 0;
}
.ubicaciones li {
    margin-top: 15px;
    margin-bottom: 15px;

    list-style: none;
}


.mapa {
    display: block;
    width: 100%;
    height: 650px;
    margin: 0 auto;

    background: grey;
}





section#como-llegar .glyph {
    width: 30px;
    height: 30px;
}

section#como-llegar .glyph svg {
    width: 20px;
    height: 20px;
}

section#como-llegar h4 {
    margin-bottom: 0;

    font-size: 15px;
    font-weight: normal;
}


@media only screen and (max-width:600px) {
    section#como-llegar h4 {
        margin-top: 30px;
    }
    section#como-llegar .boton {
        margin-top: 30px;
        margin-left: 0;
    }
    section.como-llegar-pagina button,
    section.como-llegar-pagina .boton-contenedor {
        width: 100%;
    }
    section.como-llegar-pagina button {
        height: unset;

        white-space: unset;
    }
}




/* Sección Presentación Proyectos */

section#proyectos .bloque-modelos {
    padding: 30px;
}

section#proyectos .bloque-casas {
    min-height: 130px;
    padding: 15px;

    font-size: 13px;
    line-height: 20px;

    will-change: transform;
}

section#proyectos .bloque-casas .titulos {
    margin-bottom: 20px;

    font-size: 17px;
    font-weight: bold;

    letter-spacing: 0;
}

section#proyectos.casas .bloque-proyecto {
    padding: 0 px;
}

.bloque-proyecto img:not(.logo) {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}



section#proyectos .bloque-proyecto {
    margin: 30px 20px;
    /*    box-shadow: rgba(0, 0, 0, .18) 0 2px 4px;*/

    border-radius: 7px;
    box-shadow: rgba(0, 0, 0, .16) 0 10px 30px 0, rgba(0, 0, 0, .06) 0 0 0;
}
section#proyectos.casas .bloque-proyecto {
    margin: unset;
}

section#proyectos .descripcion {
    font-weight: 600;

    text-align: center;
}

section#proyectos img.logo {
    display: block;
    max-width: 180px;
    margin: 0 auto;
}

section#proyectos .swiper-proyectos .swiper-slide {
    padding: 5px;
}


/* Sección Páginas Normales */
section.full-page,
section.full-page h1 {
    color: var(--color-oscuro);
}

section.full-page {
    margin-top: 200px;
    margin-bottom: 120px;
}


section#pagina-blanco {
    padding: 100px 0;
}


/* Hojas */

.hojas.interior {
    position: absolute;
    left: 0;
    z-index: -1;

    overflow: hidden;
}
.hojas.interior video {
    position: relative;
    left: -206px;

    max-height: 300px !important;

    transform: rotate(-44deg);
}

.hojas.interior .sombra {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    box-shadow: inset -10px 0 0 0 rgba(255,255,255,1);
}

@media only screen and (max-width:991px) {
    .hojas {
        display: none;
    }
    .hojas.interior video {
        left: -177px;
    }
}



/* Galería Masonry */

.grid-wrapper > div {
    display: flex;
    overflow: hidden;

    align-items: center;
    justify-content: center;
}
.grid-wrapper > div > img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.grid-wrapper {
    display: grid;

    grid-auto-flow: dense;
    grid-auto-rows: 300px;
    grid-gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}



@media only screen and (max-width:991px) {
    .grid-wrapper {
        grid-auto-rows: 200px;
        grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
    }
}

@media only screen and (max-width:769px) {
    .imagen-final {
        display: none !important;
    }
}



.grid-wrapper .wide {
    grid-column: span 2;
}
.grid-wrapper .tall {
    grid-row: span 2;
}
.grid-wrapper .big {
    grid-column: span 2;
    grid-row: span 2;
}




section#galeria-masonry video {
    width: 100%;
    height: 100%;

    object-fit: cover;
}



@media only screen and (max-width:3000px) {
    .grid-wrapper .item-10 {
        display: none;
    }
    .grid-wrapper .item-12 {
        display: none;
    }
}

@media only screen and (max-width:2149px) {
    .grid-wrapper .item-11 {
        display: none;
    }
    .grid-wrapper .item-9 {
        display: none;
    }
}

@media only screen and (max-width:1789px) {
    .grid-wrapper .item-11 {
        display: block;
    }
    .grid-wrapper .item-9 {
        display: block;
    }
}





@media only screen and (max-width:1429px) {
    .grid-wrapper .item-11 {
        display: none;
    }

    .grid-wrapper .item-8 {
        display: none;
    }
}

@media only screen and (max-width:1069px) {
    .grid-wrapper .item-9 {
        display: none;
    }
}

@media only screen and (max-width:991px) {
    .grid-wrapper .item-9 {
        display: block;
    }
}

@media only screen and (max-width:769px) {
    .grid-wrapper .item-11 {
        display: block;
    }
}


/* Sección Galería */

section#galeria {
    overflow: hidden;
}


section#galeria video {
    max-height: 550px;
}


/* Pre-footer Inicio */



section#pre-footer {
    position: relative;

    height: 750px;
    overflow: hidden;
}


section#pre-footer .pre-imagen {
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    z-index: 20;
}


section#pre-footer .footer-contenido {
    position: absolute;
    right: 0;
    bottom: 30px;
    left: 0;
    z-index: 20;

    max-width: 700px;

    color: white;

    will-change: transform;
}
section#pre-footer .footer-contenido h2 {
    color: white;
}

section#pre-footer .fondo {
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;

    background-attachment: fixed !important;
    background-position: center center !important;
    background-size: cover !important;
}


/* Programa Referidos */
.amigo {
    position: relative;

    padding: 25px;
    margin-bottom: 30px;

    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    border-bottom-left-radius: 7px;
    background: #f2f2f2;
}

.titulo-amigo {
    position: absolute;
    top: -36px;
    left: 0;

    padding: 3px 10px;

    font-size: 11px;
    font-weight: bold;

    text-transform: uppercase;

    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    background: #f2f2f2;
}


.agregar-amigo {
    position: relative;

    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    border-bottom-left-radius: 7px;
    background: red;
}

.agrega-amigo:hover {
    cursor: pointer;
}

.boton.amigos {
    display: flex;
    padding: 30px;

    font-size: 14px;
    font-weight: bold;

    color: white;
    background: #222;

    align-items: center;
    justify-content: center;
}


.boton-agregar-amigo {
    position: absolute;
    top: -36px;
    left: 77px;

    padding: 3px 10px;

    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    background: #bfe1d1;
}

.boton-agregar-amigo:hover {
    cursor: pointer;
}


/* Section Contenido Proyecto */
section#presentacion {
    background: white;
}

section#presentacion .swiper-proyectos-plantas,
section#presentacion .swiper-proyectos-plantas-sin-botones {
    position: relative;
}



section#presentacion .posicion-imagen {
    position: relative;

    height: 100%;
    min-height: 375px;

    object-fit: cover;
}

section#presentacion .posicion-imagen .imagen {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 400px;

    object-fit: cover;
}


section#presentacion .content-sobre-slide {
    position: absolute;
    bottom: 160px;
    left: 50%;
    z-index: 1;

    width: 90%;

    transform: translateX(-50%);
}

section#presentacion .content-sobre-slide-presentacion {
    position: absolute;
    top: 60%;
    left: 50%;
    z-index: 1;

    width: 90%;

    transform: translate(-50%, -60%);
    text-align: center;

    color: white;
}
section#presentacion .content-sobre-slide-presentacion h1 {
    color: white;
}


section#presentacion .bajadas {
    display: block;
    max-width: 70%;
    margin: 0 auto;
}

section#presentacion .content-sobre-slide-presentacion .indicadores-slides {
    position: relative;
    position: absolute;
    top: unset;
    bottom: 0;
    bottom: -30px;

    height: unset;
    margin-top: 80px;
}

section#presentacion .content-sobre-slide-fondo {
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 1;

    width: 90%;
    padding: 15px 0;

    transform: translateX(-50%);

    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    background: white;
}

section#presentacion .content-sobre-slide-fondo-proyectos {
    position: absolute;
    bottom: 0;
    z-index: 1;

    width: 90%;
    height: 78px;
    padding: 15px 0;

    border-top-right-radius: 7px;
    background: white;
}




@media only screen and (max-width:1199px) {
    section#presentacion {
        height: unset;
    }
    section#presentacion .swiper-proyectos-plantas,
    section#presentacion .swiper-proyectos-plantas-sin-botones {
        top: 93px;

        height: unset;
    }
}




.contenido-interior-sobre-slide {
    position: relative;
    left: 50%;
    z-index: 10;

    width: 90%;
    margin-top: 70px;

    transform: translateX(-50%);

    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    background: white;
}










section#presentacion  .acciones-sup {
    position: absolute;
    top: calc(130px + 30px);
    left: 50%;
    z-index: 2;

    display: flex;
    width: 90%;

    transform: translateX(-50%);

    justify-content: end;
}




.descripcion-planta {
    padding-top: 50px;
    padding-bottom: 50px;
}



section#presentacion .slides-botones {
    position: absolute;
    top: 50%;
    z-index: 1;

    display: flex;

    transform: translateY(-50%);

    justify-content: center;
}


.volver-mobile {
    position: absolute;
    top: -74px;
    left: 50%;
    z-index: 1;

    display: flex;

    transform: translateX(-50%);

    justify-content: center;
}

.slides-botones-mobile {
    position: absolute;
    top: -67px;
    left: 50%;
    z-index: 1;

    display: flex;

    transform: translate(-50%);
}

.indicadores-slides-mobile {
    position: absolute;
    top: -20px !important;
    left: 50%;
    z-index: 20;

    display: flex;

    transform: translate(-50%);

    justify-content: center;
}
.indicadores-slides-mobile .swiper-pagination-bullet {
    margin: 0 4px !important;
}






.animacion-ken .swiper-slide img.imagen {
    width: 100%;
    max-width: 100%;

    transition: transform 4.5s linear;
    transform: scale(1.1);
    animation-delay: 2s;
}

.animacion-ken .swiper-slide-active img.imagen {
    transform: scale(1);
}




section#presentacion .indicadores-slides {
    position: absolute;
    top: 50%;
    z-index: 10;

    display: flex;
    width: 100%;
    height: 50px;

    transform: translateY(-50%);

    color: white;

    align-items: center;
    justify-content: center;
}



.indicadores-slides .swiper-pagination-bullet,
.indicadores-slides-mobile .swiper-pagination-bullet {
    width: 60px;
    height: 2px;

    line-height: 2px;

    text-align: center;
    vertical-align: middle;

    opacity: 1;
    border-radius: 0;
    background: white;
}

.indicadores-slides .swiper-pagination-bullet:first-child,
.indicadores-slides-mobile .swiper-pagination-bullet:first-child {
    margin-left: 0;
}




.indicadores-slides .swiper-pagination-bullet-active,
.indicadores-slides-mobile .swiper-pagination-bullet-active {
    transition: width 3s ease;

    opacity: 1;
    background: var(--color-rojo);
}



@media only screen and (max-width:991px) {
    section#presentacion .slides-botones {
        bottom: 15px;
    }
}


.logo-mobile-click {
    position: relative;
    z-index: 2;
}


/* Avisos */

.swal2-container.swal2-center > .swal2-popup {
    padding: 0 !important;

    border: 5px solid white !important;
}

.swal2-html-container {
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}
.swal2-image {
    margin: 0 !important;
}

.swal2-close {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    background: white !important;
}
.swal2-close:focus {
    transform: none !important;

    outline: none !important;
}


/* Imagen Footer Inicio */

.fondo-contenedor {
    position: relative;
    z-index: -1;

    width: 100%;
    margin-top: -100px;
    overflow: hidden;
}


.fondo-contenedor .imagen-fondo {
    position: relative;
    left: -30px;

    width: 110%;
}


.fondo-contenedor .fondo-agua {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;

    overflow: hidden;

    filter: url("#turbulence");
}





.fondo-contenedor .footer-contenido {
    position: absolute;
    top: 70%;
    left: 30px;
    z-index: 200;

    max-width: 600px;

    transform: translateY(-70%);

    color: white;
}




.fondo-contenedor .footer-contenido h2 {
    color: white;
}

@media only screen and (max-width:991px) {
    .fondo-contenedor {
        top: unset;

        height: 700px;
    }

    .fondo-contenedor .footer-contenido {
        top: unset;
        bottom: 90px;

        padding-right: 60px;

        transform: translateY(30px);
    }

    .fondo-contenedor img {
        position: relative;

        width: 120%;
        height: 700px;
        overflow: hidden;

        aspect-ratio: 16/9;
        object-fit: cover;
    }
}



.incluye-vista {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;

    padding: 2px 7px;

    font-size: 10px;
    font-weight: 600;

    text-transform: uppercase;

    color: white;
    border-top-left-radius: 7px;
    border-bottom-right-radius: 7px;
    background: black;
}
.incluye-vista .iconos {
    width: 30px;

    filter: invert(100%);
}



/* Google Maps */
.gm-style .gm-style-iw-c {
    width: 280px !important;
    padding: 30px !important;
}

.gm-style-iw-d .boton-contenedor:focus {
    outline: none;
}

.boton:focus {
    outline: 0!important;
}

:focus-visible {
    outline: 0!important;
}

.single-ubicaciones:hover {
    cursor: pointer;
}

.single-ubicaciones {
    padding: 15px;
}

.single-ubicaciones.activo {
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, .15) 0 5px 15px 0;
}
.ubicaciones.mobile {
    display: none;
}


@media only screen and (max-width:1000px) {
    .ubicaciones.desktop {
        display: none;
    }

    .ubicaciones.mobile {
        display: block;
    }

    .entrada-padding {
        margin-top: 0;
    }
}

@media only screen and (max-width:1200px) {
    h1 {
        font-size: 26px !important;
    }
}





/* Promociones */








section.pagina-promociones {
    position: relative;

    overflow: hidden;

    background: white;
}

section.pagina-promociones .swiper-slide {
    position: relative;

    display: flex;
    overflow: hidden;
    flex-direction: column;

    text-align: left;

    justify-content: center;
}


section.pagina-promociones .swiper-promociones {
    overflow: hidden;
}



section.pagina-promociones .espacio-fix {
    width: 100%;
    height: 150px;
}


section.pagina-promociones .bg-promo {
    width: 100%;
    height: 850px;
}


section.pagina-promociones  .autoplay-progress {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 10;

    display: flex;
    width: 48px;
    height: 48px;

    font-weight: bold;

    color: white;

    align-items: center;
    justify-content: center;
}

section.pagina-promociones .autoplay-progress svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;

    width: 100%;
    height: 100%;

    transform: rotate(-90deg);

    --progress: 0;
    fill: none;
    stroke: white;
    stroke-dasharray: 125.6;
    stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
    stroke-width: 4px;
}



section.pagina-promociones img.img-promo {
    position: relative;
    z-index: 1;
}

section.pagina-promociones .mascara-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;

    background: rgba(0,0,0,.35);
}


section.pagina-promociones .flechas {
    position: absolute;
    bottom: 30px;
    left: 50%;
    z-index: 3;

    width: 200px;

    transform: translateX(-50%);
}




section.pagina-promociones .promo-svg {
    width: 80%;
    max-width: 800px;
    margin: 0 auto;
}







section.pagina-promociones .info-promo {
    position: absolute;
    top: 130px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
}

section.pagina-promociones .info-promo .contenedor {
    position: relative;
    top: 50%;
    right: 0;
    left: 0;
    z-index: 4;

    transform: translateY(-50%);
}









section.pagina-promociones .info-promo .letra-chica {
    position: relative;
    left: 50%;

    margin-bottom: 35px;

    font-size: 12px;

    transform: translateX(-50%);
    text-align: center;

    color: white;
}


@media only screen and (max-width:992px) {
    section.pagina-promociones .info-promo .letra-chica {
        padding: 0 45px;

        color: black;
    }
}


.boton-promo {
    padding: 10px 70px;

    font-size: 18px;
    font-weight: bold;

    text-transform: uppercase;

    color: white;
    border: 1px solid white;
    background: rgba(178,41,46, .67);
}

.boton-promo.normal {
    width: 100%;
    padding: 10px 15px;

    font-size: 14px;

    background: rgba(178,41,46);
}

@media only screen and (max-width: 992px) {
    .boton-promo {
        background: rgba(178,41,46);
    }
}

@media only screen and (max-width:1000px) {
    section.pagina-promociones .info-promo .contenedor {
        position: relative;
        top: 0;

        transform: none;
    }
    section.pagina-promociones .info-promo .contenedor h2,
    section.pagina-promociones .info-promo .contenedor h3,
    section.pagina-promociones .info-promo .contenedor h4 {
        color: #3c3c3c;
    }
    section.pagina-promociones .info-promo {
        position: relative;
        top: 0;

        padding: 30px 90px;

        background: white;
    }
    section.pagina-promociones .info-promo .contenedor h2 {
        display: contents;

        font-size: 30px;
    }
    section.pagina-promociones .info-promo .contenedor h2.big {
        font-size: 40px;
    }
    section.pagina-promociones .info-promo .contenedor h3 {
        font-size: 18px;
    }

    section.pagina-promociones .info-promo .contenedor h4 {
        font-size: 12px;
    }
}

@media only screen and (max-width: 992px) {
    section.pagina-promociones .promo-svg {
        width: 100%;
        height: auto;
        padding: 45px;
        padding-bottom: 0;
    }
}

@media only screen and (max-width: 992px) {
    header {
        height: 70px;
    }
    section.pagina-promociones .mascara-bg {
        display: none;
    }
}



@media only screen and (max-width:1000px) {
    section.pagina-promociones h2 {
        font-size: 55px;
    }
    section.pagina-promociones h2.black {
        font-size: 55px;

        color: white;
    }

    section.pagina-promociones h2.big-black {
        font-size: 55px;

        color: white;
    }

    section.pagina-promociones h3 {
        font-size: 30px;
    }
}


header ul li {
    white-space: nowrap;
}




header ul.menu li.promos a {
    color: #c1272d;
}

header .menu-destacado {
    position: absolute;
    top: 50%;
    right: 30px;

    transform: translateY(-50%);
}



header .menu-destacado a {
    padding: 7px 20px;

    font-weight: 500;

    text-transform: uppercase;

    color: white;
    background: rgba(178,41,46);
}


@media only screen and (max-width:1000px) {
    header .menu-destacado {
        display: none;
    }
}


@media only screen and (max-width:1250px) {
    header ul li {
        padding: 0 10px;
    }
    header .menu-destacado {
        right: 15px;
    }
}



/* Ajustes adicionales para alinear los elementos del menú como desees */


.promo-contenedor {
    position: relative;
}
.promo-etiqueta {
    position: absolute;
    top: 0;
    right: 21px;
    z-index: 1;

    padding: 4px 16px;

    font-size: 11px;
    font-weight: bold;

    text-transform: uppercase;

    color: white;
    border-top-right-radius: .375rem;
    border-bottom-left-radius: .375rem;
    background: rgba(178, 41, 46, .8);
}

.promo-pie {
    position: relative;
    z-index: 1;

    padding: 15px 30px;

    border-bottom-right-radius: .375rem;
    border-bottom-left-radius: .375rem;
    background: white;
}

.bg-promo {
    box-shadow: rgba(99, 99, 99, .2) 0 2px 8px 0;
}

.promo-logo {
    min-width: 200px;
}

.promo-logo img {
    width: 100%;
}

.promo-info-imagen {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;

    width: 70%;

    transform: translate(-50%, -50%);
}

.promo-info-mobile {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;

    display: none;
    width: 70%;
    margin: 0 auto;

    transform: translate(-50%, -50%);
}

@media only screen and (max-width:1300px) {
    .promo-info-mobile {
        display: block;
    }

    .promo-info-desktop {
        display: none;
    }
}



@media only screen and (max-width:992px) {
    .promo-info-mobile {
        display: none;
    }
}

.promo-mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;

    background: rgba(0,0,0,.35);
}


.promo-contenedor-mobile {
    position: relative;
    top: -10px;

    padding: 10px;

    background: white;
    box-shadow: rgba(99, 99, 99, .2) 0 2px 8px 0;
}

.swiper-promociones {
    --swiper-pagination-background: white;
    --swiper-theme-color: white;
}

@media only screen and (max-width:992px) {
    section.pagina-promociones .autoplay-progress {
        color: #545454;
    }
    section.pagina-promociones .autoplay-progress svg {
        stroke: #545454;
    }
    .swiper-promociones {
        --swiper-pagination-background: #545454;
        --swiper-theme-color: #545454;
    }
}




.etapas-descripcion h2 {
    margin-bottom: 0;

    font-family: var(--fuente-normal);
    font-size: 20px;
    font-weight: 500;

    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.etapas-descripcion h2 span:nth-child(1) {
    padding: 5px 10px;

    font-weight: 700;
}
.etapas-descripcion h2 span:nth-child(2) {
    padding: 5px 10px;

    font-weight: 700;

    color: #b2292e;
}

@media only screen and (max-width:1000px) {
    .etapas-descripcion h2 span {
        display: block;
    }
}
.etapas-descripcion p {
    margin-top: 15px;
}



.notas-legales-promociones {
    margin: 0 auto;

    font-size: 12px;
    line-height: 18px;

    color: #828282;
}
.notas-legales-promociones h2 {
    margin-bottom: 10px;

    font-family: var(--fuente-normal);
    font-size: 12px;
    font-weight: bold;

    text-transform: uppercase;

    color: #828282;
}



/* Google Captcha */
.grecaptcha-badge {
    display: none;
    visibility: hidden;

    opacity: 0;
}




.btn-cotizar-header {
    padding: 7px 20px;

    font-weight: 500;

    text-transform: uppercase;

    color: white;
    border-radius: .375rem;
    background: rgba(178, 41, 46);
}

.btn-cotizar-header:active,
.btn-cotizar-header:focus-visible
.btn-cotizar-header:hover {
    color: white !important;
    background: rgba(178, 41, 46) !important;
}

.bloque-modelos-interiores {
    border-radius: .375rem;
    background: white;
}
.bloque-modelos-interiores img {
    border-top-left-radius: .375rem;
    border-top-right-radius: .375rem;;;
}

.bloque-modelos-interiores .contenido-interior {
    color: black;
}


.promo-logo {
    display: block;
    max-width: 800px;
    max-height: 120px;
    margin: 0 auto;
}

@media only screen and (max-width:1000px) {
    .promo-logo {
        max-height: 80px;
    }
}

.promociones-parrafos {
    text-align: center;

    color: white;
}

.promociones-parrafos p {
    font-size: 19px;
    line-height: 30px;

    letter-spacing: 0;
}


@media only screen and (max-width:1000px) {
    .promociones-parrafos p {
        font-size: 16px;
        line-height: 25px;
    }
}




.promociones-parrafos p br {
    margin-top: 10px;
    margin-bottom: 10px;
}
.promociones-parrafos h2 {
    font-family: "Poppins", sans-serif;
    font-size: 40px;
    font-weight: 700;

    letter-spacing: 1px;

    color: white;
}

.promociones-parrafos h2.big {
    font-size: 70px;
}
.promociones-parrafos h2 strong {
    font-weight: 800;
}
.promociones-parrafos h3 {
    margin-top: 10px;

    font-family: "Poppins", sans-serif;

    color: white;
}

.promociones-parrafos h4 {
    margin-top: 30px;

    font-family: "Poppins", sans-serif;
    font-size: 16px;

    color: white;
}


.text-gris * {
    color: #3c3c3c !important;
}



/* Eventos */
.secion-eventos h2 {
    margin-bottom: 30px;
}

.seccion-eventos-widget h4 {
    font-size: 15px;

    text-align: center;
}


.seccion-eventos-widget .galeria {
    max-height: 200px;
    min-height: 200px;

    transition: all ease .5s;

    filter: grayscale(100%);
    object-fit: cover;
}

.seccion-eventos-widget .galeria:hover {
    filter: grayscale(0%);
}



.video-contenedor {
    height: 100%;
    max-height: 500px;

    object-fit: cover;
}




.swiper-galerias-internas-eventos .swiper-slide:hover {
    cursor: pointer;
}

.video-evento {
    object-fit: cover;
}


.icono-play {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 60px;
    height: 60px;

    transform: translate(-50%,-50%);
}



.icono-play:hover {
    pointer-events: none;
}

.swiper-galerias-internas-eventos-widget h4 {
    font-size: 16px;
}


/* Mejoras en el select */
select {
    width: 100%;
    padding: 10px 18px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;

    font-family: var(--body-font);
    font-size: 16px;

    transition: transform .3s;

    border: 2.5px solid var(--black-color);
    border-radius: 7px;
    outline: 0;
    background-color: var(--white-color);
    background-image: linear-gradient(45deg, transparent 50%, #000 50%),
    linear-gradient(135deg, #000 50%, transparent 50%),
    linear-gradient(to right, #000, #000);
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) calc(30px),
    calc(100% - 15px) calc(30px),
    calc(100% - 2.5em) .5em;
    background-size: 5px 5px,
    5px 5px,
    1px 0;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* Para compatibilidad con IE */
select::-ms-expand {
    display: none;
}





/* Actualización */

.bloque-modelos {
    padding-bottom: 50px !important;
}

@media only screen and (max-width: 991px) {
    .bloque-modelos {
        padding-bottom: 20px !important;
    }
}

.valor-uf {
    font-weight: 600;

    text-transform: uppercase;
}

.bloque-modelos {
    position: relative;
}

.contenido-desplegable {
    max-height: 0;
    overflow: hidden;

    transition: all .4s ease;

    opacity: 0;
}
.contenido-desplegable.activo {
    max-height: 300px; /* ajusta según lo necesario */

    opacity: 1;
}

.valor-uf span {
    padding: 2px 9px;

    color: #737373;
    border-radius: 5px;
    background: #f2f2f2;
}

.contenedor-full {
    margin: 120px 0 50px 0;
}


@media only screen and (max-width: 991px) {
    .contenedor-full {
        padding: 15px;
        margin-top: 30px;
    }

    .contenedor-full button.boton {
        padding: .875rem .5rem;
    }
}




.etiqueta-nueva {
    position: absolute;
    top: -5px;
    left: 0;
    z-index: 10;
}
.etiqueta-nueva span {
    display: inline-block;
    min-width: min-content;
    padding: 2px 10px;

    font-size: 10px;
    font-weight: 600;
    line-height: 20px;

    text-transform: uppercase;

    color: white;
    border-top-left-radius: 6px;
    border-bottom-right-radius: 6px;
    background: rgba(0, 0, 0, .9);
}

@media only screen and (max-width:991px) {
    .etiqueta-nueva {
        top: 0;
    }
    .etiqueta-nueva span {
        max-width: 70%;
    }
}


section#proyectos .bloque-modelos {
    position: relative;
    z-index: 10;

    padding: 10px;

    background: white;
}


.bloque-casas {
    position: relative;
    z-index: 10;

    padding: 10px;

    background: white;
}


.imagen-proyectos {
    position: relative;
    z-index: 8;

    overflow: hidden;
}


section#proyectos img.logo {
    display: block;
    width: 100%;
    max-width: 170px;
    margin: 0 auto;
}


section#proyectos .bloque-proyecto {
    margin: 15px 10px;
    overflow: hidden;
    /*    box-shadow: rgba(0, 0, 0, .18) 0 2px 4px;*/

    border-radius: 7px;
    box-shadow: rgba(0, 0, 0, .16) 0 10px 30px 0, rgba(0, 0, 0, .06) 0 0 0;
}

.bloque-proyecto img:not(.logo) {
    overflow: hidden;

    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}


.swiper-proyectos {
    padding-bottom: 50px;
}


.etiqueta-nueva-normal {
    padding: 7px 10px;

    font-size: 10px;
    font-weight: bold;
    line-height: 13px;

    text-align: center;
    letter-spacing: .8px;
    text-transform: uppercase;

    color: white;
    background: black;
}

@media only screen and (max-width: 1200px) {
    section#proyectos .descripcion {
        font-size: 11px;
    }

    section#proyectos .bloque-modelos {
        padding: 5px;
    }
    .valor-uf {
        font-size: 13px;
    }
    section#proyectos hr {
        border-top: 1px solid #979797 !important;
    }
}


.desactivado {
    cursor: none;
    pointer-events: none;

    opacity: .2;

    filter: grayscale(100%);
}
.foto-desactivada {
    filter: grayscale(90%);
}

.form-desactivado {
    pointer-events: none;

    opacity: .2;
}












#whatsapp {
    bottom: 15px;
    left: 15px;

    display: flex;

    transition: transform .1s;
    animation: .4s ease 0s 1 normal forwards running fade-in;

    background: transparent;

    align-items: center;
    justify-content: start;
}


#btn-ws-modal {
    display: flex;

    transition: all .4 ease-in;

    align-items: center;
    justify-content: center;
}

.btn-cotizar-ad {
    display: flex;

    transition: all .4 ease-in;

    align-items: center;
    justify-content: center;
}



#whatsapp .icono-ws {
    display: flex;
    width: 25px;
    width: 60px;
    height: 25px;
    height: 50px;

    transition: all .1s ease-in;

    border-radius: 30px;
    background: #25d366;
    box-shadow: rgba(0, 0, 0, .06) 0 1px 6px 0, rgba(0, 0, 0, .16) 0 2px 24px -5px;

    align-items: center;
    justify-content: center;
}



#whatsapp .icono-ws img {
    top: unset;
    left: unset;

    height: 30px;
    max-width: 30px;
}



#whatsapp .texto-ws {
    position: relative;
    z-index: -1;

    display: flex;
    width: 0;
    height: 40px;
    padding-right: 40px;
    padding-left: 0;
    margin-left: -42px;
    overflow: hidden;

    font-size: 12px;
    font-weight: bold;

    transition: width .6s ease-in-out, padding-left .6s ease-in-out;
    white-space: nowrap;
    letter-spacing: 1.2px;

    color: white;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    background: #0c953f;

    align-items: center;
}

@media only screen and (max-width: 992px) {
    #whatsapp .texto-ws {
        display: none;
    }
}

#whatsapp .texto-ws span {
    position: absolute;
    top: 50%;
    left: 20px;

    visibility: hidden;

    transition: opacity .6s ease, left .6s ease;
    transform: translateY(-50%);
    white-space: nowrap;

    opacity: 0;
}

#whatsapp .texto-ws span.visible {
    left: 50px;

    visibility: visible;

    opacity: 1;
}

#btn-ws-modal:hover {
    cursor: pointer;
}

#btn-ws-modal:hover .icono-ws {
    transition: transform .1s;
    transform: scale(1.05);
}

#btn-ws-modal:hover .texto-ws {
    cursor: pointer;
    transition: transform .1s;

    background: #202020;
}





#cotizar-ad {
    position: fixed;
    right: 29px;
    bottom: 15px;
    z-index: 1049;

    display: flex;
    width: 46px;
    height: 50px;

    transition: transform .1s;
    animation: .4s ease 0s 1 normal forwards running fade-in;

    border-right: 0;
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    background: transparent;

    align-items: center;
    justify-content: start;
}

#cotizar-ad #btn-ws-modal {
    display: flex;

    transition: all .4 ease-in;

    align-items: center;
    justify-content: center;
}


#cotizar-ad .icono {
    display: flex;
    width: 25px;
    width: 60px;
    height: 25px;
    height: 50px;

    border-radius: 30px;
    background: #98282e;
    box-shadow: rgba(0, 0, 0, .06) 0 1px 6px 0, rgba(0, 0, 0, .16) 0 2px 24px -5px;

    align-items: center;
    justify-content: center;
}



#cotizar-ad .icono img {
    top: unset;
    left: unset;

    height: 30px;
    max-width: 30px;
}


#cotizar-ad .texto-ws {
    position: absolute;
    right: 0;
    right: 0;
    right: 15px;
    z-index: -1;

    display: flex
    height: 40px;
    padding-right: 40px;
    padding-left: 15px;

    font-size: 12px;
    font-weight: bold;

    transition: width .6s
    ease-in-out, padding-left .6s
    ease-in-out;
    white-space: nowrap;
    letter-spacing: 1.2px;

    color: white;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    background: #610d11;

    align-items: center;
    ;
}



.btn-cotizar-ad:hover {
    cursor: pointer;
}

.btn-cotizar-ad:hover .icono {
    transition: transform .1s;
    transform: scale(1.05);
}

.btn-cotizar-ad:hover .texto-ws {
    cursor: pointer;
    transition: transform .1s;

    background: #202020;
}








select {
    padding-right: 2rem; /* espacio para la flecha */

    background-image: url("data:image/svg+xml;utf8,<svg fill=\"black\" height=\"16\" viewBox=\"0 0 24 24\" width=\"16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 16px;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}


.select-negro select {
    padding-right: 2rem; /* espacio para la flecha */

    background-image: url("data:image/svg+xml;utf8,<svg fill=\"white\" height=\"16\" viewBox=\"0 0 24 24\" width=\"16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 16px;
}

.estado-select {
    position: relative;
    top: 0 !important;
    left: -14px;
    z-index: 10;

    display: inline;
    padding: 3px 5px;

    font-size: 11px;

    opacity: 0;
    color: white;
    border-radius: 7px;
    background: #b4292d;
}







.prefijo-telefono {
    position: absolute;
    top: 50%;
    left: 2.5px;
    z-index: 99;

    height: 52px;
    padding-top: 12px;
    padding-right: 10px;
    padding-left: 10px;

    font-size: 16px;

    transition: transform .3s;
    transform: translateY(-50%);
    letter-spacing: .5px;
    pointer-events: none;

    color: black;
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
}

.form__sobre_negro .prefijo-telefono {
    color: #beb2b2;
}


.form__input:focus ~ .prefijo-telefono,
.form__input:not(:placeholder-shown).form__input:not(:focus) ~ .prefijo-telefono {
    padding-top: 17px;
    padding-left: 17px;

    transform: translate(-8px, -34px);
    animation: prefijo-animation .5s;
}

@keyframes prefijo-animation {
    0% {
        transform: translate(-8px, -34px);
    }
    40% {
        transform: translate(-8px, -34px);
    }
    60% {
        transform: translate(-8px, -34px);
    }
}
