@font-face {
    font-family: 'ProximaNovaThin';
    src: url('../tipografy/ProximaNova-Thin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'ProximaNovaRegular';
    src: url('../tipografy/ProximaNova-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'ProximaNovaSemiBold';
    src: url('../tipografy/ProximaNova-Semibold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'ProximaNovaBold';
    src: url('../tipografy/ProximaNova-Bold.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

:root {
    --primary-color: #002063;
    --secondary-color: #8FB221;
    --tertiary-color: #004D9A;

    --fuente-titulo: 'ProximaNovaBold', sans-serif;
    --fuente-texto: 'ProximaNovaRegular', sans-serif;
    --fuente-menu: 'ProximaNovaSemiBold', sans-serif;
    --fuente-detalles: 'ProximaNovaThin', sans-serif;
}

body {
    font-family: var(--fuente-texto);
    font-size: 1rem;
    overflow-x: hidden;
    width: 100%;
    /* Arriba, Derecha, Abajo, Izquierda */
}

/* Header */
.cabecera {
    display: flex;
    justify-content: space-evenly;
    align-items: end;
    gap: 450px;
    margin: 30px 40px 5px 40px;
    font-family: var(--fuente-menu);
    font-size: 18px;
}

.cabecera-menuPrincipal {
    display: flex;
    align-items: end;
    gap: 40px;
}

.cabecera-logo img {
    height: 50px;
    transition: all 0.3s ease-in-out;
}

.cabecera-navegacion ul {
    display: flex;
    list-style: none;
    gap: 20px;
    padding: 0;
    margin: 0;
}

.cabecera-navegacion ul li a {
    text-decoration: none;
    color: var(--primary-color);
    font-weight: bold;
}

.cabecera-menuExtra {
    display: flex;
    align-items: end;
    gap: 20px;
}

.cabecera-menuExtra a {
    text-decoration: none;
    color: var(--primary-color);
    font-weight: bold;
}

.whatsapp img {
    height: 40px;
    position: relative;
    top: 10px;
}

/* Funcionalidad del menu */
.secundario {
    .activo, a:hover {
        background-color: var(--primary-color);
        color: white;
        border-radius: 25px 25px 0 0;
        padding: 10px 15px;
        position: relative;
        clip-path: polygon(0% 100%, 100% 100%, 92% 0%, 8% 0%);
        opacity: 0.7;
    }

    .cabecera-menuPrincipal .activo,
    .cabecera-menuPrincipal a:hover {
        top: -1px;
    }

    .cabecera-menuExtra .activo,
    .cabecera-menuExtra a:hover {
        top: 10px;
    }

    .cabecera-logo:hover,
    .whatsapp:hover {
        background-color: transparent;
        border-radius: 0;
        padding: 0;
        position: static;
        clip-path: none;
        transform: scale(0.9);
    }

}

/* BANNERS - Estructura Base */
.container-banner {
    background-size: cover;
    height: 75vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 30px 30px;

    h1 {
        font-family: var(--fuente-titulo);
        font-size: 5rem;
        color: white;
        text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
        text-align: center;
    }
}


/* HOME VIDEO BANNER */
.container-banner-home {
    position: relative;
    width: calc(100% - 60px);
    height: 600px;
    overflow: hidden;
    margin: 0 auto 50px;
    background: #000;
    clip-path: polygon(0 0,
            /* Esquina superior izquierda */
            75% 0,
            /* Línea recta hasta el 70% del ancho */
            80% 15px,
            /* Pequeño escalón en diagonal: baja 5px y avanza 15% a la derecha */
            100% 16px,
            /* Continúa en línea recta hasta el borde derecho */
            100% 100%,
            /* Baja en línea recta hasta la esquina inferior derecha */
            0 100%
            /* Línea recta de regreso hasta la esquina inferior izquierda */
        );
    border-radius: 15px;

    video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .btn-contact {
        position: absolute;
        left: 50%;
        bottom: 20%; /* Ajusta este valor para ponerlo más cerca o más lejos del centro vertical */
        transform: translateX(-50%);
        padding: 16px 28px;
        background-color: var(--secondary-color);
        color: #fff;
        text-decoration: none;
        text-align: center;
        transition: background-color 0.3s;
    }

    .btn-contact:hover {
        opacity: 0.8;
    }
}

/* HOME - SERVICIOS */
.container-main-servicios {
    margin: 50px 30px;
}

.svg-image {
    display: block;
    width: 100%;
    height: auto;
}

.main-servicios-items {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px 80px;
}

.servicio-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 20%;
    gap: 10px;
    text-align: center;

    img {
        width: 50px;
        height: 50px;
    }

    h3 {
        font-family: var(--fuente-titulo);
        font-size: 1.25rem;
        color: var(--secondary-color);
        height: 25px;
        margin-bottom: 20px;
    }

    p {
        color: var(--primary-color);
        height: 100px;
        margin-bottom: 40px;
    }

    strong {
        font-family: var(--fuente-menu);
    }

    a {
        padding: 8px 20px;
        background-color: var(--primary-color);
        border-radius: 5px;
        color: white;
        cursor: pointer;
        transition: background-color 0.3s;
        font-family: var(--fuente-detalles);
        font-weight: bold;
    }

    a:hover {
        background-color: var(--tertiary-color);
    }
}


/* HOME - WHY */
.container-main-why {
    background-image: url('../img/index/fondo1.svg');
    background-size: cover;
    height: 55vh;
    display: flex;
    justify-content: center;
}

.main-why-content {
    display: flex;
    align-items: center;
    gap: 50px;
    background: none;
    margin: 30px 50px;
    padding: 150px 30px 30px;
    color: white;

    h2 {
        font-size: 4rem;
        text-align: center;
    }

    ul {
        list-style-type: disc;
        padding: 0;
    }

    li {
        font-size: 1.25rem;
        margin-bottom: 20px;
    }
}


/* HOME - PROPIEDADES */
.container-main-propiedades {
    position: relative;
    background-image: url('../img/index/fondo2.svg');
    background-size: cover;
    height: 100%;
    padding: 50px 0;
    display: flex;
    justify-content: center;
}

.main-propiedades-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 0px 30px;
}

.propiedades-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 0 80px;
}

.propiedades-item {
    background-color: #012063;
    border: none;
    border-radius: 15px;
    width: 300px;
    text-align: start;
    color: #fff;

    img {
        display: block;
        width: 100%;
        border-radius: 15px 15px 0 0;
    }
}

.item-detalles {
    display: flex;
    flex-direction: column;
    padding: 10px;
    width: 100%;

    ul {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    p {
        text-align: center;
        font-size: 1rem;
        margin-top: 10px;
    }

}

.item-detalles ul li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 100%;
    margin-bottom: 3px;
}

.item-detalles ul li img {
    width: 20px;
    height: 20px;
    margin-right: 5px;
}

.item-detalles ul li .img-recamara {
    width: 35px;
    height: 25px;
    margin-right: 5px;
}

.item-detalles ul li .img-construccion {
    width: 25px;
    height: 25px;
    margin-right: 15px;
}


.item-detalles ul li span {
    font-size: 0.75rem;
}

.main-propiedades-content {
    a {
        font-family: var(--fuente-menu);
        text-align: center;
        margin-top: 20px;
        padding: 10px 20px;
        background-color: #012063;
        border-radius: 10px;
        border: none;
        color: white;
        cursor: pointer;
        transition: background-color 0.3s;
        font-weight: bold;
        width: 10%;
    }

    a:hover {
        background-color: var(--tertiary-color);
    }
}


/* HOME - SLIDER CLIENTES */
.container-main-clientes {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 30px;
    position: relative;

    h2 {
        font-family: var(--fuente-titulo);
        font-size: 1.5rem;
        text-align: center;
    }
}

.slider-clientes {
    display: flex;
    justify-content: center;
    text-align: center;
    gap: 30px;
    padding: 20px;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.slider-clientes .card {
    flex: 0 0 auto;
    transition: transform 0.5s ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 10px 30px;
    background-color: var(--primary-color);
    border-radius: 15px;
    color: white;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    height: auto;

    h3 {
        font-family: var(--fuente-titulo);
    }

    p {
        font-family: var(--fuente-detalles);
        font-style: italic;
        font-size: .75rem;
        width: 150px;
    }
}

.slider-clientes .card:nth-child(3) {
    transform: scale(1.2);
    margin: 0 20px;
}

#prev,
#next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--secondary-color);
}

#prev img,
#next img{
        width: 80%;
        height: 80%;
}

#prev {
    left: 10px;
}

