{"id":2489,"date":"2025-02-18T15:02:56","date_gmt":"2025-02-18T15:02:56","guid":{"rendered":"https:\/\/wkfengineering.be\/services\/telecom-networks\/"},"modified":"2025-11-13T08:34:46","modified_gmt":"2025-11-13T08:34:46","slug":"telecom-networks","status":"publish","type":"page","link":"https:\/\/wkfengineering.be\/en\/services\/telecom-networks\/","title":{"rendered":"Telecom networks"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2489\" class=\"elementor elementor-2489 elementor-513\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c824dc e-flex e-con-boxed e-con e-parent\" data-id=\"4c824dc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-f58bdda e-con-full new-hero-clip e-flex e-con e-child\" data-id=\"f58bdda\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6a1f61a elementor-widget elementor-widget-spacer\" data-id=\"6a1f61a\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-71bcf7d elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"71bcf7d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h1>Fibre engineering:\u2028<\/h1><h1>the backbone of\u2028digital transformation<\/h1>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe9d41c elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"fe9d41c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h1>Fibre engineering:\u2028the backbone<\/h1><p>of digital transformation<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-209f0d3 e-flex e-con-boxed e-con e-parent\" data-id=\"209f0d3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-26f9358 e-flex e-con-boxed e-con e-parent\" data-id=\"26f9358\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f63e86 elementor-widget__width-initial elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"5f63e86\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 WKF stands for we know fibre \u2014 and when you combine that with our engineering mindset, this makes us the one premium partner you need in the telecom industry for everything from advice and design to consultancy and software. Both operators and contractors can count on our expertise to help roll out sustainable and top-quality telecom networks in Belgium and abroad.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d99ce77 elementor-widget__width-initial elementor-hidden-desktop elementor-widget elementor-widget-text-editor\" data-id=\"d99ce77\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0WKF stands for we know fibre \u2014 and when you combine that with our engineering mindset, this makes us the one premium partner you need in the telecom industry for everything from advice and design to consultancy and software. Both operators and contractors can count on our expertise to help roll out sustainable and top-quality telecom networks in Belgium and abroad.<\/p>\t\t\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<div class=\"elementor-element elementor-element-fc8fe22 elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"fc8fe22\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-513cf73 e-flex e-con-boxed e-con e-parent\" data-id=\"513cf73\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d9360dc elementor-widget elementor-widget-shortcode\" data-id=\"d9360dc\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">       <section class=\"static-selector-wpr\">\n      <div class=\"static-selector-ctr\">\n        <div class=\"items-ctr\">\n          <div class=\"custom-item\" data-index=\"0\">\n            <div class=\"flex\">\n              <h2>How does WKF Engineering support operators?  <\/h2>\n              <img decoding=\"async\" class=\"chevron-R\" src=\"https:\/\/wkf.boemagency.be\/\/wp-content\/uploads\/2025\/01\/WKF_chevron_right_L.svg\" \/>\n            <\/div>\n            <div class=\"timer-border hidden\"><div class=\"timer-fill\"><\/div><\/div>\n\n          <\/div>\n          <div class=\"custom-item\" data-index=\"1\">\n            <div class=\"flex opacity-02\">\n            <h2>What can WKF Engineering do for contractors? <\/h2>\n            <img decoding=\"async\" class=\"chevron-R\" src=\"https:\/\/wkf.boemagency.be\/\/wp-content\/uploads\/2025\/01\/WKF_chevron_right_L.svg\" \/>\n            <\/div>\n            <div class=\"timer-border hidden\"><div class=\"timer-fill\"><\/div><\/div>\n\n          <\/div>\n        <\/div>\n\n        <div class=\"desc-ctr\">\n          <div class=\"desc\" data-index=\"0\">\n          <p>If you&#8217;re harbouring an ambition to keep investing in the rollout of your fibre network, check out how WKF Engineering&#8217;s expertise could help you! With our in-house know-how, you get to drive your sustainable investment forward without a care in the world.<\/p>\n<p>We can help with:<\/p>\n<ul>\n<li>Advice &amp; Studies<\/li>\n<li>Site acquisition<\/li>\n<li>Design<\/li>\n<li>Permit application<\/li>\n<li>Consultancy<\/li>\n<\/ul>\n            \n          <!-- button -->\n             <div class=\"btn--shine\">\n               <a href=\"https:\/\/wkfengineering.be\/en\/services\/telecom-networks\/operators\/\" class=\"elementor-button\">   Find out more               <\/p>\n                <span class=\"elementor-button-icon\" style=\"fill: rgb(0, 0, 0)\">\n                  <svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-right\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path\n                      d=\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"\n                    ><\/path>\n                  <\/svg>\n                <\/span><\/a>\n<\/div>\n\n          <\/div>\n\n          <div class=\"desc none\" data-index=\"1\">\n          <p>Won a contract to bring fibre to the home? We&#8217;ll draw up the detailed plans you need before you start work, so you can save on time, money and materials. Work more efficiently with WKF Engineering.<\/p>\n<p>We can help with:<\/p>\n<ul>\n<li>Advice &amp; Studies<\/li>\n<li>Outside surveys<\/li>\n<li>Design<\/li>\n<li>Permit applications<\/li>\n<li>Temporary site signage studies<\/li>\n<li>As-built documentation<\/li>\n<li>Consultancy<\/li>\n<\/ul>\n            \n\n\n            <!-- button -->\n             <div class=\"btn--shine\">\n             <a href=\"https:\/\/wkfengineering.be\/en\/services\/telecom-networks\/contractors\/\" class=\"elementor-button\">   Find out more             <\/p>\n                <span class=\"elementor-button-icon\" style=\"fill: rgb(0, 0, 0)\">\n                  <svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-right\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path\n                      d=\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"\n                    ><\/path>\n                  <\/svg>\n                <\/span><\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <style>\n\n          .static-selector-wpr .progress-bar {\n                  position: absolute;\n                  bottom: 0;\n                  left: 0;\n                  width: 0;\n                  height: 5px;\n                  background: #000;\n                  transition: width 5s linear;\n              }\n\n              .static-selector-wpr .timer-border {\n                    width: 100%;\n                    height: 5px;\n                    background-color: lightgray;\n                }\n\n            .static-selector-wpr .timer-fill {\n                width: 0%;\n                height: 100%;\n                background-color: black;\n                transition: width 0.1s linear; \/* Smooth filling *\/\n            }\n            .static-selector-wpr {\n                min-height: 500px;\n            }\n\n            .static-selector-ctr {\n            display: flex;\n            align-items: start;\n            justify-content: center;\n            gap: 100px;\n            height: 100%;\n            width: 100%;\n            }\n\n            .static-selector-wpr .items-ctr {\n            width: 100%;\n            text-align: left;\n            }\n\n            .static-selector-wpr .flex {\n            display: flex;\n            justify-content: space-between;\n            }\n\n            .static-selector-wpr ul {\n            padding: 0 0 3rem 0;\n            }\n\n            .static-selector-wpr ul li {\n            list-style-type: none;\n            display: flex;\n            align-items: center;\n            gap: 15px;\n            }\n\n            .static-selector-wpr li:before {\n            content: \"\u00b7\";\n            font-size: 25px;\n            }\n\n            .static-selector-ctr .items-ctr h2{\n            font-family: 'Exo 2', sans-serif;\n            font-size: 45px;\n            font-weight: 400;\n            }\n\n            .static-selector-wpr .items-ctr .custom-item {\n                padding-bottom: 2rem; \n                cursor: pointer; \n            }\n            .static-selector-wpr .desc-ctr {\n            width: 1200px;\n            }\n\n            @media (max-width: 1024px) {\n              .static-selector-ctr .items-ctr h2{\n            font-size: 24px;\n            }\n            }\n\n\n            @media (max-width: 768px) {\n\n              .static-selector-wpr .items-ctr .custom-item {\n                  padding-bottom: 1rem;\n              }\n              .static-selector-wpr ul {\n                  padding: 0 0 1rem 0;\n              }\n              .static-selector-ctr {\n                  flex-direction: column;\n                  gap: 0px;\n              }\n              .static-selector-wpr .desc-ctr {\n            width: 100%;\n            }\n\n            .static-selector-wpr ul li {\n                list-style-type: none;\n                display: flex;\n                align-items: center;\n                gap: 15px;\n                margin: 0;\n                padding: 0;\n                line-height: 0.8;\n            }\n            }\n\n   \n    <\/style>\n\n    <script>\n            \/\/ document.addEventListener(\"DOMContentLoaded\", () => {\n            \/\/ const staticSelector = (() => {\n            \/\/     const wrapper = document.querySelector(\".static-selector-wpr\")\n            \/\/     const items = wrapper.querySelectorAll(\".custom-item\")\n            \/\/     const descriptions = wrapper.querySelectorAll(\".desc\")\n            \/\/     let currentIndex = 0\n\n            \/\/     function updateDescription(index) {\n            \/\/     descriptions.forEach((desc, i) => {\n            \/\/         desc.classList.toggle(\"none\", i !== index)\n            \/\/     })\n            \/\/     }\n\n            \/\/     function fadeNonFocussed(index) {\n            \/\/     items.forEach((item, i) => {\n            \/\/         const flexItem = item.querySelector(\".flex\")\n            \/\/         flexItem.classList.toggle(\"opacity-02\", i !== index)\n            \/\/     })\n            \/\/     }\n            \/\/     \/\/ Hover listeners\n            \/\/     items.forEach((item) => {\n            \/\/     item.addEventListener(\"click\", (e) => {\n            \/\/         const index = parseInt(e.currentTarget.dataset.index)\n            \/\/         updateDescription(index)\n            \/\/         fadeNonFocussed(index)\n            \/\/     })\n            \/\/     })\n            \/\/ })()\n            \/\/ })\n\n            document.addEventListener(\"DOMContentLoaded\", () => {\n              const wrapper = document.querySelector(\".static-selector-wpr\");\n    const items = wrapper.querySelectorAll(\".custom-item\");\n    const descriptions = wrapper.querySelectorAll(\".desc\");\n    const imgs = wrapper.querySelectorAll(\".custom-img\");\n    let currentIndex = 0;\n    let timerInterval;\n    const duration = 5000; \/\/ Duration for the timer (5 seconds)\n    \n\n    function startTimer(index) {\n        \/\/ Reset all previous borders and fills\n        resetTimers();\n\n        const currentItem = items[index];\n        const timerFill = currentItem.querySelector('.timer-fill');\n        currentItem.querySelector('.timer-border').classList.remove('hidden');\n        let startTime = Date.now();\n\n        function updateFill() {\n            const elapsed = Date.now() - startTime;\n            const progress = Math.min((elapsed \/ duration) * 100, 100);\n            timerFill.style.width = `${progress}%`;\n\n            if (progress < 100) {\n                timerInterval = requestAnimationFrame(updateFill); \/\/ Continue filling\n            } else {\n                \/\/ When the current timer is done\n                currentItem.querySelector('.timer-border').classList.add('hidden');\n                timerFill.style.width = '0%'; \/\/ Reset the fill for the next cycle\n                currentIndex = (index + 1) % items.length; \/\/ Move to the next item (loop back to 0 if at the end)\n                updateDescription(currentIndex);\n                updateImg(currentIndex);\n                fadeNonFocussed(currentIndex);\n                startTimer(currentIndex); \/\/ Start the timer for the next item\n            }\n        }\n\n        updateFill();\n    }\n\n    function resetTimers() {\n        \/\/ Reset all timers (stop filling on all items)\n        items.forEach(item => {\n            const timerFill = item.querySelector('.timer-fill');\n            item.querySelector('.timer-border').classList.add('hidden');\n            timerFill.style.width = '0%';\n        });\n        cancelAnimationFrame(timerInterval); \/\/ Clear the current animation \n    }\n\n    function updateDescription(index) {\n        descriptions.forEach((desc, i) => {\n            desc.classList.toggle('none', i !== index);\n        });\n    }\n\n    function updateImg(index) {\n        imgs.forEach((img, i) => {\n            if (i === index) {\n                img.classList.add('active');\n            } else {\n                img.classList.remove('active');\n            }\n        });\n    }\n\n    function fadeNonFocussed(index) {\n        items.forEach((item, i) => {\n            const flexItem = item.querySelector('.flex');\n            flexItem.classList.toggle('opacity-02', i !== index);\n        });\n    }\n\n\n    if (window.innerWidth <= 768) { \/\/ Adjust for your mobile breakpoint\n      items.forEach((item, index) => {\n        item.addEventListener('click', () => {\n            resetTimers(); \/\/ Reset all timers\n            updateDescription(index); \/\/ Show description for the hovered item\n            updateImg(index); \/\/ Show image for the hovered item\n            fadeNonFocussed(index);\n        })})\n    } else {\n      items.forEach((item, index) => {\n        item.addEventListener('mouseenter', () => {\n            resetTimers(); \/\/ Reset all timers\n            updateDescription(index); \/\/ Show description for the hovered item\n            updateImg(index); \/\/ Show image for the hovered item\n            fadeNonFocussed(index);\n        });\n\n        item.addEventListener('mouseleave', () => {\n            resetTimers(); \/\/ Reset all timers on mouse leave\n            startTimer(currentIndex); \/\/ Restart the timer from the current item\n            \/\/ updateDescription(currentIndex);\n            \/\/ updateImg(currentIndex);\n            \/\/ fadeNonFocussed(currentIndex);\n        });\n    });\n\n    }\n\n\n    \/\/ Initialize first state\n    updateDescription(currentIndex);\n    updateImg(currentIndex);\n    fadeNonFocussed(currentIndex);\n    startTimer(currentIndex);\n\n    \/\/ Start the automatic switch after the page loads\n    function startAutoSwitch() {\n        startTimer(currentIndex); \/\/ Start the timer for the first item\n    }\n\n    startAutoSwitch();\n  });\n\n\n  document.addEventListener(\"DOMContentLoaded\", function () {\n    if (window.innerWidth <= 768) { \/\/ Adjust for your mobile breakpoint\n        document.querySelectorAll(\".static-selector-wpr .custom-item\").forEach(link => {\n            link.removeAttribute(\"href\");\n            link.addEventListener(\"click\", function (e) {\n                e.preventDefault(); \/\/ Stops the link from navigating\n            });\n        });\n    }\n});\n\n    <\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-68a25a0 e-flex e-con-boxed e-con e-parent\" data-id=\"68a25a0\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\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>Fibre engineering:\u2028 the backbone of\u2028digital transformation Fibre engineering:\u2028the backbone of digital transformation \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 WKF stands for we know fibre \u2014 and when you combine that with our engineering mindset, this makes us the one premium partner you need in the telecom industry for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2488,"menu_order":100,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2489","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/pages\/2489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/comments?post=2489"}],"version-history":[{"count":5,"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/pages\/2489\/revisions"}],"predecessor-version":[{"id":5734,"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/pages\/2489\/revisions\/5734"}],"up":[{"embeddable":true,"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/pages\/2488"}],"wp:attachment":[{"href":"https:\/\/wkfengineering.be\/en\/wp-json\/wp\/v2\/media?parent=2489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}