1 2 3<!DOCTYPE html> 4<html id="jamestownsun" class="Page standard" lang="en"> 5<head> 6 <meta charset="UTF-8"> 7 8 <meta property="og:title" content="Contact Us"> 9 10 <meta property="og:url" content="https://www.jamestownsun.com/contact-us"> 11 12 <meta property="og:image" content="https://cdn.forumcomm.com/dims4/default/14d356a/2147483647/strip/true/crop/620x620+0+0/resize/1066x1066!/quality/90/?url=https%3A%2F%2Fforum-communications-production-web.s3.us-west-2.amazonaws.com%2Fbrightspot%2F6c%2F1b%2F18334f464d1e94de383236e825ba%2Fjamestownsun-logo-squared.png"> 13 14 15 <meta property="og:image:url" content="https://cdn.forumcomm.com/dims4/default/14d356a/2147483647/strip/true/crop/620x620+0+0/resize/1066x1066!/quality/90/?url=https%3A%2F%2Fforum-communications-production-web.s3.us-west-2.amazonaws.com%2Fbrightspot%2F6c%2F1b%2F18334f464d1e94de383236e825ba%2Fjamestownsun-logo-squared.png"> 16 17 <meta property="og:image:width" content="1066"> 18 <meta property="og:image:height" content="1066"> 19 <meta property="og:image:type" content="image/png"> 20 21 22 23 <meta name="bc:image" content="https://www.jamestownsun.com/img/az4R5mEYDrJCxRDkgfboccvxgb7INl3jZ2FT1868oUs/aHR0cHM6Ly9jZG4uZm9ydW1jb21tLmNvbS9kaW1zNC9kZWZhdWx0L2U1ZGRjMjMvMjE0NzQ4MzY0Ny9zdHJpcC9mYWxzZS9jcm9wLzYyMHg2MjArMCswL3Jlc2l6ZS82MjB4NjIwIS9mb3JtYXQvanBnL3F1YWxpdHkvOTAvP3VybD1odHRwcyUzQSUyRiUyRmZvcnVtLWNvbW11bmljYXRpb25zLXByb2R1Y3Rpb24td2ViLnMzLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tJTJGYnJpZ2h0c3BvdCUyRjZjJTJGMWIlMkYxODMzNGY0NjRkMWU5NGRlMzgzMjM2ZTgyNWJhJTJGamFtZXN0b3duc3VuLWxvZ28tc3F1YXJlZC5wbmc.jpg"> 24 25 26 <meta property="og:site_name" content="Jamestown Sun"> 27 28 29 30 <meta property="og:type" content="website"> 31 32 33 <meta name="twitter:card" content="summary_large_image"/> 34 35 36 37 38 39 40 41 42 <meta name="twitter:site" content="@jamestownsun"/> 43 44 45 46 <meta name="twitter:title" content="Contact Us"/> 47 48 49 <meta property="fb:app_id" content="654463039042018"> 50 51 52 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"> 53 54 55 56 <style>:root { 57 --color-primary: #007DB3; 58 --color-secondary: #19314E; 59 --color-tertiary: #cdeef7; 60 --color-primary-text: #292929; 61 --color-primary-text-inverse: #FFFFFF; 62 --color-secondary-text: #666666; 63 --color-secondary-text-inverse: #FFFFFF; 64 --color-tertiary-text: #666666; 65 --color-tertiary-text-inverse: #FFFFFF; 66 --color-alert-text: #d62828; 67 --color-site-bg: #FFFFFF; 68 --color-secondary-site-bg: #f7f7f7; 69 --color-border: #dcddde; 70 --color-dark-border: #292929; 71 72 --color-header-bg: #ffffff; 73 --color-header-secondary-bg: #ffffff; 74 --color-header-text: #292929; 75 --color-header-border: #dcddde; 76 77 --color-hat-bg: var(--color-site-bg); 78 --color-hat-text: #292929; 79 80 --color-heading-bg: #808080; 81 82 --color-footer-bg: #292929; 83 --color-footer-border: #dcddde; 84 --color-footer-text: #ffffff; 85 86 --color-banner-bg: #d62828; 87 --color-banner-text: #ffffff; 88 89 --color-link-text: #007db3; 90 --color-link-text-hover: #007db3; 91 92 --color-button-bg: #007db3; 93 --color-button-hover-bg: #006A98; 94 --color-button-hover-text: #ffffff; 95 --color-button-border: #006a98; 96 --color-button-text: #ffffff; 97 98 --color-secondary-button-bg: #ffffff; 99 --color-secondary-button-hover-bg: #f7f7f7; 100 --color-secondary-button-hover-text: var(--color-primary-text); 101 --color-secondary-button-border: #DCDDDE; 102 --color-secondary-button-text: var(--color-primary-text); 103 104 --color-tertiary-button-bg: #ffcd03; 105 --color-tertiary-button-border: #ffcd03; 106 --color-tertiary-button-text: var(--color-primary-text); 107 108 --color-yellow-button-bg: #ffe229; 109 --color-yellow-button-hover-bg: #f2d727; 110 --color-yellow-button-text: var(--color-primary-text); 111 --color-yellow-button-hover-text: var(--color-primary-text); 112 --color-yellow-button-border: #e6cb25; 113 114 --color-list-title: #292929; 115 --color-list-border: #DCDDDE; 116 --color-category-text: #007db3; 117 118 --color-gray: #dddddd; 119 --color-dark-gray: #333333; 120 --color-light-divider: #DCDDDE; 121 --color-dark-green: #0E7134; 122 123 --color-offer-page-bg: #04173F; 124 125 --color-offer-card-banner-text: var(--color-primary-text); 126 --color-offer-card-banner-bg: #EAA522; 127 --color-offer-card-title-text: var(--color-primary-text); 128 --color-offer-card-price-slashed-text: var(--color-secondary-text); 129 --color-offer-card-price-text: var(--color-primary-text); 130 --color-offer-card-price-after-discount-text: var(--color-secondary-text); 131 --color-offer-card-button-text: var(--color-button-text); 132 --color-offer-card-button-bg: var(--color-button-bg); 133 --color-offer-card-button-bg-hover: var(--color-button-hover-bg); 134 --color-offer-card-button-border: var(--color-button-border); 135 --color-offer-card-benefit-accordion-subtitle: var(--color-primary); 136 --color-offer-card-benefit-fa-angle: var(--color-primary); 137 --color-offer-card-benefit-checkmark: var(--color-primary); 138} 139</style> 140 <style>:root { 141 --font-serif: "Brygada 1918", "Georgia", "Times New Roman", serif; 142 --font-serif-body: "Georgia", "Times New Roman", serif; 143 --font-sans-serif: "Source Sans Pro", "Helvetica", "Arial", sans-serif; 144} 145 146body { 147 --font-serif: "Brygada 1918"; 148 --font-serif-body: "Georgia"; 149 --font-sans-serif: "Source Sans Pro"; 150 151 --font-body: var(--font-serif-body); 152 153 --font-headline: var(--font-serif); 154 --font-headline-agweek: var(--font-sans-serif); 155 156 --font-list-title: var(--font-sans-serif); 157 158 --font-promo-title: var(--font-serif); --font-promo-title-agweek: var(--font-sans-serif); 159 --font-promo-description: var(--font-sans-serif); 160 161 --font-rte-body: var(--font-serif-body); 162 163 --font-pull-quote: var(--font-serif-body); 164} 165</style> 166 <link data-cssvarsponyfill="true" class="Webpack-css" rel="stylesheet" href="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/All.min.8826747db507369867250061928a018c.gz.css"> 167 <link rel="stylesheet" href="https://static.forumcomm.com/css/all.css"><style>/* HIDING THESE SPONSOR AD LABELS */ 168.GoogleDfpAd-Lazy[targeting*='latest-sponsor'] > .GoogleDfpAd-advertisement { 169 display: none; 170} 171.GoogleDfpAd-Lazy[targeting*='forecast'] > .GoogleDfpAd-advertisement { 172 display: none; 173} 174 175/* SECTION SPONSOR AD */ 176.GoogleDfpAd-Lazy[targeting*='section-sponsor'] { 177 box-shadow: 0 1px 0 var(--color-list-border); 178}
179.GoogleDfpAd-Lazy[targeting*='section-sponsor'] div[id^=google_ads_iframe] { 180 margin: 4px 0; 181} 182 183/* MOBILE */ 184.GoogleDfpAd-Lazy[targeting*='banner-1'] { 185 --adHeight: calc(50px + 16px); 186} 187.GoogleDfpAd-Lazy[targeting*='banner-2'] { 188 --adHeight: calc(250px + 16px); 189} 190.GoogleDfpAd-Lazy[targeting*='banner-3'] { 191 --adHeight: calc(250px + 16px); 192} 193.GoogleDfpAd-Lazy[targeting*='banner-4'] { 194 --adHeight: calc(250px + 16px); 195} 196.GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 197 --adHeight: calc(50px + 21px); 198} 199.GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 200 --adHeight: calc(250px + 21px); 201} 202.GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 203 --adHeight: calc(50px + 16px); 204} 205.GoogleDfpAd-Lazy[targeting*='in-article-1'] { 206 --adHeight: calc(250px + 21px); 207} 208.GoogleDfpAd-Lazy[targeting*='forecast'] { 209 --adHeight: calc(50px + 21px); 210} 211.GoogleDfpAd-Lazy[targeting*='in-list-1'] { 212 --adHeight: calc(250px + 21px); 213} 214.GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 215 --adHeight: calc(250px + 21px); 216} 217.GoogleDfpAd-Lazy[targeting*='rotating'] { 218 --adHeight: calc(250px + 21px); 219} 220 221 222/* TABLET */ 223@media only screen and (min-width: 768px) { 224 .GoogleDfpAd-Lazy[targeting*='banner-1'] { 225 --adHeight: calc(90px + 16px); 226 } 227 .GoogleDfpAd-Lazy[targeting*='banner-2'] { 228 --adHeight: calc(90px + 16px); 229 } 230 .GoogleDfpAd-Lazy[targeting*='banner-3'] { 231 --adHeight: calc(90px + 16px); 232 } 233 .GoogleDfpAd-Lazy[targeting*='banner-4'] { 234 --adHeight: calc(90px + 16px); 235 } 236 .GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 237 --adHeight: calc(50px + 21px); 238 } 239 .GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 240 --adHeight: calc(250px + 21px); 241 } 242 .GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 243 --adHeight: calc(90px + 16px); 244 } 245 .GoogleDfpAd-Lazy[targeting*='in-article-1'] { 246 --adHeight: calc(250px + 21px); 247 } 248 .GoogleDfpAd-Lazy[targeting*='forecast'] { 249 --adHeight: calc(50px + 21px); 250 } 251 .GoogleDfpAd-Lazy[targeting*='in-list-1'] { 252 --adHeight: calc(250px + 21px); 253 } 254 .GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 255 --adHeight: calc(250px + 21px); 256 } 257 .GoogleDfpAd-Lazy[targeting*='rotating'] { 258 --adHeight: calc(250px + 21px); 259 } 260} 261/* DESKTOP */ 262@media only screen and (min-width: 1024px) { 263 .GoogleDfpAd-Lazy[targeting*='banner-1'] { 264 --adHeight: calc(250px + 16px); 265 } 266 .GoogleDfpAd-Lazy[targeting*='banner-2'] { 267 --adHeight: calc(250px + 16px); 268 } 269 .GoogleDfpAd-Lazy[targeting*='banner-3'] { 270 --adHeight: calc(250px + 16px); 271 } 272 .GoogleDfpAd-Lazy[targeting*='banner-4'] { 273 --adHeight: calc(250px + 16px); 274 } 275 .GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 276 --adHeight: calc(50px + 21px); 277 } 278 .GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 279 --adHeight: calc(600px + 21px); 280 } 281 .GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 282 --adHeight: calc(250px + 16px); 283 } 284 .GoogleDfpAd-Lazy[targeting*='in-article-1'] { 285 --adHeight: calc(250px + 21px); 286 } 287 .GoogleDfpAd-Lazy[targeting*='forecast'] { 288 --adHeight: calc(50px + 21px); 289 } 290 .GoogleDfpAd-Lazy[targeting*='in-list-1'] { 291 --adHeight: calc(250px + 21px); 292 } 293 .GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 294 --adHeight: calc(600px + 21px); 295 } 296 .GoogleDfpAd-Lazy[targeting*='rotating'] { 297 --adHeight: calc(250px + 21px); 298 } 299} 300/* LARGE DESKTOP */ 301@media only screen and (min-width: 1280px) { 302 .GoogleDfpAd-Lazy[targeting*='banner-1'] { 303 --adHeight: calc(250px + 16px); 304 } 305 .GoogleDfpAd-Lazy[targeting*='banner-2'] { 306 --adHeight: calc(250px + 16px); 307 } 308 .GoogleDfpAd-Lazy[targeting*='banner-3'] { 309 --adHeight: calc(250px + 16px); 310 } 311 .GoogleDfpAd-Lazy[targeting*='banner-4'] { 312 --adHeight: calc(250px + 16px); 313 } 314 .GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 315 --adHeight: calc(50px + 21px); 316 } 317 .GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 318 --adHeight: calc(600px + 21px); 319 } 320 .GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 321 --adHeight: calc(250px + 16px); 322 } 323 .GoogleDfpAd-Lazy[targeting*='in-article-1'] { 324 --adHeight: calc(250px + 21px); 325 } 326 .GoogleDfpAd-Lazy[targeting*='forecast'] { 327 --adHeight: calc(50px + 21px); 328 } 329 .GoogleDfpAd-Lazy[targeting*='in-list-1'] { 330 --adHeight: calc(90px + 21px); 331 } 332 .GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 333 --adHeight: calc(600px + 21px); 334 } 335 .GoogleDfpAd-Lazy[targeting*='rotating'] { 336 --adHeight: calc(250px + 21px); 337 } 338} 339 340/* NO SECTION SPONSOR AD SERVED */
341.GoogleDfpAd-Lazy[targeting*='section-sponsor'] div[id^=google_ads_iframe]:empty { 342 margin: 0; 343}</style> 344<style>.GoogleDfpAd { 345 z-index:1; 346} 347 348.GoogleDfpAd-Float { 349 z-index:100; 350}</style> 351<style>.tp-modal-close { 352 overflow-x: hidden !important; 353}</style> 354<style>/* defining variables */ 355.viafoura { 356 --primary-font: "Source Sans Pro", sans-serif; 357 --accent-color: var(--color-primary); 358 --accent-color-light: var(--color-primary); 359 --accent-color-dark: var(--color-button-hover-bg); 360 --accent-color-90: rgba(0, 125, 179, 0.9); 361 --accent-color-20: rgba(0, 125, 179, 0.2); 362 --accent-color-10: rgba(0, 125, 179, 0.1); 363 --accent-color-5: rgba(0, 125, 179, 0.5); 364} 365 366/* bell & tray styling */ 367.viafoura .vf-tray-trigger:hover, 368.viafoura.header-bell:hover { color: var(--accent-color) !important; } 369 370.Page-header-bar .viafoura button, .viafoura .vf-tray-trigger:focus { color: var(--color-primary-text) !important; } 371 372.viafoura.header-bell { 373 visibility: hidden; 374 position: relative; 375 color: var(--color-primary-text); 376 width: 40px; 377 height: 40px; 378} 379 380.viafoura.header-bell .vf-icon_bell_icon { display: none;} 381 382.viafoura.header-bell:has(button) { visibility: visible; } 383/* needed to target just firefox */ 384@supports (-moz-transform: translate(0, 0)) { 385 .viafoura.header-bell { visibility: visible; } 386} 387 388.viafoura.header-bell .vf-fa-outlineBell { 389 width: 23px; 390 height: 23px; 391 position: absolute; 392 top: 8.5px; 393 left: 8.5px; 394} 395 396.viafoura .vf-accent-border-colour, 397.viafoura .vf-expanding-hover-light::before { 398 border-color: var(--accent-color) !important; 399} 400.viafoura .vf-tray .vf-settings .vf-client-settings-button-logout { 401 display: none; 402} 403 404/* needed for tray to show above Page-header */ 405.viafoura .vf-tray-slide-wrapper { 406 z-index: 100000009 !important; 407} 408 409.Page-header-bar .viafoura { 410 height: 40px; 411 overflow: hidden; 412} 413 414/* share bar styles */ 415.viafoura .vf-share-bar { 416 padding-top: 0px !important; 417 position: relative !important; 418 display: inline-block !important; 419 letter-spacing: .5px !important; 420 border: none !important; 421 width: 100% !important; 422} 423.viafoura .vf-share-bar .vf-share-bar-service-name { 424 color: #666666 !important; 425 font-size: 0.875rem !important; 426 font-weight: 400 !important; 427} 428.viafoura .vf-share-bar.vf-share-bar-default .vf-share-icon { 429 line-height: 1em !important; 430} 431.viafoura .vf-share-bar.vf-share-bar-vertical .vf-share-icon { 432 margin-right: 8px !important; 433} 434.viafoura .vf-share-bar .vf-share-option a { 435 position: relative !important; 436 display: inline-block !important; 437 width: 100% !important; 438} 439 440/* comment section styling */ 441.viafoura-conversation-container { margin-top: 40px; } 442.viafoura-conversation-container .List-header-title { margin-bottom: 20px; } 443.viafoura .vf3-comments { 444 font-family: var(--font-sans-serif); 445 max-width: 600px; 446} 447.viafoura .vf3-comments .vf-post-name-button__username { 448 font-size: 1rem !important; 449 font-weight: 700; 450 color: var(--color-primary-text); 451} 452.viafoura .vf3-comments button.vf-post-name-button:hover { 453 color: var(--color-primary-text) !important; 454} 455.viafoura .vf3-comments .vf-content-text { 456 font-size: 1rem; 457 line-height: 1.5 !important; 458 font-weight: 400; 459 color: var(--color-primary-text); 460} 461.viafoura .vf-comment-header__actions .vf-post-form__auth-actions { 462 display: none; 463} 464 465/* comment counter button */ 466.viafoura.viafoura-button { 467 font-size: .875rem; 468 line-height: 1; 469 padding: 8px 16px; 470} 471.viafoura.viafoura-button vf-conversations-count { display: inline-grid; } 472 473a[name="conversations"] { scroll-margin-top: 100px; } 474 475/* hide viafoura conversations title */ 476.viafoura .vf-comment-header__heading.vf-heading-text { display: none; } 477 478@media (max-width: 480px) { 479 .viafoura .vf-comment-header__actions { 480 flex-direction: row !important; 481 align-items: center !important; 482 margin-top: 0px !important; 483 } 484 .viafoura .vf-comment-header__actions .vf-actions-subscribe { 485 margin-top: 0px !important; 486 } 487} 488 489/* conversation reply modal - mobile only */ 490@media (max-width: 640px) {
491 .viafoura .vf-content-focus-container--focused.vf-content-focus-container__mobile { 492 top: 60px !important; 493 } 494} 495 496/* trending conversations module */ 497.vf-trending-conversations .vf-trending-articles .vf-trending-articles__header.vf-subheading-text { 498 font-family: var(--font-sans-serif); 499 color: var(--color-primary-text); 500 font-size: 1.125rem; 501 font-weight: 700; 502 line-height: 1; 503 text-transform: uppercase; 504 border-bottom: 1px solid var(--color-list-border); 505} 506.vf-trending-conversations .vf-trending-articles { 507 border: 1px solid var(--color-list-border); 508 border-radius: 12px; 509 padding: 20px; 510 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); 511} 512.vf-trending-conversations .vf-trending-articles .vf-trending-articles__content-wrapper { 513 border: none !important; 514} 515.vf-trending-conversations .vf-trending-articles .vf-trending-articles__content-wrapper:first-child { 516 border-bottom: 1px solid var(--color-list-border); 517} 518 519.vf-trending-conversations .vf-trending-articles .vf-trending-articles__content-wrapper .vf-trending-articles-list { 520 grid-gap: 0; 521 margin: 0; 522} 523.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li { 524 margin-top: 20px; 525} 526.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(odd) .vf-item-layout { 527 border-right: 1px solid var(--color-list-border); 528 padding-right: 20px; 529} 530.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(even) { 531 padding-left: 20px; 532} 533 534.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(1n + 3) { 535 border-top: 1px solid var(--color-list-border); 536 padding-top: 20px; 537} 538 539.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__image { 540 width: 80px; 541 height: 80px; 542 border-radius: 4px; 543} 544 545.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__spacer { 546 width: 12px; 547} 548 549.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__title { 550 font-family: var(--font-sans-serif); 551 font-size: 1rem; 552 line-height: 1.1; 553 color: var(--color-primary-text); 554 -webkit-line-clamp: 3; 555 max-height: fit-content; 556} 557.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__title:hover { 558 color: var(--color-primary-text); 559 text-decoration: underline; 560} 561.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-trending-article__comment-count { 562 font-family: var(--font-sans-serif); 563 color: var(--color-secondary-text); 564} 565 566@media (max-width: 536px) /* viafoura's breakpoint is 536*/ { 567 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li.vf-trending-article-list__item { 568 border-bottom: 1px solid var(--color-list-border); 569 padding: 0 0 20px 0; 570 } 571 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(odd) .vf-item-layout { 572 border-right: none; 573 padding-right: 0; 574 } 575 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:last-child { 576 border-bottom: none; 577 padding: 0; 578 margin-bottom: 0; 579 } 580 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(1n + 3) { 581 border-top: none; 582 padding-top: 0; 583 } 584} 585 586/* promo comment counter */ 587/* promo comment counter */ 588.Promo-byline .viafoura.comment-count, 589.PromoCategoryDateHeaderImage .viafoura.comment-count { 590 display: flex; 591 gap: 4px; 592} 593.Promo-byline .viafoura .vf-comments-count, 594.PromoCategoryDateHeaderImage .viafoura .vf-comments-count { 595 font-size: 0.88rem; 596 line-height: 1.25; 597 color: var(--color-secondary-text); 598} 599.Page .Promo-byline .viafoura .vf-comments-count { 600 font-size: unset; 601} 602 603.Promo-byline .comment-count:has(.vf-comments-count)::before, 604.PromoCategoryDateHeaderImage .comment-count:has(.vf-comments-count)::before { 605 content: "·"; 606 line-height: 1.2; 607 font-weight: 600; 608 font-size: 0.875rem; 609 margin-left: 4px; 610 align-self: center; 611 color: var(--color-secondary-text); 612} 613 614.Promo-byline .viafoura.comment-count .fa-comment:has(+ #vf-conversations-count .vf-comments-count), 615.PromoCategoryDateHeaderImage .viafoura.comment-count .fa-comment:has(+ #vf-conversations-count .vf-comments-count) { 616 display: inline !important; 617 color: var(--color-secondary-text); 618 font-size: 0.875rem;
619 align-self: center; 620} 621 622[data-hide-dates=true][data-hide-author=true] .comment-count:has(.vf-comments-count)::before { 623 display: none 624} 625/* engagement starter ad */ 626.viafoura .vf-conversation-starter__ad-container-wrapper { margin-top: 12px; }</style> 627<style>.aJVLc6uP { 628 display: none !important; 629}</style> 630<style>.dappier-ads-top, .dappier-ads-bottom { 631 padding: 11px 0 20px 0; 632 border-top: 1px solid #dcddde; 633 border-bottom: 1px solid #dcddde; 634 width: 100vw !important; 635} 636.dappier-ads-top { margin-bottom: 20px !important; } 637.dappier-ads-bottom { margin-top: 20px !important; } 638.dappier-ads-top:before, .dappier-ads-bottom:before { 639 content: "ADVERTISEMENT"; 640 font-size: var(--label-6); 641 font-family: var(--font, var(--font-sans-serif)); 642 font-weight: 600; 643 line-height: 1.1; 644 text-align: center; 645 color: var(--color-secondary-text); 646}</style> 647<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5"><title>Contact Us | The Jamestown Sun</title><meta name="description" content="Need to contact someone at The Jamestown Sun? View our directory here. Find our address, phone number, email addresses. View our office hours. Find our general contact information, advertising department, newsroom, reporters, sports. "><link rel="canonical" href="https://www.jamestownsun.com/contact-us"><meta name="brightspot.contentId" content="0000017d-ded8-dd71-ab7f-fedc9ca20003"><link rel="apple-touch-icon"sizes="180x180"href="/apple-touch-icon.png"><link rel="icon"type="image/png"href="/favicon-32x32.png"><link rel="icon"type="image/png"href="/favicon-16x16.png"><link type="application/rss+xml" rel="alternate" title="Contact Us" href="https://www.jamestownsun.com/contact-us.rss"> 648 649 <meta name="brightspot.cached" content="false"> 650 651
651<script> 652 function getForumCookie(cname) { 653 let name = cname + "="; 654 let decodedCookie = decodeURIComponent(document.cookie); 655 let ca = decodedCookie.split(';'); 656 for(let i = 0; i < ca.length; i++) { 657 let c = ca[i]; 658 while (c.charAt(0) == ' ') { 659 c = c.substring(1); 660 } 661 if (c.indexOf(name) == 0) { 662 return c.substring(name.length, c.length); 663 } 664 } 665 return ""; 666 } 667 function setForumCookie(cname, cvalue, exdays) { 668 const d = new Date(); 669 d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); 670 let expires = (exdays !== 0) ? "expires=" + d.toUTCString() + ";" : ""; 671 const hostNameArray = window.location.hostname.split('.') 672 const indexOfWWW = hostNameArray.indexOf('www') 673 if (indexOfWWW > -1) { 674 hostNameArray.splice(indexOfWWW, 1) 675 } 676 var propertyName = hostNameArray[0] 677 var environment = 'production' 678 if (window.location.hostname.includes('qa') || 679 window.location.hostname.includes('uat') || 680 window.location.hostname.includes('localhost') 681 ) { 682 environment = 'test' 683 } else if (window.location.hostname.includes('web')) { 684 environment = 'production-other' 685 } 686 if (environment === 'production') { 687 let topLevelDomain = (propertyName === "newscenter1") ? '.tv' : '.com' 688 document.cookie = 689 cname + '=' + cvalue + ';' + expires + 690 'path=/;domain=' + propertyName + topLevelDomain 691 } else { 692 document.cookie = cname + '=' + cvalue + ';' + expires + 'path=/'; 693 } 694 } 695 </script>
695 696 697 698 699 700 701
701<script type="text/javascript"> 702 !function(){"use strict";function e(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],c=document.createElement("script");c.src=e,t?c.type="module":(c.async=!0,c.type="text/javascript",c.setAttribute("nomodule",""));var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(c,n)}!function(t,c){!function(t,c,n){var a,o,r;n.accountId=c,null!==(a=t.marfeel)&&void 0!==a||(t.marfeel={}),null!==(o=(r=t.marfeel).cmd)&&void 0!==o||(r.cmd=[]),t.marfeel.config=n;var i="https://sdk.mrf.io/statics";e("".concat(i,"/marfeel-sdk.js?id=").concat(c),!0),e("".concat(i,"/marfeel-sdk.es5.js?id=").concat(c),!1)}(t,c,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})}(window,10190/* AccountId */,{} /* Config */)}(); 703</script>
703 704<meta property="mrf:canonical" content="https://www.jamestownsun.com/contact-us"> 705 706 707
707<script type="text/javascript"> 708 const setupAdmiral = async (publication, environment) => { 709 let response = await fetch(`https://ggbepmk06k.execute-api.us-west-2.amazonaws.com/prod?publication=${publication}&environment=${environment}`) 710 let rawScript = await response.json() 711 let script = document.createElement('script') 712 script.innerHTML = rawScript 713 document.head.appendChild(script) 714 } 715 716 const getPub = () => { 717 const domain = window.location.hostname.split('.') 718 let name, environment 719 if ( 720 domain.includes('lower') || 721 domain.includes('localhost') || 722 domain.includes('127') 723 ) { 724 name = 'DEV_TEST' 725 environment = 'test' 726 } else { 727 if (!domain.includes('www')) { 728 name = domain[0] 729 } else { 730 name = domain[1] 731 if (name.includes('-')) { 732 name = name.replace('-', '_') 733 } 734 } 735 environment = 'production' 736 } 737 return { name, environment } 738 } 739 740 const pubInfo = getPub() 741 setupAdmiral(pubInfo.name, pubInfo.environment) 742</script>
742 743 744 745 746 747 748
749<script src="https://assets.dappier.com/widget/dappier-loader.min.js" widget-id="wd_01ks8wrr7hf089h5kadhj9njqx"></script>
749 750 751 752 753 754
754<script src="https://a567.jamestownsun.com/script.js"></script>
vendor: 1 bytes, line 754
754
755<script> 756 function addAuth0Info(blueProfile) { 757 blueProfile.setValue("auth0_user_id", user.auth0Id); 758 blueProfile.setValue("auth0_email", user.email); 759 blueConicClient.profile.updateProfile(); 760 } 761 762 function checkConsentGDPR(blueProfile) { 763 const valueCheck = ['iab_purpose_1', 'iab_purpose_3', 'iab_purpose_4', 'iab_purpose_5', 'iab_purpose_6', 'iab_purpose_10', 'usnat_consent_targetedadvertisingoptout', 'usnat_consent_saleoptout', 'usnat_consent_sharingoptout']; 764 return valueCheck.some(value => blueProfile.getRefusedObjectives().includes(value)); 765 } 766</script>
766 767 768 769 770 771 772
772<script id="sophi-init"> 773 window.sophi = window.sophi || {}; 774 sophi.demeter = { actions: [] }; 775 window.demeter = window.demeter || async function () { 776 var resolve, reject; 777 const s = new Promise((res, rej) => { 778 resolve = res, reject = rej; 779 }); 780 sophi.demeter.actions.push([arguments, resolve, reject]); 781 return s; 782 }; 783 784 const addSophiScriptToPage = ({ isConsented = false }) => { 785 const script = document.createElement('script'); 786 script.id = 'sophi-loader'; 787 script.async = true; 788 script.src = `https://cdn.sophi.io/assets/demeter/1/stable/2592985064.js?isConsented=${isConsented}`; 789 document.head.appendChild(script); 790 791 // New Event for Sophi Paywall to Trigger on paywall modals after Sophi has mounted 792 const sophiGlobalScriptMount = new Event('sophiGlobalScriptMount') 793 window.dispatchEvent(sophiGlobalScriptMount) 794 }; 795 796 // if statement confirms blueconic loads 797 if (typeof window.blueConicClient !== 'undefined' && 798 typeof window.blueConicClient.event !== 'undefined' && 799 typeof window.blueConicClient.event.subscribe !== 'undefined') { 800 blueConicClient.profile.getProfile().loadValues(['refused_objectives', 'nvg_sub_promo_eligible'], this, function () { 801 let blueProfile = blueConicClient.profile.getProfile() 802 // add future blueconic properties to paywall object here 803 let promoEligible = blueProfile.getValue('nvg_sub_promo_eligible') 804 paywall.promoEligible = promoEligible 805 if (!checkConsentGDPR(blueProfile)) { 806 addSophiScriptToPage({ isConsented: true }) 807 } else { 808 addSophiScriptToPage({ isConsented: false }) 809 } 810 }) 811 } else { 812 window.addEventListener('onBlueConicLoaded', function () { 813 blueConicClient.profile.getProfile().loadValues(['refused_objectives', 'nvg_sub_promo_eligible'], this, function () { 814 let blueProfile = blueConicClient.profile.getProfile() 815 // add future blueconic properties to paywall object here 816 let promoEligible = blueProfile.getValue('nvg_sub_promo_eligible') 817 paywall.promoEligible = promoEligible 818 if (!checkConsentGDPR(blueProfile)) { 819 addSophiScriptToPage({ isConsented: true }) 820 } else { 821 addSophiScriptToPage({ isConsented: false }) 822 } 823 }) 824 }, false); 825 } 826</script>
826 827 828 829 830
830<script src="https://cdn.t2037ulzqct5.com/prod/forum/loader.min.js"></script>
vendor: 1 bytes, line 830
830
831<script> 832 window.user = () => {} 833 834 let gtmContainerId = null 835 836 837 gtmContainerId = "GTM-WJ22N8W" 838 839 840 841 842 843 844 845 846 847 848 849 850 851 let navSettingsKey = null 852 853 let auth0Domain = 'login.forumcomm.com' 854 let debug = false 855 856 857 let firstEntry = getForumCookie('_fcc_first_entry') 858 const feDate = new Date() 859 let feCurrentDate = feDate.toLocaleDateString("en-CA") 860 let firstEntryCampaignActive = false 861 862 function ensureUserIsSet() { 863 return new Promise(waitForUser) 864 865 function waitForUser(resolve) { 866 if (window.user && window.user.status) resolve(window.user.status) 867 else setTimeout(waitForUser.bind(this, resolve), 10) 868 } 869 } 870 871 ;(function () { 872 let wdayRegex = /(\.com\/wdayplus)/ 873 let checkMatch = window.location.href.match(wdayRegex) 874 if (checkMatch) { 875 navSettingsKey = 'liveStream' 876 } 877 })() 878 879 ensureUserIsSet().then(function () { 880 if (window.user.status !== getForumCookie('_fcc_user_status')) { 881 setForumCookie('_fcc_user_status', window.user.status, 180) 882 dataLayer.push({ FCC_UserStatus: window.user.status }) 883 } 884 }) 885 886 function setLoginButton(displayButton) { 887 try { 888 ;(document.getElementById('MG2login') || {}).style.display = displayButton 889 } catch (e) { 890 console.log('no login button') 891 } 892 } 893 894 function showSubscribeButtonBanner() { 895 try { 896 let subButtonItems = document.querySelectorAll('.Page-header-subscribe') 897 subButtonItems.forEach((item) => { 898 if (window.innerWidth < 768 && item.parentElement.className === 'Page-header') { 899 item.style.display = 'flex' 900 let firstEntryContainer = document.querySelector('.GoogleDfpAd-FirstEntryTakeover-Content > *:first-child > *:first-child > *:first-child') 901 if (firstEntryContainer !== null) { 902 let firstEntryIframe = firstEntryContainer.querySelectorAll('iframe').length 903 if (firstEntryIframe > 0) { 904 firstEntryCampaignActive = true 905 } 906 } 907 if (document.querySelector('.Page-header-hat')) { 908 if (firstEntryCampaignActive) { 909 // dont add top margin 910 } else if (document.querySelector('#agweek bsp-banner')) { 911 document.querySelector('bsp-banner').style.marginTop = '40px' 912 } else { 913 document.querySelector('.Page-header-hat').style.marginTop = '40px' 914 } 915 } else if (document.querySelector('.Page-above')) { 916 if (firstEntryCampaignActive) { 917 // dont add top margin 918 } else if (document.querySelector('bsp-banner')) { 919 document.querySelector('bsp-banner').style.marginTop = '40px' 920 } else { 921 document.querySelector('.Page-above').style.marginTop = '40px' 922 } 923 } else if (document.querySelector('.AccountPage')) { 924 document.querySelector('.AccountPage').style.marginTop = '40px' 925 } else { 926 document.querySelector('.Page-content').style.marginTop = '40px' 927 } 928 } else if (window.innerWidth >= 768 && item.parentElement.className === 'Page-header-bar') { 929 item.style.display = 'flex' 930 document.getElementById('MG2Subscribe').style.display = 'flex' 931 } 932 }) 933 } catch (e) { 934 console.log('no subscribe button') 935 } 936 } 937 938 function hideSubscribeButtonBanner() { 939 try { 940 ;(document.getElementById('MG2Subscribe') || {}).style.display = 'none' 941 } catch (e) { 942 console.log('no login button') 943 } 944 } 945 946 function setAccountButton(displayButton) { 947 try { 948 ;(document.getElementById('MG2MyAccount') || {}).style.display = displayButton 949 } catch (e) { 950 console.log('no account button') 951 } 952 } 953 954window.addEventListener('navigaEngageInitTrigger', function () { 955 MG2Loader.init({ 956 plugins: [ 957 { 958 name: 'FP', 959 initOptions: { 960 version: 'forum', 961 environment: 'prod', 962 }, 963 }, 964 { 965 name: 'DL', 966 initOptions: { 967 version: 'forum', 968 collectors: ['connext'], 969 tagManager: 'GTM', 970 containerId: gtmContainerId, 971 }, 972 }, 973 { 974 name: 'NXT', 975 initOptions: { 976 clientCode: 'forum', 977 environment: 'prod', 978 siteCode: 'JS', 979 configCode: 'LAUNCH1', 980 settingsKey: navSettingsKey, 981 debug: debug, 982 Auth0DB_approach: true, 983 authSettings: { 984 authorizationParams: { 985 redirect_uri: window.location.origin + '/redirect', 986 }, 987 domain: auth0Domain, 988 clientId: 'CCiKf7e9wQXJcuMW36EE4m3AKPD46vFB', 989 seamlessSI: true, 990 seamlessSO: true, 991 useRefreshTokens: true, 992 scope: 'openid email profile offline_access', 993 }, 994 publicEventHandlers: { 995 onNotAuthorized: function (eventData) { 996 //event fires on every page load if visitor is logged out 997 window.user.status = 'anonymous' 998 setLoginButton("flex") 999 1000 showSubscribeButtonBanner() 1001
1002 setAccountButton("none") 1003 }, 1004 onAuthorized: function (eventData) { 1005 //event fires on every page load if visitor is logged in but has access to this product 1006 window.user.status = 'registered' 1007 window.user.email = eventData.MG2AccountData.Email 1008 window.user.auth0Id = eventData.MG2AccountData.MasterId 1009 setLoginButton("none") 1010 1011 showSubscribeButtonBanner() 1012 1013 setAccountButton("flex") 1014 }, 1015 onHasNoActiveSubscription: function (eventData) { 1016 //event fires on every page load if visitor is logged in but their subscription is stopped or inactive 1017 window.user.status = 'registered' 1018 window.user.email = eventData.MG2AccountData.Email 1019 window.user.auth0Id = eventData.MG2AccountData.MasterId 1020 setLoginButton("none") 1021 1022 showSubscribeButtonBanner() 1023
1024 setAccountButton("flex") 1025 }, 1026 onHasAccessNotEntitled: function (eventData) { 1027 //event fires on every page load if visitor is logged in and has no access to this product, but has access to other products) 1028 window.user.status = 'registered' 1029 window.user.email = eventData.MG2AccountData.Email 1030 window.user.auth0Id = eventData.MG2AccountData.MasterId 1031 setLoginButton("none") 1032 1033 showSubscribeButtonBanner() 1034 1035 setAccountButton("flex") 1036 }, 1037 onHasAccess: function (eventData) { 1038 //event fires on every page load if visitor is subscriber 1039 window.user.status = 'subscribed' 1040 window.user.email = eventData.MG2AccountData.Email 1041 window.user.auth0Id = eventData.MG2AccountData.MasterId 1042 setLoginButton("none") 1043 hideSubscribeButtonBanner() 1044 setA
1044ccountButton("flex") 1045 }, 1046 }, 1047 }, 1048 }, 1049 ], 1050 }) 1051 }) 1052</script>
1052 1053 1054 1055 1056 1057 1058 1059 1060
1060<script> 1061 // if statement confirms blueconic and naviga loads 1062 if (typeof window.blueConicClient !== 'undefined' && 1063 typeof window.blueConicClient.event !== 'undefined' && 1064 typeof window.blueConicClient.event.subscribe !== 'undefined') { 1065 ensureUserIsSet().then(() => { 1066 let blueProfile = blueConicClient.profile.getProfile(); 1067 if (!checkConsentGDPR(blueProfile)) { 1068 if (user.status != "anonymous") { 1069 addAuth0Info(blueProfile) 1070 } 1071 } 1072 }) 1073 } else { 1074 window.addEventListener('onBlueConicLoaded', function () { 1075 ensureUserIsSet().then(() => { 1076 let blueProfile = blueConicClient.profile.getProfile(); 1077 if (!checkConsentGDPR(blueProfile)) { 1078 if (user.status != "anonymous") { 1079 addAuth0Info(blueProfile) 1080 } 1081 } 1082 }) 1083 }, false); 1084 } 1085</script>
1085 1086 1087 1088 1089 1090 1091 1092
1092<script type="text/javascript"> 1093 /** 1094 * Function to handle Viafoura login events 1095 * @param {boolean} isInit If handleLogin is being called on the initial page load 1096 */ 1097 const handleLogin = async (isInit) => { 1098 ensureUserIsSet().then(async () => { 1099 if (user.status === 'anonymous') { 1100 if (!isInit) { 1101 // Should not redirect on page load 1102 document.getElementById('MG2login').click() 1103 } 1104 } else if (user.status === 'subscribed') { 1105 const idToken = await getTokens() 1106 if (idToken !== '' && idToken !== undefined && idToken !== null) { 1107 try { 1108 // openIdConnect resolves with the Viafoura user object on success 1109 // and rejects on failure. Do not retry here: the same token can 1110 // only produce the same result. 1111 const response = 1112 await window.vf.session.login.openIdConnect(idToken) 1113 1114 if (response && response.uuid) { 1115 console.log('Viafoura: Login successful!') 1116 } else { 1117 console.error( 1118 'Viafoura OIDC unexpected response: ' + JSON.stringify(response) 1119 ) 1120 } 1121 } catch (error) { 1122 console.error('Viafoura OIDC login failed: ' + error) 1123 } 1124 } else { 1125 console.error('Viafoura: Could not obtain ID token!') 1126 } 1127 } else { 1128 console.log('Viafoura: Registered user.') 1129 } 1130 }) 1131 } 1132 1133 /** 1134 * Attempts to get the ID and Refresh tokens from localstorage or AWS. 1135 * @returns {Promise} An ID token or an empty string if one cannot be obtained. 1136 */ 1137 const getTokens = async () => { 1138 try { 1139 // First, try to use cookies 1140 let idToken = getForumCookie('auth0_jwt') 1141 if (idToken !== '' && idToken !== undefined) { 1142 return idToken 1143 } else { 1144 idToken = '' 1145 } 1146 1147 // Second, try to use localstorage 1148 let expires = '' 1149 const localStorageTokens = await getLocalStorageTokens() 1150 if (localStorageTokens !== '') { 1151 idToken = localStorageTokens.idToken 1152 refreshToken = localStorageTokens.refreshToken 1153 if (idToken !== undefined && idToken !== '') { 1154 return idToken 1155 } 1156 } 1157 return idToken 1158 } catch (error) { 1159 console.error('Viafoura: ' + error) 1160 return '' 1161 } 1162 } 1163 1164 /** 1165 * Gets the ID and/or refresh token(s) from localstorage. Note that only the refresh token might be returned. 1166 * @returns {object} Object containing the id and/or refresh token(s) or an empty string if no tokens exist. 1167 */ 1168 const getLocalStorageTokens = async () => { 1169 const localStorageString = await getLocalStorageString() 1170 const tokensObject = {} 1171 if (localStorageString === null || localStorageString === '') { 1172 console.log('Viafoura: Auth0 tokens not found in localstorage.') 1173 return '' 1174 } 1175 1176 const localStorageObject = JSON.parse(localStorageString) 1177 const idToken = localStorageObject.body.id_token 1178 const refreshToken = localStorageObject.body.refresh_token 1179 const idTokenExpiration = localStorageObject.expiresAt 1180 1181 if (refreshToken !== undefined && refreshToken !== '') { 1182 tokensObject.refreshToken = refreshToken 1183 } else { 1184 tokensObject.refreshToken = '' 1185 } 1186 1187 if (idToken !== undefined && idToken !== '') { 1188 tokensObject.idToken = idToken 1189 } else { 1190 tokensObject.idToken = '' 1191 } 1192 1193 if (idTokenExpiration !== '' && idTokenExpiration !== undefined) { 1194 tokensObject.expires = idTokenExpiration 1195 } else { 1196 tokensObject.expires = '' 1197 } 1198 1199 return tokensObject 1200 } 1201 1202 /** 1203 * Get the Auth0 SPA JS string from localstorage 1204 * @returns {Promise} A localstorage string if it exists or an empty string if does not 1205 */ 1206 const getLocalStorageString = async () => { 1207 const config = window.location.origin + '/_auth.config.json' 1208 const publication = getPublicationInfo() 1209 const response = await fetch(config) 1210 const json = await response.json() 1211 const clientId = 1212 json[publication.environment][publication.name].clientId
1213 const key = 1214 '@@auth0spajs@@::' + 1215 clientId + 1216 '::default::openid profile email offline_access' 1217 return localStorage.getItem(key) 1218 } 1219 1220 /** 1221 * Get the publication and environment 1222 * @returns {object} An object containing the publication and environment 1223 */ 1224 const getPublicationInfo = () => { 1225 const domain = window.location.hostname.split('.') 1226 let name, environment 1227 if ( 1228 domain.includes('lower') || 1229 domain.includes('localhost') || 1230 domain.includes('127') 1231 ) { 1232 name = domain[0] 1233 environment = 'test' 1234 } else { 1235 if (!domain.includes('www')) { 1236 name = domain[0] 1237 } else { 1238 name = domain[1] 1239 } 1240 environment = 'production' 1241 } 1242 return { name, environment } 1243 } 1244 1245 /** 1246 * Function for handling banned users. 1247 * Will not display an alert for the first login failure event. 1248 * @param {object} errorContext 1249 * @param {boolean} skipFirstAlert 1250 */ 1251 const handleBannedUser = (errorContext, skipFirstAlert) => { 1252 const fccViafouraBanned = getForumCookie('_fcc_viafoura_banned') 1253 ensureUserIsSet().then(() => { 1254 if (fccViafouraBanned == null || user.status === 'anonymous') { 1255 setForumCookie('_fcc_viafoura_banned', 'false', 0) 1256 } 1257 1258 if ( 1259 errorContext.reason !== null && 1260 errorContext.reason !== undefined && 1261 errorContext.reason !== '' 1262 ) { 1263 console.log('Viafoura: ' + errorContext.reason) 1264 } 1265 1266 if (errorContext.error_key === 'login_banned') { 1267 if (skipFirstAlert === false) { 1268 alert( 1269 'Your access to these tools has been restricted as a result of not adhering to the Commenting Policy available on the Policies and Standards page.' 1270 ) 1271 } 1272 if (fccViafouraBanned === 'false') { 1273 setForumCookie('_fcc_viafoura_banned', 'init', 0) 1274 } 1275 return false 1276 } 1277 }) 1278 } 1279 1280 /** 1281 * Function for handling the read comments event. 1282 * Display an alert if the user is banned. 1283 */ 1284 const handleReadComments = () => { 1285 if (getForumCookie('_fcc_viafoura_banned') === 'init') { 1286 alert( 1287 'Your access to these tools has been restricted as a result of not adhering to the Commenting Policy available on the Policies and Standards page.' 1288 ) 1289 setForumCookie('_fcc_viafoura_banned', 'true', 0) 1290 } 1291 } 1292 1293 window.vfQ = window.vfQ || [] 1294 window.vfQ.push(async () => { 1295 // Logs in to Viafoura on page load 1296 handleLogin(true) 1297 1298 // Intercepts default log in event 1299 window.vf.$prepublish((channel, event, ...args) => { 1300 if (channel === 'authentication' && event === 'required') { 1301 window.vf.$publish('tray', 'close') 1302 handleLogin(false) 1303 return false 1304 } else { 1305 return { channel, event, args } 1306 } 1307 }) 1308 1309 // Handles banned user messages 1310 window.vf.$subscribe('login', 'success', () => { 1311 setForumCookie('_fcc_viafoura_banned', 'false', 0) 1312 }) 1313 1314 let skipFirstAlert = true 1315 window.vf.$subscribe('login', 'failure', (errorContext) => { 1316 skipFirstAlert = handleBannedUser(errorContext, skipFirstAlert) 1317 }) 1318
1319 window.vf.$subscribe('comments', 'read', () => { 1320 handleReadComments() 1321 }) 1322 1323 window.vf.$subscribe('commenting', 'loaded', (el) => { 1324 ensureUserIsSet().then(async () => { 1325 if (user.status !== 'subscribed') { 1326 document.getElementsByClassName('vf-comment-header')[0].style.display = 'none' 1327 document.getElementsByClassName('v3-comments__post-form')[0].style.display = 'none' 1328 } 1329 }) 1330 }); 1331 }) 1332 </script>
1332 1333 1334 1335 1336 1337 1338 1339 1340
1340<script type="text/javascript"> 1341 if (typeof ensureUserIsSet === 'function') { 1342 ensureUserIsSet().then(function() { 1343 if (!window.user) { return; } 1344 window.marfeel = window.marfeel || {}; 1345 window.marfeel.cmd = window.marfeel.cmd || []; 1346 if (window.user.status === 'subscribed') { 1347 window.marfeel.cmd.push(['compass', function(compass) { 1348 compass.setUserType(3); 1349 }]); 1350 } else if (window.user.status === 'registered') { 1351 window.marfeel.cmd.push(['compass', function(compass) { 1352 compass.setUserType(2); 1353 }]); 1354 } else { 1355 window.marfeel.cmd.push(['compass', function(compass) { 1356 compass.setUserType(0); 1357 }]); 1358 } 1359 }).catch(function() {}); 1360 } 1361 </script>
1361 1362 1363 1364 1365 1366 1367 1368 1369
1369<script type="text/javascript"> 1370 /** 1371 * Dynamically generates an ad and inserts it into the template when the Viafoura conversations widget requests an ad. 1372 * @param {String} slotName - id of the element to render the ad in 1373 */ 1374 function generateCommentAd(slotName) { 1375 let viafouraAd = document.querySelector('[data-comments-ad-enable="true"]'); 1376 1377 // Generate next slot name 1378 var adUnitString = viafouraAd.getAttribute('data-slot-name') || ''; 1379 var sizesAttribute = viafouraAd.getAttribute('data-slot-sizes'); 1380 var sizesArray = JSON.parse(sizesAttribute); 1381 1382 var sizeMappingString = viafouraAd.getAttribute('data-slot-adsizemap') 1383 var sizeMappingArray = JSON.parse(sizeMappingString); 1384 1385 var adTargetingAttribute = viafouraAd.getAttribute('data-targeting') 1386 var adTargetingArray = JSON.parse(adTargetingAttribute); 1387 1388 // Define the slot itself, call display() to 1389 // register the div and refresh() to fetch the ad. 1390 window.googletag.cmd.push(function() { 1391 // Destroy any lingering ad slots if they exist in the widget 1392 const slots = window.googletag.pubads().getSlots() 1393 .filter((slot) => slot.getSlotElementId() === slotName); 1394 window.googletag.destroySlots(slots); 1395 1396 // Define ad sizes based on viewport size 1397 // NOTE ads are not responsive but new ads will be rendered to the appropriate size 1398 // Adapted from https://support.google.com/dfp_premium/answer/4578089?hl=en#responsiveDesign 1399 var mapping = googletag.sizeMapping(); 1400 sizeMappingArray.forEach(function (entry) { 1401 var viewportSize = entry[0]; 1402 var adSizes = entry[1]; 1403 mapping.addSize(viewportSize, adSizes); 1404 }); 1405 1406 var sizeMapping = mapping.build(); 1407 // Create a new ad slot, pointing to the slotName given to this function 1408 var slot = window.googletag.defineSlot(adUnitString, sizesArray, slotName) 1409 .defineSizeMapping(sizeMapping) 1410 .addService(window.googletag.pubads()); 1411 1412 // Add any targeting or any other modifications to the ad here 1413 if (adTargetingArray) { 1414 for (let key in adTargetingArray) { 1415 if (adTargetingArray.hasOwnProperty(key)) { 1416 slot.setTargeting(key, adTargetingArray[key]) 1417 } 1418 } 1419 } 1420 1421 // Display the new ad 1422 window.googletag.display(slotName); 1423 window.googletag.pubads().refresh([slot]); 1424 }); 1425 } 1426 1427 /** 1428 * Dynamically generates an ad and inserts it into the template when the Viafoura liveblog widget requests an ad. 1429 * @param {String} slotName - id of the element to render the ad in 1430 */ 1431 function generateLiveblogAd(slotName) { 1432 let viafouraAd = document.querySelector('[data-blog-ad-enable="true"]'); 1433 // Generate next slot name 1434 var adUnitString = viafouraAd.getAttribute('data-slot-name') || ''; 1435 var sizesAttribute = viafouraAd.getAttribute('data-slot-sizes'); 1436 var sizesArray = JSON.parse(sizesAttribute); 1437 1438 var sizeMappingString = viafouraAd.getAttribute('data-slot-adsizemap') 1439 var sizeMappingArray = JSON.parse(sizeMappingString); 1440 1441 var adTargetingAttribute = viafouraAd.getAttribute('data-targeting') 1442 var adTargetingArray = JSON.parse(adTargetingAttribute); 1443 1444 // Define the slot itself, call display() to 1445 // register the div and refresh() to fetch the ad. 1446 window.googletag.cmd.push(function() { 1447 // Destroy any lingering ad slots if they exist in the widget 1448 const slots = window.googletag.pubads().getSlots() 1449 .filter((slot) => slot.getSlotElementId() === slotName); 1450 window.googletag.destroySlots(slots); 1451 1452 // Define ad sizes based on viewport size 1453 // NOTE ads are not responsive but new ads will be rendered to the appropriate size 1454 // Adapted from https://support.google.com/dfp_premium/answer/4578089?hl=en#responsiveDesign 1455 var mapping = googletag.sizeMapping(); 1456 sizeMappingArray.forEach(function (entry) { 1457 var viewportSize = entry[0]; 1458 var adSizes = entry[1]; 1459 mapping.addSize(viewportSize, adSizes); 1460 }); 1461 1462 var sizeMapping = mapping.build(); 1463 // Create a new ad slot, pointing to the slotName given to this function 1464 var slot = window.googletag.defineSlot(adUnitString, sizesArray, slotName) 1465 .defineSizeMapping(sizeMapping) 1466 .addService(window.googletag.pubads()); 1467 1468 // Add any targeting or any other modifications to the ad here 1469 if (adTargetingArray) { 1470 for (let key in adTargetingArray) { 1471 if (adTargetingArray.hasOwnProperty(key)) { 1472 slot.setTargeting(key, adTargetingArray[key]) 1473 } 1474 } 1475 } 1476 1477 // Display the new ad 1478 window.googletag.display(slotName); 1479 window.googletag.pubads().refresh([slot]); 1480 }); 1481 } 1482 1483 /** 1484 * Dynamically generates an ad and inserts it into the template when the Viafoura trending conversations widget requests an ad. 1485 * @param {String} slotName - id of the element to render the ad in 1486 */ 1487 function requestConversationStarter(slotName) { 1488 let viafouraAd = document.querySelector('[data-engagement-ad-enable="true"]'); 1489 // Generate next slot name 1490 var adUnitString = viafouraAd.getAttribute('data-slot-name') || ''; 1491 1492 var sizesAttribute = viafouraAd.getAttribute('data-slot-sizes'); 1493 var sizesArray = JSON.parse(sizesAttribute); 1494 1495 var sizeMappingString = viafouraAd.getAttribute('data-slot-adsizemap') 1496 var sizeMappingArray = JSON.parse(sizeMappingString); 1497 1498 var adTargetingAttribute = viafouraAd.getAttribute('data-targeting') 1499 var adTargetingArray = JSON.parse(adTargetingAttribute); 1500 1501 // Define the slot itself, call display() to 1502 // register the div and refresh() to fetch the ad. 1503 window.googletag.cmd.push(function() { 1504 // Destroy any lingering ad slots if they exist in the widget 1505 const slots = window.googletag.pubads().getSlots() 1506 .filter((slot) => slot.getSlotElementId() === slotName); 1507 window.googletag.destroySlots(slots); 1508 // Define ad sizes based on viewport size 1509 // NOTE ads are not responsive but new ads will be rendered to the appropriate size 1510 // Adapted from https://support.google.com/dfp_premium/answer/4578089?hl=en#responsiveDesign 1511 var mapping = googletag.sizeMapping(); 1512 sizeMappingArray.forEach(function (entry) { 1513 var viewportSize = entry[0]; 1514 var adSizes = entry[1]; 1515 mapping.addSize(viewportSize, adSizes); 1516 }); 1517 1518 var sizeMapping = mapping.build(); 1519 1520 // Create a new ad slot, pointing to the slotName given to this function 1521 var slot = window.googletag.defineSlot(adUnitString, sizesArray, slotName) 1522 .defineSizeMapping(sizeMapping) 1523 .addService(window.googletag.pubads()); 1524 1525 // Add any targeting or any other modifications to the ad here 1526 if (adTargetingArray) { 1527 for (let key in adTargetingArray) { 1528 if (adTargetingArray.hasOwnProperty(key)) { 1529 slot.setTargeting(key, adTargetingArray[key]) 1530 } 1531 } 1532 } 1533 1534 // Display the new ad 1535 window.googletag.display(slotName); 1536 window.googletag.pubads().refresh([slot]); 1537 }); 1538 } 1539 1540 // Subscribe to the viafoura event when the viafoura object is ready 1541 window.vfQ = window.vfQ || []; 1542 1543 window.vfQ.push(function() { 1544 window.vf.$subscribe('vf-ads', 'requestCommentAd', generateCommentAd); 1545 window.vf.$subscribe('vf-ads', 'requestLiveblogAd', generateLiveblogAd); 1546 window.vf.$subscribe('vf-ads', 'requestConversationStarter', requestConversationStarter); 1547 }); 1548 </script>
1548 1549 1550 1551 1552
1552<script src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/webcomponents-loader/webcomponents-loader.ce44f83d1399e8dd41e607b70e0642c9.gz.js"></script>
1552 1553 1554
1554<script> 1555 /** 1556 This allows us to load the IE polyfills via feature detection so that they do not load 1557 needlessly in the browsers that do not need them. It also ensures they are loaded 1558 non async so that they load before the rest of our JS. 1559 */ 1560 var head = document.getElementsByTagName('head')[0]; 1561 if (!window.CSS || !window.CSS.supports || !window.CSS.supports('--fake-var', 0)) { 1562 var styleGuideScript = document.createElement('script'); 1563 styleGuideScript.setAttribute('src', "https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/util/IEPolyfills.min.a285ec4d47a7c3beb88cd1008acd98bb.gz.js"); 1564 styleGuideScript.setAttribute('type', 'text/javascript'); 1565 styleGuideScript.async = false; 1566 head.appendChild(styleGuideScript); 1567 } 1568 </script>
1568 1569 1570
1570<script> 1571 window.dataLayer = [] 1572 window.paywall = window['paywall'] || [] 1573 </script>
1573 1574 1575
1575<script type='text/javascript'> 1576 1577 let section = ""; 1578 let data_tags = []; 1579 let page_category; 1580 let pathname = window.location.pathname; 1581 let contentType = "page"; 1582 let articleSourceLabel = ""; 1583 1584 if (pathname === '/') { 1585 section = "home" 1586 page_category = "Homepage" 1587 data_tags.push('sectionfront') 1588 } 1589 else if ((contentType === "article") || (contentType === "paidUserContent") || (contentType === "gallery") || (contentType === "video")) { 1590 pathname = pathname.split('/'); 1591 if (pathname.length > 2){ 1592 section = pathname[1]; 1593 } 1594 page_category = pathname[1]; 1595 1596 for (i = 2; i < pathname.length - 1; i++) { 1597 section += '/' + pathname[i] 1598 } 1599 } 1600 else { 1601 pathname = pathname.split('/'); 1602 section = pathname[1] 1603 page_category = pathname[1] 1604 let title = "Contact Us | The Jamestown Sun" 1605 let formattedTitle = title.toLowerCase() 1606 let formattedSection = section.toLowerCase() 1607 if (formattedSection === formattedTitle) { 1608 data_tags.push('sectionfront') 1609 } 1610 1611 for (i = 2; i < pathname.length; i++) { 1612 section += '/' + pathname[i] 1613 } 1614 } 1615 1616 if (page_category === undefined) { 1617 page_category = "article" 1618 } 1619 1620 if (section === ""){ 1621 section = "unknown"; 1622 } 1623 1624 1625 1626 1627 let authorName = ""; 1628 1629 1630 1631 if (authorName === ""){ 1632 authorName = "not set"; 1633 } 1634 1635 let data_layer_obj = { 1636 "articleId": "0000017d-ded8-dd71-ab7f-fedc9ca20003", 1637 "articleTitle": "Contact Us | The Jamestown Sun", 1638 "pageDescription": "Need to contact someone at The Jamestown Sun? View our directory here. Find our address, phone number, email addresses. View our office hours. Find our general contact information, advertising department, newsroom, reporters, sports. ", 1639 "site": window.location.hostname, 1640 "tags": data_tags, 1641 "url": window.location.pathname, 1642 "FCC_SectionName": section.toLowerCase(), 1643 "FCC_ContentType": "page", 1644 "FCC_PublishDate": "", 1645 "FCC_ArticleSource": articleSourceLabel 1646 } 1647 1648 dataLayer.push({'page_category': page_category}); 1649 dataLayer.push(data_layer_obj); 1650 if ((contentType === "article") || (contentType === "video") || (contentType === "generated content") || (contentType === "podcast")){ 1651 1652 dataLayer.push({"FCC_Author": authorName}); 1653 1654 } 1655 1656 let fccUserStatusCookie = getForumCookie("_fcc_user_status"); 1657 if (fccUserStatusCookie === "") { 1658 fccUserStatusCookie = "unknown"; 1659 } 1660 dataLayer.push({"FCC_UserStatus": fccUserStatusCookie}); 1661</script>
1661 1662 1663 1664
1664<script src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/All.min.9c687352b7cf21e9f3e4c42a3b5146f0.gz.js" async></script>
1664 1665 1666 1667<!-- Google Tag Manager -->
1668<script>
vendor: 355 bytes, lines 1668-1672
1668(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1669 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1670 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 1671 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1672})(window,document,'script','dataLayer','
1672GTM-WJ22N8W
vendor: 3 bytes, line 1672
1672');
1672</script>
1672 1673<!-- End Google Tag Manager -->
1674<script async="async" src="https://www.googletagservices.com/tag/js/gpt.js"></script>
1674<script type="text/javascript"> 1675 window.googletag = window.googletag || {cmd: []}; 1676 // setup of ad slots 1677 var dfpAdSlotsObject = {} 1678 var dfpAdSlots = [] 1679 var dfpAdIds = [] 1680 var staticAdSlots = [] 1681</script>
1681 1682
1683<script type="text/javascript"> 1684 // DFP Enable services 1685 var dfpEnableLazyLoad; 1686 googletag.cmd.push(function () { 1687 if (typeof Storage !== "undefined") { 1688 var targetingParamStr = localStorage.getItem("bcDFPTargetingParams"); 1689 1690 if (targetingParamStr) { 1691 var targetingParameters = JSON.parse(targetingParamStr); 1692 1693 // set page-level targeting parameters 1694 for (let i = 0; i < targetingParameters.length; i++) { 1695 window.googletag.pubads().setTargeting(targetingParameters[i].key, targetingParameters[i].value); 1696 } 1697 } 1698 } 1699 // DFP lazyLoad 1700 dfpEnableLazyLoad = true; 1701 var dfpMobileScaling = 2.0; 1702 var dfpFetchMarginPercent = 200; 1703 var dfpRenderMarginPercent = Math.round(100); 1704 window.googletag.pubads().enableLazyLoad({ 1705 fetchMarginPercent: dfpFetchMarginPercent, 1706 renderMarginPercent: dfpRenderMarginPercent, 1707 mobileScaling: dfpMobileScaling 1708 });googletag.pubads().disableInitialLoad(); 1709 googletag.enableServices(); 1710 }); 1711</script>
1711 1712
1713<script> 1714 1715 window.fbAsyncInit = function() { 1716 FB.init({ 1717 1718 appId : '654463039042018', 1719 1720 xfbml : true, 1721 version : 'v2.9' 1722 }); 1723 }; 1724 1725 (function(d, s, id){ 1726 var js, fjs = d.getElementsByTagName(s)[0]; 1727 if (d.getElementById(id)) {return;} 1728 js = d.createElement(s); js.id = id; 1729 js.src = "//connect.facebook.net/en_US/sdk.js"; 1730 fjs.parentNode.insertBefore(js, fjs); 1731 }(document, 'script', 'facebook-jssdk')); 1732</script>
vendor: 1 bytes, line 1732
1732
1733<script src="https://ak.sail-horizon.com/spm/spm.v1.min.js" 1734 ></script>
vendor: 1 bytes, line 1734
1734
1735<script src="https://static.chartbeat.com/js/chartbeat_mab.js" async 1736 ></script>
vendor: 1 bytes, line 1736
1736
1737<script>Sailthru.init({ customerId: 'f51511392f5ef1446a4602f1219d56ec' });</script>
1737 1738 1739
1739<script async="async" src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/staticjs/prebid11.0.0.0c45189d6c8c1d5b5978fce0a99c01f4.gz.js"></script>
1739 1740 1741
1741<script type="text/javascript"> 1742 var enablePrebid = true; 1743 var bidderTimeout = 3000; 1744 var GRANULARITY = 'dense'; 1745 var desktopSizes = [ 1746 [970, 250], 1747 [300, 600], 1748 [970, 90], 1749 [728, 90], 1750 [300, 250], 1751 [468, 60] 1752 ]; 1753 var tabletSizes = [[728, 90], [300, 600], [300, 250]]; 1754 var phoneSizes = [[320, 100], [320, 50], [300, 250]]; 1755 1756 // Generic ad mapping used for dynamic sizing 1757 var ad_mapping_large_desktop = [[980, 330], [728, 90], [960, 200], [930, 180], [970, 90], [970, 250], [970, 66], [980, 120], [300, 250], [300, 600], [100, 25]]; 1758 var ad_mapping_desktop = [[980, 330], [728, 90], [960, 200], [930, 180], [970, 90], [970, 250], [970, 66], [980, 120], [300, 250], [300, 600]]; 1759 var ad_mapping_tablet = [[728, 90], [300, 600], [300, 250], [100, 25]]; 1760 var ad_mapping_phone = [[320, 100], [320, 50], [300, 50], [300, 600], [300, 250], [250, 250], [320, 100]]; 1761 var sizeConfig = [{ 1762 'mediaQuery': '(min-width: 1275px)', 1763 'sizesSupported': ad_mapping_large_desktop, 1764 'labels': ['large-desktop'] 1765 }, { 1766 'mediaQuery': '(min-width: 1000px) and (max-width: 1274px)', 1767 'sizesSupported': ad_mapping_desktop, 1768 'labels': ['desktop'] 1769 }, { 1770 'mediaQuery': '(min-width: 760px) and (max-width: 999px)', 1771 'sizesSupported': ad_mapping_tablet, 1772 'labels': ['tablet'] 1773 }, { 1774 'mediaQuery': '(min-width: 0px) and (max-width: 759px)', 1775 'sizesSupported': ad_mapping_phone, 1776 'labels': ['phone'] 1777 }]; 1778 var priceBucket = { 1779 "buckets": [ 1780 { 1781 "precision": 2, //default is 2 if omitted - means 2.1234 rounded to 2 decimal places = 2.12 1782 "min": 0, 1783 "max": 4.50, 1784 "increment": 0.01 1785 }, 1786 { 1787 "precision": 2, 1788 "min": 4.50, 1789 "max": 10, 1790 "increment": 0.05 1791 }, 1792 { 1793 "precision": 2, 1794 "min": 10, 1795 "max": 20, 1796 "increment": 0.10 1797 }, 1798 { 1799 "precision": 2, 1800 "min": 20, 1801 "max": 50, 1802 "increment": 0.25 1803 }, 1804 { 1805 "precision": 2, 1806 "min": 50, 1807 "max": 100, 1808 "increment": 0.50 1809 } 1810 ] 1811 }; 1812 var confSetConfig = { 1813 enableTIDs: true, 1814 priceGranularity: priceBucket, 1815 // debug: true, 1816 // cache: { 1817 // url: false 1818 // }, 1819 userSync: { 1820 filterSettings: { 1821 iframe: { 1822 bidders: '*', // '*' means all bidders 1823 filter: 'include' 1824 } 1825 }, 1826 syncsPerBidder: 10, // and no more than 10 syncs at a time 1827 syncDelay: 10000, // 10 seconds after the auction 1828 }, 1829 sizeConfig: sizeConfig 1830 }; 1831 </script>
1831 1832 1833 <fcc-first-entry-campaign id="First-entry-campaign" showFirstEntryCampaign="false"></fcc-first-entry-campaign> 1834 1835
1835<script> 1836 var link = document.createElement('link'); 1837 link.setAttribute( 1838 'href', 1839 '//fonts.googleapis.com/css?family=Brygada+1918:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700|Source+Sans+Pro:300,400,600,700,900' 1840 ) 1841 var relList = link.relList; 1842 if (relList && relList.supports('preload')) { 1843 link.setAttribute('as', 'style'); 1844 link.setAttribute('rel', 'preload'); 1845 link.setAttribute('onload', 'this.rel="stylesheet"'); 1846 link.setAttribute('crossorigin', 'anonymous'); 1847 } else { 1848 link.setAttribute('rel', 'stylesheet'); 1849 } 1850 head.appendChild(link); 1851 </script>
1851 1852 1853
1853<script type="text/javascript"> 1854 (function () { 1855 function clickEpaper() { 1856 let epaperLink = "https://epaper.jamestownsun.com"; 1857 function redirectToEpaper() { 1858 window.location.href = epaperLink; 1859 } 1860 redirectToEpaper(); 1861 } 1862 1863 function clickYellowSubscribe(subscribeUrl, offerTitle, clickClass) { 1864 // sophi User Properties - Subscribe button click 1865 try { 1866 demeter("userProperties", { 1867 args: { 1868 2: true, 1869 } 1870 }); 1871 } catch (err) { 1872 console.log("sophi not loaded to page") 1873 } 1874 // calls clickSubscribe to fulfill subscribe button duties 1875 clickSubscribe(subscribeUrl, offerTitle, clickClass) 1876 } 1877 1878 function clickOfferSubscribe(subscribeUrl, offerTitle, clickClass) { 1879 // datalayer push for subscribe offers 1880 let subscribeOfferData = { 1881 subscribe_offer_title: offerTitle 1882 } 1883 1884 dataLayer.push({'event': 'subscribe_offer_selected', ...subscribeOfferData}); 1885 1886 clickSubscribe(subscribeUrl, offerTitle, clickClass) 1887 } 1888 1889 function clickSubscribe(subscribeUrl, offerTitle, clickClass) { 1890 try { 1891 enterSophiSubscriptionFunnel() 1892 } catch { 1893 console.log("Subscription Funnel: Sophi not loaded to page") 1894 } 1895 1896 offerTitle = offerTitle || ''; 1897 clickClass = clickClass || ''; 1898 1899 if (getForumCookie('_fcc_utm_campaign') == '') { 1900 createCampaignCookie(subscribeUrl, offerTitle); 1901 } 1902 if (!isNavigaTemplate(subscribeUrl, clickClass)) { 1903 window.location.href = updateUrlCampaignParameters(subscribeUrl, clickClass); 1904 } 1905 } 1906 function isNavigaTemplate(url, clickClass) { 1907 let subscribeLinks = document.getElementsByClassName('subscribe-button'); 1908 for (let i = 0; i < subscribeLinks.length; i++) { 1909 if (subscribeLinks[i].href === url) { 1910 subscribeLinks[i].setAttribute( 1911 'href', 1912 updateUrlCampaignParameters(url, clickClass) 1913 ); 1914 return true; 1915 } 1916 } 1917 return false; 1918 } 1919 // For G2I to work correctly, all three parameters must be present 1920 // otherwise the parameters will not be recorded 1921 function hasAllParams(queryString) { 1922 let hasUtmCampaign = 1923 queryString.includes('utm_source') && 1924 queryString.includes('utm_medium') && 1925 queryString.includes('utm_campaign'); 1926 let hasG2iCampaign = 1927 queryString.includes('g2i_source') && 1928 queryString.includes('g2i_medium') && 1929 queryString.includes('g2i_campaign'); 1930 return hasUtmCampaign || hasG2iCampaign; 1931 } 1932 function createCampaignCookie(tempQueryString, offerTitle) { 1933 offerTitle = offerTitle || ''; 1934 let source = ''; 1935 let medium = ''; 1936 let campaign = ''; 1937 let queryString = tempQueryString 1938 .replace('?', '&') 1939 .replace('utm_source', 'g2i_source') 1940 .replace('utm_medium', 'g2i_medium') 1941 .replace('utm_campaign', 'g2i_campaign'); 1942 let queryStringParams = queryString.split('&'); 1943 for (let i = 0; i < queryStringParams.length; i++) { 1944 let tempString = queryStringParams[i]; 1945 let tempArr = tempString.split('=') || []; 1946 if (tempString.includes('g2i_source') && source === '') { 1947 source = '&'.concat('g2i_source=', encodeURIComponent(tempArr[1])); 1948 } 1949 if (tempString.includes('g2i_medium') && medium === '') { 1950 medium = '&'.concat('g2i_medium=', encodeURIComponent(tempArr[1])); 1951 } 1952 if (tempString.includes('g2i_campaign') && campaign === '') { 1953 campaign = '&'.concat('g2i_campaign=', encodeURIComponent(tempArr[1])); 1954 } 1955 } 1956 // Sets the default values for the cookie 1957 if (source === '') { 1958 source = '&g2i_source=Brightspot'; 1959 } 1960 if (medium === '' && offerTitle !== '') {
1961 if (offerTitle.includes('Print + Digital')) { 1962 medium = 'combo'; 1963 } else { 1964 medium = offerTitle.toLowerCase().replaceAll(' ', '_'); 1965 } 1966 medium = '&g2i_medium=' + encodeURIComponent(medium); 1967 } else if (medium === '') { 1968 // ! what should the medium be if the offerTitle is empty? 1969 medium = '&g2i_medium=unknown'; 1970 } 1971 if (campaign === '') { 1972 campaign = '&g2i_campaign=no_campaign'; 1973 } 1974 setForumCookie('_fcc_utm_campaign', source.concat(medium, campaign), 0); 1975 } 1976 function addReturnUrl(url) { 1977 if (!url.includes('returnUrl')) { 1978 let returnUrl = ""; 1979 let currentUrl = document.location.href; 1980 // Determine if the currentUrl already has a returnUrl 1981 if (currentUrl.includes("returnUrl")) { 1982 returnUrl = currentUrl.split("returnUrl=")[1]; 1983 } else if (currentUrl.includes('/subscribe')) { 1984 // If on the subscribe page, use the referrer 1985 returnUrl = document.referrer; 1986 } else { 1987 // Otherwise, use the current URL 1988 returnUrl = currentUrl; 1989 } 1990 url = url.concat('&returnUrl=', encodeURIComponent(returnUrl)); 1991 } 1992 return url; 1993 } 1994 // Ensures that the URL being passed to it contains all 3 G2I parameters, and adds them if they dont exist 1995 function updateUrlCampaignParameters(navigaSubscribeUrl, clickClass) { 1996 clickClass = clickClass || ''; 1997 navigaSubscribeUrl = navigaSubscribeUrl || ''; 1998 let tempUrl = navigaSubscribeUrl; 1999 let queryString = navigaSubscribeUrl?.split('?'); 2000 let hrefQueryString = (queryString.length > 1) ? queryString[1] : ''; 2001 let campaignCookie = getForumCookie('_fcc_utm_campaign'); 2002 // If the URL does not contain any parameters 2003 if (hrefQueryString === '') { 2004 tempUrl = navigaSubscribeUrl.concat(campaignCookie.replace('&', '?')); 2005 if (clickClass === 'Page-header-subscribe') { 2006 dataLayer.push({'subscribe_button_url': tempUrl }); 2007 } 2008 return addReturnUrl(tempUrl); 2009 } 2010 if (hasAllParams(navigaSubscribeUrl)) { 2011 if (clickClass === 'Page-header-subscribe') { 2012 dataLayer.push({'subscribe_button_url': navigaSubscribeUrl }); 2013 } 2014 return addReturnUrl(navigaSubscribeUrl); 2015 } else { 2016 if (!hrefQueryString.includes('g2i_source')) { 2017 tempUrl = tempUrl.concat('&g2i_source=Brightspot'); 2018 } else if (!hrefQueryString.includes('g2i_medium')) { 2019 tempUrl = tempUrl.concat('&g2i_medium=unknown'); 2020 } else if (!hrefQueryString.includes('g2i_campaign')) { 2021 tempUrl = tempUrl.concat('&g2i_campaign=no_campaign'); 2022 } 2023 if (clickClass === 'Page-header-subscribe') { 2024 dataLayer.push({'subscribe_button_url': tempUrl }); 2025 } 2026 return addReturnUrl(tempUrl); 2027 } 2028 } 2029 // Check for query string parameters with campaign codes 2030 // and FCC UTM Campaign cookie 2031 let queryString = document.location.search; 2032 if ( 2033 getForumCookie('_fcc_utm_campaign') === '' && 2034 queryString !== '' && 2035 hasAllParams(queryString) 2036 ) { 2037 createCampaignCookie(queryString); 2038 } 2039 2040 ensureUserIsSet().then(function(){ 2041 if (window?.user.status === 'subscribed') { 2042 let ownedSubs = Connext.Storage.GetUserData().OwnedSubscriptions; 2043 for (const ownedSub of ownedSubs) { 2044 if (ownedSub.PaperCode === 'SLS') { 2045 setForumCookie('_fcc_sls_subscribed', true, 0); 2046 } 2047 } 2048 } 2049 else { 2050 setForumCookie('_fcc_sls_subscribed', false, 0); 2051 } 2052 }); 2053 2054 Object.assign(window, { 2055 clickEpaper: clickEpaper, 2056 clickSubscribe: clickSubscribe, 2057 clickYellowSubscribe: clickYellowSubscribe, 2058 clickOfferSubscribe: clickOfferSubscribe 2059 }); 2060 })(); 2061 </script>
2061 2062</head> 2063 2064<body class="Page-body" data-header-hat="true" 2065 2066 2067> 2068 <!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 2068-2070
2068 2069<noscript> 2070 <iframe src="https://www.googletagmanager.com/ns.html?id=
2070GTM-WJ22N8W
vendor: 88 bytes, lines 2070-2072
2070" 2071 height="0" width="0" style="display:none;visibility:hidden"></iframe> 2072</noscript>
2073<!-- End Google Tag Manager (noscript) --><auth0-script> 2074
2074<script async type='text/javascript'> 2075 pianoUserId = window['pianoUserId'] 2076 paywall = window['paywall'] 2077 2078 window.addEventListener("message", function(evt) { 2079 if(evt.data && evt.data === "login") { 2080 login(); 2081 } 2082 }); 2083 2084 window.addEventListener("message", function(evt) { 2085 if(evt.data && evt.data === "register") { 2086 signup(); 2087 } 2088 }); 2089 2090 // Created Date 2091 if("" === "") { 2092 // The content published date 2093 paywall.createdDate = ""; 2094 } else { 2095 // The content published date 2096 paywall.createdDate = ""; 2097 } 2098 2099 if (paywall.createdDate) { 2100 // Article Age (in milliseconds) 2101 let articleAgeMS = Date.parse(new Date()) - Date.parse(paywall.createdDate); 2102 // Article Age (in days -- 86400000 ms/day) 2103 paywall.ageInDays = Math.floor(articleAgeMS/86400000); 2104 } 2105 2106 // The content author 2107 paywall.author = ""; 2108 2109 // The article ID 2110 paywall.contentId = "0000017d-ded8-dd71-ab7f-fedc9ca20003"; 2111 2112 // Page Type 2113 let articleBody = "" 2114 if (window.location.pathname === '/') { 2115 paywall.pageType = "homepage"; 2116 } 2117 else if (articleBody > 0 || window.location.href.indexOf("/obits/") > -1 || contentType === 'blog post') { 2118 paywall.pageType = "article"; 2119 } 2120 else if (contentType === 'video') { 2121 paywall.pageType = "video"; 2122 } 2123 else { 2124 paywall.pageType = "sectionfront"; 2125 } 2126 2127 paywall.pageName = "https://www.jamestownsun.com/contact-us"; 2128 2129 // The Section Name 2130 let sectionName; 2131 2132 2133 let js_tags = [] 2134 2135 if (sectionName == undefined) { 2136 if (window.location.pathname === '/') { 2137 sectionName = "Home" 2138 } 2139 else if (paywall.pageType === "video") { 2140 sectionName = "video" 2141 } 2142 else { 2143 let pathname = window.location.pathname.split('/') 2144 /* 2145 freeChildPages are free content that falls under a parent section 2146 e.g. /account/newletters, /podcasts/agweek-podcast, or /obituaries/obits/firstname-lastname-hashkey 2147 */ 2148 let freeChildPages = ["account", "legal-notices", "obituaries", "obits", "podcasts"] 2149 sectionName = (freeChildPages.includes(pathname[1]) && typeof(pathname[2]) !== "undefined") ? 2150 pathname[1] : pathname.slice(-1)[0]; 2151 } 2152 } 2153 2154 2155 2156 let cannabisCookie = getForumCookie('_fcc_cannabis_session') 2157 paywall.cannabis = cannabisCookie 2158 2159 // The content tags 2160 paywall.tags = js_tags; 2161 2162 paywall.sectionName = sectionName; 2163 </script>
2163 2164</auth0-script> 2165 2166 2167 2168
2168<script async> 2169 const getEnvironment = () => { 2170 const hostNameArray = window.location.hostname.split('.') 2171 const indexOfWWW = hostNameArray.indexOf('www') 2172 if (indexOfWWW > -1) { 2173 hostNameArray.splice(indexOfWWW, 1) 2174 } 2175 var propertyName = hostNameArray[0] 2176 var environment = 'production' 2177 if (window.location.hostname.includes('qa') || 2178 window.location.hostname.includes('uat') || 2179 window.location.hostname.includes('localhost') 2180 ) { 2181 environment = 'test' 2182 } else if (window.location.hostname.includes('web')) { 2183 environment = 'production-other' 2184 } 2185 return environment 2186 } 2187 2188 // Reserved for Sophi User Properties available on initial page load. 2189 const setSophiUserProperties = (userStatus) => { 2190 const urlParams = new URLSearchParams(window.location.search) 2191 const utmSource = urlParams.get('utm_source') 2192 const utmMedium = urlParams.get('utm_medium') 2193 2194 const navigaSubPromoEligible = (paywall.promoEligible === "yes") 2195 2196 let newUserProperties = {} 2197 if (userStatus == '' && utmSource == 'email' && utmMedium == 'newsletter') { 2198 demeter('userProperties', { 2199 args: { 2200 1: true, 2201 4: navigaSubPromoEligible 2202 } 2203 }); 2204 } else if (userStatus !== 'subscribed' && utmSource == 'email' && utmMedium == 'newsletter') { 2205 demeter('userProperties', { 2206 args: { 2207 visitorType: userStatus, 2208 1: true, 2209 4: navigaSubPromoEligible 2210 } 2211 }); 2212 } else if (userStatus == 'anonymous' || userStatus == 'registered') { 2213 demeter('userProperties', { 2214 args: { 2215 visitorType: userStatus, 2216 4: navigaSubPromoEligible 2217 } 2218 }); 2219 } 2220 } 2221 2222 const enterSophiSubscriptionFunnel = () => { 2223 demeter('userProperties', { 2224 args: { 2225 3: true 2226 } 2227 }) 2228 } 2229 2230 const getSophiDecision = async (userStatus) => { 2231 if (userStatus == '') { 2232 let decision = await demeter('getDecision'); 2233 if (decision.outcome.wallVisibility === 'always') { 2234 paywall.sophiWallType = decision.outcome.wallType // 'regwall' or 'paywall' 2235 } 2236 } else if (userStatus !== 'subscribed') { 2237 let decision = await demeter('getDecision', { 2238 args: { visitor: userStatus }, // 'registered' or 'anonymous' 2239 }); 2240 if (decision.outcome.wallVisibility === 'always') { 2241 paywall.sophiWallType = decision.outcome.wallType // 'regwall' or 'paywall' 2242 } 2243 } 2244 } 2245 2246 const sophiMount = async () => { 2247 // Allows Sophi Logs to show in Console 2248 if (getEnvironment() === 'test') { 2249 demeter('config', { 2250 args: { 2251 logLevel: 'debug' // default log level is 'warn' 2252 } 2253 }) 2254 } 2255 2256 const userStatus = getForumCookie('_fcc_user_status') 2257 setSophiUserProperties(userStatus) 2258 2259 const isArticle = paywall.pageType === 'article' ? true : false; 2260 const sophiSection = paywall.sectionName; 2261 2262 // Track standard pageview event 2263 demeter('pageview', { 2264 args: { 2265 article: isArticle, // Bool: Identifies if this is an article page 2266 section: sophiSection // String: Top level section of the article 2267 } 2268 }); 2269 2270 // 1. Get values from window.sophi.dataLayer 2271 2272 await demeter('getSophiContext'); 2273 2274 const sophiData = window.sophi.dataLayer; 2275 2276 // 2. Set up tracking properties 2277 2278 var sophi_propensity = '' 2279 if (sophiData && sophiData.trace) { 2280 sophi_propensity = sophiData.trace.substring(3,5) 2281 paywall.sophiPropensityScore = sophi_propensity 2282 } 2283 2284 const trackingProperties = { 2285 sophi_trace: sophiData.trace, 2286 sophi_context: sophiData.context, 2287 sophi_inputs: sophiData.inputs, 2288 sophi_assigned_group: sophiData.assignedGroup, 2289 experiments_code: sophiData.experimentsCode, 2290 sophi_propensity_score: sophi_propensity, 2291 sophi_user_properties: sophiData.userProperties, 2292 sophi_content_properties: sophiData.contentProperties 2293 }; 2294 2295 // Track a pageview event 2296 dataLayer.push({'event': 'sophi_page_view', ...trackingProperties}); 2297 2298 // Updated a/b testing for Sophi v2.0 2299 const assignedGroup = sophiData.assignedGroup; 2300 if (assignedGroup === 'variant') { 2301 paywall.assignedGroup = 'variant' 2302 getSophiDecision(userStatus) 2303 } else { 2304 paywall.assignedGroup = 'control' 2305 } 2306 2307 function generateLink (arr, propensityScore, isPromo) { 2308 if (!isPromo) { 2309 // update subscribe links 2310 updateSubscribeButtonLinks(arr[0].url) 2311 // footer 2312 updateFooterLink(arr[0].url) 2313 return 2314 } 2315 // calc length & map to offers 2316 const total = 100; 2317 const interval = total / arr.length; 2318 2319 const scoredOffers = arr.map((item, index) => { 2320 const upper = total - interval * index; 2321 const lower = total - interval * (index + 1); 2322 return { 2323 ...item, 2324 scoreRange: { 2325 lower: parseFloat(lower.toFixed(2)), 2326 upper: parseFloat(upper.toFixed(2)) 2327 } 2328 } 2329 }) 2330 2331 const selectedOffer = scoredOffers.find(item => propensityScore > item.scoreRange.lower && propensityScore <= item.scoreRange.upper) 2332 2333 if (!selectedOffer) { 2334 console.log('no offer default subscribe link used') 2335 return 2336 } 2337 2338 // update subscribe links 2339 updateSubscribeButtonLinks(selectedOffer.url) 2340 // footer 2341 updateFooterLink(selectedOffer.url) 2342 } 2343 2344 function updateSubscribeButtonLinks (url) { 2345 let link = `clickSubscribe('${url}
2345', '', 'Page-header-subscribe')` 2346 // find all subscribe button instances on page 2347 let elementCollection = document.getElementsByClassName('Page-header-subscribe') 2348 let elementArr = Array.from(elementCollection) 2349 2350 elementArr.forEach((element, index) => { 2351 element.setAttribute('onclick', link) 2352 }) 2353 } 2354 2355 function updateFooterLink (url) { 2356 let link = `clickSubscribe('${url}', '', 'Page-header-subscribe')` 2357 let footerCollection = document.getElementsByClassName('FooterNavigationItem-items-item') 2358 // find the subscription link 2359 let footerArr = Array.from(footerCollection) 2360 2361 let filteredFooterArr = footerArr.filter(parent => parent.firstChild.innerText?.includes('Subscription Options')) 2362 if (filteredFooterArr.length < 1) { 2363 console.log('no footer links found') 2364 return 2365 } 2366 let footerLink = filteredFooterArr[0].firstChild 2367 if (!footerLink) { 2368 console.log('no anchor in footer link') 2369 return 2370 } 2371 footerLink.removeAttribute('href') 2372 footerLink.setAttribute('onclick', link) 2373 } 2374 2375 // determine subscribe URL based on logic 2376 if (assignedGroup === "variant" && "false" === "true") { 2377 let sophiSubscribeUrlsArr = [] 2378 2379 if (paywall.promoEligible === 'yes') { 2380 // generate subscribe url based on propensity score 2381 generateLink(sophiSubscribeUrlsArr, paywall.sophiPropensityScore, true) 2382 } else { 2383 generateLink(sophiSubscribeUrlsArr, paywall.sophiPropensityScore, false) 2384 } 2385 } 2386 2387 window.dispatchEvent(navigaEngageInitTrigger) 2388 } 2389 2390 // New Event for Sophi Paywall to Trigger on paywall modals after Sophi has mounted 2391 const navigaEngageInitTrigger = new Event('navigaEngageInitTrigger') 2392 window.addEventListener('sophiGlobalScriptMount', function () { 2393 sophiMount() 2394 }) 2395</script>
2395 2396 2397 2398 2399 2400
2400<script> 2401 (function (d, s, n) { 2402 var js, fjs = d.getElementsByTagName(s)[0]; 2403 js = d.createElement(s); 2404 js.className = n; 2405 js.src = "//player.ex.co/player/33705558-dcc5-46ac-8b10-861843026682"; 2406 fjs.parentNode.insertBefore(js, fjs); 2407 }(document, 'script', 'exco-player')); 2408</script>
2408 2409 2410 2411<svg xmlns='http://www.w3.org/2000/svg' style='display:none' id='iconsMap'> 2412 <symbol id='account' viewBox='0 0 24 24'> 2413 <path 2414 d='M12.375 0.375C5.95312 0.375 0.75 5.57812 0.75 12C0.75 18.4219 5.95312 23.625 12.375 23.625C18.7969 23.625 24 18.4219 24 12C24 5.57812 18.7969 0.375 12.375 0.375ZM18.375 20.1562C16.6875 21.4219 14.5781 22.125 12.375 22.125C10.125 22.125 8.01562 21.4219 6.375 20.1562V19.5C6.375 17.8594 7.6875 16.5 9.375 16.5C9.89062 16.5 10.6406 17.0625 12.375 17.0625C14.0625 17.0625 14.8125 16.5 15.375 16.5C17.0156 16.5 18.375 17.8594 18.375 19.5V20.1562ZM19.7812 18.8906C19.4531 16.6875 17.625 15 15.375 15C14.3906 15 13.9219 15.5625 12.375 15.5625C10.7812 15.5625 10.3125 15 9.375 15C7.07812 15 5.25 16.6875 4.92188 18.8906C3.23438 17.0625 2.25 14.6719 2.25 12C2.25 6.42188 6.75 1.875 12.375 1.875C17.9531 1.875 22.5 6.42188 22.5 12C22.5 14.6719 21.4688 17.0625 19.7812 18.8906ZM12.375 5.625C10.0781 5.625 8.25 7.5 8.25 9.75C8.25 12.0469 10.0781 13.875 12.375 13.875C14.625 13.875 16.5 12.0469 16.5 9.75C16.5 7.5 14.625 5.625 12.375 5.625ZM12.375 12.375C10.9219 12.375 9.75 11.2031 9.75 9.75C9.75 8.34375 10.9219 7.125 12.375 7.125C13.7812 7.125 15 8.34375 15 9.75C15 11.2031 13.7812 12.375 12.375 12.375Z' /> 2415 </symbol> 2416 <symbol id='mono-icon-Facebook' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'> 2417 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2418 <path 2419 d='M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z' /> 2420 </symbol> 2421 <symbol id='mono-icon-Instagram' viewBox='0 0 448 512'> 2422 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2423 <path 2424 d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z' /> 2425 </symbol> 2426 <symbol id='mono-icon-Mailto' viewBox='0 0 512 512'> 2427 <path 2428 d='M40 147.75 C40 117.923 64.173 93.75 94 93.75 L418 93.75 C447.784 93.75 472 117.923 472 147.75 L472 363.75 C472 393.534 447.784 417.75 418 417.75 L94 417.75 C64.173 417.75 40 393.534 40 363.75 Z M67 147.75 L67 181.416 232.038 302.409 C246.297 312.872 265.703 312.872 279.962 302.409 L445 181.416 445 147.75 C445 132.816 432.934 120.75 418 120.75 L93.241 120.75 C79.091 120.75 66.241 132.816 66.241 147.75 Z M67 214.913 L67 363.75 C67 378.684 79.091 390.75 94 390.75 L418 390.75 C432.934 390.75 445 378.684 445 363.75 L445 214.913 295.909 324.178 C272.116 341.644 239.884 341.644 216.091 324.178 Z' /> 2429 </symbol> 2430 <symbol id='mono-icon-Print' viewBox='0 0 512 512'> 2431 <path 2432 d='M386.625 304.25 L125.375 304.25 C110.949 304.25 99.25 315.949 99.25 330.375 L99.25 434.875 C99.25 449.301 110.949 461 125.375 461 L386.625 461 C401.051 461 412.75 449.301 412.75 434.875 L412.75 330.375 C412.75 315.925 401.075 304.25 386.625 304.25 Z M386.625 434.875 L125.375 434.875 125.375 330.375 386.625 330.375 Z M412.75 199.75 L412.75 100.663 C412.75 93.732 409.974 87.086 405.076 82.188 L373.538 50.65 C367.929 45.751 362.051 43 355.112 43 L151.5 43 C122.64 43 99.25 66.39 99.25 95.25 L99.25 199.75 C70.431 199.75 47 223.181 47 252 L47 343.438 C47 350.622 52.842 356.5 60.063 356.5 67.283 356.5 73.125 350.622 73.125 343.438 L73.125 252 C73.125 237.574 84.824 225.875 99.25 225.875 L412.75 225.875 C427.176 225.875 438.875 237.574 438.875 252 L438.875 343.438 C438.875 350.658 444.717 356.5 451.938 356.5 459.158 356.5 465 350.658 465 343.438 L465 252 C465 223.181 441.569 199.75 412.75 199.75 Z M386.625 199.75 L125.375 199.75 125.375 95.25 C125.375 80.824 137.074 69.125 151.5 69.125 L355.112 69.125 386.625 100.663 Z M399.688 245.469 C388.87 245.469 380.094 254.237 380.094 265.063 380.094 275.88 388.87 284.656 399.688 284.656 410.505 284.656 419.281 275.88 419.281 265.063 419.281 254.204 410.546 245.469 399.688 245.469 Z' /> 2433 </symbol>
2434 <symbol id='mono-icon-Copylink' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'> 2435 <path 2436 d='M12.2578 16.093C14.2109 14.1399 14.2109 10.8977 12.2578 8.90552C11.75 8.43677 11.2031 8.08521 10.6172 7.81177C10.3828 7.73364 10.0703 7.85083 9.99219 8.12427C9.95312 8.31958 9.91406 8.51489 9.875 8.71021C9.875 8.90552 9.99219 9.10083 10.1875 9.17896C10.5781 9.33521 10.9297 9.60864 11.2422 9.92114C12.6875 11.3274 12.6875 13.6711 11.2812 15.0774L11.2422 15.1165L8.15625 18.2024C6.71094 19.6477 4.40625 19.6477 2.96094 18.2024C1.51562 16.7571 1.51562 14.4524 2.96094 13.0071C2.96094 13.0071 5.26562 10.7024 5.89062 10.0774C6.00781 9.96021 6.04688 9.80396 6.04688 9.68677C6.00781 9.49146 6.00781 9.29614 6.00781 9.10083C5.96875 8.71021 5.5 8.51489 5.1875 8.78833C5.14844 8.82739 5.10938 8.86646 5.07031 8.90552L1.98438 12.0305C-0.0078125 13.9836 -0.0078125 17.2258 1.98438 19.179C3.9375 21.1711 7.17969 21.1711 9.13281 19.179L12.2578 16.093ZM8.70312 12.4602C9.21094 12.929 9.75781 13.2805 10.3438 13.554C10.5781 13.6321 10.8906 13.5149 10.9688 13.2415C11.0078 13.0461 11.0469 12.8508 11.0859 12.6555C11.0859 12.4602 10.9688 12.2649 10.7734 12.1868C10.3828 12.0305 10.0312 11.7571 9.71875 11.4446C8.27344 10.0383 8.27344 7.69458 9.67969 6.28833L9.71875 6.24927L12.8047 3.16333C14.25 1.71802 16.5547 1.71802 18 3.16333C19.4453 4.60864 19.4453 6.91333 18 8.35864C18 8.35864 15.6953 10.6633 15.0703 11.2883C14.9531 11.4055 14.9141 11.5618 14.9141 11.679C14.9531 11.8743 14.9531 12.0696 14.9531 12.2649C14.9922 12.6555 15.4609 12.8508 15.7734 12.5774C15.8125 12.5383 15.8516 12.4993 15.8906 12.4602L18.9766 9.33521C20.9688 7.38208 20.9688 4.13989 18.9766 2.18677C17.0234 0.19458 13.7812 0.19458 11.8281 2.18677L8.70312 5.27271C6.75 7.22583 6.75 10.468 8.70312 12.4602Z' 2437 fill='#666666' /> 2438 </symbol> 2439 <symbol id='mono-icon-Linkedin' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'> 2440 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2441 <path 2442 d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z' /> 2443 </symbol> 2444 <symbol id='mono-icon-Pinterest' viewBox='0 0 496 512'> 2445 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2446 <path 2447 d='M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z' /> 2448 </symbol> 2449 <symbol id='mono-icon-Reddit' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'> 2450 <path 2451 d='M8.35156 12.6165C8.89844 12.6165 9.32812 12.1868 9.32812 11.6399C9.32812 11.1321 8.89844 10.6633 8.35156 10.6633C7.80469 10.6633 7.375 11.1321 7.375 11.6399C7.375 12.1868 7.80469 12.6165 8.35156 12.6165ZM20.1875 10.6633C20.1875 5.31177 15.8516 0.97583 10.5 0.97583C5.14844 0.97583 0.8125 5.31177 0.8125 10.6633C0.8125 16.0149 5.14844 20.3508 10.5 20.3508C15.8516 20.3508 20.1875 16.0149 20.1875 10.6633ZM14.9922 9.06177C16.3594 9.06177 16.7891 10.8977 15.5781 11.5227C15.6172 11.718 15.6562 11.9133 15.6562 12.1477C15.6562 14.179 13.3516 15.8586 10.5 15.8586C7.64844 15.8586 5.34375 14.179 5.34375 12.1477C5.34375 11.9133 5.34375 11.718 5.38281 11.5227C4.17188 10.8977 4.60156 9.06177 5.96875 9.06177C6.32031 9.06177 6.67188 9.21802 6.90625 9.45239C7.76562 8.86646 8.9375 8.47583 10.2266 8.43677L11.0078 5.03833C11.0078 4.92114 11.125 4.84302 11.2422 4.88208L13.6641 5.38989C13.8203 5.07739 14.1328 4.88208 14.5234 4.88208C15.0703 4.88208 15.5 5.31177 15.5 5.85864C15.5 6.36646 15.0703 6.79614 14.5234 6.79614C13.9766 6.79614 13.54
245169 6.36646 13.5469 5.85864L11.3984 5.35083L10.6953 8.43677C12.0234 8.47583 13.1953 8.86646 14.0547 9.45239C14.3281 9.21802 14.6406 9.06177 14.9922 9.06177ZM12.2969 13.593C11.5938 14.3352 9.32812 14.2961 8.66406 13.593C8.58594 13.5149 8.42969 13.5149 8.3125 13.593C8.23438 13.7102 8.23438 13.8665 8.3125 13.9446C9.21094 14.843 11.75 14.843 12.6484 13.9446C12.7266 13.8665 12.7266 13.7102 12.6484 13.593C12.5312 13.5149 12.4141 13.5149 12.2969 13.593ZM12.6094 10.6633C12.0625 10.6633 11.6328 11.1321 11.6328 11.6399C11.6328 12.1868 12.1016 12.6165 12.6094 12.6165C13.1562 12.6165 13.5859 12.1868 13.5859 11.6399C13.5859 11.1321 13.1562 10.6633 12.6094 10.6633Z' 2452 fill='#FF5700' /> 2453 </symbol> 2454 <symbol id='mono-icon-Tumblr' viewBox='0 0 320 512' xmlns='http://www.w3.org/2000/svg'> 2455 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2456 <path 2457 d='M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z' /> 2458 </symbol> 2459 <symbol id='mono-icon-Twitter' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'> 2460 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2461 <path 2462 d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z' /> 2463 2464 </symbol> 2465 <symbol id='mono-icon-Youtube' viewBox='0 0 576 512' xmlns='http://www.w3.org/2000/svg'> 2466 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2467 <path 2468 d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z' /> 2469 </symbol> 2470 <symbol id='icon-magnify' viewBox='0 0 14 15' id='.02232631230241955' xmlns='http://www.w3.org/2000/svg'> 2471 <path 2472 d='M13.8906 13.9297L10.3633 10.4023C10.3086 10.3477 10.2266 10.3203 10.1445 10.3203H9.84375C10.8008 9.28125 11.375 7.94141 11.375 6.4375C11.375 3.32031 8.80469 0.75 5.6875 0.75C2.54297 0.75 0 3.32031 0 6.4375C0 9.58203 2.54297 12.125 5.6875 12.125C7.16406 12.125 8.53125 11.5508 9.54297 10.6211V10.8945C9.54297 11.0039 9.57031 11.0859 9.625 11.1406L13.1523 14.668C13.2891 14.8047 13.4805 14.8047 13.6172 14.668L13.8906 14.3945C14.0273 14.2578 14.0273 14.0664 13.8906 13.9297ZM5.6875 11.25C3.00781 11.25 0.875 9.11719 0.875 6.4375C0.875 3.78516 3.00781 1.625 5.6875 1.625C8.33984 1.625 10.5 3.78516 10.5 6.4375C10.5 9.11719 8.33984 11.25 5.6875 11.25Z' /> 2473 </symbol> 2474 <symbol id='burger-menu' viewBox='0 0 16 14' fill='none' xmlns='http://www.w3.org/2000/svg'> 2475 <path 2476 d='M15.6641 2.25781C15.7695 2.25781 15.875 2.1875 15.875 2.04688V1.20312C15.875 1.09766 15.7695 0.992188 15.6641 0.992188H0.335938C0.195312 0.992188 0.125 1.09766 0.125 1.20312V2.04688C0.125 2.1875 0.195312 2.25781 0.335938 2.25781H15.6641ZM15.6641 7.88281C15.7695 7.88281 15.875 7.8125 15.875 7.67188V6.82812C15.875 6.72266 15.7695 6.61719 15.6641 6.61719H0.335938C0.195312 6.61719 0.125 6.72266 0.125 6.82812V7.67188C0.125 7.8125 0.195312 7.88281 0.335938 7.88281H15.6641ZM15.6641 13.5078C15.7695 13.5078 15.875 13.4375 15.875 13.2969V12.4531C15.875 12.3477 15.7695 12.2422 15.6641 12.2422H0.335938C0.195312 12.2422 0.125 12.3477 0.125 12.4531V13.2969C0.125 13.4375 0.195312 13.5078 0.335938 13.5078H15.6641Z' 2477 fill='#292929' /> 2478 </symbol> 2479 <symbol id='close-x' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'> 2480 <g> 2481 <path fill-rule='nonzero' 2482 d='M6.336 7L0 .664.664 0 7 6.336 13.336 0 14 .664 7.664 7 14 13.336l-.664.664L7 7.664.664 14 0 13.336 6.336 7z'> 2483 </path> 2484 </g> 2485 </symbol> 2486 <symbol id='hamburger-close-x' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'> 2487 <path 2488 d='M7.03125 5L10.25 1.8125L10.9062 1.15625C11 1.0625 11 0.90625 10.9062 0.78125L10.2188 0.09375C10.0938 0 9.9375 0 9.84375 0.09375L6 3.96875L2.125 0.09375C2.03125 0 1.875 0 1.75 0.09375L1.0625 0.78125C0.96875 0.90625 0.96875 1.0625 1.0625 1.15625L4.9375 5L1.0625 8.875C0.96875 8.96875 0.9
24886875 9.125 1.0625 9.25L1.75 9.9375C1.875 10.0312 2.03125 10.0312 2.125 9.9375L6 6.0625L9.1875 9.28125L9.84375 9.9375C9.9375 10.0312 10.0938 10.0312 10.2188 9.9375L10.9062 9.25C11 9.125 11 8.96875 10.9062 8.875L7.03125 5Z' 2489 fill='#292929' /> 2490 </symbol> 2491 <symbol id='share-more-arrow' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;'> 2492 <g> 2493 <g> 2494 <path 2495 d='M512,241.7L273.643,3.343v156.152c-71.41,3.744-138.015,33.337-188.958,84.28C30.075,298.384,0,370.991,0,448.222v60.436 2496 l29.069-52.985c45.354-82.671,132.173-134.027,226.573-134.027c5.986,0,12.004,0.212,18.001,0.632v157.779L512,241.7z 2497 M255.642,290.666c-84.543,0-163.661,36.792-217.939,98.885c26.634-114.177,129.256-199.483,251.429-199.483h15.489V78.131 2498 l163.568,163.568L304.621,405.267V294.531l-13.585-1.683C279.347,291.401,267.439,290.666,255.642,290.666z'> 2499 </path> 2500 </g> 2501 </g> 2502 </symbol> 2503 <symbol id='chevron' viewBox='0 0 100 100'> 2504 <g> 2505 <path 2506 d='M22.4566257,37.2056786 L-21.4456527,71.9511488 C-22.9248661,72.9681457 -24.9073712,72.5311671 -25.8758148,70.9765924 L-26.9788683,69.2027424 C-27.9450684,67.6481676 -27.5292733,65.5646602 -26.0500598,64.5484493 L20.154796,28.2208967 C21.5532435,27.2597011 23.3600078,27.2597011 24.759951,28.2208967 L71.0500598,64.4659264 C72.5292733,65.4829232 72.9450684,67.5672166 71.9788683,69.1217913 L70.8750669,70.8956413 C69.9073712,72.4502161 67.9241183,72.8848368 66.4449048,71.8694118 L22.4566257,37.2056786 Z' 2507 id='Transparent-Chevron' 2508 transform='translate(22.500000, 50.000000) rotate(90.000000) translate(-22.500000, -50.000000) '></path> 2509 </g> 2510 </symbol> 2511 <symbol id='chevron-down' viewBox='0 0 10 6' id='.6176193135071357' xmlns='http://www.w3.org/2000/svg'> 2512 <path 2513 d='M5.108 4.088L.965.158a.587.587 0 0 0-.8 0 .518.518 0 0 0 0 .758L5.13 5.625 9.845.905a.517.517 0 0 0-.021-.758.588.588 0 0 0-.8.02l-3.916 3.92z' 2514 fill-rule='evenodd' /> 2515 </symbol> 2516 <symbol id='chevron-up' viewBox='0 0 284.929 284.929' id='.23966926540656042' xmlns='http://www.w3.org/2000/svg'> 2517 <path 2518 d='M282.082 195.285L149.028 62.24c-1.901-1.903-4.088-2.856-6.562-2.856s-4.665.953-6.567 2.856L2.856 195.285C.95 197.191 0 199.378 0 201.853c0 2.474.953 4.664 2.856 6.566l14.272 14.271c1.903 1.903 4.093 2.854 6.567 2.854s4.664-.951 6.567-2.854l112.204-112.202 112.208 112.209c1.902 1.903 4.093 2.848 6.563 2.848 2.478 0 4.668-.951 6.57-2.848l14.274-14.277c1.902-1.902 2.847-4.093 2.847-6.566.001-2.476-.944-4.666-2.846-6.569z' /> 2519 </symbol> 2520 <symbol id='angle-up' viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'> 2521 <!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> 2522 <path 2523 d='M363.9 330.7c-6.271 6.918-16.39 6.783-22.62 1.188L192 197.5l-149.3 134.4c-6.594 5.877-16.69 5.361-22.62-1.188C14.2 324.1 14.73 314 21.29 308.1l159.1-144c6.125-5.469 15.31-5.469 21.44 0l159.1 144C369.3 314 369.8 324.1 363.9 330.7z' /> 2524 </symbol> 2525 <symbol id='icon-arrow-down' viewBox='0 0 10 6' id='.6525395694941032' xmlns='http://www.w3.org/2000/svg'> 2526 <path 2527 d='M5.108 4.088L.965.158a.587.587 0 0 0-.8 0 .518.518 0 0 0 0 .758L5.13 5.625 9.845.905a.517.517 0 0 0-.021-.758.588.588 0 0 0-.8.02l-3.916 3.92z' 2528 fill='inherit' fill-rule='evenodd' /> 2529 </symbol> 2530 <symbol id='play-arrow' viewBox='0 0 30 30'> 2531 <g fill-rule='evenodd'> 2532 <path d='M9 9l12 6-12 6z'></path> 2533 </g> 2534 </symbol> 2535 <symbol id='grid' viewBox='0 0 32 32'> 2536 <g> 2537 <path 2538 d='M6.4,5.7 C6.4,6.166669 6.166669,6.4 5.7,6.4 L0.7,6.4 C0.233331,6.4 0,6.166669 0,5.7 L0,0.7 C0,0.233331 0.233331,0 0.7,0 L5.7,0 C6.166669,0 6.4,0.233331 6.4,0.7 L6.4,5.7 Z M19.2,5.7 C19.2,6.166669 18.966669,6.4 18.5,6.4 L13.5,6.4 C13.033331,6.4 12.8,6.166669 12.8,5.7 L12.8,0.7 C12.8,0.233331 13.033331,0 13.5,0 L18.5,0 C18.966669,0 19.2,0.233331 19.2,0.7 L19.2,5.7 Z M32,5.7 C32,6.166669 31.766669,6.4 31.3,6.4 L26.3,6.4 C25.833331,6.4 25.6,6.166669 25.6,5.7 L25.6,0.7 C25.6,0.233331 25.833331,0 26.3,0 L31.3,0 C31.766669,0 32,0.233331 32,0.7 L32,5.7 Z M6.4,18.5 C6.4,18.966669 6.166669,19.2 5.7,19.2 L0.7,19.2 C0.233331,19.2 0,18.966669 0,18.5 L0,13.5 C0,13.033331 0.233331,12.8 0.7,12.8 L5.7,12.8 C6.166669,12.8 6.4,13.033331 6.4,13.5 L6.4,18.5 Z M19.2,18.5 C19.2,18.966669 18.966669,19.2 18.5,19.2 L13.5,19.2 C13.033331,19.2 12.8,18.966669 12.8,18.5 L12.8,13.5 C12.8,13.033331 13.033331,12.8 13.5,12.8 L18.5,12.8 C18.966669,12.8 19.2,13.033331 19.2,13.5 L19.2,18.5 Z M32,18.5 C32,18.966669 31.766669,19.2 31.3,19.2 L26.3,19.2 C25.833331,19.2 25.6,18.966669 25.6,18.5 L25.6,13.5 C25.6,13.033331 25.833331,12.8 26.3,12.8 L31.3,12.8 C31.766669,12.8 32,13.033331 32,13.5 L32,18.5 Z M6.4,31.3 C6.4,31.766669 6.166669,32 5.7,32 L0.7,32 C0.233331,32 0,31.766669 0,31.3 L0,26.3 C0,25.833331 0.233331,25.6 0.7,25.6 L5.7,25.6 C6.166669,25.6 6.4,25.833331 6.4,26.3 L6.4,31.3 Z M19.2,31.3 C19.2,31.766669 18.966669,32 18.5,32 L13.5,32 C13.033331,32 12.8,31.766669 12.8,31.3 L12.8,26.3 C12.8,25.833331 13.033331,25.6 13.5,25.6 L18.5,25.6 C18.966669,25.6 19.2,25.833331 19.2,26.3 L19.2,31.3 Z M32,31.3 C32,31.766669 31.766669,32 31.3,32 L26.3,32 C25.833331,32 25.6,31.766669 25.6,31.3 L25.6,26.3 C25.6,25.833331 25.833331,25.6 26.3,25.6 L31.3,25.6 C31.766669,25.6 32,25.833331 32,26.3 L32,31.3 Z' 2539 id='ï¿'></path> 2540 </g> 2541 </symbol> 2542 <symbol id='filter' viewBox='0 0 16 12'> 2543 <path d='M0 2V0h16v2H0zm2.4 5V5h11.2v2H2.4zm2.4 5v-2h6.4v2H4.8z'></path> 2544 </symbol> 2545 <symbol id='icon-filter' viewBox='0 0 512 512'> 2546 <path fill='currentColor' 2547 d='M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z'> 2548 </path> 2549 </symbol>
2550 <symbol id='icon-radio-on' viewBox='0 0 24 24'> 2551 <path fill='currentColor' fill-rule='nonzero' 2552 d='M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z' /> 2553 </symbol> 2554 <symbol id='icon-radio-off' viewBox='0 0 24 24'> 2555 <path fill='currentColor' fill-rule='nonzero' 2556 d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z' /> 2557 </symbol> 2558 <symbol id='newspaper' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'> 2559 <path 2560 d='M15.0938 0.5H2.40625C2.02344 0.5 1.75 0.800781 1.75 1.15625V1.375H0.65625C0.273438 1.375 0 1.67578 0 2.03125V9.6875C0 10.4258 0.574219 11 1.3125 11H15.0938C15.4492 11 15.75 10.7266 15.75 10.3438V1.15625C15.75 0.800781 15.4492 0.5 15.0938 0.5ZM0.875 9.6875V2.25H1.75V9.6875C1.75 9.93359 1.53125 10.125 1.3125 10.125C1.06641 10.125 0.875 9.93359 0.875 9.6875ZM14.875 10.
2560125H2.54297C2.59766 10.0156 2.59766 9.85156 2.59766 9.71484C2.59766 9.71484 2.625 9.71484 2.625 9.6875V1.375H14.875V10.125ZM3.82812 7.5H8.42188C8.58594 7.5 8.75 7.36328 8.75 7.17188V2.57812C8.75 2.41406 8.58594 2.25 8.42188 2.25H3.82812C3.63672 2.25 3.5 2.41406 3.5 2.57812V7.17188C3.5 7.36328 3.63672 7.5 3.82812 7.5ZM4.375 3.125H7.875V6.625H4.375V3.125ZM3.5 8.92188C3.5 9.11328 3.63672 9.25 3.82812 9.25H8.42188C8.58594 9.25 8.75 9.11328 8.75 8.92188V8.70312C8.75 8.53906 8.58594 8.375 8.42188 8.375H3.82812C3.63672 8.375 3.5 8.53906 3.5 8.70312V8.92188ZM9.625 8.92188C9.625 9.11328 9.76172 9.25 9.95312 9.25H13.6719C13.8359 9.25 14 9.11328 14 8.92188V8.70312C14 8.53906 13.8359 8.375 13.6719 8.375H9.95312C9.76172 8.375 9.625 8.53906 9.625 8.70312V8.92188ZM9.625 7.17188C9.625 7.36328 9.76172 7.5 9.95312 7.5H13.6719C13.8359 7.5 14 7.36328 14 7.17188V6.95312C14 6.78906 13.8359 6.625 13.6719 6.625H9.95312C9.76172 6.625 9.625 6.78906 9.625 6.95312V7.17188ZM9.625 3.67188C9.625 3.86328 9.76172 4 9.95312 4H13.6719C13.8359 4 14 3.86328 14 3.67188V3.45312C14 3.28906 13.8359 3.125 13.6719 3.125H9.95312C9.76172 3.125 9.625 3.28906 9.625 3.45312V3.67188ZM9.625 5.42188C9.625 5.61328 9.76172 5.75 9.95312 5.75H13.6719C13.8359 5.75 14 5.61328 14 5.42188V5.20312C14 5.03906 13.8359 4.875 13.6719 4.875H9.95312C9.76172 4.875 9.625 5.03906 9.625 5.20312V5.42188Z' 2561 fill='#007DB3' /> 2562 </symbol> 2563 <symbol id='bell' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'> 2564 <!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> 2565 <path 2566 d='M207.1 16C207.1 7.164 215.2 0 223.1 0C232.8 0 240 7.164 240 16V32.79C320.9 40.82 384 109 384 192V221.1C384 264.8 401.4 306.7 432.3 337.7L435 340.4C443.3 348.7 448 359.1 448 371.7C448 396.2 428.2 416 403.7 416H44.28C19.83 416 0 396.2 0 371.7C0 359.1 4.666 348.7 12.97 340.4L15.72 337.7C46.63 306.7 64 264.8 64 221.1V192C64 109 127.1 40.82 208 32.79L207.1 16zM223.1 64C153.3 64 95.1 121.3 95.1 192V221.1C95.1 273.3 75.26 323.4 38.35 360.3L35.6 363C33.29 365.3 31.1 368.5 31.1 371.7C31.1 378.5 37.5 384 44.28 384H403.7C410.5 384 416 378.5 416 371.7C416 368.5 414.7 365.3 412.4 363L409.7 360.3C372.7 323.4 352 273.3 352 221.1V192C352 121.3 294.7 64 223.1 64H223.1zM223.1 480C237.9 480 249.8 471.1 254.2 458.7C257.1 450.3 266.3 445.1 274.6 448.9C282.9 451.9 287.3 461 284.4 469.3C275.6 494.2 251.9 512 223.1 512C196.1 512 172.4 494.2 163.6 469.3C160.7 461 165.1 451.9 173.4 448.9C181.7 445.1 190.9 450.3 193.8 458.7C198.2 471.1 210.1 480 223.1 480z' /> 2567 </symbol> 2568</svg> 2569 2570<bsp-header class="Page-header" data-nav-alignment="right"> 2571 2572 <div class="Page-header-hamburger-menu"> 2573 <div class="Page-header-hamburger-menu-wrapper"> 2574 <div class="Page-header-hamburger-menu-content"> 2575 2576 <a onclick="clickYellowSubscribe('https://jamestownsun.com/subscribe?g2i_source=Brightspot&g2i_medium=subscribe_button', '', 'Page-header-subscribe')" class="Page-header-subscribe" data-cms-ai="0"> 2577 <span class="Page-header-subscribe-title">Just $2 for 6 months</span> 2578 <span class="Page-header-subscribe-cost">SUBSCRIBE NOW 2579</span> 2580 </a> 2581 2582 <div class="Page-header-hamburger-menu-main"> 2583 2584 <div class="Epaper-container"> 2585 <a onclick="clickEpaper()" class="Epaper-container-link" data-cms-ai="0"> 2586 <span class="Epaper-container-link-title">Read Today'
2586s Paper</span> 2587 2588 <span class="Epaper-container-date">Thursday, September 24</span> 2589 2590 </a> 2591</div> 2592 2593 2594 <nav class="Navigation"> 2595 2596 <ul class="Navigation-items"> 2597 2598 <li class="Navigation-items-item" > 2599 <div class="NavigationItem " data-item-click="true" > 2600 <div class="NavigationItem-text"> 2601 2602 <a href="https://advertising.forumcomm.com/locations/jamestown/" target="_blank" data-cms-ai="0">ð£ Advertise With Us</a> 2603 2604 2605 </div> 2606 2607 2608</div> 2609 2610 2611 </li> 2612 2613 <li class="Navigation-items-item" > 2614 <div class="NavigationItem " data-item-click="true" > 2615 <div class="NavigationItem-text"> 2616 2617 <a href="https://www.bestofthemidwest.com/jamestown" target="_blank" data-cms-ai="0">Best of the Best</a> 2618 2619 2620 </div> 2621 2622 2623</div> 2624 2625 2626 </li> 2627 2628 <li class="Navigation-items-item" > 2629 <div class="NavigationItem " data-item-click="true" > 2630 <div class="NavigationItem-text"> 2631 2632 <a href="https://www.jamestownsun.com/sports/jamestown-blue-jays" data-cms-ai="0">JHS Sports</a> 2633 2634 2635 </div> 2636 2637 2638</div> 2639 2640 2641 </li> 2642 2643 <li class="Navigation-items-item" > 2644 <div class="NavigationItem " data-item-click="true" > 2645 <div class="NavigationItem-text"> 2646 2647 <a href="https://www.jamestownsun.com/sports/jamestown-jimmies" data-cms-ai="0">UJ Sports</a> 2648 2649 2650 </div> 2651 2652 2653</div> 2654 2655 2656 </li> 2657 2658 <li class="Navigation-items-item" > 2659 <div class="NavigationItem " data-item-click="true" > 2660 <div class="NavigationItem-text"> 2661 2662 <a href="https://www.jamestownsun.com/lifestyle/arts-and-entertainment/puzzles" data-cms-ai="0">Puzzles + Comics</a> 2663 2664 2665 </div> 2666 2667 2668</div> 2669 2670 2671 </li> 2672 2673 </ul> 2674 2675</nav> 2676 2677 2678 </div> 2679 <div class="Page-header-hamburger-menu-sections"> 2680 2681 <nav class="Navigation"> 2682 2683 <ul class="Navigation-items"> 2684 2685 <li class="Navigation-items-item" > 2686 <div class="NavigationItem " data-item-click="true" > 2687 <div class="NavigationItem-text"> 2688 2689 <a href="https://advertising.forumcomm.com?utm_source=newswebsite&utm_medium=navigation&utm_campaign=menu&utm_term=navigation&utm_content=advertisewithus" target="_blank" data-cms-ai="0">Advertise With Us</a> 2690 2691 2692 </div> 2693 2694 2695</div> 2696 2697 2698 </li> 2699 2700 <li class="Navigation-items-item" > 2701 <div class="NavigationItem " data-item-click="true" > 2702 <div class="NavigationItem-text"> 2703 2704 <a href="https://www.jamestownsun.com/sponsored-content" data-cms-ai="0">Sponsored Content</a> 2705 2706 2707 </div> 2708 2709 2710</div> 2711 2712 2713 </li> 2714 2715 <li class="Navigation-items-item" > 2716 <div class="NavigationItem has-menu" data-item-click="true" > 2717 <div class="NavigationItem-text"> 2718 2719 <a href="https://www.jamestownsun.com/news" data-cms-ai="0">News</a> 2720 2721 2722 <div class="NavigationItem-more"> 2723 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2724 </div> 2725 2726 </div> 2727 2728 2729 <ul class="NavigationItem-items" > 2730 2731 2732 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news/local" data-cms-ai="0">Local</a> 2733</li> 2734 2735 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news/north-dakota" data-cms-ai="0">North Dakota</a> 2736</li> 2737 2738 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news/south-dakota" data-cms-ai="0">South Dakota</a> 2739</li> 2740 2741 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news/national" data-cms-ai="0">National</a> 2742</li> 2743 2744 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news/world" data-cms-ai="0">World</a> 2745</li> 2746 2747 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news/the-vault" data-cms-ai="0">The Vault</a> 2748</li> 2749 2750 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.agweek.com" target="_blank" data-cms-ai="0">Agweek</a> 2751</li> 2752 2753 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/inforum-wday-live" data-cms-ai="0">WDAY Live</a> 2754</li> 2755 2756 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/forum-news-network" data-cms-ai="0">Forum News Network</a> 2757</li> 2758 2759 2760 </ul> 2761 2762</div> 2763 2764 2765 </li> 2766 2767 <li class="Navigation-items-item" > 2768 <div class="NavigationItem " data-item-click="true" > 2769 <div class="NavigationItem-text"> 2770 2771 <a href="https://www.jamestownsun.com/weather" data-cms-ai="0">Weather</a> 2772 2773 2774 </div> 2775 2776 2777</div> 2778 2779 2780 </li> 2781 2782 <li class="Navigation-items-item" > 2783 <div class="NavigationItem has-menu" data-item-click="true" > 2784 <div class="NavigationItem-text"> 2785 2786 <a href="https://www.jamestownsun.com/sports" data-cms-ai="0">Sports</a> 2787 2788 2789 <div class="NavigationItem-more"> 2790 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2791 </div> 2792 2793 </div> 2794 2795 2796 <ul class="NavigationItem-items" > 2797 2798 2799 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/sports/prep" data-cms-ai="0">Prep</a> 2800</li> 2801 2802 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/sports/college" data-cms-ai="0">College</a> 2803</li> 2804 2805 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/sports/bison-media-zone" data-cms-ai="0">Bison Media Zone</a> 2806</li> 2807 2808 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/sports/und-hockey" data-cms-ai="0">UND Hockey</a> 2809</li> 2810 2811 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/sports/pro" data-cms-ai="0">Pro</a> 2812</li> 2813 2814 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/sports/northland-outdoors" data-cms-ai="0">Northland Outdoors</a> 2815</li> 2816 2817 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.inforum.com/wdayplus" target="_blank" data-cms-ai="0">WDAY+</a> 2818</li> 2819 2820 2821 </ul> 2822 2823</div> 2824 2825 2826 </li> 2827 2828 <li class="Navigation-items-item" > 2829 <div class="NavigationItem " data-item-click="true" > 2830 <div class="NavigationItem-text"> 2831 2832 <a href="https://www.jamestownsun.com/obituaries" data-cms-ai="0">Obituaries</a> 2833 2834 2835 </div> 2836 2837 2838</div> 2839 2840 2841 </li> 2842 2843 <li class="Navigation-items-item" > 2844 <div class="NavigationItem " data-item-click="true" > 2845 <div class="NavigationItem-text"> 2846 2847 <a href="https://www.jamestownsun.com/health" data-cms-ai="0">Health</a> 2848 2849 2850 </div> 2851 2852 2853</div> 2854 2855 2856 </li> 2857 2858 <li class="Navigation-items-item" > 2859 <div class="NavigationItem " data-item-click="true" > 2860 <div class="NavigationItem-text"> 2861 2862 <a href="https://www.jamestownsun.com/business" data-cms-ai="0">Business</a> 2863 2864 2865 </div> 2866 2867 2868</div> 2869 2870 2871 </li> 2872 2873 <li class="Navigation-items-item" > 2874 <div class="NavigationItem has-menu" data-item-click="true" > 2875 <div class="NavigationItem-text"> 2876 2877 <a href="https://www.jamestownsun.com/opinion" data-cms-ai="0">Opinion</a> 2878 2879 2880 <div class="NavigationItem-more"> 2881 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2882 </div> 2883 2884 </div> 2885 2886 2887 <ul class="NavigationItem-items" > 2888 2889 2890 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/opinion/editorials" data-cms-ai="0">Editorials</a> 2891</li> 2892 2893 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/opinion/columns" data-cms-ai="0">Columns</a> 2894</li> 2895 2896 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/opinion/letters" data-cms-ai="0">Letters</a> 2897</li> 2898 2899 2900 </ul> 2901 2902</div> 2903 2904 2905 </li> 2906 2907 <li class="Navigation-items-item" > 2908 <div class="NavigationItem has-menu" data-item-click="true" > 2909 <div class="NavigationItem-text"> 2910 2911 <a href="https://www.jamestownsun.com/lifestyle" data-cms-ai="0">Lifestyle</a> 2912 2913 2914 <div class="NavigationItem-more"> 2915 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2916 </div> 2917 2918 </div> 2919 2920 2921 <ul class="NavigationItem-items" > 2922 2923 2924 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/lifestyle/arts-and-entertainment" data-cms-ai="0">Arts / Entertainment</a> 2925</li> 2926 2927 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/topics/home-and-garden" data-cms-ai="0">Home / Garden</a> 2928</li> 2929 2930 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/lifestyle/astro-bob" data-cms-ai="0">Astro Bob</a> 2931</li> 2932 2933 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/lifestyle/arts-and-entertainment/puzzles" data-cms-ai="0">Puzzles + Games</a> 2934</li> 2935 2936 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/lifestyle/games" data-cms-ai="0">Free Games</a> 2937</li> 2938 2939 2940 </ul> 2941 2942</div> 2943 2944 2945 </li> 2946 2947 <li class="Navigation-items-item" > 2948 <div class="NavigationItem has-menu" data-item-click="true" > 2949 <div class="NavigationItem-text"> 2950 2951 <a href="https://www.jamestownsun.com/community" data-cms-ai="0">Community</a> 2952 2953 2954 <div class="NavigationItem-more"> 2955 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2956 </div> 2957 2958 </div> 2959 2960 2961 <ul class="NavigationItem-items" > 2962 2963 2964 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/community/milestones" data-cms-ai="0">Milestones</a> 2965</li> 2966 2967 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/calendar" data-cms-ai="0">Calendar</a> 2968</li> 2969 2970 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.bestofthemidwest.com/jamestown" target="_blank" data-cms-ai="0">
2970Best of the Best</a> 2971</li> 2972 2973 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/announcements" data-cms-ai="0">Announcements</a> 2974</li> 2975 2976 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/magazines-and-more" data-cms-ai="0">Magazines and More</a> 2977</li> 2978 2979 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/community/contests-auctions" data-cms-ai="0">Contests</a> 2980</li> 2981 2982 2983 </ul> 2984 2985</div> 2986 2987 2988 </li> 2989 2990 <li class="Navigation-items-item" > 2991 <div class="NavigationItem " data-item-click="true" > 2992 <div class="NavigationItem-text"> 2993 2994 <a href="https://www.jamestownsun.com/archives-faq" data-cms-ai="0">Archives</a> 2995 2996 2997 </div> 2998 2999 3000</div> 3001 3002 3003 </li> 3004 3005 <li class="Navigation-items-item" > 3006 <div class="NavigationItem " data-item-click="true" > 3007 <div class="NavigationItem-text"> 3008 3009 <a href="https://www.jamestownsun.com/podcasts" data-cms-ai="0">Podcasts</a> 3010 3011 3012 </div> 3013 3014 3015</div> 3016 3017 3018 </li> 3019 3020 <li class="Navigation-items-item" > 3021 <div class="NavigationItem has-menu" data-item-click="true" > 3022 <div class="NavigationItem-text"> 3023 3024 <span>Listings</span> 3025 3026 3027 <div class="NavigationItem-more"> 3028 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 3029 </div> 3030 3031 </div> 3032 3033 3034 <ul class="NavigationItem-items" > 3035 3036 3037 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://classifieds.forumcomm.com" target="_blank" data-cms-ai="0">Classifieds</a> 3038</li> 3039 3040 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/public-notices" data-cms-ai="0">Public Notices</a> 3041</li> 3042 3043 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jobshq.com" target="_blank" data-cms-ai="0">JobsHQ</a> 3044</li> 3045 3046 3047 </ul> 3048 3049</div> 3050 3051 3052 </li> 3053 3054 <li class="Navigation-items-item" > 3055 <div class="NavigationItem has-menu" data-item-click="true" > 3056 <div class="NavigationItem-text"> 3057 3058 <span>Local Interest</span> 3059 3060 3061 <div class="NavigationItem-more"> 3062 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 3063 </div> 3064 3065 </div> 3066 3067 3068 <ul class="NavigationItem-items" > 3069 3070 3071 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/magazines-and-more" data-cms-ai="0">Magazines And More</a> 3072</li> 3073 3074 3075 </ul> 3076 3077</div> 3078 3079 3080 </li> 3081 3082 <li class="Navigation-items-item" > 3083 <div class="NavigationItem has-menu" data-item-click="true" > 3084 <div class="NavigationItem-text"> 3085 3086 <a href="/account" target="_self" data-cms-ai="0">Account</a> 3087 3088 3089 <div class="NavigationItem-more"> 3090 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 3091 </div> 3092 3093 </div> 3094 3095 3096 <ul class="NavigationItem-items" > 3097 3098 3099 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news-network" data-cms-ai="0">FCC Network</a> 3100</li> 3101 3102 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://myaccount.jamestownsun.com/js/myprofile" target="_self" data-cms-ai="0">Profile</a> 3103</li> 3104 3105 <li class="NavigationItem-items-item"><a class="NavigationLink" href="/newsletter" target="_self" data-cms-ai="0">Newsletters</a> 3106</li> 3107 3108 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/help-center" data-cms-ai="0">Help</a> 3109</li> 3110 3111 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/subscriber-benefits" data-cms-ai="0">Subscriber Benefits</a> 3112</li> 3113 3114 3115 </ul> 3116 3117</div> 3118 3119 3120 </li> 3121 3122 </ul> 3123 3124</nav> 3125 3126 3127 </div> 3128 </div> 3129 </div> 3130 </div> 3131 3132 3133 3134 <div class="Page-header-bar-logo"><a aria-label="home page" href="/" data-cms-ai="0" > 3135 3136 <img class="PageLogo-image" src="https://cdn.forumcomm.com/dims4/default/8038038/2147483647/strip/true/crop/620x220+0+0/resize/225x80!/quality/90/?url=https%3A%2F%2Fforum-communications-production-web.s3.us-west-2.amazonaws.com%2Fbrightspot%2F45%2F55%2F74f57e3543dd9884c074a68cae1b%2Fjamestownsun.png" alt="The Jamestown Sun Logo" srcset="https://cdn.forumcomm.com/dims4/default/8038038/2147483647/strip/true/crop/620x220+0+0/resize/225x80!/quality/90/?url=https%3A%2F%2Fforum-communications-production-web.s3.us-west-2.amazonaws.com%2Fbrightspot%2F45%2F55%2F74f57e3543dd9884c074a68cae1b%2Fjamestownsun.png 1x,https://cdn.forumcomm.com/dims4/default/97c337b/2147483647/strip/true/crop/620x220+0+0/resize/450x160!/quality/90/?url=https%3A%2F%2Fforum-communications-production-web.s3.us-west-2.amazonaws.com%2Fbrightspot%2F45%2F55%2F74f57e3543dd9884c074a68cae1b%2Fjamestownsun.png 2x" width="225" height="80" /> 3137 3138 </a> 3139</div> 3140 3141 3142 <div class="Page-header-bar"> 3143 3144 <button class="Page-header-menu-trigger" aria-expanded="false"> 3145 <svg class="burger-menu"> 3146 <use xlink:href="#burger-menu"> 3147 3148 </use> 3149 </svg> 3150 <svg class="close-x"> 3151 <use xlink:href="#hamburger-close-x"> 3152 3153 </use> 3154 </svg>
3155 <span class="label">Sections</span> 3156 </button> 3157 3158 <div class="Page-header-end"> 3159 3160 <div class="SearchButton"> 3161 <button class="SearchButton-search-button"> 3162 3163 3164 3165 3166 3167 3168 <a id="" href="https://www.jamestownsun.com/search" target="" data-cms-ai="0"> 3169 <svg class="icon-ai-magnify" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 3170 <defs> 3171 <linearGradient id="ai_magnify_gradient_svg" x1="9" y1="7.99974" x2="16" y2="0.999744" gradientUnits="userSpaceOnUse"> 3172 <stop offset="0" stop-color="#60AECF"/> 3173 <stop offset="1" stop-color="#007DB3"/> 3174 </linearGradient> 3175 </defs> 3176 3177 <g> 3178 <path d="M7.42969 1.71427C8.46342 1.71434 9.44759 1.92572 10.3418 2.30704L10.333 2.33341L8.62598 2.97208C8.23863 2.89741 7.83882 2.85688 7.42969 2.85685C3.95796 2.85685 1.14258 5.67223 1.14258 9.14396C1.14283 12.6155 3.95812 15.4301 7.42969 15.4301C10.7499 15.4298 13.4666 12.8548 13.6973 9.59318C13.7855 9.4802 13.8581 9.3529 13.9102 9.21329L13.9092 9.21232L14.627 7.2963C14.778 7.88687 14.8584 8.50623 14.8584 9.14396C14.8583 10.9904 14.1866 12.6796 13.0723 13.976L18.1191 19.0268C18.3406 19.2482 18.3406 19.612 18.1191 19.8334C17.8977 20.0549 17.5339 20.0548 17.3125 19.8334L12.2617 14.7865C10.9653 15.9008 9.27608 16.5726 7.42969 16.5727C3.32592 16.5727 0.000254027 13.2477 0 9.14396C0 5.04003 3.32577 1.71427 7.42969 1.71427ZM14.1553 5.98673L14.0342 6.03263L13.4912 7.47989L13.4902 7.47892L14.0332 6.03165L14.1543 5.98575L14.1553 5.98673Z" /> 3179 <path d="M12.9727 0.278568C12.9102 0.110713 12.7495 0 12.5709 0C12.3923 0 12.2316 0.110713 12.1691 0.278568L11.1102 3.11068L8.27808 4.1696C8.11022 4.2321 7.99951 4.39281 7.99951 4.57138C7.99951 4.74995 8.11022 4.91066 8.27808 4.97316L11.1102 6.03386L12.1709 8.86598C12.2316 9.03205 12.3923 9.14276 12.5709 9.14276C12.7495 9.14276 12.9102 9.03205 12.9727 8.86419L14.0334 6.03208L16.8655 4.97137C17.0315 4.91066 17.1423 4.74995 17.1423 4.57138C17.1423 4.39281 17.0315 4.2321 16.8637 4.1696L14.0316 3.11068L12.9727 0.278568Z" fill="url(#ai_magnify_gradient_svg)"/> 3180 </g> 3181 </svg> 3182 </a> 3183 3184 3185 3186 </button> 3187</div> 3188 3189 3190 3191 </div> 3192 3193 3194 <div class="BLANK"></div> 3195 3196 3197 <a class="Page-header-subscribe" style="display:none" onclick="clickYellowSubscribe('https://jamestownsun.com/subscribe?g2i_source=Brightspot&g2i_medium=subscribe_button', '', 'Page-header-subscribe')" id="MG2Subscribe" data-cms-ai="0"> 3198 <span class="Page-header-subscribe-title">Just $2 for 6 months</span> 3199 <span class="Page-header-subscribe-cost">SUBSCRIBE NOW 3200</span> 3201 </a> 3202 3203 3204 3205 3206 3207 <div class="viafoura"> 3208 <vf-tray-trigger></vf-tray-trigger> 3209 </div> 3210 3211 3212 3213 <a class="Page-header-signIn" style="display: none" id="MG2login" data-mg2-action="login" data-cms-ai="0"> 3214 <svg class="account"> 3215 <use xlink:href="#account"> 3216 </use> 3217 </svg> 3218 <span class="label" id="signIn-label">Log in</span> 3219 </a> 3220 <a href="/account" style="display:none" class="Page-header-signIn" id="MG2MyAccount" data-cms-ai="0"> 3221 <svg class="account"> 3222 <use xlink:href="#account"> 3223 </use> 3224 </svg> 3225 <span class="label" id="signIn-label">Account</span> 3226 </a> 3227 3228 </div> 3229 3230 3231 3232
3233 <a class="Page-header-subscribe" style="display:none" onclick="clickYellowSubscribe('https://jamestownsun.com/subscribe?g2i_source=Brightspot&g2i_medium=subscribe_button', '', 'Page-header-subscribe')" id="MG2Subscribe" data-cms-ai="0"> 3234 <span class="Page-header-subscribe-title">Just $2 for 6 months<br></span> 3235 <span class="Page-header-subscribe-cost">SUBSCRIBE NOW 3236</span> 3237 </a> 3238 3239 3240</bsp-header> 3241 3242 3243 3244 3245 3246 <div class="Page-content"> 3247 <div class="Page-heading-wrapper" data-modulewell data-no-heading> 3248 <div class="Page-heading-wrapper-internal" data-module> 3249 3250 3251 3252 3253 3254 3255 3256 </div> 3257 </div> 3258 3259 3260 3261 <main class="Page-oneColumn" data-modulewell><div class="RichTextModule" data-module> 3262 3263 <div class="RichTextModule-title">Contact Us</div> 3264 3265 3266 <div class="RichTextModule-items RichTextBody"><p><b>Jamestown Sun</b><br>121 3rd St NW<br>Jamestown, North Dakota 58401</p><p>Phone: <a class="Link " href="tel:7012523120" target="_blank" data-cms-ai="0" >701-252-3120</a><br>Fax: 701-251-2873</p><p>Jamestown Sun is a division of Forum Communications Company</p><div class="Enhancement" > 3267 <div class="Enhancement-item"> 3268 3269 3270 3271 3272 <h2>Contact us</h2> 3273 3274 3275 3276 </div> 3277 </div><p><b>Administration</b><br>Rob Keller, Publisher / Advertising Director | <a class="Link " href="tel:7019528431" target="_blank" data-cms-ai="0" >(701) 952-8431</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p><b>Advertising</b><br>Rob Keller - Advertising Director | <a class="Link " href="tel:7019528431" target="_blank" data-cms-ai="0" >(701) 952-8431</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p>Gavin Kutz - Multimedia Consultant | <a class="Link " href="tel:7019528430" target="_blank" data-cms-ai="0" >(701) 952-8430</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p>Chelsey Staloch - Advertising Assistant | 701-952-8442 | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p>Legal Ads | <a class="Link " href="tel:7012415509" target="_blank" data-cms-ai="0" >(701) 241-5509</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p>General Classified Ads | <a class="Link " href="tel:7012415500" target="_blank" data-cms-ai="0" >(701) 241-5500</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p>Business Announcements, Anniversaries, Milestones, and Celebrations | <a class="Link " href="tel:7012415509" target="_blank" data-cms-ai="0" >(701) 241-5509</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p>Employment Ads | <a class="Link " href="tel:8885144473" target="_blank" data-cms-ai="0" >(888) 514-4473</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p>Obituaries | <a class="Link " href="tel:7012415509" target="_blank" data-cms-ai="0" >(701) 241-5509</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p><b>News</b><br><a class="Link " href="https://www.jamestownsun.com/kathy-steiner" target="_blank" data-cms-ai="0" >Kathy Steiner</a>, Editor | <a class="Link " href="tel:7019528449" target="_blank" data-cms-ai="0" >(701) 952-8449</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a><br><a class="Link " href="https://www.jamestownsun.com/masaki%20ova" target="_blank" data-cms-ai="0" >Masaki Ova</a>, Reporter | <a class="Link " href="tel:7019528454" target="_blank" data-cms-ai="0" >(701) 952-8454</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p><b>Photography</b><br>John Steiner, Chief Photographer | <a class="Link " href="tel:7019528450" target="_blank" data-cms-ai="0" >(701) 952-8450</a> | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p><b>Sports</b><br><a class="Link " href="https://www.jamestownsun.com/katie-ringer" target="_blank" data-cms-ai="0" >Katie Ringer</a>
3277, Sports Reporter | <a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a><br><a class="Link " href="https://www.jamestownsun.com/paul-garcia-ii" target="_blank" data-cms-ai="0" >Paul Garcia II</a>, Sports Reporter |<a class="Link " href="tel:7019528461" target="_blank" data-cms-ai="0" >(701) 952-8461</a> |<a class="Link " href="mailto:[email protected]" target="_blank" data-cms-ai="0" >[email protected]</a></p><p><i>To request content removed from the website, </i><a class="Link " href="https://www.jamestownsun.com/guidelines-for-content-removal-requests" data-cms-ai="0" >please read our guidelines and policy prior to submitting a form</a><i>.</i><br></p></div> 3278 3279 3280</div> 3281</div> 3282 3283 </div> 3284 3285 3286 3287 <footer class="Page-footer"> 3288 <div class="Page-footer-container"> 3289 3290 3291 <div class="Page-footer-navigation"> 3292 <nav class="FooterNavigation"> 3293 3294 <ul class="FooterNavigation-items" data-column-count="4"> 3295 3296 <li class="FooterNavigation-items-item"> 3297 <div class="FooterNavigationItem" > 3298 3299 <div class="FooterNavigationItem-text">Account</div> 3300 3301 3302 <ul class="FooterNavigationItem-items"> 3303 3304 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="/account" target="_self" data-cms-ai="0">Manage My Account</a> 3305</li> 3306 3307 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/privacy" data-cms-ai="0">Privacy Policy</a> 3308</li> 3309 3310 <li class="FooterNavigationItem-items-item"><div id="us-nat-optout"></div> 3311</li> 3312 3313 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/terms" data-cms-ai="0">Terms and Conditions</a> 3314</li> 3315 3316 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/policies-and-standards" data-cms-ai="0">Policies and Standards</a> 3317</li> 3318 3319 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/subscriber-benefits" data-cms-ai="0">Subscriber Benefits</a> 3320</li> 3321 3322 </ul> 3323 3324</div> 3325 3326 </li> 3327 3328 <li class="FooterNavigation-items-item"> 3329 <div class="FooterNavigationItem" > 3330 3331 <div class="FooterNavigationItem-text">News</div> 3332 3333 3334 <ul class="FooterNavigationItem-items"> 3335 3336 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/subscribe" target="_blank" data-cms-ai="0">Subscription Options</a> 3337</li> 3338 3339 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/newsletter" data-cms-ai="0">Email Newsletters</a> 3340</li> 3341 3342 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="javascript:clickEpaper()" target="_self" data-cms-ai="0">E-Paper</a> 3343</li> 3344 3345 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/news-network" data-cms-ai="0">Our News Network</a> 3346</li> 3347 3348 </ul> 3349 3350</div> 3351 3352 </li> 3353 3354 <li class="FooterNavigation-items-item"> 3355 <div class="FooterNavigationItem" > 3356 3357 <div class="FooterNavigationItem-text">Advertising</div> 3358 3359 3360 <ul class="FooterNavigationItem-items"> 3361 3362 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://advertising.forumcomm.com?utm_source=newswebsite&utm_medium=navigation&utm_campaign=footer&utm_term=navigation&utm_content=advertisewithus" target="_blank" data-cms-ai="0">Advertise With Us</a> 3363</li> 3364 3365 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://placead.forumcomm.com/#/account/support" target="_blank" data-cms-ai="0">
3365Pay My Advertising Bill</a> 3366</li> 3367 3368 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jobshq.com" target="_blank" data-cms-ai="0">JobsHQ</a> 3369</li> 3370 3371 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://classifieds.forumcomm.com/" target="_blank" data-cms-ai="0">Classifieds</a> 3372</li> 3373 3374 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/public-notices" data-cms-ai="0">Public Notices</a> 3375</li> 3376 3377 </ul> 3378 3379</div> 3380 3381 </li> 3382 3383 <li class="FooterNavigation-items-item"> 3384 <div class="FooterNavigationItem" > 3385 3386 <div class="FooterNavigationItem-text">Contact</div> 3387 3388 3389 <ul class="FooterNavigationItem-items"> 3390 3391 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="/help-center/" target="_blank" data-cms-ai="0">Get Help</a> 3392</li> 3393 3394 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.jamestownsun.com/contact-us" data-cms-ai="0">Contact Us</a> 3395</li> 3396 3397 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.forumcomm.com/careers/" target="_blank" data-cms-ai="0">Careers</a> 3398</li> 3399 3400 </ul> 3401 3402</div> 3403 3404 </li> 3405 3406 </ul> 3407 3408</nav> 3409 3410 </div> 3411 3412 3413 <div class="Page-footer-bottom"> 3414 3415 <div class="SocialBar"> 3416 3417 <ul class="SocialBar-items"> 3418 3419 <li class="SocialBar-items-item"> <a class="SocialLink" rel="noreferrer" href="https://twitter.com/jamestownsun" target="_blank" data-social-service="Twitter" data-cms-ai="0"> 3420 <svg> 3421 <use href="#mono-icon-Twitter"></use> 3422 </svg> 3423 <span class="sr-only">Twitter</span> 3424 </a> 3425</li> 3426 3427 <li class="SocialBar-items-item"> <a class="SocialLink" rel="noreferrer" href="https://www.facebook.com/TheJamestownSun" target="_blank" data-social-service="Facebook" data-cms-ai="0"> 3428 <svg> 3429 <use href="#mono-icon-Facebook"></use> 3430 </svg> 3431 <span class="sr-only">Facebook</span> 3432 </a> 3433</li> 3434 3435 </ul> 3436 3437</div> 3438 3439 3440 3441 </div> 3442 3443 3444 3445 <div class="Page-footer-disclaimer">© 2026 Jamestown Sun and <a class="Link " href="https://www.forumcomm.com" target="_blank" data-cms-ai="0" >Forum Communications Company</a> | 121 3rd St NW, Jamestown, ND, 58401 | (701) 252-3120 | ISSN 2834-6343<br></div> 3446 3447 3448 </div> 3449</footer> 3450 3451 3452 3453
3453<script type="text/javascript" async src="//cdn.viafoura.net/entry/index.js"></script>
3453 3454 3455 3456 3457<noscript> 3458 <style> 3459 div, footer { 3460 display: none !important; 3461 } 3462 .noscriptMessage { 3463 display: flex; 3464 justify-content: center; 3465 margin: 100px 20px; 3466 } 3467 </style> 3468 <span class="noscriptMessage" data-nosnippet>We see that you have javascript disabled. Please enable javascript and refresh the page to continue reading local news. If you feel you have received this message in error, please contact the customer support team at 1-833-248-7801.</span> 3469</noscript> 3470 3471<span data-bsp-pv="e30edf29-8fe1-3857-864d-a0240c664e80"></span><span data-bsp-pv="0000017d-ded8-dd71-ab7f-fedc9ca20003"></span>
3471<script data-bsp-site="0000017c-9eaf-d4a1-a1fd-9faf4f140009" data-bsp-contentid="0000017d-ded8-dd71-ab7f-fedc9ca20003"></script>
3471<script data-bsp-site="0000017c-9eaf-d4a1-a1fd-9faf4f140009" data-bsp-contentid="0000017d-ded8-dd71-ab7f-fedc9ca20003" src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/_resource/analytics/bsp-analytics.min.686c87a3ca6667675841641b91fc7fe6.gz.js"></script>
3471</body> 3472</html> 3473
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.