@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

a {
    color: var(--e-global-color-accent);
}

/* PADDING SECTION */

section{
    padding-left: 8px!important;
    padding-right: 8px!important;
}


/* CORTES SECCIONES */

.corte_inferior{
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 10vw))!important;
    padding-bottom: 10vw!important;
}

.corte_superior{
    clip-path: polygon(0 0, 100% 10vw, 100% 100%, 0 100%)!important;
    padding-top: 10vw!important;
}

.corte_superior_inferior{
    clip-path: polygon(0 0, 100% 10vw, 100% 100%, 0 calc(100% - 10vw))!important;
    padding-top: 13vw!important;
    padding-bottom: 13vw!important;
}

.corte_inferior_extra{
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 10vw))!important;
    padding-bottom: 10vw!important;
}

.corte_superior_extra{
    clip-path: polygon(0 0, 100% 10vw, 100% 100%, 0 100%)!important;
    padding-top: 10vw!important;
}

.corte_superior_inferior_extra{
    clip-path: polygon(0 0, 100% 10vw, 100% 100%, 0 calc(100% - 10vw))!important;
    padding-top: 13vw!important;
    padding-bottom: 13vw!important;
}



.corte_inferior_2{
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10vw), 0 100%)!important;
    padding-bottom: 10vw!important;
}

.corte_superior_2{
    clip-path: polygon(0 10vw, 100% 0, 100% 100%, 0 100%)!important;
    padding-top: 10vw!important;
}

.corte_superior_inferior_2{
    clip-path: polygon(0 10vw, 100% 0, 100% calc(100% - 10vw), 0 100%)!important;
    padding-top: 10vw!important;
    padding-bottom: 10vw!important;
}

.corte_superior_2_before{
    padding-top: 10vw!important;
    position: relative!important;
    border-top: 1px solid white!important;
}

.corte_superior_2_before::after{
    z-index: 1;
    content: ""!important;
    background-color: white!important;
    width: 100%!important;
    height: 10vw!important;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%)!important;
    top: -1px!important;
    left: 0!important;
    position: absolute!important;
}

.corte_superior_inferior_2_no_padding{
    clip-path: polygon(0 10vw, 100% 0, 100% calc(100% - 10vw), 0 100%)!important;
}

.corte_inferior_extra_no_padding{
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 10vw))!important;
    margin-bottom: -10vw!important;
}

.corte_superior_extra_no_padding_before {
    /* padding-top: 15vw!important; */
    position: relative!important;
    border-top: 1px solid white!important;
}

.corte_superior_extra_no_padding_before::after{
    z-index: 1;
    content: ""!important;
    background-color: white!important;
    width: 100%!important;
    height: 10vw!important;
    clip-path: polygon(0 0, 100% 0, 100% 10vw, 0 0)!important;
    top: -1px!important;
    left: 0!important;
    position: absolute!important;
}


.corte_inferior_3 {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10vw), 0 100%) !important;
    padding-bottom: 28vw !important;
    position: relative !important;
    z-index: 1 !important;
}

.corte_superior_3_before{
    padding-top: 10vw!important;
    position: relative!important;
    border-top: 1px solid white!important;
}

.corte_superior_3_before::after{
    z-index: 1;
    content: ""!important;
    background-color: white!important;
    width: 100%!important;
    height: 14vw!important;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%)!important;
    top: -1px!important;
    left: 0!important;
    position: absolute!important;
}

.corte_seccion_unica_carrusel_hazte_socio{
    padding-top: 10vw!important;
    position: relative!important;
    border-top: 1px solid white!important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    clip-path: polygon(0 10vw, 100% 0, 100% 100%, 0 100%)!important;
}

.corte_seccion_unica_carrusel_hazte_socio::after{
    z-index: 1;
    content: ""!important;
    background-color: white!important;
    width: 100%!important;
    height: 14vw!important;
    clip-path: polygon(0 100%, 0 100%, 100% 0%, 100% 100%)!important;
    bottom: -1px!important;
    left: 0!important;
    position: absolute!important;
}

.padding_superior{
    padding-top: 76px!important;
}

.padding_inferior{
    padding-bottom: 76px!important;
}

.corte_inferior_2_extra_no_padding{
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 13vw))!important;
    margin-bottom: -10vw!important;
}

/* GENERADORES CONFIANZA DIAGONAL */

.generadores_confianza_diagonal{
    margin-top: -10vw!important;
}

.generadores_confianza_diagonal .generador_confianza{
    text-align: center!important;
}

.generadores_confianza_diagonal .generador_confianza:nth-child(1){
    margin-top: calc( -20px + (100vw - 1024px ) / 20 ) !important;
}
.generadores_confianza_diagonal .generador_confianza:nth-child(2){
    margin-top: calc( -2px + (100vw - 1024px ) / 20 ) !important;
}
.generadores_confianza_diagonal .generador_confianza:nth-child(3){
    margin-top: calc( 30px + (100vw - 1024px ) / 20 ) !important;
}
.generadores_confianza_diagonal .generador_confianza:nth-child(4){
    margin-top: calc( 56px + (100vw - 1024px ) / 20 ) !important;
}

@media (max-width: 1023px) {
    .generadores_confianza_diagonal .generador_confianza:nth-child(1){
        margin-top: calc( -20px + (100vw - 1024px ) / 20 ) !important;
    }
    .generadores_confianza_diagonal .generador_confianza:nth-child(2){
        margin-top: calc( -3px + (100vw - 1024px ) / 20 ) !important;
    }
    .generadores_confianza_diagonal .generador_confianza:nth-child(3){
        margin-top: calc( 24px + (100vw - 1024px ) / 20 ) !important;
    }
    .generadores_confianza_diagonal .generador_confianza:nth-child(4){
        margin-top: calc( 52px + (100vw - 1024px ) / 20 ) !important;
    }
}

@media (max-width: 767px) {
    .generadores_confianza_diagonal{
        margin-top: -6vw!important;
    }

    .generadores_confianza_diagonal .generador_confianza:nth-child(1){
        margin-top: calc( -2px + (100vw - 1024px ) / 20 ) !important;
    }
    .generadores_confianza_diagonal .generador_confianza:nth-child(2){
        margin-top: calc( 6px + (100vw - 1024px ) / 20 ) !important;
    }
    .generadores_confianza_diagonal .generador_confianza:nth-child(3){
        margin-top: calc( 6px + (100vw - 1024px ) / 20 ) !important;
    }
    .generadores_confianza_diagonal .generador_confianza:nth-child(4){
        margin-top: calc( 56px + (100vw - 1024px ) / 20 ) !important;
    }
}




/* ICONO FORMA AJE */

