{"id":2817,"date":"2020-11-25T18:38:57","date_gmt":"2020-11-25T17:38:57","guid":{"rendered":"https:\/\/www.cirrus-shield.fr\/page-404\/"},"modified":"2026-03-19T15:07:40","modified_gmt":"2026-03-19T14:07:40","slug":"page-404","status":"publish","type":"page","link":"https:\/\/www.cirrus-shield.fr\/en\/page-404\/","title":{"rendered":"Page 404"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||0px||true|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_padding=&#8221;40px||40px||true|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><!-- [et_pb_line_break_holder] --><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><!-- [et_pb_line_break_holder] --><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600&#038;family=Poppins:wght@700;800;900&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->    \/* MAIN CONTAINER *\/<!-- [et_pb_line_break_holder] -->    #cirrus-404-container {<!-- [et_pb_line_break_holder] -->        position: relative;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        min-height: 600px; <!-- [et_pb_line_break_holder] -->        height: 100%;<!-- [et_pb_line_break_holder] -->        background-color: #ffffff;<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        align-items: center;<!-- [et_pb_line_break_holder] -->        justify-content: center;<!-- [et_pb_line_break_holder] -->        font-family: 'Inter', sans-serif;<!-- [et_pb_line_break_holder] -->        color: #0f172a;<!-- [et_pb_line_break_holder] -->        overflow: hidden;<!-- [et_pb_line_break_holder] -->        margin: 0; <!-- [et_pb_line_break_holder] -->        padding: 40px 20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    #cirrus-404-container * { box-sizing: border-box; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Variables - UPDATED BLUE HERE *\/<!-- [et_pb_line_break_holder] -->    #cirrus-404-container {<!-- [et_pb_line_break_holder] -->        --text-secondary: #64748b;<!-- [et_pb_line_break_holder] -->        --brand-blue: #3f82f7; \/* UPDATED COLOR *\/<!-- [et_pb_line_break_holder] -->        --brand-dark: #1d4ed8;<!-- [et_pb_line_break_holder] -->        --glass-bg: rgba(255, 255, 255, 0.9);<!-- [et_pb_line_break_holder] -->        --glass-border: 1px solid rgba(255, 255, 255, 0.95);<!-- [et_pb_line_break_holder] -->        --glass-shadow: <!-- [et_pb_line_break_holder] -->            0 20px 40px -10px rgba(15, 23, 42, 0.1),<!-- [et_pb_line_break_holder] -->            0 0 0 1px rgba(255, 255, 255, 0.6);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Canvas Layer *\/<!-- [et_pb_line_break_holder] -->    #cirrus-particle-canvas {<!-- [et_pb_line_break_holder] -->        position: absolute;<!-- [et_pb_line_break_holder] -->        top: 0;<!-- [et_pb_line_break_holder] -->        left: 0;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        height: 100%;<!-- [et_pb_line_break_holder] -->        z-index: 1;<!-- [et_pb_line_break_holder] -->        pointer-events: none;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* UI Card *\/<!-- [et_pb_line_break_holder] -->    .cirrus-card-wrapper {<!-- [et_pb_line_break_holder] -->        position: relative;<!-- [et_pb_line_break_holder] -->        z-index: 10;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        max-width: 480px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .cirrus-holo-card {<!-- [et_pb_line_break_holder] -->        background: var(--glass-bg);<!-- [et_pb_line_break_holder] -->        backdrop-filter: blur(12px);<!-- [et_pb_line_break_holder] -->        -webkit-backdrop-filter: blur(12px);<!-- [et_pb_line_break_holder] -->        border-radius: 24px;<!-- [et_pb_line_break_holder] -->        border: var(--glass-border);<!-- [et_pb_line_break_holder] -->        padding: 48px 32px;<!-- [et_pb_line_break_holder] -->        box-shadow: var(--glass-shadow);<!-- [et_pb_line_break_holder] -->        text-align: center;<!-- [et_pb_line_break_holder] -->        transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);<!-- [et_pb_line_break_holder] -->        cursor: pointer;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .cirrus-holo-card:hover {<!-- [et_pb_line_break_holder] -->        transform: translateY(-5px);<!-- [et_pb_line_break_holder] -->        box-shadow: 0 30px 60px -15px rgba(63, 130, 247, 0.15); \/* Updated Shadow Color *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Badge *\/<!-- [et_pb_line_break_holder] -->    .cirrus-status-badge {<!-- [et_pb_line_break_holder] -->        display: inline-flex; align-items: center; gap: 8px;<!-- [et_pb_line_break_holder] -->        padding: 6px 14px;<!-- [et_pb_line_break_holder] -->        background: #f1f5f9; border-radius: 20px;<!-- [et_pb_line_break_holder] -->        font-size: 12px; font-weight: 700; color: var(--text-secondary);<!-- [et_pb_line_break_holder] -->        margin-bottom: 24px;<!-- [et_pb_line_break_holder] -->        border: 1px solid #e2e8f0;<!-- [et_pb_line_break_holder] -->        transition: all 0.3s ease;<!-- [et_pb_line_break_holder] -->        text-transform: uppercase; letter-spacing: 0.5px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .cirrus-status-dot { width: 8px; height: 8px; background: #94a3b8; border-radius: 50%; transition: background 0.3s; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Hover States *\/<!-- [et_pb_line_break_holder] -->    .cirrus-holo-card:hover .cirrus-status-dot { background: var(--brand-blue); box-shadow: 0 0 8px var(--brand-blue); }<!-- [et_pb_line_break_holder] -->    .cirrus-holo-card:hover .cirrus-status-badge { color: var(--brand-blue); border-color: #bfdbfe; background: #eff6ff; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Typography *\/<!-- [et_pb_line_break_holder] -->    #cirrus-404-container h1 {<!-- [et_pb_line_break_holder] -->        font-family: 'Poppins', sans-serif;<!-- [et_pb_line_break_holder] -->        font-size: 32px; font-weight: 800;<!-- [et_pb_line_break_holder] -->        color: #0f172a;<!-- [et_pb_line_break_holder] -->        margin: 0 0 12px 0;<!-- [et_pb_line_break_holder] -->        line-height: 1.2;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    #cirrus-404-container p.desc {<!-- [et_pb_line_break_holder] -->        font-size: 15px; line-height: 1.6; color: var(--text-secondary);<!-- [et_pb_line_break_holder] -->        margin: 0 0 32px 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Buttons *\/<!-- [et_pb_line_break_holder] -->    .cirrus-btn-row { display: flex; gap: 12px; justify-content: center; margin-bottom: 32px; flex-wrap: wrap; }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .cirrus-btn {<!-- [et_pb_line_break_holder] -->        display: inline-flex; align-items: center; justify-content: center; gap: 8px;<!-- [et_pb_line_break_holder] -->        padding: 12px 24px; border-radius: 10px;<!-- [et_pb_line_break_holder] -->        font-family: 'Inter', sans-serif;<!-- [et_pb_line_break_holder] -->        font-size: 14px; font-weight: 600; text-decoration: none !important;<!-- [et_pb_line_break_holder] -->        transition: all 0.2s; cursor: pointer; white-space: nowrap; line-height: 1;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .cirrus-btn-primary {<!-- [et_pb_line_break_holder] -->        background: var(--brand-blue); color: white !important;<!-- [et_pb_line_break_holder] -->        box-shadow: 0 4px 10px rgba(63, 130, 247, 0.3); \/* Updated Shadow *\/<!-- [et_pb_line_break_holder] -->        border: 1px solid transparent;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .cirrus-btn-primary:hover {<!-- [et_pb_line_break_holder] -->        background: var(--brand-dark);<!-- [et_pb_line_break_holder] -->        box-shadow: 0 8px 20px rgba(63, 130, 247, 0.4); \/* Updated Shadow *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .cirrus-btn-ghost {<!-- [et_pb_line_break_holder] -->        background: transparent; color: var(--text-secondary) !important; border: 1px solid #cbd5e1;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .cirrus-btn-ghost:hover {<!-- [et_pb_line_break_holder] -->        background: white; border-color: #0f172a; color: #0f172a !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Support Footer *\/<!-- [et_pb_line_break_holder] -->    .cirrus-support-divider {<!-- [et_pb_line_break_holder] -->        height: 1px; width: 100%;<!-- [et_pb_line_break_holder] -->        background: linear-gradient(90deg, transparent, #e2e8f0, transparent);<!-- [et_pb_line_break_holder] -->        margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .cirrus-support-text { font-size: 13px; color: var(--text-secondary); }<!-- [et_pb_line_break_holder] -->    .cirrus-support-text a { color: var(--brand-blue); font-weight: 600; text-decoration: none; }<!-- [et_pb_line_break_holder] -->    .cirrus-support-text a:hover { text-decoration: underline; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Mobile *\/<!-- [et_pb_line_break_holder] -->    @media (max-width: 768px) {<!-- [et_pb_line_break_holder] -->        .cirrus-holo-card { padding: 32px 24px; }<!-- [et_pb_line_break_holder] -->        #cirrus-404-container h1 { font-size: 26px; }<!-- [et_pb_line_break_holder] -->        .cirrus-btn-row { flex-direction: column; width: 100%; gap: 10px; }<!-- [et_pb_line_break_holder] -->        .cirrus-btn { width: 100%; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"cirrus-404-container\"><!-- [et_pb_line_break_holder] -->    <canvas id=\"cirrus-particle-canvas\"><\/canvas><!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"cirrus-card-wrapper\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cirrus-holo-card\" id=\"cirrus-trigger-card\"><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"cirrus-status-badge\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"cirrus-status-dot\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <span id=\"cirrus-status-text\">SIGNAL LOST<\/span><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<h1>Page Not Found<\/h1>\n<p><!-- [et_pb_line_break_holder] -->            <pee class=\"desc\"><!-- [et_pb_line_break_holder] -->                Sorry, we can&#8217;t find the page you&#8217;re looking for. <!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->                <strong>Hover over this card<\/strong> to decrypt the signal.<!-- [et_pb_line_break_holder] -->            <\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"cirrus-btn-row\"><!-- [et_pb_line_break_holder] -->                <a href=\"\/\" class=\"cirrus-btn cirrus-btn-primary\"><!-- [et_pb_line_break_holder] -->                    <i class=\"fa-solid fa-house\"><\/i> Home<!-- [et_pb_line_break_holder] -->                <\/a><!-- [et_pb_line_break_holder] -->                <a href=\"#\" onclick=\"history.back(); return false;\" class=\"cirrus-btn cirrus-btn-ghost\"><!-- [et_pb_line_break_holder] -->                    <i class=\"fa-solid fa-arrow-left\"><\/i> Go Back<!-- [et_pb_line_break_holder] -->                <\/a><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"cirrus-support-divider\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"cirrus-support-text\"><!-- [et_pb_line_break_holder] -->                If the problem persists, contact our team:<!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->                <a href=\"mailto:support@cirrus-shield.com\">support@cirrus-shield.com<\/a><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->    (function() {<!-- [et_pb_line_break_holder] -->        const container = document.getElementById('cirrus-404-container');<!-- [et_pb_line_break_holder] -->        const canvas = document.getElementById('cirrus-particle-canvas');<!-- [et_pb_line_break_holder] -->        const ctx = canvas.getContext('2d');<!-- [et_pb_line_break_holder] -->        const card = document.getElementById('cirrus-trigger-card');<!-- [et_pb_line_break_holder] -->        const statusText = document.getElementById('cirrus-status-text');<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        let mouse = { x: null, y: null };<!-- [et_pb_line_break_holder] -->        let particlesArray = [];<!-- [et_pb_line_break_holder] -->        let isAssembled = false; <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ --- INTERACTION ---<!-- [et_pb_line_break_holder] -->        const handleEnter = () => { isAssembled = true; statusText.innerText = \"SIGNAL DECRYPTED\"; };<!-- [et_pb_line_break_holder] -->        const handleLeave = () => { isAssembled = false; statusText.innerText = \"SIGNAL LOST\"; };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if(card) {<!-- [et_pb_line_break_holder] -->            card.addEventListener('mouseenter', handleEnter);<!-- [et_pb_line_break_holder] -->            card.addEventListener('mouseleave', handleLeave);<!-- [et_pb_line_break_holder] -->            card.addEventListener('touchstart', (e) => { handleEnter(); }, {passive: true});<!-- [et_pb_line_break_holder] -->            card.addEventListener('touchend', handleLeave);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Track mouse globally but calculate relative to canvas<!-- [et_pb_line_break_holder] -->        document.addEventListener('mousemove', (e) => {<!-- [et_pb_line_break_holder] -->            const rect = canvas.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            mouse.x = e.clientX - rect.left;<!-- [et_pb_line_break_holder] -->            mouse.y = e.clientY - rect.top;<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ --- SETUP ---<!-- [et_pb_line_break_holder] -->        function initSettings() {<!-- [et_pb_line_break_holder] -->            canvas.width = container.offsetWidth;<!-- [et_pb_line_break_holder] -->            canvas.height = container.offsetHeight;<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            let fontSize = Math.min(canvas.width * 0.4, 600); <!-- [et_pb_line_break_holder] -->            ctx.font = `900 ${fontSize}px \"Poppins\"`; <!-- [et_pb_line_break_holder] -->            ctx.fillStyle = 'white';<!-- [et_pb_line_break_holder] -->            ctx.textAlign = 'center';<!-- [et_pb_line_break_holder] -->            ctx.textBaseline = 'middle';<!-- [et_pb_line_break_holder] -->            ctx.fillText('404', canvas.width\/2, canvas.height\/2);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const textCoordinates = ctx.getImageData(0, 0, canvas.width, canvas.height);<!-- [et_pb_line_break_holder] -->            ctx.clearRect(0,0, canvas.width, canvas.height); <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            particlesArray = [];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ A. Signal Particles<!-- [et_pb_line_break_holder] -->            let step = 8; <!-- [et_pb_line_break_holder] -->            if (canvas.width < 768) step = 12;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            for (let y = 0, y2 = textCoordinates.height; y < y2; y += step) {<!-- [et_pb_line_break_holder] -->                for (let x = 0, x2 = textCoordinates.width; x < x2; x += step) {<!-- [et_pb_line_break_holder] -->                    if (textCoordinates.data[(y * 4 * textCoordinates.width) + (x * 4) + 3] > 128) {<!-- [et_pb_line_break_holder] -->                        particlesArray.push(new Particle(x, y, true)); <!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ B. Dust Particles<!-- [et_pb_line_break_holder] -->            const dustCount = canvas.width < 768 ? 400 : 800; <!-- [et_pb_line_break_holder] -->            for (let i = 0; i < dustCount; i++) {<!-- [et_pb_line_break_holder] -->                particlesArray.push(new Particle(0, 0, false)); <!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ --- PARTICLE CLASS ---<!-- [et_pb_line_break_holder] -->        class Particle {<!-- [et_pb_line_break_holder] -->            constructor(targetX, targetY, isSignal) {<!-- [et_pb_line_break_holder] -->                this.isSignal = isSignal;<!-- [et_pb_line_break_holder] -->                this.targetX = targetX;<!-- [et_pb_line_break_holder] -->                this.targetY = targetY;<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                this.randomX = Math.random() * canvas.width;<!-- [et_pb_line_break_holder] -->                this.randomY = Math.random() * canvas.height;<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                this.x = this.randomX;<!-- [et_pb_line_break_holder] -->                this.y = this.randomY;<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                if (this.isSignal) {<!-- [et_pb_line_break_holder] -->                    this.size = Math.random() * 1.5 + 0.5; <!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    this.size = Math.random() * 0.8 + 0.2; <!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                this.ease = Math.random() * 0.05 + 0.02;<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                this.angle = Math.random() * Math.PI * 2;<!-- [et_pb_line_break_holder] -->                this.spinSpeed = Math.random() * 0.01 + 0.002;<!-- [et_pb_line_break_holder] -->                this.driftRadius = Math.random() * 50 + 20;<!-- [et_pb_line_break_holder] -->                this.driftCenterX = this.x;<!-- [et_pb_line_break_holder] -->                this.driftCenterY = this.y;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            draw() {<!-- [et_pb_line_break_holder] -->                if (isAssembled && this.isSignal) {<!-- [et_pb_line_break_holder] -->                    \/\/ UPDATED: Use specific blue variable manually or hardcode for canvas<!-- [et_pb_line_break_holder] -->                    \/\/ #3f82f7 in RGB is 63, 130, 247<!-- [et_pb_line_break_holder] -->                    ctx.fillStyle = `rgba(63, 130, 247, ${Math.random() * 0.2 + 0.8})`; <!-- [et_pb_line_break_holder] -->                } else if (isAssembled && !this.isSignal) {<!-- [et_pb_line_break_holder] -->                    ctx.fillStyle = `rgba(148, 163, 184, 0.4)`; <!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    ctx.fillStyle = `rgba(148, 163, 184, 0.5)`;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                ctx.beginPath();<!-- [et_pb_line_break_holder] -->                ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);<!-- [et_pb_line_break_holder] -->                ctx.fill();<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            update() {<!-- [et_pb_line_break_holder] -->                let destX, destY;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                if (isAssembled && this.isSignal) {<!-- [et_pb_line_break_holder] -->                    destX = this.targetX;<!-- [et_pb_line_break_holder] -->                    destY = this.targetY;<!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    this.angle += this.spinSpeed;<!-- [et_pb_line_break_holder] -->                    <!-- [et_pb_line_break_holder] -->                    if (this.isSignal) {<!-- [et_pb_line_break_holder] -->                        destX = this.randomX + Math.cos(this.angle) * this.driftRadius;<!-- [et_pb_line_break_holder] -->                        destY = this.randomY + Math.sin(this.angle) * this.driftRadius;<!-- [et_pb_line_break_holder] -->                    } else {<!-- [et_pb_line_break_holder] -->                        destX = this.driftCenterX + Math.cos(this.angle) * this.driftRadius;<!-- [et_pb_line_break_holder] -->                        destY = this.driftCenterY + Math.sin(this.angle) * this.driftRadius;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                this.x += (destX - this.x) * this.ease;<!-- [et_pb_line_break_holder] -->                this.y += (destY - this.y) * this.ease;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ --- ANIMATION ---<!-- [et_pb_line_break_holder] -->        function animate() {<!-- [et_pb_line_break_holder] -->            ctx.clearRect(0, 0, canvas.width, canvas.height);<!-- [et_pb_line_break_holder] -->            for (let i = 0; i < particlesArray.length; i++) {<!-- [et_pb_line_break_holder] -->                particlesArray[i].update();<!-- [et_pb_line_break_holder] -->                particlesArray[i].draw();<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            requestAnimationFrame(animate);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->            initSettings();<!-- [et_pb_line_break_holder] -->            animate();<!-- [et_pb_line_break_holder] -->        }, 100);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        let resizeTimeout;<!-- [et_pb_line_break_holder] -->        window.addEventListener('resize', () => {<!-- [et_pb_line_break_holder] -->            clearTimeout(resizeTimeout);<!-- [et_pb_line_break_holder] -->            resizeTimeout = setTimeout(initSettings, 200);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    })();<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-2817","page","type-page","status-publish","hentry"],"aioseo_notices":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"et-pb-post-main-image":false,"et-pb-post-main-image-fullwidth":false,"et-pb-portfolio-image":false,"et-pb-portfolio-module-image":false,"et-pb-portfolio-image-single":false,"et-pb-gallery-module-image-portrait":false,"et-pb-post-main-image-fullwidth-large":false,"et-pb-image--responsive--desktop":false,"et-pb-image--responsive--tablet":false,"et-pb-image--responsive--phone":false},"uagb_author_info":{"display_name":"Camille El Hage","author_link":"https:\/\/www.cirrus-shield.fr\/en\/article\/author\/celhage\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/pages\/2817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/comments?post=2817"}],"version-history":[{"count":39,"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/pages\/2817\/revisions"}],"predecessor-version":[{"id":36634,"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/pages\/2817\/revisions\/36634"}],"wp:attachment":[{"href":"https:\/\/www.cirrus-shield.fr\/en\/wp-json\/wp\/v2\/media?parent=2817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}