#next {
    right: 10px;
}

#prev:hover,
#next:hover {
    background-color: rgba(144, 178, 33, 0.1);
}

/* HOME - BLOG */
.container-main-blog {
    margin: 10px 30px 30px;
    overflow: hidden;
    position: relative;
}

.main-blog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;

    h2 {
        font-family: var(--fuente-titulo);
        font-size: 2rem;
        color: var(--primary-color);
    }

    a {
        background-color: var(--primary-color);
        border-radius: 5px;
        padding: 12px 20px;
        color: white;
        cursor: pointer;
        transition: background-color 0.3s;
        font-family: var(--fuente-detalles);
        font-weight: bold;
    }

    a:hover {
        background-color: var(--tertiary-color);
    }

}

.blog-slider {
    display: flex;
    margin: 5px;
    padding: 15px;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none; /* Para Firefox */
    -ms-overflow-style: none; /* Para IE y Edge */
}

.blog-slider::-webkit-scrollbar {
    display: none;
}

.blog-card {
    display: flex;
    flex-direction: column;
    background-color: #EAEAEA;
    border-radius: 15px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
    padding: 10px;
    width: 300px;

    img {
        width: 290px;
        border-radius: 15px;
        align-self: center;
    }

    h3 {
        font-family: var(--fuente-menu);
        font-size: 1.25rem;
        color: var(--secondary-color);
        padding: 5px 10px;
    }

    p {
        color: var(--primary-color);
        margin-bottom: 30px;
        padding: 0px 10px;
        height: 100px;
    }

    a {
        color: var(--secondary-color);
        cursor: pointer;
        transition: background-color 0.3s;
        padding: 0px 10px;
    }

    a:hover {
        font-weight: bold;
        text-decoration: underline;
    }
}

.blog-btnNvegacion {
    padding-left: 30px;
    width: calc(100% - 30px);

    button {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        cursor: pointer;
        background-color: var(--tertiary-color);
        border: 1px solid var(--primary-color);
    }

    button:hover {
        background-color: white;
        border: 2px solid var(--primary-color);
    }

    button:disabled {
        background-color: #ccc;
        border: none;
        cursor: not-allowed;
    }
}

/* HOME - CONTACTO */
.container-main-contacto {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    height: 60vh;
    margin: 80px 0;
}

.contacto-content-form {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 6;
}

.contacto-rect-primario {
    background-color: var(--primary-color);
    width: 100%;
    height: 150%;
    left: 50px;
    position: absolute;
    z-index: 1;
}

.contacto-rect-secundario {
    background-color: var(--tertiary-color);
    width: 120%;
    height: 100%;
    position: absolute;
    left: -50px;
    z-index: 2;
}

.contacto-rect-terciario {
    background-color: white;
    width: 70%;
    height: 130%;
    position: absolute;
    left: 170px;
    z-index: 3;
}

.contacto-rect-formulario {
    width: 60%;
    right: -60px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 10;

    form {
        display: flex;
        flex-direction: column;
        gap: 30px;
        width: 100%;
    }

    h2 {
        font-family: var(--fuente-titulo);
        font-size: 2rem;
        color: var(--primary-color);
        margin-bottom: 20px;
    }

    input,
    textarea {
        width: 95%;
        padding: 10px;
        border: none;
        border-bottom: 2px solid var(--tertiary-color);
        outline: none;
        background: transparent;
    }

    input:focus,
    textarea:focus {
        border-bottom: 2px solid var(--primary-color);
    }

    .btn {
        border: 3px solid var(--tertiary-color);
        border-radius: 5px;
        padding: 8px 10px;
        width: 35%;
        color: var(--tertiary-color);
        text-align: center;
        cursor: pointer;
    }

    .btn:hover {
        border: none;
        background-color: var(--primary-color);
        color: white;
    }
}

.contacto-content-img {
    flex: 4;
    margin-left: 100px;
    position: relative;

    img {
        width: 70%;
        height: auto;
        position: absolute;
    }

    .img-1{
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0.5;
    }

    .img-2{
        top: 45%;
        left: 45%;
        transform: translate(-45%, -45%);
        opacity: 0.5;
    }

    .img-3{
        top: 40%;
        left: 40%;
        transform: translate(-40%, -40%);
    }
}


/* SERVICIOS - HEADER */
.banner-servicios {
    background-image: url('../img/servicios/banner.webp');
    margin: 10px 30px 30px;
    height: 120vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 10%;
    gap: 30px;
    border-radius: 20px;
}

.banner-header-servicios{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 60px;
    padding-bottom: 5%;
    p{
        font-size: 1.5rem;
        color: white;
        text-align: center;
        width: 80%;
        line-height: 1.2;
    }
    h1 {
        font-size: 3.75rem;
    }
}

.servicios-items{
    display: flex;
    justify-content: space-evenly;
    width: 100%;
}

.servicios-item{
    position: relative;
    background: var(--primary-color);
    border-radius: 20px;
    height: 56vh;
    width: 43vh;
    box-shadow: -10px 10px 20px rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: opacity 0.3s ease-in-out;

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.7;
    }
    h2 {
        font-family: var(--fuente-titulo);
        position: absolute;
        right: 10px;
        bottom: 10px;
        transform: rotate(-90deg) translateX(100%);
        transform-origin: right bottom;
        font-size: 2.5rem;
        color: white;
        white-space: wrap;
        text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
    }
}

.servicio-item-detalles {
    position: absolute;
    left: 0;
    top: 0;
    width: 65%;
    height: 100%;
    background: var(--tertiary-color);
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: start;
    padding: 20px;
    box-sizing: border-box;
    opacity: 0; /* Oculto */
    transform: translateX(-100%); /* Se esconde fuera de la tarjeta */
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;

    p {
        text-align: start;
        font-size: 1rem;
        margin-bottom: 15px;
        color: white;
    }

    .button-enlace {
        display: inline-block;
        padding: 10px 20px;
        color: white;
        background: white;
        border-radius: 10px;
        text-decoration: none;
        font-family: var(--fuente-titulo);
        color: var(--primary-color);
    }
    
    .button-enlace:hover {
        background: var(--secondary-color);
        color: white;
    }
}

.servicios-item:hover .servicio-item-detalles {
    opacity: 1;
    transform: translateX(0);
}

/* SERVICIOS - PÁGINA X CADA UNO */
.banner-primario{
    height: 80vh;
    display: flex;
    flex-direction: column;
    gap: 100px;

    h1{
        font-size: 6rem;
        padding-bottom: 100px;
    }
}

.banner-construccion{
    background-image: url('../img/servicios/construccion/banner.webp');
}

.banner-remodelacion{
    background-image: url('../img/servicios/remodelacion/banner.webp');
}

.banner-equipamiento{
    background-image: url('../img/servicios/equipamiento/banner.webp');
    h1{
        white-space: normal;
        padding-bottom: 0px;
    }
}

.submenu-header{
    display: flex;
    align-items: center;
    gap: 10px;
    top: -60px;
    left: 30px;
    position: relative;
    color: white;
    font-size: 1.25rem;
    width: 90%;

    a:hover{
        text-decoration: underline;
    }
    .servicio-flecha, .servicio-flecha:hover{
        font-size: 2.5rem;
        text-decoration: none;
    }
}

