body{
    background-color: var(--e-global-color-primary);
    overflow-x: hidden;
}

.texto_cursiva{
    font-family: wulkan;
    text-transform: none;
    font-style: italic;
}

.texto_block{
    display: block;
}



/* CARRUSELES FULL */

.carrusel_full{
    height: 100vh;
}

.carrusel_full .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image, .elementor-lightbox .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image {
    height: 100vh;
    object-fit: cover;
    object-position: center;
}

.carrusel_full .swiper .swiper-image-stretch .swiper-slide:nth-child(even) .swiper-slide-image,
.carrusel_full .swiper .swiper-image-stretch .swiper-slide:nth-child(even) .swiper-slide-image {
    border-radius: 0px 1000px 1000px 0px;
}

.carrusel_full .swiper .swiper-image-stretch .swiper-slide:nth-child(odd) .swiper-slide-image,
.carrusel_full .swiper .swiper-image-stretch .swiper-slide:nth-child(odd) .swiper-slide-image {
    border-radius: 1000px 0px 0px 1000px
}



/* CARRUSELES VIVIENDAS ITEM */

.wrapper_carrusel_imagenes_item_vivienda{
    width: 100px;
    min-width: 100%;
}

.carrusel_imagenes_item_vivienda{
    max-height: 390px;
}

.carrusel_imagenes_item_vivienda img{
    width: 100%;
    height: 390px;
    max-height: 390px;
    min-height: 390px;
    object-fit: cover;
    object-position: center;
}

.carrusel_imagenes_item_vivienda .swiper-button-prev,
.carrusel_imagenes_item_vivienda .swiper-button-next{
    top: unset !important;
    bottom: 14px;
    color: var(--e-global-color-primary);
}

.carrusel_imagenes_item_vivienda .swiper-button-prev:after,
.carrusel_imagenes_item_vivienda .swiper-button-next:after{
    font-size: 28px;
}

.carrusel_imagenes_item_vivienda .swiper-button-prev{
    left: 24px!important;
}

.carrusel_imagenes_item_vivienda .swiper-button-next{
    right: 24px!important;
}

.detalles_vivienda_item{
    font-weight: 400;;
}

.btn_ver_plano,
.btn_me_interesa{
    text-transform: uppercase;
}



/* CARRUSELES GALERIA */

.carrusel_galeria_imagenes img{
    width: 100%;
    height: 512px;
    max-height: 512px;
    min-height: 512px;
    object-fit: cover;
    object-position: center;
}

.carrusel_galeria_imagenes .elementor-swiper-button{
    top: unset !important;
    bottom: -26px;
}

.carrusel_galeria_imagenes .elementor-swiper-button-prev{
    left: 24px!important;
}

.carrusel_galeria_imagenes .elementor-swiper-button-next{
    right: 24px!important;
}

.carrusel_galeria_imagenes.elementor-element .swiper .swiper-horizontal>.swiper-pagination-bullets,
.carrusel_galeria_imagenes.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal,
.carrusel_galeria_imagenes.elementor-element .swiper .swiper-pagination-custom, .elementor-element .swiper .swiper-pagination-fraction,
.carrusel_galeria_imagenes.elementor-element .swiper~.swiper-pagination-bullets.swiper-pagination-horizontal,
.carrusel_galeria_imagenes.elementor-element .swiper~.swiper-pagination-custom, .elementor-element .swiper~.swiper-pagination-fraction{
    bottom: -16px!important;
}


/* INPUTS FORMULARIOS */

.elementor-field-group .elementor-field-textual:focus {
    box-shadow: none;
    outline: 0;
}




/* PASOS FORMULARIO ELEMENTOR */

.formulario_pasos form{
    display: flex;
    flex-direction: column-reverse;
}

.formulario_pasos form .e-form__indicators {
    display: flex;
    flex-wrap: nowrap;
    font-size: 13px;
    justify-content: flex-start;
    align-items: center;
}

.formulario_pasos form .e-form__indicators__indicator__separator{
    display: none;
}