.icono_aje{
    background-color: var(--e-global-color-primary);
    -webkit-mask-image: url(../img/mascara_icono_aje.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-clip: border-box;
    mask-image: url(../img/mascara_icono_aje.svg);
    mask-size: 100% 100%;
    mask-clip: border-box;
}

.lista_iconos_aje svg{
    background-color: var(--e-global-color-secondary);
    -webkit-mask-image: url(../img/mascara_icono_aje.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-clip: border-box;
    mask-image: url(../img/mascara_icono_aje.svg);
    mask-size: 100% 100%;
    mask-clip: border-box;
}

/* ICONOS CONTACTO */

.datos_contacto.lista_iconos_aje ul.elementor-icon-list-items li.elementor-icon-list-item .elementor-icon-list-icon > svg{
    background-color: var(--e-global-color-primary) !important;
    margin: 0!important;
    padding: 12px!important;
    fill: none !important;
}


/* REDES SOCIALES */

.redes_sociales.lista_iconos_aje ul.elementor-icon-list-items{
    display: flex;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px;
    align-items: center;
    flex-direction: row;
    justify-content: space-between !important;
}

.redes_sociales.lista_iconos_aje ul.elementor-icon-list-items li.elementor-icon-list-item{
    display: flex;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px;
    align-items: center;
    flex-direction: row;
    justify-content: space-between !important;
}

.redes_sociales.lista_iconos_aje ul.elementor-icon-list-items li.elementor-icon-list-item .elementor-icon-list-text{
    display: none;
}

.redes_sociales.lista_iconos_aje ul.elementor-icon-list-items li.elementor-icon-list-item .elementor-icon-list-icon > svg{
    margin: 0!important;
    padding: 10px!important;
    fill: none !important;
}


@media (max-width: 767px) {
    .redes_sociales.lista_iconos_aje ul.elementor-icon-list-items{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start!important;
        gap: 10px;
    }
}


/* MENUS PLEGABLES FOOTER */

@media (max-width: 767px) {
    .menu_trigger_movil{
      cursor: pointer;
      position: relative;
      width: 100%;
    }

    .menu_trigger_movil:before{
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 16px;
        height: 16px;
        border-top: 4px solid #fff;
        border-left: 4px solid #fff;
        transform: rotate(-135deg);
        transition: transform 0.3s;
    }

    .menu_trigger_movil.trigger_activo:before{
        transform: translateY(10px) rotate(45deg);
    }
}


@media (min-width: 768px) {
    .menu_plegable_movil {
        display: flex!important;
    }
}





/* COPYRIGHT */

.copyright_aje{
    text-align: center!important;
    color: white!important;
    font-family: Poppins;
    font-weight: 400!important;
    font-size: 16px!important;
    line-height: 100%!important;
    letter-spacing: 0!important;
    padding-top: 50px!important;
    padding-bottom: 50px!important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.copy_sp{
    text-align: center!important;
}

.copy_sp a,
.copy_sp a:hover{
    color: #fff!important;
}

.copy_sp img{
    height: 13px;
}

@media (max-width: 767px) {
    .copyright_aje{
        flex-direction: column;
        gap: 40px;
    }
}







/* BARRA PORCENTAJE */


.barra_porcentaje_aje .elementor-progress-bar{
    margin-top: 58.5px!important;
    margin-bottom: 24px!important;
}

.barra_porcentaje_aje .elementor-widget-container .elementor-progress-wrapper{
    background-color: #0000!important;
}

.barra_porcentaje_aje .elementor-progress-bar {
    position: relative!important;
    background: solid var(--e-global-color-primary)!important; /* DEGRADADO */

    border-radius: 100px!important;
    height: 7px!important;
}

.barra_porcentaje_aje .elementor-progress-bar .elementor-progress-text {
    position: absolute!important;
    top: 0!important;
    left: 0!important;
    font-family: "Poppins"!important;
    font-weight: 400!important;
    font-size: 16px!important;
    line-height: 100%!important;
    letter-spacing: 1.6px!important;
    text-transform: uppercase!important;
    color: var(--e-global-color-primary)!important;

    padding-inline-start: 0!important;
    margin-top: 16px;
}

.barra_porcentaje_aje .elementor-progress-bar .elementor-progress-percentage {
    position: absolute!important;
    top: 0!important;
    right: 0!important;
    padding-inline-end: 0!important;

    border-radius: 100px!important;
    width: 53px!important;
    height: 53px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;

    background: solid var(--e-global-color-primary)!important; /* VARIABLE */
    color: #fff!important;

    font-weight: 700!important;
    font-size: 16px!important;
    line-height: 100%!important;
    letter-spacing: 0!important;
    text-align: center!important;
    text-transform: uppercase!important;

    margin-top: -58px!important;
    margin-right: -26.5px!important;
}



.barra_porcentaje_aje.barra_porcentaje_aje_1 .elementor-progress-bar {
    background: linear-gradient(90deg, #FABB0C 0%, #B41F2F 39%)!important;
}

.barra_porcentaje_aje.barra_porcentaje_aje_2 .elementor-progress-bar {
    background: linear-gradient(90deg, #EC1D33 0%, #85071F 72%)!important;
}

.barra_porcentaje_aje.barra_porcentaje_aje_3 .elementor-progress-bar {
    background: linear-gradient(90deg, #B41F2F 29%, #242424 100%)!important;
}

.barra_porcentaje_aje.barra_porcentaje_aje_1 .elementor-progress-bar .elementor-progress-percentage {
    background-color: var(--e-global-color-secondary)!important;
}

.barra_porcentaje_aje.barra_porcentaje_aje_2 .elementor-progress-bar .elementor-progress-percentage {
    background-color: #85071F!important;
}

.barra_porcentaje_aje.barra_porcentaje_aje_3 .elementor-progress-bar .elementor-progress-percentage {
    background-color: var(--e-global-color-primary)!important;
}









/* BOTONES */

.btn_primario_negro .elementor-button{
    background-color: var(--e-global-color-primary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-primary)!important;

    transition: all 0.5s!important;
}

.btn_primario_negro .elementor-button:hover{
    background-color: var(--e-global-color-secondary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-secondary)!important;
}







.btn_primario_negro_2 .elementor-button{
    background-color: var(--e-global-color-primary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-primary)!important;

    transition: all 0.5s!important;
}

.btn_primario_negro_2 .elementor-button:hover{
    background-color: #fff!important;
    color: var(--e-global-color-primary)!important;
    border-color: #fff!important;
}






.btn_primario_rojo .elementor-button{
    background-color: var(--e-global-color-secondary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-secondary)!important;

    transition: all 0.5s!important;
}

.btn_primario_rojo .elementor-button:hover{
    background-color: var(--e-global-color-primary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-primary)!important;
}




.btn_primario_rojo_2 .elementor-button{
    background-color: var(--e-global-color-secondary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-secondary)!important;

    transition: all 0.5s!important;
}

.btn_primario_rojo_2 .elementor-button:hover{
    background-color: #fff!important;
    color: var(--e-global-color-primary)!important;
    border-color: #fff!important;
}



.btn_primario_blanco .elementor-button{
    background-color: #fff!important;
    color: var(--e-global-color-primary)!important;
    border-color: #fff!important;

    transition: all 0.5s!important;
}

.btn_primario_blanco .elementor-button:hover{
    background-color: #fff0!important;
    color: #fff!important;
    border-color: #fff!important;
}

.btn_primario_blanco_2 .elementor-button{
    background-color: #fff!important;
    color: var(--e-global-color-primary)!important;
    border-color: #fff!important;

    transition: all 0.5s!important;
}

.btn_primario_blanco_2 .elementor-button:hover{
    background-color: var(--e-global-color-primary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-primary)!important;
}





.btn_secundario_blanco .elementor-button{
    background-color: #fff0!important;
    color: #fff!important;
    border-color: #fff!important;

    transition: all 0.5s!important;
}

.btn_secundario_blanco .elementor-button:hover{
    background-color: #fff!important;
    color: var(--e-global-color-primary)!important;
    border-color: #fff!important;
}






.btn_secundario_negro .elementor-button{
    background-color: #fff0!important;
    color: var(--e-global-color-primary)!important;
    border-color: var(--e-global-color-primary)!important;

    transition: all 0.5s!important;
}

.btn_secundario_negro .elementor-button:hover{
    background-color: var(--e-global-color-primary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-primary)!important;
}





.btn_secundario_rojo .elementor-button{
    background-color: #fff0!important;
    color: var(--e-global-color-primary)!important;
    border-color: var(--e-global-color-secondary)!important;

    transition: all 0.5s!important;
}

.btn_secundario_rojo .elementor-button:hover{
    background-color: var(--e-global-color-secondary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-secondary)!important;
}




/* FLECHAS CARRUSELES */

.carrusel_imagenes .elementor-swiper-button{
    display: none!important;
}

.carrusel_posts .elementor-swiper-button{
    display: none!important;
}

.carrusel_equipo .elementor-swiper-button{
    display: none!important;
}



/* CARRUSEL EQUIPO AJE */

.carrusel_equipo .elementor-main-swiper{
    padding-bottom: 20px!important;
    padding-top: 12px!important;
    padding-left: 14.8px!important;
    padding-right: 14.8px!important;

    margin-left: -14.8px!important;
    margin-right: -14.8px!important;
    width: 100%!important;
}

.carrusel_equipo#carrusel_equipo_directivo .elementor-main-swiper:before,
.carrusel_equipo#carrusel_equipo_directivo .elementor-main-swiper:after{
    content: ""!important;
    width: 48px!important;
    top: 0!important;
    position: absolute!important;
    height: 100%!important;
    z-index: 2!important;
}

.carrusel_equipo#carrusel_equipo_directivo .elementor-main-swiper:before{
    background: linear-gradient(270deg, #fff0, #fff)!important;
    left: -15px!important;
}

.carrusel_equipo#carrusel_equipo_directivo .elementor-main-swiper:after{
    background: linear-gradient(90deg, #fff0, #fff)!important;
    right: 15px!important;
}



.carrusel_equipo .swiper-slide{
    border: none!important;
    border-radius: 20px!important;
    box-shadow: 0px 4px 14.8px 0px #00000040!important;
}

.carrusel_equipo .swiper-slide .elementor-testimonial{
    height: 100%!important;
}

.carrusel_equipo .swiper-slide .elementor-testimonial__header{
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    text-align: center!important;
    height: 100!important;
    border-block-end: none!important;
}


.carrusel_equipo .swiper-slide .elementor-testimonial__image{
    width: 100%!important;
}

.carrusel_equipo .swiper-slide .elementor-testimonial__image img{
    width: 100%!important;
    height: auto!important;
    mask-image: url(../img/mascara_icono_aje.svg)!important;
    mask-size: 100% 100%!important;
    mask-clip: border-box!important;
    -webkit-mask-image: url(../img/mascara_icono_aje.svg)!important;
    -webkit-mask-size: 100% 100%!important;
    -webkit-mask-clip: border-box!important;
    border-radius: 0!important;
    filter: brightness(0.95);
}

.carrusel_equipo .swiper-slide .elementor-testimonial__name{
    font-family: "Poppins"!important;
    font-weight: 600!important;
    font-size: 16px!important;
    line-height: 20px!important;
    letter-spacing: 0!important;
    text-align: center!important;
    text-transform: none!important;
    margin-top: 12px!important;
    margin-bottom: 10px!important;
    color: var(--e-global-color-primary)!important;
}

.carrusel_equipo .swiper-slide .elementor-testimonial__title{
    font-family: "Poppins"!important;
    font-weight: 300!important;
    font-size: 14px!important;
    line-height: 100%!important;
    letter-spacing: 0!important;
    text-align: center!important;
    text-transform: none!important;
    color: var(--e-global-color-primary)!important;
    margin-bottom: 24px!important;
}

.carrusel_equipo.carrusel_equipo_hazte_socio{
    transform: rotate(3deg)!important;
    width: 100%!important;
}

.carrusel_equipo_hazte_socio_wrapper {
    display: flex;
    align-items: center;
}

.carrusel_equipo.carrusel_equipo_hazte_socio a.elementor-button{
    padding-left: 26px!important;
    padding-right: 26px!important;
    width: 100%!important;
}


/* CARRUSEL POSTS */

.carrusel_posts .elementor-heading-title{
    font-family: 'Poppins'!important;
    font-style: normal!important;
    font-weight: 700!important;
    font-size: 18px!important;
    text-transform: unset!important;
    line-height: 26px!important;
    color: #FFFFFF!important;
    letter-spacing: 0 !important;
}
.carrusel_posts.carrusel_posts_autor .elementor-heading-title{
    color: #242424!important;
}


/* CARRUSEL DE IMAGENES PROYECTOS */

.carrusel_imagenes.elementor-widget-image-carousel .swiper-slide {
    height: 100%!important;
}




/* BOTONES CARRUSEL */

.btn_carrusel{
    mask-image: url(../img/mascara_icono_aje.svg)!important;
    mask-size: 100% 100%!important;
    mask-clip: border-box!important;
    -webkit-mask-image: url(../img/mascara_icono_aje.svg)!important;
    -webkit-mask-size: 100% 100%!important;
    -webkit-mask-clip: border-box!important;
    cursor: pointer!important;
}

.btn_carrusel .elementor-button{
    padding: 10px 13px !important;
}

.btn_carrusel.btn_carrusel_next{
    transform: scaleX(-1)!important;
}

.btn_carrusel .elementor-button svg{
    width: 12px!important;
    /* padding-top: 6px!important; */
}

.btn_carrusel.btn_primario_negro .elementor-button svg path{
    fill: #fff!important;
    transition: all 0.5s!important;
}

.btn_carrusel.btn_primario_negro .elementor-button:hover svg path{
    fill: #fff!important;
}

.btn_carrusel.btn_primario_blanco_2 .elementor-button svg path{
    fill: var(--e-global-color-primary)!important;
    transition: all 0.5s!important;
}

.btn_carrusel.btn_primario_blanco_2 .elementor-button:hover svg path{
    fill: #fff!important;
}



/* GALERIA FOROS DE DESARROLLO */

.galeria_cuadricula > .galeria_item{
    width: 100%!important;
    background-color: white!important;
    border-radius: 21px!important;
    min-height: 200px!important;
    height: 200px!important;
    max-height: 200px!important;
    box-shadow: -6px 5px 12.5px 0px #00000040!important;
    overflow: hidden!important;
    position: relative!important;
}

.galeria_cuadricula > .galeria_item > .item_texto{
    width: 100%!important;
    height: 100%;
    background-color: #B41F2FBB!important;
    padding: 20px!important;
    overflow: hidden!important;
    position: absolute!important;
    top: 0!important;
    left: 0!important;
    opacity: 0!important;
    z-index: 1!important;
    transition: opacity 0.5s!important;


}

.galeria_cuadricula > .galeria_item > .item_texto p{
    font-family: 'Poppins'!important;
    font-style: normal!important;
    font-weight: 800!important;
    font-size: 16px!important;
    line-height: 24px!important;
    text-align: center!important;
    text-transform: uppercase!important;
    color: #FFFFFF!important;
    letter-spacing: 0.5px !important;
}

.galeria_cuadricula > .galeria_item > .item_imagen{
    padding: 20px!important;
    overflow: hidden!important;
    width: 100%!important;
    height: 100%!important;
    position: absolute!important;
    top: 0!important;
    left: 0!important;
}

.galeria_cuadricula > .galeria_item > .item_imagen .elementor-widget-container,
.galeria_cuadricula > .galeria_item > .item_texto .elementor-widget-container{
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
}

.galeria_cuadricula > .galeria_item:hover > .item_texto{
    opacity: 1!important;
}









/* HEADER */

header.elementor{
    position: fixed!important;
    top: 0!important;
    left: 0!important;
    width: 100%!important;
    z-index: 1001!important;
    background: linear-gradient(180deg, #000A 0%, #0000 50%)!important;
    background-size: auto 200%!important;

    /* SOLO DESAPARECE LA SOMBRA EN LA HOME */
    /* background-position: 0 100%!important; */
    background-position: 0 0!important;
    
    transition: background-position 0.5s, top 0.5s!important;
    min-height: 130px!important;
}

body.home header.elementor{
    background-position: 0 100%!important;
}

body.home header.elementor.header_degradado,
header.elementor.header_degradado{
    background-position: 0 0!important;
}

body.admin-bar header.elementor{
    top: 32px!important;
}

body header.elementor.header_oculto{
    top: -100px!important;
}



header.elementor .shortcode_menu_movil{
    display: none!important;
}

@media (max-width: 1480px) {
    header.elementor .menu_header{
        display: none!important;
    }

    header.elementor .shortcode_menu_movil{
        display: block!important;
    }

    header.elementor .elementor-widget-theme-site-logo{
        margin-right: auto!important;
    }
}








@media (min-width: 1024px) {
    .seccion_columnas_mixtas > .e-con-inner {
        max-width: 100%!important;
    }
    
    .seccion_columnas_mixtas > .e-con-inner .columna_auto:nth-child(1){
        padding-left: calc( ( 100vw - var(--content-width) ) / 2)!important;
    }
    
    .seccion_columnas_mixtas > .e-con-inner .columna_auto:nth-child(2){
        padding-right: calc( ( 100vw - var(--content-width) ) / 2)!important;
    }
}



@media (min-width: 1024px) {
    .seccion_estrecha{
        padding-left: 48px!important;
        padding-right: 48px!important;
    }
}







/* SECCIÓN HAZTE SOCIO FULL */

.texto_custom_seccion_hazte_socio_full *{
    font-family: "Poppins"!important;
    font-weight: 700!important;
    font-size: 36px!important;
    line-height: 36px!important;
    letter-spacing: 5.4px!important;
    text-align: center!important;
}





/* PÁGINA CONTACTO */

.texto_formulario *{
    font-family: "Poppins"!important;
    font-weight: 700!important;
    font-size: 24px!important;
    line-height: 26px!important;
    letter-spacing: 5.4px!important;
    text-transform: uppercase!important;
}

.formulario_contacto input,
.formulario_contacto textarea{
    font-family: "Poppins"!important;
    font-weight: 400!important;
    font-size: 16px!important;
    line-height: 16px!important;
    letter-spacing: 0px!important;
}

.formulario_contacto .elementor-field-textual {
    min-height: 37px!important;
}

.formulario_contacto .elementor-field-type-acceptance label{
    color: #fff!important;
    font-size: 13px!important;
}

.formulario_contacto .elementor-field-type-acceptance a{
    color: var(--e-global-color-accent)!important;
}

.formulario_contacto .elementor-button{
    background-color: var(--e-global-color-primary)!important;
    color: #fff!important;
    border-color: var(--e-global-color-primary)!important;
    font-weight: 600!important;
    font-size: 22px!important;
    flex-basis: unset!important;

    transition: all 0.5s!important;
}

.formulario_contacto .elementor-button:hover{
    background-color: #fff!important;
    color: var(--e-global-color-primary)!important;
    border-color: #fff!important;
}

.formulario_contacto .elementor-field-group.elementor-field-type-submit {
    justify-content: center!important;
    flex-basis: unset!important;
}









/* CHECKBOXES */

/*
input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox; 
  -moz-appearance: checkbox;
  background-color: initial;
  border: initial;
  width: auto;
  height: auto;
  margin-right: 8px;
  cursor: pointer;
}

@supports (
  (-webkit-appearance: none) 
  and (appearance: none) 
  and (not (-moz-appearance: none))
) {
  input[type="checkbox"] {
    appearance: none;
    cursor: pointer;
    background-color: #fff;
    margin: 0;
    margin-right: 8px;
    font: inherit;
    width: 14px;
    min-width: 14px;
    max-width: 14px;
    height: 14px;
    border: 2px solid;
    border-radius: 0;
    transform: translateY(2px);
    display: grid;
    place-content: center;
  }

  input[type="checkbox"]::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    transform: scale(0);
    transition: .12s transform ease-in-out;
    box-shadow: inset 1em 1em var(--e-global-color-primary);
    transform-origin: bottom left;
    clip-path: polygon(
      14% 44%,
      0 65%,
      50% 100%,
      100% 16%,
      80% 0%,
      43% 62%
    );
  }

  input[type="checkbox"]:checked::before {
    transform: scale(1);
  }
}

@supports ( (-webkit-appearance: none) and (appearance: none) and (not (-moz-appearance: none)) ) {
    .elementor-widget-woocommerce-checkout-page .woocommerce-checkout .form-row .input-checkbox {
        width: 18px;
        min-width: 18px;
        max-width: 18px;
        height: 18px;
    }
}
*/



























/* VARIACIONES TEXTOS */

.txt_12 *{
    font-size: 12px!important;
}

.txt_13 *{
    font-size: 13px!important;
}

.txt_14 *{
    font-size: 14px!important;
}

.txt_15 *{
    font-size: 15px!important;
}

.txt_16 *{
    font-size: 16px!important;
}

.txt_17 *{
    font-size: 17px!important;
}

.txt_18 *{
    font-size: 18px!important;
}

.txt_19 *{
    font-size: 19px!important;
}

.txt_20 *{
    font-size: 20px!important;
}

.txt_21 *{
    font-size: 21px!important;
}

.txt_22 *{
    font-size: 22px!important;
}

.weight_300 *{
    font-weight: 300!important;
}

.weight_400 *{
    font-weight: 400!important;
}

.weight_500 *{
    font-weight: 500!important;
}

.weight_600 *{
    font-weight: 600!important;
}

.weight_700 *{
    font-weight: 700!important;
}

.weight_800 *{
    font-weight: 800!important;
}

.l_h_35 *{
    line-height: 35px!important;
}




/* EFECTO HOVER POST DE BLOG */

.item_post_blog_hover .contenedor_wrapper .contenedor_hide{
    overflow: hidden!important;
    visibility: hidden!important;
    max-height: 0!important;
    transition: max-height 0.3s, visibility 0.3s!important;
}

.item_post_blog_hover .contenedor_wrapper .contenedor_visible{
    margin-top: 16px!important;
    transition: margin-top 0.3s!important;
}

.item_post_blog_hover:hover .contenedor_wrapper .contenedor_visible{
    margin-top: 0px!important;
}

.item_post_blog_hover:hover .contenedor_wrapper .contenedor_hide{
    max-height: calc(100%)!important;
    visibility: visible!important;
}

@media (max-width: 1023px) {
    .item_post_blog_hover .contenedor_wrapper .contenedor_visible{
        margin-top: 0px!important;
    }
    
    .item_post_blog_hover .contenedor_wrapper .contenedor_hide{
        max-height: calc(100%)!important;
        visibility: visible!important;
    }
}

.item_post_blog_hover img{
    max-height: 350px!important;
}



/* Buscador de posts */

.buscador_post .e-search-form{
    display: flex!important;
    flex-direction: row!important;
    justify-content: flex-end!important;
    flex-wrap: nowrap!important;
    align-items: center!important;

    border: 1px solid var(--e-global-color-secondary)!important;
    border-radius: 100px!important;
    overflow: hidden!important;
    padding: 0!important;
}


.buscador_post .e-search-input-wrapper{
    align-items: flex-end!important;
    width: unset!important;
}

.buscador_post input{
    min-height: 0%!important;
    width: 0%!important;
    max-width: 0px!important;
    visibility: hidden!important;
    padding: 0px!important;
    border: none!important;
    transition: width 0.5s, max-width 0.5s, padding 0.5s, visibility 0.5s!important;
}


.buscador_post:hover input,
.buscador_post input:active,
.buscador_post input:focus{
    width: 100%!important;
    max-width: 230px!important;
    padding: 10px!important;
    visibility: visible!important;
}

.buscador_post .e-search-results-container{
    display: none!important;
}

@media (max-width: 1023px) {
    .buscador_post input{
        width: 100%!important;
        max-width: 230px!important;
        padding: 10px!important;
        visibility: visible!important;
    }
}

/* .archive-post-loop .elementor-pagination .page-numbers .elementor-screen-only{
    height: unset!important;
    margin: unset!important;
    overflow: unset!important;
    padding: unset!important;
    position: unset!important;
    top: unset!important;
    width: unset!important;
    clip: unset!important;
    border: unset!important;
    text-transform: initial!important;
    margin-right: 6px!important;
}

.archive-post-loop .elementor-pagination{ 
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 32px;
}

.archive-post-loop .elementor-pagination .page-numbers{ 
    display: flex;
    flex-direction: row;
    align-items: center;
}

.archive-post-loop .elementor-pagination .page-numbers:nth-child(1)::before,
.archive-post-loop .elementor-pagination .page-numbers:nth-child(2)::after{
    content: "";
    width: 42px;
    height: 36px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
}

.archive-post-loop .elementor-pagination .page-numbers:nth-child(1)::before{
    margin-right: 22px;
    background-image: url(../img/previus_paginado_blog.svg);
}

.archive-post-loop .elementor-pagination .page-numbers:nth-child(2)::after{
    margin-left: 22px;
    background-image: url(../img/next_paginado_blog.svg);
}

.archive-post-loop .elementor-pagination a.page-numbers::before,
.archive-post-loop .elementor-pagination a.page-numbers::after{
    filter: grayscale(1);
    transition: filter 0.3s;
}

.archive-post-loop .elementor-pagination a.page-numbers:hover::before,
.archive-post-loop .elementor-pagination a.page-numbers:hover::after{
    filter: unset;
}


.archive-post-loop .elementor-pagination .page-numbers.current{
    display: none!important;
}
 */





/* FORMULARIO PIDE INFORMACIÓN HAZTE SOCIO */

.formulario_informacion {
    display: flex;
    justify-content: center;
    align-items: center;
}

.formulario_informacion .elementor-form-fields-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}

.formulario_informacion .elementor-field-group {
    text-align: center;
}

.formulario_informacion_titulo {
    text-align: center;
    font-weight: 700;
    font-size: 26px;
    margin-top: 50px;
    letter-spacing: 2px;
}

.formulario_informacion .elementor-field-type-checkbox label {
    display: inline-block;
    color: #fff; 
    font-size: 13px;
    text-align: left; 
    vertical-align: middle;
}

.formulario_informacion .elementor-field-type-checkbox {
    display: flex;
    align-items: center; 
}

.formulario_informacion button {
    margin-top: 50px;
    margin-bottom: 50px;
}

@media (max-width: 767px) {
    .formulario_informacion_titulo {
        margin-left: 5px;
    }
    .formulario_informacion .elementor-field-group {
        margin-left: 15px;
    }
}

/* PREGUNTAS FRECUENTES FAQS HAZTE SOCIO */

.faq .e-n-accordion-item {
    border-radius: 10px !important;
    transition: all 0.3s ease;
    overflow: hidden;
}

.faq .e-n-accordion-item-title {
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    transition: all 0.3s ease;
}

.faq .e-n-accordion-item-summary {
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    transition: all 0.3s ease;
}

.faq .e-n-accordion-item[aria-expanded="true"] {
    border-bottom-left-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.faq .e-n-accordion-item[aria-expanded="true"] .e-n-accordion-item-summary {
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

.faq .e-n-accordion-item[aria-expanded="true"] .e-n-accordion-item-title {
    border-bottom-left-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.faq .e-n-accordion {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
}

.faq .e-n-accordion-item-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 35px; 
}

.faq .e-n-accordion-item-title-icon {
    order: 2;
}

.faq .e-n-accordion-item-title[aria-expanded="true"] svg path {
    fill: #fabb0c !important;
    transition: fill 0.3s ease;
}

.faq .e-n-accordion-item[aria-expanded="true"] .e-n-accordion-item-title svg {
    fill: #FABB0C !important;
}

.faq .e-n-accordion-item p:last-child{
    margin-bottom: 0!important;
}

.faq .e-n-accordion-item .elementor-widget-container{
    margin-bottom: .9rem!important;
}

/* TABLA PRECIOS HAZTE SOCIO */

.precios .elementor-price-table {
    background: white!important;
}

.precios .elementor-price-table__price {
    position: relative;
    display: inline-block;
    align-items: center;
    margin-left: 80px;
    background: transparent!important;
    margin-top: -5px;
}

.precios .elementor-price-table__currency {
    z-index: 1;
    margin-right: 5px; 
}

.precios .elementor-price-table__heading {
    padding-top: 50px;
    letter-spacing: 3px!important;
    font-size: 22px!important;
}

.precios .elementor-price-table__button {
    padding-left: 50px;
    padding-right: 50px;
}

.precios .elementor-price-table__feature-inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    margin-left: 0!important;
}

.precios .elementor-price-table__feature-inner svg {
    width: 16px;
    height: 16px; 
    min-width: 16px; 
    min-height: 16px;
    vertical-align: middle;
    margin-top: 1px;
    margin-right: 15px;
}

.precios .elementor-price-table__feature-inner span {
    /* display: inline-block; */
    margin-bottom: 5px;
    max-width: 100%;
    text-align: left;
    line-height: 1.2;
}

.precios .elementor-price-table__feature-inner span:first-child {
    margin-top: 0;
}

.precios .elementor-price-table__price::after {
    content: " (extento de IVA)";
    font-size: 0.52em;
    color: gray;
    text-transform: none !important;
    display: block;
    margin-top: -20px;
    margin-left: 20px;
    font-weight: normal;
    text-align: right;
    margin-bottom: -30px;
}

.precios .elementor-price-table__price + .elementor-price-table__features-list::before {
    content: "";
    display: block;
    width: 92%;
    height: 2px;
    background-color: #8b8385ab;
    margin: 5px 35px 25px -10px;
}

.precios_2 .elementor-price-table__price {
    position: relative;
    /* display: inline-block; */
    align-items: center;
    /* margin-left: 60px!important; */
    background: transparent!important;
    margin-top: -5px;
}


.precios_2 .elementor-price-table__price::after {
    content: " (extento de IVA)";
    font-size: 0.52em;
    color: gray;
    text-transform: none !important;
    display: block;
    margin-top: -20px;
    margin-left: 20px!important;
    font-weight: normal;
    text-align: right;
    margin-bottom: -30px;
}

.precios_3 .elementor-price-table__price {
    position: relative;
    /* display: inline-block; */
    align-items: center;
    /* margin-left: 65px; */
    background: transparent!important;
    margin-top: -5px;
}

.precios_3 .elementor-price-table {
    flex-grow: 1; 
    display: flex;
    flex-direction: column; 
    justify-content: space-between;
    /*background-color: var(--e-global-color-secondary )!important;*/
	background: linear-gradient(140deg, #FABB0C, #B41F2F, #85071F, #B41F2F, #FABB0C, #B41F2F, #85071F)!important;
	background-size: 400%!important;
}
/* 
.precios_3 .elementor-widget-container {
    height: 510px!important;
    display: flex;
    align-items: stretch;
} */

.precios_3 .elementor-price-table__price::after {
    content: " (extento de IVA)";
    font-size: 0.52em;
    text-transform: none !important;
    color: white;
    display: block;
    margin-top: -20px;
    margin-left: 20px!important;
    font-weight: normal;
    text-align: right;
    margin-bottom: -30px;
}

.precios_3 .elementor-price-table__price + .elementor-price-table__features-list::before {
    content: "";
    display: block;
    width: 92%;
    height: 2px;
    background-color: white;
    margin: 5px 35px 25px -10px;
}

@media (max-width: 768px) {
    .precios .elementor-price-table__heading,
    .precios .elementor-price-table__feature-inner span,
    .precios .elementor-price-table__button {
      font-size: 80% !important;
    }

    .precios_3 .elementor-price-table__heading {
        font-size: 85% !important;
    }
  
    .precios .elementor-price-table__button {
      padding-left: 20px;
      padding-right: 20px;
    }

    .precios .elementor-price-table__price {
        margin-left: 40px !important; 
    }
  
    .precios .elementor-price-table__price::after,
    .precios_2 .elementor-price-table__price::after,
    .precios_3 .elementor-price-table__price::after {
      margin-top: -25px;
      margin-bottom: -25px;
    }
  
    .precios .elementor-price-table__price::after {
      margin-left: 75px !important;
    }
  
    .precios_2 .elementor-price-table__price::after {
      margin-left: 90px !important;
    }
  
    .precios_3 .elementor-price-table__price::after {
      margin-left: 35px !important;
    }
  
    /* Línea un poco más marcada */
    .precios .elementor-price-table__price + .elementor-price-table__features-list::before,
    .precios_3 .elementor-price-table__price + .elementor-price-table__features-list::before {
      width: 88%;
      height: 1.5px;
      margin: 5px 20px 20px -7px;
    }
  
     .precios .elementor-price-table__period {
      font-size: 22px !important;
      line-height: 1.7 !important;
    }

    .precios .elementor-price-table__heading {
        padding-top: 30px !important;
    }

    .precios .elementor-price-table .elementor-price-table__price,
    .precios .elementor-price-table .elementor-price-table__footer {
        padding: 20px 0;
    }

    .precios_3 .elementor-widget-container {
        height: 420px!important;
    }

    .precios .elementor-price-table__button {
        padding: 3px 30px 3px 30px !important;
    }

  }


/* ICONOS HAZTE SOCIO */

.iconos_hazte_socio svg {
    background-color: var(--e-global-color-secondary);
    -webkit-mask-image: url(../img/mascara_icono_aje.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-clip: border-box;
    mask-image: url(../img/mascara_icono_aje.svg);
    mask-size: 100% 100%;
    mask-clip: border-box;
    padding: 22px!important;
}


/* COLOR BLANCO HAZTE SOCIO ICONOS */

.iconos-blanco svg, .iconos-blanco path {
    fill: #ffffff !important;
}

/* IMAGEN LOGO HAZTE SOCIO */

.imagen_logo {
    max-width: 400px!important;
    margin: 0 auto;
}

.imagen_logo img {
    -webkit-mask-image: url(../img/mascara_icono_aje.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-clip: border-box;
    mask-image: url(../img/mascara_icono_aje.svg);
    mask-size: 100% 100%;
    mask-clip: border-box;
    width: 100%;
    height: auto;
}


/* TEXTOS DESPLEGABLES HAZTE SOCIO */

.desplegables {
    position: relative;
    display: flex;
    align-items: center;
    color: white;
    background-color: var(--e-global-color-secondary); 
    padding-top: 25px;
    padding-bottom: 25px;
    border-radius: 20px 0 0 20px; 
    width: fit-content;
    margin-left: -35px!important;
    width: 107%;
}

@media (max-width: 768px) {
    .desplegables {
        margin-left: 0!important;
        width: 107%;  /* Tablet */
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .desplegables {
        margin-left: 0!important;  /* Móvil */
        width: 107%;
    }
}

.desplegables_2 {
    position: relative;
    display: flex;
    align-items: center;
    background-color: #85071F; 
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 20px 0 0 20px; 
    width: fit-content; 
    margin-left: 20px!important;
    width: calc(100% - 20px);
}

.desplegables_3 {
    position: relative;
    display: flex;
    align-items: center;
    color: white;
    background-color: var(--e-global-color-secondary); 
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 20px 0 0 20px; 
    width: fit-content;
    margin-left: 65px!important;
    width: calc(100% - 65px);
}

.desplegables_4 {
    position: relative;
    display: flex;
    align-items: center;
    background-color: #85071F; 
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 20px 0 0 20px; 
    width: fit-content; 
    margin-left: 100px!important;
    width: calc(100% - 100px);
}

/* CARRUSEL HAZTE SOCIO */

/* .contenedor_carrusel {
    position: absolute;
    top: 4405px;
    left: 0;
    width: 100%;
    z-index: 1;
}

@media (max-width: 1280px) {
    .contenedor_carrusel {
        top: 4230px; 
    }
}

@media (max-width: 768px) {
    .contenedor_carrusel {
        top: 3325px; 
    }
}

@media (max-width: 480px) {
    .contenedor_carrusel {
        top: 5905px; 
    }
} */

/* EMPRESA TIPO */

.video_youtube_empresa{
    width: 700px!important;
    height: 394px;
    border-radius: 10px;
}

.texto_justificado{
    text-align: justify;
}

.contenedor_listado_iconos_socio .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child) {
    padding-bottom: calc(8px/2);
}

.contenedor_listado_iconos_socio .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child) {
    margin-top: calc(8px/2);
}

.contenedor_listado_iconos_socio .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
    margin-right: calc(8px/2);
    margin-left: calc(8px/2);
}

.contenedor_listado_iconos_socio .elementor-icon-list-items.elementor-inline-items {
    margin-right: calc(-8px/2);
    margin-left: calc(-8px/2);
}

body.rtl .contenedor_listado_iconos_socio .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after {
    left: calc(-8px/2);
}

body:not(.rtl) .contenedor_listado_iconos_socio .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after {
    right: calc(-8px/2);
}

.contenedor_listado_iconos_socio .elementor-icon-list-icon i {
    transition: color 0.3s;
}

.contenedor_listado_iconos_socio .elementor-icon-list-icon svg {
    background-color: var(--e-global-color-secondary) !important;
    transition: fill 0.3s;
}

.contenedor_listado_iconos_socio {
    --e-icon-list-icon-size: 43px;
}

.contenedor_listado_iconos_socio .elementor-icon-list-icon {
    padding-right: 9px;
}

.contenedor_listado_iconos_socio .elementor-icon-list-text {
    color: var( --e-global-color-primary );
    transition: color 0.3s;
}

.datos_contacto.lista_iconos_aje.contenedor_listado_iconos_socio ul.elementor-icon-list-items li.elementor-icon-list-item .elementor-icon-list-icon > svg{
    background-color: var(--e-global-color-secondary) !important;
}

.txt_generadores_confianza_socio{
    color: #fff;
    text-align: center;
    max-width: 240px;
    font-family: 'Poppins';
}

/* SCROLL CONÓCENOS */

.seccion-scroll {
    height: 250px;
    overflow: hidden;
    display: flex;
    cursor: default;
}
  
.contenido-scroll {
    height: 100%;
    overflow-y: scroll;
    flex: 1;
    padding-left: 20px;
    direction: rtl;
    scrollbar-width: thin;
    scrollbar-color: #333 transparent;
}
  
.contenido-scroll > * {
    direction: ltr;
}
  
.contenido-scroll::-webkit-scrollbar {
    width: 6px;
}
  
.contenido-scroll::-webkit-scrollbar-track {
    background: #ddd;
    border-radius: 10px;
}
  
.contenido-scroll::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 3px;
}
  
.contenido-scroll::-webkit-scrollbar-button {
    display: none;
    height: 0;
}
  
.icono_sonido {
    position: absolute !important;
    bottom: calc(25% + 5px);
    right: calc(15% + 10px);
    z-index: 1;
}
  
.icono_sonido svg {
    background-color: var(--e-global-color-secondary);
    -webkit-mask-image: url(../img/mascara_icono_aje.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-clip: border-box;
    mask-image: url(../img/mascara_icono_aje.svg);
    mask-size: 100% 100%;
    mask-clip: border-box;
    padding: 25px!important;
    cursor: pointer;
}

.nombre_firma {
    position: absolute !important;
    left: calc(40% + 18px);
    top: calc(40% + 16px);
    z-index: 1;
}

.cargo_firma {
    position: absolute !important;
    left: calc(40% + 18px);
    top: calc(60% + 22px);
    z-index: 1;
}

@media (max-width: 1280px) { /* Portátil */
    .imagen-bienvenido {
        margin-bottom: -25px!important;
    }
}

@media (max-width: 768px) {  /* Tablet */
    .icono_sonido {
        bottom: calc(15% + 15px);
        right: calc(5% - 40px);
    }
    .nombre_firma {
        left: calc(30% + 18px);
        top: calc(40% + 13px);
    }
    
    .cargo_firma {
        left: calc(30% + 18px);
        top: calc(50% + 28px);
    }
}

@media (max-width: 480px) { /* Móvil */
    .icono_sonido {
        top: calc(95% + 10px);
        right: 35%;
    }
    .nombre_firma {
        left: calc(30% + 15px);
    }
    
    .cargo_firma {
        left: calc(30% + 15px);
    }
}

/* ECOSISTEMA CONÓCENOS */

.margen-ecosistema {
    margin-top: -385px;
}

.texto-mascara-ecosistema {
    font-size: 12px!important;
    line-height: 1.2!important;
    font-weight: 500!important;
    background-color: var(--e-global-color-secondary);
    color: white;
    padding: 34px;
    -webkit-mask-image: url(../img/mascara_icono_aje.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-image: url(../img/mascara_icono_aje.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: center;
}

.texto-ecosistema-1 {
    position: absolute;
    /* top: calc(60% + 10px); 
    left: calc(5% + 15px);  */
}

.texto-ecosistema-2 {
    position: absolute;
    /* top: calc(5% + 10px);
    left: calc(25% + 40px); */
}

.texto-ecosistema-3 {
    position: absolute;
    /* top: calc(85% + 20px);
    left: calc(60% + 15px); */
    padding: 40px;
}

.texto-ecosistema-4 {
    font-size: 20px!important;
    line-height: 0.8!important;
    font-weight: 700!important;
    position: absolute;
    /* top: calc(25% + 5px);
    left: calc(80% + 20px); */
    padding: 40px;
}

.texto-ecosistema-grande {
    font-size: 40px!important;
}

@media (max-width: 1280px) { /* Portátil */
    .contenedor-ecosistema {
        margin-top: 270px;
    }
}

@media (max-width: 768px) {  /* Tablet */
    /* .texto-ecosistema-1 {
        left: calc(5% + 25px);
    }
    
    .texto-ecosistema-2 {
        left: calc(25% + 35px);
    }
    
    .texto-ecosistema-3 {
        left: calc(40% + 25px);
    }
    
    .texto-ecosistema-4 {
        left: calc(60% + 25px);
    } */
}

@media (max-width: 480px) { /* Móvil */

    .margen-ecosistema {
        margin-top: -80px;
    }

    /* .texto-ecosistema-1 {
        top: calc(29% + 5px);
        left: 1%;
    }
    
    .texto-ecosistema-2 {
        top: calc(1% - 95px);
        left: calc(15% + 5px);
    }
    
    .texto-ecosistema-3 {
        top: calc(55% + 20px);
        left: calc(40% + 5px);
    } */
    
    .texto-ecosistema-4 {
        font-size: 17px!important;
        line-height: 0.8!important;
        font-weight: 700!important;
        padding: 32px;
        /* top: calc(5% - 50px);
        left: calc(50% + 10px); */
    }
    
    .texto-ecosistema-grande {
        font-size: 34px!important;
    }
}









/* ICONOS INSTAGRAM LINKEDIN CONÓCENOS */

.contenedor-instagram-conocenos {
    max-height: 192px;
}

.linkedin-conocenos {
    transform: scale(1.4);
}

/* GALERÍA ACTUALIDAD */

.galeria_imagenes .swiper-slide {
    width: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 240px !important;
    box-sizing: content-box;
  }

.galeria_imagenes img {
    height: 240px;
    width: auto;
    display: block;
}

/* FINALIZAR TU COMPRA */

.sp_checkout h1,
.sp_checkout h2,
.sp_checkout h3,
.sp_checkout h4,
.sp_checkout h5,
.sp_checkout p,
.sp_checkout a,
.sp_checkout th,
.sp_checkout td,
.sp_checkout address,
.sp_checkout li {
   font-family: 'Poppins';
}

.sp_checkout body,
.sp_checkout p,
.sp_checkout th,
.sp_checkout td,
.sp_checkout address,
.sp_checkout li {
    color: var(--e-global-color-primary) !important;
}

.sp_checkout .checkout-inline-error-message{
    color: #B41F2F !important;
}

.sp_checkout .woocommerce-MyAccount-subscriptions {
    display: none;
}

.sp_checkout h2 {
    color: var(--e-global-color-secondary);
    text-transform: uppercase;
    font-weight: var(--e-global-typography-secondary-font-weight );
    letter-spacing: var(--e-global-typography-secondary-letter-spacing );
}

.sp_checkout th,
.sp_checkout td,
.sp_checkout p,
.sp_checkout address,
.sp_checkout bdi,
.sp_checkout strong {
    font-size: var(--e-global-typography-text-font-size)!important;
}

.sp_checkout .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    color: var(--e-global-color-secondary) !important;
    text-transform: uppercase;
    font-weight: var(--e-global-typography-secondary-font-weight );
    letter-spacing: var(--e-global-typography-secondary-letter-spacing );
    font-size: 2rem !important;
    margin-bottom: 50px;
    line-height: 40px;
}

.sp_checkout .elementor-element.btn_primario_rojo.txt_14.weight_600 .elementor-button-wrapper {
    margin-bottom: 50px !important;
}

.sp_checkout .woocommerce-column__title,
.sp_checkout .woocommerce-order-details {
    margin-bottom: 30px !important;
}

.sp_checkout .woocommerce-order-details__title {
    margin-bottom: 40px !important;
}

.sp_checkout address {
    border-radius: 0 !important;
    border: 1px solid #8b8385 !important;
}

.sp_checkout .woocommerce-table__product-name.product-name a {
    color: var(--e-global-color-secondary) !important;
}

.sp_checkout .woocommerce-table__product-name.product-name a:hover {
    color: #FABB0C !important;
}

.sp_checkout .woocommerce form .form-row label.checkbox, .woocommerce-page form .form-row .woocommerce-terms-and-conditions-wrapper label.checkbox {
    line-height: 0.7 !important;
}

/* MI CUENTA */

.mi_cuenta .woocommerce-MyAccount-content-wrapper {
    border: 1px solid #8b8385 !important;
}

.mi_cuenta #payment .woocommerce-PaymentBox,
.mi_cuenta #payment .woocommerce-PaymentBox--stripe,
.mi_cuenta #payment .payment_box {
    background-color: #f9fafa !important;
}

.mi_cuenta #add_payment_method #payment .payment_box::before {
    border: 1em solid #f9fafa !important;
    border-right-color: transparent !important;
    border-left-color: transparent !important;
    border-top-color: transparent !important;
} 

.mi_cuenta #add_payment_method #payment .testmode-info {
    margin-bottom: 15px;
}

/* Quitar el padding bottom de más que se puso en OtrosSociosAje para que pareciera que el carrousel estaba dentro */
#divOtrosSociosAje {
        padding-bottom: 10vw !important;
}





.card_hazte_socio .elementor-price-table{
    min-height: 520px;
}

.card_hazte_socio .elementor-price-table{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.card_hazte_socio .elementor-price-table .elementor-price-table__footer{
    margin-top: auto;
    padding: 0;
    padding-bottom: 30px;
}












/* CAMBIOS MASIVOS */

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    width: 100%;
    border: 0px solid #fff;
    outline: none;
    border-radius: 0px;
    padding: .5rem 1rem;
    transition: all .3s;
}

.sp_popup .contenido{
    border-radius: 0;
}

.sp_popup h4{
    margin-block-start: 0rem;
    margin-block-end: 1.5rem;
    font-size: 1.2rem;
}

#hazte_socio.sp_popup h4 > span:first-child{
    display: none;
}

#hazte_socio.sp_popup .footer_popup{
    display: flex;
    align-items: center;
    justify-content: center;
}

#validar_socio.sp_popup .footer_popup{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

#hazte_socio.sp_popup .campo_checkbox{
    display: flex;
    margin: 24px 4px;
    margin-top: 12px;
    cursor: pointer;
}

#hazte_socio.sp_popup .campo_checkbox label{
    cursor: pointer;
    margin-left: 10px;
}

#error_hazte_socio .contenido{
    max-width: 506px;
}

.label_renovacion_modo_pago{
    padding-right: 15px;
    padding-left: 15px;
}

.sp_popup#validar_socio #codigo{
    font-size: 48px;
    text-align: center;
    margin-bottom: 108px;
}

#btn_volver_a_enviar_codigo:disabled{
    opacity: 0.5;
    cursor: not-allowed;
    min-width: 246px;
}

@media screen and (max-width:767px){
    #error_hazte_socio .contenido{
        width: calc(100% - 76px);
    }

    #validar_socio.sp_popup .footer_popup{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
    }

    .sp_popup .footer_popup button{
        width: 100%;
    }

    .sp_popup#validar_socio #codigo{
        font-size: 8vw;
    }

}

.icono_gen_conf{
    color: white;
    font-size: 82px!important;
}


.imagen_logotipo_empresa{
    max-width: unset!important;
    width: 100%!important;
    border: 1px solid #8B8385!important;
    background-color: white!important;
    margin-top: -7vw!important;
}

.imagen_fotografia_socio{
    max-width: unset!important;
    width: 100%!important;
    background-color: var(--e-global-color-secondary)!important;
    -webkit-mask-image: url(../img/mascara_icono_aje.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-clip: border-box;
    width: 100%;
    height: auto;
}


.single_empresa_banner_shortcode{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
}

.single_empresa_banner_shortcode *{
    width: 100%;
    height: 100%;
}

.single_empresa_banner_shortcode .imagen_banner_empresa{
    width: 100vw;
    height: 100%;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    opacity: 0.5;
}









.scroll_contenedor_carrusel {
    height: 100vh!important;
    display: flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    overflow: hidden!important;
    transition:none!important;
}
.scroll_contenido_carrusel {
    display: flex!important;
    height: 100vh!important;
    flex-direction: row!important;
    transition:none!important;
}
.scroll_diapositiva_carrusel {
    max-width: 100vw!important;
    min-width: 100vw!important;
    height: 100vh!important;
    transition:none!important;
}
.scroll_diapositiva{
    height: 100vh!important;
}

@media screen and (max-width:768px){
    .scroll_contenedor_carrusel{
        display:none!important;
    }
    .contenedor_carrusel {
        height: auto!important;
    }
    .contenido_carrusel {
        flex-direction: column!important;
        height: auto!important;
    }
}

body{
    overflow-x: hidden!important;
}

.scroll_contenedor_carrusel:before{
    z-index: 1;
    content: "";
    width: 100px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(90deg,#fff 0%, #0000 100%)!important;
}

.scroll_contenedor_carrusel:after{
    z-index: 1;
    content: "";
    width: 100px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: linear-gradient(90deg,#0000 0%, #fff 100%)!important;
}

.linea_timeline_primera:before{
    background: var(--e-global-color-secondary)!important;
    background: linear-gradient(90deg,#0000 0%, #0000 35%, var(--e-global-color-secondary) 35%, #df730f 100%)!important;
}

.linea_timeline_primera:after{
    content:"";
    width: 74px;
    height: 74px;
    position: absolute;
    top: 0;
    left: calc(35% - 37px);
    transform: rotate(45deg);
    background: #fff !important;
}

.linea_timeline_segunda:before{
    background: var(--e-global-color-secondary)!important;
    background: linear-gradient(90deg, #df730f 0%, var(--e-global-color-secondary) 80%, #0000 80%, #0000 100%)!important;
}

.linea_timeline_segunda:after{
    content:"";
    width: 74px;
    height: 74px;
    position: absolute;
    top: 0;
    right: calc(20% - 37px);
    transform: rotate(45deg);
    background: #fff !important;
}

.nuestra_historia_movil .nuestra_historia_movil_inner:after{
    content:"";
    width: 72px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--e-global-color-secondary)!important;
    background: linear-gradient(180deg, var(--e-global-color-secondary) 0%, #df730f 50%, var(--e-global-color-secondary) 100%)!important;
    z-index: -5;
}


.flecha_linea_timeline_movil_superior{
    background: white;
    height: 74px;
    width: 74px;
    z-index: 5;
    transform: rotate(45deg) translate(-37px, -37px)
}

.flecha_linea_timeline_movil_inferior{
    background: white;
    height: 74px;
    width: 74px;
    z-index: 5;
    transform: rotate(45deg) translate(37px, 37px);
}

.fecha_timeline_vertical{
    width: 72px!important;
    min-width: 72px!important;
    max-width: 72px!important;
    height: 72px!important;
    min-height: 72px!important;
    max-height: 72px!important;
}

.fecha_timeline_vertical .elementor-widget-container{
    display: flex!important;
    align-items: flex-end!important;
}

.parrafo_timeline_vertical{
    width: calc(100% - 72px - 20px)!important;
    min-width: calc(100% - 72px - 20px)!important;
    max-width: calc(100% - 72px - 20px)!important;
}


.btn_filtrar_categorias{
    box-shadow: 0px 0px 0px 4px #fff;
}
.btn_filtrar_categorias a{
    padding: 8px 16px 8px 16px!important;
    line-height: 18px!important;
}

.btn_filtrar_categorias .elementor-button-icon {
    align-items: center;
}

.carrusel_posts.carrusel_posts_autor.carrusel_posts_autor_titulo_blanco .elementor-heading-title{
    color: #fff!important;
}

.carrusel_posts_blancos .swiper-slide {
    padding: 10px;
    padding-bottom: 20px;
}

.carrusel_posts_blancos .swiper-slide > .elementor-element {
    box-shadow: 0px 10px 9px 0px #00000040;
}

.portfolio_proyectos .elementor-portfolio__filter{
    font-family: Poppins;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 1.6px;
    text-align: center;
    text-transform: uppercase;
    background-color: var(--e-global-color-primary);
    color: white;
}

.portfolio_proyectos .elementor-portfolio__filter.elementor-active{
    background-color: var(--e-global-color-secondary);
    color: white;
}


.portfolio_proyectos .elementor-portfolio__filters {
    justify-content: flex-start;
}




.calendly-badge-widget:before{
    content: "";
    width: 160px;
    display: block;
    position: relative;
    height: 160px;
    margin: auto;
    background-image: url(https://ajezaragoza.com/wp-content/uploads/2026/07/maria_hazte_socio.webp);
    border-radius: 1000px;
    background-position: center;
    background-size: cover;
    margin-bottom: 10px;
    filter: brightness(0.95);
}

.calendly-badge-widget .calendly-badge-content{
    transition: transform 0.3s;
}

.calendly-badge-widget:hover .calendly-badge-content{
    transform: translateY(-5px);
}

@media screen and (max-width:768px){
    .calendly-badge-widget:before{
        display: none;
    }
}





/* CARRUSEL IMAGENES MISMA ALTURA */

.carrusel_imagenes_misma_altura .swiper-slide{
    height: 339px;
}

.carrusel_imagenes_misma_altura_s .swiper-slide{
    height: 250px;
}

.carrusel_imagenes_misma_altura .swiper-slide figure.swiper-slide-inner,
.carrusel_imagenes_misma_altura .swiper-slide figure.swiper-slide-inner img,
.carrusel_imagenes_misma_altura_s .swiper-slide figure.swiper-slide-inner,
.carrusel_imagenes_misma_altura_s .swiper-slide figure.swiper-slide-inner img{
    height: 100%;
}

.carrusel_imagenes_misma_altura .swiper-slide figure.swiper-slide-inner img,
.carrusel_imagenes_misma_altura_s .swiper-slide figure.swiper-slide-inner img{
    object-fit: cover;
    width: 100%;
    max-width: unset;
}

.carrusel_imagenes_misma_altura .elementor-swiper-button,
.carrusel_imagenes_misma_altura_s .elementor-swiper-button{
    display: none!important;
}


.carrusel_imagenes_posts_misma_altura .elementor-widget-container,
.carrusel_imagenes_posts_misma_altura .elementor-widget-container img,
.carrusel_imagenes_posts_misma_altura .elementor-widget-theme-post-featured-image{
    height: 100%;
    object-fit: cover;
}








/* DEGRADADO ANIMADO FONDO */

.fondo-degradado {
    position: relative;
    overflow: hidden;
}

.fondo-degradado::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: linear-gradient(260deg, #800020, #961723, #a82b22, #ae3122, #b53d22, #ba4522, #bf4f1f, #c2571d, #c75f1e, #cc691d, #d1701b);
    background-size: 660% 660%;
    animation: animacion-degradado 15s ease infinite;*/
    background: linear-gradient(140deg, #FABB0C, #B41F2F, #85071F, #B41F2F, #FABB0C, #B41F2F, #85071F);
    animation: move-bg 20s infinite ease;
    background-size: 400%;
    transition: background 1s ease;
}

@keyframes animacion-degradado {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
@keyframes move-bg {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

/* FONDO MISION VISION VALORES - DEGRADADO*/
.mision-degradado,
.vision-degradado,
.valores-degradado{
    position: relative;
    overflow: hidden;
}

.mision-degradado::before,
.vision-degradado::before,
.valores-degradado::before {
    content: "";
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    mix-blend-mode: overlay;
}

.mision-degradado::before {
    background-image: url('../img/mision_v0.webp');
}
.vision-degradado::before {
    background-image: url('../img/ambicion_v0.webp');
}
.valores-degradado::before {
    background-image: url('../img/proposito_v0.webp');
}


.mision-degradado::after,
.vision-degradado::after,
.valores-degradado::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(209, 112, 27, 0.8) 0%,
        rgba(180, 31, 47, 0.8) 50%,
        rgba(128, 0, 32, 0.8) 100%
    );
    background-size: 200% 100%;
    animation: animacion-degradado_seccion_conocenos 8s ease infinite;
    animation-delay: 6s;
    pointer-events: none;
}

.mision-degradado::after{
    animation-delay: 1s;
}
.vision-degradado::after{
    animation-delay: 2s;
}
.valores-degradado::after{
    animation-delay: 3s;
}

@keyframes animacion-degradado_seccion_conocenos {
    0% {
        background-position: 0% 100%;
    }
    50% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0% 100%;
    }
}





/* FONDO DEGRADADO NARANJA ROJO 50% - DEGRADADO*/
.fondo-degradado-naranja-rojo{
    position: relative;
    overflow: hidden;
}

.fondo-degradado-naranja-rojo::before {
    z-index: -2;
}

.fondo-degradado-naranja-rojo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(209, 112, 27, 0.8) 0%,
        rgba(180, 31, 47, 0.8) 50%,
        rgba(128, 0, 32, 0.8) 100%
    );
    background-size: 200% 100%;
    animation: animacion-degradado-naranja-rojo 8s ease infinite;
    animation-delay: 6s;
    pointer-events: none;
    z-index: -1;
}

@keyframes animacion-animacion-degradado-naranja-rojo {
    0% {
        background-position: 0% 100%;
    }
    50% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0% 100%;
    }
}




.post-1906  .woocommerce-order-details header{
    display: none;
}





/* GALERIA DE IMAGENES SOCIO */

.sp_carrusel_imagenes_misma_altura .splide__arrows{
    display: none;
}
.sp_carrusel_imagenes_misma_altura .splide__slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: grab;
}



/* PAGINADO ARCHIVE */

.archive-post-loop .elementor-pagination .page-numbers.current  .elementor-screen-only{
    height: unset!important;
    margin: unset!important;
    overflow: unset!important;
    padding: unset!important;
    position: unset!important;
    top: unset!important;
    width: unset!important;
    clip: unset!important;
    border: unset!important;
    text-transform: initial!important;
    margin-right: 6px!important;
}

.archive-post-loop .elementor-pagination{ 
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 24px;
}

.archive-post-loop .elementor-pagination .page-numbers{ 
    display: flex;
    flex-direction: row;
    align-items: center;
}

.archive-post-loop .elementor-pagination .page-numbers.current + .page-numbers:not(.dots):before,
.archive-post-loop .elementor-pagination .page-numbers:not(.dots):has(+ .page-numbers.current):after {
    content: "";
    width: 42px;
    height: 36px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
}

.archive-post-loop .elementor-pagination .page-numbers.current + .page-numbers:not(.dots):before{
    margin-right: 32px;
    background-image: url(../img/next_paginado_blog.svg);
}

.archive-post-loop .elementor-pagination .page-numbers:not(.dots):has(+ .page-numbers.current):after{
    margin-left: 32px;
    background-image: url(../img/previus_paginado_blog.svg);
}

.archive-post-loop .elementor-pagination a.page-numbers::before,
.archive-post-loop .elementor-pagination a.page-numbers::after{
    filter: grayscale(1);
    transition: filter 0.3s;
}

.archive-post-loop .elementor-pagination a.page-numbers:hover::before,
.archive-post-loop .elementor-pagination a.page-numbers:hover::after{
    filter: unset;
}


.archive-post-loop .elementor-pagination .page-numbers.current{
    margin: 0 -16px !important;
}



.overflow_seccion_scroll{
    overflow-y: auto;
    max-height: 250px;
    direction: rtl;
    padding-left: 20px;
}

.overflow_seccion_scroll *{
    direction: ltr;
}

@media screen and (max-width:767px){
    .overflow_seccion_scroll{
        padding-left: 0px;
        overflow-y: unset;
        max-height: unset;
    }
}



.particulas-neuronales{
    --feather: 64px;
  /* Safari/iOS */
  -webkit-mask-image:
    linear-gradient(to bottom,   transparent 0, #000 var(--feather), #000 calc(100% - var(--feather)), transparent 100%),
    linear-gradient(to right,    transparent 0, #000 var(--feather), #000 calc(100% - var(--feather)), transparent 100%);
  -webkit-mask-composite: source-in;          /* Safari */
  mask-composite: intersect;                  /* Firefox/Chromium */
  /* Estándar (los mismos dos gradientes) */
  mask-image:
    linear-gradient(to bottom,   transparent 0, #000 var(--feather), #000 calc(100% - var(--feather)), transparent 100%),
    linear-gradient(to right,    transparent 0, #000 var(--feather), #000 calc(100% - var(--feather)), transparent 100%);
}

/* article.elementor-portfolio-item.misma-altura,
article.elementor-portfolio-item.misma-altura > a.elementor-post__thumbnail__link,
article.elementor-portfolio-item.misma-altura > a.elementor-post__thumbnail__link > .elementor-portfolio-item__img,
article.elementor-portfolio-item.misma-altura > a.elementor-post__thumbnail__link > .elementor-portfolio-item__img > img{
    height: 100%!important;
    object-fit: cover;
} */

.sp-portfolio-extract,
.sp-portfolio-extract:hover{
    color: #fff!important;
}

article.elementor-portfolio-item,
article.elementor-portfolio-item > a.elementor-post__thumbnail__link,
article.elementor-portfolio-item > a.elementor-post__thumbnail__link > .elementor-portfolio-item__img,
article.elementor-portfolio-item > a.elementor-post__thumbnail__link > .elementor-portfolio-item__img > img{
    height: 100%!important;
    object-fit: cover;
}

article.elementor-portfolio-item{
    height: 300px!important;
}

article.elementor-portfolio-item{
    margin: 0!important;
}

@media screen and (max-width:767px){
    article.elementor-portfolio-item{
        height: 200px!important;
    }
}


/* ===== GRID BASE ===== */
.elementor-portfolio__container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: var(--grid-gap, 20px);
}

article.elementor-portfolio-item {
  grid-column: span 1; /* valor base, el JS lo cambia */
}

/* ===== RESPONSIVE ===== */
@media (max-width: 991px) {
  .elementor-portfolio__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--grid-gap, 16px);
  }
}







#proyectos_marca_aje .swiper-slide *{
    width: 100%!important;
    object-fit: cover;
}

#proyectos_marca_aje .swiper-slide{
    height: calc(26vw);
}

@media screen and (max-width:1023px){
    #proyectos_marca_aje .swiper-slide{
        height: calc(27vw);
    }
}

@media screen and (max-width:767px){
    #proyectos_marca_aje .swiper-slide{
        height: calc(55vw);
    }
}




/* LOADING SOBRE UN ELEMENTO */

.sp_loading{
    pointer-events: none; 
    overflow: hidden;
}

.sp_loading:before{
    position: absolute;
    top: 0;
    left: 0;
    content:"";
    width: 100%;
    height: 100%;
    background: #f2f2f266;
    z-index:1000;
}

.sp_loading:after {
    content:"";
    position: fixed;
    width: 48px;
    height: 48px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border: 5px solid #000;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation_loading 1s linear infinite;
    z-index: 1010;
}

@keyframes rotation_loading {
    0% {
        transform: translate(-50%,-50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%,-50%) rotate(360deg);
    }
} 






.woocommerce-view-subscription .woocommerce .shop_table.subscription_details,
.woocommerce .shop_table.my_account_subscriptions,
.woocommerce-MyAccount-paymentMethods,
.woocommerce .shop_table.woocommerce-orders-table--subscriptions,
.woocommerce-view-subscription .woocommerce .shop_table.order_details,
.woocommerce-view-subscription .woocommerce .shop_table.woocommerce-MyAccount-orders,
.woocommerce-orders-table {
    padding: var(--sections-padding, 16px 30px 3px 30px);
    background-color: var(--sections-background-color, #fff);
    border: none;
    border-radius: 0;
    font-family: var(--e-global-typography-primary-font-family), Sans-serif!important;
}

.woocommerce-MyAccount-paymentMethods + a{
    font-family: var(--e-global-typography-primary-font-family), Sans-serif!important;
}

.woocommerce-view-subscription th.product-name{
    font-size: 0px!important;
}

.woocommerce-view-subscription th.product-name:before{
    content: "Suscripción";
    font-family: var(--e-global-typography-817222b-font-family), Sans-serif;
    font-size: var(--e-global-typography-817222b-font-size)!important;
    font-weight: var(--e-global-typography-817222b-font-weight);
    text-transform: var(--e-global-typography-817222b-text-transform);
    letter-spacing: var(--e-global-typography-817222b-letter-spacing);
}

.woocommerce-view-subscription .product-name a,
.product-name a{
    pointer-events: none;
    color: #242424!important;
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}


form.woocommerce-checkout #customer_details .woocommerce-account-fields{
    /* display: none; */
}


