{"id":567,"date":"2026-03-08T17:17:31","date_gmt":"2026-03-08T17:17:31","guid":{"rendered":"https:\/\/bizexceldemo.com\/websites\/wns\/?page_id=567"},"modified":"2026-07-16T20:56:46","modified_gmt":"2026-07-16T20:56:46","slug":"gallery","status":"publish","type":"page","link":"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/","title":{"rendered":"Gallery"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"567\" class=\"elementor elementor-567\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3c7e885 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"3c7e885\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4788552\" data-id=\"4788552\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b7ef0b5 elementor-widget elementor-widget-html\" data-id=\"b7ef0b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- PhotoSwipe CSS -->\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/photoswipe\/5.4.3\/photoswipe.min.css\">\r\n\r\n<!-- PhotoSwipe JS (Standard UMD versions for WordPress\/Elementor compatibility) -->\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/photoswipe\/5.4.3\/umd\/photoswipe.umd.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/photoswipe\/5.4.3\/umd\/photoswipe-lightbox.umd.min.js\"><\/script>\r\n\r\n<style>\r\n    \/* --- FONTS & ICONS --- *\/\r\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600;700;800;900&display=swap');\r\n    @import url('https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css');\r\n\r\n    .tb-portfolio-section {\r\n        background-color: #0A0A0A; \/* Deep Obsidian Base *\/\r\n        padding: 100px 5%;\r\n        font-family: 'Inter', sans-serif;\r\n        color: #FFFFFF;\r\n    }\r\n\r\n    .tb-portfolio-header {\r\n        text-align: center;\r\n        margin-bottom: 50px;\r\n    }\r\n\r\n    .tb-portfolio-h2 {\r\n        font-family: 'Poppins', sans-serif;\r\n        font-weight: 800;\r\n        font-size: clamp(36px, 5vw, 48px);\r\n        color: #FFFFFF; \/* Crisp White *\/\r\n        margin-bottom: 15px;\r\n        line-height: 1.2;\r\n    }\r\n\r\n    .tb-portfolio-sub {\r\n        font-size: 18px;\r\n        color: #9FA1A4; \/* Platinum Silver *\/\r\n        max-width: 600px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    \/* --- FILTER NAVIGATION --- *\/\r\n    .tb-filter-nav {\r\n        display: flex;\r\n        justify-content: center;\r\n        flex-wrap: wrap;\r\n        gap: 15px;\r\n        margin-bottom: 50px;\r\n    }\r\n\r\n    .tb-filter-btn {\r\n        background: #1C1C1C; \/* Charcoal Shadow *\/\r\n        border: 2px solid rgba(197, 157, 95, 0.2); \/* Faint Gold Border *\/\r\n        color: #9FA1A4; \/* Platinum Silver *\/\r\n        padding: 12px 28px;\r\n        border-radius: 99px;\r\n        font-family: 'Inter', sans-serif;\r\n        font-weight: 600;\r\n        font-size: 15px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        box-shadow: 0 4px 10px rgba(0,0,0,0.3);\r\n    }\r\n\r\n    .tb-filter-btn:hover {\r\n        border-color: #C59D5F; \/* Rich Gold *\/\r\n        color: #E8CA8C; \/* Champagne Gold *\/\r\n        background: rgba(197, 157, 95, 0.1);\r\n    }\r\n\r\n    .tb-filter-btn.active {\r\n        background: #C59D5F; \/* Rich Gold *\/\r\n        border-color: #C59D5F;\r\n        color: #0A0A0A; \/* Deep Obsidian Text *\/\r\n        box-shadow: 0 8px 20px rgba(197, 157, 95, 0.25);\r\n    }\r\n\r\n    \/* --- UNIFORM GRID LAYOUT --- *\/\r\n    .tb-portfolio-grid {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n        display: grid;\r\n        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\r\n        gap: 20px;\r\n    }\r\n\r\n    .tb-gallery-item {\r\n        position: relative;\r\n        display: block;\r\n        border-radius: 16px;\r\n        overflow: hidden;\r\n        aspect-ratio: 4 \/ 3; \r\n        background-color: #1C1C1C;\r\n        transform: scale(1);\r\n        opacity: 1;\r\n        transition: transform 0.4s ease, opacity 0.4s ease, box-shadow 0.4s ease;\r\n        cursor: pointer;\r\n        box-shadow: 0 10px 20px rgba(0,0,0,0.4);\r\n        border: 1px solid rgba(197, 157, 95, 0.1);\r\n    }\r\n\r\n    .tb-gallery-item.tb-hidden {\r\n        display: none !important; \r\n    }\r\n\r\n    .tb-gallery-item:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: 0 15px 30px rgba(197, 157, 95, 0.15);\r\n        border-color: rgba(197, 157, 95, 0.3);\r\n        z-index: 2;\r\n    }\r\n\r\n    .tb-gallery-img {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: cover; \r\n        transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);\r\n    }\r\n\r\n    \/* --- PREMIUM HOVER OVERLAY --- *\/\r\n    .tb-gallery-overlay {\r\n        position: absolute;\r\n        inset: 0;\r\n        background: linear-gradient(to top, rgba(10, 10, 10, 0.95) 0%, rgba(197, 157, 95, 0.4) 100%);\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: center;\r\n        align-items: center;\r\n        opacity: 0;\r\n        transition: opacity 0.4s ease;\r\n    }\r\n\r\n    .tb-gallery-overlay i {\r\n        color: #C59D5F; \/* Rich Gold Icon *\/\r\n        font-size: 36px;\r\n        margin-bottom: 15px;\r\n        transform: translateY(20px) scale(0.8);\r\n        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n    }\r\n\r\n    .tb-overlay-text {\r\n        color: #FFFFFF; \/* Crisp White Text *\/\r\n        font-family: 'Poppins', sans-serif;\r\n        font-weight: 700;\r\n        font-size: 16px;\r\n        letter-spacing: 1px;\r\n        text-transform: uppercase;\r\n        transform: translateY(20px);\r\n        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n        transition-delay: 0.05s;\r\n    }\r\n\r\n    .tb-gallery-item:hover .tb-gallery-img { \r\n        transform: scale(1.08); \r\n    }\r\n    .tb-gallery-item:hover .tb-gallery-overlay { \r\n        opacity: 1; \r\n    }\r\n    .tb-gallery-item:hover .tb-gallery-overlay i,\r\n    .tb-gallery-item:hover .tb-overlay-text { \r\n        transform: translateY(0) scale(1); \r\n    }\r\n\r\n    \/* RESPONSIVE *\/\r\n    @media (max-width: 768px) {\r\n        .tb-portfolio-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 15px; }\r\n        .tb-filter-btn { padding: 10px 20px; font-size: 14px; }\r\n    }\r\n    @media (max-width: 480px) {\r\n        .tb-portfolio-grid { grid-template-columns: 1fr; }\r\n    }\r\n<\/style>\r\n\r\n<section class=\"tb-portfolio-section\">\r\n    <div class=\"tb-portfolio-header\">\r\n        <h2 class=\"tb-portfolio-h2\">Featured Projects<\/h2>\r\n        <p class=\"tb-portfolio-sub\">Explore our recent builds. Select a project category below to view the gallery.<\/p>\r\n    <\/div>\r\n\r\n    <!-- FILTER BUTTONS (All Projects removed, Residential set as default active) -->\r\n    <div class=\"tb-filter-nav\" id=\"tb-portfolio-filters\">\r\n        <button class=\"tb-filter-btn\" data-filter=\"commercial\">Commercial<\/button>\r\n        <button class=\"tb-filter-btn active\" data-filter=\"residential\">Residential<\/button>\r\n        <button class=\"tb-filter-btn\" data-filter=\"plumbing\">Plumbing<\/button>\r\n        <button class=\"tb-filter-btn\" data-filter=\"engineering\">Engineering<\/button>\r\n        <button class=\"tb-filter-btn\" data-filter=\"roofing\">Roofing<\/button>\r\n        <button class=\"tb-filter-btn\" data-filter=\"mechanical\">Mechanical (HVAC)<\/button>\r\n    <\/div>\r\n\r\n    <!-- GALLERY GRID -->\r\n    <div class=\"tb-portfolio-grid\" id=\"tb-portfolio-gallery\">\r\n        <!-- Images injected via JS below -->\r\n    <\/div>\r\n<\/section>\r\n\r\n<!-- Standard Script Tag -->\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n    const BASE_URL = \"https:\/\/wnsdevelopments.com\/wp-content\/uploads\/2026\/07\/\";\r\n\r\n    \/\/ --- CONFIGURATION FOR CATEGORIES ---\r\n    const projectCategories = [\r\n        {\r\n            id: \"commercial\",\r\n            title: \"Commercial\",\r\n            images: []\r\n        },\r\n        {\r\n            id: \"residential\",\r\n            title: \"Residential\",\r\n            images: [\r\n                \"Residential-1\", \"Residential-2\", \"Residential-3\", \"Residential-4\", \"Residential-5\", \r\n                \"Residential-6\", \"Residential-7\", \"Residential-8\", \"Residential-9\", \"Residential-10\", \r\n                \"Residential-11\", \"Residential-12\", \"Residential-13\", \"Residential-14\", \"Residential-15\", \r\n                \"Residential-16\", \"Residential-17\", \"Residential-18\", \"Residential-19\", \"Residential-20\", \r\n                \"Residential-21\", \"Residential-22\", \"Residential-23\", \"Residential-24\", \"Residential-25\", \r\n                \"Residential-26\", \"Residential-27\", \"Residential-28\", \"Residential-29\", \"Residential-30\", \r\n                \"Residential-31\", \"Residential-32\", \"Residential-33\", \"Residential-34\", \"Residential-35\", \r\n                \"Residential-36\"\r\n            ]\r\n        },\r\n        {\r\n            id: \"plumbing\",\r\n            title: \"Plumbing\",\r\n            images: []\r\n        },\r\n        {\r\n            id: \"engineering\",\r\n            title: \"Engineering\",\r\n            images: []\r\n        },\r\n        {\r\n            id: \"roofing\",\r\n            title: \"Roofing\",\r\n            images: [\r\n                \"Roofing-1\", \"Roofing-2\", \"Roofing-3\", \"Roofing-4\", \"Roofing-5\", \"Roofing-6\", \r\n                \"Roofing-7\", \"Roofing-8\", \"Roofing-9\", \"Roofing-10\", \"Roofing-11\", \"Roofing-12\", \r\n                \"Roofing-13\", \"Roofing-14\", \"Roofing-15\", \"Roofing-16\", \"Roofing-17\", \"Roofing-18\", \r\n                \"Roofing-19\", \"Roofing-20\", \"Roofing-21\", \"Roofing-22\", \"Roofing-23\"\r\n            ]\r\n        },\r\n        {\r\n            id: \"mechanical\",\r\n            title: \"Mechanical (HVAC)\",\r\n            images: [\r\n                \"Mechanical-HVAC-1\", \"Mechanical-HVAC-2\", \"Mechanical-HVAC-3\", \"Mechanical-HVAC-4\", \r\n                \"Mechanical-HVAC-5\", \"Mechanical-HVAC-6\", \"Mechanical-HVAC-7\", \"Mechanical-HVAC-8\", \r\n                \"Mechanical-HVAC-9\", \"Mechanical-HVAC-10\", \"Mechanical-HVAC-11\", \"Mechanical-HVAC-12\", \r\n                \"Mechanical-HVAC-13\", \"Mechanical-HVAC-14\"\r\n            ]\r\n        }\r\n    ];\r\n\r\n    const galleryGrid = document.getElementById('tb-portfolio-gallery');\r\n    let generatedHTML = \"\";\r\n\r\n    \/\/ Generate gallery items dynamically using .jpeg extension\r\n    projectCategories.forEach(category => {\r\n        category.images.forEach(imageName => {\r\n            const imgUrl = `${BASE_URL}${imageName}.jpeg`;\r\n            generatedHTML += `\r\n                <a href=\"${imgUrl}\" class=\"tb-gallery-item ${category.id}\" data-category=\"${category.id}\">\r\n                    <!-- onerror hides the container if the specific image doesn't exist on your server -->\r\n                    <img decoding=\"async\" src=\"${imgUrl}\" class=\"tb-gallery-img\" alt=\"${category.title} Project\" onerror=\"this.parentElement.style.display='none'\">\r\n                    <div class=\"tb-gallery-overlay\">\r\n                        <i class=\"fa-solid fa-magnifying-glass-plus\"><\/i>\r\n                        <span class=\"tb-overlay-text\">${category.title}<\/span>\r\n                    <\/div>\r\n                <\/a>\r\n            `;\r\n        });\r\n    });\r\n\r\n    \/\/ Inject into DOM\r\n    galleryGrid.innerHTML = generatedHTML;\r\n\r\n    \/\/ Apply initial filter (Residential) so the page isn't blank since 'All' is gone\r\n    const initialActiveFilter = document.querySelector('.tb-filter-btn.active').getAttribute('data-filter');\r\n    const galleryItems = document.querySelectorAll('.tb-gallery-item');\r\n    \r\n    galleryItems.forEach(item => {\r\n        if (item.getAttribute('data-category') === initialActiveFilter) {\r\n            item.classList.remove('tb-hidden');\r\n        } else {\r\n            item.classList.add('tb-hidden');\r\n        }\r\n    });\r\n\r\n    let lightbox;\r\n\r\n    \/\/ Function to initialize\/re-initialize PhotoSwipe\r\n    function initPhotoSwipe() {\r\n        if (lightbox) {\r\n            lightbox.destroy(); \r\n        }\r\n\r\n        \/\/ Initialize using the Global PhotoSwipe object provided by the UMD scripts\r\n        lightbox = new PhotoSwipeLightbox({\r\n            gallery: '#tb-portfolio-gallery',\r\n            children: '.tb-gallery-item:not(.tb-hidden)', \r\n            pswpModule: PhotoSwipe, \r\n            bgOpacity: 0.95,\r\n            zoom: true,\r\n            counter: true,\r\n            arrowKeys: true, \r\n            wheelToZoom: true\r\n        });\r\n\r\n        lightbox.init();\r\n    }\r\n\r\n    \/\/ Auto-detect image dimensions dynamically to prevent stretching\r\n    function updateDimensions() {\r\n        document.querySelectorAll('.tb-gallery-item').forEach(item => {\r\n            const img = item.querySelector('img');\r\n            if (img.complete) {\r\n                if(img.naturalWidth && img.naturalHeight) {\r\n                    item.setAttribute('data-pswp-width', img.naturalWidth);\r\n                    item.setAttribute('data-pswp-height', img.naturalHeight);\r\n                }\r\n            } else {\r\n                img.addEventListener('load', () => {\r\n                    if(img.naturalWidth && img.naturalHeight) {\r\n                        item.setAttribute('data-pswp-width', img.naturalWidth);\r\n                        item.setAttribute('data-pswp-height', img.naturalHeight);\r\n                    }\r\n                });\r\n            }\r\n        });\r\n    }\r\n\r\n    \/\/ Filter Logic\r\n    const filterBtns = document.querySelectorAll('.tb-filter-btn');\r\n\r\n    filterBtns.forEach(btn => {\r\n        btn.addEventListener('click', () => {\r\n            filterBtns.forEach(b => b.classList.remove('active'));\r\n            btn.classList.add('active');\r\n\r\n            const filterValue = btn.getAttribute('data-filter');\r\n\r\n            galleryItems.forEach(item => {\r\n                \/\/ Ignore items that errored out and hid themselves\r\n                if(item.style.display === 'none' && !item.classList.contains('tb-hidden')) return;\r\n\r\n                \/\/ Since 'all' is removed, it strictly matches the data-category\r\n                if (item.getAttribute('data-category') === filterValue) {\r\n                    item.classList.remove('tb-hidden');\r\n                } else {\r\n                    item.classList.add('tb-hidden');\r\n                }\r\n            });\r\n\r\n            \/\/ Re-initialize PhotoSwipe so arrows ignore hidden items\r\n            initPhotoSwipe();\r\n        });\r\n    });\r\n\r\n    \/\/ Run on Initial Load\r\n    updateDimensions();\r\n    initPhotoSwipe();\r\n\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Featured Projects Explore our recent builds. Select a project category below to view the gallery. Commercial Residential Plumbing Engineering Roofing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-567","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gallery - WNS Development Group<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gallery - WNS Development Group\" \/>\n<meta property=\"og:description\" content=\"Featured Projects Explore our recent builds. Select a project category below to view the gallery. Commercial Residential Plumbing Engineering Roofing [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/\" \/>\n<meta property=\"og:site_name\" content=\"WNS Development Group\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-16T20:56:46+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/gallery\\\/\",\"url\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/gallery\\\/\",\"name\":\"Gallery - WNS Development Group\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/#website\"},\"datePublished\":\"2026-03-08T17:17:31+00:00\",\"dateModified\":\"2026-07-16T20:56:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/gallery\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/gallery\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/gallery\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gallery\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/#website\",\"url\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/\",\"name\":\"WNS Development Group\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/#organization\",\"name\":\"WNS Development Group\",\"url\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/WNSlogo.jpeg\",\"contentUrl\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/WNSlogo.jpeg\",\"width\":1254,\"height\":1254,\"caption\":\"WNS Development Group\"},\"image\":{\"@id\":\"https:\\\/\\\/bizexceldemo.com\\\/websites\\\/wns\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gallery - WNS Development Group","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:\/\/bizexceldemo.com\/websites\/wns\/gallery\/","og_locale":"en_US","og_type":"article","og_title":"Gallery - WNS Development Group","og_description":"Featured Projects Explore our recent builds. Select a project category below to view the gallery. Commercial Residential Plumbing Engineering Roofing [&hellip;]","og_url":"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/","og_site_name":"WNS Development Group","article_modified_time":"2026-07-16T20:56:46+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/","url":"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/","name":"Gallery - WNS Development Group","isPartOf":{"@id":"https:\/\/bizexceldemo.com\/websites\/wns\/#website"},"datePublished":"2026-03-08T17:17:31+00:00","dateModified":"2026-07-16T20:56:46+00:00","breadcrumb":{"@id":"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/bizexceldemo.com\/websites\/wns\/gallery\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bizexceldemo.com\/websites\/wns\/"},{"@type":"ListItem","position":2,"name":"Gallery"}]},{"@type":"WebSite","@id":"https:\/\/bizexceldemo.com\/websites\/wns\/#website","url":"https:\/\/bizexceldemo.com\/websites\/wns\/","name":"WNS Development Group","description":"","publisher":{"@id":"https:\/\/bizexceldemo.com\/websites\/wns\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bizexceldemo.com\/websites\/wns\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bizexceldemo.com\/websites\/wns\/#organization","name":"WNS Development Group","url":"https:\/\/bizexceldemo.com\/websites\/wns\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bizexceldemo.com\/websites\/wns\/#\/schema\/logo\/image\/","url":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-content\/uploads\/2026\/01\/WNSlogo.jpeg","contentUrl":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-content\/uploads\/2026\/01\/WNSlogo.jpeg","width":1254,"height":1254,"caption":"WNS Development Group"},"image":{"@id":"https:\/\/bizexceldemo.com\/websites\/wns\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/pages\/567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/comments?post=567"}],"version-history":[{"count":64,"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/pages\/567\/revisions"}],"predecessor-version":[{"id":1655,"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/pages\/567\/revisions\/1655"}],"wp:attachment":[{"href":"https:\/\/bizexceldemo.com\/websites\/wns\/wp-json\/wp\/v2\/media?parent=567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}