.elementor-2 .elementor-element.elementor-element-7638485{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-2 .elementor-element.elementor-element-6cbf532{width:100%;max-width:100%;z-index:0;}.elementor-2 .elementor-element.elementor-element-bf22816{width:100%;max-width:100%;}.elementor-2 .elementor-element.elementor-element-bf22816 .elementor-wrapper{--video-aspect-ratio:1.77777;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-2 .elementor-element.elementor-element-96a4c25{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-96a4c25:not(.elementor-motion-effects-element-type-background), .elementor-2 .elementor-element.elementor-element-96a4c25 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2 .elementor-element.elementor-element-ccd7abb{--grid-columns:5;--grid-row-gap:2em;--grid-column-gap:2em;}@media(max-width:1024px){.elementor-2 .elementor-element.elementor-element-ccd7abb{--grid-columns:2;}}@media(max-width:767px){.elementor-2 .elementor-element.elementor-element-ccd7abb{--grid-columns:1;}}/* Start custom CSS for loop-grid, class: .elementor-element-ccd7abb */.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid {
    display: flex !important;
    flex-direction: row !important;
    gap: 4px !important; 
    width: 100% !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item {
    flex: 1 1 0%;
    height: 100%;
    min-height: 500px; 
    cursor: pointer;
    position: relative;
    overflow: hidden !important;
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
    
    transition: flex-grow 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
    will-change: flex-grow;
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item img,
.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item .elementor-widget-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    
    transform: scale(1) translateZ(0) !important; 
    transition: none !important;
    animation: none !important;
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.7) 0%,  
        rgba(0,0,0,0.2) 50%,
        rgba(0,0,0,0) 100%
    );
    opacity: 0 !important; 
    transition: opacity 0.4s ease !important;
    z-index: 1;
    pointer-events: none;
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item .contenido-oculto {
    opacity: 0 !important;
    transform: translateY(20px) !important;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
    position: relative !important;
    z-index: 5 !important;
    pointer-events: none;
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item:hover {
    flex-grow: 1.5; 
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item:hover::before {
    opacity: 1 !important;
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item:hover .contenido-oculto {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    transition-delay: 0.1s !important; 
}


.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item > .e-con,
.elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item > .e-container {
    position: static !important;
}



@media(max-width:1024px) {
    .elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid {
        overflow-x: auto;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 1px !important;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid::-webkit-scrollbar {
        display: none;
    }
    .elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item {
        min-width: 320px;
        flex: 0 0 320px !important;
        scroll-snap-align: center;
        transition: none !important;
    }
   
    .elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item:hover {
        flex: 0 0 320px !important;
    }
   
    .elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item::before {
        opacity: 0.8 !important;
    }
    .elementor-2 .elementor-element.elementor-element-ccd7abb .elementor-grid .e-loop-item .contenido-oculto {
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS *//* CONTENEDOR STACKING */

.stacking-container {

    position: sticky;

    top: 0;

    height: 100vh;

    overflow: hidden;

    z-index: 1;

    transform: scale(.86);

    transition: filter .25s ease, opacity .25s ease;

    will-change: transform;

    transform-origin: center center;

    background: white;

}



/* CONTENIDO INTERNO - Contrarresta la escala */

.stacking-container > * {

    transform: scale(1);

    transform-origin: center center;

}



/* SOMBREADO EN EL CONTENEDOR PADRE CUANDO ESTÁ CUBIERTO */

.stacking-container.stack-shadowed {

    filter: brightness(0.85);

}


.stacking-container {
   
    transition: filter .25s ease, opacity .25s ease, box-shadow .3s ease-out;
    box-shadow: 0px 0px 0px rgba(0,0,0,0); 
}


.stacking-container.moving-shadow {
    box-shadow: 
       
        0px -20vh 30px 10px rgba(0, 0, 0, 0.11), 
        
       
        0px 0px 60px 20px rgba(0, 0, 0, 0.12); 
        
    z-index: 0; 
}
.stacking-container.stack-shadowed {
    filter: brightness(0.85);
}


.stacking-container:last-child {

    filter: brightness(1);

}


.cards-wrapper {
    position: relative; 
    background-color: rgba(0, 0, 0, var(--parent-darkness, 0));
    transition: background-color 0.1s ease-out;
}/* End custom CSS */