.elementor-2056 .elementor-element.elementor-element-464ce24{--display:flex;--min-height:300px;--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;--overlay-opacity:0.46;}.elementor-2056 .elementor-element.elementor-element-464ce24::before, .elementor-2056 .elementor-element.elementor-element-464ce24 > .elementor-background-video-container::before, .elementor-2056 .elementor-element.elementor-element-464ce24 > .e-con-inner > .elementor-background-video-container::before, .elementor-2056 .elementor-element.elementor-element-464ce24 > .elementor-background-slideshow::before, .elementor-2056 .elementor-element.elementor-element-464ce24 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2056 .elementor-element.elementor-element-464ce24 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2056 .elementor-element.elementor-element-9509c6b > .elementor-widget-container{margin:100px 0px 0px 0px;}.elementor-2056 .elementor-element.elementor-element-9509c6b{text-align:center;}.elementor-2056 .elementor-element.elementor-element-9509c6b .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:64px;font-weight:600;-webkit-text-stroke-color:#000;stroke:#000;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-2056 .elementor-element.elementor-element-9509c6b .elementor-heading-title a:hover, .elementor-2056 .elementor-element.elementor-element-9509c6b .elementor-heading-title a:focus{color:#D8D417;}.elementor-2056 .elementor-element.elementor-element-8f496aa{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-75px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2056 .elementor-element.elementor-element-8f496aa:not(.elementor-motion-effects-element-type-background), .elementor-2056 .elementor-element.elementor-element-8f496aa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #6C6C6C 0%, #838383 16%);}.elementor-2056 .elementor-element.elementor-element-c498547{--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;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-2056 .elementor-element.elementor-element-9eef35e > .elementor-widget-container{background-color:var( --e-global-color-astglobalcolor4 );padding:10px 10px 10px 10px;border-radius:20px 20px 20px 20px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-2056 .elementor-element.elementor-element-9eef35e{--icon-box-icon-margin:0px;}.elementor-2056 .elementor-element.elementor-element-9eef35e .elementor-icon{font-size:35px;}.elementor-2056 .elementor-element.elementor-element-9eef35e .elementor-icon-box-title{color:#000000;}.elementor-2056 .elementor-element.elementor-element-29c856c{--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;}.elementor-2056 .elementor-element.elementor-element-373f676 > .elementor-widget-container{background-color:var( --e-global-color-astglobalcolor4 );padding:10px 10px 10px 10px;border-radius:20px 20px 20px 20px;box-shadow:0px 0px 10px 0px rgba(241.64201965332032, 236.03874819057063, 236.03874819057063, 0.95);}.elementor-2056 .elementor-element.elementor-element-373f676{--icon-box-icon-margin:0px;}.elementor-2056 .elementor-element.elementor-element-373f676.elementor-view-stacked .elementor-icon{background-color:#14BF2A;fill:#000000;color:#000000;}.elementor-2056 .elementor-element.elementor-element-373f676.elementor-view-framed .elementor-icon, .elementor-2056 .elementor-element.elementor-element-373f676.elementor-view-default .elementor-icon{fill:#14BF2A;color:#14BF2A;border-color:#14BF2A;}.elementor-2056 .elementor-element.elementor-element-373f676.elementor-view-framed .elementor-icon{background-color:#000000;}.elementor-2056 .elementor-element.elementor-element-373f676 .elementor-icon{font-size:35px;padding:28px;}.elementor-2056 .elementor-element.elementor-element-373f676 .elementor-icon-box-title{color:#000000;}.elementor-2056 .elementor-element.elementor-element-c904944{--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;}.elementor-2056 .elementor-element.elementor-element-723fc4b > .elementor-widget-container{background-color:var( --e-global-color-astglobalcolor4 );padding:10px 10px 10px 10px;border-radius:20px 20px 20px 20px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-2056 .elementor-element.elementor-element-723fc4b{--icon-box-icon-margin:0px;}.elementor-2056 .elementor-element.elementor-element-723fc4b .elementor-icon{font-size:35px;}.elementor-2056 .elementor-element.elementor-element-723fc4b .elementor-icon-box-title{color:#000000;}.elementor-2056 .elementor-element.elementor-element-7c588a1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 20px;--row-gap:0px;--column-gap:20px;--overlay-opacity:0.5;--border-radius:0px 0px 0px 0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2056 .elementor-element.elementor-element-7c588a1::before, .elementor-2056 .elementor-element.elementor-element-7c588a1 > .elementor-background-video-container::before, .elementor-2056 .elementor-element.elementor-element-7c588a1 > .e-con-inner > .elementor-background-video-container::before, .elementor-2056 .elementor-element.elementor-element-7c588a1 > .elementor-background-slideshow::before, .elementor-2056 .elementor-element.elementor-element-7c588a1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2056 .elementor-element.elementor-element-7c588a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#838383;--background-overlay:'';}.elementor-2056 .elementor-element.elementor-element-4182e50{--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;--border-radius:0px 0px 0px 0px;--padding-top:12px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-2056 .elementor-element.elementor-element-7c0b3b7{width:var( --container-widget-width, 90% );max-width:90%;--container-widget-width:90%;--container-widget-flex-grow:0;--icon-box-icon-margin:15px;}.elementor-2056 .elementor-element.elementor-element-7c0b3b7 > .elementor-widget-container{background-color:#FFFFFF;margin:0px 0px -0px 0px;padding:10px 10px 10px 10px;border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 1px rgba(0,0,0,0.5) inset;}.elementor-2056 .elementor-element.elementor-element-7c0b3b7.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-2056 .elementor-element.elementor-element-7c0b3b7 .elementor-icon-box-wrapper{align-items:center;}.elementor-2056 .elementor-element.elementor-element-7c0b3b7 .elementor-icon{font-size:30px;}.elementor-2056 .elementor-element.elementor-element-7c0b3b7 .elementor-icon-box-title, .elementor-2056 .elementor-element.elementor-element-7c0b3b7 .elementor-icon-box-title a{font-family:"Roboto", Sans-serif;font-size:26px;font-weight:600;}.elementor-2056 .elementor-element.elementor-element-7c0b3b7 .elementor-icon-box-title{color:#000000;}.elementor-2056 .elementor-element.elementor-element-3b9c722{width:var( --container-widget-width, 90% );max-width:90%;--container-widget-width:90%;--container-widget-flex-grow:0;--icon-box-icon-margin:15px;}.elementor-2056 .elementor-element.elementor-element-3b9c722 > .elementor-widget-container{background-color:#FFFFFF;margin:0px 0px -0px 0px;padding:10px 10px 10px 10px;border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 1px rgba(0,0,0,0.5) inset;}.elementor-2056 .elementor-element.elementor-element-3b9c722.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-2056 .elementor-element.elementor-element-3b9c722 .elementor-icon-box-wrapper{align-items:center;}.elementor-2056 .elementor-element.elementor-element-3b9c722 .elementor-icon{font-size:30px;}.elementor-2056 .elementor-element.elementor-element-3b9c722 .elementor-icon-box-title, .elementor-2056 .elementor-element.elementor-element-3b9c722 .elementor-icon-box-title a{font-family:"Roboto", Sans-serif;font-size:26px;font-weight:600;}.elementor-2056 .elementor-element.elementor-element-3b9c722 .elementor-icon-box-title{color:#000000;}.elementor-2056 .elementor-element.elementor-element-fcdad0f{width:var( --container-widget-width, 90% );max-width:90%;--container-widget-width:90%;--container-widget-flex-grow:0;--icon-box-icon-margin:15px;}.elementor-2056 .elementor-element.elementor-element-fcdad0f > .elementor-widget-container{background-color:#FFFFFF;margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 1px rgba(0,0,0,0.5) inset;}.elementor-2056 .elementor-element.elementor-element-fcdad0f.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-2056 .elementor-element.elementor-element-fcdad0f .elementor-icon-box-wrapper{align-items:center;}.elementor-2056 .elementor-element.elementor-element-fcdad0f.elementor-view-stacked .elementor-icon{background-color:#C7A60F;}.elementor-2056 .elementor-element.elementor-element-fcdad0f.elementor-view-framed .elementor-icon, .elementor-2056 .elementor-element.elementor-element-fcdad0f.elementor-view-default .elementor-icon{fill:#C7A60F;color:#C7A60F;border-color:#C7A60F;}.elementor-2056 .elementor-element.elementor-element-fcdad0f .elementor-icon{font-size:30px;}.elementor-2056 .elementor-element.elementor-element-fcdad0f .elementor-icon-box-title, .elementor-2056 .elementor-element.elementor-element-fcdad0f .elementor-icon-box-title a{font-family:"Roboto", Sans-serif;font-size:26px;font-weight:600;}.elementor-2056 .elementor-element.elementor-element-fcdad0f .elementor-icon-box-title{color:#000000;}.elementor-2056 .elementor-element.elementor-element-49a56ee{--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;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2056 .elementor-element.elementor-element-64c81ef0 > .elementor-widget-container{padding:45px 45px 45px 45px;border-radius:20px 20px 20px 20px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-2056 .elementor-element.elementor-element-64c81ef0{color:#000000;}.elementor-2056 .elementor-element.elementor-element-c72418e{--display:flex;}@media(max-width:767px){.elementor-2056 .elementor-element.elementor-element-7c0b3b7.elementor-element{--align-self:center;}.elementor-2056 .elementor-element.elementor-element-3b9c722.elementor-element{--align-self:center;}.elementor-2056 .elementor-element.elementor-element-fcdad0f.elementor-element{--align-self:center;}}@media(min-width:768px){.elementor-2056 .elementor-element.elementor-element-c498547{--width:25%;}.elementor-2056 .elementor-element.elementor-element-29c856c{--width:50%;}.elementor-2056 .elementor-element.elementor-element-c904944{--width:25%;}.elementor-2056 .elementor-element.elementor-element-4182e50{--width:25%;}.elementor-2056 .elementor-element.elementor-element-49a56ee{--width:75%;}}/* Start custom CSS for container, class: .elementor-element-464ce24 */<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Fondo Animado</title>
    <style>
        body {
            margin: 0;
            /* Se eliminó 'overflow: hidden;' para evitar que bloquee el scroll de la página principal */
            background-color: #0a0a0a; /* Fondo muy oscuro, casi negro */
        }

        /* Estilo para el canvas de fondo animado */
        #animatedCanvas {
            position: fixed; /* Fijo en el viewport */
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1; /* Asegura que esté detrás de cualquier contenido */
            background-color: #0a0a0a; /* Fondo base del canvas */
        }
    </style>
