PageSourceSearch

https://www.vindy.com/news/

html vindy.com collected 2026-10-02 02:52:01 UTC 121,124 bytes, 2,373 lines download raw bytes

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 &raquo; 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&hellip;" 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&hellip;" 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">&#x2715;</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&#039;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&#039;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&#039;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">&hellip;</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&#038;ID=399762">Former &#039;American Idol&#039; singer Caleb Flynn convicted of fatally shooting his wife</a>
1039                </li>
1040                            <li class="ap_sidebar_item">
1041                    <a href="/wire/?category=4&#038;ID=399541">Billionaire&#039;s political contributions make the Epstein files a focus of Ohio&#039;s US Senate race</a>
1042                </li>
1043                            <li class="ap_sidebar_item">
1044                    <a href="/wire/?category=4&#038;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&#038;ID=399938">A high-stakes fight for state political power heats up, with Trump&#039;s agenda on the line</a>
1064                </li>
1065                            <li class="ap_sidebar_item">
1066                    <a href="/wire/?category=5&#038;ID=399869">Iran indicates it&#039;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&#038;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&#038;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&#038;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&#038;ID=399882">Hurricane Rachel strengthens to Category 2 off of Mexico&#039;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("'", "&#039;");
1209								var text = text.replace("&", "&amp;");
1210
1211								var text_comparison = listGetAt(menuArray[i], 4, '^');
1212								var text_comparison = text_comparison.replace("'", "&#039;");
1213								var text_comparison = text_comparison.replace("&", "&amp;");
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 = '&#9650;';
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 = '&#9660;';
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&#038;utm_medium=referral&#038;utm_campaign=subscription-promo&#038;
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&#038;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&#038;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&#038;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.