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 » 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…" 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…" 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">✕</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">…</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&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&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&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&ID=399938">A high-stakes fight for state political power heats up, with Trump's agenda on the line</a> 1079 </li> 1080 <li class="ap_sidebar_item"> 1081 <a href="/wire/?category=759&ID=399869">Iran indicates it'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&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&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&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&ID=399882">Hurricane Rachel strengthens to Category 2 off of Mexico'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("'", "'"); 1224 var text = text.replace("&", "&"); 1225 1226 var text_comparison = listGetAt(menuArray[i], 4, '^'); 1227 var text_comparison = text_comparison.replace("'", "'"); 1228 var text_comparison = text_comparison.replace("&", "&"); 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 = '▲'; 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 = '▼'; 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&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&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&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.