</head>
<body>

    <!-- Canvas para el fondo animado -->
    <canvas id="animatedCanvas"></canvas>

    <script>
        const canvas = document.getElementById('animatedCanvas');
        const ctx = canvas.getContext('2d');

        let particles = [];
        const numParticles = 80; // Número de partículas para el efecto de red
        const maxDistance = 150; // Distancia máxima para dibujar líneas entre partículas

        // Clase para representar cada partícula
        class Particle {
            constructor(x, y) {
                this.x = x;
                this.y = y;
                // Velocidad aleatoria para movimiento sutil
                this.vx = (Math.random() - 0.5) * 0.8;
                this.vy = (Math.random() - 0.5) * 0.8;
                this.radius = Math.random() * 1.5 + 0.5; // Radio pequeño para los puntos
                this.color = 'rgba(100, 200, 255, 0.8)'; // Color azul claro/cian para las partículas
            }

            // Actualiza la posición de la partícula
            update() {
                this.x += this.vx;
                this.y += this.vy;

                // Rebote en los bordes del canvas
                if (this.x < 0 || this.x > canvas.width) this.vx *= -1;
                if (this.y < 0 || this.y > canvas.height) this.vy *= -1;
            }

            // Dibuja la partícula
            draw() {
                ctx.beginPath();
                ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2);
                ctx.fillStyle = this.color;
                ctx.fill();
            }
        }

        // Inicializa las partículas
        function initParticles() {
            particles = [];
            for (let i = 0; i < numParticles; i++) {
                const x = Math.random() * canvas.width;
                const y = Math.random() * canvas.height;
                particles.push(new Particle(x, y));
            }
        }

        // Dibuja las líneas entre partículas cercanas
        function drawLines() {
            for (let i = 0; i < particles.length; i++) {
                for (let j = i + 1; j < particles.length; j++) {
                    const p1 = particles[i];
                    const p2 = particles[j];

                    const distance = Math.sqrt(
                        (p1.x - p2.x) ** 2 + (p1.y - p2.y) ** 2
                    );

                    if (distance < maxDistance) {
                        ctx.beginPath();
                        ctx.moveTo(p1.x, p1.y);
                        ctx.lineTo(p2.x, p2.y);
                        // La opacidad de la línea disminuye con la distancia
                        const opacity = 1 - (distance / maxDistance);
                        ctx.strokeStyle = `rgba(100, 200, 255, ${opacity * 0.5})`; /* Líneas azul claro/cian con opacidad */
                        ctx.lineWidth = 1;
                        ctx.stroke();
                    }
                }
            }
        }

        // Bucle principal de animación
        function animate() {
            requestAnimationFrame(animate);
            ctx.clearRect(0, 0, canvas.width, canvas.height); // Borra todo el canvas

            particles.forEach(p => {
                p.update();
                p.draw();
            });

            drawLines();
        }

        // Ajusta el tamaño del canvas cuando la ventana cambia de tamaño
        function resizeCanvas() {
            canvas.width = window.innerWidth;
            canvas.height = window.innerHeight;
            initParticles(); // Reinicia las partículas para que se adapten al nuevo tamaño
        }

        // Event listeners
        window.addEventListener('resize', resizeCanvas);
        window.onload = function() {
            resizeCanvas(); // Establece el tamaño inicial y crea las partículas
            animate(); // Inicia la animación
        };
    </script>

</body>
</html>/* End custom CSS */