1<!DOCTYPE html> 2<html lang="en-US"> 3<head itemscope> 4 5 <!--- cache-control added from directives page ---> 6
7<script>console.log( 'SCRIPT_URI -/news/' );</script>
7<script>console.log( 'CacheDirectiveFound: DEFAULT_BEHAVIOR -60 seconds applied...' );</script>
7 8 9 <!-- Google Tag Manager --> 10 11
11<script>
vendor: 395 bytes, lines 11-15
11(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 12 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 13 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 14 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 15 })(window,document,'script','dataLayer','
15GTM-TS8R86W
vendor: 3 bytes, line 15
15');
15</script>
15 16 <!-- End Google Tag Manager --> 17 18 <meta charset="UTF-8"> 19 <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=3, user-scalable=yes' /> 20 <title> News - </title> 21 <meta name="description" content="News, Sports, Jobs" /> 22 <link rel="shortcut icon" href="https://www.vindy.com/wordpress/wp-content/themes/oni_newscore_2026/images/TVYO/favicon.ico" /> 23 <link rel="stylesheet" href="https://www.vindy.com/wordpress/wp-content/themes/oni_newscore_2026/css/layout.css?v=333" media="all" type="text/css" /> 24
24<script src="https://www.vindy.com/wordpress/wp-content/themes/oni_newscore_2026/js/jquery-3.7.1.min.js"></script>
24 25 <link rel="pingback" href="https://www.vindy.com/wordpress/xmlrpc.php"> 26 <meta name='robots' content='max-image-preview:large' /> 27<link rel='dns-prefetch' href='//www.google.com' /> 28<link rel="alternate" type="application/rss+xml" title="The Vindicator » News Category Feed" href="https://www.vindy.com/news/feed/" /> 29<style id="wp-img-auto-sizes-contain-inline-css"> 30img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 31/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 32</style> 33<style id="wp-block-library-inline-css"> 34:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
34--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 35 36/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 37</style> 38<style id="classic-theme-styles-inline-css"> 39/*! This file is auto-generated */ 40.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 41/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 42</style> 43 44<style id="global-styles-inline-css"> 45:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
450) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
45.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 46/*# sourceURL=global-styles-inline-css */ 47</style> 48 49<link rel='stylesheet' id='wpba_front_end_styles-css' href='https://www.vindy.com/wordpress/wp-content/plugins/wp-better-attachments/assets/css/wpba-frontend.css?ver=1.3.11' media='all' /> 50<link rel='stylesheet' id='dashicons-css' href='https://www.vindy.com/wordpress/wp-includes/css/dashicons.min.css?ver=7.1.2' media='all' /> 51<link rel="https://api.w.org/" href="https://www.vindy.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.vindy.com/wp-json/wp/v2/categories/2" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.vindy.com/wordpress/xmlrpc.php?rsd" /> 52<meta name="generator" content="WordPress 7.1.2" /> 53<meta name="generator" content="auto-sizes 1.8.0"> 54<meta name="generator" content="performance-lab 4.2.0; plugins: auto-sizes, embed-optimizer"> 55<meta name="generator" content="optimization-detective 1.0.0-beta7; rest_api_unavailable"> 56<meta name="generator" content="embed-optimizer 1.0.0-beta6"> 57<link rel="icon" href="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/07/27153806/favicon.png" sizes="32x32" /> 58<link rel="icon" href="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/07/27153806/favicon.png" sizes="192x192" /> 59<link rel="apple-touch-icon" href="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/07/27153806/favicon.png" /> 60<meta name="msapplication-TileImage" content="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/07/27153806/favicon.png" /> 61 62<link rel="preconnect" href="https://securepubads.g.doubleclick.net" crossorigin>
63<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous"></script>
vendor: 2 bytes, line 63
63
64<script src="https://oweb.s3.amazonaws.com/lazysizes.min.js"></script>
64 65
66<script type='text/javascript'> 67 window.googletag = window.googletag || { cmd: [] }; 68 69 /* privacy logic */ 70 (function () { 71 72 function has_ad_consent() { 73 try { 74 var state = 75 window.Termly && 76 typeof Termly.getConsentState === 'function' 77 ? Termly.getConsentState() 78 : null; 79 80 return !!(state && state.advertising); 81 } catch (e) { 82 return false; 83 } 84 } 85 86 function apply_privacy() { 87 googletag.cmd.push(function () { 88 googletag.pubads().setPrivacySettings({ 89 nonPersonalizedAds: !has_ad_consent() 90 }); 91 }); 92 } 93 94 apply_privacy(); 95 96 (function hook_termly() { 97 if ( 98 window.Termly && 99 typeof window.Termly.on === 'function' 100 ) { 101 Termly.on('initialized', apply_privacy); 102 Termly.on('consent', apply_privacy); 103 return; 104 } 105 106 setTimeout(hook_termly, 200); 107 })(); 108 109 })(); 110 111 112 is_subscriber = (document.cookie.match(/^(?:.*;)?\s*subscriber\s*=\s*([^;]+)(?:.*)?$/)||[,0])[1] 113 var subscriber = is_subscriber == 0 ? 0 : 1; 114 115 116 window.OGDEN_GAM_CONFIG = { 117 networkCode: '1032081', 118 siteId: 'TVYO', 119 msection: 'News', 120 subscriber: subscriber, 121 subsection: 'news' 122 }; 123 124 window.ogdenAds = { 125 slots: {}, 126 registered: new Set(), 127 requested: new Set(), 128 observers: {} 129 }; 130 131 function gc(name) { 132 var value = "; " + document.cookie; 133 var parts = value.split("; " + name + "="); 134 if (parts.length === 2) return parts.pop().split(";").shift(); 135 return null; 136 } 137 138 function isValidJSON(str) { 139 if (!str) return false; 140 try { 141 JSON.parse(decodeURIComponent(str)); 142 return true; 143 } catch (e) { 144 return false; 145 } 146 } 147 148 function getSubscriberTargetingValue() { 149 return isValidJSON(gc(atob('bmV3c3dhcmVfYXV0aA=='))) ? '1' : '0'; 150 } 151 152 function defineOgdenSlot(id, adUnitPath, sizes, sizeMapping, options) { 153 var slot = googletag.defineSlot(adUnitPath, sizes, id); 154 if (!slot) { 155 console.warn('GAM slot could not be defined:', id); 156 return null; 157 } 158 if (sizeMapping) { 159 slot.defineSizeMapping(sizeMapping); 160 } 161 slot.addService(googletag.pubads()); 162 if (options && options.collapseEmptyDiv === true) { 163 slot.setCollapseEmptyDiv(true, true); 164 } 165 window.ogdenAds.slots[id] = slot; 166 return slot; 167 } 168 169 function registerSlotWithGPT(id) { 170 if (window.ogdenAds.registered.has(id)) return; 171 if (!window.ogdenAds.slots[id]) return; 172 googletag.display(id); 173 window.ogdenAds.registered.add(id); 174 } 175 176 function requestSlotNow(id) { 177 var slot = window.ogdenAds.slots[id]; 178 if (!slot || window.ogdenAds.requested.has(id)) return; 179 window.ogdenAds.requested.add(id); 180 googletag.pubads().refresh([slot]); 181 } 182 183 window.ogdenLoadAd = function(id, options) { 184 options = options || {}; 185 googletag.cmd.push(function() { 186 var element = document.getElementById(id); 187 if (!element) return; 188 registerSlotWithGPT(id); 189 if (options.immediate === true) { 190 requestSlotNow(id); 191 return; 192 } 193 if (!('IntersectionObserver' in window)) { 194 window.addEventListener('load', function() { 195 googletag.cmd.push(function() { requestSlotNow(id); }); 196 }, { once: true }); 197 return; 198 } 199 var observer = new IntersectionObserver(function(entries) {
200 entries.forEach(function(entry) { 201 if (entry.isIntersecting) { 202 observer.disconnect(); 203 delete window.ogdenAds.observers[id]; 204 googletag.cmd.push(function() { requestSlotNow(id); }); 205 } 206 }); 207 }, { 208 root: null, 209 rootMargin: options.rootMargin || '600px 0px', 210 threshold: 0 211 }); 212 observer.observe(element); 213 window.ogdenAds.observers[id] = observer; 214 }); 215 }; 216 217 googletag.cmd.push(function() { 218 var cfg = window.OGDEN_GAM_CONFIG; 219 var basePath = '/' + cfg.networkCode + '/'; 220 221 var targetingObj = { 222 SiteID: cfg.siteId, 223 MSection: cfg.msection, 224 SubSection: cfg.subsection, 225 Subscriber: String(cfg.subscriber) 226 }; 227 if (cfg.articleSection) { 228 targetingObj.ArticleSection = cfg.articleSection; 229 } 230 if (cfg.funeralHome) { 231 targetingObj.funeral_home = cfg.funeralHome; 232 } 233 234 googletag.setConfig({ 235 disableInitialLoad: true, 236 targeting: targetingObj 237 }); 238 239 var LeaderboardTop = googletag.sizeMapping() 240 .addSize([960, 200], [[960, 250],[728, 90]]) 241 .addSize([780, 200], [728, 90]) 242 .addSize([0, 0], [[320, 100],[320, 50]]) 243 .build(); 244 245 var Leaderboard = googletag.sizeMapping() 246 .addSize([780, 200], [728, 90]) 247 .addSize([0, 0], [[320, 100],[320, 50]]) 248 .build(); 249 250 var HalfPage = googletag.sizeMapping() 251 .addSize([741, 200], [[300, 600], [160, 600]]) 252 .addSize([0, 0], [300, 250]) 253 .build(); 254 255 var mobile_middle3_300x250 = googletag.sizeMapping() 256 .addSize([760, 0], []) 257 .addSize([0, 0], [[300, 250], [250, 250]]) 258 .build(); 259 260 var homepage_middle_728x90 = googletag.sizeMapping() 261 .addSize([1180, 0], [728, 90]) 262 .addSize([0, 0], [[320, 100],[320, 50]]) 263 .build(); 264 265 var homepage_middle2_728x90 = googletag.sizeMapping() 266 .addSize([1180, 0], [728, 90]) 267 .addSize([0, 0], [[320, 100],[320, 50]]) 268 .build(); 269 270 var Rectangle_300x250 = googletag.sizeMapping() 271 .addSize([0, 0], [[300, 250], [250, 250]]) 272 .build(); 273 274 var Rectangle_Middle2_300x250 = googletag.sizeMapping() 275 .addSize([0, 0], [[300, 250], [250, 250], [200, 200]]) 276 .build(); 277 278 279 /* Top leaderboard â skipped on Best Of promo pages */ 280 defineOgdenSlot( 281 'TVYO_Top_728x90', 282 basePath + 'TVYO_Top_728x90', 283 [320, 100], 284 LeaderboardTop 285 ); 286 287 defineOgdenSlot( 288 'TVYO_Middle_728x90', 289 basePath + 'TVYO_Middle_728x90', 290 [320, 100], 291 homepage_middle_728x90 292 ); 293 294 defineOgdenSlot( 295 'TVYO_Right_300x600', 296 basePath + 'TVYO_Right_300x600', 297 [300, 250], 298 HalfPage 299 ); 300 301 defineOgdenSlot( 302 'TVYO_Bottom_728x90', 303 basePath + 'TVYO_Bottom_728x90', 304 [320, 100], 305 Leaderboard 306 ); 307 308 309 defineOgdenSlot( 310 'TVYO_Middle_300x250', 311 basePath + 'TVYO_Middle_300x250', 312 [300, 250], 313 Rectangle_300x250 314 ); 315 316 317 318 /* funeral home */ 319 320 googletag.pubads().enableSingleRequest(); 321 googletag.enableServices(); 322 }); 323</script>
323 324 325
326<script type='text/javascript'> 327 /* SUBSECTION code for BEST OF promos */ 328 if ( 0 == 1 ) { 329 330 var google_msection = 'News'; 331 332 console.log("MSection = " + google_msection); 333 334 var google_subsection = window.location.hash.replace('#/gallery?group=', '').replace('#/gallery/?group=', ''); 335 336 if ( google_subsection == "//" || google_subsection == "#//" ) { 337 google_subsection = ""; 338 } 339 console.log("SubSection = " + google_subsection); 340 341 window.onhashchange = function() { 342 console.log("URL has changed"); 343 console.log("SubSection = " + window.location.hash.replace('#/gallery?group=', '').replace('#/gallery/?group=', '')); 344 googletag.cmd.push(function() { 345 googletag.pubads().setTargeting('SubSection', window.location.hash.replace('#/gallery?group=', '').replace('#/gallery/?group=', '')); 346 }); 347 googletag.pubads().refresh(); 348 }; 349 350 googletag.cmd.push(function() { 351 googletag.pubads().setTargeting('SiteID', 'TVYO'); 352 googletag.pubads().setTargeting('MSection', google_msection); 353 googletag.pubads().setTargeting('SubSection', google_subsection); 354 }); 355 } 356</script>
356 357 358
359<script type='text/javascript'> 360 /* CODE FOR PENCIL AD */ 361 function hidePencilIframe(dfpIframeID) { 362 document.getElementById(dfpIframeID).style.display = 'none'; 363 } 364 function pencilExpandBanner(creativeWidth, bigCreativeHeight, dfpIframeID) { 365 document.getElementById(dfpIframeID).width = creativeWidth; 366 document.getElementById(dfpIframeID).height = bigCreativeHeight; 367 } 368 function pencilCloseBanner(creativeWidth, smallCreativeHeight, dfpIframeID) { 369 document.getElementById(dfpIframeID).width = creativeWidth; 370 document.getElementById(dfpIframeID).height = smallCreativeHeight; 371 } 372 function pencilStartTimerFromIframe(creativeWidth, smallCreativeHeight, bigCreativeHeight, positionName) { 373 var dfpIframeID = "google_ads_iframe_/1032081/" + positionName + "_0"; 374 pencilExpandBanner(creativeWidth, bigCreativeHeight, dfpIframeID); 375 } 376 function pencilStopTimerFromIframe(creativeWidth, smallCreativeHeight, bigCreativeHeight, positionName) { 377 var dfpIframeID = "google_ads_iframe_/1032081/" + positionName + "_0"; 378 pencilCloseBanner(creativeWidth, smallCreativeHeight, dfpIframeID); 379 } 380 /* END CODE FOR PENCIL */ 381</script>
381 <link rel='stylesheet' id='font-awesome-css' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css?ver=6.6.0' media='all' /> 382 383</head> 384<body class="scroll_up"> 385 386 <!-- Google Tag Manager (noscript) -->
vendor: 83 bytes, lines 386-388
386 387 <noscript> 388 <iframe src="https://www.googletagmanager.com/ns.html?id=
388GTM-TS8R86W
vendor: 94 bytes, lines 388-390
388" height="0" width="0" style="display:none;visibility:hidden"></iframe> 389 </noscript> 390
390<!-- End Google Tag Manager (noscript) --> 391 392 <div id="top_nav"> 393 <button id="hamburger" aria-label="Open menu" aria-expanded="false" aria-controls="drawer"> 394 <span></span><span></span><span></span> 395 </button> 396 <nav aria-label="Primary"> 397 <div class="menu-main-menu-container"><ul id="menu-main-menu" class="menu"><li id="menu-item-78" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-78"><a href="https://www.vindy.com/news/" aria-current="page">News</a></li> 398<li id="menu-item-80" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-80"><a href="https://www.vindy.com/sports/">Sports</a></li> 399<li id="menu-item-79" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-79"><a href="https://www.vindy.com/obituaries/">Obituaries</a></li> 400<li id="menu-item-661919" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-661919"><a href="https://classifieds.vindy.com">Classifieds</a></li> 401<li id="menu-item-661920" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-661920"><a href="https://classifieds.vindy.com/view/?classification=504">Garage Sales</a></li> 402<li id="menu-item-2364" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2364"><a href="https://www.vindy.com/opinion/">Opinion</a></li> 403<li id="menu-item-2363" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2363"><a href="https://www.vindy.com/life/">Life</a></li> 404<li id="menu-item-223" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-223"><a target="_blank" href="http://jobs.tribtoday.com/">Jobs</a></li> 405<li id="menu-item-137441" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-137441"><a href="http://vindicator.column.us/place">Legal Notices</a></li> 406</ul></div>
406<script> 407 (function () { 408 const NAV_ID = 'menu-main-menu'; 409 const MORE_ID = 'priority_more'; 410 const GAP = 8; // required clearance in px between menu and whatever follows it 411 let items = [], moreLi, moreDd, navUl, navEl, built = false, lastNavWidth = -1; 412 413 function build() { 414 if (built) return; 415 navUl = document.getElementById(NAV_ID); 416 if (!navUl) return; 417 built = true; 418 419 moreLi = document.createElement('li'); 420 moreLi.id = MORE_ID; 421 moreLi.innerHTML = '<span>MORE â¾</span><ul></ul>'; 422 navUl.appendChild(moreLi); 423 moreDd = moreLi.querySelector('ul'); 424 425 items = Array.from(navUl.querySelectorAll(':scope > li:not(#' + MORE_ID + ')')); 426 427 navEl = navUl.closest('nav') || navUl.parentElement; 428 429 // Tap/click toggle for touch devices (iOS has no hover) 430 moreLi.addEventListener('click', function (e) { 431 if (e.target.closest('#' + MORE_ID + ' > ul')) return; 432 e.preventDefault(); 433 moreLi.classList.toggle('open'); 434 }); 435 document.addEventListener('click', function (e) { 436 if (!moreLi.contains(e.target)) moreLi.classList.remove('open'); 437 }); 438 439 // Only re-run when the row's width actually changes â prevents 440 // feedback loops from our own show/hide mutations. 441 new ResizeObserver(function () { 442 const w = navEl.getBoundingClientRect().width; 443 if (Math.abs(w - lastNavWidth) > 0.5) { 444 lastNavWidth = w; 445 update(); 446 } 447 }).observe(navEl); 448 449 if (document.fonts && document.fonts.ready) { 450 document.fonts.ready.then(function () { update(); }); 451 } 452 window.addEventListener('pageshow', function () { update(); }); 453 window.addEventListener('orientationchange', function () { setTimeout(update, 100); }); 454 455 lastNavWidth = navEl.getBoundingClientRect().width; 456 update(); 457 } 458 459 // The real boundary the menu must not cross: the left edge of the next 460 // in-flow element after the UL (search icon / SUBSCRIBE / etc.). If the UL 461 // is the last thing in the row, it's the nav's right content edge. If the 462 // row's constraining container is higher up (nav shrink-wraps), walk up. 463 function getLimit() { 464 let el = navUl; 465 while (el && el !== document.body) { 466 let sib = el.nextElementSibling; 467 while (sib) { 468 const cs = window.getComputedStyle(sib); 469 if (sib.offsetWidth && cs.position !== 'absolute' && cs.position !== 'fixed') { 470 return sib.getBoundingClientRect().left; 471 } 472 sib = sib.nextElementSibling; 473 } 474 // No in-flow sibling after us at this level â is this parent the 475 // constraining row? Use its right content edge if it's wider than us. 476 const parent = el.parentElement; 477 const pr = parent.getBoundingClientRect(); 478 const er = el.getBoundingClientRect(); 479 if (pr.width - er.width > 2) { 480 const cs = window.getComputedStyle(parent); 481 return pr.right - (parseFloat(cs.paddingRight) || 0); 482 } 483 el = parent; 484 } 485 return window.innerWidth; 486 } 487 488 // True if the currently-visible items overflow: last visible item's right 489 // edge crosses the limit, OR the items have wrapped to a second line. 490 function overflows(visibleCount, limit) { 491 if (visibleCount === 0) return false; 492 const first = items[0].getBoundingClientRect(); 493 const last = items[visibleCount - 1].getBoundingClientRect(); 494 if (last.right > limit - GAP) return true; 495 if (last.top - first.top > 5) return true; // wrapped 496 // MORE itself can also be the thing colliding/wrapping 497 if (moreLi.style.display !== 'none') { 498 const m = moreLi.getBoundingClientRect(); 499 if (m.right > limit - GAP) return true; 500 if (m.top - first.top > 5) return true; 501 } 502 return false; 503 } 504
505 function update() { 506 if (!built) return; 507 508 // Reset: everything visible, MORE hidden, dropdown empty 509 items.forEach(function (li) { li.style.display = ''; }); 510 moreDd.innerHTML = ''; 511 moreLi.classList.remove('open'); 512 moreLi.style.display = 'none'; 513 514 const limit = getLimit(); 515 516 // Pass 1: does the full menu fit with no MORE at all? 517 if (!overflows(items.length, limit)) { 518 return; // yes â leave everything alone, MORE stays hidden 519 } 520 521 // Pass 2: it doesn't. Show MORE, then hide items from the end 522 // until nothing collides. Each check reads real positions. 523 moreLi.style.display = ''; 524 let visible = items.length; 525 while (visible > 0 && overflows(visible, limit)) { 526 visible--; 527 items[visible].style.display = 'none'; 528 } 529 530 for (let i = visible; i < items.length; i++) { 531 const clone = items[i].cloneNode(true); 532 clone.style.display = ''; 533 moreDd.appendChild(clone); 534 } 535 } 536 537 if (document.readyState === 'loading') { 538 document.addEventListener('DOMContentLoaded', build); 539 } else { 540 build(); 541 } 542 })(); 543</script>
543 544<style> 545 #priority_more { position:relative; list-style:none; color:#fff; font-weight:500; font-size:14px; letter-spacing:0.04em; text-transform:uppercase; padding:0 12px; cursor:pointer; white-space:nowrap; flex-shrink:0; height:44px; display:flex; align-items:center; } 546 #priority_more > span { color:#fff; line-height:1; pointer-events:none; } 547 #priority_more > ul { display:block; position:absolute; left:auto; right:0; top:44px; background:#111; list-style:none; margin:0; padding:4px 0; max-height:0; overflow:hidden; opacity:0; z-index:99999; min-width:160px; transition:max-height 0.3s ease, opacity 0.2s ease; } 548 #priority_more:hover > ul { max-height:500px; opacity:1; } 549 #priority_more.open > ul { max-height:500px; opacity:1; } 550 #priority_more > ul li { display:block !important; padding:0; white-space:nowrap; } 551 #priority_more > ul li a { display:block; padding:9px 16px; color:#fff; text-decoration:none; font-size:13px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; } 552 #priority_more > ul li a:hover { background:#222; color:#fffbe4; } 553</style> </nav> 554 <aside> 555 <div id="search"><i class="icon-search"></i></div> 556 <div id="subscribe_login"> 557 <a href="https://subscribe.vindy.com?utm_source=newspaper-site&utm_medium=referral&utm_campaign=subscription-promo&utm_content=header-subscribe" id="subscribe_button">Subscribe</a> 558 <a id="header_nav_login" class="login_toggle"></a> 559 </div> 560 </aside> 561 </div> 562 <div id="search_bar"> 563 <form id="header_search_form" action="https://www.vindy.com/search/" method="get"> 564 <i class="icon-search" aria-hidden="true"></i> 565 <input type="text" name="s" id="search_input" placeholder="Search Headlines, News…" value=""> 566 <button type="submit" aria-label="Submit search"><i class="icon-right"></i></button> 567 </form> 568</div> 569
570<script> 571 (function() { 572 const trigger = document.getElementById('search'); 573 const bar = document.getElementById('search_bar'); 574 const input = document.getElementById('search_input'); 575 const form = document.getElementById('header_search_form'); 576 577 if (trigger && bar && input) { 578 trigger.addEventListener('click', function() { 579 const isOpen = bar.classList.toggle('active'); 580 581 if (isOpen) { 582 input.focus(); 583 } 584 }); 585 586 document.addEventListener('keydown', function(event) { 587 if ( 588 event.key === 'Escape' && 589 bar.classList.contains('active') 590 ) { 591 bar.classList.remove('active'); 592 } 593 }); 594 } 595 596 if (form && input) { 597 form.addEventListener('submit', function(event) { 598 const searchTerm = input.value.trim(); 599 600 if (!searchTerm) { 601 event.preventDefault(); 602 return; 603 } 604 605 event.preventDefault(); 606 607 const searchBase = 608 "https:\/\/www.vindy.com\/search\/"; 609 610 window.location.href = 611 searchBase + 612 encodeURIComponent(searchTerm) + 613 '/'; 614 }); 615 } 616 })(); 617</script>
617 618 619 620 621<!-- ORIGINAL VERSION --> 622<!-- <div id="search_bar"> 623 <form action="/search/" method="get"> 624 <i class="icon-search" aria-hidden="true"></i> 625 <input type="text" name="s" id="search_input" placeholder="Search Headlines, News…" name="s" value=""> 626 <button type="submit" aria-label="Submit search"><i class="icon-right"></i></button> 627 </form> 628</div> 629
630<script> 631 (function() { 632 const trigger = document.getElementById('search'); 633 const bar = document.getElementById('search_bar'); 634 const input = document.getElementById('search_input'); 635 636 trigger.addEventListener('click', function() { 637 const isOpen = bar.classList.toggle('active'); 638 if (isOpen) input.focus(); 639 }); 640 641 document.addEventListener('keydown', function(e) { 642 if (e.key === 'Escape' && bar.classList.contains('active')) { 643 bar.classList.remove('active'); 644 } 645 }); 646 })(); 647</script>
647 --> <header id="top_header"> 648 <div class="breaking_news_wrap breaking_toggle"> 649 <div class="breaking_news_badge">Breaking News</div> 650 <div class="breaking_news_divider"></div> 651 <div class="breaking_news_ticker_wrap"> 652 <div class="breaking_news_ticker" id="breaking_news_ticker"></div> 653 </div> 654</div> <figure> 655 <a href="https://www.vindy.com/" rel="home"> 656 <img id="site_logo" src="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/07/27153239/vindy.png" border="0" alt="website logo" /> 657 </a> 658 </figure> 659 <nav id="under_logo_links"> 660 <ul> 661 <li class="todays_date"> 662 October 01, 2026 </li> 663 <li class="todays_paper"><a href="https://www.mynewsonthego.com/vindicator/">Today's Paper</a></li> 664 <li class="submit_news_link"><a href="/forms/submit-news/">Submit News</a></li> 665 <li class="subscribe_under_logo"><a href="https://subscribe.vindy.com?utm_source=newspaper-site&utm_medium=referral&utm_campaign=subscription-promo&utm_content=header-nav-subscribe-today">Subscribe Today</a></li> 666 </ul> 667 </nav> 668 </header> 669 <div id="overlay"></div> 670<div id="drawer" role="dialog" aria-label="Navigation menu"> 671 <div id="drawer_header"> 672 <span>Menu</span> 673 <button id="close_button" aria-label="Close menu">✕</button> 674 </div> 675 <div class="menu-mobile-menu-container"><ul id="menu-mobile-menu" class="menu"><li id="menu-item-66" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-has-children menu-item-66"><a href="https://www.vindy.com/news/" aria-current="page">News</a> 676<ul class="sub-menu"> 677 <li id="menu-item-69" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-69"><a href="https://www.vindy.com/news/local-news/">Local News</a></li> 678 <li id="menu-item-67" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-67"><a href="https://www.vindy.com/news/community-news/">Community News</a></li> 679 <li id="menu-item-71" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71"><a href="https://www.vindy.com/news/ohio-news/">Ohio News</a></li> 680 <li id="menu-item-70" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-70"><a href="https://www.vindy.com/news/national-news/">National News</a></li> 681 <li id="menu-item-68" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-68"><a href="https://www.vindy.com/news/international-news/">International News</a></li> 682</ul> 683</li> 684<li id="menu-item-72" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-72"><a href="https://www.vindy.com/obituaries/">Obituaries</a></li> 685<li id="menu-item-661917" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-661917"><a href="https://classifieds.vindy.com">Classifieds</a></li> 686<li id="menu-item-661918" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-661918"><a href="https://classifieds.vindy.com/view/?classification=504">Garage Sales</a></li> 687<li id="menu-item-73" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-73"><a href="https://www.vindy.com/sports/">Sports</a> 688<ul class="sub-menu"> 689 <li id="menu-item-75" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-75"><a href="https://www.vindy.com/sports/local-sports/">Local Sports</a></li> 690 <li id="menu-item-74" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-74"><a href="https://www.vindy.com/sports/high-school-sports/">High School Sports</a></li> 691 <li id="menu-item-242" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-242"><a href="https://www.vindy.com/sports/sports-columns/">Sports Columns</a></li> 692 <li id="menu-item-243" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-243"><a href="https://www.vindy.com/sports/ysu-sports/">YSU Sports</a></li> 693 <li id="menu-item-77" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-77"><a href="https://www.vindy.com/sports/ohio-sports/">Ohio Sports</a></li> 694 <li id="menu-item-76" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-76"><a href="https://www.vindy.com/sports/national-sports/">National Sports</a></li> 695</ul> 696</li> 697<li id="menu-item-231" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-231"><a href="https://www.vindy.com/life/">Life</a> 698<ul class="sub-menu"> 699 <li id="menu-item-233" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-233"><a href="https://www.vindy.com/life/lifestyles/">Lifestyles</a></li> 700 <li id="menu-item-235" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-235"><a href="https://www.vindy.com/life/society/">Society</a></li> 701 <li id="menu-item-232" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-232"><a href="https://www.vindy.com/life/burton-cole/">Burton Cole</a></li> 702 <li id="menu-item-234" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-234"><a href="https://www.vindy.com/patty-kimerer/">Patty Kimerer</a></li> 703 <li id="menu-item-236" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-236"><a href="https://www.vindy.com/life/ticket/">Ticket</a></li> 704</ul> 705</li> 706<li id="menu-item-237" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-237"><a href="https://www.vindy.com/opinion/">Opinion</a> 707<ul class="sub-menu"> 708 <li id="menu-item-241" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-241"><a href="https://www.vindy.com/opinion/letters-to-the-editor/">Letters to the Editor</a></li> 709 <li id="menu-item-240" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-240"><a href="https://www.vindy.com/opinion/editorials/">Editorials</a></li> 710 <li id="menu-item-239" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-239"><a href="https://www.vindy.com/opinion/guest-columnists/">Guest columnists</a></li> 711 <li id="menu-item-238" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-238"><a href="https://www.vindy.com/uncategorized/brenda-j-linert/">Brenda J. Linert</a></li> 712</ul> 713</li> 714<li id="menu-item-65" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-65"><a href="https://www.vindy.com/contact-us/">Contact Us</a> 715<ul class="sub-menu"> 716 <li id="menu-item-191" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-191"><a href="https://www.vindy.com/contact-us/">Contact</a></li> 717 <li id="menu-item-64" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-64"><a href="https://www.vindy.com/advertise/">Advertise</a></li> 718 <li id="menu-item-229" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-229"><a href="https://www.vindy.com/forms/submit-news/">Submit News</a></li> 719 <li id="menu-item-447855" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-447855"><a href="https://www.vindy.com/statement-of-values/">Statement of Values</a></li> 720 <li id="menu-item-230" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-230"><a href="https://www.vindy.com/terms-of-service/">Terms of Service</a></li> 721</ul> 722</li> 723<li id="menu-item-137454" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-137454"><a href="/">Public Notices</a> 724<ul class="sub-menu"> 725 <li id="menu-item-137455" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-137455"><a href="https://www.publicnoticesohio.com">Browse notices</a></li> 726 <li id="menu-item-137442" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-137442"><a href="http://vindicator.column.us/place">Place a notice</a></li> 727</ul> 728</li> 729</ul></div></div> 730
731<script> 732 const hamburger = document.getElementById('hamburger'); 733 const drawer = document.getElementById('drawer'); 734 const overlay = document.getElementById('overlay'); 735 const closeBtn = document.getElementById('close_button'); 736 const mobileMenu = document.getElementById('menu-mobile-menu'); 737 738 function openMenu() { 739 drawer.classList.add('open'); 740 overlay.classList.add('open'); 741 hamburger.setAttribute('aria-expanded', 'true'); 742 } 743 744 function closeMenu() { 745 drawer.classList.remove('open'); 746 overlay.classList.remove('open'); 747 hamburger.setAttribute('aria-expanded', 'false'); 748 } 749 750 hamburger.addEventListener('click', openMenu); 751 closeBtn.addEventListener('click', closeMenu); 752 overlay.addEventListener('click', closeMenu); 753 754 755 function initMobileMenuItems() { 756 757 // Inject toggle buttons and wrap parent links for items with sub-menus 758 document.querySelectorAll('#menu-mobile-menu .menu-item-has-children').forEach(li => { 759 const subMenu = li.querySelector(':scope > .sub-menu'); 760 761 if (!subMenu) { 762 return; 763 } 764 765 let row = li.querySelector(':scope > .parent_row'); 766 let link = li.querySelector(':scope > a'); 767 768 // If this item has not already been wrapped, wrap its direct child link 769 if (!row && link) { 770 row = document.createElement('div'); 771 row.classList.add('parent_row'); 772 773 li.insertBefore(row, link); 774 row.appendChild(link); 775 } 776 777 // If there is still no row, there is nothing to enhance 778 if (!row) { 779 return; 780 } 781 782 // If this row already has a toggle button, do not add another one 783 if (row.querySelector(':scope > .hamburger_toggle_button')) { 784 return; 785 } 786 787 link = row.querySelector(':scope > a'); 788 789 if (!link) { 790 return; 791 } 792 793 const btn = document.createElement('button'); 794 btn.classList.add('hamburger_toggle_button'); 795 btn.setAttribute('aria-expanded', 'false'); 796 btn.setAttribute('aria-label', 'Expand ' + link.textContent.trim()); 797 btn.innerHTML = '<i class="icon-right-open"></i>'; 798 799 row.appendChild(btn); 800 }); 801 802 803 // Wrap plain parent links (no sub-menu) in parent_row div for consistent styling 804 document.querySelectorAll('#menu-mobile-menu > li:not(.menu-item-has-children)').forEach(li => { 805 let row = li.querySelector(':scope > .parent_row'); 806 let link = li.querySelector(':scope > a'); 807 808 // Already wrapped or no link found 809 if (row || !link) { 810 return; 811 } 812 813 row = document.createElement('div'); 814 row.classList.add('parent_row'); 815 816 li.insertBefore(row, link); 817 row.appendChild(link); 818 }); 819 820 } 821 822 823 // One delegated click handler for all current and future toggle buttons 824 mobileMenu.addEventListener('click', function(event) { 825 const btn = event.target.closest('.hamburger_toggle_button'); 826 827 if (!btn || !mobileMenu.contains(btn)) { 828 return; 829 } 830 831 event.preventDefault(); 832 833 const li = btn.closest('.menu-item-has-children'); 834 835 if (!li) { 836 return; 837 } 838 839 const subMenu = li.querySelector(':scope > .sub-menu'); 840 841 if (!subMenu) { 842 return; 843 } 844 845 const isOpen = subMenu.classList.contains('open'); 846 847 subMenu.classList.toggle('open', !isOpen); 848 btn.classList.toggle('expanded', !isOpen); 849 btn.setAttribute('aria-expanded', String(!isOpen)); 850 }); 851 852 853 // Initial setup 854 initMobileMenuItems(); 855 856</script>
vendor: 2 bytes, line 856
856
857<script> 858 lastScroll = 0; 859 $(window).on('scroll',function() { 860 var scroll = $(window).scrollTop(); 861 if(lastScroll - scroll > 0) { 862 $("body").removeClass("scroll_down"); 863 $("#main_header_wrap").removeClass("scroll"); 864 $("body").addClass("scroll_up"); 865 } else { 866 $("#main_header_wrap").addClass("scroll"); 867 $("body").addClass("scroll_down"); 868 $("body").removeClass("scroll_up"); 869 } 870 lastScroll = scroll; 871 }); 872</script>
872 873 874 875 876 <div id="category_content_wrap"> 877 <div id='TVYO_Top_728x90' style='text-align:center' class='lazyload g_ad leaderboard leaderboard_top' data-ad-slot='TVYO_Top_728x90'> 878
878<script type='text/javascript'> 879 ogdenLoadAd('TVYO_Top_728x90', { rootMargin: '100px 0px' }); 880 </script>
880 881</div> <main id="content" class="category default_width" aria-label="News"> 882 <div id="category_layout"> 883 <div id="category_main"> 884 885 <div class="cat_title_wrap"> 886 <h1> 887 <a href="https://www.vindy.com/news/">News</a> 888 <i class="icon-down-open"></i> 889 </h1> 890 <ul id="parent_cat_subs"> 891 <li><a href="https://www.vindy.com/news/police-blotter/">Police blotter</a></li> 892 <li><a href="https://www.vindy.com/news/local-news/">Local News</a></li> 893 <li><a href="https://www.vindy.com/news/community-news/">Community News</a></li> 894 <li><a href="https://www.vindy.com/news/latest-news/">Latest News</a></li> 895 <li><a href="https://www.vindy.com/news/ohio-news/">Ohio News</a></li> 896 <li><a href="https://www.vindy.com/news/national-news/">National News</a></li> 897 <li><a href="https://www.vindy.com/news/blackhistorymonth/">Black History Month</a></li> 898 <li><a href="https://www.vindy.com/news/business-news/">Business News</a></li> 899 <li><a href="https://www.vindy.com/news/election-2020-apwire/">Election 2020</a></li> 900 <li><a href="https://www.vindy.com/news/international-news/">International News</a></li> 901 <li><a href="https://www.vindy.com/news/multimedia/">Multimedia</a></li> 902 <li><a href="https://www.vindy.com/news/womens/">Women's History Month</a></li> 903 </ul> 904 </div> 905 906 <article aria-labelledby="summit-seeks-answers-to-valleys-housing-shortage"> 907 <div class="full_category_photo_wrap wide"> 908 <a href="https://www.vindy.com/news/2026/10/summit-seeks-answers-to-valleys-housing-shortage/" tabindex="-1" aria-hidden="true"> 909 <img width="667" height="500" src="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/10/01150613/Housing1-667x500.webp" class="attachment-medium size-medium wp-post-image" alt="Summit seeks answers to Valley's housing shortage" loading="lazy" decoding="async" /> </a> 910 </div> 911 <div class="cat_article_text"> 912 <h2 id="summit-seeks-answers-to-valleys-housing-shortage"> 913 <a href="https://www.vindy.com/news/2026/10/summit-seeks-answers-to-valleys-housing-shortage/">Summit seeks answers to Valley's housing shortage</a> 914 </h2> 915 <div class="cat_article_meta"> 916 <a class="cat_article_cat_label" href="https://www.vindy.com/news/latest-news/">Latest News</a> 917 <time datetime="2026-10-01">October 1, 2026</time> 918 </div> 919 <p>NILES â The Mahoning Valley Housing Summit was hosted Wednesday at the Eastwood Event Centre by the Youngstown/Warren Regional Chamber to bring together professionals, developers and community leaders in the housing industry. 920 921The main focus of the summit was to brainstorm possible solutions ...</p> 922 </div> 923 </article> 924 <article aria-labelledby="gentle-giant-backpack-declared-winner-of-alaskas-fat-bear-week"> 925 <div class="cat_article_text"> 926 <h2 id="gentle-giant-backpack-declared-winner-of-alaskas-fat-bear-week"> 927 <a href="https://www.vindy.com/news/national-news/2026/10/gentle-giant-backpack-declared-winner-of-alaskas-fat-bear-week/">Gentle giant Backpack declared winner of Alaskaâs Fat Bear Week</a> 928 </h2> 929 <div class="cat_article_meta"> 930 <a class="cat_article_cat_label" href="https://www.vindy.com/news/national-news/">National News</a> 931 <time datetime="2026-10-01">October 1, 2026</time> 932 </div> 933 <p>After a week of fierce competition, Backpack emerged victorious as Fat Bear Week champion, the heftiest bear of Alaskaâs Katmai National Park and Preserve. 934 935The nonprofit running the longstanding contest announced that the bear, known for his pacifist nature, was the winner Tuesday with more than 100,000 votes, giving him a close win over Bear 910 with
935just over 50% of the poll. 936 937The contest, which is in its 12th year, celebrates the resilience of the 2,200 brown bears that live in the preserve on the Alaska Peninsula, which extends from the stateâs southwest corner toward the ...</p> 938 </div> 939 </article> 940 <article aria-labelledby="ohio-minimum-wage-to-increase-by-3-5-in-2027"> 941 <div class="cat_article_text"> 942 <h2 id="ohio-minimum-wage-to-increase-by-3-5-in-2027"> 943 <a href="https://www.vindy.com/news/local-news/2026/10/ohio-minimum-wage-to-increase-by-3-5-in-2027/">Ohio minimum wage to increase by 3.5% in 2027</a> 944 </h2> 945 <div class="cat_article_meta"> 946 <a class="cat_article_cat_label" href="https://www.vindy.com/news/local-news/">Local News</a> 947 <time datetime="2026-10-01">October 1, 2026</time> 948 </div> 949 <p>The Ohio Department of Commerce Division of Industrial Complianceâs Bureau of Wage and Hour Administration announced this week that the stateâs minimum wage will increase on Jan. 1. 950 951The adjusted amounts, $11.40 per hour for nontipped employees and $5.70 per hour for tipped employees, represents a 3.5% increase from the current 2026 rates of $11 for nontipped employees and $5.50 for tipped employees. 952 953The change reflects the mandate of the Constitutional amendment, passed by Ohio voters in November 2006, which states Ohioâs minimum wage shall increase on Jan. 1 each year by the ...</p> 954 </div> 955 </article> 956 <div id='TVYO_Middle_728x90' style='text-align:center' class='lazyload g_ad leaderboard leaderboard_middle' data-ad-slot='TVYO_Middle_728x90'> 957
957<script type='text/javascript'> 958 ogdenLoadAd('TVYO_Middle_728x90', { rootMargin: '600px 0px' }); 959 </script>
959 960</div> <article aria-labelledby="ysu-senior-details-atrocities-of-islamic-republic"> 961 <div class="full_category_photo_wrap wide"> 962 <a href="https://www.vindy.com/news/2026/10/ysu-senior-details-atrocities-of-islamic-republic/" tabindex="-1" aria-hidden="true"> 963 <img width="669" height="500" src="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/09/30184645/ysu-lecture-669x500.webp" class="attachment-medium size-medium wp-post-image" alt="YSU senior details atrocities of Islamic Republic" loading="lazy" decoding="async" /> </a> 964 </div> 965 <div class="cat_article_text"> 966 <h2 id="ysu-senior-details-atrocities-of-islamic-republic"> 967 <a href="https://www.vindy.com/news/2026/10/ysu-senior-details-atrocities-of-islamic-republic/">YSU senior details atrocities of Islamic Republic</a> 968 </h2> 969 <div class="cat_article_meta"> 970 <a class="cat_article_cat_label" href="https://www.vindy.com/news/local-news/">Local News</a> 971 <time datetime="2026-10-01">October 1, 2026</time> 972 </div> 973 <p>YOUNGSTOWN â Negin Mirzade bitterly recalled the day police arrested her at age 14 while she waited for her sister to pick her up from a class. 974 975Mirzade's "offense?" Wearing a light-blue pair of shoes the police claimed would attract male attention to her. 976 977"The police called me names, ...</p> 978 </div> 979 </article> 980 <article aria-labelledby="trump-unveils-54-billion-in-south-korean-investment-in-alaska-site-of-a-tight-senate-race"> 981 <div class="full_category_photo_wrap wide"> 982 <a href="https://www.vindy.com/news/national-news/2026/10/trump-unveils-54-billion-in-south-korean-investment-in-alaska-site-of-a-tight-senate-race/" tabindex="-1" aria-hidden="true"> 983 <img width="750" height="500" src="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/10/30180715/AP-Trump-750x500.webp" class="attachment-medium size-medium wp-post-image" alt="Trump unveils $54 billion in South Korean investment in Alaska, site of a tight Senate race" loading="lazy" decoding="async" /> </a> 984 </div> 985 <div class="cat_article_text"> 986 <h2 id="trump-unveils-54-billion-in-south-korean-investment-in-alaska-site-of-a-tight-senate-race"> 987 <a href="https://www.vindy.com/news/national-news/2026/10/trump-unveils-54-billion-in-south-korean-investment-in-alaska-site-of-a-tight-senate-race/">Trump unveils $54 billion in South Korean investment in Alaska, site of a tight Senate race</a> 988 </h2> 989 <div class="cat_article_meta"> 990 <a class="cat_article_cat_label" href="https://www.vindy.com/news/national-news/">National News</a> 991 <time datetime="2026-10-01">October 1, 2026</time> 992 </div> 993 <p>WASHINGTON (AP) â President Donald Trump announced on Wednesday plans for South Korea to invest roughly $54 billion to export natural gas from Alaska, a project long backed by Republican Sen. Dan Sullivan, who's in a competitive reelection contest there. 994 995It marks the second time in three ...</p> 996 </div> 997 </article> 998 <article aria-labelledby="traveling-war-on-terror-memorial-comes-to-area"> 999 <div class="full_category_photo_wrap wide"> 1000 <a href="https://www.vindy.com/news/2026/10/traveling-war-on-terror-memorial-comes-to-area/" tabindex="-1" aria-hidden="true"> 1001 <img width="750" height="500" src="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/09/30192547/093026.R-FALLEN-6-750x500.webp" class="attachment-medium size-medium wp-post-image" alt="Traveling War on Terror memorial comes to area" loading="lazy" decoding="async" /> </a> 1002 </div> 1003 <div class="cat_article_text">
1004 <h2 id="traveling-war-on-terror-memorial-comes-to-area"> 1005 <a href="https://www.vindy.com/news/2026/10/traveling-war-on-terror-memorial-comes-to-area/">Traveling War on Terror memorial comes to area</a> 1006 </h2> 1007 <div class="cat_article_meta"> 1008 <a class="cat_article_cat_label" href="https://www.vindy.com/news/local-news/">Local News</a> 1009 <time datetime="2026-10-01">October 1, 2026</time> 1010 </div> 1011 <p>WARREN â Dave Luton and his display honoring the men and women who gave their lives in service to the Global War on Terror traveled from Omaha, Nebraska, to the Kinsman House lawn on Tuesday. 1012 1013An opening ceremony took place at noon Wednesday to welcome the Remembering Our Fallen traveling ...</p> 1014 </div> 1015 </article> 1016 1017<div class="pagination_wrap "><ul class='page-numbers'> 1018 <li><span aria-current="page" class="page-numbers current"><span class="pagination_link">1</span></span></li> 1019 <li><a class="page-numbers" href="https://www.vindy.com/news/page/2/"><span class="pagination_link">2</span></a></li> 1020 <li><span class="page-numbers dots">…</span></li> 1021 <li><a class="page-numbers" href="https://www.vindy.com/news/page/100/"><span class="pagination_link">100</span></a></li> 1022 <li><a class="next page-numbers" href="https://www.vindy.com/news/page/2/"><i class="icon-angle-right"></i></a></li> 1023</ul> 1024</div> 1025 </div><!-- #category_main --> 1026 1027 <aside id="category_sidebar" aria-label="Sidebar"> 1028 <div id='TVYO_Middle_300x250' style='text-align:center' class='lazyload g_ad three_hundredx250' data-ad-slot='TVYO_Middle_300x250'> 1029
1029<script type='text/javascript'> 1030 ogdenLoadAd('TVYO_Middle_300x250', { rootMargin: '600px 0px' }); 1031 </script>
1031 1032</div> <section class="ap_sidebar"> 1033 <h2 class="ap_sidebar_title"> 1034 <a href="https://www.vindy.com/news/ohio-news/">Ohio News</a> 1035 </h2> 1036 <ul class="ap_sidebar_list"> 1037 <li class="ap_sidebar_item"> 1038 <a href="/wire/?category=4&ID=399762">Former 'American Idol' singer Caleb Flynn convicted of fatally shooting his wife</a> 1039 </li> 1040 <li class="ap_sidebar_item"> 1041 <a href="/wire/?category=4&ID=399541">Billionaire's political contributions make the Epstein files a focus of Ohio's US Senate race</a> 1042 </li> 1043 <li class="ap_sidebar_item"> 1044 <a href="/wire/?category=4&ID=399093">Ohio voters rejected Sherrod Brown. Two years later, are they ready to give him a second chance?</a> 1045 </li> 1046 </ul> 1047 </section> 1048 1049 <div id='TVYO_Right_300x600' style='text-align:center' class='lazyload g_ad three_hundredx600' data-ad-slot='TVYO_Right_300x600'> 1050
1050<script type='text/javascript'> 1051 ogdenLoadAd('TVYO_Right_300x600', { rootMargin: '600px 0px' }); 1052 </script>
1052 1053</div> <div id='TVYO_Middle_300x250' style='text-align:center' class='lazyload g_ad three_hundredx250' data-ad-slot='TVYO_Middle_300x250'> 1054
1054<script type='text/javascript'> 1055 ogdenLoadAd('TVYO_Middle_300x250', { rootMargin: '600px 0px' }); 1056 </script>
1056 1057</div> <section class="ap_sidebar"> 1058 <h2 class="ap_sidebar_title"> 1059 <a href="https://www.vindy.com/news/national-news/">National News</a> 1060 </h2> 1061 <ul class="ap_sidebar_list"> 1062 <li class="ap_sidebar_item"> 1063 <a href="/wire/?category=5&ID=399938">A high-stakes fight for state political power heats up, with Trump's agenda on the line</a> 1064 </li> 1065 <li class="ap_sidebar_item"> 1066 <a href="/wire/?category=5&ID=399869">Iran indicates it's received an official US response to its latest offer on ending the war</a> 1067 </li> 1068 <li class="ap_sidebar_item"> 1069 <a href="/wire/?category=5&ID=399866">Trump plugs $54 billion natural gas project in Alaska, flanked by a senator in a tight race</a> 1070 </li> 1071 </ul> 1072 </section> 1073 1074 <div id='TVYO_Middle_300x250' style='text-align:center' class='lazyload g_ad three_hundredx250' data-ad-slot='TVYO_Middle_300x250'> 1075
1075<script type='text/javascript'> 1076 ogdenLoadAd('TVYO_Middle_300x250', { rootMargin: '600px 0px' }); 1077 </script>
1077 1078</div> <section class="ap_sidebar"> 1079 <h2 class="ap_sidebar_title"> 1080 <a href="https://www.vindy.com/news/international-news/">International News</a> 1081 </h2> 1082 <ul class="ap_sidebar_list"> 1083 <li class="ap_sidebar_item"> 1084 <a href="/wire/?category=6&ID=399880">Dual UK-Iranian national arrested over security incident at US-run air base in England</a> 1085 </li> 1086 <li class="ap_sidebar_item"> 1087 <a href="/wire/?category=6&ID=399881">Bolivia arrests top prosecutor and 13 others accused by US of protecting drug traffickers</a> 1088 </li> 1089 <li class="ap_sidebar_item"> 1090 <a href="/wire/?category=6&ID=399882">Hurricane Rachel strengthens to Category 2 off of Mexico's Pacific Coast</a> 1091 </li> 1092 </ul> 1093 </section> 1094 1095 </aside> 1096 1097 </div><!-- #category_layout --> 1098 </main> 1099 </div> 1100<div id='TVYO_Bottom_728x90' style='text-align:center' class='lazyload g_ad leaderboard leaderboard_bottom' data-ad-slot='TVYO_Bottom_728x90'> 1101
1101<script type='text/javascript'> 1102 ogdenLoadAd('TVYO_Bottom_728x90', { rootMargin: '600px 0px' }); 1103 </script>
1103 1104</div> 1105<span id="promo"></span>
1106<script language="javascript"> 1107 1108 <!-- include script to activate BREAKING NEWS --> 1109 $.getScript('/_breakingNews/www.vindy.com/inc_breakingNews.js'); 1110 1111 1112 1113 function listGetAt(c,p,d) { 1114 if(arguments.length<3)d=","; 1115 var e = c.split(d); 1116 if( p >= 1 && p <= e.length ) { 1117 return e[p-1]; 1118 } 1119 alert("Out of range"); 1120 return ""; 1121 } 1122 1123 function getCookie(name) { 1124 var dc = document.cookie; 1125 var prefix = name + "="; 1126 var begin = dc.indexOf("; " + prefix); 1127 if (begin == -1) { 1128 begin = dc.indexOf(prefix); 1129 if (begin != 0) return null; 1130 } else { 1131 begin += 2; 1132 var end = document.cookie.indexOf(";", begin); 1133 if (end == -1) { 1134 end = dc.length; 1135 } 1136 } 1137 // because unescape has been deprecated, replaced with decodeURI 1138 //return unescape(dc.substring(begin + prefix.length, end)); 1139 return decodeURI(dc.substring(begin + prefix.length, end)); 1140 } 1141 1142 /* find banners that have already been closed and exclude them from the results */ 1143 var closed_banners = ''; 1144 jQuery.each(document.cookie.split(/; */), function() { 1145 var splitCookie = this.split('='); 1146 if ( splitCookie[0].slice(0,5) == 'promo' ) { 1147 if ( closed_banners.length ) { 1148 closed_banners += ','; 1149 } 1150 closed_banners += splitCookie[0].replace('promo_', ''); 1151 } 1152 }); 1153 1154 if ( closed_banners.length ) { 1155 var promoURL = 'https://promos.ogdennews.com/_custom/promos/get_promos_shared_core.php?sid=TVYO&xc=' + closed_banners; 1156 } else { 1157 var promoURL = 'https://promos.ogdennews.com/_custom/promos/get_promos_shared_core.php?sid=TVYO'; 1158 } 1159 1160 1161 jQuery.get( 1162 promoURL, 1163 { 1164 buster:Math.random() 1165 }, 1166 function(data) { 1167 1168 1169 if ( data.includes('æ') && ( listGetAt(data, 4, 'æ') == 1 || listGetAt(data, 6, 'æ') ) ) { 1170 1171 /* check to see if this bottom banner has been previously closed and the cookie session has not expired */ 1172 if ( getCookie('promo_'+listGetAt(data, 5, 'æ')) !== 'closed' ){ 1173 document.getElementById('promo').innerHTML = listGetAt(data, 2, 'æ'); 1174 } 1175 /* if menu items have been included - loop over them and add them to the hamburger menu */ 1176 if ( listGetAt(data, 6, 'æ') ) { 1177 1178 /* menu items will arrive in either of these formats */ 1179 /*****************************************************/ 1180 /* simple^code for menu <li> to be appended */ 1181 /* nested^code for child menu <li> to be appended^code for full parent/child menu <ul> <li> combo to be appended^parent CAT name for searching 1182 /*****************************************************/ 1183 /* if there are more than one menu item passed - they will be | (pipe) delimited */ 1184 1185 /* split the | (pipe) delimited list into an array */ 1186 var menuArray = listGetAt(data, 6, 'æ').split('|'); 1187 1188 /* loop over the new array */ 1189 for ( var i = 0; i < menuArray.length; i++) { 1190 1191 /* if this is a simple menu item - just append it to the bottom of the hamburger nav */ 1192 if ( listGetAt(menuArray[i], 1, '^') == 'simple' ) { 1193 document.getElementById('menu-mobile-menu').insertAdjacentHTML('beforeend', listGetAt(menuArray[i], 2, '^')); 1194 } 1195 1196 /* if this is a nested menu item - run the required additional logic */ 1197 if ( listGetAt(menuArray[i], 1, '^') == 'nested' ) { 1198 1199 /* set a flag to track if the menu item has been added already or not */ 1200 var liAdded = 0; 1201 1202 /* loop over the current menu structure */ 1203 /* this loop will look only for menu items that have sub menus (nested) */ 1204 /* this loop will get the text of the FIRST <a> in the menu item, which will be the main category name */ 1205 $('#menu-mobile-menu li.menu-item-has-children:has(a)').each(function() { 1206 1207 var text = $(this).find('a:first').text(); 1208 var text = text.replace("'", "'"); 1209 var text = text.replace("&", "&"); 1210 1211 var text_comparison = listGetAt(menuArray[i], 4, '^'); 1212 var text_comparison = text_comparison.replace("'", "'"); 1213 var text_comparison = text_comparison.replace("&", "&"); 1214 1215 1216 1217 /* this will compare the text found (main category name) with the 'parent CAT name for searching' (number 4 in the ^ delimited string provided) of the nested menu item about to be appended */ 1218 /* if the names match - we will only inject the submenu item (number 2 in the ^ delimited string provided) */ 1219 if ( text.toLowerCase() === text_comparison.toLowerCase() ) { 1220 var newLi = $(listGetAt(menuArray[i], 2, '^')); 1221 $(this).children('ul.sub-menu').append(newLi);
1222 liAdded = 1; 1223 } 1224 }); 1225 1226 /* if the menu item has not already been added - that means there was not a match for the parent category */ 1227 /* we will continue now by adding a full nested menu item to the bottom of the hamburger menu, including parent and sub category (number 3 in the ^ delimited string provided) */ 1228 if ( !liAdded ) { 1229 document.getElementById('menu-mobile-menu').insertAdjacentHTML('beforeend', listGetAt(menuArray[i], 3, '^')); 1230 } 1231 1232 } 1233 1234 } 1235 } 1236 1237 1238 } 1239 1240 /* function to apply scroller to the promos div */ 1241 (function () { 1242 1243 function initScroller() { 1244 1245 const section = document.getElementById('promo_ad_section'); 1246 1247 if (!section) { 1248 return; 1249 } 1250 1251 const VISIBLE = 3; 1252 const INTERVAL = 4000; 1253 const DURATION = 600; 1254 const DRAG_THRESHOLD = 40; 1255 const DRAG_START_THRESHOLD = 6; 1256 1257 const ads = Array.from( 1258 section.querySelectorAll('.promo_ads') 1259 ); 1260 1261 if (ads.length <= VISIBLE) { 1262 return; 1263 } 1264 1265 const images = section.querySelectorAll('img'); 1266 1267 let loaded = 0; 1268 1269 1270 /* 1271 * -------------------------------------------------- 1272 * Wait for promo images to load 1273 * -------------------------------------------------- 1274 */ 1275 1276 function onImageLoad() { 1277 1278 loaded++; 1279 1280 if (loaded >= images.length) { 1281 start(); 1282 } 1283 } 1284 1285 1286 images.forEach(img => { 1287 1288 if (img.complete) { 1289 1290 onImageLoad(); 1291 1292 } else { 1293 1294 img.addEventListener( 1295 'load', 1296 onImageLoad 1297 ); 1298 1299 img.addEventListener( 1300 'error', 1301 onImageLoad 1302 ); 1303 } 1304 1305 }); 1306 1307 1308 /* 1309 * -------------------------------------------------- 1310 * Start scroller 1311 * -------------------------------------------------- 1312 */ 1313 1314 function start() { 1315 1316 const itemH = ads[0].offsetHeight; 1317 1318 if (!itemH) { 1319 return; 1320 } 1321 1322 const originalAds = Array.from( 1323 section.querySelectorAll('.promo_ads') 1324 ); 1325 1326 1327 /* 1328 * -------------------------------------------------- 1329 * Clone promos at beginning 1330 * -------------------------------------------------- 1331 */ 1332 1333 originalAds 1334 .slice(-VISIBLE) 1335 .forEach(ad => { 1336 1337 const clone = ad.cloneNode(true); 1338 1339 clone.classList.add('promo-clone'); 1340 1341 section.insertBefore( 1342 clone, 1343 section.firstChild 1344 ); 1345 1346 }); 1347 1348 1349 /* 1350 * -------------------------------------------------- 1351 * Clone promos at end 1352 * -------------------------------------------------- 1353 */ 1354 1355 originalAds 1356 .slice(0, VISIBLE) 1357 .forEach(ad => { 1358 1359 const clone = ad.cloneNode(true); 1360 1361 clone.classList.add('promo-clone'); 1362 1363 section.appendChild(clone); 1364 1365 }); 1366 1367 1368 const allAds = Array.from( 1369 section.querySelectorAll('.promo_ads') 1370 ); 1371 1372 1373 /* 1374 * Start after the clones at the top. 1375 */ 1376 1377 let offset = VISIBLE; 1378 1379 1380 /* 1381 * Set visible height. 1382 */ 1383 1384 section.style.height = 1385 (itemH * VISIBLE) + 'px'; 1386 1387 1388 /* 1389 * -------------------------------------------------- 1390 * Initial positioning 1391 * -------------------------------------------------- 1392 */ 1393 1394 allAds.forEach((ad, i) => { 1395 1396 ad.style.position = 'absolute'; 1397 ad.style.left = '0'; 1398 ad.style.width = '100%'; 1399 1400 ad.style.top = 1401 ((i - offset) * itemH) + 'px'; 1402 1403 ad.style.transition = 1404 `top ${DURATION}ms ease`; 1405 1406 }); 1407 1408 1409 /* 1410 * -------------------------------------------------- 1411 * Navigation buttons 1412 * -------------------------------------------------- 1413 */ 1414 1415 const upButton = 1416 document.createElement('button'); 1417
1418 upButton.type = 'button'; 1419 1420 upButton.className = 1421 'promo-scroll-button promo-scroll-up'; 1422 1423 upButton.innerHTML = '▲'; 1424 1425 upButton.setAttribute( 1426 'aria-label', 1427 'Previous promotion' 1428 ); 1429 1430 1431 const downButton = 1432 document.createElement('button'); 1433 1434 downButton.type = 'button'; 1435 1436 downButton.className = 1437 'promo-scroll-button promo-scroll-down'; 1438 1439 downButton.innerHTML = '▼'; 1440 1441 downButton.setAttribute( 1442 'aria-label', 1443 'Next promotion' 1444 ); 1445 1446 1447 section.appendChild(upButton); 1448 section.appendChild(downButton); 1449 1450 1451 /* 1452 * -------------------------------------------------- 1453 * Position helper 1454 * -------------------------------------------------- 1455 */ 1456 1457 function updatePositions( 1458 animate = true 1459 ) { 1460 1461 allAds.forEach((ad, i) => { 1462 1463 ad.style.transition = 1464 animate 1465 ? `top ${DURATION}ms ease` 1466 : 'none'; 1467 1468 ad.style.top = 1469 ((i - offset) * itemH) + 'px'; 1470 1471 }); 1472 1473 } 1474 1475 1476 /* 1477 * -------------------------------------------------- 1478 * Normalize logical offset 1479 * -------------------------------------------------- 1480 */ 1481 1482 function normalizeOffset() { 1483 1484 while ( offset >= originalAds.length + VISIBLE ) { 1485 offset -= originalAds.length; 1486 } 1487 1488 1489 while ( offset < VISIBLE ) { 1490 offset += originalAds.length; 1491 } 1492 1493 } 1494 1495 1496 /* 1497 * -------------------------------------------------- 1498 * Animation state 1499 * -------------------------------------------------- 1500 */ 1501 1502 let animating = false; 1503 1504 1505 /* 1506 * -------------------------------------------------- 1507 * Move forward one promo 1508 * -------------------------------------------------- 1509 */ 1510 1511 function next() { 1512 1513 if (animating) { 1514 return; 1515 } 1516 1517 animating = true; 1518 1519 offset++; 1520 1521 updatePositions(true); 1522 1523 1524 setTimeout(() => { 1525 1526 normalizeOffset(); 1527 1528 updatePositions(false); 1529 1530 animating = false; 1531 1532 }, DURATION); 1533 1534 } 1535 1536 1537 /* 1538 * -------------------------------------------------- 1539 * Move backward one promo 1540 * -------------------------------------------------- 1541 */ 1542 1543 function previous() { 1544 1545 if (animating) { 1546 return; 1547 } 1548 1549 animating = true; 1550 1551 offset--; 1552 1553 updatePositions(true); 1554 1555 1556 setTimeout(() => { 1557 1558 normalizeOffset(); 1559 1560 updatePositions(false); 1561 1562 animating = false; 1563 1564 }, DURATION); 1565 1566 } 1567 1568 1569 /* 1570 * -------------------------------------------------- 1571 * Automatic scrolling 1572 * -------------------------------------------------- 1573 */ 1574 1575 let autoScrollTimer = null; 1576 let autoScrollRestartTimer = null; 1577 1578 1579 function startAutoScroll() { 1580 1581 stopAutoScroll(); 1582 1583 autoScrollTimer = 1584 setInterval( 1585 next, 1586 INTERVAL 1587 ); 1588 1589 } 1590 1591 1592 function stopAutoScroll() { 1593 1594 if (autoScrollTimer) { 1595 clearInterval(autoScrollTimer); 1596 autoScrollTimer = null; 1597 } 1598 1599 1600 if (autoScrollRestartTimer) { 1601 clearTimeout(autoScrollRestartTimer); 1602 autoScrollRestartTimer = null; 1603 } 1604 1605 } 1606 1607 1608 function restartAutoScroll() { 1609 1610 stopAutoScroll(); 1611 1612 autoScrollRestartTimer = 1613 setTimeout(() => { 1614 1615 startAutoScroll(); 1616 1617 }, INTERVAL); 1618 1619 } 1620 1621 1622 /* 1623 * -------------------------------------------------- 1624 * Button controls 1625 * -------------------------------------------------- 1626 */ 1627 1628 upButton.addEventListener( 1629 'click', 1630 function (event) { 1631 1632 event.stopPropagation(); 1633 1634 previous(); 1635 1636 restartAutoScroll(); 1637 1638 } 1639 ); 1640 1641 1642 downButton.addEventListener( 1643 'click', 1644 function (event) { 1645 1646 event.stopPropagation(); 1647 1648 next(); 1649 1650 restartAutoScroll(); 1651 1652 } 1653 ); 1654 1655 1656 /* 1657 * -------------------------------------------------- 1658 * Drag / swipe support 1659 * -------------------------------------------------- 1660 * 1661 * Supports: 1662 * 1663 * - mouse drag 1664 * - touch swipe 1665 * - pen 1666 *
1667 * Normal clicks remain normal anchor clicks. 1668 */ 1669 1670 let pointerDown = false; 1671 let dragging = false; 1672 let suppressClick = false; 1673 1674 let startY = 0; 1675 let currentY = 0; 1676 let dragOffset = 0; 1677 1678 let activePointerId = null; 1679 1680 1681 /* 1682 * -------------------------------------------------- 1683 * Pointer down 1684 * -------------------------------------------------- 1685 */ 1686 1687 section.addEventListener( 1688 'pointerdown', 1689 function (event) { 1690 1691 /* 1692 * Ignore navigation buttons. 1693 */ 1694 if ( event.target.closest('.promo-scroll-button') ) { 1695 return; 1696 } 1697 1698 1699 /* 1700 * Only allow primary mouse button. 1701 */ 1702 if ( event.pointerType === 'mouse' && event.button !== 0 ) { 1703 return; 1704 } 1705 1706 1707 /* 1708 * Don't begin a new interaction 1709 * while an animation is running. 1710 */ 1711 if (animating) { 1712 return; 1713 } 1714 1715 1716 pointerDown = true; 1717 dragging = false; 1718 suppressClick = false; 1719 1720 activePointerId = event.pointerId; 1721 1722 startY = event.clientY; 1723 1724 currentY = startY; 1725 1726 dragOffset = 0; 1727 1728 1729 /* 1730 * IMPORTANT: 1731 * 1732 * We intentionally do NOT capture 1733 * the pointer yet. 1734 * 1735 * The user may simply be clicking 1736 * the promo's <a> link. 1737 */ 1738 1739 } 1740 ); 1741 1742 1743 /* 1744 * -------------------------------------------------- 1745 * Pointer move 1746 * -------------------------------------------------- 1747 */ 1748 1749 section.addEventListener( 1750 'pointermove', 1751 function (event) { 1752 1753 if ( !pointerDown || event.pointerId !== activePointerId ) { 1754 return; 1755 } 1756 1757 1758 currentY = event.clientY; 1759 1760 1761 const movement = currentY - startY; 1762 1763 1764 /* 1765 * Don't classify the interaction 1766 * as a drag until the pointer has 1767 * moved enough. 1768 */ 1769 if (!dragging) { 1770 1771 if ( Math.abs(movement) < DRAG_START_THRESHOLD ) { 1772 return; 1773 } 1774 1775 1776 /* 1777 * This is now a real drag. 1778 */ 1779 dragging = true; 1780 suppressClick = true; 1781 1782 section.classList.add('promo-dragging'); 1783 1784 1785 /* 1786 * Now it is safe to capture 1787 * the pointer. 1788 */ 1789 try { 1790 1791 section.setPointerCapture( 1792 event.pointerId 1793 ); 1794 1795 } catch (e) { 1796 1797 /* 1798 * Pointer capture is helpful 1799 * but not required. 1800 */ 1801 1802 } 1803 1804 1805 stopAutoScroll(); 1806 1807 } 1808 1809 1810 dragOffset = 1811 movement; 1812 1813 1814 /* 1815 * Limit the maximum physical drag. 1816 */ 1817 const maxDrag = 1818 itemH * 1819 (originalAds.length - 1); 1820 1821 1822 dragOffset = 1823 Math.max( 1824 -maxDrag, 1825 Math.min( 1826 maxDrag, 1827 dragOffset 1828 ) 1829 ); 1830 1831 1832 /* 1833 * Move all promos with the pointer. 1834 */ 1835 allAds.forEach((ad, i) => { 1836 1837 ad.style.transition = 1838 'none'; 1839 1840 ad.style.top = 1841 ( 1842 ((i - offset) * itemH) + 1843 dragOffset 1844 ) + 'px'; 1845 1846 }); 1847 1848 } 1849 ); 1850 1851 1852 /* 1853 * -------------------------------------------------- 1854 * Finish pointer interaction 1855 * -------------------------------------------------- 1856 */ 1857 1858 function finishDrag(event) { 1859 1860 if ( !pointerDown || event.pointerId !== activePointerId ) { 1861 return; 1862 } 1863 1864 1865 pointerDown = false; 1866 1867 activePointerId = null; 1868 1869 1870 /* 1871 * -------------------------------------------------- 1872 * Normal click 1873 * -------------------------------------------------- 1874 * 1875 * If no real dragging occurred, 1876 * do absolutely nothing here. 1877 * 1878 * This allows the browser to process
1879 * the promo's normal <a> click. 1880 */ 1881 1882 if (!dragging) { 1883 1884 dragOffset = 0; 1885 1886 return; 1887 } 1888 1889 1890 /* 1891 * -------------------------------------------------- 1892 * Real drag 1893 * -------------------------------------------------- 1894 */ 1895 1896 dragging = false; 1897 1898 1899 section.classList.remove( 'promo-dragging' ); 1900 1901 1902 try { 1903 1904 section.releasePointerCapture( 1905 event.pointerId 1906 ); 1907 1908 } catch (e) { 1909 1910 /* 1911 * Pointer may already be released. 1912 */ 1913 1914 } 1915 1916 1917 /* 1918 * -------------------------------------------------- 1919 * Determine how many promos were moved 1920 * -------------------------------------------------- 1921 */ 1922 1923 let itemsMoved = 1924 Math.round( 1925 dragOffset / itemH 1926 ); 1927 1928 1929 /* 1930 * If the user made a deliberate swipe 1931 * but didn't quite reach half a promo, 1932 * still move one promo. 1933 */ 1934 if ( 1935 itemsMoved === 0 && 1936 Math.abs(dragOffset) >= 1937 DRAG_THRESHOLD 1938 ) { 1939 1940 itemsMoved = 1941 dragOffset > 0 1942 ? 1 1943 : -1; 1944 1945 } 1946 1947 1948 /* 1949 * Very small drag: 1950 * just snap back. 1951 */ 1952 if (itemsMoved === 0) { 1953 1954 updatePositions(true); 1955 1956 dragOffset = 0; 1957 1958 restartAutoScroll(); 1959 1960 return; 1961 } 1962 1963 1964 /* 1965 * -------------------------------------------------- 1966 * Update logical position 1967 * -------------------------------------------------- 1968 * 1969 * Upward drag: 1970 * 1971 * dragOffset = negative 1972 * itemsMoved = negative 1973 * 1974 * Therefore subtracting itemsMoved 1975 * advances forward. 1976 */ 1977 1978 offset -= 1979 itemsMoved; 1980 1981 1982 normalizeOffset(); 1983 1984 1985 /* 1986 * -------------------------------------------------- 1987 * Snap smoothly to nearest promo 1988 * -------------------------------------------------- 1989 */ 1990 1991 updatePositions(true); 1992 1993 1994 setTimeout(() => { 1995 1996 normalizeOffset(); 1997 1998 updatePositions(false); 1999 2000 }, DURATION); 2001 2002 2003 dragOffset = 0; 2004 2005 2006 /* 2007 * Resume auto scrolling later. 2008 */ 2009 2010 restartAutoScroll(); 2011 2012 } 2013 2014 2015 /* 2016 * -------------------------------------------------- 2017 * Pointer release events 2018 * -------------------------------------------------- 2019 */ 2020 2021 section.addEventListener( 2022 'pointerup', 2023 finishDrag 2024 ); 2025 2026 2027 section.addEventListener( 2028 'pointercancel', 2029 finishDrag 2030 ); 2031 2032 2033 /* 2034 * -------------------------------------------------- 2035 * Suppress click ONLY after a drag 2036 * -------------------------------------------------- 2037 * 2038 * Normal click: 2039 * 2040 * opens promo link 2041 * 2042 * Drag: 2043 * 2044 * scrolls promos without accidentally 2045 * opening a promo link afterward. 2046 */ 2047 2048 section.addEventListener( 2049 'click', 2050 function (event) { 2051 2052 if (!suppressClick) { 2053 return; 2054 } 2055 2056 2057 event.preventDefault(); 2058 event.stopPropagation(); 2059 2060 2061 suppressClick = false; 2062 2063 }, 2064 true 2065 ); 2066 2067 2068 /* 2069 * -------------------------------------------------- 2070 * Prevent native image dragging 2071 * -------------------------------------------------- 2072 */ 2073 2074 section.addEventListener( 2075 'dragstart', 2076 function (event) { 2077 2078 event.preventDefault(); 2079 2080 } 2081 ); 2082 2083 2084 /* 2085 * -------------------------------------------------- 2086 * Start automatic scrolling 2087 * -------------------------------------------------- 2088 */ 2089 2090 startAutoScroll(); 2091 2092 } 2093 2094 } 2095 2096 2097 /* 2098 * -------------------------------------------------- 2099 * Initialize 2100 * -------------------------------------------------- 2101 */ 2102 2103 if ( 2104 document.readyState === 'loading' 2105 ) { 2106 2107 document.addEventListener( 2108 'DOMContentLoaded', 2109 initScroller 2110 ); 2111 2112 } else { 2113 2114 initScroller(); 2115 2116 } 2117 2118 })(); 2119 2120 }, 2121 "html"); 2122 2123 2124 function closePromo(amount, duration, promo_id) { 2125 jQuery('.readers_choice_sticky_image').hide(); 2126 2127 if ( amount !== undefined && duration !== undefined && promo_id !== undefined ) { 2128 /* cookie parameters were declared - set the cookie */ 2129 switch ( duration ) { 2130 case 'minute': 2131 var cookieLife = 1000 * 60 * amount; 2132 break; 2133 case 'hour': 2134 var cookieLife = 1000 * 60 * 60 * amount; 2135 break; 2136 case 'day': 2137 var cookieLife = 1000 * 60 * 60 * 24 * amount; 2138 break; 2139 case 'week': 2140 var cookieLife = 1000 * 60 * 60 * 24 * 7 * amount; 2141 break; 2142 case 'month': 2143 var cookieLife = 1000 * 60 * 60 * 24 * 7 * 4 * amount; 2144 break; 2145 default: 2146 var cookieLife = 0; 2147 break; 2148 } 2149 if ( cookieLife != 0 ) { 2150 /* get current timestamp in current WordPress timezone in milliseconds */ 2151 const currentTimestamp = 1790908518000; 2152 /* add appropriate amount of milliseconds according to the parameters passed to the function */ 2153 const adjustedTimestamp = currentTimestamp + cookieLife; 2154 /* create new future datetime with the additional time added */ 2155 const cookieExpirationTimestamp = new Date(adjustedTimestamp); 2156 /* set cookie to expire at designated future time and day */ 2157 document.cookie = "promo_" + promo_id + "=closed; expires=" + cookieExpirationTimestamp.toUTCString() + ";"; 2158 } 2159 } 2160 2161 } 2162 2163 /* regenerate the listeners on the hamburger menu for the open/close arrows */ 2164 initMobileMenuItems();
2165 2166</script>
2166 2167 2168<footer id="bottom_footer"> 2169 <div id="footer_content" class="default_width"> 2170 <section id="footer_top"> 2171 <figure> 2172 <a href="https://www.vindy.com/" rel="home"> 2173 <img id="site_logo" src="https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/07/27153239/vindy.png" border="0" alt="website logo" /> 2174 </a> 2175 </figure> 2176 <aside> 2177 <a href="https://www.facebook.com/thevindicator/"><i class="icon-facebook"></i></a> <a href="https://twitter.com/vindicator"><i class="icon-x_logo_2023 twitter_x"></i></a> </aside> 2178 </section> 2179 <div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-206" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-has-children menu-item-206"><a href="https://www.vindy.com/news/" aria-current="page">News</a> 2180<ul class="sub-menu"> 2181 <li id="menu-item-208" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-208"><a href="https://www.vindy.com/news/local-news/">Local News</a></li> 2182 <li id="menu-item-207" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-207"><a href="https://www.vindy.com/news/community-news/">Community News</a></li> 2183 <li id="menu-item-209" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-209"><a href="https://www.vindy.com/obituaries/">Obituaries</a></li> 2184</ul> 2185</li> 2186<li id="menu-item-210" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-210"><a href="https://www.vindy.com/sports/">Sports</a> 2187<ul class="sub-menu"> 2188 <li id="menu-item-662172" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-662172"><a href="https://www.vindy.com/sports/local-sports/">Local Sports</a></li> 2189 <li id="menu-item-662173" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-662173"><a href="https://www.vindy.com/sports/high-school-sports/">High School Sports</a></li> 2190</ul> 2191</li> 2192<li id="menu-item-662176" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-662176"><a href="https://www.vindy.com/opinion/">Opinion</a> 2193<ul class="sub-menu"> 2194 <li id="menu-item-662177" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-662177"><a href="https://www.vindy.com/opinion/editorials/">Editorials</a></li> 2195 <li id="menu-item-662178" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-662178"><a href="https://www.vindy.com/opinion/letters-to-the-editor/">Letters to the Editor</a></li> 2196</ul> 2197</li> 2198<li id="menu-item-662179" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-662179"><a href="https://www.vindy.com/life/">Life</a> 2199<ul class="sub-menu"> 2200 <li id="menu-item-662180" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-662180"><a href="https://www.vindy.com/life/lifestyles/">Lifestyles</a></li> 2201 <li id="menu-item-662181" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-662181"><a href="https://www.vindy.com/life/society/">Society</a></li> 2202</ul> 2203</li> 2204<li id="menu-item-212" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-212"><a href="https://www.vindy.com/contact-us/">Contact Us</a> 2205<ul class="sub-menu"> 2206 <li id="menu-item-211" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-211"><a href="https://www.vindy.com/advertise/">Advertise</a></li> 2207 <li id="menu-item-662174" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-662174"><a href="https://www.vindy.com/forms/submit-news/">Submit News</a></li> 2208 <li id="menu-item-662175" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-662175"><a href="https://subscribe.vindy.com/?utm_source=newspaper-site&utm_medium=referral&utm_campaign=subscription-promo&
2208utm_content=header-subscribe">Subscribe</a></li> 2209</ul> 2210</li> 2211</ul></div> </div> 2212 <div id="footer_address" class="default_width"> 2213 <p>240 Franklin Street SE, Warren, OH 44482 - Copyright © The Vindicator </p> 2214 </div> 2215 </footer> 2216 2217<div class="progress-wrap"> 2218 <svg class="progress-circle svg-content" width="100%" height="100%" viewBox="-1 -1 102 102"> 2219 <path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98"/> 2220 </svg> 2221</div>
2222<script> 2223 $(document).ready(function(){ 2224 //Scroll back to top 2225 var progressPath = document.querySelector('.progress-wrap path'); 2226 var pathLength = progressPath.getTotalLength(); 2227 progressPath.style.transition = progressPath.style.WebkitTransition = 'none'; 2228 progressPath.style.strokeDasharray = pathLength + ' ' + pathLength; 2229 progressPath.style.strokeDashoffset = pathLength; 2230 progressPath.getBoundingClientRect(); 2231 progressPath.style.transition = progressPath.style.WebkitTransition = 'stroke-dashoffset 10ms linear'; 2232 var updateProgress = function () { 2233 var scroll = $(window).scrollTop(); 2234 var height = $(document).height() - $(window).height(); 2235 var progress = pathLength - (scroll * pathLength / height); 2236 progressPath.style.strokeDashoffset = progress; 2237 } 2238 updateProgress(); 2239 $(window).scroll(updateProgress); 2240 var offset = 50; 2241 var duration = 550; 2242 jQuery(window).on('scroll', function() { 2243 if (jQuery(this).scrollTop() > offset) { 2244 jQuery('.progress-wrap').addClass('active-progress'); 2245 } else { 2246 jQuery('.progress-wrap').removeClass('active-progress'); 2247 } 2248 }); 2249 jQuery('.progress-wrap').on('click', function(event) { 2250 event.preventDefault(); 2251 jQuery('html, body').animate({scrollTop: 0}, duration); 2252 return false; 2253 }) 2254 }) 2255</script>
2255<script type="speculationrules"> 2256{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wordpress/wp-*.php","/wordpress/wp-admin/*","/wp-content/uploads/*","/wordpress/wp-content/*","/wordpress/wp-content/plugins/*","/wordpress/wp-content/themes/oni_newscore_2026/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 2257</script>
2257 2258
2258<script>var ogdenPollAjax = { ajaxurl: 'https://www.vindy.com/wordpress/wp-admin/admin-ajax.php', recaptchaSiteKey: 'YOUR_RECAPTCHA_V3_SITE_KEY' };</script>
2258 2259
2259<script> 2260 document.addEventListener('DOMContentLoaded', function() { 2261 document.querySelectorAll('.opw_form').forEach(function(form) { 2262 form.addEventListener('submit', function(e) { 2263 e.preventDefault(); 2264 var btn = form.querySelector('.opw_submit'); 2265 btn.disabled = true; 2266 btn.textContent = 'Submittingâ¦'; 2267 2268 var siteKey = ogdenPollAjax.recaptchaSiteKey; 2269 var isRealKey = siteKey && siteKey !== 'YOUR_RECAPTCHA_V3_SITE_KEY'; 2270 2271 function doSubmit(recaptchaToken) { 2272 var data = new FormData(form); 2273 data.append('action', 'ogden_poll_vote'); 2274 if (recaptchaToken) data.append('recaptcha_token', recaptchaToken); 2275 2276 fetch(ogdenPollAjax.ajaxurl, { 2277 method: 'POST', 2278 credentials: 'same-origin', 2279 body: data 2280 }) 2281 .then(function(r) { return r.json(); }) 2282 .then(function(res) { 2283 if (res.success) { 2284 var widget = form.closest('.ogden_poll_widget'); 2285 widget.querySelector('.opw_form_wrap').innerHTML = res.data.html; 2286 setTimeout(function() { 2287 widget.querySelectorAll('.opw_bar_fill').forEach(function(bar) { 2288 bar.style.width = bar.dataset.pct + '%'; 2289 }); 2290 }, 50); 2291 } else { 2292 btn.disabled = false; 2293 btn.textContent = 'Submit Vote'; 2294 alert(res.data || 'Something went wrong.'); 2295 } 2296 }) 2297 .catch(function() { 2298 btn.disabled = false; 2299 btn.textContent = 'Submit Vote'; 2300 alert('Network error. Please try again.'); 2301 }); 2302 } 2303 2304 if (isRealKey && typeof grecaptcha !== 'undefined') { 2305 grecaptcha.ready(function() { 2306 grecaptcha.execute(siteKey, { action: 'ogden_poll_vote' }).then(function(token) { 2307 doSubmit(token); 2308 }); 2309 }); 2310 } else { 2311 doSubmit(null); 2312 } 2313 }); 2314 }); 2315 2316 // "View results without voting" toggle â works for any number 2317 // of poll widgets on the page, doesn't touch the vote form. 2318 document.querySelectorAll('.opw_view_results_link').forEach(function(link) { 2319 link.addEventListener('click', function() { 2320 var widget = link.closest('.ogden_poll_widget'); 2321 if (!widget) return; 2322 var form = widget.querySelector('.opw_form'); 2323 var view = widget.querySelector('.opw_results_view'); 2324 if (form) form.style.display = 'none'; 2325 link.style.display = 'none'; 2326 if (view) { 2327 view.style.display = 'block'; 2328 view.querySelectorAll('.opw_bar_fill').forEach(function(bar) { 2329 setTimeout(function() { bar.style.width = bar.dataset.pct + '%'; }, 50); 2330 }); 2331 } 2332 }); 2333 }); 2334 }); 2335 </script>
2335 2336
2336<script id="paywall-script-js-extra"> 2337var paywallSettings = {"enablePaywall":"0","freeArticleLimit":"3","newspaperLogo":"https://ogden_images.s3.amazonaws.com/www.vindy.com/images/2026/07/27153239/vindy.png","iframeUrl":"https://subscribe.vindy.com/subscribe/","manageAccountUrl":"https://subscribe.vindy.com/my-account/edit-account/","forgotPasswordUrl":"https://subscribe.vindy.com/my-account/lost-password/","closeButton":"https://www.vindy.com/wordpress/wp-content/plugins/ogden-paywall-sc/img/close.png","pluginPath":"https://www.vindy.com/wordpress/wp-content/plugins/ogden-paywall-sc/","authenticator":"onicirc","storeUrl":"https://subscribe.vindy.com/","cherryroadEnabled":"0"}; 2338//# sourceURL=paywall-script-js-extra 2339</script>
vendor: 1 bytes, line 2339
2339
2340<script id="paywall-script-js" src="https://www.vindy.com/wordpress/wp-content/plugins/ogden-paywall-sc/js/paywall.js?v=39&ver=1.0"></script>
vendor: 1 bytes, line 2340
2340
2341<script id="paywall-header-nav-logins-js" src="https://www.vindy.com/wordpress/wp-content/plugins/ogden-paywall-sc/js/header_nav_login_links.js?v=39&ver=1.0"></script>
vendor: 1 bytes, line 2341
2341
2342<script id="gforms_recaptcha_recaptcha-js-extra"> 2343var gforms_recaptcha_recaptcha_strings = {"nonce":"073e04c48c","disconnect":"Disconnecting","change_connection_type":"Resetting","spinner":"https://www.vindy.com/wordpress/wp-content/plugins/gravityforms/images/spinner.svg","connection_type":"classic","disable_badge":"1","change_connection_type_title":"Change Connection Type","change_connection_type_message":"Changing the connection type will delete your current settings. Do you want to proceed?","disconnect_title":"Disconnect","disconnect_message":"Disconnecting from reCAPTCHA will delete your current settings. Do you want to proceed?","site_key":"6Letiq4gAAAAAMqknNq2O4kwLMXEso7BDqzSp_HU"}; 2344//# sourceURL=gforms_recaptcha_recaptcha-js-extra 2345</script>
vendor: 127 bytes, lines 2345-2346
2345 2346<script data-wp-strategy="defer" defer id="gforms_recaptcha_recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=
23466Letiq4gAAAAAMqknNq2O4kwLMXEso7BDqzSp_HU
vendor: 27 bytes, line 2346
2346&ver=2.2.2"></script>
2347<script data-wp-strategy="defer" defer id="gforms_recaptcha_frontend-js" src="https://www.vindy.com/wordpress/wp-content/plugins/gravityformsrecaptcha/js/frontend.min.js?ver=2.2.2"></script>
2347 2348<style> 2349 #cookie_consent {background:#ececec; text-align:right; padding:10px 0 5px 0} 2350 #cookie_consent div {border-top:solid 1px #dbdbdb; padding:5px 0 0 0;} 2351 #cookie_consent a { text-decoration: none; color: inherit; font-size:12px;} 2352 .termly-display-preferences {color:#333; font-size:12px;} 2353</style> 2354</body> 2355</html> 2356<!-- *´¨) 2357 ¸.â¢Â´Â¸.â¢*´¨) ¸.â¢*¨) 2358 (¸.â¢Â´ (¸.â¢` ¤ Comet Cache is Fully Functional ¤ ´¨) --> 2359 2360<!-- Cache File Version Salt: n/a --> 2361 2362<!-- Cache File URL: https://www.vindy.com/news/ --> 2363<!-- Cache File Path: /usr/web/unified_core.ogdennews.com/wp-content/cache/comet-cache/www.vindy.com/cache/https/www-vindy-com/news.html --> 2364 2365<!-- Cache File Generated Via: HTTP request --> 2366<!-- Cache File Generated On: Oct 2nd, 2026 @ 2:35 am UTC --> 2367<!-- Cache File Generated In: 0.15614 seconds --> 2368 2369<!-- Cache File Expires On: Oct 3rd, 2026 @ 2:35 am UTC --> 2370<!-- Cache File Auto-Rebuild On: Oct 3rd, 2026 @ 2:35 am UTC --> 2371 2372<!-- Loaded via Cache On: Oct 2nd, 2026 @ 2:38 am UTC --> 2373<!-- Loaded via Cache In: 0.00089 seconds -->
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.