.caracteristicas-servicio{
    margin: 10px 30px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.caracteristicas-items-servicio{
    display: flex;
    justify-content: flex-start;
    width: 90%;
    gap: 20px;
}

.servcio-centro{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 60vh;
    width: 100%;
    overflow: hidden;

    .container-item-servicio img{
        padding-right: 0px;
        padding-left: 30px;
    }
}

.construccion .servcio-centro{
    background-image: url("../img/servicios/construccion/fondo.webp");
}

.remodelacion .servcio-centro{
    background-image: url("../img/servicios/remodelacion/fondo.webp");
    background-position: left;
    margin-top: 50px;
}

.equipamiento .servcio-centro{
    background-image: url("../img/servicios/equipamiento/fondo.webp");
    background-position: right;
    margin-top: 50px;
    padding-top: 5%;
}

.container-item-servicio{
    flex: 1;
    display: flex;
    align-items: start;
    gap: 10px;

    img{
        filter: drop-shadow(4px 8px 10px rgba(0, 0, 0, 0.8));
        height: 120px;
        width: 120px;
        padding-right: 30px;
    }
}

.centro{
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    padding-right: 50px;
    text-align: end;
}

.container-texto-servicio{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 50%;
    color: var(--primary-color);
    h3{
        font-family: var(--fuente-titulo);
        font-size: 1.5rem;
    }
    p{
        line-height: 1.2;
        font-size: 1.25rem;
    }
    strong{
        font-family: var(--fuente-menu);
    }
}

.texto-servicio-white{
    color: white;
}

.remodelacion .container-texto-servicio,
.equipamiento .container-texto-servicio{
    width: 65%;
}


.galeria-servicio{
    margin-bottom: 50px;

    h3{
        font-size: 1.5rem;
        font-family: var(--fuente-menu);
        color: var(--primary-color);
        padding: 100px;
    }
}

.card-wrapper{
    overflow: hidden;
}

.card-list .card-item{
    user-select: none;
    height: 400px;
    display: block;
}

.card-list .card-item .card-image{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-pagination-bullet { /* Color de los bullets inactivos */
    background-color: white!important;
    width: 10px!important;
    height: 10px!important;
    opacity: 1!important;
}

.swiper-pagination-bullet-active { /* Color del bullet activo */
    background-color: white!important;
    width: 12px!important;
    height: 12px!important;
}

.swiper-button-prev, 
.swiper-button-next {
    color: white!important;
}

/* Modal - Gallery */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-contenido {
    max-width: 100vh;
    max-height: 80vh;
    display: block;
    margin: auto;
    object-fit: cover;
}

.cerrar {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}


/* VENTAS - BANNER */
.ventas {
    background-image: url('../img/venta/banner.webp');
    align-items: flex-end;
    padding-right: 100px;
}

.continer-main-ventas{
    margin: 10px 30px 30px;

    h2{
        font-family: var(--fuente-titulo);
        text-align: center;
        font-size: 3rem;
        color: var(--primary-color);

    }
}

/* VENTAS - SELECT */
.container-main-select{
    background-image: url('../img/venta/fondo.webp');
    background-size: cover;
    background-position: center;
    height: 40vh;
    position: relative;
    z-index: 0;
}

.container-select{
    padding: 0 10px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 15px;
    position: relative;
    top: 50%;
    z-index: 1;
    overflow-x: hidden;

    select{
        flex: 1;
        height: 45px;
        border-radius: 10px;
        border: 2px solid var(--secondary-color);
        padding: 10px;
        box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
        transition: all 0.3s ease-in-out;
        cursor: pointer;
    }

    select:focus {
        outline: none;
        border-color: var(--tertiary-color);
        box-shadow: 3px 3px 8px rgba(0, 123, 255, 0.5);
    }
}

/* VENTAS - CARD X CASA */
.container-items-casa {
    padding: 100px 0 10px 0;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
    position: relative;
    z-index: 0;
}

.item-casa-card{
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 350px;
    border-radius: 15px;
    background-color: var(--primary-color);
    position: relative;
    z-index: 1;
}

.casa-card-fondo {
    width: 100%;
    height: 250px;
    border-radius: 15px;
    background-image: url('../img/fondo-sky.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 2;

    img{
        width: 100%;
        height: 125%;
        object-fit: cover;
        position: absolute;
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 3;
    }
}

.casa-card-detalles {
    height: 50%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    z-index: 1;

    ul {
        list-style: none;
        padding: 0;
        margin: 0;
        color: white;
        text-align: left;
    }

    li {
        margin-bottom: 8px;
    }

    .card-detalles-button {
        display: inline-block;
        margin-top: 10px;
        padding: 8px;
        width: 20%;
        background-color: white;
        color: var(--primary-color);
        text-decoration: none;
        text-align: center;
        border-radius: 12px;
        align-self: flex-end;
        font-family: var(--fuente-menu);
    }

    .card-detalles-button:hover {
        border: 2px solid var(--secondary-color);
        color: var(--secondary-color);
    }
}

/* VENTAS - PREVENTA */
.container-main-preventa{
    background-image: url('../img/venta/fondo2.webp');
    background-size: cover;
    background-position: center;
    height: 60vh;
    padding-top: 30px;
    position: relative;
    z-index: 0;
    border-radius: 10px;
}

.container-preventa{
    padding: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: 50%;
    z-index: 1;

    a{
        padding: 10px 160px;
        border-radius: 10px;
        background-color: #A5BA4D;
        box-shadow: 
        2px 0 10px rgba(0, 0, 0, 0.2),     /* Sombra fina izquierda */
        -2px 0 10px rgba(0, 0, 0, 0.2),    /* Sombra fina derecha */
        0 15px 25px -15px rgba(0, 0, 0, 0.8);  /* Sombra fuerte solo abajo */
        color: #fff;
        font-family: var(--fuente-titulo);
        font-size: 4rem;
    }
    a:hover{
        scale: 1.1;
    }
}

/* CASA HABITACIÓN - HEADER */
.continer-header-casa {
    margin: 10px 30px 30px;
    background-image: url('../img/venta/fondo.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 20px;
    height: 20vh;
    position: relative;

    a{
        position: absolute;
        left: 10%;
        top: 46%;
        transform: translateY(-10%);
        z-index: 100;
        font-size: 2.5rem;
        color: var(--primary-color);
    }
    h2{
        font-family: var(--fuente-titulo);
        font-size: 3rem;
        color: white;
        text-align: center;
        position: relative;
        top: 40%;
    }
}

/* CASA HABITACIÓN - PRESENTACIÓN */
.container-content-casa{
    box-shadow: -5px 5px 10px rgba(0, 0, 0, 0.8);
    margin: 10px 30px 30px;
    padding: 10px 50px;
    overflow: hidden;
}

.content-casa-presentacion{
    display: flex;
    align-items: stretch;
    gap: 20px;
}

.content-casa-img {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;

    img{
        width: 100%;
        height: 100%;
        border-radius: 15px;
        object-fit: cover;
    }

    .casa-img-btn {
        cursor: pointer;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        border-radius: 50%;
        background-color: #ccc;
        color: white;
        width: 40px;
        height: 40px;
        opacity: 0.5;
        font-size: 2rem;
        z-index: 10;
    }
    
    .casa-img-btn:hover {
        background-color: rgba(177, 200, 100, 0.8);
    }

    #prev-main {
        left: 0px;
    }
    
    #next-main {
        right: 0px;
    }
}

.content-casa-info{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;

    .casa-text{
        background-color: var(--primary-color);
        color: white;
        padding: 30px;
        border-radius: 20px;
        line-height: 1.5;
        
        h3{
            font-family: var(--fuente-titulo);
            font-size: 2rem;
        }
        p{
            padding: 15px 0;
            font-family: var(--fuente-detalles);
        }
        strong{
            font-family: var(--fuente-menu);
        }
    }

    .casa-list{
        border: 2px solid var(--primary-color);
        padding: 30px;
        border-radius: 20px;
        h3{
            font-family: var(--fuente-titulo);
            font-size: 2rem;
            color: var(--secondary-color);
        }
        hr{
            border-color: var(--primary-color);
        }
        ul{
            display: flex;
            justify-content: flex-start;
            align-items: center;
            gap: 15px;
            flex-wrap: wrap;
        }
        li{
            border-radius: 15px;
            padding: 5px 8px;
            color: white;
        }
        .casa-list-uno{
            padding: 10px 0 20px 0;
            li{
                background-color: var(--primary-color);
            }
        }
        .casa-list-dos li{
            background-color: var(--secondary-color);
            
        }
    }
}

/* CASA HABITACIÓN - SLIDER */
.content-casa-slider {
    display: flex;
    justify-content: start;
    gap: 30px;
    padding: 20px;
    
    overflow: hidden;
    position: relative;
    
    img{
        height: 200px;
        width: auto;
        object-fit: cover;
        border-radius: 15px;
    }
}

#antes,
#despues {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #ccc;
    color: white;
    width: 40px;
    height: 40px;
    opacity: 0.5;
    font-size: 2rem;
}

#antes {
    left: 0px;
}

#despues {
    right: 0px;
}

#antes:hover,
#despues:hover {
    background-color: rgba(177, 200, 100, 0.8);
}


/* CASA HABITACIÓN - CONTACTO */
.container-contacto-casa {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 100px 0;
}

.franja-contacto {
    position: absolute;
    width: 100%;
    height: 80%;
    background-color: var(--primary-color);
    top: 50%;
    transform: translateY(-50%);
    z-index: 0;
}

.content-contacto-casa {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    max-width: 1200px;
    z-index: 1;
}

.contacto-casa-img {
    width: 50%;
    height: 120%;
    background-size: cover;
    background-position: center;
    border-radius: 20px;
}

.casa34-img{
    background-image: url('../img/venta/C1.png');
}

.casa35-img{
    background-image: url('../img/venta/C3.png');
}

.casa36-img{
    background-image: url('../img/venta/C2.png');
}

.casaAtlixco-img{
    background-image: url('../img/preventa/C1-Sky.png');
    height: 100%;
    width: 45%;
    border-radius: 20px 20px 0px 0px;
    position: relative;
    top: -20px;
    right: -20px;
}

.contacto-casa-form {
    width: 50%;
    background-color: #B1C864;
    padding: 40px;
    border-radius: 0 20px 20px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: white;

    h3 {
        font-family: var(--fuente-menu);
        font-size: 2rem;
        margin-bottom: 20px;
    }
    label {
        font-family: var(--fuente-detalles);
        display: block;
        margin: 5px 0;
    }
    input {
        width: 95%;
        padding: 10px;
        border: none;
        border-radius: 10px;
        margin-bottom: 20px;
        color: #000;
    }
    .btn {
        font-family: var(--fuente-menu);
        padding: 10px;
        background-color: var(--primary-color);
        color: white;
        border: none;
        cursor: pointer;
        border-radius: 5px;
        width: 35%;
    }
    .btn:hover {
        background-color: white;
        border: 2px solid var(--primary-color);
        color: var(--primary-color);
    }
}

/* PREVENTA -  HEADER */
.continer-main-preventa{
    margin: 10px 30px 30px;

    h2{
        font-family: var(--fuente-titulo);
        text-align: center;
        font-size: 3rem;
        color: var(--primary-color);
        padding-bottom: 80px;
    }

    .continer-header-preventa{
        background-image: url('../img/preventa/fondo.webp');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        padding: 20px;
        height: 30vh;
        border-radius: 10px;
        position: relative;

        a{
            position: absolute;
            left: 10%;
            top: 65%;
            transform: translateY(-65%);
            z-index: 100;
            font-size: 2.5rem;
            color: var(--primary-color);
        }
        h2{
            font-family: var(--fuente-titulo);
            font-size: 4rem;
            color: white;
            text-align: center;
            position: relative;
            top: 50%;
        }
    }
}

/* PREVENTA - CARD X CASA */
.container-items-preventa {
    padding: 100px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    position: relative;
    z-index: 0;
}

.item-preventa-card{
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 600px;
    border-radius: 15px;
    background-color: var(--primary-color);
    position: relative;
    z-index: 1;
}

.preventa-card-fondo {
    width: 100%;
    height: 400px;
    border-radius: 15px;
    background-image: url('../img/preventa/c1.png');
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 2;

    img{
        width: 95%;
        height: 110%;
        object-fit: cover;
        position: absolute;
        top: -55px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 3;
    }
}

.preventa-card-detalles {
    height: 50%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
    font-size: 1.5rem;

    ul {
        list-style: none;
        color: white;
        text-align: center;
    }

    li {
        margin-bottom: 12px;
    }

    .titulo-card{
        font-family: var(--fuente-menu);
    }

    .texto-card{
        font-family: var(--fuente-detalles);
    }

    .card-detalles-button {
        display: inline-block;
        margin-top: 10px;
        padding: 8px;
        width: 20%;
        background-color: white;
        color: var(--primary-color);
        text-decoration: none;
        text-align: center;
        border-radius: 12px;
        align-self: center;
        font-family: var(--fuente-menu);
    }

    .card-detalles-button:hover {
        border: 2px solid var(--secondary-color);
        color: var(--secondary-color);
    }
}


/* NOSOTROS - BANNER */
.banner-nosotros {
    background-image: url('../img/nosotros/banner.webp');
    height: 60vh;
    z-index: 1;
}

/* NOSOTROS - HISTORIA */
.container-historia {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 0px;
    width: 70%;
    position: relative;
    top: 40%;
    transform: translateY(-40%);
    z-index: 3;
    margin: 0 auto;
}

.container-historia-texto {
    flex: 1;
    background-color: var(--secondary-color);

    p {
        color: var(--primary-color);
        font-family: var(--fuente-menu);
        line-height: 1.5;
        padding: 100px 30px;

    }

}

.container-histroia-img {
    flex: 1;
    background-image: url('../img/nosotros/builder.webp');
    background-size: cover;
    background-position: center;
}

/* NOSOTROS - FILOSOFIA */
.container-folosofia {
    display: flex;
    position: relative;
    align-items: stretch;
    width: 100%;
    top: 40%;
    transform: translateY(-40%);
    z-index: 2;
    background-color: var(--primary-color);
}

.container-folosofia-img {
    flex: 1;
    background-image: url('../img/nosotros/filosofia.webp');
    background-size: cover;
    background-position: center;
    width: auto;
    height: 540px;
}

.container-folosofia-texto {
    flex: 1;
    background-color: var(--primary-color);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: end;
    padding: 15% 15% 10% 5%;
    max-width: 30%;

    h2 {
        font-family: var(--fuente-titulo);
        font-size: 2rem;
        margin-bottom: 20px;
    }

    p {
        font-family: var(--fuente-texto);
        line-height: 1.5;
    }
}

/* NOSOTROS - PORQUE ELEGIRNOS */
.container-why {
    background-color: var(--secondary-color);
    width: calc(70% - 60px);
    height: 100%;
    margin: 0 auto;
    padding: 80px 10px 30px 30px;
    display: flex;
    justify-content: center;
    position: relative;
    top: -260px;
}

.why-columna-uno {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;

    h2 {
        width: 100%;
        font-family: var(--fuente-titulo);
        font-size: 2rem;
        color: var(--primary-color);
    }

    img {
        height: 100%;
        width: auto;
    }

    .columna-uno {
        width: 80%;
    }
}

.container-why-items {
    display: flex;
    flex-direction: column;
    gap: 80px;
    color: var(--primary-color);
    line-height: 1.5;

    h3 {
        font-family: var(--fuente-titulo);
        font-size: 1.25rem;
    }
}

