{"id":435,"date":"2026-08-21T15:49:37","date_gmt":"2026-08-21T10:19:37","guid":{"rendered":"http:\/\/localhost\/ipe_africa\/wordpress\/?page_id=435"},"modified":"2026-09-03T13:11:11","modified_gmt":"2026-09-03T13:11:11","slug":"gallery","status":"publish","type":"page","link":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/media\/gallery\/","title":{"rendered":"Gallery"},"content":{"rendered":"\n<style>\n    .banSlide h1 {\n        color: var(--page-banner-font-color, white);\n    }\n    .banContent p {\n        color: var(--page-banner-font-color, white);\n    }\n<\/style>\n\n<section class=\"insightBan bg_Gall\" data-animate>\n\n    <article\n        class=\"banSlide\"\n                    style=\"--ban-image: url(&#039;https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/gallery-ban.jpg&#039;); background-color: #586A5E; --page-banner-font-color: #ffffff;\"\n            >\n\n        <div class=\"page-shell\">\n\n            <div class=\"banContent mx-auto text-center\">\n\n                                    <h1 class=\"display-title\">\n                        Photo Gallery                    <\/h1>\n                \n                                    <p>Discover our impact across Africa, captured in images that reflect the communities, partnerships, and milestones shaping lasting change.<\/p>\n                \n            <\/div>\n\n        <\/div>\n\n    <\/article>\n\n<\/section>\n\n\n    <style>\n        .year-multiselect-field {\n            position: relative;\n        }\n        .year-multiselect-field > label {\n            display: block;\n        }\n        .year-multiselect-toggle {\n            display: block;\n            width: 100%;\n            min-height: 52px;\n            padding: 0 48px 0 24px;\n            border: 0;\n            border-radius: 999px;\n            outline: 0;\n            background: #fff;\n            color: #111;\n            font-size: 14px;\n            text-align: left;\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            cursor: pointer;\n            background-image: url(https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/themes\/blankslate\/assets\/images\/ico-dropd.svg);\n            background-repeat: no-repeat;\n            background-position: center right 20px;\n        }\n        .year-multiselect-panel {\n            position: absolute;\n            z-index: 20;\n            top: calc(100% + 8px);\n            left: 0;\n            right: 0;\n            background: #fff;\n            border-radius: 16px;\n            padding: 10px 6px;\n            max-height: 220px;\n            overflow-y: auto;\n            box-shadow: 0 12px 30px rgba(0, 0, 0, .18);\n        }\n        .year-multiselect-panel[hidden] {\n            display: none;\n        }\n        .year-multiselect-option {\n            display: flex;\n            align-items: center;\n            gap: 10px;\n            padding: 8px 14px;\n            cursor: pointer;\n            border-radius: 10px;\n        }\n        \/* .climateFilterDialog__fields label > span sets white, bold, block\n           text for the field headings; this label's span is a checkbox row,\n           not a heading, so override it back to plain readable text.\n           Prefixed with .climateFilterDialog__fields to match that rule's\n           specificity. *\/\n        .climateFilterDialog__fields .year-multiselect-option > span {\n            display: inline;\n            margin-bottom: 0;\n            color: #111;\n            font-size: 14px;\n            font-weight: 400;\n        }\n        .year-multiselect-option:hover {\n            background: #f3f3f3;\n        }\n        .year-multiselect-option.is-unavailable {\n            display: none;\n        }\n        \/* .is-filtered-out (toggled by blankslateInitFacetedFilter) already\n           hides .climate-project-item via style.css; gallery tiles need the\n           same rule since they're a different element\/class. *\/\n        .gallery-trigger.is-filtered-out {\n            display: none;\n        }\n    <\/style>\n        <style>\n        #galleryPageFilterPanel {\n            top: -30% !important;\n            right: 0 !important;\n            bottom: auto !important;\n            left: auto !important;\n            width: min(1260px, calc(100vw - 48px));\n            padding: 0;\n            border: 0;\n            border-radius: 20px;\n            background: transparent;\n            box-shadow: none;\n            transform: none !important;\n            \/* The Projects section never has anything else nearby with its\n               own z-index, so it got away with z-index:1; the gallery grid\n               below\/around this dropdown has video-play icons at z-index:2\n               that would otherwise poke through. *\/\n            z-index: 20 !important;\n        }\n        \/* The panel's off-canvas top offset makes it visually overlap the\n           toggle button's own position (that's what makes its X-icon read\n           as the dialog's close button) \u2014 it needs a higher z-index than\n           the panel above, or the now-elevated panel covers it and it can\n           no longer be clicked. *\/\n        #galleryPageFilterOpen {\n            z-index: 21 !important;\n        }\n    <\/style>\n        <style>\n        @media (max-width: 766px) {\n            #galleryPageFilterPanel {\n                position: fixed !important;\n                top: 110px !important;\n                right: 16px !important;\n                bottom: auto !important;\n                left: 16px !important;\n                width: calc(100vw - 32px) !important;\n                min-width: calc(100vw - 32px) !important;\n                max-width: calc(100vw - 32px) !important;\n                \/* 100vh on a real mobile browser measures the viewport\n                   with its address\/toolbar chrome collapsed, taller than\n                   what's actually visible while that chrome is showing \u2014\n                   so this max-height alone lets the panel's clip boundary\n                   sit below the real fold, showing the page's own footer\n                   through the gap. 100dvh tracks the chrome's real,\n                   current state; browsers without it (older Safari\/Chrome)\n                   simply ignore this line, falling back to the vh rule\n                   above it. *\/\n                max-height: calc(100vh - 126px);\n                max-height: calc(100dvh - 126px);\n                overflow-y: auto;\n                \/* iOS Safari needs this on a scrollable fixed-position\n                   element for touch\/momentum scrolling to work at all. *\/\n                -webkit-overflow-scrolling: touch;\n            }\n            #galleryPageFilterOpen[aria-expanded=\"true\"] {\n                position: fixed !important;\n                top: 86px !important;\n                right: 24px !important;\n                left: auto !important;\n                width: 40px !important;\n                min-width: 40px !important;\n                height: 40px !important;\n                padding: 0 !important;\n                display: flex !important;\n                align-items: center;\n                justify-content: center;\n                z-index: 1041;\n            }\n        }\n    <\/style>\n        <style>\n        #galleryPageGrid .gallery-column.gallery-column--empty {\n            display: none;\n        }\n        @media (min-width: 992px) {\n            #galleryPageGrid .gallery-mosaic {\n                display: flex;\n                flex-wrap: wrap;\n                justify-content: center;\n            }\n            #galleryPageGrid .gallery-column {\n                flex: 1 1 0;\n                max-width: calc(25% - 15px);\n            }\n        }\n    <\/style>\n        <style>\n        #galleryPageFilterOpen > span::after {\n            content: none;\n        }\n        #galleryPageFilterOpen {\n            display: flex !important;\n            align-items: center;\n            justify-content: center;\n            gap: 8px;\n        }\n        \/* .climate-filter-select[aria-expanded=\"true\"] shifts the toggle\n           10px left (right:10px on a position:relative element) \u2014 meant to\n           re-center the lone X icon once \"Filters\" + chevron are hidden.\n           With the Clear button now sitting right next to it in the same\n           flex row, that shift instead overlaps the two. *\/\n        #galleryPageFilterOpen[aria-expanded=\"true\"] {\n            right: auto;\n        }\n    <\/style>\n        <style>\n        .climate-filter-dropdown {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n        .climate-filter-clear-btn {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            \/* Unpositioned siblings always paint below a positioned one\n               with a z-index, which the open dropdown-menu has (1 on the\n               Projects section's native CSS, 20 on the gallery pages via\n               blankslate_filter_dropdown_position_styles) \u2014 without this\n               the panel covers the button and it becomes unclickable while\n               open, same issue the toggle button needed z-index:21 for. *\/\n            position: relative;\n            z-index: 21;\n            height: 46px;\n            padding: 0 18px;\n            border: 0;\n            border-radius: 999px;\n            background: #fff;\n            color: #111;\n            font-family: var(--display-font);\n            font-size: .68rem;\n            font-weight: 600;\n            text-transform: uppercase;\n            cursor: pointer;\n        }\n        .climate-filter-clear-btn:hover {\n            background: var(--ipe-yellow);\n        }\n    <\/style>\n        <style>\n        #galleryPageFilterPanel .climateFilterDialog {\n            overflow: visible;\n        }\n    <\/style>\n        <style>\n        \/* 5 filter fields (Thematic Priority added) need a 5th grid column on\n       desktop; the responsive 2-col\/1-col overrides below 992px already\n       apply regardless of field count, so this only targets wide screens. *\/\n        @media (min-width: 992px) {\n            .climateFilterDialog__fields--gallery-page {\n                grid-template-columns: repeat(5, minmax(0, 1fr));\n            }\n        }\n    <\/style>\n\n\n<section class=\"gallerShell photGal mt-lg-5 mt-4\" data-animate>\n\n    <div class=\"page-shell galleryShell-inner container\">\n\n        <div class=\"dropdown togglSelect w-100 d-flex justify-content-between align-items-center mb-0 climate-projects-heading\">\n                           <h1>Photo Gallery<\/h1>\n                        \n            <button type=\"button\" class=\"climate-filter-clear-btn ms-auto me-3\" id=\"galleryPageFilterClear\" hidden>Clear Filter<\/button>\n\n                        <button\n                            class=\"btn-secondary dropdown-toggle climate-filter-select\"\n                            id=\"galleryPageFilterOpen\"\n                            type=\"button\"\n                            data-bs-toggle=\"dropdown\"\n                            data-bs-display=\"static\"\n                            data-bs-auto-close=\"outside\"\n                            aria-controls=\"galleryPageFilterPanel\"\n                            aria-expanded=\"false\">\n                            <span>Filters<\/span>\n                            <i class=\"bi bi-chevron-down climate-filter-select__chevron\" aria-hidden=\"true\"><\/i>\n                            <i class=\"bi bi-x-lg climate-filter-select__close\" aria-hidden=\"true\"><\/i>\n                        <\/button>\n         \n\n            <!-- <button class=\"btn-secondary dropdown-toggle climate-filter-select togglSelectbtn\" type=\"button\" data-bs-toggle=\"dropdown\" data-bs-display=\"static\" data-bs-auto-close=\"outside\" aria-controls=\"climateFilterPanel\" aria-expanded=\"false\">\n                <span>Filters<\/span>\n                <strong>Category<\/strong>\n                <i class=\"bi bi-chevron-down climate-filter-select__chevron\" aria-hidden=\"true\"><\/i>\n                <i class=\"bi bi-x-lg climate-filter-select__close\" aria-hidden=\"true\"><\/i>\n            <\/button> -->\n\n            <div class=\"dropdown-menu w-100 border-0 p-0 bg-transparent\">\n                <section class=\"climateFilterDialog\" role=\"dialog\" aria-labelledby=\"climateFilterTitle\">\n\n                   <form id=\"galleryPageFilterForm\">\n\n                                    <div class=\"climateFilterDialog__top\">\n                                        <label class=\"climateFilterSearch\">\n                                            <i class=\"bi bi-search\" aria-hidden=\"true\"><\/i>\n                                            <span class=\"visually-hidden\">Search gallery<\/span>\n                                            <input id=\"galleryPageSearch\" type=\"search\" placeholder=\"Search gallery\" autocomplete=\"off\">\n                                        <\/label>\n                                    <\/div>\n\n                                    <h2 id=\"galleryPageFilterTitle\">Filters<\/h2>\n\n                                    <div class=\"climateFilterDialog__fields climateFilterDialog__fields--gallery-page\">\n\n                                        <label>\n                                            <span>Thematic Priority<\/span>\n                                            <select id=\"galleryPriorityFilter\">\n                                                <option value=\"all\">All Thematic Priorities<\/option>\n                                                                                                    <option value=\"climate-action-and-sustainable-futures\" >Climate Action &amp; Sustainable Futures<\/option>\n                                                                                                    <option value=\"equity-and-economic-empowerment\" >Equity and Economic Empowerment<\/option>\n                                                                                                    <option value=\"evidence-measurement-and-systems-strengthening\" >Evidence, Measurement &amp; Systems Strengthening<\/option>\n                                                                                                    <option value=\"healthy-lives-better-futures\" >Healthy Lives, Better Futures<\/option>\n                                                                                                    <option value=\"private-sector-growth-trade\" >Private Sector Growth &amp; Trade<\/option>\n                                                                                                    <option value=\"sustainable-cities-and-resilient-infrastructure\" >Sustainable Cities and Resilient Infrastructure<\/option>\n                                                                                            <\/select>\n                                        <\/label>\n\n                                        <label>\n                                            <span>Sub Categories<\/span>\n                                            <select id=\"galleryPageSubFilter\">\n                                                <option value=\"all\">All Categories<\/option>\n                                                                                            <\/select>\n                                        <\/label>\n\n                                        <label>\n                                            <span>Geography<\/span>\n                                            <select id=\"galleryPageGeographyFilter\">\n                                                <option value=\"all\">Geography<\/option>\n                                                                                            <\/select>\n                                        <\/label>\n\n                                            <div class=\"year-multiselect-field\">\n        <label>\n            <span>Year<\/span>\n            <button type=\"button\" class=\"year-multiselect-toggle\" id=\"galleryPageYearFilterToggle\" aria-haspopup=\"listbox\" aria-expanded=\"false\" aria-controls=\"galleryPageYearFilterPanel\">All Years<\/button>\n        <\/label>\n        <div class=\"year-multiselect-panel\" id=\"galleryPageYearFilterPanel\" role=\"listbox\" aria-multiselectable=\"true\" aria-labelledby=\"galleryPageYearFilterToggle\" hidden>\n                    <\/div>\n        <select id=\"galleryPageYearFilter\" multiple hidden aria-hidden=\"true\" tabindex=\"-1\">\n                    <\/select>\n    <\/div>\n    \n                                        <label>\n                                            <span>Partners<\/span>\n                                            <select id=\"galleryPagePartnerFilter\">\n                                                <option value=\"all\">All Partners<\/option>\n                                                                                            <\/select>\n                                        <\/label>\n\n                                    <\/div>\n\n                                    <div class=\"climateFilterDialog__actions\">\n                                        <button class=\"cta-pill\" type=\"submit\">\n                                            <span>Search<\/span>\n                                            <i class=\"bi bi-arrow-right\" aria-hidden=\"true\"><\/i>\n                                        <\/button>\n                                    <\/div>\n\n                                <\/form>\n                <\/section>\n\n            <\/div>\n        <\/div>\n\n        <div id=\"galleryPageGrid\">\n            \n        \n\n        <!-- 4 Column Mosaic Grid -->\n        <div class=\"gallery-mosaic\">\n\n            \n                <div class=\"gallery-column gallery-columnNum1\">\n\n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"0\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Green Cities Infrastructure and Energy Programme (GCIEP): Capacity Building Workshop Bridging accountability and the new ways climate financing flows through NCQG for the most vulnerable communities, keeping democratisation of climate data and information at the core, which makes infrastructure climate resilient.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/15.jpg\" alt=\"Green Cities Infrastructure and Energy Programme (GCIEP): Capacity Building Workshop\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"4\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"National Bioeconomy Strategy Write-shop at Pwani University, Kilifi, convened by the State Department for Science, Research and Innovation (SDSRI), Government of Kenya Contributed towards technical expertise and evidence-based policy inputs, with support from the UK FCDO.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/16-1.jpg\" alt=\"National Bioeconomy Strategy Write-shop at Pwani University, Kilifi, convened by the State Department for Science, Research and Innovation (SDSRI), Government of Kenya\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"8\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Kenya Biosciences Landscape Mapping Study #STRI4Society Week 2026 at the Kenyatta International Convention Centre (KICC), Nairobi Contributing to building a comprehensive understanding of Kenya\u2019s biosciences landscape across healthcare, agricultural biotechnology, industrial biotechnology, and the broader bioeconomy to support stronger innovation-led ecosystem development.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/14.jpg\" alt=\"Kenya Biosciences Landscape Mapping Study #STRI4Society Week 2026 at the Kenyatta International Convention Centre (KICC), Nairobi\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"12\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Our Team, Bonding Over Work Because the best work happens when collaboration goes beyond the everyday\u2014building connections, sharing ideas and creating impact, together.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/17.jpg\" alt=\"Our Team, Bonding Over Work\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"video-gallery-card__media gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"16\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"empowering-women video\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/1-7.jpg\" alt=\"empowering-women video\" loading=\"lazy\">\n                                <span class=\"video-gallery-card__play\" aria-hidden=\"true\"><i class=\"bi bi-play-fill\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                <\/div>\n\n            \n                <div class=\"gallery-column gallery-columnNum2\">\n\n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"video-gallery-card__media gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"1\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Equity and Economic Empowerment V1\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/6-2.jpg\" alt=\"Equity and Economic Empowerment V1\" loading=\"lazy\">\n                                <span class=\"video-gallery-card__play\" aria-hidden=\"true\"><i class=\"bi bi-play-fill\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"video-gallery-card__media gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"5\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Equity and Economic Empowerment V3\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/2-6.jpg\" alt=\"Equity and Economic Empowerment V3\" loading=\"lazy\">\n                                <span class=\"video-gallery-card__play\" aria-hidden=\"true\"><i class=\"bi bi-play-fill\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"9\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Preparation of IGAD Regional Infrastructure Master Plan (IRIMP) | Djibouti, Ethiopia, Eritrea, Kenya, Sudan, South Sudan, Somalia and Uganda, (2018-2019) | AfDB\/IGAD Secretariat Developed an integrated infrastructure master plan for the Intergovernmental Authority on Development (IGAD) region covering four priority infrastructure sectors - Transport, Energy, ICT and Transboundary Water Resources.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/13.jpg\" alt=\"Preparation of IGAD Regional Infrastructure Master Plan (IRIMP) | Djibouti, Ethiopia, Eritrea, Kenya, Sudan, South Sudan, Somalia and Uganda, (2018-2019) | AfDB\/IGAD Secretariat\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"13\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Strategic collaboration framework between the Kenya National Innovation Agency (KeNIA) and IPE Global Limited Mobilising catalytic resources, strengthening institutional capacity, and supporting the growth and scalability of high-potential Kenyan enterprises.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/11.jpg\" alt=\"Strategic collaboration framework between the Kenya National Innovation Agency (KeNIA) and IPE Global Limited\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"17\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Our Team, Bonding Over Work Because the best work happens when collaboration goes beyond the everyday\u2014building connections, sharing ideas and creating impact, together.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/18.jpg\" alt=\"Our Team, Bonding Over Work\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                <\/div>\n\n            \n                <div class=\"gallery-column gallery-columnNum3\">\n\n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"video-gallery-card__media gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"2\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Equity and Economic Empowerment v2\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/3-4.jpg\" alt=\"Equity and Economic Empowerment v2\" loading=\"lazy\">\n                                <span class=\"video-gallery-card__play\" aria-hidden=\"true\"><i class=\"bi bi-play-fill\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"6\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Strengthening the Protection of Human Rights in Tanzania Civil and Political Rights Tracking Project, Tanzania | (2014-2017) | DFID Contributed towards improved public discourse on the protection of civil and political rights by improving tracking of rights, increasing advocacy and public outreach.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/7.jpg\" alt=\"Strengthening the Protection of Human Rights in Tanzania Civil and Political Rights Tracking Project, Tanzania | (2014-2017) | DFID\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"video-gallery-card__media gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"10\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Bold Voices for an inclusive video\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/5-2.jpg\" alt=\"Bold Voices for an inclusive video\" loading=\"lazy\">\n                                <span class=\"video-gallery-card__play\" aria-hidden=\"true\"><i class=\"bi bi-play-fill\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"video-gallery-card__media gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"14\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"India Africa Health Video\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/4-5.jpg\" alt=\"India Africa Health Video\" loading=\"lazy\">\n                                <span class=\"video-gallery-card__play\" aria-hidden=\"true\"><i class=\"bi bi-play-fill\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                <\/div>\n\n            \n                <div class=\"gallery-column gallery-columnNum4\">\n\n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"3\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"M&amp;E Partner for the Fund for Rural Prosperity (FRP), Sub-Saharan Africa, (2008-2021) | Master Card Foundation Enabled around 1,000,000 financially excluded people in rural Africa to have access to financial products and services that increase their incomes, improve their resilience, and lift their communities.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/9.jpg\" alt=\"M&amp;E Partner for the Fund for Rural Prosperity (FRP), Sub-Saharan Africa, (2008-2021) | Master Card Foundation\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"7\" data-gallery-priority=\"climate-action-and-sustainable-futures,equity-and-economic-empowerment,evidence-measurement-and-systems-strengthening,healthy-lives-better-futures,private-sector-growth-trade,sustainable-cities-and-resilient-infrastructure\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Somalia Small and Medium Enterprise Facility (SMEF) | Somalia, (2016-2018) | The World Bank Strengthened internal capacity and processes of SMEs by stimulating the use and adoption of BDS and Technical and Vocational Education and Training (TVET) best practices, leading to enhanced job creation opportunities.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/8.jpg\" alt=\"Somalia Small and Medium Enterprise Facility (SMEF) | Somalia, (2016-2018) | The World Bank\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"11\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Endline Evaluation of the Kenya Election Violence Prevention and Response Programme (KEVP), Kenya (Nairobi, Nakuru, Uasin Gishu, Nandi and Kisumu) | 2018 | US Department of State, Mercy Corps Supported KEVP in mitigating the risk of violence in the lead up to, during and immediately after the 2017 Kenya elections in respective counties.\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/10.jpg\" alt=\"Endline Evaluation of the Kenya Election Violence Prevention and Response Programme (KEVP), Kenya (Nairobi, Nakuru, Uasin Gishu, Nandi and Kisumu) | 2018 | US Department of State, Mercy Corps\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                        \n                            <a href=\"javascript:void(0)\" class=\"gallery-tile gallery-trigger\" data-modal=\"customGalleryModal1\" data-index=\"15\" data-gallery-priority=\"\" data-gallery-category=\"\" data-gallery-geography=\"\" data-gallery-year=\"\" data-gallery-partner=\"\" data-gallery-search=\"Evaluation Manager &#8211; Strategic Partnerships in Higher Education Innovation and Reform (SPHEIR) | (2017-2023) | DFID Supported ambitious and high-value partnerships to transform the quality, relevance, inclusiveness and value of Higher Education (HE) in several countries in Africa and Asia (including Uganda, Myanmar, Lebanon, etc.).\">\n                                <img src=\"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-content\/uploads\/2026\/08\/12.jpg\" alt=\"Evaluation Manager &#8211; Strategic Partnerships in Higher Education Innovation and Reform (SPHEIR) | (2017-2023) | DFID\" loading=\"lazy\">\n                                <span class=\"gallery-zoom\"><i class=\"bi bi-zoom-in\"><\/i><\/span>\n                            <\/a>\n\n                        \n                    \n                <\/div>\n\n            \n        <\/div>\n\n\n        \n\n        \n        <!-- Lightbox Modal Screen -->\n        <div class=\"modal fade custom-lightbox-modal\" id=\"customGalleryModal1\" tabindex=\"-1\" aria-hidden=\"true\">\n            <div class=\"modal-dialog modal-fullscreen\">\n                <div class=\"modal-content d-flex flex-column justify-content-between\">\n\n                    <div class=\"modal-header d-flex justify-content-between align-items-center\">\n                        <button class=\"gallery-lightbox-close\" type=\"button\" data-bs-dismiss=\"modal\" aria-label=\"Close\">\n                            <i class=\"bi bi-x-lg\" aria-hidden=\"true\"><\/i>\n                        <\/button>\n                    <\/div>\n\n                    <div class=\"lightbox-main-container\">\n                        <div class=\"lightbox_mb\">\n                            <h2 class=\"lightbox-title\" id=\"modalTitle1\">Photo Title<\/h2>\n                            <div class=\"lightbox-subtitle\" id=\"modaldescription1\">IPE Africa<\/div>\n                        <\/div>\n                        <div id=\"mediaContainer1\" class=\"position-relative w-100 text-center\">\n                            <button type=\"button\" class=\"gallery-lightbox-arrow lightbox-prev\" id=\"prevBtn1\" aria-label=\"Previous gallery item\">\n                                <i class=\"bi bi-chevron-left\" aria-hidden=\"true\"><\/i>\n                            <\/button>\n                            <!-- Dynamic Media Content loaded via JS -->\n                            <button type=\"button\" class=\"gallery-lightbox-arrow lightbox-next\" id=\"nextBtn1\" aria-label=\"Next gallery item\">\n                                <i class=\"bi bi-chevron-right\" aria-hidden=\"true\"><\/i>\n                            <\/button>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Thumbnail Navigation Strip -->\n                    <div class=\"lightbox-thumbnails container\" id=\"thumbnailStrip1\">\n                        <!-- Loaded dynamically via JavaScript -->\n                    <\/div>\n\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <script>\n        (function() {\n            const suffix = \"1\";\n            const modalId = \"customGalleryModal1\";\n            const galleryData = [{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/15b-1.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/15.jpg\",\"title\":\"Green Cities Infrastructure and Energy Programme (GCIEP): Capacity Building Workshop\",\"description\":\"Bridging accountability and the new ways climate financing flows through NCQG for the most vulnerable communities, keeping democratisation of climate data and information at the core, which makes infrastructure climate resilient.\"},{\"type\":\"video\",\"src\":\"https:\\\/\\\/www.youtube.com\\\/embed\\\/2LDXU1wFVW4?autoplay=1&enablejsapi=1\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/6-2.jpg\",\"title\":\"Equity and Economic Empowerment V1\",\"description\":\"\"},{\"type\":\"video\",\"src\":\"https:\\\/\\\/www.youtube.com\\\/embed\\\/AYm4iHBQNJk?autoplay=1&enablejsapi=1\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/3-4.jpg\",\"title\":\"Equity and Economic Empowerment v2\",\"description\":\"\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/9b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/9.jpg\",\"title\":\"M&amp;E Partner for the Fund for Rural Prosperity (FRP), Sub-Saharan Africa, (2008-2021) | Master Card Foundation\",\"description\":\"Enabled around 1,000,000 financially excluded people in rural Africa to have access to financial products and services that increase their incomes, improve their resilience, and lift their communities.\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/16b-1.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/16-1.jpg\",\"title\":\"National Bioeconomy Strategy Write-shop at Pwani University, Kilifi, convened by the State Department for Science, Research and Innovation (SDSRI), Government of Kenya\",\"description\":\"Contributed towards technical expertise and evidence-based policy inputs, with support from the UK FCDO.\"},{\"type\":\"video\",\"src\":\"https:\\\/\\\/www.youtube.com\\\/embed\\\/sbvjexulwz8?autoplay=1&enablejsapi=1\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/2-6.jpg\",\"title\":\"Equity and Economic Empowerment V3\",\"description\":\"\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/7b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/7.jpg\",\"title\":\"Strengthening the Protection of Human Rights in Tanzania Civil and Political Rights Tracking Project, Tanzania | (2014-2017) | DFID\",\"description\":\"Contributed towards improved public discourse on the protection of civil and political rights by improving tracking of rights, increasing advocacy and public outreach.\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/8b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/8.jpg\",\"title\":\"Somalia Small and Medium Enterprise Facility (SMEF) | Somalia, (2016-2018) | The World Bank\",\"description\":\"Strengthened internal capacity and processes of SMEs by stimulating the use and adoption of BDS and Technical and Vocational Education and Training (TVET) best practices, leading to enhanced job creation opportunities.\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/14b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/14.jpg\",\"title\":\"Kenya Biosciences Landscape Mapping Study #STRI4Society Week 2026 at the Kenyatta International Convention Centre (KICC), Nairobi\",\"description\":\"Contributing to building a comprehensive understanding of Kenya\\u2019s biosciences landscape across healthcare, agricultural biotechnology, industrial biotechnology, and the broader bioeconomy to support stronger innovation-led ecosystem development.\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/13b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/13.jpg\",\"title\":\"Preparation of IGAD Regional Infrastructure Master Plan (IRIMP) | Djibouti, Ethiopia, Eritrea, Kenya, Sudan, South Sudan, Somalia and Uganda, (2018-2019) | AfDB\\\/IGAD Secretariat\",\"description\":\"Developed an integrated infrastructure master plan for the Intergovernmental Authority on Development (IGAD) region covering four priority infrastructure sectors - Transport, Energy, ICT and Transboundary Water Resources.\"},{\"type\":\"video\",\"src\":\"https:\\\/\\\/www.youtube.com\\\/embed\\\/pFAPH39owd0?autoplay=1&enablejsapi=1\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/5-2.jpg\",\"title\":\"Bold Voices for an inclusive video\",\"description\":\"\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/10b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/10.jpg\",\"title\":\"Endline Evaluation of the Kenya Election Violence Prevention and Response Programme (KEVP), Kenya (Nairobi, Nakuru, Uasin Gishu, Nandi and Kisumu) | 2018 | US Department of State, Mercy Corps\",\"description\":\"Supported KEVP in mitigating the risk of violence in the lead up to, during and immediately after the 2017 Kenya elections in respective counties.\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/17b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/17.jpg\",\"title\":\"Our Team, Bonding Over Work\",\"description\":\"Because the best work happens when collaboration goes beyond the everyday\\u2014building connections, sharing ideas and creating impact, together.\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/11b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/11.jpg\",\"title\":\"Strategic collaboration framework between the Kenya National Innovation Agency (KeNIA) and IPE Global Limited\",\"description\":\"Mobilising catalytic resources, strengthening institutional capacity, and supporting the growth and scalability of high-potential Kenyan enterprises.\"},{\"type\":\"video\",\"src\":\"https:\\\/\\\/www.youtube.com\\\/embed\\\/YjEyU__zVaA?autoplay=1&enablejsapi=1\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/4-5.jpg\",\"title\":\"India Africa Health Video\",\"description\":\"\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/12b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/12.jpg\",\"title\":\"Evaluation Manager &#8211; Strategic Partnerships in Higher Education Innovation and Reform (SPHEIR) | (2017-2023) | DFID\",\"description\":\"Supported ambitious and high-value partnerships to transform the quality, relevance, inclusiveness and value of Higher Education (HE) in several countries in Africa and Asia (including Uganda, Myanmar, Lebanon, etc.).\"},{\"type\":\"video\",\"src\":\"https:\\\/\\\/www.youtube.com\\\/embed\\\/KCUUGp84c0w?autoplay=1&enablejsapi=1\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/1-7.jpg\",\"title\":\"empowering-women video\",\"description\":\"\"},{\"type\":\"image\",\"src\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/18b.jpg\",\"thumb\":\"https:\\\/\\\/beta.studiobrahma.in\\\/ipe-africa-dyn\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/18.jpg\",\"title\":\"Our Team, Bonding Over Work\",\"description\":\"Because the best work happens when collaboration goes beyond the everyday\\u2014building connections, sharing ideas and creating impact, together.\"}];\n            const indexMap = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17];\n            let visibleIndices = indexMap.slice();\n            let currentIndex = indexMap[0];\n            let isSliding = false;\n            let autoSlideInterval = null;\n            const AUTO_SLIDE_DELAY = 6500;\n\n            document.addEventListener('DOMContentLoaded', function() {\n                const modalElement = document.getElementById(modalId);\n                const galleryModal = new bootstrap.Modal(modalElement);\n                const modalTitle = document.getElementById('modalTitle' + suffix);\n                const modaldescription = document.getElementById('modaldescription' + suffix);\n                const mediaContainer = document.getElementById('mediaContainer' + suffix);\n                const thumbnailStrip = document.getElementById('thumbnailStrip' + suffix);\n                const previousButton = document.getElementById('prevBtn' + suffix);\n                const nextButton = document.getElementById('nextBtn' + suffix);\n\n                const dataByIndex = {};\n                indexMap.forEach((originalIndex, position) => {\n                    dataByIndex[originalIndex] = galleryData[position];\n                });\n\n                function refreshVisibleIndices() {\n                    const visibleTiles = Array.from(document.querySelectorAll('.gallery-trigger[data-modal=\"' + modalId + '\"]:not(.is-filtered-out)'));\n                    visibleIndices = visibleTiles\n                        .map((tile) => parseInt(tile.getAttribute('data-index'), 10))\n                        .filter((index) => !Number.isNaN(index) && dataByIndex[index]);\n\n                    if (!visibleIndices.length) {\n                        visibleIndices = indexMap.slice();\n                    }\n\n                    if (!visibleIndices.includes(currentIndex)) {\n                        currentIndex = visibleIndices[0];\n                    }\n                }\n\n                function startAutoSlide() {\n                    stopAutoSlide();\n                    const currentItem = dataByIndex[currentIndex];\n                    if (currentItem && currentItem.type === 'video') {\n                        return;\n                    }\n                    autoSlideInterval = setInterval(() => {\n                        slideGallery(1);\n                    }, AUTO_SLIDE_DELAY);\n                }\n\n                function stopAutoSlide() {\n                    if (autoSlideInterval) {\n                        clearInterval(autoSlideInterval);\n                        autoSlideInterval = null;\n                    }\n                }\n\n                function renderThumbnails() {\n                    thumbnailStrip.innerHTML = '';\n                    visibleIndices.forEach((itemIdx) => {\n                        const item = dataByIndex[itemIdx];\n\n                        const wrapper = document.createElement('div');\n                        wrapper.className = `thumb-wrapper ${itemIdx === currentIndex ? 'active' : ''}`;\n\n                        const thumbImg = document.createElement('img');\n                        thumbImg.src = item.thumb;\n                        wrapper.appendChild(thumbImg);\n\n                        if (item.type === 'video') {\n                            const playIcon = document.createElement('span');\n                            playIcon.className = 'thumb-play-icon';\n                            playIcon.innerHTML = '<i class=\"bi bi-play-fill\"><\/i>';\n                            wrapper.appendChild(playIcon);\n                        }\n\n                        wrapper.addEventListener('click', () => {\n                            updateGallery(itemIdx);\n                            startAutoSlide();\n                        });\n                        thumbnailStrip.appendChild(wrapper);\n                    });\n                }\n\n                function updateGallery(targetIndex, direction = 0) {\n                    refreshVisibleIndices();\n                    if (!visibleIndices.includes(targetIndex)) return;\n\n                    currentIndex = targetIndex;\n                    const item = dataByIndex[currentIndex];\n\n                    modalTitle.textContent = item.type === 'video' ? '' : item.title;\n                    modaldescription.textContent = item.description;\n\n                    const oldMedia = mediaContainer.querySelector('.lightbox-main-img, .lightbox-main-video, iframe');\n                    if (oldMedia) oldMedia.remove();\n\n                    if (item.type === 'image') {\n                        const img = document.createElement('img');\n                        img.src = item.src;\n                        img.className = 'lightbox-main-img';\n                        mediaContainer.appendChild(img);\n                        startAutoSlide();\n                    } else {\n                        stopAutoSlide();\n\n                        if (item.src.includes('youtube.com') || item.src.includes('youtu.be')) {\n                            const iframe = document.createElement('iframe');\n                            iframe.src = item.src;\n                            iframe.className = 'lightbox-main-video';\n                            iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');\n                            iframe.setAttribute('allowfullscreen', 'true');\n                            iframe.style.width = '80%';\n                            iframe.style.height = '450px';\n                            iframe.style.border = 'none';\n                            mediaContainer.appendChild(iframe);\n                        } else {\n                            const video = document.createElement('video');\n                            video.src = item.src;\n                            video.controls = true;\n                            video.autoplay = true;\n                            video.className = 'lightbox-main-video';\n                            mediaContainer.appendChild(video);\n                        }\n                    }\n\n                    const activeMedia = mediaContainer.querySelector('.lightbox-main-img, .lightbox-main-video');\n                    if (direction !== 0 && activeMedia?.animate) {\n                        const offset = direction > 0 ? 70 : -70;\n                        isSliding = true;\n                        activeMedia.animate(\n                            [\n                                { opacity: 0, transform: `translateX(${offset}px)` },\n                                { opacity: 1, transform: 'translateX(0)' }\n                            ],\n                            { duration: 320, easing: 'ease-out' }\n                        ).finished.finally(() => {\n                            isSliding = false;\n                        });\n                    }\n\n                    renderThumbnails();\n                }\n\n                function slideGallery(direction) {\n                    refreshVisibleIndices();\n                    if (isSliding || visibleIndices.length < 2) return;\n\n                    const currentPosition = Math.max(0, visibleIndices.indexOf(currentIndex));\n                    const targetPosition = (\n                        currentPosition + direction + visibleIndices.length\n                    ) % visibleIndices.length;\n\n                    updateGallery(visibleIndices[targetPosition], direction);\n                }\n\n                let touchStartX = 0;\n                let touchEndX = 0;\n                const swipeThreshold = 50;\n\n                mediaContainer.addEventListener('touchstart', (e) => {\n                    touchStartX = e.changedTouches[0].screenX;\n                    stopAutoSlide();\n                }, { passive: true });\n\n                mediaContainer.addEventListener('touchend', (e) => {\n                    touchEndX = e.changedTouches[0].screenX;\n                    handleSwipe();\n                    startAutoSlide();\n                }, { passive: true });\n\n                function handleSwipe() {\n                    const diffX = touchEndX - touchStartX;\n                    if (diffX < -swipeThreshold) {\n                        slideGallery(1);\n                    } else if (diffX > swipeThreshold) {\n                        slideGallery(-1);\n                    }\n                }\n\n                document.querySelectorAll('.gallery-trigger[data-modal=\"' + modalId + '\"]').forEach(tile => {\n                    tile.addEventListener('click', function(e) {\n                        e.preventDefault();\n                        refreshVisibleIndices();\n                        const index = parseInt(this.getAttribute('data-index'), 10);\n                        updateGallery(index);\n                        galleryModal.show();\n                    });\n                });\n\n                previousButton.addEventListener('click', () => {\n                    slideGallery(-1);\n                    startAutoSlide();\n                });\n\n                nextButton.addEventListener('click', () => {\n                    slideGallery(1);\n                    startAutoSlide();\n                });\n\n                modalElement.addEventListener('hidden.bs.modal', function () {\n                    stopAutoSlide();\n                    const activeMedia = mediaContainer.querySelector('.lightbox-main-img, .lightbox-main-video, iframe');\n                    if (activeMedia) activeMedia.remove();\n                });\n\n                document.addEventListener('keydown', (e) => {\n                    if (modalElement.classList.contains('show')) {\n                        if (e.key === 'ArrowLeft') {\n                            slideGallery(-1);\n                            startAutoSlide();\n                        } else if (e.key === 'ArrowRight') {\n                            slideGallery(1);\n                            startAutoSlide();\n                        }\n                    }\n                });\n            });\n        })();\n        <\/script>\n\n        \n                <\/div>\n\n    <\/div>\n\n<\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":292,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/Other.php","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-435","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/pages\/435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/comments?post=435"}],"version-history":[{"count":4,"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/pages\/435\/revisions"}],"predecessor-version":[{"id":1293,"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/pages\/435\/revisions\/1293"}],"up":[{"embeddable":true,"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/pages\/292"}],"wp:attachment":[{"href":"https:\/\/beta.studiobrahma.in\/ipe-africa-dyn\/wp-json\/wp\/v2\/media?parent=435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}