91³Ô¹ÏÍø

Watch CBS News

Gordie Howe International Bridge 98% complete, bridge authority says

The multi-billion-dollar Gordie Howe International Bridge project has finally reached its final stages. 

According to bridge officials, it's about 98% complete. The final steps are underway, including the installation of electrical and drainage systems. Bridge officials are not detailing when the official opening will be.

"What's really important now is to get construction done and go through the testing and commissioning process. And as we got through that, you test some things and see what you might need to adjust," said Heather Grondin, chief relations officer with the Windsor-Detroit Bridge Authority.

The bridge will help improve the transportation of goods across the border.

"It's fascinating just to see the construction and to see it looks really nice," said Nikita Wright.

There will be 60 total primary inspection lanes between both sides. The bridge itself will have a total of six lanes. In total, the bridge is 1.5 miles long.

"All tolling will be done at the Canadian side of the border. Eight in each direction," Grondin said.

Since 2018, construction of the bridge has been underway. Pricing for the tolls will be announced at a later date.

The bridge will include pathways for pedestrians or those on bikes that will be toll-free. Several road improvements are underway near the bridge. It includes resurfacing and reconstructing. One goal for the bridge was to make things efficient. It will allow for highway-to-highway connectivity.

"Once complete, travelers will basically be able to travel from Montreal to Florida without having to stop at a traffic light," Grondin said.

Several people said that they're glad the bridge is almost done. They say the construction has been a burden.

"It's been heavy traffic, but it's called progress," said Joel Pitts, who works close by where the bridge is located.

"You can't turn the way you want to go, and you have to go a whole opposite direction," Sherry Patton said.

Test lighting on the bridge is underway currently; it's expected to last for several weeks. 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });