1<!doctype html> 2<html lang="en"> 3 4 <head> 5 <META http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <META NAME="author" content="Blackfoot Valley Dispatch" /> 7 <META NAME="description" CONTENT="About Blackfoot Valley Dispatch, a weekly Newspaper." /> 8 <META NAME="keywords" CONTENT="Blackfoot Valley Dispatch,weekly Newspaper,about,editorial policy" /> 9 <META NAME="robots" CONTENT="index,follow" /> 10 <META HTTP-EQUIV="cache-control" CONTENT="private, no-store, no-cache, must-revalidate" /> 11 12 <META NAME="revisit-after" CONTENT="30 days" /> 13 14 15 <title>About Blackfoot Valley Dispatch</title> 16 17 <meta name="viewport" content="width=device-width, initial-scale=1"> 18 <link rel="stylesheet" type="text/css" media="screen" href="/app/website_specifics/pdf_click_menu_small.css" /> 19 <link rel="stylesheet" type="text/css" media="screen" href="/ASSET/1537x26334/XPATH/cms/website_specifics/css_themes/monarch/monarch.css" /> 20 21 <link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap" rel="stylesheet" /> 22 23
23<script> 24 // Create a link element for the Font Awesome stylesheet with fallback 25 const font_awesome_link = document.createElement('link'); 26 font_awesome_link.rel = 'stylesheet'; 27 font_awesome_link.type = 'text/css'; 28 font_awesome_link.href = 'https://repo.charityweather.com/files/font_awesome/font-awesome-6.5.1-pro-ll-kit/css/all-ll-min.css'; 29 30 // If loading fails, switch to fallback URL 31 font_awesome_link.onerror = () => { 32 font_awesome_link.href = 'https://repo.lionslight.com/files/font_awesome/font-awesome-6.5.1-pro-ll-kit/css/all-ll-min.css'; 33 }; 34 35 // Prepend the stylesheet to the head for faster priority loading 36 document.head.prepend(font_awesome_link); 37 38 // Optional: Listen for the stylesheet's load event to handle FOUC 39 font_awesome_link.onload = () => { 40 document.documentElement.classList.add('fa-loaded'); 41 }; 42 </script>
42 43 44 45<!-- Desktop/canonical vs. mobile/alternate URLs --> 46<link rel="canonical" href="https://www.blackfootvalleydispatch.com/about"> 47 48 49
49<script src="/app/website_specifics/jquery-2-2-2.min.js"></script>
49 50 51 52
52<script src="/app/js/postscribe/postscribe.min.js"></script>
52 53 54 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 54-55
54 55<script async src="https://www.googletagmanager.com/gtag/js?id=
55UA-117341819-1
vendor: 12 bytes, line 55
55"></script>
56<script>
vendor: 127 bytes, lines 57-60
57window.dataLayer = window.dataLayer || []; 58function gtag(){dataLayer.push(arguments);} 59gtag('js', new Date()); 60gtag('config', '
60UA-117341819-1
vendor: 4 bytes, line 60
60');
61</script>
61 62 63 64 <!-- AD FILLER NETWORK HEADER SCRIPTS (hashtag_head.js) --> 65 66 67 68 69 <!--AD PREFERENCES NEEDED BY JAVASCRIPTS--> 70 71
71<script>const PREFS_LOCAL_AD_SHUFFLER = "normal", PREFS_LOCAL_AD_SHUFFLE_TIMER = 30000, setting_ad_clicks_impressions = "enabled", PREFS_LOCAL_AD_IDLE_LOAD_TIMES = 50, console_logging = "off", privacy_version = "30962", terms_version = "37424", ccsetting = "off", ccrejectbtn = "lg", ccprivacycheckbox = "off";</script>
vendor: 1 bytes, line 71
71
72<script>const ads = JSON.parse('[{"ad_type": "horiz_lg","ad_code": "%3Cimg%20src%3D%22%2FIMG%2Fr%5FyAH9U72R4%5F6Z7r%2DhA%5FBxEHGdVHH%2FXPATH%2Fhome%2Fcms%5Fdata%2Fdfault%2Fweb%5Fads%2Fhoriz%2F2767%2Dwebsite%5Fsponsorship%5Fad%5F728x90%2EjpgXEXT1271x45255%2Ejpeg%22%20width%3D%22728%22%20height%3D%2290%22%20alt%3D%22%22%3E","ad_id": "IcWaiQqYarTuQWgtZwW8mffac%2Dsxlwiw2Xrq1u1tu"}]');</script>
72 73
74<script src="/ASSET/1533x23189/XPATH/cms/website_specifics/monarch_ad_shuffler.js"></script>
74 75
76<script>$(function() { 77 var submitIcon = $('.searchbox-icon'); 78 var inputBox = $('.searchbox-input'); 79 var searchBox = $('.searchbox'); 80 var isOpen = false; 81 submitIcon.click(function () { 82 if (isOpen == false) { 83 searchBox.addClass('searchbox-open'); 84 inputBox.focus(); 85 isOpen = true; 86 } else { 87 searchBox.removeClass('searchbox-open'); 88 inputBox.focusout(); 89 isOpen = false; 90 } 91 }); 92 submitIcon.mouseup(function () { 93 return false; 94 }); 95 searchBox.mouseup(function () { 96 return false; 97 }); 98 $(document).mouseup(function () { 99 if (isOpen == true) { 100 $('.searchbox-icon').css('display', 'block'); 101 submitIcon.click(); 102 } 103 }); 104 105 106 runIf($('.menu').length,'jQuery.sticky','/app/website_specifics/sticky.js',function(){ 107 $(".menu").sticky({ topSpacing: 0, center:true, className:"stickynow" }); 108 }); 109 110 111 112}); 113function buttonUp() { 114 var inputVal = $('.searchbox-input').val(); 115 inputVal = $.trim(inputVal).length; 116 if (inputVal !== 0) { 117 $('.searchbox-icon').css('display', 'none'); 118 } else { 119 $('.searchbox-input').val(''); 120 $('.searchbox-icon').css('display', 'block'); 121 } 122} 123 124 125 126runIf=function(condition,name,url,callback){ 127 if(condition){ 128 runSafe(name,url,callback); 129 } 130} 131 132 133 134runSafe=function(name,url,callback){ 135 if(typeof window[name] != 'undefined'){ 136 callback(); 137 } else { 138 if(typeof runsafe != 'object'){runsafe={};} 139 if(runsafe[url] && runsafe[url].constructor === Array){var loadit=false;} else {runsafe[url]=[];var loadit=true;} 140 runsafe[url].push(callback); 141 // START001 UI stuff not necessary 142 // if (document.body){document.body.style.borderTop="10px solid red";} 143 // END001 UI stuff not necessary 144 if (loadit){ 145 var js = document.createElement('script'); 146 js.async = true; 147 js.src = url; 148 js.onload = js.onreadystatechange = (function(){return function(){ 149 while(runsafe[url].length){ 150 var f=runsafe[url].shift(); 151 f(); 152 } 153 delete runsafe[url]; 154 var count = 0; for (var k in runsafe) if (runsafe.hasOwnProperty(k)) count++; 155 if(count==0){ 156 // START002 UI stuff not necessary 157 if (document.body){document.body.style.borderTop="none";} 158 // END002 UI stuff not necessary 159 } 160 }})(); 161 var first = document.getElementsByTagName('script')[0]; 162 first.parentNode.insertBefore(js, first); 163 } 164 } 165} 166 167 168 169</script>
169 170 171<style> 172.preLoadImg { 173 display: none; 174} 175#undefined-sticky-wrapper:before { 176 height:50px; 177 background-color: #B6BD98; 178} 179</style> 180 181<!-- CSS for print_sub_alert --> 182<style> 183 184.print_sub_container { 185 width:auto; 186} 187.print_sub_container div { 188 width:auto; 189} 190.print_sub_container .print_sub_header { 191// background-color:#c7edfc; 192// padding: 12px 2px; 193 cursor: pointer; 194 font-weight: bold; 195} 196.print_sub_container .print_sub_content { 197 display: none; 198 padding : 5px; 199} 200</style> 201 202 203 204 205 206 207 208 </head> 209 <body> 210 211 212<img class="preLoadImg" src="/home/cms_data/dfault/images/home-menu-icon.png" width="1" height="1" alt="" /> 213<img class="preLoadImg" src="/home/cms_data/dfault/images/home-menu-active-icon.png" width="1" height="1" alt="" /> 214 215 216 217 218 <section class="top-bar"> 219 <div class="container"> 220 <div class="row"> 221 <div class="col-sm-2"> 222 <ul class="social"> 223 <li class="nav-item jvlmn"><a href="https://www.facebook.com/BlackfootValleyDispatch" target="n/a"><i class='fa-brands fa-facebook-f' aria-hidden='true'></i></a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/rss" target="n/a"><i class='fa fa-rss' aria-hidden='true'></i></a></li> 224 </ul> 225 </div> 226 <div class="col-sm-10 text-right"> 227 <div id="main_menu"> 228 <ul class="links"> 229 <li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/classifieds" >Classifieds</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/directory" >Directory</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/photos" >Photos</a></li><li class="nav-item jvlmn"><a class="active" href="https://www.blackfootvalleydispatch.com/about" >About</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/contact" >Contact</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/advertise" >Advertise</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/register" >Register</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/login?r=%2Fabout" >Sign In</a></li> 230 </ul> 231 </div> 232 </div> 233 </div> 234 </div> 235 </section> 236 237 238 <!--/// Header ///--> 239 <header class="header home-4"> 240 <div class="container"> 241 <div class="row"> 242 <div class="col-sm-9"> 243 <figure class="logo"><a href="https://www.blackfootvalleydispatch.com/" aria-label="Home"><img src="/home/cms_data/dfault/images/masthead_990x100.png" alt="" class="logo"></a> 244 </figure> 245 </div> 246 <div class="col-sm-3 text-right xs-none"> 247 </div> 248 </div> 249 <div class="row"> 250 <div class="col-sm-12"> 251 <div class="date"> 252 <div class="grid_1 rightone"> 253 <p class="pub_date"> 254 The Blackfoot Valley's News Source Since 1980 255 </p> 256 </div> 257 </div> 258 </div> 259 </div> 260 </div> 261 </header> 262<!-- Dynamic script (11-21-2025) --> 263<style> 264#JvlNavbarContent { 265 width: 100% /* Prevents wrapping */ 266} 267#JvlNavbarContent .nav { 268 flex-wrap: nowrap; /* Prevents wrapping */ 269} 270#JvlNavbarContent .nav a { 271 white-space: nowrap; /* Prevents text wrapping */ 272} 273#JvlNavbarContent .nav > li { /* Hide all menu items initially */ 274 opacity: 0; 275 /* transition: opacity 0.2s ease; /* Animation when JS adds .show */ 276} 277#JvlNavbarContent .nav > li.show { /* Reveal all menu items */ 278 opacity: 1; 279} 280 281/* ADDED 12-4-2025: Apply opacity: 1 when screen width is 990px or less */ 282@media screen and (max-width: 990px) { 283 #JvlNavbarContent .nav > li { 284 opacity: 1; 285 } 286} 287 288</style>
289<script>const dynamicMenu = true;</script>
289 290 <section class="header home-4" style="top:0;position:sticky;padding-top:0;z-index:2022;"> 291 <div class="container"> 292 <div class="row"> 293 <div class="col-sm-12"> 294 <nav class="navbar navbar-expand-lg navbar-default"> 295 <div class="navbar-header"> 296 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#JvlNavbarContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> 297 <i class="fa fa-bars" style="color:#fff;"></i> 298 </button> 299 </div> 300 301 <!-- Collect the nav links, forms, and other content for toggling --> 302 <div class="collapse navbar-collapse" id="JvlNavbarContent"> 303 <ul class="nav navbar-nav me-auto mb-2 mb-lg-0"><li class="nav-item jvlmnreg"><a class="nav-link" href="https://www.blackfootvalleydispatch.com/">Home</a></li><li class="nav-item jvlmnreg"><a class="nav-link" href="https://www.blackfootvalleydispatch.com/section/news">News</a></li><li class="nav-item jvlmnreg"><a class="nav-link" href="https://www.blackfootvalleydispatch.com/section/community">Community</a></li><li class="nav-item jvlmnreg"><a class="nav-link" href="https://www.blackfootvalleydispatch.com/section/outdoors">Outdoors</a></li> 304 <li class="dropdown nav-item jvlmnreg"> 305 <a href="https://www.blackfootvalleydispatch.com/section/viewpoints" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Viewpoints <span class="caret"></span></a> 306 <ul class="dropdown-menu"> 307 <li class="nav-item jvlmnreg"><a href="https://www.blackfootvalleydispatch.com/section/viewpoints" class="dropdown-item nav-link">All</a></li> 308 <li class="nav-item jvlmnreg"><a href="https://www.blackfootvalleydispatch.com/section/viewpoints/columns" class="dropdown-item nav-link">Columns</a></li> 309 <li class="nav-item jvlmnreg"><a href="https://www.blackfootvalleydispatch.com/section/viewpoints/opinion" class="dropdown-item nav-link">Opinion</a></li> 310 </ul></li><li class="nav-item jvlmnreg"><a class="nav-link" href="https://www.blackfootvalleydispatch.com/section/obits">Obits</a></li> 311 <li class="dropdown nav-item jvlmnreg"> 312 <a href="https://www.blackfootvalleydispatch.com/section/calendar" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Calendar <span class="caret"></span></a> 313 <ul class="dropdown-menu"> 314 <li class="nav-item jvlmnreg"><a href="https://www.blackfootvalleydispatch.com/section/calendar" class="dropdown-item nav-link">All</a></li> 315 <li class="nav-item jvlmnreg"><a href="https://www.blackfootvalleydispatch.com/section/calendar/church%5Fservices" class="dropdown-item nav-link">Church Services</a></li> 316 <li class="nav-item jvlmnreg"><a href="https://www.blackfootvalleydispatch.com/section/calendar/community%5Fevents%5Fcalendar" class="dropdown-item nav-link">Community Events Calendar</a></li> 317 <li class="nav-item jvlmnreg"><a href="https://www.blackfootvalleydispatch.com/section/calendar/meetings" class="dropdown-item nav-link">Meetings</a></li> 318 </ul></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/classifieds" >Classifieds</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/directory" >Directory</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/photos" >Photos</a></li><li class="nav-item jvlmn"><a class="active" href="https://www.blackfootvalleydispatch.com/about" >About</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/contact" >Contact</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/advertise" >Advertise</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/register" >Register</a></li><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/login?r=%2Fabout" >Sign In</a></li> 319 </ul><ul class="nav navbar-nav ml-auto"><div class="navbar-nav ml-auto"> 320 <a href="javascript:;" class="search-toggler"> 321 <i class="fa fa-search"></i> 322 </a> 323 <div id="search-form"> 324 <form method="GET" class="searchbox" autocomplete="on" action="/findit" NAME="findit"> 325 <input class="search" type="text" name="mysearch" placeholder="Search" required="" value="" title="search"> 326 <input class="submit-search" type="submit" value="Submit"> 327 </form> 328 </div> 329 </div></ul></div> 330 </nav>
331 </div> 332 </div> 333 </div> 334 </section>
335<script> 336/** 337 * Dynamic Navigation Menu with Responsive Overflow 338 * Automatically collapses menu items into a "More..." dropdown on narrow screens 339 */ 340 341(function() { 342 'use strict'; 343 344 // Configuration 345 const CONFIG = { 346 RESERVED_SPACE: 200, 347 BREAKPOINT: 990, 348 DEBOUNCE_DELAY: 0, 349 SELECTOR: { 350 MAIN_MENU: 'ul.nav.navbar-nav.me-auto', 351 DROPDOWN_TOGGLE: '[data-bs-toggle="dropdown"]' 352 }, 353 CLASS: { 354 NAV_ITEM: 'nav-item', 355 NAV_LINK: 'nav-link', 356 DROPDOWN: 'dropdown', 357 DROPDOWN_ITEM: 'dropdown-item', 358 DROPDOWN_MENU: 'dropdown-menu', 359 DROPEND: 'dropend', 360 HIDDEN: 'd-none', 361 PROTECTED: 'jvlmn', 362 REGULAR: 'jvlmnreg', 363 MORE_DROPDOWN: 'more-dropdown', 364 MORE_MENU: 'more-menu' 365 } 366 }; 367 368 // State management 369 let resizeTimer = null; 370 let mainMenu = null; 371 let moreDropdown = null; 372 let moreMenu = null; 373 let hasInitialized = false; // track if init() has run 374 375 /** 376 * Initialize the dynamic menu system 377 */ 378 function init() { 379 try { 380 if (hasInitialized) return; // safety check 381 hasInitialized = true; 382 // Check if dynamic menu is enabled 383 if (!shouldInitialize()) { 384 return; 385 } 386 387 mainMenu = document.querySelector(CONFIG.SELECTOR.MAIN_MENU); 388 389 if (!mainMenu) { 390 console.error('[DynamicMenu] Main menu not found. Selector:', CONFIG.SELECTOR.MAIN_MENU); 391 return; 392 } 393 394 mergeExistingMoreDropdowns(); 395 setupEventListeners(); 396 adjustMenu(); 397 showNavbar(); 398 } catch (error) { 399 console.error('[DynamicMenu] Initialization error:', error); 400 } 401 } 402 403 /** 404 * Show navbar sections on page load 405 */ 406 function showNavbar() { 407 const items = document.querySelectorAll('#JvlNavbarContent .navbar-nav > li'); 408 items.forEach((item, index) => { 409 item.classList.add('show'); 410 }); 411 } 412 413 /** 414 * Find and merge any pre-existing "More..." dropdowns 415 */ 416 function mergeExistingMoreDropdowns() { 417 const existingDropdowns = Array.from(mainMenu.querySelectorAll('li')) 418 .filter(li => li && li.textContent.trim().toLowerCase().startsWith('more...')); 419 420 // Create our consolidated More... dropdown 421 createMoreDropdown(); 422 423 // Merge items from existing dropdowns 424 existingDropdowns.forEach(dropdown => { 425 if (dropdown === moreDropdown) return; 426 427 const items = dropdown.querySelectorAll(`.${CONFIG.CLASS.DROPDOWN_MENU} > li`); 428 items.forEach(item => moreMenu.appendChild(item)); 429 dropdown.remove(); 430 }); 431 } 432 433 /** 434 * Create the More... dropdown element 435 */ 436 function createMoreDropdown() { 437 moreDropdown = document.createElement('li'); 438 moreDropdown.className = `${CONFIG.CLASS.NAV_ITEM} ${CONFIG.CLASS.DROPDOWN} ${CONFIG.CLASS.HIDDEN} ${CONFIG.CLASS.MORE_DROPDOWN}`; 439 moreDropdown.innerHTML = ` 440 <a class="${CONFIG.CLASS.NAV_LINK} dropdown-toggle" href="#" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false"> 441 More... 442 </a> 443 <ul class="${CONFIG.CLASS.DROPDOWN_MENU} ${CONFIG.CLASS.MORE_MENU}"></ul> 444 `; 445 446 moreMenu = moreDropdown.querySelector(`.${CONFIG.CLASS.MORE_MENU}`); 447 mainMenu.appendChild(moreDropdown); 448 } 449 450 /** 451 * Setup nested dropdown handlers for items inside More... 452 */ 453 function setupNestedDropdowns() { 454 if (!moreMenu) return; 455 456 const nestedDropdowns = moreMenu.querySelectorAll(`.${CONFIG.CLASS.DROPDOWN}, .${CONFIG.CLASS.NAV_ITEM}.${CONFIG.CLASS.DROPDOWN}`); 457 458 nestedDropdowns.forEach(dropdown => { 459 const toggle = dropdown.querySelector(CONFIG.SELECTOR.DROPDOWN_TOGGLE); 460 if (!toggle) return; 461 462 // Style adjustments for nested dropdowns 463 if (toggle.classList.contains(CONFIG.CLASS.NAV_LINK)) {
464 toggle.classList.add(CONFIG.CLASS.DROPDOWN_ITEM); 465 } 466 467 const nestedMenu = dropdown.querySelector(`.${CONFIG.CLASS.DROPDOWN_MENU}`); 468 if (nestedMenu) { 469 dropdown.classList.add(CONFIG.CLASS.DROPEND); 470 471 // Style nested menu 472 if (!nestedMenu.hasAttribute('data-styled')) { 473 nestedMenu.style.padding = '0'; 474 nestedMenu.style.position = 'static'; 475 nestedMenu.setAttribute('data-styled', 'true'); 476 } 477 478 // Add classes and indentation to nested items 479 styleNestedItems(nestedMenu); 480 481 // Initialize Bootstrap dropdown 482 initializeBootstrapDropdown(toggle); 483 } 484 }); 485 } 486 487 /** 488 * Style nested menu items with proper classes and indentation 489 */ 490 function styleNestedItems(nestedMenu) { 491 const items = nestedMenu.querySelectorAll('li'); 492 items.forEach(item => { 493 item.classList.add(CONFIG.CLASS.NAV_ITEM, CONFIG.CLASS.REGULAR); 494 }); 495 496 const links = nestedMenu.querySelectorAll(`.${CONFIG.CLASS.DROPDOWN_ITEM}, li > a`); 497 links.forEach(link => { 498 if (!link.hasAttribute('data-indented')) { 499 link.style.setProperty('padding-left', '2rem', 'important'); 500 link.setAttribute('data-indented', 'true'); 501 link.classList.add(CONFIG.CLASS.NAV_LINK); 502 } 503 }); 504 } 505 506 /** 507 * Initialize Bootstrap dropdown instance 508 */ 509 function initializeBootstrapDropdown(toggle) { 510 if (!window.bootstrap?.Dropdown) return; 511 512 try { 513 const existingInstance = bootstrap.Dropdown.getInstance(toggle); 514 if (existingInstance) { 515 existingInstance.dispose(); 516 } 517 518 new bootstrap.Dropdown(toggle, { autoClose: true }); 519 } catch (error) { 520 console.error('[DynamicMenu] Error initializing Bootstrap dropdown:', error); 521 } 522 } 523 524 /** 525 * Restore item to its original state when moving out of More... 526 */ 527 function restoreItemState(item) { 528 if (!item.classList) return; 529 530 item.classList.remove(CONFIG.CLASS.DROPEND); 531 item.classList.add(CONFIG.CLASS.NAV_ITEM); 532 533 // Restore dropdown toggle classes 534 const toggle = item.querySelector(CONFIG.SELECTOR.DROPDOWN_TOGGLE); 535 if (toggle?.classList.contains(CONFIG.CLASS.DROPDOWN_ITEM)) { 536 toggle.classList.remove(CONFIG.CLASS.DROPDOWN_ITEM); 537 } 538 539 // Remove nested dropdown styling 540 const nestedMenu = item.querySelector(`.${CONFIG.CLASS.DROPDOWN_MENU}`); 541 if (nestedMenu?.hasAttribute('data-styled')) { 542 nestedMenu.removeAttribute('style'); 543 nestedMenu.removeAttribute('data-styled'); 544 545 const nestedItems = nestedMenu.querySelectorAll('[data-indented="true"]'); 546 nestedItems.forEach(link => { 547 link.style.paddingLeft = ''; 548 link.removeAttribute('data-indented'); 549 }); 550 } 551 } 552 553 /** 554 * Move all items from More... back to main menu 555 */ 556 function moveItemsBackToMainMenu() { 557 while (moreMenu.firstChild) { 558 const child = moreMenu.firstChild; 559 restoreItemState(child); 560 mainMenu.insertBefore(child, moreDropdown); 561 } 562 } 563 564 /** 565 * Prepare item for insertion into More... dropdown 566 */ 567 function prepareItemForMore(item) { 568 item.classList.add(CONFIG.CLASS.NAV_ITEM, CONFIG.CLASS.REGULAR); 569 570 const link = item.querySelector('a'); 571 if (link && !link.classList.contains(CONFIG.CLASS.NAV_LINK)) { 572 link.classList.add(CONFIG.CLASS.NAV_LINK); 573 } 574 } 575 576 /** 577 * Main adjustment logic - handles menu overflow 578 */ 579 function adjustMenu() { 580 if (!mainMenu || !moreDropdown || !moreMenu) return; 581 582 // Reset: move everything back 583 moveItemsBackToMainMenu();
584 moreDropdown.classList.add(CONFIG.CLASS.HIDDEN); 585 586 // Only apply overflow logic on desktop 587 if (window.innerWidth <= CONFIG.BREAKPOINT) return; 588 589 const containerWidth = mainMenu.parentElement.offsetWidth; 590 const items = Array.from(mainMenu.children).filter(li => li !== moreDropdown); 591 592 let usedWidth = 0; 593 let overflowIndex = -1; // BEFORE 11-19-2025: -1 594 595 // Find overflow point 596 for (let i = 0; i < items.length; i++) { 597 usedWidth += items[i].offsetWidth; 598 599 if (usedWidth > containerWidth - CONFIG.RESERVED_SPACE) { 600 overflowIndex = i; // BEFORE 11-19-2025: i - 1 601 break; 602 } 603 } 604 605 // Move overflowing items to More... 606 if (overflowIndex >= 0) { 607 for (let i = items.length - 1; i >= overflowIndex; i--) { 608 const item = items[i]; 609 610 // Skip protected items 611 if (item.classList.contains(CONFIG.CLASS.PROTECTED)) continue; 612 613 prepareItemForMore(item); 614 moreMenu.insertBefore(item, moreMenu.firstChild); 615 } 616 617 if (moreMenu.children.length > 0) { 618 moreDropdown.classList.remove(CONFIG.CLASS.HIDDEN); 619 setupNestedDropdowns(); 620 } 621 } 622 } 623 624 /** 625 * Debounced resize handler 626 */ 627 function handleResize() { 628 clearTimeout(resizeTimer); 629 resizeTimer = setTimeout(adjustMenu, CONFIG.DEBOUNCE_DELAY); 630 } 631 632 /** 633 * Setup event listeners 634 */ 635 function setupEventListeners() { 636 window.addEventListener('resize', handleResize); 637 } 638 639 /** 640 * Cleanup function for proper teardown 641 */ 642 function destroy() { 643 window.removeEventListener('resize', handleResize); 644 clearTimeout(resizeTimer); 645 } 646 647 /** 648 * Check if dynamic menu is enabled via global variable 649 */ 650 function shouldInitialize() { 651 return typeof dynamicMenu !== 'undefined' && dynamicMenu === true; 652 } 653 654 /** 655 // Initialize when DOM is ready 656 if (document.readyState === 'loading') { 657 document.addEventListener('DOMContentLoaded', init); 658 } else { 659 init(); 660 } 661 */ 662 663 /* ADDED 12-4-2025 */ 664 if (window.innerWidth > CONFIG.BREAKPOINT){ 665 init(); 666 } else { 667 showNavbar(); 668 } 669 670 // Listen for resize 671 window.addEventListener('resize', () => { 672 if (!hasInitialized && window.innerWidth > CONFIG.BREAKPOINT) { 673 init(); // run once when crossing above breakpoint 674 } 675 }); 676 677})(); 678</script>
678 679 680 <section class="head-info"> 681 <div class="container"> 682 <div class="row"> 683 <div class="col-8"> 684 685 </div> 686 <div class="col-4 text-right"> 687 688 <!--<a href="javascript:;" class="primary-btn">e-Edition</a>--> 689 </div> 690 </div> 691 </div> 692 </section><section class="main-dt"> 693 <div class="container"> 694 <div class="row"> 695 <div class="col-lg-9 col-md-8 lft"> 696 <h1 class="small_h1_font">About Blackfoot Valley Dispatch</h1> 697<div class="sub_forms_all about" style="padding:0;"> 698<p>The <i>Blackfoot Valley Dispatch</i> is the only news site devoted to <a href="http://lincolnmontana.com/" target="_blank">Lincoln, Montana</a> and the Upper Blackfoot Valley. In its print form, the Blackfoot Valley Dispatch served as the best source for local news from Lincoln, <a href="https://ovandomontana.net/" target="_blank">Ovando</a>, Helmville and Canyon Creek since 1980.</p><p>In October, 2022, the Blackfoot Valley Dispatch evolved into an online news website that currently provides access to local news and information free with registration.</p><p>We are member of <a href="http://www.mtnewspapers.com/" target="_blank">Montana Newspaper Association</a> and are working hard to provide our readers with the best possible local news and advertising.</p><p>We appreciate feedback, so let us know what you think and how we can improve.You can contact us at (406) 362-4131 of by email at <a href="/cdn-cgi/l/email-protection#620b0c040d22000e030109040d0d1614030e0e071b060b11120316010a4c010d0f"><span class="__cf_email__" data-cfemail="84edeae2ebc4e6e8e5e7efe2ebebf0f2e5e8e8e1fde0edf7f4e5f0e7ecaae7ebe9">[email protected]</span></a>.</p><p>EDITORIAL POLICY: </p><p>The Dispatch welcomes columns, commentaries, articles and letters of interest to our readers. Please send submissions, story ideas or comments to: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6e2c382a2207000d0102002e1e1c011a0100030f0702400d0103">[email protected]</a> or <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8ce5e2eae3cceee0edefe7eae3e3f8faede0e0e9f5e8e5fffcedf8efe4a2efe3e1">[email protected]</a>. The editor reserves the right to edit for propriety, clarity and space. </p><p>We reserve the right not to publish any submitted content that is defamatory, inaccurate, libelous or in poor taste. Anonymous letters or columns will NOT be published. </p><p>LETTERS TO THE EDITOR, GUEST OPINIONS AND COMMENTARIES REFLECT THE VIEWS OR OPINIONS OF THE AUTHOR AND DO NOT NECESSARILY REFLECT THE VIEWS OR OPINIONS OF THE BLACKFOOT VALLEY DISPATCH </p><p>The Publisher reserves the right to reject or cancel an advertisement at any time. Cancellations or changes will not be accepted by the publisher after noon Monday.</p><p> The Publisher will not be accountable for any errors that are not reported to us after the first full week of publication. Factual errors or omissions on the publisher's part will be corrected within one week of notification. </p><p>Blackfoot Valley Dispatch</p><p>P. O. Box 427; 506 Main St. </p><p>Lincoln, Mont. 59639</p><p>Office: (406) 362-4131 e-mail: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e0a2b6a4ac898e838f8c8ea090928f948f8e8d81898cce838f8d">[email protected]</a></p><p>Secondary E-mail: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b3daddd5dcf3d1dfd2d0d8d5dcdcc7c5d2dfdfd6cad7dac0c3d2c7d0db9dd0dcde">[email protected]</a></p><p>Advertising E-mail: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="234247554651574a504663414f424048454c4c5755424f4f465a474a50534257404b0d404c4e">[email protected]</a></p><p>Owners: Roger and Erin Dey </p><p>The Blackfoot Valley Dispatch is an independent, privately-owned news website representing the interests of Lincoln and surrounding communities. </p><p></p></div> 699 </div> 700 <!--BEGIN SIDEBAR CONTENT AREA--> 701 <div class="col-lg-3 col-md-4 rht"><H3>Our Staff:</H3> <p>Roger Dey: Publisher, Editor, Writer,</p> <p>Erin Dey: Business Manager, Advertising, Circulation</p> <p>Tammy Jordan: Columnist</p> <p>Connie McCafferty : Contributing Writer</p> 702 <!--END SIDEBAR CONTENT AREA--> 703 </div> 704 </div> 705 <div class="row"> 706 707 </div> 708 </div> 709 </section> 710 <footer class="footer"> 711 <div class="container"> 712 <div class="row"> 713 <div class="col-sm-12"> 714 <hr class="top">
715 </div> 716 </div> 717 <div class="row"> 718 <div class="col-sm-7 bdr-rft"> 719 <div class="row"> 720 <div class="col-sm-4"> 721 <h3>Sections</h3> 722 <ul><li><a href='https://www.blackfootvalleydispatch.com/section/news' aria-label="Section link" class="author-blue">News</a></li><li><a href='https://www.blackfootvalleydispatch.com/section/community' aria-label="Section link" class="author-blue">Community</a></li><li><a href='https://www.blackfootvalleydispatch.com/section/outdoors' aria-label="Section link" class="author-blue">Outdoors</a></li><li><a href='https://www.blackfootvalleydispatch.com/section/viewpoints' aria-label="Section link" class="author-blue">Viewpoints</a></li><li><a href='https://www.blackfootvalleydispatch.com/section/obits' aria-label="Section link" class="author-blue">Obits</a></li><li><a href='https://www.blackfootvalleydispatch.com/section/calendar' aria-label="Section link" class="author-blue">Calendar</a></li> 723 </ul> 724 </div> 725 <div class="col-sm-4"> 726 <h3>Newspaper</h3> 727 <ul> 728 <li><a href="https://www.blackfootvalleydispatch.com/contact" >Contact</a></li><li><a href="https://www.blackfootvalleydispatch.com/register" >Register</a></li><li><a href="https://www.blackfootvalleydispatch.com/about" >About</a></li><li><a href="https://www.blackfootvalleydispatch.com/photos" >Photos</a></li> 729 </ul> 730 </div> 731 <div class="col-sm-4"> 732 <h3>Website</h3> 733 <ul> 734 <li><a href="https://www.blackfootvalleydispatch.com/terms" >Terms of Use</a></li><li><a href="https://www.blackfootvalleydispatch.com/privacy" >Privacy Policy</a></li><li><a href="https://www.blackfootvalleydispatch.com/sitemap_index.xml" target="_blank">Sitemap</a></li><li><span></span></li><li><span>*By using this website, you agree to our <a href="https://www.blackfootvalleydispatch.com/privacy">Privacy Policy</a> and <a href="https://www.blackfootvalleydispatch.com/terms">Terms</a>.</span></li> 735 </ul> 736 </div> 737 </div> 738 </div> 739 <div class="col-sm-5 ext-space"> 740 <div class="row"> 741 <div class="col-sm-8"> 742 <h3>Connect With Us</h3> 743 <ul> 744 <li><span>P.O. Box 427</span></li><li><span>Lincoln, MT 59639</span></li><li><span>Ph: (406) 362-4131</span></li><li><span><li><span>© 2026 Blackfoot Valley Dispatch</span></li></span></li> </ul> 745 </div> 746 <div class="col-sm-4"> 747 <h3 class="mbpx-3">Follow Us</h3> 748 <ul class="social"><li class="nav-item jvlmn"><a href="https://www.facebook.com/BlackfootValleyDispatch" target="n/a"><i class='fa-brands fa-facebook-f' aria-hidden='true'></i></a></li></ul> 749 750 <h3 class="mbpx-3">RSS</h3> 751 <ul class="social"><li class="nav-item jvlmn"><a href="https://www.blackfootvalleydispatch.com/rss" target="n/a"><i class='fa fa-rss' aria-hidden='true'></i></a></li></ul> 752 </div> 753 </div> 754 </div> 755 </div> 756 <div class="row"> 757 <div class="col-sm-12"> 758 <hr> 759 </div> 760 </div> 761 <div class="row"> 762 <div class="col-sm-12"> 763 <p class="copy">Powered by <strong><a href="http://www.lionslight.com" target="_blank">ROAR Online Publication Software</a></strong> from Lions Light Corporation<br /> 764 © Copyright 2026</p> 765 </div> 766 </div> 767 </div> 768 769</footer>
vendor: 110 bytes, lines 769-771
769 770 771<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
771<script> 772 773 774$(".more_stories_toggle").click(function () { 775 this.style.margin = "0"; 776 $more_stories_toggle = $(this); 777 $more_stories_list = $more_stories_toggle.next(); //getting the next element 778 779// $more_stories_list.slideToggle("slow", function () { //open up the content needed - toggle the slide- if visible, slide up, if not slidedown. 780 781 $more_stories_toggle.text(function () { //execute this after slideToggle is done; change text of header based on visibility of content div 782 783 return $more_stories_list.is(":visible") ? "+ More Stories" : "- More Stories"; //change text based on condition 784 }); 785// }); 786}); 787 788 789 790$( ".print_sub_container" ).click(function() { 791 $( ".print_sub_content" ).slideToggle( 500, function() { 792 // Animation complete. 793 }); 794}); 795 796</script>
vendor: 1 bytes, line 796
796
797<script src="/ASSET/1614x19474/XPATH/cms/website_specifics/monarch.js"></script>
vendor: 1 bytes, line 797
797
798<script src="/ASSET/1014x23108/XPATH/cms/website_specifics/monarch_bootstrap.js"></script>
798 799 800 <small style="padding-top:10px;display:block;">Rendered 09/29/2026 09:24</small><!-- (DESKTOP|PAYWALLERROR|ERROR) (desktop|paywallerror|error) Cached by Usernum:00649 --> 801
801<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"602c9d0c64cc46f48dc2d6c960f5d046","r":1,"spa":2}' crossorigin="anonymous"></script>
801 802</body> 803 804</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.