.img-why-fondo {
    height: 80%;
    width: 50%;
    position: absolute;
    left: 80%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1; 
    filter: brightness(0.3) hue-rotate(200deg);
}

.why-columna-dos {
    display: flex;
    gap: 20px;
    position: relative;
    z-index: 2;
    top: -12px;
    right: 5px;

    img {
        height: 65%;
        width: auto;
    }

    .columna-dos {
        width: 80%;
        padding-top: 120px;
        color: white;
        text-align: end;
    }
}

/* NOSOTROS - LOGROS */
.container-logros {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 50px;
    align-items: center;
    width: calc(70% - 20px);
    margin: 0 auto;
    position: relative;
    top: -120px;
}

.logros-item{
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: start;
    text-align: center;
    width: 30vh;

    img {
        width: 30vh;
        height: 30vh;
        border-radius: 50%;
        object-fit: cover;
    }

    img:hover {
        transform: scale(1.2);
    }

    h3 {
        margin-top: 10px;
        font-family: var(--fuente-menu);
        color: var(--primary-color);
    }
}

/* BLOG - BANNER */
.banner-blog {
    background-image: url('../img/blog/banner.webp');
    border-radius: 15px;
}

/* BLOG - INTRO */
.container-main-intro {
    margin: 100px 30px 0px 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 100px;
}

.container-main-intro p {
    width: 65%;
    line-height: 1.2;
    font-weight: 500;
    font-size: 1.25rem;
    color: var(--primary-color);
}

/* BLOG - BLOGS */
.container-main-blogs {
    background-image: url('../img/blog/fondo.svg');
    background-size: cover;
    padding: 200px 50px;
    margin: 0 30px;
    height: 100%;
    width: auto;
}

.content-main-blogs {
    display: flex;
    gap: 20px;
    height: calc(100% - 50px);
    overflow-y: auto;
    overflow-x: hidden;
}

/* Personaliza el scrollbar de un div específico */
.content-main-blogs::-webkit-scrollbar {
    width: 5px;
    /* Grosor del scrollbar */
}

.content-main-blogs::-webkit-scrollbar-thumb {
    background-color: #B1C864;
    /* Color del "thumb" (parte que se mueve) */
    border-radius: 10px;
    /* Bordes redondeados del thumb */
}

.content-main-blogs::-webkit-scrollbar-track {
    background-color: var(--secondary-color);
    /* Color de fondo de la pista del scrollbar */
    border-radius: 10px;
    /* Bordes redondeados de la pista */
}

.main-blogs-contenido {
    display: flex;
    flex-wrap: wrap;
    padding: 15px;
    gap: 20px;

    .blog-card {
        width: 300px;
        height: 380px;

        img{
            border-radius: 15px 15px 0px 0px;
        }

        h3{
            padding: 10px;
        }
    }

}

.main-blogs-menu {
    min-width: calc(100% / 4 - 36px);
    height: 30vh;
    background-color: #EAEAEA;
    border-radius: 15px 15px 0 0;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
    margin: 15px;
    padding: 40px;

    h3 {
        color: var(--primary-color);
        font-family: var(--fuente-titulo);
        font-size: 1.25rem;
    }

    hr {
        border: .75px solid var(--primary-color);
        margin: 12px 0;
    }

    ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    li {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 10px;
        padding: 0;
        width: 80%;
        color: var(--secondary-color);
    }

    strong {
        font-size: 1.5rem;
        font-family: var(--fuente-titulo);
        font-weight: 900;
    }
}


/* CONTACTO - BANNER */
.banner-contacto {
    background-image: url('../img/contacto/banner.webp');
    border-radius: 15px;
}

/* CONTACTO - MAIN */
.container-main-pagecontacto {
    display: flex;
    flex-direction: column;
    gap: 100px;
    height: 100%;
    margin-bottom: 50px;

    h2 {
        font-family: var(--fuente-titulo);
        font-style: bold;
        font-size: 2rem;
        color: var(--primary-color);
        text-align: center;
    }
}

.main-contacto-content {
    padding: 10px 0;
    width: 100%;
    height: 100%;
    position: relative;
}

.contacto-column-blue {
    background-color: var(--primary-color);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 0;
}

.contacto-column-white {
    background-color: white;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.5);
    width: 46%;
    height: calc(100% + 50px);
    position: absolute;
    top: -25px;
    bottom: 25px;
    left: 45%;
    transform: translateX(6%);
    z-index: 1;
}

.contacto-contenido {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 100px 20px 100px;

    .contacto-column {
        flex: 1;
        padding: 20px;
    }
}

.contacto-column.contact {
    display: flex;
    flex-direction: column;
    gap: 50px;
    margin-left: 80px;

    .contact-datos {
        display: flex;
        align-items: center;
        gap: 10px;
        color: #fff;
    }

    .contact-datos img {
        width: 50px;
        height: 50px;
    }

    .contact-dato {
        font-size: 1.25rem;
    }

    .contact-dato a {
        color: #ccc;
    }

    a:hover{
        text-decoration: underline;
    }
}

.contacto-column.form {
    padding: 30px;

    form {
        display: flex;
        flex-direction: column;
        gap: 30px;
        width: 100%;
    }

    h2 {
        font-family: var(--fuente-menu);
        font-size: 3.5rem;
        color: var(--primary-color);
        margin-bottom: 20px;
    }

    input,
    textarea {
        width: 95%;
        padding: 10px;
        border: none;
        border-bottom: 2px solid var(--tertiary-color);
        outline: none;
        background: transparent;
    }

    input:focus,
    textarea:focus {
        border-bottom: 2px solid var(--primary-color);
    }

    .btn {
        background: var(--primary-color);
        border-radius: 10px;
        padding: 5px;
        width: 20%;
        color: white;
        cursor: pointer;
    }

    .btn:hover {
        background-color: white;
        border: 2px solid var(--primary-color);
        color: var(--primary-color);
    }
}


/* Footer */
footer {
    background-color: var(--tertiary-color);
    padding: 50px 80px;
    color: white;
}

.container-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
}


.footer-column p,
.footer-column a {
    margin: 8px 0;
    color: white;
    text-decoration: none;
}

footer .message {
    text-align: center;
    font-family: var(--fuente-menu);
    font-size: 1.5rem;
    max-width: 25%;
}

.contact-datos {
    display: flex;
    align-items: end;
    gap: 20px;
}

.margin-bottom {
    margin-bottom: 30px;
}

.contact-datos img {
    width: 35px;
    height: 30px;
}

.contact-dato {
    display: flex;
    flex-direction: column;
    gap: 0px;
    font-family: var(--fuente-detalles);
    font-size: 0.75rem;
}

.contact-dato-title {
    font-family: var(--fuente-menu);
}