body.woocommerce-view-order .woocommerce-MyAccount-content-wrapper{
    padding: 20px!important;
}

body.woocommerce-view-order .woocommerce-order-details{
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 40px !important;
}

.elementor-widget-woocommerce-checkout-page a {
    color: var(--e-global-color-secondary)!important;
}

@media (max-width: 767px) {
    #icono_principal_web img{
        width: 53px;
        object-fit: cover;
        object-position: left;
    }
}



.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce tbody .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-number>a {
    color: #B41F2F
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce tbody .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-number>a:hover {
    color: #B41F2F
}









/* CHECKOUT PARA SUSCRIPCIONES */

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce h3#order_review_heading{
    margin-bottom: 20px!important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table td, 
.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table th {
    padding-bottom: 8px!important;
    padding-top: 12px!important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tr.cart_item .product-quantity{
    display: none;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tr td{
    text-align: right;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.recurring-totals th{
    font-size: 0!important;
    padding-top: 60px !important;
    padding-bottom: 20px !important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.recurring-totals th:before{
    font-family: var(--e-global-typography-817222b-font-family), Sans-serif!important;
    font-size: var(--e-global-typography-817222b-font-size)!important;
    font-weight: var(--e-global-typography-817222b-font-weight)!important;
    text-transform: var(--e-global-typography-817222b-text-transform)!important;
    letter-spacing: var(--e-global-typography-817222b-letter-spacing)!important;
    color: var(--sections-title-color, #000)!important;
    content: "Tu renovación";
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table small{
    display: block!important;
    line-height: 1.2!important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .product-name{
    vertical-align: top!important;
    text-align: left!important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total th,
.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total td{
    font-size: 0px!important;
    line-height: 1!important;
    vertical-align: middle;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total th{
    min-width: 230px;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total td{
    max-width: 60px;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.tax-rate{
    height: 60px!important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total th:before{
    font-size: var(--e-global-typography-text-font-size)!important;
    content: "Ahora vas a pagar:";
    display:block;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total.recurring-total th:before{
    font-size: var(--e-global-typography-text-font-size)!important;
    content: "Tu próxima renovación:";
    display:block;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total th,
.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total td{
    padding: 10px 20px!important;
    background-color: #B41F2F!important;
    color: #fff!important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total th:before,
.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tr.order-total td:before{
    padding: 10px 0px!important;
}

.sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .e-checkout__container {
    grid-template-columns: 50% auto;
}

@media (max-width: 1024px) {
    .sp-checkout-has-subscription .elementor-widget-woocommerce-checkout-page .e-checkout__container {
        grid-template-columns: repeat(1, 1fr);
    }
}

.sp-checkout-has-subscription .woocommerce-account-fields .create-account{
    height: 0!important;
    overflow: hidden!important;
    touch-action: none!important;
    opacity: 0!important;
}





.elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 1.7;
}


.woocommerce-orders-table__cell-order-actions{
    display: flex;
    gap: 4px;
    flex-direction: column;
    text-align: center;
}

.woocommerce-customer-details address,
.woocommerce-customer-details address{
    padding: 28px 30px 27px 30px!important;
}

.order_details a.order-actions-button{
    border-radius: 0!important;
    color:white!important;
    background-color: #B41F2F!important;
}

.order_details a.order-actions-button:hover{
    background-color: #242424!important;
}

@media (max-width: 767px) {
	p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
		padding: 0px 8px !important;
	}
	ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li{
		margin: 10px 0px !important;
        width: 100% !important;
	}
}


.elementor-price-table__fractional-part:before{
    content: ",";
}

.elementor-price-table__price{
    margin-left: 0!important;
    margin-right: 0!important;
    width: 100%!important;
    text-align: right!important;
    padding: 30px!important;
    display: inline-flex!important;
    justify-content: flex-end!important;
}

.elementor-price-table__price > *{
    font-size: 90%!important;
}

.elementor-price-table__price .elementor-typo-excluded{
    width: auto;
}

.elementor-price-table__fractional-part{
    margin-top: 9px;
}




