PageSourceSearch

https://www.altoonamirror.com/news/

html altoonamirror.com collected 2026-10-02 03:55:59 UTC 125,892 bytes, 2,394 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-P6H86PK
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.altoonamirror.com/wordpress/wp-content/themes/oni_newscore_2026/images/AMAP/favicon.ico" />
23    <link rel="stylesheet" href="https://www.altoonamirror.com/wordpress/wp-content/themes/oni_newscore_2026/css/layout.css?v=333" media="all" type="text/css" />
24    
24<script src="https://www.altoonamirror.com/wordpress/wp-content/themes/oni_newscore_2026/js/jquery-3.7.1.min.js"></script>
24
25    <link rel="pingback" href="https://www.altoonamirror.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="Altoona Mirror &raquo; News Category Feed" href="https://www.altoonamirror.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.altoonamirror.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.altoonamirror.com/wordpress/wp-includes/css/dashicons.min.css?ver=7.1.2' media='all' />
51<link rel="https://api.w.org/" href="https://www.altoonamirror.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.altoonamirror.com/wp-json/wp/v2/categories/756" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.altoonamirror.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.altoonamirror.com/images/2026/07/13151409/favicon.png" sizes="32x32" />
58<link rel="icon" href="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/07/13151409/favicon.png" sizes="192x192" />
59<link rel="apple-touch-icon" href="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/07/13151409/favicon.png" />
60<meta name="msapplication-TileImage" content="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/07/13151409/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:      'AMAP',
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            'AMAP_Top_728x90',
282            basePath + 'AMAP_Top_728x90',
283            [320, 100],
284            LeaderboardTop
285        );
286
287                defineOgdenSlot(
288            'AMAP_Middle_728x90',
289            basePath + 'AMAP_Middle_728x90',
290            [320, 100],
291            homepage_middle_728x90
292        );
293                
294        defineOgdenSlot(
295            'AMAP_Right_300x600',
296            basePath + 'AMAP_Right_300x600',
297            [300, 250],
298            HalfPage
299        );
300
301        defineOgdenSlot(
302            'AMAP_Bottom_728x90',
303            basePath + 'AMAP_Bottom_728x90',
304            [320, 100],
305            Leaderboard
306        );
307
308        
309        defineOgdenSlot(
310            'AMAP_Middle_300x250',
311            basePath + 'AMAP_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',     'AMAP');
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-P6H86PK
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-647254" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-647254"><a href="https://www.altoonamirror.com/news/" aria-current="page">News</a></li>
398<li id="menu-item-647257" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647257"><a href="https://www.altoonamirror.com/sports/">Sports</a></li>
399<li id="menu-item-647256" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647256"><a href="https://www.altoonamirror.com/opinion/">Opinion</a></li>
400<li id="menu-item-647253" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647253"><a href="https://www.altoonamirror.com/life/">Life</a></li>
401<li id="menu-item-647255" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647255"><a href="https://www.altoonamirror.com/obituaries/">Obituaries</a></li>
402<li id="menu-item-1291748" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1291748"><a href="https://classifieds.altoonamirror.com">Classifieds</a></li>
403<li id="menu-item-1291749" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1291749"><a href="https://classifieds.altoonamirror.com/view/?classification=504">Garage Sales</a></li>
404<li id="menu-item-647251" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-647251"><a href="http://jobs.altoonamirror.com/">Jobs</a></li>
405<li id="menu-item-948470" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-948470"><a href="http://altoonamirror.column.us/place">Place Notice</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.altoonamirror.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.altoonamirror.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.altoonamirror.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.altoonamirror.com/" rel="home">
656                <img id="site_logo" src="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/07/13150954/website_logo.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/altoona/">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.altoonamirror.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-647204" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-has-children menu-item-647204"><a href="https://www.altoonamirror.com/news/" aria-current="page">News</a>
676<ul class="sub-menu">
677	<li id="menu-item-647207" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647207"><a href="https://www.altoonamirror.com/news/local-news/">Local News</a></li>
678	<li id="menu-item-647206" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647206"><a href="https://www.altoonamirror.com/news/local-business/">Local Business</a></li>
679	<li id="menu-item-647210" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647210"><a href="https://www.altoonamirror.com/news/public-records/">Public Records</a></li>
680	<li id="menu-item-647209" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647209"><a href="https://www.altoonamirror.com/news/pennsylvania-news-apwire/">Pennsylvania News</a></li>
681	<li id="menu-item-647208" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647208"><a href="https://www.altoonamirror.com/news/national/">National News</a></li>
682	<li id="menu-item-647205" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647205"><a href="https://www.altoonamirror.com/news/international/">International News</a></li>
683</ul>
684</li>
685<li id="menu-item-647216" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-647216"><a href="https://www.altoonamirror.com/sports/">Sports</a>
686<ul class="sub-menu">
687	<li id="menu-item-647218" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647218"><a href="https://www.altoonamirror.com/sports/local-sports/">Local Sports</a></li>
688	<li id="menu-item-647217" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647217"><a href="https://www.altoonamirror.com/sports/altoona-curve/">Altoona Curve</a></li>
689	<li id="menu-item-647220" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647220"><a href="https://www.altoonamirror.com/sports/outdoors/">Outdoors</a></li>
690	<li id="menu-item-647221" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647221"><a href="https://www.altoonamirror.com/sports/pennsylvania-sports/">Pennsylvania Sports</a></li>
691	<li id="menu-item-647222" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647222"><a href="https://www.altoonamirror.com/sports/professional-sports/">Professional Sports</a></li>
692	<li id="menu-item-647226" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647226"><a href="https://www.altoonamirror.com/sports/psu/">PSU</a></li>
693	<li id="menu-item-647231" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647231"><a href="https://www.altoonamirror.com/sports/scholastic/">Scholastic Sports</a></li>
694	<li id="menu-item-647240" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647240"><a href="https://www.altoonamirror.com/sports/sports-columns/">Sports Columns</a></li>
695	<li id="menu-item-647247" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647247"><a href="https://www.altoonamirror.com/sports/voice-of-the-fan/">Voice of the Fan</a></li>
696	<li id="menu-item-647219" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647219"><a href="https://www.altoonamirror.com/sports/national-sports/">National Sports</a></li>
697</ul>
698</li>
699<li id="menu-item-647212" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-647212"><a href="https://www.altoonamirror.com/opinion/">Opinion</a>
700<ul class="sub-menu">
701	<li id="menu-item-647213" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647213"><a href="https://www.altoonamirror.com/opinion/editorials/">Editorials</a></li>
702	<li id="menu-item-647214" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647214"><a href="https://www.altoonamirror.com/opinion/letters-to-the-editor/">Letters to the Editor</a></li>
703	<li id="menu-item-647215" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647215"><a href="https://www.altoonamirror.com/opinion/other-commentaries/">Other Commentaries</a></li>
704</ul>
705</li>
706<li id="menu-item-647198" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-647198"><a href="https://www.altoonamirror.com/life/">Life</a>
707<ul class="sub-menu">
708	<li id="menu-item-647202" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647202"><a href="https://www.altoonamirror.com/life/engagements/">Engagements</a></li>
709	<li id="menu-item-647248" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647248"><a href="https://www.altoonamirror.com/life/weddings/">Weddings</a></li>
710	<li id="menu-item-647199" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647199"><a href="https://www.altoonamirror.com/life/anniversary/">Anniversary</a></li>
711	<li id="menu-item-647203" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647203"><a href="https://www.altoonamirror.com/life/school-notes/">School Notes</a></li>
712	<li id="menu-item-647200" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647200"><a href="https://www.altoonamirror.com/life/area-life/">Area Life</a></li>
713	<li id="menu-item-647201" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647201"><a href="https://www.altoonamirror.com/life/community/">Community</a></li>
714</ul>
715</li>
716<li id="menu-item-842019" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-842019"><a href="https://www.altoonamirror.com/covid-19/">COVID-19</a></li>
717<li id="menu-item-647211" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647211"><a href="https://www.altoonamirror.com/obituaries/">Obituaries</a></li>
718<li id="menu-item-1291750" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1291750"><a href="https://classifieds.altoonamirror.com">Classifieds</a></li>
719<li id="menu-item-1291751" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1291751"><a href="https://classifieds.altoonamirror.com/view/?classification=504">Garage Sales</a></li>
720<li id="menu-item-647828" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647828"><a href="https://www.altoonamirror.com/blogs/">Blogs</a></li>
721<li id="menu-item-647197" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-647197"><a href="http://jobs.altoonamirror.com/">Jobs</a></li>
722<li id="menu-item-809508" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-809508"><a href="https://www.altoonamirror.com/bcp/">Blair County Proud</a>
723<ul class="sub-menu">
724	<li id="menu-item-809507" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-809507"><a href="https://www.altoonamirror.com/bcp-business/">Business</a></li>
725	<li id="menu-item-809505" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-809505"><a href="https://www.altoonamirror.com/forms/bcp-faith-based/">
725Faith Based</a></li>
726	<li id="menu-item-809510" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-809510"><a href="https://www.altoonamirror.com/forms/bcp-fire/">Fire</a></li>
727	<li id="menu-item-809511" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-809511"><a href="https://www.altoonamirror.com/forms/bcp-police/">Police</a></li>
728	<li id="menu-item-809509" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-809509"><a href="https://www.altoonamirror.com/forms/bcp-nonprofit/">Nonprofit</a></li>
729	<li id="menu-item-809506" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-809506"><a href="https://www.altoonamirror.com/forms/bcp-ems/">EMS</a></li>
730</ul>
731</li>
732<li id="menu-item-647194" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-647194"><a href="https://www.altoonamirror.com/contact-us/">Contact Information</a>
733<ul class="sub-menu">
734	<li id="menu-item-815705" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-815705"><a href="https://www.altoonamirror.com/contact-us/">Contact Us</a></li>
735	<li id="menu-item-647192" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-647192"><a href="https://www.altoonamirror.com/forms/submit-news/">Submit News</a></li>
736	<li id="menu-item-647191" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-647191"><a href="https://www.altoonamirror.com/terms-of-service/">Terms of Service</a></li>
737	<li id="menu-item-647195" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-647195"><a href="https://www.altoonamirror.com/advertise/">Advertise</a></li>
738	<li id="menu-item-845604" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-845604"><a href="https://www.facebook.com/AltoonaMirror/">Facebook</a></li>
739	<li id="menu-item-845603" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-845603"><a href="https://twitter.com/AltoonamirrorPA">Twitter</a></li>
740</ul>
741</li>
742<li id="menu-item-948467" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-948467"><a href="/">Public Notices</a>
743<ul class="sub-menu">
744	<li id="menu-item-948468" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-948468"><a href="https://www.publicnoticepa.com">Browse Notices</a></li>
745	<li id="menu-item-948469" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-948469"><a href="http://altoonamirror.column.us/place">Place Notice</a></li>
746</ul>
747</li>
748</ul></div></div>
749
750<script>
751    const hamburger = document.getElementById('hamburger');
752    const drawer = document.getElementById('drawer');
753    const overlay = document.getElementById('overlay');
754    const closeBtn = document.getElementById('close_button');
755    const mobileMenu = document.getElementById('menu-mobile-menu');
756
757    function openMenu() {
758        drawer.classList.add('open');
759        overlay.classList.add('open');
760        hamburger.setAttribute('aria-expanded', 'true');
761    }
762
763    function closeMenu() {
764        drawer.classList.remove('open');
765        overlay.classList.remove('open');
766        hamburger.setAttribute('aria-expanded', 'false');
767    }
768
769    hamburger.addEventListener('click', openMenu);
770    closeBtn.addEventListener('click', closeMenu);
771    overlay.addEventListener('click', closeMenu);
772
773
774    function initMobileMenuItems() {
775
776        // Inject toggle buttons and wrap parent links for items with sub-menus
777        document.querySelectorAll('#menu-mobile-menu .menu-item-has-children').forEach(li => {
778            const subMenu = li.querySelector(':scope > .sub-menu');
779
780            if (!subMenu) {
781                return;
782            }
783
784            let row = li.querySelector(':scope > .parent_row');
785            let link = li.querySelector(':scope > a');
786
787            // If this item has not already been wrapped, wrap its direct child link
788            if (!row && link) {
789                row = document.createElement('div');
790                row.classList.add('parent_row');
791
792                li.insertBefore(row, link);
793                row.appendChild(link);
794            }
795
796            // If there is still no row, there is nothing to enhance
797            if (!row) {
798                return;
799            }
800
801            // If this row already has a toggle button, do not add another one
802            if (row.querySelector(':scope > .hamburger_toggle_button')) {
803                return;
804            }
805
806            link = row.querySelector(':scope > a');
807
808            if (!link) {
809                return;
810            }
811
812            const btn = document.createElement('button');
813            btn.classList.add('hamburger_toggle_button');
814            btn.setAttribute('aria-expanded', 'false');
815            btn.setAttribute('aria-label', 'Expand ' + link.textContent.trim());
816            btn.innerHTML = '<i class="icon-right-open"></i>';
817
818            row.appendChild(btn);
819        });
820
821
822        // Wrap plain parent links (no sub-menu) in parent_row div for consistent styling
823        document.querySelectorAll('#menu-mobile-menu > li:not(.menu-item-has-children)').forEach(li => {
824            let row = li.querySelector(':scope > .parent_row');
825            let link = li.querySelector(':scope > a');
826
827            // Already wrapped or no link found
828            if (row || !link) {
829                return;
830            }
831
832            row = document.createElement('div');
833            row.classList.add('parent_row');
834
835            li.insertBefore(row, link);
836            row.appendChild(link);
837        });
838
839    }
840
841
842    // One delegated click handler for all current and future toggle buttons
843    mobileMenu.addEventListener('click', function(event) {
844        const btn = event.target.closest('.hamburger_toggle_button');
845
846        if (!btn || !mobileMenu.contains(btn)) {
847            return;
848        }
849
850        event.preventDefault();
851
852        const li = btn.closest('.menu-item-has-children');
853
854        if (!li) {
855            return;
856        }
857
858        const subMenu = li.querySelector(':scope > .sub-menu');
859
860        if (!subMenu) {
861            return;
862        }
863
864        const isOpen = subMenu.classList.contains('open');
865
866        subMenu.classList.toggle('open', !isOpen);
867        btn.classList.toggle('expanded', !isOpen);
868        btn.setAttribute('aria-expanded', String(!isOpen));
869    });
870
871
872    // Initial setup
873    initMobileMenuItems();
874
875</script>
vendor: 2 bytes, line 875
875
876<script>
877    lastScroll = 0;
878    $(window).on('scroll',function() {
879        var scroll = $(window).scrollTop();
880        if(lastScroll - scroll > 0) {
881            $("body").removeClass("scroll_down");
882            $("#main_header_wrap").removeClass("scroll");
883            $("body").addClass("scroll_up");
884        } else {
885            $("#main_header_wrap").addClass("scroll");
886            $("body").addClass("scroll_down");
887            $("body").removeClass("scroll_up");
888        }
889        lastScroll = scroll;
890    });
891</script>
891
892
893
894
895    <div id="category_content_wrap">
896        <div id='AMAP_Top_728x90' style='text-align:center' class='lazyload g_ad leaderboard leaderboard_top' data-ad-slot='AMAP_Top_728x90'>
897    
897<script type='text/javascript'>
898        ogdenLoadAd('AMAP_Top_728x90', { rootMargin: '100px 0px' });
899    </script>
899
900</div>                <main id="content" class="category default_width" aria-label="News">
901            <div id="category_layout">
902                <div id="category_main">
903
904                        <div class="cat_title_wrap">
905        <h1>
906            <a href="https://www.altoonamirror.com/news/">News</a>
907            <i class="icon-down-open"></i>
908        </h1>
909        <ul id="parent_cat_subs">
910                                <li><a href="https://www.altoonamirror.com/news/seniors/">Seniors</a></li>
911                                                <li><a href="https://www.altoonamirror.com/news/local-news/">Local News</a></li>
912                                                <li><a href="https://www.altoonamirror.com/news/public-records/">Public Records</a></li>
913                                                <li><a href="https://www.altoonamirror.com/news/local-business/">Local Business</a></li>
914                                                <li><a href="https://www.altoonamirror.com/news/pennsylvania-news-apwire/">Pennsylvania News</a></li>
915                                                <li><a href="https://www.altoonamirror.com/news/national/">National News</a></li>
916                                                <li><a href="https://www.altoonamirror.com/news/international/">International News</a></li>
917                                                <li><a href="https://www.altoonamirror.com/news/religion/">Religion</a></li>
918                                    </ul>
919    </div>
920
921    <article aria-labelledby="in-full-swing-square-dance-group-hosts-festival-at-blair-county-convention-center">
922                                    <div class="full_category_photo_wrap wide">
923                    <a href="https://www.altoonamirror.com/news/local-news/2026/10/in-full-swing-square-dance-group-hosts-festival-at-blair-county-convention-center/" tabindex="-1" aria-hidden="true">
924                        <img width="751" height="500" src="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/10/01225030/Square-dancing-convention-02-751x500.webp" class="attachment-medium size-medium wp-post-image" alt="In full swing: Square dance group hosts festival at Blair County Convention Center" loading="lazy" decoding="async" />                    </a>
925                </div>
926                <div class="cat_article_text">
927                    <h2 id="in-full-swing-square-dance-group-hosts-festival-at-blair-county-convention-center">
928                        <a href="https://www.altoonamirror.com/news/local-news/2026/10/in-full-swing-square-dance-group-hosts-festival-at-blair-county-convention-center/">In full swing: Square dance group hosts festival at Blair County Convention Center</a>
929                    </h2>
930                    <div class="cat_article_meta">
931                                                    <a class="cat_article_cat_label" href="https://www.altoonamirror.com/news/local-news/">Local News</a>
932                                                                        <time datetime="2026-10-01">October 1, 2026</time>
933                    </div>
934                    <p>
935
936A big contingent of square dancers descended Thursday on the Blair County Convention Center to start their fall festival weekend.
937
938The Pennsylvania Square & Round Dance Federation’s “Fabulous Fall Festival” is expected to attract about 300 dancers to Altoona for the event, which runs ...</p>
939                </div>
940                        </article>
941        <article aria-labelledby="rhodes-meat-market-in-morrisons-cove-to-be-sold">
942                                    <div class="full_category_photo_wrap wide">
943                    <a href="https://www.altoonamirror.com/news/local-news/2026/10/rhodes-meat-market-in-morrisons-cove-to-be-sold/" tabindex="-1" aria-hidden="true">
944                        <img width="800" height="450" src="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/10/01220108/Rhodes-Meat-Market-800x450.webp" class="attachment-medium size-medium wp-post-image" alt="Rhodes Meat Market in Morrisons Cove to be sold" loading="lazy" decoding="async" />                    </a>
945                </div>
946                <div class="cat_article_text">
947                    <h2 id="rhodes-meat-market-in-morrisons-cove-to-be-sold">
948                        <a href="https://www.altoonamirror.com/news/local-news/2026/10/rhodes-meat-market-in-morrisons-cove-to-be-sold/">Rhodes Meat Market in Morrisons Cove to be sold</a>
949                    </h2>
950                    <div class="cat_article_meta">
951                                                    <a class="cat_article_cat_label" href="https://www.altoonamirror.com/news/local-news/">Local News</a>
952                                                                        <time datetime="2026-10-01">October 1, 2026</time>
953                    </div>
954                    <p>MARTINSBURG — A long­­time Morrisons Cove family business is being sold.
955
956Rhodes Meat Market, founded in 1938 by Glenn and Mabel Rhodes, is being sold to Premium Fresh Market LLC, according to the Rhodes Facebook page.
957
958“We are excited to announce that we have a prospective buyer, ...</p>
959                </div>
960                        </article>
961        <article aria-labelledby="logan-township-probe-leads-to-case-in-south-africa">
962                    <div class="cat_article_text">
963                <h2 id="logan-township-probe-leads-to-case-in-south-africa">
964                    <a href="https://www.altoonamirror.com/news/local-news/2026/10/logan-township-probe-leads-to-case-in-south-africa/">Logan Township probe leads to case in South Africa</a>
965                </h2>
966                <div class="cat_article_meta">
967                                            <a class="cat_article_cat_label" href="https://www.altoonamirror.com/news/local-news/">Local News</a>
968                                                            <time datetime="2026-10-01">October 1, 2026</time>
969                </div>
970                <p>A Logan Township police investigation last year into suspected prostitution and human trafficking activity in Blair County resulted in a New York man’s guilty plea last week in federal court. 
971
972While 59-year-old Mark Behrje pleaded guilty Sept. 17 to a federal charge of receiving and distributing child sexual abuse material, the case led to South Africa, where the investigation continues, Logan Township police stated on the department’s Facebook account.
973
974The Behrje case can be traced back to March 2025, when Logan Township police arrested Libo Shi, 51, at the Rodeway Inn, Altoona, ...</p>
975            </div>
976            </article>
977    <div id='AMAP_Middle_728x90' style='text-align:center' class='lazyload g_ad leaderboard leaderboard_middle' data-ad-slot='AMAP_Middle_728x90'>
978    
978<script type='text/javascript'>
979        ogdenLoadAd('AMAP_Middle_728x90', { rootMargin: '600px 0px' });
980    </script>
980
981</div>    <article aria-labelledby="jury-finds-virginia-beach-man-guilty-in-case-of-logan-township-kidnapping">
982                    <div class="cat_article_text">
983                <h2 id="jury-finds-virginia-beach-man-guilty-in-case-of-logan-township-kidnapping">
984                    <a href="https://www.altoonamirror.com/news/local-news/2026/10/jury-finds-virginia-beach-man-guilty-in-case-of-logan-township-kidnapping/">Jury finds Virginia Beach man guilty in case of Logan Township kidnapping</a>
985                </h2>
986                <div class="cat_article_meta">
987                                            <a class="cat_article_cat_label" href="https://www.altoonamirror.com/news/local-news/">Local News</a>
988                                                            <time datetime="2026-10-01">October 1, 2026</time>
989                </div>
990                <p>HOLLIDAYSBURG — The Virginia Beach man on trial for kidnapping two children alongside their mother in September 2025 was convicted Thursday evening on all counts against him.
991
992The Blair County jury deliberated about three hours before returning their unanimous verdict against Brandon Michael Harris, 38, who was shown on dashcam video played by prosecution leading state police on a chase reaching speeds of 130 mph from Logan Township to the Osterberg exit in Bedford County.
993
994After two days of testimony, which saw Harris take the stand in his own defense, the jury found Harris guilty ...</p>
995            </div>
996            </article>
997        <article aria-labelledby="blair-county-commissioners-seek-height-allowance-for-juniata-eighth-street-bridge">
998                    <div class="cat_article_text">
999                <h2 id="blair-county-commissioners-seek-height-allowance-for-juniata-eighth-street-bridge">
1000                    <a href="https://www.altoonamirror.com/news/local-news/2026/10/blair-county-commissioners-seek-height-allowance-for-juniata-eighth-street-bridge/">Blair County commissioners seek height allowance for Juniata Eighth Street bridge</a>
1001                </h2>
1002                <div class="cat_article_meta">
1003                                            <a class="cat_article_cat_label" href="https://www.altoonamirror.com/news/local-news/">Local News</a>
1004                                                            <time datetime="2026-10-01">October 1, 2026</time>
1005                </div>
1006                <p>HOLLIDAYSBURG — The Blair County commissioners will ask the public utility commission to consider allowing a shorter height for the Juniata Eighth Street Bridge due to the costs involved with replacing not only that bridge but two others in the three-bridge span.
1007
1008Commissioners Amy Webster and Laura Burke approved a motion to send a letter of engagement from Blair County to HMS Legal in Harrisburg for “legal services and advice regarding a bridge repair/replacement dispute with Norfolk Southern.” Commissioner David Kessling was absent.
1009
1010“That’s the filing with the Public ...</p>
1011            </div>
1012            </article>
1013        <article aria-labelledby="sheetz-opens-169-million-distribution-facility-in-ohio">
1014                                    <div class="full_category_photo_wrap wide">
1015                    <a href="https://www.altoonamirror.com/news/local-news/2026/10/sheetz-opens-169-million-distribution-facility-in-ohio/" tabindex="-1" aria-hidden="true">
1016                        <img width="755" height="500" src="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/10/01215203/sheetz-distribution-center-Travis-Sheetz-right-755x500.webp" class="attachment-medium size-medium wp-post-image" alt="Sheetz opens $169 million distribution facility in Ohio" loading="lazy" decoding="async" />                    </a>
1017                </div>
1018                <div class="cat_article_text">
1019                    <h2 id="sheetz-opens-169-million-distribution-facility-in-ohio">
1020                        <a href="https://www.altoonamirror.com/news/local-news/2026/10/sheetz-opens-169-million-distribution-facility-in-ohio/">Sheetz opens $169 million distribution facility in Ohio</a>
1021                    </h2>
1022                    <div class="cat_article_meta">
1023                                                    <a class="cat_article_cat_label" href="https://www.altoonamirror.com/news/local-news/">Local News</a>
1024                                                                        <time datetime="2026-10-01">October 1, 2026</time>
1025                    </div>
1026                    <p>A new $169 million Sheetz food manufacturing and distribution center in Findlay, Ohio, will begin operations Oct. 11.
1027
1028On Tuesday, local, regional and state leaders officially cut the ribbon on the new facility, which will create more than 750 jobs over the next five years and bring new ...</p>
1029                </div>
1030                        </article>
1031    
1032<div class="pagination_wrap "><ul class='page-numbers'>
1033	<li><span aria-current="page" class="page-numbers current"><span class="pagination_link">1</span></span></li>
1034	<li><a class="page-numbers" href="https://www.altoonamirror.com/news/page/2/"><span class="pagination_link">2</span></a></li>
1035	<li><span class="page-numbers dots">&hellip;</span></li>
1036	<li><a class="page-numbers" href="https://www.altoonamirror.com/news/page/100/"><span class="pagination_link">100</span></a></li>
1037	<li><a class="next page-numbers" href="https://www.altoonamirror.com/news/page/2/"><i class="icon-angle-right"></i></a></li>
1038</ul>
1039</div>
1040                </div><!-- #category_main -->
1041
1042                <aside id="category_sidebar" aria-label="Sidebar">
1043                        <div id='AMAP_Middle_300x250' style='text-align:center' class='lazyload g_ad three_hundredx250' data-ad-slot='AMAP_Middle_300x250'>
1044    
1044<script type='text/javascript'>
1045        ogdenLoadAd('AMAP_Middle_300x250', { rootMargin: '600px 0px' });
1046    </script>
1046
1047</div>    <section class="ap_sidebar">
1048        <h2 class="ap_sidebar_title">
1049            <a href="https://www.altoonamirror.com/news/pennsylvania-news-apwire/">Pennsylvania News</a>
1050        </h2>
1051        <ul class="ap_sidebar_list">
1052                            <li class="ap_sidebar_item">
1053                    <a href="/wire/?category=757&#038;ID=399863">Hedge fund CEO Ken Griffin gives record $3B to Carnegie Mellon to build Miami campus</a>
1054                </li>
1055                            <li class="ap_sidebar_item">
1056                    <a href="/wire/?category=757&#038;ID=399856">Pennsylvania records a fifth measles death as the nation endures its worst year since 1991</a>
1057                </li>
1058                            <li class="ap_sidebar_item">
1059                    <a href="/wire/?category=757&#038;ID=399587">Wisconsin scores twice in last 4 minutes, rallies to beat No. 13 Penn State 24-20</a>
1060                </li>
1061                    </ul>
1062    </section>
1063
1064    <div id='AMAP_Right_300x600' style='text-align:center' class='lazyload g_ad three_hundredx600' data-ad-slot='AMAP_Right_300x600'>
1065    
1065<script type='text/javascript'>
1066        ogdenLoadAd('AMAP_Right_300x600', { rootMargin: '600px 0px' });
1067    </script>
1067
1068</div>    <div id='AMAP_Middle_300x250' style='text-align:center' class='lazyload g_ad three_hundredx250' data-ad-slot='AMAP_Middle_300x250'>
1069    
1069<script type='text/javascript'>
1070        ogdenLoadAd('AMAP_Middle_300x250', { rootMargin: '600px 0px' });
1071    </script>
1071
1072</div>    <section class="ap_sidebar">
1073        <h2 class="ap_sidebar_title">
1074            <a href="https://www.altoonamirror.com/news/national/">National News</a>
1075        </h2>
1076        <ul class="ap_sidebar_list">
1077                            <li class="ap_sidebar_item">
1078                    <a href="/wire/?category=759&#038;ID=399938">A high-stakes fight for state political power heats up, with Trump&#039;s agenda on the line</a>
1079                </li>
1080                            <li class="ap_sidebar_item">
1081                    <a href="/wire/?category=759&#038;ID=399869">Iran indicates it&#039;s received an official US response to its latest offer on ending the war</a>
1082                </li>
1083                            <li class="ap_sidebar_item">
1084                    <a href="/wire/?category=759&#038;ID=399866">Trump plugs $54 billion natural gas project in Alaska, flanked by a senator in a tight race</a>
1085                </li>
1086                    </ul>
1087    </section>
1088
1089        <div id='AMAP_Middle_300x250' style='text-align:center' class='lazyload g_ad three_hundredx250' data-ad-slot='AMAP_Middle_300x250'>
1090    
1090<script type='text/javascript'>
1091        ogdenLoadAd('AMAP_Middle_300x250', { rootMargin: '600px 0px' });
1092    </script>
1092
1093</div>    <section class="ap_sidebar">
1094        <h2 class="ap_sidebar_title">
1095            <a href="https://www.altoonamirror.com/news/international/">International News</a>
1096        </h2>
1097        <ul class="ap_sidebar_list">
1098                            <li class="ap_sidebar_item">
1099                    <a href="/wire/?category=760&#038;ID=399880">Dual UK-Iranian national arrested over security incident at US-run air base in England</a>
1100                </li>
1101                            <li class="ap_sidebar_item">
1102                    <a href="/wire/?category=760&#038;ID=399881">Bolivia arrests top prosecutor and 13 others accused by US of protecting drug traffickers</a>
1103                </li>
1104                            <li class="ap_sidebar_item">
1105                    <a href="/wire/?category=760&#038;ID=399882">Hurricane Rachel strengthens to Category 2 off of Mexico&#039;s Pacific Coast</a>
1106                </li>
1107                    </ul>
1108    </section>
1109
1110                    </aside>
1111
1112            </div><!-- #category_layout -->
1113        </main>
1114    </div>
1115<div id='AMAP_Bottom_728x90' style='text-align:center' class='lazyload g_ad leaderboard leaderboard_bottom' data-ad-slot='AMAP_Bottom_728x90'>
1116    
1116<script type='text/javascript'>
1117        ogdenLoadAd('AMAP_Bottom_728x90', { rootMargin: '600px 0px' });
1118    </script>
1118
1119</div>
1120<span id="promo"></span>
1121<script language="javascript">
1122
1123	<!-- include script to activate BREAKING NEWS -->
1124	$.getScript('/_breakingNews/www.altoonamirror.com/inc_breakingNews.js');
1125	
1126
1127
1128	function listGetAt(c,p,d) {
1129		if(arguments.length<3)d=",";
1130		var e = c.split(d);
1131		if( p >= 1 && p <= e.length ) {
1132			return e[p-1];
1133		}
1134		alert("Out of range");
1135		return "";
1136	}
1137	
1138	function getCookie(name) {
1139		var dc = document.cookie;
1140		var prefix = name + "=";
1141		var begin = dc.indexOf("; " + prefix);
1142		if (begin == -1) {
1143			begin = dc.indexOf(prefix);
1144			if (begin != 0) return null;
1145		} else {
1146			begin += 2;
1147			var end = document.cookie.indexOf(";", begin);
1148			if (end == -1) {
1149				end = dc.length;
1150			}
1151		}
1152		// because unescape has been deprecated, replaced with decodeURI
1153		//return unescape(dc.substring(begin + prefix.length, end));
1154		return decodeURI(dc.substring(begin + prefix.length, end));
1155	} 
1156
1157	/* find banners that have already been closed and exclude them from the results */
1158	var closed_banners = '';
1159	jQuery.each(document.cookie.split(/; */), function()  {
1160		var splitCookie = this.split('=');
1161		if ( splitCookie[0].slice(0,5) == 'promo' ) {
1162			if ( closed_banners.length ) {
1163			  closed_banners += ',';
1164			}
1165			closed_banners += splitCookie[0].replace('promo_', '');
1166		}
1167	});
1168	
1169	if ( closed_banners.length ) {	
1170		var promoURL = 'https://promos.ogdennews.com/_custom/promos/get_promos_shared_core.php?sid=AMAP&xc=' + closed_banners;
1171	} else {
1172		var promoURL = 'https://promos.ogdennews.com/_custom/promos/get_promos_shared_core.php?sid=AMAP';
1173	}
1174	
1175
1176	jQuery.get(    
1177		promoURL,    
1178		{	
1179			buster:Math.random()
1180		},
1181		function(data) {
1182			
1183
1184			if ( data.includes('æ') && ( listGetAt(data, 4, 'æ') == 1 || listGetAt(data, 6, 'æ') ) ) {
1185				 
1186				/* check to see if this bottom banner has been previously closed and the cookie session has not expired */
1187				if ( getCookie('promo_'+listGetAt(data, 5, 'æ')) !== 'closed' ){
1188					document.getElementById('promo').innerHTML = listGetAt(data, 2, 'æ');
1189				}
1190								/* if menu items have been included - loop over them and add them to the hamburger menu */
1191				if ( listGetAt(data, 6, 'æ') ) {
1192					
1193					/* menu items will arrive in either of these formats */
1194						/*****************************************************/
1195						/* simple^code for menu <li> to be appended */
1196						/* 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
1197						/*****************************************************/
1198					/* if there are more than one menu item passed - they will be | (pipe) delimited */
1199										
1200					/* split the | (pipe) delimited list into an array */
1201					var menuArray = listGetAt(data, 6, 'æ').split('|');
1202					
1203					/* loop over the new array */
1204					for ( var i = 0; i < menuArray.length; i++) {
1205
1206						/* if this is a simple menu item - just append it to the bottom of the hamburger nav */
1207						if ( listGetAt(menuArray[i], 1, '^') == 'simple' ) {
1208							document.getElementById('menu-mobile-menu').insertAdjacentHTML('beforeend', listGetAt(menuArray[i], 2, '^'));
1209						}
1210						
1211						/* if this is a nested menu item - run the required additional logic */
1212						if ( listGetAt(menuArray[i], 1, '^') == 'nested' ) {
1213							
1214							/* set a flag to track if the menu item has been added already or not */
1215							var liAdded = 0;
1216							
1217							/* loop over the current menu structure */
1218							/* this loop will look only for menu items that have sub menus (nested) */
1219							/* this loop will get the text of the FIRST <a> in the menu item, which will be the main category name */
1220							$('#menu-mobile-menu li.menu-item-has-children:has(a)').each(function() {
1221
1222								var text = $(this).find('a:first').text();
1223								var text = text.replace("'", "&#039;");
1224								var text = text.replace("&", "&amp;");
1225
1226								var text_comparison = listGetAt(menuArray[i], 4, '^');
1227								var text_comparison = text_comparison.replace("'", "&#039;");
1228								var text_comparison = text_comparison.replace("&", "&amp;");
1229
1230
1231
1232								/* 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 */
1233								/* if the names match - we will only inject the submenu item (number 2 in the ^ delimited string provided) */
1234								if ( text.toLowerCase() === text_comparison.toLowerCase() ) {
1235										var newLi = $(listGetAt(menuArray[i], 2, '^'));
1236										$(this).children('ul.sub-menu').append(newLi);
1237										liAdded = 1;
1238								}
1239							});
1240							
1241							/* if the menu item has not already been added - that means there was not a match for the parent category */
1242							/* 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) */
1243							if ( !liAdded ) {
1244								document.getElementById('menu-mobile-menu').insertAdjacentHTML('beforeend', listGetAt(menuArray[i], 3, '^'));
1245							}
1246							
1247						}
1248							
1249					}
1250				}
1251				
1252				
1253			}
1254
1255            /* function to apply scroller to the promos div */
1256            (function () {
1257
1258                function initScroller() {
1259
1260                    const section = document.getElementById('promo_ad_section');
1261
1262                    if (!section) {
1263                        return;
1264                    }
1265
1266                    const VISIBLE = 3;
1267                    const INTERVAL = 4000;
1268                    const DURATION = 600;
1269                    const DRAG_THRESHOLD = 40;
1270                    const DRAG_START_THRESHOLD = 6;
1271
1272                    const ads = Array.from(
1273                        section.querySelectorAll('.promo_ads')
1274                    );
1275
1276                    if (ads.length <= VISIBLE) {
1277                        return;
1278                    }
1279
1280                    const images = section.querySelectorAll('img');
1281
1282                    let loaded = 0;
1283
1284
1285                    /*
1286                    * --------------------------------------------------
1287                    * Wait for promo images to load
1288                    * --------------------------------------------------
1289                    */
1290
1291                    function onImageLoad() {
1292
1293                        loaded++;
1294
1295                        if (loaded >= images.length) {
1296                            start();
1297                        }
1298                    }
1299
1300
1301                    images.forEach(img => {
1302
1303                        if (img.complete) {
1304
1305                            onImageLoad();
1306
1307                        } else {
1308
1309                            img.addEventListener(
1310                                'load',
1311                                onImageLoad
1312                            );
1313
1314                            img.addEventListener(
1315                                'error',
1316                                onImageLoad
1317                            );
1318                        }
1319
1320                    });
1321
1322
1323                    /*
1324                    * --------------------------------------------------
1325                    * Start scroller
1326                    * --------------------------------------------------
1327                    */
1328
1329                    function start() {
1330
1331                        const itemH = ads[0].offsetHeight;
1332
1333                        if (!itemH) {
1334                            return;
1335                        }
1336
1337                        const originalAds = Array.from(
1338                            section.querySelectorAll('.promo_ads')
1339                        );
1340
1341
1342                        /*
1343                        * --------------------------------------------------
1344                        * Clone promos at beginning
1345                        * --------------------------------------------------
1346                        */
1347
1348                        originalAds
1349                            .slice(-VISIBLE)
1350                            .forEach(ad => {
1351
1352                                const clone = ad.cloneNode(true);
1353
1354                                clone.classList.add('promo-clone');
1355
1356                                section.insertBefore(
1357                                    clone,
1358                                    section.firstChild
1359                                );
1360
1361                            });
1362
1363
1364                        /*
1365                        * --------------------------------------------------
1366                        * Clone promos at end
1367                        * --------------------------------------------------
1368                        */
1369
1370                        originalAds
1371                            .slice(0, VISIBLE)
1372                            .forEach(ad => {
1373
1374                                const clone = ad.cloneNode(true);
1375
1376                                clone.classList.add('promo-clone');
1377
1378                                section.appendChild(clone);
1379
1380                            });
1381
1382
1383                        const allAds = Array.from(
1384                            section.querySelectorAll('.promo_ads')
1385                        );
1386
1387
1388                        /*
1389                        * Start after the clones at the top.
1390                        */
1391
1392                        let offset = VISIBLE;
1393
1394
1395                        /*
1396                        * Set visible height.
1397                        */
1398
1399                        section.style.height =
1400                            (itemH * VISIBLE) + 'px';
1401
1402
1403                        /*
1404                        * --------------------------------------------------
1405                        * Initial positioning
1406                        * --------------------------------------------------
1407                        */
1408
1409                        allAds.forEach((ad, i) => {
1410
1411                            ad.style.position = 'absolute';
1412                            ad.style.left = '0';
1413                            ad.style.width = '100%';
1414
1415                            ad.style.top =
1416                                ((i - offset) * itemH) + 'px';
1417
1418                            ad.style.transition =
1419                                `top ${DURATION}ms ease`;
1420
1421                        });
1422
1423
1424                        /*
1425                        * --------------------------------------------------
1426                        * Navigation buttons
1427                        * --------------------------------------------------
1428                        */
1429
1430                        const upButton =
1431                            document.createElement('button');
1432
1433                        upButton.type = 'button';
1434
1435                        upButton.className =
1436                            'promo-scroll-button promo-scroll-up';
1437
1438                        upButton.innerHTML = '&#9650;';
1439
1440                        upButton.setAttribute(
1441                            'aria-label',
1442                            'Previous promotion'
1443                        );
1444
1445
1446                        const downButton =
1447                            document.createElement('button');
1448
1449                        downButton.type = 'button';
1450
1451                        downButton.className =
1452                            'promo-scroll-button promo-scroll-down';
1453
1454                        downButton.innerHTML = '&#9660;';
1455
1456                        downButton.setAttribute(
1457                            'aria-label',
1458                            'Next promotion'
1459                        );
1460
1461
1462                        section.appendChild(upButton);
1463                        section.appendChild(downButton);
1464
1465
1466                        /*
1467                        * --------------------------------------------------
1468                        * Position helper
1469                        * --------------------------------------------------
1470                        */
1471
1472                        function updatePositions(
1473                            animate = true
1474                        ) {
1475
1476                            allAds.forEach((ad, i) => {
1477
1478                                ad.style.transition =
1479                                    animate
1480                                        ? `top ${DURATION}ms ease`
1481                                        : 'none';
1482
1483                                ad.style.top =
1484                                    ((i - offset) * itemH) + 'px';
1485
1486                            });
1487
1488                        }
1489
1490
1491                        /*
1492                        * --------------------------------------------------
1493                        * Normalize logical offset
1494                        * --------------------------------------------------
1495                        */
1496
1497                        function normalizeOffset() {
1498
1499                            while ( offset >= originalAds.length + VISIBLE ) {
1500                                offset -= originalAds.length;
1501                            }
1502
1503
1504                            while ( offset < VISIBLE ) {
1505                                offset += originalAds.length;
1506                            }
1507
1508                        }
1509
1510
1511                        /*
1512                        * --------------------------------------------------
1513                        * Animation state
1514                        * --------------------------------------------------
1515                        */
1516
1517                        let animating = false;
1518
1519
1520                        /*
1521                        * --------------------------------------------------
1522                        * Move forward one promo
1523                        * --------------------------------------------------
1524                        */
1525
1526                        function next() {
1527
1528                            if (animating) {
1529                                return;
1530                            }
1531
1532                            animating = true;
1533
1534                            offset++;
1535
1536                            updatePositions(true);
1537
1538
1539                            setTimeout(() => {
1540
1541                                normalizeOffset();
1542
1543                                updatePositions(false);
1544
1545                                animating = false;
1546
1547                            }, DURATION);
1548
1549                        }
1550
1551
1552                        /*
1553                        * --------------------------------------------------
1554                        * Move backward one promo
1555                        * --------------------------------------------------
1556                        */
1557
1558                        function previous() {
1559
1560                            if (animating) {
1561                                return;
1562                            }
1563
1564                            animating = true;
1565
1566                            offset--;
1567
1568                            updatePositions(true);
1569
1570
1571                            setTimeout(() => {
1572
1573                                normalizeOffset();
1574
1575                                updatePositions(false);
1576
1577                                animating = false;
1578
1579                            }, DURATION);
1580
1581                        }
1582
1583
1584                        /*
1585                        * --------------------------------------------------
1586                        * Automatic scrolling
1587                        * --------------------------------------------------
1588                        */
1589
1590                        let autoScrollTimer = null;
1591                        let autoScrollRestartTimer = null;
1592
1593
1594                        function startAutoScroll() {
1595
1596                            stopAutoScroll();
1597
1598                            autoScrollTimer =
1599                                setInterval(
1600                                    next,
1601                                    INTERVAL
1602                                );
1603
1604                        }
1605
1606
1607                        function stopAutoScroll() {
1608
1609                            if (autoScrollTimer) {
1610                                clearInterval(autoScrollTimer);
1611                                autoScrollTimer = null;
1612                            }
1613
1614
1615                            if (autoScrollRestartTimer) {
1616                                clearTimeout(autoScrollRestartTimer);
1617                                autoScrollRestartTimer = null;
1618                            }
1619
1620                        }
1621
1622
1623                        function restartAutoScroll() {
1624
1625                            stopAutoScroll();
1626
1627                            autoScrollRestartTimer =
1628                                setTimeout(() => {
1629
1630                                    startAutoScroll();
1631
1632                                }, INTERVAL);
1633
1634                        }
1635
1636
1637                        /*
1638                        * --------------------------------------------------
1639                        * Button controls
1640                        * --------------------------------------------------
1641                        */
1642
1643                        upButton.addEventListener(
1644                            'click',
1645                            function (event) {
1646
1647                                event.stopPropagation();
1648
1649                                previous();
1650
1651                                restartAutoScroll();
1652
1653                            }
1654                        );
1655
1656
1657                        downButton.addEventListener(
1658                            'click',
1659                            function (event) {
1660
1661                                event.stopPropagation();
1662
1663                                next();
1664
1665                                restartAutoScroll();
1666
1667                            }
1668                        );
1669
1670
1671                        /*
1672                        * --------------------------------------------------
1673                        * Drag / swipe support
1674                        * --------------------------------------------------
1675                        *
1676                        * Supports:
1677                        *
1678                        * - mouse drag
1679                        * - touch swipe
1680                        * - pen
1681                        *
1682                        * Normal clicks remain normal anchor clicks.
1683                        */
1684
1685                        let pointerDown = false;
1686                        let dragging = false;
1687                        let suppressClick = false;
1688
1689                        let startY = 0;
1690                        let currentY = 0;
1691                        let dragOffset = 0;
1692
1693                        let activePointerId = null;
1694
1695
1696                        /*
1697                        * --------------------------------------------------
1698                        * Pointer down
1699                        * --------------------------------------------------
1700                        */
1701
1702                        section.addEventListener(
1703                            'pointerdown',
1704                            function (event) {
1705
1706                                /*
1707                                * Ignore navigation buttons.
1708                                */
1709                                if ( event.target.closest('.promo-scroll-button') ) {
1710                                    return;
1711                                }
1712
1713
1714                                /*
1715                                * Only allow primary mouse button.
1716                                */
1717                                if ( event.pointerType === 'mouse' && event.button !== 0 ) {
1718                                    return;
1719                                }
1720
1721
1722                                /*
1723                                * Don't begin a new interaction
1724                                * while an animation is running.
1725                                */
1726                                if (animating) {
1727                                    return;
1728                                }
1729
1730
1731                                pointerDown = true;
1732                                dragging = false;
1733                                suppressClick = false;
1734
1735                                activePointerId = event.pointerId;
1736
1737                                startY = event.clientY;
1738
1739                                currentY = startY;
1740
1741                                dragOffset = 0;
1742
1743
1744                                /*
1745                                * IMPORTANT:
1746                                *
1747                                * We intentionally do NOT capture
1748                                * the pointer yet.
1749                                *
1750                                * The user may simply be clicking
1751                                * the promo's <a> link.
1752                                */
1753
1754                            }
1755                        );
1756
1757
1758                        /*
1759                        * --------------------------------------------------
1760                        * Pointer move
1761                        * --------------------------------------------------
1762                        */
1763
1764                        section.addEventListener(
1765                            'pointermove',
1766                            function (event) {
1767
1768                                if ( !pointerDown || event.pointerId !== activePointerId ) {
1769                                    return;
1770                                }
1771
1772
1773                                currentY = event.clientY;
1774
1775
1776                                const movement = currentY - startY;
1777
1778
1779                                /*
1780                                * Don't classify the interaction
1781                                * as a drag until the pointer has
1782                                * moved enough.
1783                                */
1784                                if (!dragging) {
1785
1786                                    if ( Math.abs(movement) < DRAG_START_THRESHOLD ) {
1787                                        return;
1788                                    }
1789
1790
1791                                    /*
1792                                    * This is now a real drag.
1793                                    */
1794                                    dragging = true;
1795                                    suppressClick = true;
1796
1797                                    section.classList.add('promo-dragging');
1798
1799
1800                                    /*
1801                                    * Now it is safe to capture
1802                                    * the pointer.
1803                                    */
1804                                    try {
1805
1806                                        section.setPointerCapture(
1807                                            event.pointerId
1808                                        );
1809
1810                                    } catch (e) {
1811
1812                                        /*
1813                                        * Pointer capture is helpful
1814                                        * but not required.
1815                                        */
1816
1817                                    }
1818
1819
1820                                    stopAutoScroll();
1821
1822                                }
1823
1824
1825                                dragOffset =
1826                                    movement;
1827
1828
1829                                /*
1830                                * Limit the maximum physical drag.
1831                                */
1832                                const maxDrag =
1833                                    itemH *
1834                                    (originalAds.length - 1);
1835
1836
1837                                dragOffset =
1838                                    Math.max(
1839                                        -maxDrag,
1840                                        Math.min(
1841                                            maxDrag,
1842                                            dragOffset
1843                                        )
1844                                    );
1845
1846
1847                                /*
1848                                * Move all promos with the pointer.
1849                                */
1850                                allAds.forEach((ad, i) => {
1851
1852                                    ad.style.transition =
1853                                        'none';
1854
1855                                    ad.style.top =
1856                                        (
1857                                            ((i - offset) * itemH) +
1858                                            dragOffset
1859                                        ) + 'px';
1860
1861                                });
1862
1863                            }
1864                        );
1865
1866
1867                        /*
1868                        * --------------------------------------------------
1869                        * Finish pointer interaction
1870                        * --------------------------------------------------
1871                        */
1872
1873                        function finishDrag(event) {
1874
1875                            if ( !pointerDown || event.pointerId !== activePointerId ) {
1876                                return;
1877                            }
1878
1879
1880                            pointerDown = false;
1881
1882                            activePointerId = null;
1883
1884
1885                            /*
1886                            * --------------------------------------------------
1887                            * Normal click
1888                            * --------------------------------------------------
1889                            *
1890                            * If no real dragging occurred,
1891                            * do absolutely nothing here.
1892                            *
1893                            * This allows the browser to process
1894                            * the promo's normal <a> click.
1895                            */
1896
1897                            if (!dragging) {
1898
1899                                dragOffset = 0;
1900
1901                                return;
1902                            }
1903
1904
1905                            /*
1906                            * --------------------------------------------------
1907                            * Real drag
1908                            * --------------------------------------------------
1909                            */
1910
1911                            dragging = false;
1912
1913
1914                            section.classList.remove( 'promo-dragging' );
1915
1916
1917                            try {
1918
1919                                section.releasePointerCapture(
1920                                    event.pointerId
1921                                );
1922
1923                            } catch (e) {
1924
1925                                /*
1926                                * Pointer may already be released.
1927                                */
1928
1929                            }
1930
1931
1932                            /*
1933                            * --------------------------------------------------
1934                            * Determine how many promos were moved
1935                            * --------------------------------------------------
1936                            */
1937
1938                            let itemsMoved =
1939                                Math.round(
1940                                    dragOffset / itemH
1941                                );
1942
1943
1944                            /*
1945                            * If the user made a deliberate swipe
1946                            * but didn't quite reach half a promo,
1947                            * still move one promo.
1948                            */
1949                            if (
1950                                itemsMoved === 0 &&
1951                                Math.abs(dragOffset) >=
1952                                    DRAG_THRESHOLD
1953                            ) {
1954
1955                                itemsMoved =
1956                                    dragOffset > 0
1957                                        ? 1
1958                                        : -1;
1959
1960                            }
1961
1962
1963                            /*
1964                            * Very small drag:
1965                            * just snap back.
1966                            */
1967                            if (itemsMoved === 0) {
1968
1969                                updatePositions(true);
1970
1971                                dragOffset = 0;
1972
1973                                restartAutoScroll();
1974
1975                                return;
1976                            }
1977
1978
1979                            /*
1980                            * --------------------------------------------------
1981                            * Update logical position
1982                            * --------------------------------------------------
1983                            *
1984                            * Upward drag:
1985                            *
1986                            * dragOffset = negative
1987                            * itemsMoved = negative
1988                            *
1989                            * Therefore subtracting itemsMoved
1990                            * advances forward.
1991                            */
1992
1993                            offset -=
1994                                itemsMoved;
1995
1996
1997                            normalizeOffset();
1998
1999
2000                            /*
2001                            * --------------------------------------------------
2002                            * Snap smoothly to nearest promo
2003                            * --------------------------------------------------
2004                            */
2005
2006                            updatePositions(true);
2007
2008
2009                            setTimeout(() => {
2010
2011                                normalizeOffset();
2012
2013                                updatePositions(false);
2014
2015                            }, DURATION);
2016
2017
2018                            dragOffset = 0;
2019
2020
2021                            /*
2022                            * Resume auto scrolling later.
2023                            */
2024
2025                            restartAutoScroll();
2026
2027                        }
2028
2029
2030                        /*
2031                        * --------------------------------------------------
2032                        * Pointer release events
2033                        * --------------------------------------------------
2034                        */
2035
2036                        section.addEventListener(
2037                            'pointerup',
2038                            finishDrag
2039                        );
2040
2041
2042                        section.addEventListener(
2043                            'pointercancel',
2044                            finishDrag
2045                        );
2046
2047
2048                        /*
2049                        * --------------------------------------------------
2050                        * Suppress click ONLY after a drag
2051                        * --------------------------------------------------
2052                        *
2053                        * Normal click:
2054                        *
2055                        *     opens promo link
2056                        *
2057                        * Drag:
2058                        *
2059                        *     scrolls promos without accidentally
2060                        *     opening a promo link afterward.
2061                        */
2062
2063                        section.addEventListener(
2064                            'click',
2065                            function (event) {
2066
2067                                if (!suppressClick) {
2068                                    return;
2069                                }
2070
2071
2072                                event.preventDefault();
2073                                event.stopPropagation();
2074
2075
2076                                suppressClick = false;
2077
2078                            },
2079                            true
2080                        );
2081
2082
2083                        /*
2084                        * --------------------------------------------------
2085                        * Prevent native image dragging
2086                        * --------------------------------------------------
2087                        */
2088
2089                        section.addEventListener(
2090                            'dragstart',
2091                            function (event) {
2092
2093                                event.preventDefault();
2094
2095                            }
2096                        );
2097
2098
2099                        /*
2100                        * --------------------------------------------------
2101                        * Start automatic scrolling
2102                        * --------------------------------------------------
2103                        */
2104
2105                        startAutoScroll();
2106
2107                    }
2108
2109                }
2110
2111
2112                /*
2113                * --------------------------------------------------
2114                * Initialize
2115                * --------------------------------------------------
2116                */
2117
2118                if (
2119                    document.readyState === 'loading'
2120                ) {
2121
2122                    document.addEventListener(
2123                        'DOMContentLoaded',
2124                        initScroller
2125                    );
2126
2127                } else {
2128
2129                    initScroller();
2130
2131                }
2132
2133            })();
2134
2135		},    
2136		"html");
2137
2138
2139	function closePromo(amount, duration, promo_id) {
2140		jQuery('.readers_choice_sticky_image').hide();
2141		
2142		if ( amount !== undefined && duration !== undefined && promo_id !== undefined ) {
2143			/* cookie parameters were declared - set the cookie */
2144			switch ( duration ) {
2145				case 'minute':
2146					var cookieLife = 1000 * 60 * amount;
2147					break;
2148				case 'hour':
2149					var cookieLife = 1000 * 60 * 60 * amount;
2150					break;
2151				case 'day':
2152					var cookieLife = 1000 * 60 * 60 * 24 * amount;
2153					break;
2154				case 'week':
2155					var cookieLife = 1000 * 60 * 60 * 24 * 7 * amount;
2156					break;
2157				case 'month':
2158					var cookieLife = 1000 * 60 * 60 * 24 * 7 * 4 * amount;
2159					break;
2160				default:
2161					var cookieLife = 0;
2162					break;
2163			}
2164			if ( cookieLife != 0 ) {
2165				/* get current timestamp in current WordPress timezone in milliseconds */
2166				const currentTimestamp = 1790909858000;
2167				/* add appropriate amount of milliseconds according to the parameters passed to the function */
2168				const adjustedTimestamp = currentTimestamp + cookieLife;
2169				/* create new future datetime with the additional time added */
2170				const cookieExpirationTimestamp = new Date(adjustedTimestamp);
2171				/* set cookie to expire at designated future time and day */
2172				document.cookie = "promo_" + promo_id + "=closed; expires=" + cookieExpirationTimestamp.toUTCString() + ";";
2173			}
2174		}
2175		
2176	}
2177
2178	/* regenerate the listeners on the hamburger menu for the open/close arrows */
2179    initMobileMenuItems();
2180
2181</script>
2181
2182
2183<footer id="bottom_footer">
2184    <div id="footer_content" class="default_width">
2185        <section id="footer_top">
2186            <figure>
2187                <a href="https://www.altoonamirror.com/" rel="home">
2188                    <img id="site_logo" src="https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/07/13150954/website_logo.png" border="0" alt="website logo" />
2189                </a>
2190            </figure>
2191            <aside>
2192                <a href="http://www.facebook.com/Altoonamirror"><i class="icon-facebook"></i></a>                <a href="http://twitter.com/AltoonamirrorPA"><i class="icon-x_logo_2023 twitter_x"></i></a>                            </aside>
2193        </section>
2194        <div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-647284" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-has-children menu-item-647284"><a href="https://www.altoonamirror.com/news/" aria-current="page">News</a>
2195<ul class="sub-menu">
2196	<li id="menu-item-647286" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647286"><a href="https://www.altoonamirror.com/news/local-news/">Local News</a></li>
2197	<li id="menu-item-647285" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647285"><a href="https://www.altoonamirror.com/news/local-business/">Local Business</a></li>
2198	<li id="menu-item-647287" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647287"><a href="https://www.altoonamirror.com/news/pennsylvania-news-apwire/">Pennsylvania News</a></li>
2199	<li id="menu-item-647288" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647288"><a href="https://www.altoonamirror.com/obituaries/">Obituaries</a></li>
2200</ul>
2201</li>
2202<li id="menu-item-647293" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-647293"><a href="https://www.altoonamirror.com/sports/">Sports</a>
2203<ul class="sub-menu">
2204	<li id="menu-item-647294" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647294"><a href="https://www.altoonamirror.com/sports/local-sports/">Local Sports</a></li>
2205	<li id="menu-item-647295" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647295"><a href="https://www.altoonamirror.com/sports/professional-sports/">Professional Sports</a></li>
2206	<li id="menu-item-647296" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647296"><a href="https://www.altoonamirror.com/sports/psu/">PSU</a></li>
2207	<li id="menu-item-647297" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647297"><a href="https://www.altoonamirror.com/sports/scholastic/">Scholastic Sports</a></li>
2208</ul>
2209</li>
2210<li id="menu-item-647289" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-647289"><a href="https://www.altoonamirror.com/opinion/">Opinion</a>
2211<ul class="sub-menu">
2212	<li id="menu-item-647290" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647290"><a href="https://www.altoonamirror.com/opinion/editorials/">Editorials</a></li>
2213	<li id="menu-item-647291" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647291"><a href="https://www.altoonamirror.com/opinion/letters-to-the-editor/">Letters to the Editor</a></li>
2214	<li id="menu-item-647292" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647292"><a href="https://www.altoonamirror.com/opinion/other-commentaries/">Other Commentaries</a></li>
2215</ul>
2216</li>
2217<li id="menu-item-647279" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-647279"><a href="https://www.altoonamirror.com/life/">Life</a>
2218<ul class="sub-menu">
2219	<li id="menu-item-647282" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647282"><a href="https://www.altoonamirror.com/life/engagements/">Engagements</a></li>
2220	<li id="menu-item-647283" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647283"><a href="https://www.altoonamirror.com/life/weddings/">Weddings</a></li>
2221	<li id="menu-item-647281" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647281"><a href="https://www.altoonamirror.com/life/community/">Community</a></li>
2222	<li id="menu-item-647280" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-647280"><a href="https://www.altoonamirror.com/life/area-life/">Area Life</a></li>
2223</ul>
2224</li>
2225<li id="menu-item-647276" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-647276"><a href="https://www.altoonamirror.com/contact-us/">Contact</a>
2226<ul class="sub-menu">
2227	<li id="menu-item-647275" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-647275"><a href="https://www.altoonamirror.com/forms/submit-news/">Submit News</a></li>
2228	<li id="menu-item-647277" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-647277"><a href="https://www.altoonamirror.com/advertise/">Advertise</a></li>
2229	<li id="menu-item-647278" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-647278"><a href="https://www.altoonamirror.com/contact-us/">Contact Us</a></li>
2230</ul>
2231</li>
2232</ul></div>    </div>
2233    <div id="footer_address" class="default_width">
2234        <p>301 Cayuga Ave., Altoona, PA 16602 - Copyright © Altoona Mirror </p>
2235    </div>
2236    </footer>
2237
2238<div class="progress-wrap">
2239    <svg class="progress-circle svg-content" width="100%" height="100%" viewB
2239ox="-1 -1 102 102">
2240        <path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98"/>
2241    </svg>
2242</div>
2243<script>
2244    $(document).ready(function(){
2245        //Scroll back to top
2246        var progressPath = document.querySelector('.progress-wrap path');
2247        var pathLength = progressPath.getTotalLength();
2248        progressPath.style.transition = progressPath.style.WebkitTransition = 'none';
2249        progressPath.style.strokeDasharray = pathLength + ' ' + pathLength;
2250        progressPath.style.strokeDashoffset = pathLength;
2251        progressPath.getBoundingClientRect();
2252        progressPath.style.transition = progressPath.style.WebkitTransition = 'stroke-dashoffset 10ms linear';
2253        var updateProgress = function () {
2254            var scroll = $(window).scrollTop();
2255            var height = $(document).height() - $(window).height();
2256            var progress = pathLength - (scroll * pathLength / height);
2257            progressPath.style.strokeDashoffset = progress;
2258        }
2259        updateProgress();
2260        $(window).scroll(updateProgress);
2261        var offset = 50;
2262        var duration = 550;
2263        jQuery(window).on('scroll', function() {
2264            if (jQuery(this).scrollTop() > offset) {
2265                jQuery('.progress-wrap').addClass('active-progress');
2266            } else {
2267                jQuery('.progress-wrap').removeClass('active-progress');
2268            }
2269        });
2270        jQuery('.progress-wrap').on('click', function(event) {
2271            event.preventDefault();
2272            jQuery('html, body').animate({scrollTop: 0}, duration);
2273            return false;
2274        })
2275    })
2276</script>
2276<script type="speculationrules">
2277{"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"}]}
2278</script>
2278
2279    
2279<script>var ogdenPollAjax = { ajaxurl: 'https://www.altoonamirror.com/wordpress/wp-admin/admin-ajax.php', recaptchaSiteKey: 'YOUR_RECAPTCHA_V3_SITE_KEY' };</script>
2279
2280    
2280<script>
2281        document.addEventListener('DOMContentLoaded', function() {
2282            document.querySelectorAll('.opw_form').forEach(function(form) {
2283                form.addEventListener('submit', function(e) {
2284                    e.preventDefault();
2285                    var btn = form.querySelector('.opw_submit');
2286                    btn.disabled = true;
2287                    btn.textContent = 'Submitting…';
2288
2289                    var siteKey = ogdenPollAjax.recaptchaSiteKey;
2290                    var isRealKey = siteKey && siteKey !== 'YOUR_RECAPTCHA_V3_SITE_KEY';
2291
2292                    function doSubmit(recaptchaToken) {
2293                        var data = new FormData(form);
2294                        data.append('action', 'ogden_poll_vote');
2295                        if (recaptchaToken) data.append('recaptcha_token', recaptchaToken);
2296
2297                        fetch(ogdenPollAjax.ajaxurl, {
2298                            method: 'POST',
2299                            credentials: 'same-origin',
2300                            body: data
2301                        })
2302                            .then(function(r) { return r.json(); })
2303                            .then(function(res) {
2304                                if (res.success) {
2305                                    var widget = form.closest('.ogden_poll_widget');
2306                                    widget.querySelector('.opw_form_wrap').innerHTML = res.data.html;
2307                                    setTimeout(function() {
2308                                        widget.querySelectorAll('.opw_bar_fill').forEach(function(bar) {
2309                                            bar.style.width = bar.dataset.pct + '%';
2310                                        });
2311                                    }, 50);
2312                                } else {
2313                                    btn.disabled = false;
2314                                    btn.textContent = 'Submit Vote';
2315                                    alert(res.data || 'Something went wrong.');
2316                                }
2317                            })
2318                            .catch(function() {
2319                                btn.disabled = false;
2320                                btn.textContent = 'Submit Vote';
2321                                alert('Network error. Please try again.');
2322                            });
2323                    }
2324
2325                    if (isRealKey && typeof grecaptcha !== 'undefined') {
2326                        grecaptcha.ready(function() {
2327                            grecaptcha.execute(siteKey, { action: 'ogden_poll_vote' }).then(function(token) {
2328                                doSubmit(token);
2329                            });
2330                        });
2331                    } else {
2332                        doSubmit(null);
2333                    }
2334                });
2335            });
2336
2337            // "View results without voting" toggle — works for any number
2338            // of poll widgets on the page, doesn't touch the vote form.
2339            document.querySelectorAll('.opw_view_results_link').forEach(function(link) {
2340                link.addEventListener('click', function() {
2341                    var widget = link.closest('.ogden_poll_widget');
2342                    if (!widget) return;
2343                    var form = widget.querySelector('.opw_form');
2344                    var view = widget.querySelector('.opw_results_view');
2345                    if (form) form.style.display = 'none';
2346                    link.style.display = 'none';
2347                    if (view) {
2348                        view.style.display = 'block';
2349                        view.querySelectorAll('.opw_bar_fill').forEach(function(bar) {
2350                            setTimeout(function() { bar.style.width = bar.dataset.pct + '%'; }, 50);
2351                        });
2352                    }
2353                });
2354            });
2355        });
2356    </script>
2356
2357    
2357<script id="paywall-script-js-extra">
2358var paywallSettings = {"enablePaywall":"0","freeArticleLimit":"3","newspaperLogo":"https://ogden_images.s3.amazonaws.com/www.altoonamirror.com/images/2026/07/13150954/website_logo.png","iframeUrl":"https://subscribe.altoonamirror.com/subscribe/","manageAccountUrl":"https://subscribe.altoonamirror.com/my-account/edit-account/","forgotPasswordUrl":"https://subscribe.altoonamirror.com/my-account/lost-password/","closeButton":"https://www.altoonamirror.com/wordpress/wp-content/plugins/ogden-paywall-sc/img/close.png","pluginPath":"https://www.altoonamirror.com/wordpress/wp-content/plugins/ogden-paywall-sc/","authenticator":"onicirc","storeUrl":"https://subscribe.altoonamirror.com/","cherryroadEnabled":"0"};
2359//# sourceURL=paywall-script-js-extra
2360</script>
vendor: 1 bytes, line 2360
2360
2361<script id="paywall-script-js" src="https://www.altoonamirror.com/wordpress/wp-content/plugins/ogden-paywall-sc/js/paywall.js?v=40&#038;ver=1.0"></script>
vendor: 1 bytes, line 2361
2361
2362<script id="paywall-header-nav-logins-js" src="https://www.altoonamirror.com/wordpress/wp-content/plugins/ogden-paywall-sc/js/header_nav_login_links.js?v=40&#038;ver=1.0"></script>
vendor: 1 bytes, line 2362
2362
2363<script id="gforms_recaptcha_recaptcha-js-extra">
2364var gforms_recaptcha_recaptcha_strings = {"nonce":"7e4ada0f25","disconnect":"Disconnecting","change_connection_type":"Resetting","spinner":"https://www.altoonamirror.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":"6LfYEZUcAAAAAA-zEL0UUTv0kOZxI61pgt8_5B1j"};
2365//# sourceURL=gforms_recaptcha_recaptcha-js-extra
2366</script>
vendor: 127 bytes, lines 2366-2367
2366
2367<script data-wp-strategy="defer" defer id="gforms_recaptcha_recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=
23676LfYEZUcAAAAAA-zEL0UUTv0kOZxI61pgt8_5B1j
vendor: 27 bytes, line 2367
2367&#038;ver=2.2.2"></script>
2368<script data-wp-strategy="defer" defer id="gforms_recaptcha_frontend-js" src="https://www.altoonamirror.com/wordpress/wp-content/plugins/gravityformsrecaptcha/js/frontend.min.js?ver=2.2.2"></script>
2368
2369<style>
2370    #cookie_consent {background:#ececec; text-align:right; padding:10px 0 5px 0}
2371    #cookie_consent div {border-top:solid 1px #dbdbdb; padding:5px 0 0 0;}
2372    #cookie_consent a  { text-decoration: none; color: inherit; font-size:12px;}
2373    .termly-display-preferences {color:#333; font-size:12px;}
2374</style>
2375</body>
2376</html>
2377<!-- *´¨)
2378     ¸.•´¸.•*´¨) ¸.•*¨)
2379     (¸.•´ (¸.•` ¤ Comet Cache is Fully Functional ¤ ´¨) -->
2380
2381<!-- Cache File Version Salt:       n/a -->
2382
2383<!-- Cache File URL:                https://www.altoonamirror.com/news/ -->
2384<!-- Cache File Path:               /usr/web/unified_core.ogdennews.com/wp-content/cache/comet-cache/www.altoonamirror.com/cache/https/www-altoonamirror-com/news.html -->
2385
2386<!-- Cache File Generated Via:      HTTP request -->
2387<!-- Cache File Generated On:       Oct 2nd, 2026 @ 2:57 am UTC -->
2388<!-- Cache File Generated In:       0.17067 seconds -->
2389
2390<!-- Cache File Expires On:         Oct 3rd, 2026 @ 2:57 am UTC -->
2391<!-- Cache File Auto-Rebuild On:    Oct 3rd, 2026 @ 2:57 am UTC -->
2392
2393<!-- Loaded via Cache On:    Oct 2nd, 2026 @ 2:59 am UTC -->
2394<!-- Loaded via Cache In:    0.00091 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.