.contact-dato p,
.contact-dato a {
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

footer .menu ul {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-column ul li {
    display: flex;
    font-family: var(--fuente-detalles);
    font-size: 0.75rem;
}

.footer-column a:hover {
    text-decoration: underline;
}

footer .redes {
    text-align: center;
    font-family: var(--fuente-menu);
    font-size: 1.25rem;
    max-width: 18%;
}

.footer-redes-iconos img {
    width: 38px;
    height: 38px;
    margin: 0 10px;
}

/* Responsividad */
@media (max-width: 1200px) {
    .cabecera {
        gap: 80px;
    }

    .container-banner-home {
        height: 500px;
    }

    .servicio-item {
        width: 40%;

        p {
            margin-bottom: 20px;
        }
    }


    .container-main-why {
        height: 68vh;
    }

    .main-why-content h2 {
        font-size: 2.5rem;
    }


    .container-main-propiedades {
        height: 100%;
        padding: 10px 0;
    }

    .main-propiedades-content {
        padding: 30px 10px;

        a{
            width: 15%;
        }
    }

    .propiedades-items {
        padding: 0 10px;
    }

    .propiedades-item {
        width: 300px;

        img {
            height: 170px;
        }
    }

    .container-main-contacto {
        height: 60vh;
    }

    .contacto-rect-primario {
        width: 100%;
        height: 120%;
        left: 30px;
    }

    .contacto-rect-secundario {
        width: 120%;
        height: 90%;
        left: -30px;
    }

    .contacto-rect-terciario {
        width: 80%;
        height: 110%;
        left: 80px;
    }

    .contacto-rect-formulario {
        width: 60%;
        right: -30px;

        form {
            gap: 20px;
            width: 100%;
        }

        h2 {
            font-size: 1.5rem;
            margin-bottom: 10px;
        }

        button {
            padding: 5px 10px;
            font-size: .75rem;
        }
    }

    .contacto-content-img {
        margin-left: 90px;

        img {
            width: 90%;
            height: auto;
        }
    }

    .contact-datos img {
        width: 20px;
        height: 20px;
    }


    /* PAGE - VENTAS */
    .container-main-preventa{
        height: 50vh;
    }
    
    .container-preventa{
        a{
            padding: 10px 80px;
        }
    }


    /* PAGE - NOSOTROS */
    .container-historia {
        width: 80%;
    }

    .container-historia-texto p {
        padding: 50px 30px;
    }


    .container-folosofia-img {
        height: 555px;
    }


    .img-why-fondo {
        height: 85%;
        top: 52%;
    }
    

    .container-logros {
        justify-content: space-around;
    }

    /* PAGE - BLOG */
    .container-main-intro p {
        width: 80%;
    }

    .container-main-blogs {
        height: 80vh;
    }

    .content-main-blogs {
        height: 90vh;
    }

     /* BANNER - BLOG & CONTACTO */
    .banner-menuextra {
        height: 65vh;
    }

    /* PAGE - CONTACTO */
    .container-main-pagecontacto {
        margin-bottom: 40px;

        h2 {
            font-size: 1.75rem;
        }
    }

    .contacto-column-white {
        width: 48%;
        top: -25px;
        bottom: 25px;
        left: 45%;
    }

    .contacto-contenido {
        max-width: 1000px;
        padding: 20px 60px;
    }

    .contacto-column.contact {
        display: flex;
        flex-direction: column;
        gap: 50px;
        margin-left: 80px;

        .contact-datos img {
            width: 40px;
            height: 40px;
        }

        .contact-dato {
            font-size: 1rem;
        }
    }

    .contacto-column.form {
        padding: 30px;

        form {
            width: 90%;
        }

        h2 {
            font-size: 2.75rem;
        }

        .btn {
            width: 25%;
        }
    }


    .footer-redes-iconos img {
        width: 25px;
        height: 25px;
    }


    .banner-nosotros {
        height: 65vh;
    }

    /* PAGE - SERVICIOS */
    .banner-servicios {
        height: 90vh;
    }

    .banner-header-servicios{
        gap: 40px;
        p{
            font-size: 1.25rem;
            width: 90%;
        }
        h1 {
            font-size: 2.5rem;
        }
    }

    .servicios-items{
        flex-wrap: wrap;
        justify-content: center;
        gap: 50px;
        width: 95%;

    }

    .servicios-item{
        height: 46vh;
        width: 36vh;

        h2 {
            font-size: 2rem;
        }
    }

    .servicio-item-detalles {
        width: 62%;
        p, .button-enlace {
            font-size: .75rem;
        }
    }


    /* PAGE C/U - SERVICIOS */
    .banner-primario{
        height: 70vh;
        gap: 50px;

        h1{
            font-size: 5rem;
            padding-bottom: 60px;
        }
    }

    .banner-equipamiento h1{
            padding-bottom: 10px;
    }

    .servcio-centro{
        height: 50vh;
    }

    .container-item-servicio img{
        width: 100px;
        height: 100px;
    }

    .container-texto-servicio{
        width: 70%;
        color: var(--primary-color);
        h3{
            font-size: 1.25rem;
        }
        p{
            font-size: 1rem;
        }
    }

    .banner-servicios {
        height: 100%;
        padding-bottom: 10%;
    }

     /* PREVENTA -  HEADER */
    .continer-main-preventa{
        h2{
            font-size: 2.75rem;
        }

        .continer-header-preventa{
            padding: 10px;
            height: 25vh;
            h2{
                font-size: 3rem;
            }
        }
    }

    .casaAtlixco-img{
        width: 60%;
    }

    /* Footer */
    footer {
        padding: 50px 70px;
    }
    .container-footer {
        justify-content: space-between;
    }
    footer .message {
        font-size: 1rem;
    }

    footer .redes {
        font-size: .75rem;
        max-width: 15%;
    }

}

@media (max-width: 912px) {

    .container-main-propiedades {
        height: 100%;
        padding-bottom: 10%;
    }

    .container-main-why {
        height: 100%;

    }

     /* BANNER - BLOG & CONTACTO */
     .banner-menuextra {
        height: 30vh;
    }

    /* PAGE - NOSOTROS */
    .banner-nosotros {
        height: 40vh;
    }


    .container-folosofia-img {
        height: 370px;
    }
    .container-folosofia-texto {
        padding: 3% 10% 3% 0%;
    }
    

    .container-why {
        width: calc(80% - 60px);
        padding: 80px 10px 30px 30px;
        top: -250px;
    }

    .why-columna-uno .columna-uno {
        width: 65%;
    }

    .why-columna-dos {
        top: 10px;
    }


    /* SERVICIOS - PÁGINA X CADA UNO */
    .banner-primario{
        height: 30vh;
    }

    .servcio-centro{
        height: 20vh;
    }

    .equipamiento .servcio-centro{
        height: 30vh;
        padding-top: 30px;
    }


    /* PAGE - VENTA */
    .continer-header-casa {
        margin: 10px 20px 20px;
        height: 10vh;
    
        img{
            left: 5%;
            top: 50%;
            height: 12%;
        }
        h2{
            font-size: 2rem;
            top: 40%;
        }
    }

    .container-main-preventa{
        height: 30vh;
    }
    
    .container-preventa{
        a{
            font-size: 3rem;
        }
    }


    /* PAGE - CASA HABITACIÓN */
    .continer-header-casa {
        margin: 10px 30px 30px;
        height: 8vh;
        
    }

    .content-casa-presentacion{
        flex-direction: column;
        align-items: stcretch;
        gap: 20px;
    }

    .content-casa-info{
        flex-direction: row;
        align-items: stretch;

        .casa-text{
            flex: 1;
        }

        .casa-list{
            flex: 1;
            hr{
                margin: 25px 0;
            }
        }
    }

    /* PREVENTA -  HEADER */
    .continer-main-preventa{
        h2{
            font-size: 2rem;
            padding-bottom: 40px;
        }

        .continer-header-preventa{
            padding: 10px;
            height: 10vh;
            a{
                left: 6%;
            }
            img{
                height: 10%;
            }
            h2{
                font-size: 2.25rem;
            }
        }
    }
}

@media (max-width: 768px) {
    .cabecera {
        margin: 20px 20px 5px 20px;
        font-size: 12px;
    }

    .cabecera-menuPrincipal {
        gap: 10px;
    }

    .cabecera-navegacion ul,
    .cabecera-menuExtra {
        gap: 8px;
    }

    .cabecera-logo img {
        content: url('../iconos/logoColorSmall.png');
        height: 40px;
    }

    .whatsapp img {
        height: 28px;
        top: 5px;
    }

    .secundario {
        .activo {
            border-radius: 16px 16px 0 0;
        }

        a:hover {
            border-radius: 15px 15px 0 0;
        }
    }


    .container-banner-home {
        width: calc(100% - 40px);
        height: 300px;
        margin: 0 20px 30px;
        clip-path: polygon(0 0,
                /* Esquina superior izquierda */
                60% 0,
                /* Línea recta hasta el 70% del ancho */
                70% 10px,
                /* Pequeño escalón en diagonal: baja 5px y avanza 15% a la derecha */
                100% 10px,
                /* Continúa en línea recta hasta el borde derecho */
                100% 100%,
                /* Baja en línea recta hasta la esquina inferior derecha */
                0 100%
                /* Línea recta de regreso hasta la esquina inferior izquierda */
            );

        .btn-contact {
                position: absolute;
                left: 50%;
                bottom: 20%; /* Ajusta este valor para ponerlo más cerca o más lejos del centro vertical */
                transform: translateX(-50%);
                padding: 10px 16px;
        }
    }


    .container-main-servicios,
    .container-main-blog {
        margin: 30px 20px;
    }

    .main-servicios-items {
        gap: 30px;
        justify-content: center;
    }

    .servicio-item {
        width: 80%;

        h3 {
            height: 0;
            margin-bottom: 30px;
        }

        p {
            height: 90px;
            margin-bottom: 15px;
        }

        a {
            margin-bottom: 20px;
        }
    }


    .main-why-content {
        flex-direction: column;
        gap: 30px;
        margin: 20px 30px;

        h2 {
            font-size: 2rem;
        }

        li {
            margin-bottom: 10px;
        }
    }


    .main-propiedades-content {
        padding: 20px 50px;

        a{
            width: 20%;
        }
    }

    .propiedades-items {
        padding: 0 50px;
    }

    .propiedades-item img {
        height: 180px;
    }

    .item-detalles p {
        font-size: 0.75rem;
    }

    #prev img,
    #next img{
        width: 60%;
        height: 60%;
        background: rgb(204, 204, 204, 0.3);
    }

    .main-blog-header {
        padding: 10px 30px;

        h2 {
            font-size: 1.5rem;
        }

        a {
            padding: 8px 10px;
        }
    }


    .container-main-contacto {
        flex-direction: column;
        gap: 40px;
        height: 100%;
    }

    .contacto-rect-primario {
        width: 240%;
        height: 115%;
        left: -230px;
    }

    .contacto-rect-secundario {
        width: 310%;
        height: 95%;
        left: -300px;
    }

    .contacto-rect-terciario {
        width: 150%;
        height: 105%;
        left: -120px;
    }

    .contacto-rect-formulario {
        width: 100%;
        right: 80px;

        form {
            gap: 10px;
        }

        h2 {
            font-size: 1.75rem;
        }
    }

    .contacto-content-img {
        display: none;
    }

    .container-footer {
        overflow: hidden;
        justify-content: center;
        gap: 110px;
        margin: 0 auto;
    }

    footer .message {
        max-width: 100%;
    }

    footer .redes {
        max-width: 100%;
    }

    .container-banner {
        margin: 0 20px 30px;

        h1 {
            font-size: 3rem;
        }
    }

    /* BANNER - BLOG & CONTACTO */
    .banner-menuextra {
        height: 30vh;
    }

    /* PAGE - BLOG */
    .container-main-intro {
        margin: 0px 30px 0px 30px;
        gap: 50px;
    }

    .container-main-intro p {
        width: 80%;
        font-weight: 400;
        font-size: 1rem;
    }

    .container-main-blogs {
        height: 20vh;
        padding: 100px 50px 300px 50px;
    }

    .content-main-blogs {
        height: 40vh;
        gap: 0px;
    }

    .main-blogs-contenido {
        .blog-card {
            width: 180px;
            height: 320px;

            img{
                width: 100%;
            }

            h3 {
                padding: 5px;
                font-size: 1rem;
                height: 80px;
            }
        
            p {
                height: 100px;
                padding: 0px 5px;
                font-size: o.75rem;
            }
        
            a {
                padding: 5px;
            }
        }
    }

    .main-blogs-menu {
        min-width: calc(100% / 2 - 130px);
        margin: 15px;
        padding: 20px;

        h3 {
            font-size: 1rem;
        }

        strong {
            font-size: 1rem;
            font-weight: 800;
        }
    }

    /* PAGE - CONTACTO */
    .container-main-pagecontacto h2 {
        font-size: 1.5rem;
    }

    .contacto-column-white {
        background-color: white;
        box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.5);
        width: 40%;
        height: calc(100% + 50px);
        position: absolute;
        top: -25px;
        bottom: 25px;
        left: 50%;
        transform: translateX(6%);
        z-index: 1;
    }

    .contacto-contenido {
        max-width: 768px;
        padding: 20px;
    }

    .contacto-column.contact {
        margin-left: 50px;

        .contact-datos img {
            width: 35px;
            height: 35px;
        }

        .contact-dato {
            font-size: 1rem;
        }
    }

    .contacto-column.form {
        h2 {
            font-size: 1.5rem;
        }

        input,
        textarea {
            width: 80%;
        }

        .btn {
            width: 35%;
        }
    }


    /* PAGE - NOSOTROS */
    .banner-nosotros {
        height: 30vh;
    }


    .container-historia {
        top: 10%;
        transform: translateY(-20%);

        flex-direction: column-reverse;
    }
    
    .container-historia-texto p {
        padding: 60px 30px;
    }
    
    .container-histroia-img {
        padding: 160px 0;
    }


    .container-folosofia {
        transform: translateY(-50%);
    }

    .container-folosofia-img {
        height: 300px;
    }

    .container-folosofia-texto {
        
        h2{
            font-size: 1.25rem;
        }
        p{
            font-size: .75rem;
        }
    }

    .container-why {
        width: calc(80% - 10px);
        top: -200px;
        flex-direction: column;
    }
    
    .why-columna-uno {
        gap: 10px;
        h2 {
            font-size: 1.75rem;
        }
    
        .columna-uno {
            width: 89%;
        }
    }
    
    .container-why-items {
        gap: 60px;
    
        h3 {
            font-size: 1.25rem;
        }
    }
    
    .img-why-fondo {
        height: 38%;
        width: 95%;
        left: 80%;
        top: 65%;
        transform: translate(-90%, -10%);
        z-index: 1; 
        filter: brightness(0.3) hue-rotate(200deg);
    }
    

    /* PAGE - SERVICIOS */
    .banner-servicios {
        height: 100%;
        padding-bottom: 10%;
    }


    .banner-header-servicios{
        gap: 20px;
        p{
            font-size: 1.25rem;
        }
        h1 {
            font-size: 2rem;
        }
    }
    

    .servicio-item-detalles {
        width: 70%;
        p, .button-enlace {
            font-size: 1rem;
        }
    }

    /* SERVICIOS - PÁGINA X CADA UNO */
    .banner-primario{
        height: 40vh;
        gap: 10px;
        h1{
            font-size: 4rem;
        }
    }

    .submenu-header{
        top: -50px;
        left: 20px;
        font-size: 1rem;
    }

    .servcio-centro{
        height: 25vh;
        width: 100%;
    }

    .remodelacion .servcio-centro,
    .equipamiento .servcio-centro{
        height: 30vh;
    }

    .container-item-servicio img{
        width: 80px;
        height: 80px;
    }

    .centro{
        padding-left: 30px;
    }

    .container-texto-servicio{
        width: 70%;
        h3{
            font-size: 1rem;
        }
        p{
            font-size: 0.75rem;
        }
    }


    .galeria-servicio h3{
            font-size: 1rem;
            padding: 50px;
        
    }
    .card-list .card-item{
        height: 300px;
    }


    /* PAGE - VENTA */
    .continer-main-ventas h2{
        font-size: 1.5rem;
    }
    .container-main-select{
        height: 100%;
        padding: 100px 0 50px 0;
    }

    .container-select{
        flex-wrap: wrap;
        justify-content: center;
    
        select {
            flex-basis: calc(50% - 10px);
            padding: 5px;
        }
        select:first-child {
            flex-basis: 100%;
        }
    }

    /* PAGE - CASA HABITACIÓN */
    .continer-header-casa {
        margin: 10px 20px 20px;
        
    }

    .container-contacto-casa{
        margin: 50px 0;
    }

    .content-contacto-casa {
        flex-direction: column;
        align-items: center;
        margin: 10px 20px 20px;
        width: 70%;
    }

    .contacto-casa-form {
        width: 100%;
        border-radius: 15px;

        h3{
            font-size: 1.5rem;
        }
    }
}

