{"id":1680,"date":"2025-01-22T10:13:19","date_gmt":"2025-01-22T09:13:19","guid":{"rendered":"https:\/\/wildlife.global\/?page_id=1680"},"modified":"2026-09-14T12:00:19","modified_gmt":"2026-09-14T10:00:19","slug":"projects","status":"publish","type":"page","link":"https:\/\/wildlife.global\/es\/projects\/","title":{"rendered":"Proyectos"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1680\" class=\"elementor elementor-1680\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1fe8910 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"1fe8910\" 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-35d33e5 elementor-widget elementor-widget-heading\" data-id=\"35d33e5\" 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<h1 class=\"elementor-heading-title elementor-size-default\">Projects<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a9e366 elementor-widget elementor-widget-heading\" data-id=\"2a9e366\" 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\">Wildlife \u2219 Expeditions \u2219 conservation<\/h2>\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<div class=\"elementor-element elementor-element-3fd0787 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"3fd0787\" 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-ddeb530 elementor-widget elementor-widget-html\" data-id=\"ddeb530\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================\n     WILDLIFE MAP\n     OpenFreeMap + MapLibre\n     Kein API-Key notwendig\n========================================= -->\n\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/maplibre-gl@5\/dist\/maplibre-gl.css\" \/>\n\n\n<div class=\"wildlife-map-wrapper\">\n\n    <!-- Vollbild Button -->\n    <button class=\"map-fullscreen-btn\" type=\"button\" aria-label=\"Vollbild umschalten\" title=\"Vollbild\">\n        <svg class=\"icon-expand\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n            <path d=\"M3 3h6v2H5v4H3V3zm18 0h-6v2h4v4h2V3zM3 21h6v-2H5v-4H3v6zm18 0h-6v-2h4v-4h2v6z\" \/>\n        <\/svg>\n\n        <svg class=\"icon-compress\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" style=\"display:none;\">\n            <path d=\"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z\" \/>\n        <\/svg>\n    <\/button>\n\n\n    <!--\n        Eigener Clip-Container.\n\n        Wichtig:\n        Die MapLibre Canvas wird hier zuverl\u00e4ssig\n        auf die runden Ecken beschnitten.\n    -->\n    <div class=\"wildlife-map-clip\">\n        <div id=\"wildlife-map\"><\/div>\n    <\/div>\n\n\n    <!--\n        Globaler Tooltip.\n\n        Der Tooltip befindet sich absichtlich\n        AUSSERHALB der MapLibre Canvas.\n\n        Dadurch:\n        - kein Springen\n        - immer gleicher Abstand\n        - keine MapLibre Popup-Automatik\n    -->\n    <div id=\"wildlife-map-tooltip\" class=\"wildlife-map-tooltip\" role=\"tooltip\" aria-hidden=\"true\"><\/div>\n\n<\/div>\n\n\n<style>\n    \/* =========================================\n   WRAPPER\n========================================= *\/\n\n    .wildlife-map-wrapper {\n        position: relative;\n\n        width: 100%;\n\n        padding: 0;\n\n        background: transparent;\n\n        \/*\n     * Tooltip darf au\u00dferhalb der eigentlichen\n     * Kartenfl\u00e4che sichtbar sein.\n     *\/\n        overflow: visible;\n    }\n\n\n    \/* =========================================\n   MAP CLIPPING\n========================================= *\/\n\n    .wildlife-map-clip {\n        position: relative;\n\n        width: 100%;\n        height: 500px;\n        max-height: 70vh;\n\n        border-radius: 10px;\n\n        overflow: hidden !important;\n\n        clip-path: inset(0 round 10px);\n\n        background: #101214;\n\n        border:\n            1px solid rgba(255, 255, 255, 0.1);\n\n        box-shadow:\n            0 10px 20px rgba(0, 0, 0, 0.5);\n    }\n\n\n    \/* =========================================\n   MAP\n========================================= *\/\n\n    #wildlife-map {\n        position: relative;\n\n        width: 100%;\n        height: 100%;\n\n        background: #101214;\n    }\n\n\n    \/*\n * MapLibre selbst ebenfalls beschneiden.\n *\/\n\n    #wildlife-map.maplibregl-map {\n        border-radius: 10px;\n    }\n\n\n    #wildlife-map .maplibregl-canvas-container {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n\n        border-radius: 10px;\n\n        overflow: hidden;\n    }\n\n\n    #wildlife-map .maplibregl-canvas {\n        border-radius: 10px;\n    }\n\n    #wildlife-map .maplibregl-marker {\n        z-index: 10;\n    }\n\n    \/* =========================================\n   MOBILE\n========================================= *\/\n\n    @media (max-width: 768px) {\n\n        .wildlife-map-wrapper {\n            padding-left: 15px;\n            padding-right: 15px;\n        }\n\n\n        .wildlife-map-clip {\n            height: 450px;\n\n            max-height: 70vh;\n        }\n\n    }\n\n\n    \/* =========================================\n   FULLSCREEN\n========================================= *\/\n\n    .wildlife-map-wrapper.is-fullscreen {\n        position: fixed !important;\n\n        inset: 0 !important;\n\n        width: 100vw !important;\n\n        height: 100vh !important;\n        height: 100dvh !important;\n\n        margin: 0 !important;\n\n        padding: 0 !important;\n\n        z-index: 999999 !important;\n\n        background: #000;\n    }\n\n\n    .wildlife-map-wrapper.is-fullscreen .wildlife-map-clip {\n        width: 100%;\n\n        height: 100vh;\n        height: 100dvh;\n\n        max-height: none;\n\n        border-radius: 0;\n\n        border: none;\n\n        clip-path: inset(0 round 0);\n\n        box-shadow: none;\n    }\n\n\n    .wildlife-map-wrapper.is-fullscreen #wildlife-map,\n    .wildlife-map-wrapper.is-fullscreen #wildlife-map.maplibregl-map,\n    .wildlife-map-wrapper.is-fullscreen #wildlife-map .maplibregl-canvas-container,\n    .wildlife-map-wrapper.is-fullscreen #wildlife-map .maplibregl-canvas {\n        border-radius: 0;\n    }\n\n\n    \/* =========================================\n   FULLSCREEN BUTTON\n========================================= *\/\n\n    .map-fullscreen-btn {\n        position: absolute;\n\n        top: 35px;\n        right: 15px;\n\n        z-index: 1000;\n\n        width: 50px;\n        height: 50px;\n\n        padding: 0;\n\n        display: flex;\n        align-items: center;\n        justify-content: center;\n\n        background: transparent !important;\n\n        border: none !important;\n        outline: none !important;\n\n        color: #fff !important;\n\n        cursor: pointer;\n\n        filter:\n            drop-shadow(0 2px 4px rgba(0, 0, 0, 0.85));\n\n        transition:\n            transform 0.2s ease;\n\n        -webkit-tap-highlight-color: transparent;\n    }\n\n\n    .map-fullscreen-btn:hover {\n        transform: scale(1.15);\n    }\n\n\n    .map-fullscreen-btn svg {\n        display: block;\n\n        width: 36px !important;\n        height: 36px !important;\n\n        pointer-events: none;\n    }\n\n\n    .wildlife-map-wrapper.is-fullscreen .map-fullscreen-btn {\n        top: 20px;\n        right: 20px;\n    }\n\n\n    \/* =========================================\n   MARKER\n========================================= *\/\n\n    \/* =========================================\n   MARKER\n========================================= *\/\n\n    .wildlife-marker {\n        position: absolute;\n\n        display: block;\n\n        width: 14px;\n        height: 14px;\n\n        margin: 0;\n        padding: 0;\n\n        box-sizing: border-box;\n\n        background: #10b981;\n\n        border-radius: 50%;\n\n        cursor: pointer;\n\n        box-shadow:\n            0 0 6px rgba(16, 185, 129, 0.95);\n\n        \/*\n     * KEIN transform hier setzen.\n     *\n     * MapLibre verwendet transform selbst,\n     * um die Marker zu positionieren.\n     *\/\n    }\n\n\n    \/* Puls *\/\n    .wildlife-marker::after {\n        content: \"\";\n\n        position: absolute;\n\n        top: 50%;\n        left: 50%;\n\n        width: 14px;\n        height: 14px;\n\n        background:\n            rgba(16, 185, 129, 0.6);\n\n        border-radius: 50%;\n\n        transform:\n            translate(-50%, -50%) scale(1);\n\n        animation:\n            wildlife-pulse 2s infinite ease-out;\n\n        pointer-events: none;\n    }\n\n\n    @keyframes wildlife-pulse {\n\n        0% {\n            transform:\n                translate(-50%, -50%) scale(1);\n\n            opacity: 1;\n        }\n\n        100% {\n            transform:\n                translate(-50%, -50%) scale(3.5);\n\n            opacity: 0;\n        }\n\n    }\n\n\n    \/* =========================================\n   PULSE\n========================================= *\/\n\n    .wildlife-marker::after {\n        content: \"\";\n\n        position: absolute;\n\n        top: 50%;\n        left: 50%;\n\n        width: 14px;\n        height: 14px;\n\n        background:\n            rgba(16, 185, 129, 0.6);\n\n        border-radius: 50%;\n\n        transform:\n            translate(-50%, -50%) scale(1);\n\n        animation:\n            wildlife-pulse 2s infinite ease-out;\n\n        pointer-events: none;\n    }\n\n\n    @keyframes wildlife-pulse {\n\n        0% {\n            transform:\n                translate(-50%, -50%) scale(1);\n\n            opacity: 1;\n        }\n\n\n        100% {\n            transform:\n                translate(-50%, -50%) scale(3.5);\n\n            opacity: 0;\n        }\n\n    }\n\n\n    \/* =========================================\n   TOOLTIP\n========================================= *\/\n\n    .wildlife-map-tooltip {\n        position: absolute;\n\n        \/*\n     * Die genaue Position wird per JS gesetzt.\n     *\/\n        top: 0;\n        left: 0;\n\n        width: 280px;\n        max-width: calc(100vw - 30px);\n\n        padding: 15px;\n\n        background:\n            rgba(24, 25, 27, 0.98);\n\n        color: #f1f5f9;\n\n        border:\n            1px solid rgba(255, 255, 255, 0.1);\n\n        border-radius: 8px;\n\n        box-shadow:\n            0 5px 15px rgba(0, 0, 0, 0.6);\n\n        font-family:\n            \"Helvetica Neue\",\n            Arial,\n            sans-serif;\n\n        font-size: 14px;\n\n        line-height: 1.4;\n\n        white-space: normal;\n\n        z-index: 5000;\n\n        pointer-events: none;\n\n        opacity: 0;\n\n        visibility: hidden;\n\n        \/*\n     * Standard:\n     * Mittelpunkt auf Marker ausrichten,\n     * anschlie\u00dfend komplett nach oben.\n     *\/\n        transform:\n            translate(-50%, -100%);\n\n        transition:\n            opacity 0.12s ease;\n\n        box-sizing: border-box;\n    }\n\n\n    \/* Tooltip sichtbar *\/\n\n    .wildlife-map-tooltip.is-visible {\n        opacity: 1;\n\n        visibility: visible;\n    }\n\n\n    \/* Titel *\/\n\n    .wildlife-map-tooltip strong {\n        display: block;\n\n        margin-bottom: 6px;\n\n        color: #fff;\n\n        font-weight: 700;\n\n        text-transform: uppercase;\n\n        letter-spacing: 0.03em;\n    }\n\n\n    \/* =========================================\n   TOOLTIP PFEIL\n   Tooltip oberhalb des Markers\n========================================= *\/\n\n    .wildlife-map-tooltip::after {\n        content: \"\";\n\n        position: absolute;\n\n        left: 50%;\n        bottom: -7px;\n\n        transform:\n            translateX(-50%);\n\n        width: 0;\n        height: 0;\n\n        border-left:\n            7px solid transparent;\n\n        border-right:\n            7px solid transparent;\n\n        border-top:\n            7px solid rgba(24, 25, 27, 0.98);\n    }\n\n\n    \/* =========================================\n   TOOLTIP UNTER MARKER\n   Nur wenn oben absolut kein Platz ist\n========================================= *\/\n\n    .wildlife-map-tooltip.tooltip-below {\n        transform:\n            translate(-50%, 0);\n    }\n\n\n    .wildlife-map-tooltip.tooltip-below::after {\n        top: -7px;\n        bottom: auto;\n\n        border-top: none;\n\n        border-bottom:\n            7px solid rgba(24, 25, 27, 0.98);\n    }\n\n\n    \/* =========================================\n   MAP CONTROLS\n========================================= *\/\n\n    .wildlife-map-wrapper .maplibregl-ctrl-group {\n        background:\n            rgba(24, 25, 27, 0.96);\n\n        border-radius: 6px;\n\n        overflow: hidden;\n\n        box-shadow:\n            0 2px 8px rgba(0, 0, 0, 0.45);\n    }\n\n\n    .wildlife-map-wrapper .maplibregl-ctrl-group button {\n        background-color:\n            rgba(24, 25, 27, 0.96);\n    }\n\n\n    .wildlife-map-wrapper .maplibregl-ctrl-group button:hover {\n        background-color:\n            rgba(45, 47, 51, 1);\n    }\n\n\n    .wildlife-map-wrapper .maplibregl-ctrl-group button .maplibregl-ctrl-icon {\n        filter: invert(1);\n    }\n\n\n    \/* =========================================\n   ATTRIBUTION\n========================================= *\/\n\n    .wildlife-map-wrapper .maplibregl-ctrl-attrib {\n        background:\n            rgba(0, 0, 0, 0.68);\n\n        color:\n            rgba(255, 255, 255, 0.7);\n    }\n\n\n    .wildlife-map-wrapper .maplibregl-ctrl-attrib a {\n        color:\n            rgba(255, 255, 255, 0.9);\n    }\n\n\n    \/* =========================================\n   MOBILE TOOLTIP\n========================================= *\/\n\n    @media (max-width: 768px) {\n\n        .map-fullscreen-btn {\n            top: 25px;\n            right: 25px;\n\n            width: 44px;\n            height: 44px;\n        }\n\n\n        .map-fullscreen-btn svg {\n            width: 32px !important;\n            height: 32px !important;\n        }\n\n\n        .wildlife-map-tooltip {\n            width: 230px;\n\n            padding: 12px;\n\n            font-size: 13px;\n        }\n\n    }\n\n\n    \/* =========================================\n   REDUCED MOTION\n========================================= *\/\n\n    @media (prefers-reduced-motion: reduce) {\n\n        .wildlife-marker::after {\n            animation: none;\n\n            opacity: 0.3;\n        }\n\n\n        .map-fullscreen-btn {\n            transition: none;\n        }\n\n\n        .wildlife-map-tooltip {\n            transition: none;\n        }\n\n    }\n<\/style>\n\n\n<!-- =========================================\n     MAPLIBRE\n========================================= -->\n\n<script src=\"https:\/\/unpkg.com\/maplibre-gl@5\/dist\/maplibre-gl.js\"><\/script>\n\n\n<script>\n    (function () {\n\n        \/* =========================================\n           ELEMENTE\n        ========================================= *\/\n\n        const mapElement =\n            document.getElementById(\n                \"wildlife-map\"\n            );\n\n\n        if (!mapElement) {\n            return;\n        }\n\n\n        \/*\n         * Doppelte Elementor Initialisierung verhindern.\n         *\/\n        if (\n            mapElement.dataset.initialized === \"true\"\n        ) {\n            return;\n        }\n\n\n        mapElement.dataset.initialized =\n            \"true\";\n\n\n        const wrapper =\n            mapElement.closest(\n                \".wildlife-map-wrapper\"\n            );\n\n\n        const mapClip =\n            wrapper.querySelector(\n                \".wildlife-map-clip\"\n            );\n\n\n        const tooltip =\n            wrapper.querySelector(\n                \"#wildlife-map-tooltip\"\n            );\n\n\n        \/* =========================================\n           MAP\n        ========================================= *\/\n\n        const map =\n            new maplibregl.Map({\n\n                container:\n                    \"wildlife-map\",\n\n                style:\n                    \"https:\/\/tiles.openfreemap.org\/styles\/dark\",\n\n                center:\n                    [0, 15],\n\n                zoom:\n                    2,\n\n                minZoom:\n                    2,\n\n                maxZoom:\n                    10,\n\n                maxBounds: [\n                    [-179, -85],\n                    [179, 85]\n                ],\n\n                attributionControl:\n                    false\n\n            });\n\n\n        \/*\n         * Scrollrad deaktivieren.\n         *\/\n        map.scrollZoom.disable();\n\n\n        \/*\n         * Kartenrotation deaktivieren.\n         *\/\n        map.dragRotate.disable();\n\n\n        map.touchZoomRotate.disableRotation();\n\n\n        \/* =========================================\n           NAVIGATION\n        ========================================= *\/\n\n        map.addControl(\n\n            new maplibregl.NavigationControl({\n\n                showCompass:\n                    false,\n\n                showZoom:\n                    true\n\n            }),\n\n            \"top-left\"\n\n        );\n\n\n        \/* =========================================\n           ATTRIBUTION\n        ========================================= *\/\n\n        map.addControl(\n\n            new maplibregl.AttributionControl({\n\n                compact:\n                    true,\n\n                customAttribution:\n                    \"OpenFreeMap | \u00a9 OpenStreetMap contributors\"\n\n            }),\n\n            \"bottom-right\"\n\n        );\n\n\n        \/* =========================================\n           LOCATIONS\n        ========================================= *\/\n\n        const points = [\n\n            {\n                lat: -0.968,\n                lon: -77.679,\n                title: \"Yachana-Foundation\",\n                info:\n                    \"Yachana Foundation is a NGO from Ecuador...\"\n            },\n\n            {\n                lat: -16.290154,\n                lon: -63.588653,\n                title: \"Bolivia\",\n                info:\n                    \"Bolivia is well known for its wildness...\"\n            },\n\n            {\n                lat: -1.831239,\n                lon: -78.183406,\n                title: \"Ecuador\",\n                info:\n                    \"10 weeks capturing wildlife.\"\n            },\n\n            {\n                lat: -0.9531,\n                lon: -90.9656,\n                title: \"Galapagos\",\n                info:\n                    \"Historic background of evolution.\"\n            },\n\n            {\n                lat: 46.1512,\n                lon: 14.9955,\n                title: \"Slovenia\",\n                info:\n                    \"Beautiful wilderness of Eastern Europe.\"\n            },\n\n            {\n                lat: 11.4293,\n                lon: 79.2644,\n                title: \"Sadhana-Forest\",\n                info:\n                    \"Part of the community in India.\"\n            },\n\n            {\n                lat: 51.1657,\n                lon: 10.4515,\n                title: \"Germany\",\n                info:\n                    \"Native wildlife and nature.\"\n            },\n\n            {\n                lat: 20.5937,\n                lon: 78.9629,\n                title: \"India\",\n                info:\n                    \"Three-month volunteering journey.\"\n            },\n\n            {\n                lat: 48.2064,\n                lon: 11.5744,\n                title: \"Alpine-Ecosystems\",\n                info:\n                    \"Analyzing alpine ecosystems.\"\n            },\n\n            {\n                lat: -8.3405,\n                lon: 115.0919,\n                title: \"Bali-Project\",\n                info:\n                    \"Jungles and stunning landscapes.\"\n            },\n\n            {\n                lat: -24.7535,\n                lon: 30.9562,\n                title: \"Wild-Cats-World\",\n                info:\n                    \"Big cat sanctuary in South Africa.\"\n            },\n\n            {\n                lat: 9.7489,\n                lon: -83.7534,\n                title: \"Costa-Rica\",\n                info:\n                    \"Exploring the rich biodiversity of Central America.\"\n            },\n\n            {\n                lat: -14.2350,\n                lon: -51.9253,\n                title: \"Brazil\",\n                info:\n                    \"Capturing the vibrant ecosystems of South America.\"\n            },\n\n            {\n                lat: 1.3733,\n                lon: 32.2903,\n                title: \"Uganda\",\n                info:\n                    \"Documenting the unique wildlife and landscapes.\"\n            },\n\n            {\n                lat: 31.7917,\n                lon: -7.0926,\n                title: \"Morocco\",\n                info:\n                    \"Discovering the diverse nature of North Africa.\"\n            },\n\n            {\n                lat: 8.5380,\n                lon: -80.7821,\n                title: \"Panama-Harpy-Eagle\",\n                info:\n                    \"Focusing on the majestic Harpy Eagle in its natural habitat.\"\n            },\n\n            {\n                lat: 4.5709,\n                lon: -74.2973,\n                title: \"Colombia\",\n                info:\n                    \"Exploring the incredible flora and fauna.\"\n            },\n\n            {\n                lat: 37.1745,\n                lon: -6.6342,\n                title: \"Spain-Iberian-Lynx\",\n                info:\n                    \"Conservation project focusing on the rare Iberian Lynx.\"\n            },\n\n            {\n                lat: 30,\n                lon: 105,\n                title:\n                    \"China-fstop-Partner-Project\",\n                info:\n                    \"Special collaboration and custom backpack project.\"\n            }\n\n        ];\n\n\n        \/* =========================================\n           BOUNDS\n        ========================================= *\/\n\n        const bounds =\n            new maplibregl.LngLatBounds();\n\n\n        let hasFittedBounds =\n            false;\n\n\n        function fitMapToPoints(force = false) {\n\n            if (\n            (hasFittedBounds && !force) ||\n                !map.loaded() ||\n                mapClip.clientWidth === 0 ||\n                mapClip.clientHeight === 0\n            ) {\n                return;\n            }\n\n\n            map.resize();\n\n\n            map.fitBounds(\n                bounds,\n                {\n\n                    padding:\n                        120,\n\n                    maxZoom:\n                        4,\n\n                    duration:\n                        0\n\n                }\n            );\n\n\n            hasFittedBounds =\n                true;\n\n        }\n\n\n        \/* =========================================\n           TOOLTIP STATE\n        ========================================= *\/\n\n        let activeMarkerElement =\n            null;\n\n\n        let activePoint =\n            null;\n\n\n        const TOOLTIP_GAP =\n            18;\n\n\n        \/* =========================================\n           TOOLTIP POSITIONIEREN\n        ========================================= *\/\n\n        function positionTooltip() {\n\n            if (\n                !activeMarkerElement ||\n                !activePoint ||\n                !tooltip.classList.contains(\n                    \"is-visible\"\n                )\n            ) {\n                return;\n            }\n\n\n            const markerRect =\n                activeMarkerElement\n                    .getBoundingClientRect();\n\n\n            const wrapperRect =\n                wrapper\n                    .getBoundingClientRect();\n\n\n            const clipRect =\n                mapClip\n                    .getBoundingClientRect();\n\n\n            \/*\n             * Horizontaler Mittelpunkt des Markers.\n             *\/\n            let x =\n                markerRect.left +\n                markerRect.width \/ 2 -\n                wrapperRect.left;\n\n\n            \/*\n             * Oberkante des Markers.\n             *\/\n            const markerTop =\n                markerRect.top -\n                wrapperRect.top;\n\n\n            \/*\n             * Tooltip kurz sichtbar machen,\n             * damit die tats\u00e4chliche Breite und H\u00f6he\n             * ausgelesen werden k\u00f6nnen.\n             *\/\n            const tooltipRect =\n                tooltip\n                    .getBoundingClientRect();\n\n\n            const tooltipWidth =\n                tooltipRect.width;\n\n\n            const tooltipHeight =\n                tooltipRect.height;\n\n\n            \/*\n             * Kartenbegrenzungen relativ zum Wrapper.\n             *\/\n            const clipLeft =\n                clipRect.left -\n                wrapperRect.left;\n\n\n            const clipRight =\n                clipRect.right -\n                wrapperRect.left;\n\n\n            \/*\n             * Tooltip horizontal in der Karte halten.\n             *\n             * Dadurch bleibt der Pfeil zwar nicht immer\n             * mathematisch exakt in der Mitte des Markers,\n             * aber der Tooltip l\u00e4uft nicht aus der Karte.\n             *\/\n            const halfWidth =\n                tooltipWidth \/ 2;\n\n\n            const horizontalPadding =\n                8;\n\n\n            const minX =\n                clipLeft +\n                halfWidth +\n                horizontalPadding;\n\n\n            const maxX =\n                clipRight -\n                halfWidth -\n                horizontalPadding;\n\n\n            if (minX <= maxX) {\n\n                x =\n                    Math.max(\n                        minX,\n                        Math.min(\n                            maxX,\n                            x\n                        )\n                    );\n\n            }\n\n\n            \/*\n             * Pr\u00fcfen, ob oberhalb des Markers\n             * gen\u00fcgend Platz im Browserfenster ist.\n             *\n             * Normalerweise erscheint der Tooltip\n             * immer oberhalb.\n             *\/\n            const availableAbove =\n                markerRect.top;\n\n\n            if (\n                availableAbove >\n                tooltipHeight +\n                TOOLTIP_GAP +\n                8\n            ) {\n\n                \/*\n                 * Tooltip oberhalb.\n                 *\n                 * Abstand zwischen Tooltip und Marker:\n                 * immer exakt TOOLTIP_GAP.\n                 *\/\n                tooltip.classList.remove(\n                    \"tooltip-below\"\n                );\n\n\n                tooltip.style.left =\n                    x + \"px\";\n\n\n                tooltip.style.top =\n                    (\n                        markerTop -\n                        TOOLTIP_GAP\n                    ) +\n                    \"px\";\n\n            } else {\n\n                \/*\n                 * Nur wenn oben wirklich kein Platz ist,\n                 * erscheint der Tooltip unterhalb.\n                 *\n                 * Auch hier exakt derselbe Abstand.\n                 *\/\n                tooltip.classList.add(\n                    \"tooltip-below\"\n                );\n\n\n                tooltip.style.left =\n                    x + \"px\";\n\n\n                tooltip.style.top =\n                    (\n                        markerTop +\n                        markerRect.height +\n                        TOOLTIP_GAP\n                    ) +\n                    \"px\";\n\n            }\n\n        }\n\n\n        \/* =========================================\n           TOOLTIP ANZEIGEN\n        ========================================= *\/\n\n        function showTooltip(\n            markerElement,\n            point\n        ) {\n\n            activeMarkerElement =\n                markerElement;\n\n\n            activePoint =\n                point;\n\n\n            tooltip.innerHTML =\n                \"<strong>\" +\n                escapeHtml(\n                    point.title.replace(\n                        \/-\/g,\n                        \" \"\n                    )\n                ) +\n                \"<\/strong>\" +\n                escapeHtml(\n                    point.info\n                );\n\n\n            tooltip.classList.add(\n                \"is-visible\"\n            );\n\n\n            tooltip.setAttribute(\n                \"aria-hidden\",\n                \"false\"\n            );\n\n\n            \/*\n             * Erst nach dem Rendern positionieren,\n             * damit Tooltip-Gr\u00f6\u00dfe bekannt ist.\n             *\/\n            requestAnimationFrame(\n                positionTooltip\n            );\n\n        }\n\n\n        \/* =========================================\n           TOOLTIP AUSBLENDEN\n        ========================================= *\/\n\n        function hideTooltip() {\n\n            tooltip.classList.remove(\n                \"is-visible\"\n            );\n\n\n            tooltip.classList.remove(\n                \"tooltip-below\"\n            );\n\n\n            tooltip.setAttribute(\n                \"aria-hidden\",\n                \"true\"\n            );\n\n\n            activeMarkerElement =\n                null;\n\n\n            activePoint =\n                null;\n\n        }\n\n\n        \/* =========================================\n           MARKER\n        ========================================= *\/\n\n        points.forEach(\n            function (point) {\n\n                bounds.extend(\n                    [\n                        point.lon,\n                        point.lat\n                    ]\n                );\n\n\n                \/*\n                 * Marker HTML Element.\n                 *\/\n                const markerElement =\n                    document.createElement(\n                        \"div\"\n                    );\n\n\n                markerElement.className =\n                    \"wildlife-marker\";\n\n\n                markerElement.setAttribute(\n                    \"role\",\n                    \"button\"\n                );\n\n\n                markerElement.setAttribute(\n                    \"aria-label\",\n                    point.title.replace(\n                        \/-\/g,\n                        \" \"\n                    )\n                );\n\n\n                markerElement.tabIndex =\n                    0;\n\n\n                \/*\n                 * Marker erstellen.\n                 *\/\n                new maplibregl.Marker({\n\n                    element:\n                        markerElement,\n\n                    anchor:\n                        \"center\",\n\n                    offset:\n                        [0, 0]\n\n                })\n                    .setLngLat(\n                        [\n                            point.lon,\n                            point.lat\n                        ]\n                    )\n                    .addTo(\n                        map\n                    );\n\n\n                \/* =====================================\n                   DESKTOP HOVER\n                ===================================== *\/\n\n                markerElement.addEventListener(\n                    \"mouseenter\",\n                    function () {\n\n                        showTooltip(\n                            markerElement,\n                            point\n                        );\n\n                    }\n                );\n\n\n                markerElement.addEventListener(\n                    \"mouseleave\",\n                    function () {\n\n                        hideTooltip();\n\n                    }\n                );\n\n\n                \/* =====================================\n                   KEYBOARD\n                ===================================== *\/\n\n                markerElement.addEventListener(\n                    \"focus\",\n                    function () {\n\n                        showTooltip(\n                            markerElement,\n                            point\n                        );\n\n                    }\n                );\n\n\n                markerElement.addEventListener(\n                    \"blur\",\n                    function () {\n\n                        hideTooltip();\n\n                    }\n                );\n\n\n                \/* =====================================\n                   PROJEKT URL\n                ===================================== *\/\n\n                function openProject() {\n\n                    const url =\n                        \"https:\/\/wildlife.global\/\" +\n                        encodeURIComponent(\n                            point.title\n                        );\n\n\n                    window.open(\n                        url,\n                        \"_blank\",\n                        \"noopener,noreferrer\"\n                    );\n\n                }\n\n\n                markerElement.addEventListener(\n                    \"click\",\n                    openProject\n                );\n\n\n                markerElement.addEventListener(\n                    \"keydown\",\n                    function (event) {\n\n                        if (\n                            event.key === \"Enter\" ||\n                            event.key === \" \"\n                        ) {\n\n                            event.preventDefault();\n\n                            openProject();\n\n                        }\n\n                    }\n                );\n\n            }\n        );\n\n\n        \/* =========================================\n           TOOLTIP BEI KARTENBEWEGUNG\n        ========================================= *\/\n\n        \/*\n         * Wenn Karte gezoomt oder verschoben wird,\n         * bleibt der Tooltip exakt am Marker.\n         *\/\n        map.on(\n            \"render\",\n            function () {\n\n                if (\n                    activeMarkerElement\n                ) {\n\n                    positionTooltip();\n\n                }\n\n            }\n        );\n\n\n        map.on(\n            \"dragstart\",\n            hideTooltip\n        );\n\n\n        map.on(\n            \"zoomstart\",\n            hideTooltip\n        );\n\n\n        map.on(\n            \"zoomend\",\n            function () {\n\n                requestAnimationFrame(\n                    function () {\n\n                        map.resize();\n                        map.triggerRepaint();\n\n                    }\n                );\n\n            }\n        );\n\n\n        \/* =========================================\n           LABELS AUSBLENDEN\n        ========================================= *\/\n\n        function hideMapLabels() {\n\n            const style =\n                map.getStyle();\n\n\n            if (\n                !style ||\n                !style.layers\n            ) {\n                return;\n            }\n\n\n            style.layers.forEach(\n                function (layer) {\n\n                    \/*\n                     * Symbol Layer enthalten normalerweise:\n                     *\n                     * St\u00e4dtenamen\n                     * L\u00e4ndernamen\n                     * Stra\u00dfennamen\n                     * POIs\n                     * Icons\n                     *\/\n                    if (\n                        layer.type ===\n                        \"symbol\"\n                    ) {\n\n                        try {\n\n                            map.setLayoutProperty(\n                                layer.id,\n                                \"visibility\",\n                                \"none\"\n                            );\n\n                        } catch (error) {\n\n                        }\n\n                    }\n\n                }\n            );\n\n        }\n\n\n        map.on(\n            \"style.load\",\n            hideMapLabels\n        );\n\n\n        \/* =========================================\n           MAP LOAD\n        ========================================= *\/\n\n        map.on(\n            \"load\",\n            function () {\n\n                hideMapLabels();\n\n\n                requestAnimationFrame(\n                    function () {\n\n                        map.resize();\n                        fitMapToPoints(true);\n\n                    }\n                );\n\n            }\n        );\n\n\n        \/*\n         * Elementor kann die Kartenh\u00f6he nach der Initialisierung \u00e4ndern.\n         * MapLibre muss dann neu messen, damit Projektion und Markerposition\n         * dieselben Containerkoordinaten verwenden.\n         *\/\n        if (window.ResizeObserver) {\n\n            const mapResizeObserver =\n                new ResizeObserver(\n                    function () {\n\n                        map.resize();\n\n                        fitMapToPoints(true);\n\n                    }\n                );\n\n\n            mapResizeObserver.observe(mapClip);\n\n        }\n\n\n        \/* =========================================\n           DEBUGGING\n        ========================================= *\/\n\n        map.on(\n            \"error\",\n            function (event) {\n\n                console.error(\n                    \"Wildlife MapLibre Fehler:\",\n                    event.error ||\n                    event\n                );\n\n            }\n        );\n\n\n        \/* =========================================\n           ELEMENTOR RESIZE\n        ========================================= *\/\n\n        setTimeout(\n            function () {\n\n                map.resize();\n                fitMapToPoints(true);\n\n            },\n            300\n        );\n\n\n        setTimeout(\n            function () {\n\n                map.resize();\n                fitMapToPoints(true);\n\n            },\n            1000\n        );\n\n\n        \/* =========================================\n           FULLSCREEN\n        ========================================= *\/\n\n        const fullscreenBtn =\n            wrapper.querySelector(\n                \".map-fullscreen-btn\"\n            );\n\n\n        const iconExpand =\n            wrapper.querySelector(\n                \".icon-expand\"\n            );\n\n\n        const iconCompress =\n            wrapper.querySelector(\n                \".icon-compress\"\n            );\n\n\n        function enableFullscreen() {\n\n            hideTooltip();\n\n\n            wrapper.classList.add(\n                \"is-fullscreen\"\n            );\n\n\n            iconExpand.style.display =\n                \"none\";\n\n\n            iconCompress.style.display =\n                \"block\";\n\n\n            document.body.style.overflow =\n                \"hidden\";\n\n\n            fullscreenBtn.setAttribute(\n                \"aria-label\",\n                \"Vollbild schlie\u00dfen\"\n            );\n\n\n            fullscreenBtn.setAttribute(\n                \"title\",\n                \"Vollbild schlie\u00dfen\"\n            );\n\n\n            requestAnimationFrame(\n                function () {\n\n                    map.resize();\n\n                }\n            );\n\n\n            setTimeout(\n                function () {\n\n                    map.resize();\n\n                    fitMapToPoints(true);\n\n                },\n                300\n            );\n\n        }\n\n\n        function disableFullscreen() {\n\n            hideTooltip();\n\n\n            wrapper.classList.remove(\n                \"is-fullscreen\"\n            );\n\n\n            iconExpand.style.display =\n                \"block\";\n\n\n            iconCompress.style.display =\n                \"none\";\n\n\n            document.body.style.overflow =\n                \"\";\n\n\n            fullscreenBtn.setAttribute(\n                \"aria-label\",\n                \"Vollbild umschalten\"\n            );\n\n\n            fullscreenBtn.setAttribute(\n                \"title\",\n                \"Vollbild\"\n            );\n\n\n            requestAnimationFrame(\n                function () {\n\n                    map.resize();\n\n                }\n            );\n\n\n            setTimeout(\n                function () {\n\n                    map.resize();\n\n                    fitMapToPoints(true);\n\n                },\n                300\n            );\n\n        }\n\n\n        fullscreenBtn.addEventListener(\n            \"click\",\n            function () {\n\n                if (\n                    wrapper.classList.contains(\n                        \"is-fullscreen\"\n                    )\n                ) {\n\n                    disableFullscreen();\n\n                } else {\n\n                    enableFullscreen();\n\n                }\n\n            }\n        );\n\n\n        \/* =========================================\n           ESC SCHLIESST FULLSCREEN\n        ========================================= *\/\n\n        document.addEventListener(\n            \"keydown\",\n            function (event) {\n\n                if (\n                    event.key === \"Escape\" &&\n                    wrapper.classList.contains(\n                        \"is-fullscreen\"\n                    )\n                ) {\n\n                    disableFullscreen();\n\n                }\n\n            }\n        );\n\n\n        \/* =========================================\n           WINDOW RESIZE\n        ========================================= *\/\n\n        let resizeTimer;\n\n\n        window.addEventListener(\n            \"resize\",\n            function () {\n\n                clearTimeout(\n                    resizeTimer\n                );\n\n\n                hideTooltip();\n\n\n                resizeTimer =\n                    setTimeout(\n                        function () {\n\n                            map.resize();\n\n                        },\n                        150\n                    );\n\n            }\n        );\n\n\n        \/* =========================================\n           HTML ESCAPING\n        ========================================= *\/\n\n        function escapeHtml(value) {\n\n            return String(value)\n\n                .replace(\n                    \/&\/g,\n                    \"&amp;\"\n                )\n\n                .replace(\n                    \/<\/g,\n                    \"&lt;\"\n                )\n\n                .replace(\n                    \/>\/g,\n                    \"&gt;\"\n                )\n\n                .replace(\n                    \/\"\/g,\n                    \"&quot;\"\n                )\n\n                .replace(\n                    \/'\/g,\n                    \"&#039;\"\n                );\n\n        }\n\n    })();\n<\/script>\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<div class=\"elementor-element elementor-element-41a4af1 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"41a4af1\" 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-3f5bac7 elementor-widget elementor-widget-heading\" data-id=\"3f5bac7\" 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\">Featured Projects<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f376d07 elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-card-shadow-yes elementor-posts__hover-gradient load-more-align-center elementor-widget elementor-widget-posts\" data-id=\"f376d07\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;pagination_type&quot;:&quot;load_more_on_click&quot;,&quot;cards_columns&quot;:&quot;3&quot;,&quot;cards_columns_tablet&quot;:&quot;2&quot;,&quot;cards_columns_mobile&quot;:&quot;1&quot;,&quot;cards_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:35,&quot;sizes&quot;:[]},&quot;cards_row_gap_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;cards_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;cards_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;load_more_spinner&quot;:{&quot;value&quot;:&quot;fas fa-spinner&quot;,&quot;library&quot;:&quot;fa-solid&quot;}}\" data-widget_type=\"posts.cards\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-cards elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-6166 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-ai tag-extinct-animals\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/phoenix-ai\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/07\/Firefly-Sasan-Amir-ii-768x1024.jpg\" class=\"attachment-large size-large wp-image-6168\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/07\/Firefly-Sasan-Amir-ii-768x1024.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/07\/Firefly-Sasan-Amir-ii-225x300.jpg 225w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/07\/Firefly-Sasan-Amir-ii-600x800.jpg 600w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/07\/Firefly-Sasan-Amir-ii.jpg 1086w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/phoenix-ai\/\" target=&quot;_blank&quot;>\n\t\t\t\tExtinct Animals Reimagined with Phoenix AI\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>With Phoenix AI, wildlife photographer Sasan Amir combines research, visual storytelling and generative technology to create emotional encounters with animals we can no longer photograph.<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/phoenix-ai\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Extinct Animals Reimagined with Phoenix AI\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-5444 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-brazil\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/brazil\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"960\" height=\"600\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1207247-1024x640.jpg\" class=\"attachment-large size-large wp-image-5449\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1207247-1024x640.jpg 1024w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1207247-300x188.jpg 300w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1207247-768x480.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1207247-1536x960.jpg 1536w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1207247-2048x1280.jpg 2048w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1207247-600x375.jpg 600w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/brazil\/\" target=&quot;_blank&quot;>\n\t\t\t\tBrazil\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Pantanal \u2013 Land of the Jaguar The Pantanal is one of the most extraordinary wildlife<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/brazil\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Brazil\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-5422 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-alok tag-germany\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/germany-alok\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"960\" height=\"720\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DJI_0248-1024x768.jpg\" class=\"attachment-large size-large wp-image-5433\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DJI_0248-1024x768.jpg 1024w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DJI_0248-300x225.jpg 300w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DJI_0248-768x576.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DJI_0248-1536x1152.jpg 1536w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DJI_0248-2048x1536.jpg 2048w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DJI_0248-600x450.jpg 600w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/germany-alok\/\" target=&quot;_blank&quot;>\n\t\t\t\tGermany Al\u00f6k\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Exploring Alpine Ecosystems | Germany My passion for wildlife, conservation and environmental protection was shaped<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/germany-alok\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Germany Al\u00f6k\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-5399 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-lynxes tag-spain\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/spain-lynxes\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DSC03996-1024x683.jpg\" class=\"attachment-large size-large wp-image-5411\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DSC03996-1024x683.jpg 1024w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DSC03996-300x200.jpg 300w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DSC03996-768x512.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DSC03996-1536x1024.jpg 1536w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DSC03996-2048x1366.jpg 2048w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/DSC03996-600x400.jpg 600w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/spain-lynxes\/\" target=&quot;_blank&quot;>\n\t\t\t\tSpain\/Lynxes\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>The Return of the Iberian Lynx \u2013 Spain Over the course of several weeks, I<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/spain-lynxes\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Spain\/Lynxes\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-5058 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-uganda\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/uganda\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"600\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1205871-Bearbeitet-1024x640.jpg\" class=\"attachment-large size-large wp-image-5069\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1205871-Bearbeitet-1024x640.jpg 1024w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1205871-Bearbeitet-300x188.jpg 300w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1205871-Bearbeitet-768x480.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1205871-Bearbeitet-1536x960.jpg 1536w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1205871-Bearbeitet-2048x1280.jpg 2048w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/06\/A1205871-Bearbeitet-600x375.jpg 600w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/uganda\/\" target=&quot;_blank&quot;>\n\t\t\t\tUganda\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Uganda is widely regarded as one of Africa&#8217;s most biodiverse countries and offers an extraordinary<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/uganda\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Uganda\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-3075 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-colombia\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/colombia\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"639\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/03\/A1103871-1024x682.jpg\" class=\"attachment-large size-large wp-image-4583\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/03\/A1103871-1024x682.jpg 1024w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/03\/A1103871-300x200.jpg 300w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/03\/A1103871-768x512.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/03\/A1103871-1536x1024.jpg 1536w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/03\/A1103871-2048x1365.jpg 2048w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/03\/A1103871-600x400.jpg 600w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/colombia\/\" target=&quot;_blank&quot;>\n\t\t\t\tColombia\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Colombia \u2014 The World&#8217;s Most Bird-Rich Country Colombia holds a record that no other country<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/colombia\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Colombia\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-3073 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-panama\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/panama-harpy-eagle\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"1024\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591-819x1024.jpg\" class=\"attachment-large size-large wp-image-4623\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591-819x1024.jpg 819w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591-240x300.jpg 240w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591-768x960.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591-1229x1536.jpg 1229w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591-1639x2048.jpg 1639w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591-600x750.jpg 600w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/SigmaXSasan-1201591.jpg 1994w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/panama-harpy-eagle\/\" target=&quot;_blank&quot;>\n\t\t\t\tPanama Harpy Eagle\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Panama \u2014 In Search of the Harpy Panama is one of the most biodiverse countries<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/panama-harpy-eagle\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Panama Harpy Eagle\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-3064 post type-post status-publish format-standard has-post-thumbnail hentry category-projects tag-costa-rica\" role=\"listitem\">\n\t\t\t<div class=\"elementor-post__card\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/wildlife.global\/es\/costa-rica\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" src=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/A12FEB24III3640-Enhanced-NR-1024x683.jpg\" class=\"attachment-large size-large wp-image-4638\" alt=\"\" srcset=\"https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/A12FEB24III3640-Enhanced-NR-1024x683.jpg 1024w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/A12FEB24III3640-Enhanced-NR-300x200.jpg 300w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/A12FEB24III3640-Enhanced-NR-768x512.jpg 768w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/A12FEB24III3640-Enhanced-NR-1536x1024.jpg 1536w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/A12FEB24III3640-Enhanced-NR-2048x1366.jpg 2048w, https:\/\/wildlife.global\/wp-content\/uploads\/2026\/05\/A12FEB24III3640-Enhanced-NR-600x400.jpg 600w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/div><\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/wildlife.global\/es\/costa-rica\/\" target=&quot;_blank&quot;>\n\t\t\t\tCosta Rica\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__excerpt\">\n\t\t\t<p>Costa Rica \u2014 A Country Built on Biodiversity Costa Rica covers just 0.03 percent of<\/p>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-post__read-more-wrapper\">\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/wildlife.global\/es\/costa-rica\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Costa Rica\" tabindex=\"-1\" target=\"_blank\">\n\t\t\tRead More \u2192\t\t<\/a>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\t\t\t<span class=\"e-load-more-spinner\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-spinner\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\n\t\t\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 Wildlife \u2219 Expeditions \u2219 conservation Featured Projects<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-1680","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Wildlife Photography &amp; Conservation Projects \u2014 Sasan Amir<\/title>\n<meta name=\"description\" content=\"Explore wildlife photography and conservation projects by Sasan Amir, documenting rare species, ecosystems and conservation efforts around the world.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wildlife.global\/es\/projects\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wildlife Photography &amp; Conservation Projects \u2014 Sasan Amir\" \/>\n<meta property=\"og:description\" content=\"Explore wildlife photography and conservation projects by Sasan Amir, documenting rare species, ecosystems and conservation efforts around the world.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wildlife.global\/es\/projects\/\" \/>\n<meta property=\"og:site_name\" content=\"Wildlife.Global\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-14T10:00:19+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wildlife.global\\\/projects\\\/\",\"url\":\"https:\\\/\\\/wildlife.global\\\/projects\\\/\",\"name\":\"Wildlife Photography & Conservation Projects \u2014 Sasan Amir\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wildlife.global\\\/#website\"},\"datePublished\":\"2025-01-22T09:13:19+00:00\",\"dateModified\":\"2026-09-14T10:00:19+00:00\",\"description\":\"Explore wildlife photography and conservation projects by Sasan Amir, documenting rare species, ecosystems and conservation efforts around the world.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wildlife.global\\\/projects\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wildlife.global\\\/projects\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wildlife.global\\\/projects\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wildlife.global\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Projects\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wildlife.global\\\/#website\",\"url\":\"https:\\\/\\\/wildlife.global\\\/\",\"name\":\"Wildlife.Global\",\"description\":\"Wildlife documentation by Sasan Amir\",\"publisher\":{\"@id\":\"https:\\\/\\\/wildlife.global\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wildlife.global\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wildlife.global\\\/#organization\",\"name\":\"Wildlife.Global\",\"url\":\"https:\\\/\\\/wildlife.global\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wildlife.global\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wildlife.global\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/001_Logo_2026_Breit_Weise_Schrift-1-e1780956160820.png\",\"contentUrl\":\"https:\\\/\\\/wildlife.global\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/001_Logo_2026_Breit_Weise_Schrift-1-e1780956160820.png\",\"width\":1388,\"height\":338,\"caption\":\"Wildlife.Global\"},\"image\":{\"@id\":\"https:\\\/\\\/wildlife.global\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"http:\\\/\\\/www.instagram.com\\\/sasan__amir\",\"http:\\\/\\\/www.tiktok.com\\\/@sasanamir\",\"http:\\\/\\\/www.youtube.com\\\/@sasanamir1\",\"http:\\\/\\\/www.linkedin.com\\\/in\\\/sasan-amir-278577168\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wildlife Photography & Conservation Projects \u2014 Sasan Amir","description":"Explore wildlife photography and conservation projects by Sasan Amir, documenting rare species, ecosystems and conservation efforts around the world.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wildlife.global\/es\/projects\/","og_locale":"es_ES","og_type":"article","og_title":"Wildlife Photography & Conservation Projects \u2014 Sasan Amir","og_description":"Explore wildlife photography and conservation projects by Sasan Amir, documenting rare species, ecosystems and conservation efforts around the world.","og_url":"https:\/\/wildlife.global\/es\/projects\/","og_site_name":"Wildlife.Global","article_modified_time":"2026-09-14T10:00:19+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wildlife.global\/projects\/","url":"https:\/\/wildlife.global\/projects\/","name":"Wildlife Photography & Conservation Projects \u2014 Sasan Amir","isPartOf":{"@id":"https:\/\/wildlife.global\/#website"},"datePublished":"2025-01-22T09:13:19+00:00","dateModified":"2026-09-14T10:00:19+00:00","description":"Explore wildlife photography and conservation projects by Sasan Amir, documenting rare species, ecosystems and conservation efforts around the world.","breadcrumb":{"@id":"https:\/\/wildlife.global\/projects\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wildlife.global\/projects\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wildlife.global\/projects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wildlife.global\/"},{"@type":"ListItem","position":2,"name":"Projects"}]},{"@type":"WebSite","@id":"https:\/\/wildlife.global\/#website","url":"https:\/\/wildlife.global\/","name":"Wildlife.Global","description":"Wildlife documentation by Sasan Amir","publisher":{"@id":"https:\/\/wildlife.global\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wildlife.global\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wildlife.global\/#organization","name":"Wildlife.Global","url":"https:\/\/wildlife.global\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wildlife.global\/#\/schema\/logo\/image\/","url":"https:\/\/wildlife.global\/wp-content\/uploads\/2024\/05\/001_Logo_2026_Breit_Weise_Schrift-1-e1780956160820.png","contentUrl":"https:\/\/wildlife.global\/wp-content\/uploads\/2024\/05\/001_Logo_2026_Breit_Weise_Schrift-1-e1780956160820.png","width":1388,"height":338,"caption":"Wildlife.Global"},"image":{"@id":"https:\/\/wildlife.global\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.instagram.com\/sasan__amir","http:\/\/www.tiktok.com\/@sasanamir","http:\/\/www.youtube.com\/@sasanamir1","http:\/\/www.linkedin.com\/in\/sasan-amir-278577168\/"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/pages\/1680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/comments?post=1680"}],"version-history":[{"count":10,"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/pages\/1680\/revisions"}],"predecessor-version":[{"id":6835,"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/pages\/1680\/revisions\/6835"}],"wp:attachment":[{"href":"https:\/\/wildlife.global\/es\/wp-json\/wp\/v2\/media?parent=1680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}