{"id":267,"date":"2026-02-17T11:29:50","date_gmt":"2026-02-17T10:29:50","guid":{"rendered":"http:\/\/192.168.2.10\/?page_id=267"},"modified":"2026-05-07T10:52:17","modified_gmt":"2026-05-07T08:52:17","slug":"polozenie-i-podstawowe-parametry","status":"publish","type":"page","link":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/polozenie-i-podstawowe-parametry\/","title":{"rendered":"Po\u0142o\u017cenie i podstawowe parametry"},"content":{"rendered":"\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:58% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"945\" src=\"https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/05\/polozenie-powiat-1024x945.png\" alt=\"Po\u0142o\u017cenie - Powiat \u017byrardowski\" class=\"wp-image-1152 size-full\" srcset=\"https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/05\/polozenie-powiat-1024x945.png 1024w, https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/05\/polozenie-powiat-300x277.png 300w, https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/05\/polozenie-powiat-768x709.png 768w, https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/05\/polozenie-powiat.png 1040w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-medium-font-size\" style=\"line-height:1.7\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#14357a\" class=\"has-inline-color\"><strong>WOJEW\u00d3DZTWO<\/strong><\/mark><br>mazowieckie<br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#14357a\" class=\"has-inline-color\">POWIAT<\/mark><\/strong><br>\u017cyrardowski<br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#14357a\" class=\"has-inline-color\">TYP<\/mark><\/strong><br>powiat ziemski<br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#14357a\" class=\"has-inline-color\">S\u0104SIEDNIE POWIATY<\/mark><\/strong><br><strong>woj. \u0142\u00f3dzkie:<\/strong> rawski, skierniewicki<br><strong>woj.mazowieckie:<\/strong> grodziski, gr\u00f3jecki, sochaczewski<br><br><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#14357a\" class=\"has-inline-color\">SIEDZIBA W\u0141ADZ POWIATU<\/mark><\/strong><br><strong>Starostwo Powiatowe w \u017byrardowie<\/strong><br>ul. Limanowskiego 45<br>96-300 \u017byrard\u00f3w<\/p>\n<\/div><\/div>\n\n\n    <section class=\"animated-stats-section statistics-block-custom\" \n             style=\"background-color: #ffffff; \n                    \">\n        <div class=\"stats-container\">\n                        \n            <div class=\"stats-grid stats-grid-2\">\n                                    <div class=\"stat-box\" style=\"background-color: #f5f7fa;\">\n                        <h3 class=\"stat-title\" style=\"color: #1e3c72;\">Powierzchnia<\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"533\"\n                                  data-suffix=\" km\u00b2\"\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 ludno\u015bci<\/h3>\n                        <div class=\"stat-number-wrapper\">\n                            <span class=\"stat-number\" \n                                  data-target=\"74841 \"\n                                  data-suffix=\" os\u00f3b\"\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;\">(\u017ar\u00f3d\u0142o BDL, stan na 30 czerwca 2025)<\/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    <section class=\"photo-gallery-section gallery-block-custom caption-below gallery-6a0630aa36d65\" \n             style=\"background-color: #ffffff;\"\n             >\n        <div class=\"gallery-container\">\n                        <div class=\"section-header\">\n                                    <h2 style=\"color: #1e3c72;\">GMINY<\/h2>\n                                            <\/div>\n                        \n            <div class=\"photo-gallery-grid\" style=\"grid-template-columns: repeat(5, 1fr); gap: 40px;\" data-columns=\"5\" data-spacing=\"40\">\n                                    <div class=\"gallery-item\" \n                                                  >\n                                                    <a href=\"https:\/\/www.mszczonow.pl\" class=\"gallery-link\">\n                                                    <div class=\"gallery-image-wrapper\" style=\"height: 220px;\">\n                                <img decoding=\"async\" src=\"http:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/POL_Mszczonow_COA.png\" alt=\"Mszczon\u00f3w\" loading=\"lazy\" style=\"object-fit: contain;\">\n                                                            <\/div>\n                                                            <div class=\"gallery-caption-below\">\n                                    <span class=\"gallery-caption\" style=\"color: #0a5d7d;\">Mszczon\u00f3w<\/span>\n                                                                    <\/div>\n                                                                                <\/a>\n                                            <\/div>\n                                    <div class=\"gallery-item\" \n                                                  >\n                                                    <a href=\"https:\/\/www.puszcza-marianska.pl\" class=\"gallery-link\">\n                                                    <div class=\"gallery-image-wrapper\" style=\"height: 220px;\">\n                                <img decoding=\"async\" src=\"http:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/1200px-POL_gmina_Puszcza_Marianska_COA.svg.png\" alt=\"Puszcza Maria\u0144ska\" loading=\"lazy\" style=\"object-fit: contain;\">\n                                                            <\/div>\n                                                            <div class=\"gallery-caption-below\">\n                                    <span class=\"gallery-caption\" style=\"color: #0a5d7d;\">Puszcza Maria\u0144ska<\/span>\n                                                                    <\/div>\n                                                                                <\/a>\n                                            <\/div>\n                                    <div class=\"gallery-item\" \n                                                  >\n                                                    <a href=\"https:\/\/www.zyrardow.pl\" class=\"gallery-link\">\n                                                    <div class=\"gallery-image-wrapper\" style=\"height: 220px;\">\n                                <img decoding=\"async\" src=\"https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/1200px-POL_Zyrardow_COA.svg1_.png\" alt=\"\u017byrard\u00f3w\" loading=\"lazy\" style=\"object-fit: contain;\">\n                                                            <\/div>\n                                                            <div class=\"gallery-caption-below\">\n                                    <span class=\"gallery-caption\" style=\"color: #0a5d7d;\">\u017byrard\u00f3w<\/span>\n                                                                    <\/div>\n                                                                                <\/a>\n                                            <\/div>\n                                    <div class=\"gallery-item\" \n                                                  >\n                                                    <a href=\"https:\/\/wiskitki.pl\/\" class=\"gallery-link\">\n                                                    <div class=\"gallery-image-wrapper\" style=\"height: 220px;\">\n                                <img decoding=\"async\" src=\"http:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/1200px-POL_Wiskitki_COA.svg.png\" alt=\"Wiskitki\" loading=\"lazy\" style=\"object-fit: contain;\">\n                                                            <\/div>\n                                                            <div class=\"gallery-caption-below\">\n                                    <span class=\"gallery-caption\" style=\"color: #0a5d7d;\">Wiskitki<\/span>\n                                                                    <\/div>\n                                                                                <\/a>\n                                            <\/div>\n                                    <div class=\"gallery-item\" \n                                                  >\n                                                    <a href=\"https:\/\/radziejowice.pl\" class=\"gallery-link\">\n                                                    <div class=\"gallery-image-wrapper\" style=\"height: 220px;\">\n                                <img decoding=\"async\" src=\"https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/herb_GR-png1.png\" alt=\"Radziejowice\" loading=\"lazy\" style=\"object-fit: contain;\">\n                                                            <\/div>\n                                                            <div class=\"gallery-caption-below\">\n                                    <span class=\"gallery-caption\" style=\"color: #0a5d7d;\">Radziejowice<\/span>\n                                                                    <\/div>\n                                                                                <\/a>\n                                            <\/div>\n                            <\/div>\n        <\/div>\n    <\/section>\n    \n    <style>\n    .gallery-block-custom .gallery-container {\n        max-width: 1400px;\n        margin: 0 auto;\n        padding: 80px 20px;\n    }\n    \n    .gallery-block-custom .section-header {\n        text-align: center;\n        margin-bottom: 60px;\n    }\n    \n    .gallery-block-custom .section-header h2 {\n        font-size: 2.5rem;\n        color: #1e3c72;\n        margin-bottom: 15px;\n    }\n    \n    .gallery-block-custom .section-header p {\n        font-size: 1.2rem;\n        color: #666;\n    }\n    \n    .gallery-block-custom .photo-gallery-grid {\n        display: grid;\n    }\n    \n    .gallery-block-custom .gallery-item {\n        position: relative;\n        overflow: hidden;\n        border-radius: 12px;\n        box-shadow: 0 4px 15px rgba(0,0,0,0.1);\n        transition: transform 0.3s ease;\n    }\n    \n    .gallery-block-custom .gallery-item:hover {\n        transform: translateY(-5px);\n    }\n    \n    .gallery-block-custom .gallery-image-wrapper {\n        position: relative;\n        width: 100%;\n        overflow: hidden;\n    }\n    \n    .gallery-block-custom .gallery-image-wrapper img {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n    }\n    \n    .gallery-block-custom .gallery-caption-below {\n        padding: 12px 16px;\n        background: #fff;\n        font-size: 0.95rem;\n        text-align: center;\n    }\n    \n    .gallery-block-custom .gallery-caption-below .gallery-caption,\n    .gallery-block-custom .gallery-overlay .gallery-caption {\n        display: block;\n        text-align: center;\n        width: 100%;\n    }\n    \n    .gallery-block-custom .gallery-sub-caption {\n        display: block;\n        text-align: center;\n        width: 100%;\n        font-size: 0.85rem;\n        font-weight: 400;\n        text-transform: none !important;\n        margin-top: 4px;\n    }\n    \n    .gallery-block-custom .gallery-overlay {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background: rgba(30, 60, 114, 0.9);\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        opacity: 0;\n        transition: opacity 0.3s ease;\n    }\n    \n    .gallery-block-custom .gallery-item:hover .gallery-overlay {\n        opacity: 1;\n    }\n    \n    .gallery-block-custom .gallery-caption {\n        color: white;\n        font-size: 1.1rem;\n        font-weight: 600;\n        padding: 0 20px;\n        text-align: center;\n    }\n    \n    .gallery-block-custom .gallery-arrow {\n        color: white;\n        font-size: 2rem;\n        margin-top: 15px;\n    }\n    \n    @media (max-width: 768px) {\n        .gallery-block-custom .photo-gallery-grid {\n            display: block !important;\n            grid-template-columns: 1fr !important;\n        }\n        \n        .gallery-block-custom .gallery-item {\n            width: 100% !important;\n            margin-bottom: 20px;\n        }\n        \n        .gallery-block-custom .gallery-item:last-child {\n            margin-bottom: 0;\n        }\n        \n        .gallery-block-custom .gallery-container {\n            padding-left: 10px !important;\n            padding-right: 10px !important;\n        }\n        \n        .gallery-block-custom.photo-gallery-section {\n            padding: 30px 0 !important;\n        }\n    }\n    <\/style>\n    \n        \n    \n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color has-link-color has-large-font-size wp-elements-2547b7f4e8d8a391f199d92246f9f268\" style=\"color:#2a5298\">HERB POWIATU \u017bYRARDOWSKIEGO<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.powiat-zyrardowski.pl\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"496\" height=\"599\" src=\"http:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/herb1.png\" alt=\"\" class=\"wp-image-817\" style=\"width:264px;height:auto\" srcset=\"https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/herb1.png 496w, https:\/\/raport2025.powiat-zyrardowski.pl\/wp-content\/uploads\/2026\/04\/herb1-248x300.png 248w\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WOJEW\u00d3DZTWOmazowieckie POWIAT\u017cyrardowski TYPpowiat ziemski S\u0104SIEDNIE POWIATYwoj. \u0142\u00f3dzkie: rawski, skierniewickiwoj.mazowieckie: grodziski, gr\u00f3jecki, sochaczewski SIEDZIBA W\u0141ADZ POWIATUStarostwo Powiatowe w \u017byrardowieul. Limanowskiego 4596-300 \u017byrard\u00f3w HERB POWIATU \u017bYRARDOWSKIEGO<\/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-267","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/pages\/267","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=267"}],"version-history":[{"count":26,"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/pages\/267\/revisions"}],"predecessor-version":[{"id":2039,"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/pages\/267\/revisions\/2039"}],"wp:attachment":[{"href":"https:\/\/raport2025.powiat-zyrardowski.pl\/index.php\/wp-json\/wp\/v2\/media?parent=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}