Local Contracting Experts Tulsa Visit our main page here or call us at (+1) 918-695-9461 for an estimate. Choosing a local contractor can make all the difference in your project’s success. Local contracting experts in Tulsa bring unmatched knowledge of the area’s...
Custom Tulsa Build Solutions Visit our main page here or call us at (+1) 918-695-9461 for an estimate. Custom build solutions allow you to turn unique ideas into reality. In Tulsa, professional builders offer tailored services for residential and commercial projects....
Construction Management Tulsa Specialists Visit our main page here or call us at (+1) 918-695-9461 for an estimate. Successful construction projects require skilled management to ensure they stay on track, on budget, and meet high-quality standards. Construction...
Commercial Build Professionals Tulsa Visit our main page here or call us at (+1) 918-695-9461 for an estimate. Creating a commercial space demands precision, expertise, and a deep understanding of business needs. Commercial build professionals in Tulsa provide the...
Complete Tulsa Build Services Visit our main page here or call us at (+1) 918-695-9461 for an estimate. Building a project from concept to completion requires expertise, precision, and a strong commitment to quality. Complete Tulsa build services offer comprehensive...
(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":"1","postType":"post","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":"0a3293ad00","subscription_failed":"Please, check the fields below to make sure you entered the correct information.","et_ab_log_nonce":"eb3f26d979","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":"971","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