.formulario_pasos form .e-form__indicators__indicator__number{
    font-size: 0;
    width: 20px;
    height: 20px;
}

.formulario_pasos form .e-form__indicators__indicator.e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__number{
    border: 1px solid var(--e-global-color-secondary);
    background: var(--e-global-color-primary);
}

.formulario_pasos form .e-form__indicators__indicator.e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.formulario_pasos form .e-form__indicators__indicator.e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number{
    border: 1px solid var(--e-global-color-secondary);
    background: var(--e-global-color-secondary);
}

.formulario_pasos .e-form__buttons{
    margin-bottom: -28px;
    margin-left: auto;
    justify-content: flex-end;
}

.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper{
    width: 48px;
    min-width: 48px;
    max-width: 48px;
}

.formulario_pasos .e-form__step{
    min-height: 300px;
}

.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-previous button,
.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-next button,
.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-previous button:hover,
.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-next button:hover{
    border: none;
    background: none;
    font-size: 0px;
    padding: 0;
}

.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-previous button:before,
.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-next button:before{
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-previous button:before{
    background-image: url(../img/formulario_previous.svg);
}
.formulario_pasos .e-form__buttons .elementor-field-group.e-form__buttons__wrapper.elementor-field-type-next button:before{
    background-image: url(../img/formulario_next.svg);
}



/* FORMULARIO DE CONTACTO EN LA CABECERA */

.trigger_contacto{
    cursor: pointer;
}

.contacto_cabecera_wrapper{
    display: none;
    overflow-y: auto;
    height: 100vh;
    height: 100dvh;
}

.contacto_cabecera_wrapper .contacto_cabecera_template{
    width: 100%
}



/* FORMULARIO DE CONTACTO RESIDENCIAL */

.formulario_contacto_residencial label {
    display: none;
    text-transform: uppercase;
    font-size: 18px!important;
}

.formulario_contacto_residencial #form-field-aceptacion+label{
    text-transform: unset;
    font-size: 16px!important;
}

.formulario_contacto_residencial #form-field-aceptacion+label a{
    color: var(--e-global-color-primary) !important;
    text-decoration: underline;
}

.formulario_contacto_residencial label[for="form-field-n_habitaciones"],
.formulario_contacto_residencial label[for="form-field-horario_contacto"] {
    display: inline-block;
    padding-bottom: 12px !important;
}

.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-n_habitaciones .elementor-field-option input,
.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-horario_contacto .elementor-field-option input{
    display: none;
}

.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-n_habitaciones .elementor-field-subgroup,
.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-horario_contacto .elementor-field-subgroup{
    display: flex;
    gap: 20px;
}

.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-n_habitaciones .elementor-field-option,
.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-horario_contacto .elementor-field-option{
    padding-inline-end: 0px;
}

.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-n_habitaciones .elementor-field-option label,
.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-horario_contacto .elementor-field-option label{
    min-width: 30px;
    height: 30px;
    background-color: transparent;
    border: 1px solid var(--e-global-color-primary);
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
}

.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-horario_contacto .elementor-field-option label{
    padding: 0px 20px;
}

.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-n_habitaciones .elementor-field-option input:checked+label,
.formulario_contacto_residencial .elementor-field-type-radio.elementor-field-group-horario_contacto .elementor-field-option input:checked+label{
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-text);
    border: 1px solid var(--e-global-color-primary);
}



/* FORMULARIO CONTACTO */

.formulario_contacto label {
    display: none;
    text-transform: uppercase;
    font-size: 18px!important;
}

.formulario_contacto #form-field-aceptacion+label{
    text-transform: unset;
    font-size: 16px!important;
}

.formulario_contacto #form-field-aceptacion+label a{
    color: var(--e-global-color-primary) !important;
    text-decoration: underline;
}

.formulario_contacto label[for="form-field-tipo_contacto"] {
    display: inline-block;
    padding-bottom: 12px !important;
}

.formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-option input{
    display: none;
}

.formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-subgroup{
    display: flex;
    gap: 20px;
    gap: 20px;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
}

.formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-option{
    padding-inline-end: 0px;
}

.formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-option label{
    min-width: 30px;
    height: 30px;
    background-color: transparent;
    border: 1px solid var(--e-global-color-primary);
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
}

.formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-option label{
    padding: 0px 20px;
}

.formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-option input:checked+label{
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-text);
    border: 1px solid var(--e-global-color-primary);
}

@media (max-width: 1800px) {
    .formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-subgroup{
        flex-wrap: wrap;
        gap: 8px;
    }
    .formulario_contacto .elementor-field-type-radio.elementor-field-group-tipo_contacto .elementor-field-option{
        flex: 1;
    }
}

/* TRIGGER SCROLL */
.trigger_scroll{
    cursor: pointer;
    position: absolute;
    bottom: 100px;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
    font-weight: 300;
    text-transform: uppercase;
    font-size: 15px;
    line-height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: "Museo Sans";
    color: var(--e-global-color-primary);
}

.trigger_scroll .scroll_down_svg{
    width: 24px;
    height: 24px;
    display: block;
    background-image: url(../img/scroll_down.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}


/* IMAGEN SECCION 50% 100VH */

.imagen_100vh{
    /* min-height: 100vh; */
    width: 100%;
    height: 100% !important;
}

.imagen_100vh img{
    /* min-height: 100vh; */
    height: 100% !important;
}



/* IMAGEN MASCARA */

.imagen_mask img{
    -webkit-mask-image: url(../img/mascara_imagen_doble.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-clip: border-box;
    mask-image: url(../img/mascara_imagen_doble.svg);
    mask-size: 100% 100%;
    mask-clip: border-box;
}



/* CARRUSEL CUSTOM */

.carrusel_custom .elementor-swiper-button.elementor-swiper-button-prev:before,
.carrusel_custom .elementor-swiper-button.elementor-swiper-button-next:before{
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.carrusel_custom .elementor-swiper-button.elementor-swiper-button-prev:before{
    background-image: url(../img/formulario_previous.svg);
}

.carrusel_custom .elementor-swiper-button.elementor-swiper-button-next:before{
    background-image: url(../img/formulario_next.svg);
}

.carrusel_custom .elementor-swiper-button.elementor-swiper-button-prev.swiper-button-disabled{
    display: none;
}

.carrusel_custom .elementor-swiper-button{
    top: unset !important;
    bottom: -14px;
}

.carrusel_custom .elementor-swiper-button-prev{
    left: unset!important;
    right: 48px!important;
}

.carrusel_custom .elementor-swiper-button-next{
    right: 0px!important;
}

.carrusel_custom .swiper-pagination{
    display: flex;
    flex-direction: row;
    gap: 2px;
}

.carrusel_custom .paginacion_custom{
    margin-left: 20px;
    display: flex;
    gap: 10px;
}

.carrusel_custom .swiper-pagination .swiper-pagination-bullet{
    border-radius: 0px;
    opacity: 1;
    border: 1px solid var(--e-global-color-secondary);
    background-color: var(--e-global-color-primary);
    cursor: pointer;
}

.carrusel_custom .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background-color: var(--e-global-color-secondary);
}

.imagen_carrusel_custom{
    position: absolute;
}






.carrusel_entradas .elementor-swiper-button.elementor-swiper-button-prev:before,
.carrusel_entradas .elementor-swiper-button.elementor-swiper-button-next:before{
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.carrusel_entradas .elementor-swiper-button.elementor-swiper-button-prev:before{
    background-image: url(../img/formulario_previous.svg);
}

.carrusel_entradas .elementor-swiper-button.elementor-swiper-button-next:before{
    background-image: url(../img/formulario_next.svg);
}

.carrusel_entradas .elementor-swiper-button.elementor-swiper-button-prev.swiper-button-disabled{
    display: none;
}

.carrusel_entradas .elementor-swiper-button{
    top: unset !important;
    bottom: -14px;
}

.carrusel_entradas .elementor-swiper-button-prev{
    left: 0px!important;
}

.carrusel_entradas .elementor-swiper-button-next{
    right: 0px!important;
}
