.elementor-1643 .elementor-element.elementor-element-664ece5{--display:flex;--margin-top:116px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}/* Start custom CSS *//* ==================================================
   CUADRÍCULA GENERAL DE TODA LA PÁGINA
================================================== */

body.elementor-page-1643 {
    position: relative;
    isolation: isolate;

    background-image:
        linear-gradient(
            to right,
            rgba(255, 255, 255, 0.05) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0.05) 1px,
            transparent 1px
        );

    background-size: 30px 30px;
}


/* ==================================================
   PRIMER GRUPO DE PARTÍCULAS
================================================== */

body.elementor-page-1643::before {
    content: "";
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 430px;

    pointer-events: none;
    z-index: 0;

    background-image:
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.70) 0 1px,
            transparent 1.5px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.50) 0 0.8px,
            transparent 1.4px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.40) 0 0.7px,
            transparent 1.3px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.30) 0 0.6px,
            transparent 1.2px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.45) 0 0.9px,
            transparent 1.4px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.25) 0 0.6px,
            transparent 1.2px
        );

    background-size:
        170px 145px,
        235px 180px,
        310px 225px,
        390px 285px,
        275px 250px,
        450px 330px;

    background-position:
        25px 15px,
        95px 55px,
        170px 25px,
        45px 100px,
        210px 75px,
        120px 140px;

    opacity: 0.30;

    -webkit-mask-image: linear-gradient(
        to bottom,
        black 0%,
        black 60%,
        rgba(0, 0, 0, 0.55) 80%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        black 0%,
        black 60%,
        rgba(0, 0, 0, 0.55) 80%,
        transparent 100%
    );

    animation: particulasRandomA 18s ease-in-out infinite alternate;
}


/* ==================================================
   SEGUNDO GRUPO: MOVIMIENTO Y VELOCIDAD DIFERENTES
================================================== */

body.elementor-page-1643::after {
    content: "";
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 430px;

    pointer-events: none;
    z-index: 0;

    background-image:
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.50) 0 0.8px,
            transparent 1.3px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.35) 0 0.7px,
            transparent 1.2px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.25) 0 0.6px,
            transparent 1.1px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.40) 0 0.8px,
            transparent 1.3px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.20) 0 0.6px,
            transparent 1.1px
        );

    background-size:
        195px 170px,
        265px 215px,
        345px 275px,
        420px 310px,
        505px 360px;

    background-position:
        70px 30px,
        145px 90px,
        30px 135px,
        250px 45px,
        180px 160px;

    opacity: 0.22;

    -webkit-mask-image: linear-gradient(
        to bottom,
        black 0%,
        black 60%,
        rgba(0, 0, 0, 0.55) 80%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        black 0%,
        black 60%,
        rgba(0, 0, 0, 0.55) 80%,
        transparent 100%
    );

    animation: particulasRandomB 27s ease-in-out infinite alternate-reverse;
}


/* ==================================================
   MOVIMIENTOS INDEPENDIENTES
================================================== */

@keyframes particulasRandomA {

    0% {
        background-position:
            25px 15px,
            95px 55px,
            170px 25px,
            45px 100px,
            210px 75px,
            120px 140px;
    }

    45% {
        background-position:
            42px -5px,
            75px 68px,
            195px 5px,
            20px 115px,
            225px 50px,
            100px 125px;
    }

    100% {
        background-position:
            55px -20px,
            65px 40px,
            205px -10px,
            10px 125px,
            235px 35px,
            90px 110px;
    }
}


@keyframes particulasRandomB {

    0% {
        background-position:
            70px 30px,
            145px 90px,
            30px 135px,
            250px 45px,
            180px 160px;
    }

    50% {
        background-position:
            45px 45px,
            165px 65px,
            10px 120px,
            270px 20px,
            155px 145px;
    }

    100% {
        background-position:
            25px 55px,
            180px 50px,
            -5px 105px,
            285px 5px,
            140px 130px;
    }
}


/* ==================================================
   CELULAR
================================================== */

@media (max-width: 767px) {

    body.elementor-page-1643 {
        background-size: 24px 24px;
    }

    body.elementor-page-1643::before,
    body.elementor-page-1643::after {
        height: 390px;
    }

    body.elementor-page-1643::before {
        opacity: 0.22;
        animation-duration: 24s;
    }

    body.elementor-page-1643::after {
        opacity: 0.15;
        animation-duration: 32s;
    }
}


/* Accesibilidad */

@media (prefers-reduced-motion: reduce) {

    body.elementor-page-1643::before,
    body.elementor-page-1643::after {
        animation: none;
    }
}/* End custom CSS */