91³Ô¹ÏÍø

Watch CBS News

Grand Junction council member among Colorado National Guard troops deploying to the Middle East

More than 200 soldiers with the Colorado Army National Guard's 1st Battalion, 157th Infantry Regiment are preparing to deploy to the Middle East, marking a significant mission that will take them away from their families for nearly a year.

An emotional send off ceremony was held Friday at the Wings Over the Rockies Air and Space Museum in Denver, where families gathered to say goodbye to their loved ones.

Among those deploying is Capt. Robert Ballard, a Grand Junction City Council member and a 17-year National Guard veteran. This will be his first deployment.

deployment2.jpg
Capt. Robert Ballard is seen in the foreground at Wings Over the Rockies Air and Space Museum in Denver CBS

"It's bittersweet," Ballard said. "I'm excited to go and serve my country, but I'm not looking forward to leaving my family."

Ballard is part of a group of soldiers supporting the Multinational Force and Observers, an international peacekeeping mission tasked with maintaining the long-standing treaty between Egypt and Israel.

For his wife, Ashley Ballard, who also serves in the National Guard, the deployment brings both pride and anticipation.

"It's going to be rough, but we'll be back here in a year to welcome him home, and we'll be excited," she said.

deployment.jpg
Capt. Robert Ballard hugs and kisses family members before deployment. CBS

Despite the yearlong assignment in Egypt, Ballard plans to continue serving his community back home. He intends to remain active on the Grand Junction City Council by participating in meetings remotely, even if it means joining calls around 2 a.m. in the morning.

"It's going to be a challenge, don't get me wrong, but I do have a plan," Ballard said. "I'll be chiming in on some calls with city council using remote technologies."

His wife said his commitment comes as no surprise.

"We're anxious, but we support him in everything that he does," she said. "He has a heart for service."

Ballard echoed that sentiment, emphasizing the dual role many National Guard members carry.

"This is what it means to be a citizen-soldier," he said. "I'm very proud to serve the community back home and my country abroad."

The Grand Junction City Council unanimously approved a resolution allowing Ballard to be excused from some meetings during his deployment and to participate remotely when possible. Ballard recused himself from the discussion and vote.

While the mission overseas focuses on maintaining peace, for many families, the sacrifice begins at home.

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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });