{"id":547,"date":"2026-04-24T13:32:36","date_gmt":"2026-04-24T11:32:36","guid":{"rendered":"http:\/\/192.168.2.11\/?page_id=547"},"modified":"2026-05-08T16:53:53","modified_gmt":"2026-05-08T14:53:53","slug":"rynek-pracy-i-przedsiebiorczosc","status":"publish","type":"page","link":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/rynek-pracy-i-przedsiebiorczosc\/","title":{"rendered":"Rynek pracy i przedsi\u0119biorczo\u015b\u0107"},"content":{"rendered":"\n<h4 class=\"wp-block-heading has-text-color has-link-color wp-elements-0c172f4d1955c9ad1fda26afee59bda0\" style=\"color:#14357a\"><strong>Wsparcie dla przedsi\u0119biorc\u00f3w<\/strong><\/h4>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-230885687667143b3b6fd8edb78d4bed\" style=\"color:#14357a\"><strong>Kszta\u0142cenie ustawiczne bezrobotnych na potrzeby dynamicznie zmieniaj\u0105cego si\u0119 rynku pracy<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Kursy, szkolenia maj\u0105ce na celu podnoszenie, uzupe\u0142nianie lub zmian\u0119 dotychczasowych kwalifikacji zawodowych. Dzia\u0142aniem obj\u0119to <strong>121<\/strong> os\u00f3b bezrobotnych<br>i poszukuj\u0105cych pracy.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-e319c2540cb352beed0a6398aad1923b\" style=\"color:#14357a\"><strong>Wsparcie pomocy spo\u0142ecznej w gminach powiatu \u017cyrardowskiego<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Organizacja prac spo\u0142ecznie u\u017cytecznych, w kt\u00f3rych wzi\u0119\u0142o udzia\u0142 <strong>5 <\/strong>os\u00f3b bezrobotnych.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-a964666d802385b562a1ebdbace252f6\" style=\"color:#14357a\"><strong>Wsparcie gmin powiatu \u017cyrardowskiego<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>W ramach dzia\u0142ania zatrudniono w gminach w ramach rob\u00f3t publicznych <strong>13 <\/strong>os\u00f3b bezrobotnych.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-a585e0623f55e66f26f70a44cd5e1355\" style=\"color:#14357a\"><strong>Dofinansowanie podejmowania dzia\u0142alno\u015bci gospodarczej<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Udzielenie <strong>99 <\/strong>osobom bezrobotnym jednorazowych \u015brodk\u00f3w na rozpocz\u0119cie dzia\u0142alno\u015bci gospodarczej.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-bfb9eced7021642a29556f28e455cc1c\" style=\"color:#14357a\"><strong>Wsparcie zatrudnienia w istniej\u0105cych firmach<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Organizacja prac interwencyjnych poprzez czasowe subsydiowanie zatrudnienia skierowanych <strong>56 <\/strong>os\u00f3b bezrobotnych.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-571a77535b96cae1338b1fc1e7e0ff8b\" style=\"color:#14357a\"><strong>Kszta\u0142cenie ustawiczne doros\u0142ych na studiach podyplomowych<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Na studia podyplomowe skierowano <strong>7 <\/strong>os\u00f3b poszukuj\u0105cych pracy oraz <strong>4 <\/strong>osoby bezrobotne.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-7b9a48f53c864448921c0a132bdf4c63\" style=\"color:#14357a\"><strong>Wspieranie mobilizacji zawodowej i przestrzennej bezrobotnych<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Finansowanie zatrudnienia i zamieszkania bezrobotnych w miejscowo\u015bciach odleg\u0142ych od miejsca zamieszkania. Udzielenie <strong>2 <\/strong>osobom bonu na zasiedlenie.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-0fc4e72ae9fbcae1ef29fdc29f51b5b3\" style=\"color:#14357a\"><strong>Wspieranie zatrudnienia os\u00f3b po 50 roku \u017cycia<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Dofinansowanie wynagrodzenia skierowanych os\u00f3b bezrobotnych po 50 roku \u017cycia.<br>W ramach dzia\u0142ania skierowano <strong>4 <\/strong>osoby bezrobotne do zatrudnienia subsydiowanego.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-671d327570778eecb963edf44d0c29de\" style=\"color:#14357a\"><\/p>\n\n\n\n<h5 class=\"wp-block-heading has-text-color has-link-color wp-elements-f64928c13ced795cb601e32f03c3861c\" style=\"color:#14357a\"><strong>Wspieranie kszta\u0142cenia ustawicznego pracodawc\u00f3w i pracownik\u00f3w<\/strong><\/h5>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-772e94887641cb42784a31c6f1baa487\" style=\"color:#14357a\">2.01.2025 r. &#8211; 31.12.2025 r.<\/p>\n\n\n\n<p>Finansowanie kszta\u0142cenia pracownik\u00f3w i pracodawc\u00f3w ze \u015brodk\u00f3w finansowych Krajowego Funduszu Szkoleniowego. Sfinansowanie <strong>696 <\/strong>pracodawcom i pracownikom kurs\u00f3w i szkole\u0144 umo\u017cliwiaj\u0105cych aktualizacj\u0119 lub podwy\u017cszenie wiedzy niezb\u0119dnej w \u015brodowisku pracy.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading has-text-color has-link-color wp-elements-d206d1c4a4bf74952314654f1fdf3f6b\" style=\"color:#14357a\"><strong>Aktywizacja zawodowa mieszka\u0144c\u00f3w powiatu oraz wspieranie lokalnego rynku pracy<\/strong><\/h4>\n\n\n\n<p>W 2025 r. Powiatowy Urz\u0105d Pracy w \u017byrardowie realizowa\u0142 szereg dzia\u0142a\u0144 maj\u0105cych<br>na celu aktywizacj\u0119 zawodow\u0105 mieszka\u0144c\u00f3w powiatu oraz wspieranie lokalnego rynku pracy. Kluczowe zadania obejmowa\u0142y:<\/p>\n\n\n    <section class=\"animated-stats-section statistics-block-custom\" \n             style=\"background-color: #ffffff; \n                    \">\n        <div class=\"stats-container\">\n                        <div class=\"section-header\">\n                                    <h2 style=\"color: #1e3c72;\">Aktywizacja mieszka\u0144c\u00f3w powiatu<\/h2>\n                                            <\/div>\n                        \n            <div class=\"stats-grid stats-grid-3\">\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\">Liczba przyznanych sta\u017cy <\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"191\"\n                                  data-suffix=\"\"\n                                  data-separator=\"space\"\n                                  data-decimal-separator=\"comma\"\n                                  style=\"color: #1e3c72;\">0<\/span>\n                        <\/div>\n                        <p class=\"stat-description\" style=\"color: #666666;\"><\/p>\n                    <\/div>\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\">Liczba przyznanych szkole\u0144<\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"121\"\n                                  data-suffix=\"\"\n                                  data-separator=\"space\"\n                                  data-decimal-separator=\"comma\"\n                                  style=\"color: #1e3c72;\">0<\/span>\n                        <\/div>\n                        <p class=\"stat-description\" style=\"color: #666666;\"><\/p>\n                    <\/div>\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\">Liczba udzielonych dotacji <\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"99\"\n                                  data-suffix=\"\"\n                                  data-separator=\"space\"\n                                  data-decimal-separator=\"comma\"\n                                  style=\"color: #1e3c72;\">0<\/span>\n                        <\/div>\n                        <p class=\"stat-description\" style=\"color: #666666;\"><\/p>\n                    <\/div>\n                            <\/div>\n        <\/div>\n    <\/section>\n    \n    <style>\n    \/* Statistics Block Styles - matches homepage layout *\/\n    .statistics-block-custom {\n        padding: 80px 20px;\n        position: relative;\n        overflow: hidden;\n    }\n    \n    .statistics-block-custom .stats-container {\n        max-width: 1400px;\n        margin: 0 auto;\n    }\n    \n    .statistics-block-custom .section-header {\n        text-align: center;\n        margin-bottom: 60px;\n    }\n    \n    .statistics-block-custom .section-header h2 {\n        font-size: 2.5rem;\n        color: #1e3c72;\n        margin-bottom: 15px;\n    }\n    \n    .statistics-block-custom .section-header p {\n        font-size: 1.2rem;\n        color: #666;\n    }\n    \n    .statistics-block-custom .stats-grid {\n        display: grid;\n        gap: 40px;\n        margin: 0 auto;\n    }\n    \n    \/* 2 blocks *\/\n    .statistics-block-custom .stats-grid-2 {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        max-width: 900px;\n    }\n    \n    \/* 3 blocks *\/\n    .statistics-block-custom .stats-grid-3 {\n        grid-template-columns: repeat(3, minmax(0, 1fr));\n        max-width: 1200px;\n    }\n    \n    \/* 4 blocks *\/\n    .statistics-block-custom .stats-grid-4 {\n        grid-template-columns: repeat(4, minmax(0, 1fr));\n        max-width: 1400px;\n    }\n    \n    \/* 5 blocks *\/\n    .statistics-block-custom .stats-grid-5 {\n        grid-template-columns: repeat(5, minmax(0, 1fr));\n        max-width: 1400px;\n    }\n    \n    .statistics-block-custom .stat-box {\n        text-align: center;\n        padding: 40px 20px;\n        background: rgba(255, 255, 255, 0.95);\n        border-radius: 12px;\n        box-shadow: 0 4px 20px rgba(0,0,0,0.1);\n        transition: transform 0.3s ease, box-shadow 0.3s ease;\n        min-width: 0;\n        max-width: 100%;\n        overflow: hidden;\n    }\n    \n    .statistics-block-custom .stat-box:hover {\n        transform: translateY(-10px);\n        box-shadow: 0 8px 30px rgba(0,0,0,0.15);\n    }\n    \n    .statistics-block-custom .stat-title {\n        font-size: 1.3rem;\n        color: #1e3c72;\n        font-weight: 600;\n        margin-bottom: 20px;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        overflow: hidden;\n        max-width: 100%;\n        word-wrap: break-word;\n        overflow-wrap: break-word;\n    }\n    \n    .statistics-block-custom .stat-number-wrapper {\n        margin: 20px 0;\n        overflow: hidden;\n        max-width: 100%;\n    }\n    \n    .statistics-block-custom .stat-number {\n        font-size: 4rem;\n        font-weight: 700;\n        color: #2a5298;\n        display: inline-block;\n        line-height: 1;\n    }\n    \n    .statistics-block-custom .stat-description {\n        font-size: 1rem;\n        color: #666;\n        line-height: 1.6;\n        margin-top: 20px;\n    }\n    \n    \/* Responsive for statistics block *\/\n    @media (max-width: 1200px) {\n        .statistics-block-custom .stats-grid-4,\n        .statistics-block-custom .stats-grid-5 {\n            grid-template-columns: repeat(3, minmax(0, 1fr));\n        }\n    }\n    \n    @media (max-width: 968px) {\n        .statistics-block-custom .stats-grid-2,\n        .statistics-block-custom .stats-grid-3,\n        .statistics-block-custom .stats-grid-4,\n        .statistics-block-custom .stats-grid-5 {\n            grid-template-columns: repeat(2, minmax(0, 1fr));\n            gap: 30px;\n        }\n    }\n    \n    @media (max-width: 640px) {\n        .statistics-block-custom .stats-grid-2,\n        .statistics-block-custom .stats-grid-3,\n        .statistics-block-custom .stats-grid-4,\n        .statistics-block-custom .stats-grid-5 {\n            grid-template-columns: minmax(0, 1fr);\n        }\n        \n        .statistics-block-custom .stat-number {\n            font-size: 3rem;\n        }\n        \n        .statistics-block-custom .stat-title {\n            font-size: 1.1rem;\n        }\n        \n        .statistics-block-custom .section-header h2 {\n            font-size: 2rem;\n        }\n    }\n    <\/style>\n    \n        <script>\n    if (!window.statsAnimationLoaded) {\n        window.statsAnimationLoaded = true;\n        \n        \/\/ Calculate the best fitting font size for a number (without applying it)\n        \/\/ Returns the size that makes the number fit, or null if no scaling needed\n        function calculateBestFontSize(element) {\n            const statBox = element.closest('.stat-box');\n            if (!statBox) return null;\n            \n            \/\/ Reset to default size to measure naturally\n            element.style.fontSize = '';\n            element.style.whiteSpace = 'nowrap';\n            \n            \/\/ Force reflow\n            void element.offsetHeight;\n            \n            \/\/ Get available width from stat-box\n            const boxStyle = window.getComputedStyle(statBox);\n            const paddingLeft = parseFloat(boxStyle.paddingLeft) || 0;\n            const paddingRight = parseFloat(boxStyle.paddingRight) || 0;\n            const availableWidth = statBox.clientWidth - paddingLeft - paddingRight - 20;\n            \n            if (availableWidth <= 0) return null;\n            \n            \/\/ Current computed font size\n            const computedSize = parseFloat(window.getComputedStyle(element).fontSize);\n            \n            \/\/ Force reflow\n            void element.offsetHeight;\n            \n            \/\/ If fits at default size, return null (no scaling needed)\n            if (element.scrollWidth <= availableWidth) return null;\n            \n            \/\/ Binary search for best size\n            let minSize = 10;\n            let maxSize = computedSize;\n            let bestSize = minSize;\n            \n            while (maxSize - minSize > 0.5) {\n                const testSize = (minSize + maxSize) \/ 2;\n                element.style.fontSize = testSize + 'px';\n                void element.offsetHeight;\n                \n                if (element.scrollWidth <= availableWidth) {\n                    bestSize = testSize;\n                    minSize = testSize;\n                } else {\n                    maxSize = testSize;\n                }\n            }\n            \n            \/\/ Reset to default - we'll apply the synchronized size separately\n            element.style.fontSize = '';\n            void element.offsetHeight;\n            \n            return bestSize;\n        }\n        \n        \/\/ Fit all numbers in a module to the same (smallest needed) font size\n        function fitNumbersInModule(moduleSection) {\n            if (!moduleSection) return;\n            const numbers = moduleSection.querySelectorAll('.stat-number');\n            if (numbers.length === 0) return;\n            \n            \/\/ Calculate required size for each number\n            let smallestSize = null;\n            numbers.forEach(function(numEl) {\n                const size = calculateBestFontSize(numEl);\n                if (size !== null) {\n                    if (smallestSize === null || size < smallestSize) {\n                        smallestSize = size;\n                    }\n                }\n            });\n            \n            \/\/ Apply the smallest size to ALL numbers in this module (or reset if all fit)\n            numbers.forEach(function(numEl) {\n                if (smallestSize !== null) {\n                    numEl.style.fontSize = smallestSize + 'px';\n                } else {\n                    numEl.style.fontSize = '';\n                }\n            });\n        }\n        \n        \/\/ Backward compatible single-element fit function (operates on whole module)\n        function fitNumberToBox(element) {\n            const moduleSection = element.closest('.animated-stats-section');\n            if (moduleSection) {\n                fitNumbersInModule(moduleSection);\n            }\n        }\n        \n        function animateCounter(element, start, end, duration) {\n            const suffix = element.getAttribute('data-suffix') || '';\n            const separator = element.getAttribute('data-separator') || 'space';\n            const decimalSep = element.getAttribute('data-decimal-separator') || 'comma';\n            const decChar = (decimalSep === 'period') ? '.' : ',';\n            const hasDecimal = end.toString().includes('.');\n            const decimalPlaces = hasDecimal ? end.toString().split('.')[1].length : 0;\n            let startTime = null;\n            \n            function formatNumber(num, sep) {\n                const roundedNum = hasDecimal ? num.toFixed(decimalPlaces) : Math.floor(num);\n                const str = roundedNum.toString();\n                \n                \/\/ Rozdziel cz\u0119\u015b\u0107 ca\u0142kowit\u0105 i dziesi\u0119tn\u0105 (\u017ar\u00f3d\u0142o zawsze u\u017cywa kropki)\n                const parts = str.split('.');\n                const intPart = parts[0];\n                const decPart = parts[1] ? decChar + parts[1] : '';\n                \n                if (sep === 'none') {\n                    return intPart + decPart;\n                }\n                \n                \/\/ Wyb\u00f3r separatora tysi\u0119cy - musi by\u0107 r\u00f3\u017cny od separatora dziesi\u0119tnego\n                let thousandsChar = '';\n                if (sep === 'space') thousandsChar = ' ';\n                else if (sep === 'period') thousandsChar = (decChar === '.') ? ' ' : '.';\n                else if (sep === 'comma') thousandsChar = (decChar === ',') ? ' ' : ',';\n                \n                let formatted = '';\n                let count = 0;\n                \n                for (let i = intPart.length - 1; i >= 0; i--) {\n                    if (count === 3) {\n                        formatted = thousandsChar + formatted;\n                        count = 0;\n                    }\n                    formatted = intPart[i] + formatted;\n                    count++;\n                }\n                \n                return formatted + decPart;\n            }\n            \n            function easeOutCubic(t) {\n                return 1 - Math.pow(1 - t, 3);\n            }\n            \n            function animate(currentTime) {\n                if (!startTime) startTime = currentTime;\n                const elapsed = currentTime - startTime;\n                const progress = Math.min(elapsed \/ duration, 1);\n                const easedProgress = easeOutCubic(progress);\n                const current = start + (end - start) * easedProgress;\n                \n                const displayValue = formatNumber(current, separator);\n                element.textContent = displayValue + suffix;\n                \n                if (progress < 1) {\n                    requestAnimationFrame(animate);\n                } else {\n                    \/\/ Final value set - now fit it to the box\n                    fitNumberToBox(element);\n                }\n            }\n            \n            \/\/ Pre-set final value to measure, then start animation\n            element.textContent = formatNumber(end, separator) + suffix;\n            fitNumberToBox(element);\n            element.textContent = formatNumber(start, separator) + suffix;\n            \n            requestAnimationFrame(animate);\n        }\n        \n        function initStatsObserver() {\n            const observerOptions = {\n                threshold: 0.5,\n                rootMargin: '0px'\n            };\n            \n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        const statBoxes = entry.target.querySelectorAll('.stat-box');\n                        statBoxes.forEach((box, index) => {\n                            setTimeout(() => {\n                                const numberElement = box.querySelector('.stat-number');\n                                if (numberElement) {\n                                    if (!numberElement.classList.contains(\"animated\")) {\n                                        const targetValue = parseFloat(numberElement.getAttribute('data-target'));\n                                        animateCounter(numberElement, 0, targetValue, 3000);\n                                        numberElement.classList.add('animated');\n                                    }\n                                }\n                            }, index * 200);\n                        });\n                        observer.unobserve(entry.target);\n                    }\n                });\n            }, observerOptions);\n            \n            const statsSections = document.querySelectorAll('.animated-stats-section .stats-grid');\n            statsSections.forEach(section => {\n                observer.observe(section);\n            });\n        }\n        \n        \/\/ Refit all stat numbers (used on resize) - per module so each scales together\n        function refitAllStatNumbers() {\n            const sections = document.querySelectorAll('.animated-stats-section');\n            sections.forEach(function(section) {\n                \/\/ Only refit if at least one number has been animated\n                if (section.querySelector('.stat-number.animated')) {\n                    fitNumbersInModule(section);\n                }\n            });\n        }\n        \n        \/\/ Handle resize events (debounced)\n        let statsResizeTimer;\n        window.addEventListener('resize', function() {\n            clearTimeout(statsResizeTimer);\n            statsResizeTimer = setTimeout(refitAllStatNumbers, 150);\n        });\n        \n        \/\/ Also refit after orientation change (mobile)\n        window.addEventListener('orientationchange', function() {\n            setTimeout(refitAllStatNumbers, 300);\n        });\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initStatsObserver);\n        } else {\n            initStatsObserver();\n        }\n    }\n    <\/script>\n        \n    \n\n\n<p class=\"has-black-color has-text-color has-link-color wp-elements-b5653bfaf082303e7aeb3c290620fc51\"><strong>Sta\u017ce<\/strong>: umo\u017cliwiaj\u0105 zdobycie do\u015bwiadczenia zawodowego u pracodawcy w okre\u015blonym czasie, zwykle obejmuj\u0105cym 3\u20136 miesi\u0119cy, za kt\u00f3re wyp\u0142acane jest stypendium w wysoko\u015bci 120% zasi\u0142ku dla bezrobotnych.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-black-color has-text-color has-link-color wp-elements-be1c641dceebde14b897f932b427773f\"><strong>Szkolenia zawodowe<\/strong>: kursy dostosowane do potrzeb rynku pracy i preferencji uczestnika. Najwa\u017cniejszym celem us\u0142ugi jest pomoc w nabyciu wiedzy i umiej\u0119tno\u015bci, czy te\u017c zmianie zawodu, podniesieniu kwalifikacji, zwi\u0119kszeniu szans na rynku pracy, a tak\u017ce wsparcie w utrzymaniu zatrudnienia.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Dotacje <\/strong>na rozpocz\u0119cie dzia\u0142alno\u015bci gospodarczej: wsparcie skierowane do os\u00f3b bezrobotnych, kt\u00f3re stanowi\u0105 wymiern\u0105 form\u0119 walki z bezrobociem. Bezzwrotny charakter dotacji to jeden z jej najwi\u0119kszych plus\u00f3w. Jednorazowe \u015brodki na za\u0142o\u017cenie w\u0142asnej firmy stanowi\u0105 maksymalnie 6-krotno\u015b\u0107 przeci\u0119tnego wynagrodzenia<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Prace interwencyjne<\/strong>: zgodnie z ustaw\u0105 o promocji zatrudnienia i instytucjach rynku pracy. Oznaczaj\u0105 zatrudnienie osob bezrobotn\u0105 przez pracodawc\u0119,&nbsp;w sytuacji kiedy zatrudnienie to nast\u0105pi\u0142o w wyniku umowy zawartej z PUP i ma na celu wsparcie os\u00f3b b\u0119d\u0105cych w szczeg\u00f3lnej sytuacji na rynku pracy. Jest to forma wsparcia cz\u0119\u015bciowego finansowania osoby zatrudnionej&nbsp;z Funduszu Pracy.<\/p>\n\n\n\n<p>Liczba przydzielonych prac interwencyjnych: <strong>56<\/strong><\/p>\n\n\n\n<p><strong>Roboty publiczne <\/strong>: tymczasowe zatrudnienie os\u00f3b bezrobotnych przy pracach u\u017cyteczno\u015bci publicznej (np. w urz\u0119dach, jednostkach samorz\u0105dowych).<\/p>\n\n\n\n<p>Liczba zorganizowanych rob\u00f3t publicznych: <strong>13<\/strong><\/p>\n\n\n\n<p><strong>Prace spo\u0142eczno \u2013 u\u017cyteczne<\/strong>: zgodnie z art. 2 ust. 2 pkt 23a ustawy o promocji zatrudnienia i instytucjach rynku pracy: prace spo\u0142ecznie u\u017cyteczne to prace wykonywane przez bezrobotnych bez prawa do zasi\u0142ku na skutek skierowania przez starost\u0119, organizowane przez gmin\u0119 w jednostkach organizacyjnych pomocy spo\u0142ecznej, organizacjach lub instytucjach statutowo zajmuj\u0105cych si\u0119 pomoc\u0105 charytatywn\u0105 lub na rzecz spo\u0142eczno\u015bci lokalnej.<\/p>\n\n\n\n<p>Liczba skierowa\u0144 na prace spo\u0142eczno \u2013 u\u017cyteczne: <strong>5<\/strong><\/p>\n\n\n\n<p><strong>Dofinansowanie studi\u00f3w podyplomowych<\/strong>: mo\u017cliwo\u015b\u0107 cz\u0119\u015bciowego lub pe\u0142nego sfinansowania nauki na studiach podyplomowych. Refundacja nie mo\u017ce przekroczy\u0107 300% przeci\u0119tnego wynagrodzenia.<\/p>\n\n\n\n<p>Liczba refundacji studi\u00f3w podyplomowych: <strong>12<\/strong><\/p>\n\n\n\n<p><strong>Bon na kszta\u0142cenie<\/strong>: to instrument wsparcia wprowadzony now\u0105 ustaw\u0105 o rynku pracy i s\u0142u\u017cbach zatrudnienia z 20 marca 2025 r.. Przys\u0142uguje bezrobotnym i poszukuj\u0105cym pracy na sfinansowanie szkole\u0144, studi\u00f3w podyplomowych lub egzamin\u00f3w do 100% przeci\u0119tnego wynagrodzenia. Rozpocz\u0119cie kszta\u0142cenia musi nast\u0105pi\u0107 w ci\u0105gu 6 miesi\u0119cy od przyznania bonu<\/p>\n\n\n\n<p>Liczba przyznanych bon\u00f3w: <strong>1<\/strong><\/p>\n\n\n\n<p><strong>Dofinansowanie do wynagrodzenia os\u00f3b po 50 r. \u017c.<\/strong> : celem dofinansowania wynagrodzenia pracodawcy za zatrudnienie osoby bezrobotnej, kt\u00f3ra uko\u0144czy\u0142a 50. rok \u017cycia, jest zach\u0119cenie do aktywizacji zawodowej os\u00f3b z tej grupy wiekowej. O wsparcie mog\u0105 ubiega\u0107 si\u0119 zar\u00f3wno pracodawcy, jak i przedsi\u0119biorcy.<\/p>\n\n\n\n<p>Liczba przyznanych dofinansowa\u0144: <strong>4<\/strong><\/p>\n\n\n\n<p><strong>Bon na zasiedlenie<\/strong>: stanowi gwarancj\u0119 przyznania \u015brodk\u00f3w finansowych na pokrycie koszt\u00f3w zamieszkania w zwi\u0105zku z podj\u0119ciem zatrudnienia, innej pracy zarobkowej lub dzia\u0142alno\u015bci gospodarczej poza miejscem dotychczasowego zamieszkania.<\/p>\n\n\n\n<p>Liczba przyznanych bon\u00f3w: <strong>2<\/strong><\/p>\n\n\n\n<p><strong>Dofinansowanie koszt\u00f3w zatrudnienia<\/strong>: w domu pomocy spo\u0142ecznej lub jednostce organizacyjnej wspierania rodziny i systemu pieczy zast\u0119pczej<\/p>\n\n\n\n<p>Liczba os\u00f3b, kt\u00f3rym udzielono wsparcie: <strong>7<\/strong><\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading has-text-color has-link-color wp-elements-90b7a1520fad854ba600e969d9f59914\" style=\"color:#14357a\"><strong>Programy zwi\u0105zane z promocj\u0105 zatrudnienia<\/strong><\/h4>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Dzia\u0142ania w zakresie pozyskania dodatkowych \u015brodk\u00f3w na programy zwi\u0105zane z promocj\u0105 zatrudnienia, \u0142agodzenia skutk\u00f3w bezrobocia i aktywizacji os\u00f3b bezrobotnych.<\/p>\n\n\n\n<p>Sytuacja na lokalnym rynku pracy w 2025 r. wymaga\u0142a podejmowania dzia\u0142a\u0144 w zakresie aktywnej polityki rynku pracy ukierunkowanych na kompleksowe wsparcie os\u00f3b bezrobotnych uj\u0119te w konkretne programy. Zale\u017ca\u0142o nam w szczeg\u00f3lno\u015bci na tych grupach bezrobotnych, kt\u00f3re napotykaj\u0105 na znaczne trudno\u015bci na lokalnym rynku pracy. Osoby te wyr\u00f3\u017cniaj\u0105 si\u0119 niskim poziomem aktywno\u015bci zawodowej, d\u0142ugotrwa\u0142ym bezrobociem i niedostatecznymi kwalifikacjami w stosunku do potrzeb zg\u0142aszanych na rynku pracy. Dlatego te\u017c, bior\u0105c pod uwag\u0119 skal\u0119 potrzeb w tym zakresie, Urz\u0105d Pracy w \u017byrardowie wyst\u0119powa\u0142 w 2025 r. z wnioskami w celu pozyskania dodatkowych \u015brodk\u00f3w finansowych.<\/p>\n\n\n\n<p>W okresie od 1.01.2025 do 31.12.2025 r. Powiatowy Urz\u0105d Pracy w \u017byrardowie realizowa\u0142 projekty nast\u0119puj\u0105ce projekty:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Program regionalny \u201eMazowsze 2025 \u2013 osoby d\u0142ugotrwale bezrobotne powy\u017cej<br>45 r. \u017c.\u201d<\/li>\n\n\n\n<li>Region wysokiego bezrobocia \u2013 \u017byrard\u00f3w<\/li>\n\n\n\n<li>Projekt niekonkurencyjny \u201eAktywizacja zawodowa os\u00f3b bezrobotnych w powiecie \u017cyrardowskim II\u201d w ramach Dzia\u0142ania 6.1 Aktywizacja zawodowa os\u00f3b bezrobotnych Program Fundusze Europejskie dla Mazowsza 2021 \u2013 2027, wsp\u00f3\u0142finansowanego ze \u015brodk\u00f3w Europejskiego Funduszu Spo\u0142ecznego Plus (EFS+)<\/li>\n<\/ol>\n\n\n\n<p>Ponadto wsparciem obj\u0119te zosta\u0142y r\u00f3wnie\u017c osoby z niepe\u0142nosprawno\u015bciami (PEFRON). Projekty mia\u0142y na celu wsparcie os\u00f3b niepe\u0142nosprawnych pozostaj\u0105cych w ewidencji urz\u0119du pracy, ze szczeg\u00f3lnym uwzgl\u0119dnieniem os\u00f3b maj\u0105cych najwi\u0119ksze trudno\u015bci na lokalnym rynku pracy. W ramach projekt\u00f3w aktywizacj\u0105 zawodow\u0105 obj\u0119to <strong>2 <\/strong>osoby.<br>Formy wsparcia, to sta\u017ce przyznane <strong>1 <\/strong>osobie niepe\u0142nosprawnej oraz dotacje na podj\u0119cie dzia\u0142alno\u015bci gospodarczej przyznano <strong>1 <\/strong>osobie.<\/p>\n\n\n\n<p>Dzia\u0142alno\u015b\u0107 PUP, to nie tylko ww. formy wsparcia ale tak\u017ce pomoc, jak\u0105 osoby bezrobotne i poszukuj\u0105ce pracy mog\u0105 uzyska\u0107 dzi\u0119ki staraniom pracuj\u0105cych w Urz\u0119dzie doradc\u00f3w zawodowych. Poradnictwo zawodowe to proces, w kt\u00f3rym doradca wsp\u00f3lnie z klientem pracuje nad \u015bwiadomym i samodzielnym podj\u0119ciem decyzji dotycz\u0105cej \u015bcie\u017cki rozwoju zawodowego oraz dostosowaniem jej do wymaga\u0144 rynku pracy.<\/p>\n\n\n\n<p>W 2025 r. z indywidualnych us\u0142ug poradnictwa zawodowego skorzysta\u0142o <strong>336<\/strong> os\u00f3b bezrobotnych, kt\u00f3re odby\u0142y \u0142\u0105cznie 481 wizyt. Z kolei <strong>104 <\/strong>osoby bezrobotne uczestniczy\u0142y w spotkaniach grupowych, zorganizowanych w 15 grupach.<\/p>\n\n\n    <section class=\"animated-stats-section statistics-block-custom\" \n             style=\"background-color: #ffffff; \n                    \">\n        <div class=\"stats-container\">\n                        <div class=\"section-header\">\n                                    <h2 style=\"color: #1e3c72;\">Z us\u0142ug poradnictwa zawodowego najcz\u0119\u015bciej korzystali bezrobotni<\/h2>\n                                            <\/div>\n                        \n            <div class=\"stats-grid stats-grid-4\">\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\">pozostaj\u0105cy bez pracy do 6 miesi\u0119cy<\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"190\"\n                                  data-suffix=\"\"\n                                  data-separator=\"space\"\n                                  data-decimal-separator=\"comma\"\n                                  style=\"color: #1e3c72;\">0<\/span>\n                        <\/div>\n                        <p class=\"stat-description\" style=\"color: #666666;\">w tym 46 os\u00f3b do 25 r. \u017c<\/p>\n                    <\/div>\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\">m\u0142odzi bezrobotni do 30 roku \u017cycia<\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"190\"\n                                  data-suffix=\"\"\n                                  data-separator=\"space\"\n                                  data-decimal-separator=\"comma\"\n                                  style=\"color: #1e3c72;\">0<\/span>\n                        <\/div>\n                        <p class=\"stat-description\" style=\"color: #666666;\"><\/p>\n                    <\/div>\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\"> bezrobotni zamieszkali na wsi<\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"96\"\n                                  data-suffix=\"\"\n                                  data-separator=\"space\"\n                                  data-decimal-separator=\"comma\"\n                                  style=\"color: #1e3c72;\">0<\/span>\n                        <\/div>\n                        <p class=\"stat-description\" style=\"color: #666666;\"><\/p>\n                    <\/div>\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\">d\u0142ugotrwale bezrobotni<\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"110 \"\n                                  data-suffix=\"\"\n                                  data-separator=\"space\"\n                                  data-decimal-separator=\"comma\"\n                                  style=\"color: #1e3c72;\">0<\/span>\n                        <\/div>\n                        <p class=\"stat-description\" style=\"color: #666666;\"><\/p>\n                    <\/div>\n                            <\/div>\n        <\/div>\n    <\/section>\n    \n    <style>\n    \/* Statistics Block Styles - matches homepage layout *\/\n    .statistics-block-custom {\n        padding: 80px 20px;\n        position: relative;\n        overflow: hidden;\n    }\n    \n    .statistics-block-custom .stats-container {\n        max-width: 1400px;\n        margin: 0 auto;\n    }\n    \n    .statistics-block-custom .section-header {\n        text-align: center;\n        margin-bottom: 60px;\n    }\n    \n    .statistics-block-custom .section-header h2 {\n        font-size: 2.5rem;\n        color: #1e3c72;\n        margin-bottom: 15px;\n    }\n    \n    .statistics-block-custom .section-header p {\n        font-size: 1.2rem;\n        color: #666;\n    }\n    \n    .statistics-block-custom .stats-grid {\n        display: grid;\n        gap: 40px;\n        margin: 0 auto;\n    }\n    \n    \/* 2 blocks *\/\n    .statistics-block-custom .stats-grid-2 {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        max-width: 900px;\n    }\n    \n    \/* 3 blocks *\/\n    .statistics-block-custom .stats-grid-3 {\n        grid-template-columns: repeat(3, minmax(0, 1fr));\n        max-width: 1200px;\n    }\n    \n    \/* 4 blocks *\/\n    .statistics-block-custom .stats-grid-4 {\n        grid-template-columns: repeat(4, minmax(0, 1fr));\n        max-width: 1400px;\n    }\n    \n    \/* 5 blocks *\/\n    .statistics-block-custom .stats-grid-5 {\n        grid-template-columns: repeat(5, minmax(0, 1fr));\n        max-width: 1400px;\n    }\n    \n    .statistics-block-custom .stat-box {\n        text-align: center;\n        padding: 40px 20px;\n        background: rgba(255, 255, 255, 0.95);\n        border-radius: 12px;\n        box-shadow: 0 4px 20px rgba(0,0,0,0.1);\n        transition: transform 0.3s ease, box-shadow 0.3s ease;\n        min-width: 0;\n        max-width: 100%;\n        overflow: hidden;\n    }\n    \n    .statistics-block-custom .stat-box:hover {\n        transform: translateY(-10px);\n        box-shadow: 0 8px 30px rgba(0,0,0,0.15);\n    }\n    \n    .statistics-block-custom .stat-title {\n        font-size: 1.3rem;\n        color: #1e3c72;\n        font-weight: 600;\n        margin-bottom: 20px;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        overflow: hidden;\n        max-width: 100%;\n        word-wrap: break-word;\n        overflow-wrap: break-word;\n    }\n    \n    .statistics-block-custom .stat-number-wrapper {\n        margin: 20px 0;\n        overflow: hidden;\n        max-width: 100%;\n    }\n    \n    .statistics-block-custom .stat-number {\n        font-size: 4rem;\n        font-weight: 700;\n        color: #2a5298;\n        display: inline-block;\n        line-height: 1;\n    }\n    \n    .statistics-block-custom .stat-description {\n        font-size: 1rem;\n        color: #666;\n        line-height: 1.6;\n        margin-top: 20px;\n    }\n    \n    \/* Responsive for statistics block *\/\n    @media (max-width: 1200px) {\n        .statistics-block-custom .stats-grid-4,\n        .statistics-block-custom .stats-grid-5 {\n            grid-template-columns: repeat(3, minmax(0, 1fr));\n        }\n    }\n    \n    @media (max-width: 968px) {\n        .statistics-block-custom .stats-grid-2,\n        .statistics-block-custom .stats-grid-3,\n        .statistics-block-custom .stats-grid-4,\n        .statistics-block-custom .stats-grid-5 {\n            grid-template-columns: repeat(2, minmax(0, 1fr));\n            gap: 30px;\n        }\n    }\n    \n    @media (max-width: 640px) {\n        .statistics-block-custom .stats-grid-2,\n        .statistics-block-custom .stats-grid-3,\n        .statistics-block-custom .stats-grid-4,\n        .statistics-block-custom .stats-grid-5 {\n            grid-template-columns: minmax(0, 1fr);\n        }\n        \n        .statistics-block-custom .stat-number {\n            font-size: 3rem;\n        }\n        \n        .statistics-block-custom .stat-title {\n            font-size: 1.1rem;\n        }\n        \n        .statistics-block-custom .section-header h2 {\n            font-size: 2rem;\n        }\n    }\n    <\/style>\n    \n        <script>\n    if (!window.statsAnimationLoaded) {\n        window.statsAnimationLoaded = true;\n        \n        \/\/ Calculate the best fitting font size for a number (without applying it)\n        \/\/ Returns the size that makes the number fit, or null if no scaling needed\n        function calculateBestFontSize(element) {\n            const statBox = element.closest('.stat-box');\n            if (!statBox) return null;\n            \n            \/\/ Reset to default size to measure naturally\n            element.style.fontSize = '';\n            element.style.whiteSpace = 'nowrap';\n            \n            \/\/ Force reflow\n            void element.offsetHeight;\n            \n            \/\/ Get available width from stat-box\n            const boxStyle = window.getComputedStyle(statBox);\n            const paddingLeft = parseFloat(boxStyle.paddingLeft) || 0;\n            const paddingRight = parseFloat(boxStyle.paddingRight) || 0;\n            const availableWidth = statBox.clientWidth - paddingLeft - paddingRight - 20;\n            \n            if (availableWidth <= 0) return null;\n            \n            \/\/ Current computed font size\n            const computedSize = parseFloat(window.getComputedStyle(element).fontSize);\n            \n            \/\/ Force reflow\n            void element.offsetHeight;\n            \n            \/\/ If fits at default size, return null (no scaling needed)\n            if (element.scrollWidth <= availableWidth) return null;\n            \n            \/\/ Binary search for best size\n            let minSize = 10;\n            let maxSize = computedSize;\n            let bestSize = minSize;\n            \n            while (maxSize - minSize > 0.5) {\n                const testSize = (minSize + maxSize) \/ 2;\n                element.style.fontSize = testSize + 'px';\n                void element.offsetHeight;\n                \n                if (element.scrollWidth <= availableWidth) {\n                    bestSize = testSize;\n                    minSize = testSize;\n                } else {\n                    maxSize = testSize;\n                }\n            }\n            \n            \/\/ Reset to default - we'll apply the synchronized size separately\n            element.style.fontSize = '';\n            void element.offsetHeight;\n            \n            return bestSize;\n        }\n        \n        \/\/ Fit all numbers in a module to the same (smallest needed) font size\n        function fitNumbersInModule(moduleSection) {\n            if (!moduleSection) return;\n            const numbers = moduleSection.querySelectorAll('.stat-number');\n            if (numbers.length === 0) return;\n            \n            \/\/ Calculate required size for each number\n            let smallestSize = null;\n            numbers.forEach(function(numEl) {\n                const size = calculateBestFontSize(numEl);\n                if (size !== null) {\n                    if (smallestSize === null || size < smallestSize) {\n                        smallestSize = size;\n                    }\n                }\n            });\n            \n            \/\/ Apply the smallest size to ALL numbers in this module (or reset if all fit)\n            numbers.forEach(function(numEl) {\n                if (smallestSize !== null) {\n                    numEl.style.fontSize = smallestSize + 'px';\n                } else {\n                    numEl.style.fontSize = '';\n                }\n            });\n        }\n        \n        \/\/ Backward compatible single-element fit function (operates on whole module)\n        function fitNumberToBox(element) {\n            const moduleSection = element.closest('.animated-stats-section');\n            if (moduleSection) {\n                fitNumbersInModule(moduleSection);\n            }\n        }\n        \n        function animateCounter(element, start, end, duration) {\n            const suffix = element.getAttribute('data-suffix') || '';\n            const separator = element.getAttribute('data-separator') || 'space';\n            const decimalSep = element.getAttribute('data-decimal-separator') || 'comma';\n            const decChar = (decimalSep === 'period') ? '.' : ',';\n            const hasDecimal = end.toString().includes('.');\n            const decimalPlaces = hasDecimal ? end.toString().split('.')[1].length : 0;\n            let startTime = null;\n            \n            function formatNumber(num, sep) {\n                const roundedNum = hasDecimal ? num.toFixed(decimalPlaces) : Math.floor(num);\n                const str = roundedNum.toString();\n                \n                \/\/ Rozdziel cz\u0119\u015b\u0107 ca\u0142kowit\u0105 i dziesi\u0119tn\u0105 (\u017ar\u00f3d\u0142o zawsze u\u017cywa kropki)\n                const parts = str.split('.');\n                const intPart = parts[0];\n                const decPart = parts[1] ? decChar + parts[1] : '';\n                \n                if (sep === 'none') {\n                    return intPart + decPart;\n                }\n                \n                \/\/ Wyb\u00f3r separatora tysi\u0119cy - musi by\u0107 r\u00f3\u017cny od separatora dziesi\u0119tnego\n                let thousandsChar = '';\n                if (sep === 'space') thousandsChar = ' ';\n                else if (sep === 'period') thousandsChar = (decChar === '.') ? ' ' : '.';\n                else if (sep === 'comma') thousandsChar = (decChar === ',') ? ' ' : ',';\n                \n                let formatted = '';\n                let count = 0;\n                \n                for (let i = intPart.length - 1; i >= 0; i--) {\n                    if (count === 3) {\n                        formatted = thousandsChar + formatted;\n                        count = 0;\n                    }\n                    formatted = intPart[i] + formatted;\n                    count++;\n                }\n                \n                return formatted + decPart;\n            }\n            \n            function easeOutCubic(t) {\n                return 1 - Math.pow(1 - t, 3);\n            }\n            \n            function animate(currentTime) {\n                if (!startTime) startTime = currentTime;\n                const elapsed = currentTime - startTime;\n                const progress = Math.min(elapsed \/ duration, 1);\n                const easedProgress = easeOutCubic(progress);\n                const current = start + (end - start) * easedProgress;\n                \n                const displayValue = formatNumber(current, separator);\n                element.textContent = displayValue + suffix;\n                \n                if (progress < 1) {\n                    requestAnimationFrame(animate);\n                } else {\n                    \/\/ Final value set - now fit it to the box\n                    fitNumberToBox(element);\n                }\n            }\n            \n            \/\/ Pre-set final value to measure, then start animation\n            element.textContent = formatNumber(end, separator) + suffix;\n            fitNumberToBox(element);\n            element.textContent = formatNumber(start, separator) + suffix;\n            \n            requestAnimationFrame(animate);\n        }\n        \n        function initStatsObserver() {\n            const observerOptions = {\n                threshold: 0.5,\n                rootMargin: '0px'\n            };\n            \n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        const statBoxes = entry.target.querySelectorAll('.stat-box');\n                        statBoxes.forEach((box, index) => {\n                            setTimeout(() => {\n                                const numberElement = box.querySelector('.stat-number');\n                                if (numberElement) {\n                                    if (!numberElement.classList.contains(\"animated\")) {\n                                        const targetValue = parseFloat(numberElement.getAttribute('data-target'));\n                                        animateCounter(numberElement, 0, targetValue, 3000);\n                                        numberElement.classList.add('animated');\n                                    }\n                                }\n                            }, index * 200);\n                        });\n                        observer.unobserve(entry.target);\n                    }\n                });\n            }, observerOptions);\n            \n            const statsSections = document.querySelectorAll('.animated-stats-section .stats-grid');\n            statsSections.forEach(section => {\n                observer.observe(section);\n            });\n        }\n        \n        \/\/ Refit all stat numbers (used on resize) - per module so each scales together\n        function refitAllStatNumbers() {\n            const sections = document.querySelectorAll('.animated-stats-section');\n            sections.forEach(function(section) {\n                \/\/ Only refit if at least one number has been animated\n                if (section.querySelector('.stat-number.animated')) {\n                    fitNumbersInModule(section);\n                }\n            });\n        }\n        \n        \/\/ Handle resize events (debounced)\n        let statsResizeTimer;\n        window.addEventListener('resize', function() {\n            clearTimeout(statsResizeTimer);\n            statsResizeTimer = setTimeout(refitAllStatNumbers, 150);\n        });\n        \n        \/\/ Also refit after orientation change (mobile)\n        window.addEventListener('orientationchange', function() {\n            setTimeout(refitAllStatNumbers, 300);\n        });\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initStatsObserver);\n        } else {\n            initStatsObserver();\n        }\n    }\n    <\/script>\n        \n    \n\n\n<p><\/p>\n\n\n\n<p>Ponadto doradcy zawodowi przeprowadzili badania predyspozycji przedsi\u0119biorczych w ramach testu Kwestionariusza Zainteresowa\u0144 Zawodowych dla <strong>24 <\/strong>os\u00f3b.<\/p>\n\n\n\n<p>Urz\u0105d w ramach zada\u0144 wykonywanych przez doradc\u0119 zawodowego \u015bwiadczy r\u00f3wnie\u017c us\u0142ugi w zakresie udost\u0119pniania szeroko rozumianej informacji zawodowej, kt\u00f3ra wspomaga proces podejmowania decyzji zawodowej, a tak\u017ce umo\u017cliwia klientom dok\u0142adniejsz\u0105 orientacj\u0119 na rynku pracy. W 2025 r. z tej us\u0142ugi skorzysta\u0142 <strong>625 <\/strong>klient\u00f3w indywidualny a <strong>200 <\/strong>os\u00f3b uczestniczy\u0142o w 22 spotkaniach grupowych. <\/p>\n\n\n\n<p>Tematyka udzielonych informacji zawodowych by\u0142a r\u00f3\u017cnorodna i dotyczy\u0142a najcz\u0119\u015bciej:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>warunk\u00f3w korzystania z aktywnych form przeciwdzia\u0142ania bezrobociu,<\/li>\n\n\n\n<li>mo\u017cliwo\u015bci szkolenia lub przekwalifikowania,<\/li>\n\n\n\n<li>pomocy w redagowaniu dokument\u00f3w wymaganych przy zatrudnieniu,<\/li>\n\n\n\n<li>informacji dotycz\u0105cych: prawa pracy, kierunk\u00f3w kszta\u0142cenia.<\/li>\n<\/ul>\n\n\n\n<p>W zwi\u0105zku ze zmian\u0105 ustawy o rynku pracy i s\u0142u\u017cbach zatrudnienia, doradca zawodowy przeprowadzi\u0142 4 spotkania informacyjne w szko\u0142ach podstawowych i ponadpodstawowych, w kt\u00f3rych uczestniczy\u0142y <strong>84 <\/strong>osoby. Ponadto doradca zawodowy PUP by\u0142 prelegentem podczas konferencji \u201eRzemios\u0142o i Przedsi\u0119biorczo\u015b\u0107 w partnerstwie z samorz\u0105dem i instytucjami \u2013 wsp\u00f3lna przysz\u0142o\u015b\u0107 lokalnej gospodarki\u201d oraz zorganizowa\u0142 spotkanie i dni otwarte dla lokalnych przedsi\u0119biorc\u00f3w w Urz\u0119dzie Pracy, w kt\u00f3rych wzi\u0119\u0142o udzia\u0142 12 przedsi\u0119biorc\u00f3w.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading has-text-color has-link-color wp-elements-0320f4f796c533fce8663cb8b5afc5be\" style=\"color:#14357a\"><strong>Wspieranie zatrudnienia cz\u0142onk\u00f3w rodzin opiekuj\u0105cych si\u0119 osob\u0105 niepe\u0142nosprawn\u0105<\/strong><\/h4>\n\n\n\n<p>W 2025 r. w ramach dzia\u0142a\u0144 na rzecz wspierania zatrudnienia cz\u0142onk\u00f3w rodzin. Z formy wsparcia w postaci szkolenia skorzysta\u0142a <strong>1 <\/strong>osoba.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wsparcie dla przedsi\u0119biorc\u00f3w Kszta\u0142cenie ustawiczne bezrobotnych na potrzeby dynamicznie zmieniaj\u0105cego si\u0119 rynku pracy 2.01.2025 r. &#8211; 31.12.2025 r. Kursy, szkolenia maj\u0105ce na celu podnoszenie, uzupe\u0142nianie lub zmian\u0119 dotychczasowych kwalifikacji zawodowych&#8230;.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-547","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/pages\/547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/comments?post=547"}],"version-history":[{"count":42,"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/pages\/547\/revisions"}],"predecessor-version":[{"id":2626,"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/pages\/547\/revisions\/2626"}],"wp:attachment":[{"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/media?parent=547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}