@media (max-width: 540px) {
    body {
        font-size: .75rem;
    }

    .cabecera {
        margin: 10px 10px 5px 10px;
        gap: 10px;
    }

    .servicio-item {
        width: 100%;
        margin-bottom: 10px;

        h3 {
            font-size: 1rem;
            margin-bottom: 20px;
        }

        p {
            height: auto;
            margin-bottom: 5px;
        }
    }

    .main-why-content {
        margin: 10px 30px;

        h2 {
            font-size: 1.5rem;
        }

        li {
            font-size: 1rem;
        }
    }


    .container-main-propiedades {
        padding-bottom: 20%;
    }

    .main-propiedades-content {
        padding: 20px 10px;
    }

    .propiedades-items {
        padding: 0 10px;
    }


    .contacto-rect-secundario {
        width: 280%;
        height: 95%;
        left: -290px;
    }

    .container-banner {
        height: 30vh;
    }

    /* PAGE - SERVICIOS */
    .banner-servicios {
        height: 100%;
        padding-bottom: 10%;
    }

    .banner-header-servicios{
        gap: 20px;
        p{
            font-size: .75rem;
        }
        h1 {
            font-size: 1.5rem;
        }
    }

    .servicio-item-detalles {
        width: 62%;
        p, .button-enlace {
            font-size: .75rem;
        }
    }

    /* PAGE - NOSOTROS */
    .banner-nosotros {
        height: 30vh;
    }


    .container-historia {
        transform: translateY(-10%);
    }

    .container-historia-texto p {
        padding: 30px 20px;
    }
    
    .container-histroia-img {
        padding: 130px 0;
    }


    .container-folosofia {
        transform: translateY(-20%);
        flex-direction: column;
    }
    
    .container-folosofia-img {
        background-image: url("../img/nosotros/filosofia2.webp");
        padding: 200px 0;
        height: 500px;
    }

    .container-folosofia-texto {
        padding: 10% 15%;
        max-width: 100%;

        h2{
            font-size: 1rem;
        }
    }
    

    .container-why {
        width: 80%;
        top: -130px;
    }
    
    .why-columna-uno {
        h2 {
            font-size: 1.25rem;
        }
    
        .columna-uno {
            width: 85%;
        }
    }
    
    .container-why-items {
        gap: 50px;
    
        h3 {
            font-size: 1rem;
        }
    }
    
    .img-why-fondo {
        height: 38%;
        width: 95%;
        left: 85%;
        top: 64%;
        transform: translate(-90%, -10%);
        z-index: 1; 
        filter: brightness(0.3) hue-rotate(200deg);
    }

    .logros-item{
        width: 20vh;
    
        img {
            width: 20vh;
            height: 20vh;
        }
    }


    /* BANNER - BLOG & CONTACTO */
    .banner-menuextra {
        height: 28vh;
    }


    /* PAGE - BLOG */
    .container-main-intro p {
        width: 90%;
        font-size: .75rem;
    }

    .container-main-blogs {
        padding: 100px 10px 300px 10px;
        height: 5vh;
    }

    .content-main-blogs {
        height: 30vh;
    }

    .main-blogs-contenido {
        .blog-card {
            width: 150px;
            height: 230px;


            img{
                width: 100%;
            }

            h3 {
                padding: 5px;
                font-size: 0.75rem;
            }
        
            p {
                height: 60px;
                padding: 0px 5px;
            }
        
            a {
                padding: 5px;
            }
        }
    }

    .main-blogs-menu {
        min-width: calc(100% / 2 - 100px);
        height: 20vh;

        h3 {
            font-size: .5rem;
        }

        li {
            font-size: .5rem;
        }

        strong {
            font-size: .75rem;
        }
    }

    .container-main-pagecontacto {
        align-items: center;
        justify-content: center;

        h2 {
            font-size: 1.25rem;
            width: 90%;
        }
    }

    .contacto-column-white {
        width: 80%;
        height: 70%;
        top: -4%;
        bottom: 20px;
        left: 6%;
        transform: translateX(6%);
    }

    .contacto-contenido {
        flex-direction: column-reverse;
        max-width: 540px;
        gap: 60px;
    }

    .contacto-column.contact {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 40px;
        margin-left: 0px;

        .contact-datos img {
            width: 25px;
            height: 25px;
        }

        .contact-dato {
            font-size: .75rem;
        }
    }

    .contacto-column.form {
        padding: 20px;

        form {
            width: 100%;
        }

        input,
        textarea {
            width: 100%;
        }

        .btn {
            width: 30%;
        }
    }


    /* SERVICIOS - PÁGINA X CADA UNO */
    .banner-primario{
        height: 30vh;
        h1{
            font-size: 1.75rem;
        }
    }

    .submenu-header{
        top: -20px;
        left: 20px;
        font-size: .75rem;
    }

    .caracteristicas-items-servicio{
        flex-direction: column;
        gap: 50px;
    }

    .servcio-centro{
        height: 100%;
        padding: 30% 0 20% 0;
    }

    .equipamiento .servcio-centro{
        padding: 40% 0 20% 0;
    }

    .container-item-servicio{
        gap: 20px;
        padding-left: 10px;
    }

    .centro{
        padding-left: 0;
        padding-right: 10px;
    }

    .container-texto-servicio{
        width: 70%;
    }


    /* PAGE - VENTA */
    .continer-main-ventas h2{
        font-size: 1rem;
    }
    .container-main-select{
        padding: 80px 0 40px 0;
    }

    .container-select{
        select {
            height: 35px;
        }
    }

    .container-main-preventa{
        height: 25vh;
    }
    
    .container-preventa{
        a{
            padding: 10px 20px;
            font-size: 1.25rem;
        }
    }

    /* PAGE - PREVENTA */
    .container-items-preventa {
        padding: 80px 0;
    }

    .item-preventa-card{
        max-width: 300px;
    }

    .preventa-card-fondo {
        height: 200px;

        img{
            top: -40px;
        }
    }

    .preventa-card-detalles {
        font-size: 1rem;
        li {
            margin-bottom: 8px;
        }
    }

    /* PAGE - CASA HABITACIÓN */
    .continer-header-casa {
        height: 5vh;
    
        img{
            left: 10%;
            top: 50%;
            transform: translateY(50%);
            width: 30px;
        }
        h2{
            font-size: 1rem;
        }
    }

    .container-content-casa{
        margin: 10px 20px 20px;
        padding: 10px 30px;
    }
    
    .content-casa-info{
        flex-direction: column;
        gap: 10px;
    
        .casa-text{
            padding: 20px;
            h3{
                font-size: 1.25rem;
            }
            p{
                padding: 10px 0;
            }
        }
    
        .casa-list{
            padding: 20px;
            h3{
                font-size: 1.25rem;
            }
            hr{
                margin: 10px 0;
            }
            ul{
                gap: 10px;
            }
            .casa-list-uno{
                padding: 10px 0 15px 0;
            }
        }
    }

    /* PAGE - PREVENTA */
    .continer-main-preventa{
        margin: 10px 20px 20px;

        h2{
            font-size: 1.25rem;
            padding-bottom: 10px;
        }

        .continer-header-preventa{
            padding: 15px;
            height: 10vh;
            
            a{
                left: 2%;
            }
            img{
                width: 20px;
            }
            h2{
                font-size: 1.75rem;
                top: 45%;
            }
        }
    }
}