Most project owners and general contractors make the same mistake when a renovation or tenant improvement lands on their desk. They look at the demolition scope and see a simple task: knock things down, haul them away, and clear the space. It gets priced like labor,...
A commercial renovation is one of the most significant investments a business owner or property manager can make. The stakes are high: you need to upgrade your space to meet modern standards, improve functionality, and attract tenants or customers, all while keeping...
If you run a business, your physical space is either working for you or against you. It shapes how customers perceive your brand, how efficiently your team operates, and whether you pass or fail the next health or building inspection. When that space no longer fits...
Adding a garage might start as a conversation about parking, but it quickly becomes a conversation about your entire home. A garage addition changes your foundation footprint, alters your roofline, shifts how you move through your property every morning, and...
A bad foundation is not a cracked driveway you can ignore for a season. It is a structural failure waiting to announce itself through sticking doors, drywall cracks that spread like spiderwebs, and repair bills that can erase a decade of home equity. When searching...
By In | Key Construction Industry Trends Key Construction Industry Trends Key Construction Industry Trends are reshaping the future of the building sector, presenting both challenges and opportunities for businesses. Staying informed about these trends is essential...
(function () {
var nav = document.querySelector('.tk-nav');
if (!nav) return;
var hamburger = nav.querySelector('.tk-nav-hamburger');
var menu = nav.querySelector('.tk-nav-menu');
var backdrop = nav.querySelector('.tk-nav-backdrop');
var subToggles = nav.querySelectorAll('.tk-nav-sub-toggle');
function openMenu() {
hamburger.setAttribute('aria-expanded', 'true');
hamburger.setAttribute('aria-label', 'Close navigation menu');
menu.setAttribute('data-open', 'true');
backdrop.setAttribute('data-open', 'true');
document.body.classList.add('tk-nav-open');
}
function closeMenu() {
hamburger.setAttribute('aria-expanded', 'false');
hamburger.setAttribute('aria-label', 'Open navigation menu');
menu.removeAttribute('data-open');
backdrop.removeAttribute('data-open');
document.body.classList.remove('tk-nav-open');
// Collapse any open submenus
subToggles.forEach(function (toggle) {
toggle.setAttribute('aria-expanded', 'false');
var subId = toggle.getAttribute('aria-controls');
if (subId) {
var sub = document.getElementById(subId);
if (sub) sub.removeAttribute('data-expanded');
}
});
}
hamburger.addEventListener('click', function () {
var isOpen = hamburger.getAttribute('aria-expanded') === 'true';
if (isOpen) { closeMenu(); } else { openMenu(); }
});
backdrop.addEventListener('click', closeMenu);
// Escape key closes mobile menu
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && hamburger.getAttribute('aria-expanded') === 'true') {
closeMenu();
hamburger.focus();
}
});
// Services submenu toggles (mobile)
subToggles.forEach(function (toggle) {
toggle.addEventListener('click', function () {
var isExpanded = toggle.getAttribute('aria-expanded') === 'true';
toggle.setAttribute('aria-expanded', String(!isExpanded));
var subId = toggle.getAttribute('aria-controls');
if (subId) {
var sub = document.getElementById(subId);
if (sub) {
if (isExpanded) { sub.removeAttribute('data-expanded'); }
else { sub.setAttribute('data-expanded', 'true'); }
}
}
});
});
// Auto-close mobile menu if viewport resized back to desktop
var resizeTimer;
window.addEventListener('resize', function () {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function () {
if (window.innerWidth > 1024 && hamburger.getAttribute('aria-expanded') === 'true') {
closeMenu();
}
}, 150);
});
})();
var wpilFrontend = {"ajaxUrl":"/wp-admin/admin-ajax.php","postId":"7","postType":"term","openInternalInNewTab":"0","openExternalInNewTab":"1","disableClicks":"0","openLinksWithJS":"0","trackAllElementClicks":"1","clicksI18n":{"imageNoText":"Image in link: No Text","imageText":"Image Title: ","noText":"No Anchor Text Found"}};
//# sourceURL=wpil-frontend-script-js-extra
var DIVI = {"item_count":"%d Item","items_count":"%d Items"};
var et_builder_utils_params = {"condition":{"diviTheme":true,"extraTheme":false},"scrollLocations":["app","top"],"builderScrollLocations":{"desktop":"app","tablet":"app","phone":"app"},"onloadScrollLocation":"app","builderType":"fe"};
var et_frontend_scripts = {"builderCssContainerPrefix":"#et-boc","builderCssLayoutPrefix":"#et-boc .et-l"};
var et_pb_custom = {"ajaxurl":"https://tektonebuilders.com/wp-admin/admin-ajax.php","images_uri":"https://tektonebuilders.com/wp-content/themes/Divi/images","builder_images_uri":"https://tektonebuilders.com/wp-content/themes/Divi/includes/builder/images","et_frontend_nonce":"8d6e7cf5d8","subscription_failed":"Please, check the fields below to make sure you entered the correct information.","et_ab_log_nonce":"0a32812e33","fill_message":"Please, fill in the following fields:","contact_error_message":"Please, fix the following errors:","invalid":"Invalid email","captcha":"Captcha","prev":"Prev","previous":"Previous","next":"Next","wrong_captcha":"You entered the wrong number in captcha.","wrong_checkbox":"Checkbox","ignore_waypoints":"no","is_divi_theme_used":"1","widget_search_selector":".widget_search","ab_tests":[],"is_ab_testing_active":"","page_id":"4946","unique_test_id":"","ab_bounce_rate":"5","is_cache_plugin_active":"yes","is_shortcode_tracking":"","tinymce_uri":"https://tektonebuilders.com/wp-content/themes/Divi/includes/builder/frontend-builder/assets/vendors","accent_color":"#7EBEC5","waypoints_options":[]};
var et_pb_box_shadow_elements = [];
//# sourceURL=divi-custom-script-js-extra