{"id":2253,"date":"2025-11-25T10:19:08","date_gmt":"2025-11-25T10:19:08","guid":{"rendered":"https:\/\/o2.org.rs\/projects\/"},"modified":"2026-03-26T17:49:53","modified_gmt":"2026-03-26T17:49:53","slug":"projects","status":"publish","type":"page","link":"https:\/\/o2.org.rs\/en\/projects\/","title":{"rendered":"Projects"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2253\" class=\"elementor elementor-2253 elementor-49\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8c0a0fe e-flex e-con-boxed e-con e-parent\" data-id=\"8c0a0fe\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d94b8ab elementor-widget elementor-widget-heading\" data-id=\"d94b8ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PROJECTS THAT LEAVE A MARK<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f83fee elementor-widget elementor-widget-text-editor\" data-id=\"8f83fee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our projects represent a systematic and transparent approach to restoring forest areas across Serbia and the region. Each location is carefully selected in collaboration with public institutions, forestry companies, and local communities\u2014with clear objectives, a defined methodology, and measurable results.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fea4865 e-con-full e-flex e-con e-child\" data-id=\"fea4865\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e22979 elementor-widget elementor-widget-shortcode\" data-id=\"3e22979\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"leaflet-map-6a1b1516be317\" class=\"leaflet-project-map\"\n        style=\"height: 500px; width: 100%; background: #e0e0e0; border-radius:20px; z-index:0\">\n    <\/div>\n\n    <script>\n        (function () {\n            var mapId = 'leaflet-map-6a1b1516be317';\n            var defaultLat = 44.8176;\n            var defaultLng = 20.4633;\n            var zoom = 8;\n            var iconUrl = 'https:\/\/o2.org.rs\/wp-content\/uploads\/2025\/12\/o2_icon.webp';\n            var iconWidth = 37;\n            var iconHeight = 37;\n\n\n            var projects = [];\n\n            function initLeafletMap() {\n                var container = document.getElementById(mapId);\n                if (!container) {\n                    console.log('Leaflet: Container not found');\n                    return;\n                }\n\n                if (container._leaflet_id) {\n                    console.log('Leaflet: Map already initialized');\n                    return;\n                }\n\n\n                var centerLat = projects.length > 0 ? projects[0].lat : defaultLat;\n                var centerLng = projects.length > 0 ? projects[0].lng : defaultLng;\n\n                var map = L.map(mapId).setView([centerLat, centerLng], zoom);\n\n                L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n                    attribution: '&copy; <a href=\"https:\/\/www.openstreetmap.org\/copyright\">OpenStreetMap<\/a>'\n                }).addTo(map);\n\n\n                var markerOptions = {};\n                if (iconUrl) {\n                    var customIcon = L.icon({\n                        iconUrl: iconUrl,\n                        iconSize: [iconWidth, iconHeight],\n                        iconAnchor: [iconWidth \/ 2, iconHeight],\n                        popupAnchor: [0, -iconHeight]\n                    });\n                    markerOptions.icon = customIcon;\n                }\n\n\n                var bounds = [];\n                projects.forEach(function (project) {\n                    var marker = L.marker([project.lat, project.lng], markerOptions)\n                        .addTo(map)\n                        .bindPopup(\n                            '<div class=\"project-info\" style=\"width:100%; min-width: 300px;\">' +\n\n                            '<div class=\"project-info-content\" style=\"display: flex; flex-direction: column; gap: 12px;\">' +\n                            '<img decoding=\"async\" src=\"' + project.featured_image + '\" alt=\"' + project.title + '\" style=\"width:100%; max-height:100px; object-fit: cover; border-radius: 12px;\">' +\n                            '<h4 style=\"font-weight: 600; margin:0px\">' + project.title + '<\/h4>' +\n                            '<div style=\"display: flex; flex-direction: row;justify-content:space-between;\">' +\n                            '<p style=\"margin:0px\">' + project.imeMesta + '<\/p>' +\n                            '<p style=\"margin:0px\">' + project.povrsina + ' m\u00b2' + '<\/p>' +\n                            '<p style=\"margin:0px\">' + project.godina + '<\/p>' +\n                            '<\/div>' +\n                            '<a href=\"' + project.url + '\" style=\"color: #0E4FC8; text-decoration: underline; font-size: 16px;\">Pro\u010ditaj vi\u0161e<\/a>' +\n                            '<\/div>' +\n                            '<\/div>'\n                        );\n                    bounds.push([project.lat, project.lng]);\n                });\n\n\n                if (bounds.length > 1) {\n                    map.fitBounds(bounds, { padding: [30, 30] });\n                }\n\n                setTimeout(function () {\n                    map.invalidateSize();\n                }, 100);\n\n                console.log('Leaflet: Map initialized with ' + projects.length + ' projects');\n            }\n\n            function waitForLeaflet() {\n                if (typeof L !== 'undefined') {\n                    initLeafletMap();\n                } else {\n                    setTimeout(waitForLeaflet, 100);\n                }\n            }\n\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', waitForLeaflet);\n            } else {\n                waitForLeaflet();\n            }\n\n            jQuery(window).on('elementor\/frontend\/init', function () {\n                setTimeout(waitForLeaflet, 200);\n            });\n        })();\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PROJECTS THAT LEAVE A MARK Our projects represent a systematic and transparent approach to restoring forest areas across Serbia and the region. Each location is carefully selected in collaboration with public institutions, forestry companies, and local communities\u2014with clear objectives, a defined methodology, and measurable results.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2253","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/pages\/2253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/comments?post=2253"}],"version-history":[{"count":1,"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/pages\/2253\/revisions"}],"predecessor-version":[{"id":2254,"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/pages\/2253\/revisions\/2254"}],"wp:attachment":[{"href":"https:\/\/o2.org.rs\/en\/wp-json\/wp\/v2\/media?parent=2253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}