1<!DOCTYPE html> 2<html id="stcloudlive"> 3 4<head> 5 <meta charset="UTF-8"> 6 <title>St. Cloud Live | Account Page</title> 7</head> 8<head> 9 <meta charset="UTF-8"> 10<meta name="robots" content="noindex"> 11 12 13 <meta property="og:url" content="https://www.stcloudlive.com/account"> 14 15 16 17 <meta property="og:site_name" content="St. Cloud Live"> 18 19 20 21 <meta property="og:type" content="website"> 22 23 24 <meta name="twitter:card" content="summary_large_image"/> 25 26 27 28 29 30 31 32 33 <meta name="twitter:site" content="@StCloudLive"/> 34 35 36 37 38 <meta property="fb:app_id" content="1236542657263794"> 39 40 41 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"> 42 43 44 45 <style>:root { 46 --color-primary: #007DB3; 47 --color-secondary: #19314E; 48 --color-tertiary: #cdeef7; 49 --color-primary-text: #292929; 50 --color-primary-text-inverse: #FFFFFF; 51 --color-secondary-text: #666666; 52 --color-secondary-text-inverse: #FFFFFF; 53 --color-tertiary-text: #666666; 54 --color-tertiary-text-inverse: #FFFFFF; 55 --color-alert-text: #d62828; 56 --color-site-bg: #FFFFFF; 57 --color-secondary-site-bg: #f7f7f7; 58 --color-border: #dcddde; 59 --color-dark-border: #292929; 60 61 --color-header-bg: #ffffff; 62 --color-header-secondary-bg: #ffffff; 63 --color-header-text: #292929; 64 --color-header-border: #dcddde; 65 66 --color-hat-bg: var(--color-site-bg); 67 --color-hat-text: #292929; 68 69 --color-heading-bg: #808080; 70 71 --color-footer-bg: #292929; 72 --color-footer-border: #dcddde; 73 --color-footer-text: #ffffff; 74 75 --color-banner-bg: #d62828; 76 --color-banner-text: #ffffff; 77 78 --color-link-text: #007db3; 79 --color-link-text-hover: #007db3; 80 81 --color-button-bg: #007db3; 82 --color-button-hover-bg: #006A98; 83 --color-button-hover-text: #ffffff; 84 --color-button-border: #006a98; 85 --color-button-text: #ffffff; 86 87 --color-secondary-button-bg: #ffffff; 88 --color-secondary-button-hover-bg: #f7f7f7; 89 --color-secondary-button-hover-text: var(--color-primary-text); 90 --color-secondary-button-border: #DCDDDE; 91 --color-secondary-button-text: var(--color-primary-text); 92 93 --color-tertiary-button-bg: #ffcd03; 94 --color-tertiary-button-border: #ffcd03; 95 --color-tertiary-button-text: var(--color-primary-text); 96 97 --color-yellow-button-bg: #ffe229; 98 --color-yellow-button-hover-bg: #f2d727; 99 --color-yellow-button-text: var(--color-primary-text); 100 --color-yellow-button-hover-text: var(--color-primary-text); 101 --color-yellow-button-border: #e6cb25; 102 103 --color-list-title: #292929; 104 --color-list-border: #DCDDDE; 105 --color-category-text: #007db3; 106 107 --color-gray: #dddddd; 108 --color-dark-gray: #333333; 109 --color-light-divider: #DCDDDE; 110 --color-dark-green: #0E7134; 111 112 --color-offer-page-bg: #04173F; 113 114 --color-offer-card-banner-text: var(--color-primary-text); 115 --color-offer-card-banner-bg: #EAA522; 116 --color-offer-card-title-text: var(--color-primary-text); 117 --color-offer-card-price-slashed-text: var(--color-secondary-text); 118 --color-offer-card-price-text: var(--color-primary-text); 119 --color-offer-card-price-after-discount-text: var(--color-secondary-text); 120 --color-offer-card-button-text: var(--color-button-text); 121 --color-offer-card-button-bg: var(--color-button-bg); 122 --color-offer-card-button-bg-hover: var(--color-button-hover-bg); 123 --color-offer-card-button-border: var(--color-button-border); 124 --color-offer-card-benefit-accordion-subtitle: var(--color-primary); 125 --color-offer-card-benefit-fa-angle: var(--color-primary); 126 --color-offer-card-benefit-checkmark: var(--color-primary); 127} 128</style> 129 <style>:root { 130 --font-serif: "Brygada 1918", "Georgia", "Times New Roman", serif; 131 --font-serif-body: "Georgia", "Times New Roman", serif; 132 --font-sans-serif: "Source Sans Pro", "Helvetica", "Arial", sans-serif; 133} 134 135body { 136 --font-serif: "Brygada 1918"; 137 --font-serif-body: "Georgia"; 138 --font-sans-serif: "Source Sans Pro"; 139 140 --font-body: var(--font-serif-body); 141 142 --font-headline: var(--font-serif); 143 --font-headline-agweek: var(--font-sans-serif); 144 145 --font-list-title: var(--font-sans-serif); 146 147 --font-promo-title: var(--font-serif); --font-promo-title-agweek: var(--font-sans-serif); 148 --font-promo-description: var(--font-sans-serif); 149 150 --font-rte-body: var(--font-serif-body); 151 152 --font-pull-quote: var(--font-serif-body); 153} 154</style> 155 <link data-cssvarsponyfill="true" class="Webpack-css" rel="stylesheet" href="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/All.min.6906230c319fbb45a07e1003d03f763b.gz.css"> 156 <link rel="stylesheet" href="https://static.forumcomm.com/css/all.css"><style>/* HIDING THESE SPONSOR AD LABELS */ 157.GoogleDfpAd-Lazy[targeting*='latest-sponsor'] > .GoogleDfpAd-advertisement { 158 display: none; 159} 160.GoogleDfpAd-Lazy[targeting*='forecast'] > .GoogleDfpAd-advertisement { 161 display: none; 162} 163 164/* SECTION SPONSOR AD */ 165.GoogleDfpAd-Lazy[targeting*='section-sponsor'] { 166 box-shadow: 0 1px 0 var(--color-list-border); 167}
168.GoogleDfpAd-Lazy[targeting*='section-sponsor'] div[id^=google_ads_iframe] { 169 margin: 4px 0; 170} 171 172/* MOBILE */ 173.GoogleDfpAd-Lazy[targeting*='banner-1'] { 174 --adHeight: calc(50px + 16px); 175} 176.GoogleDfpAd-Lazy[targeting*='banner-2'] { 177 --adHeight: calc(250px + 16px); 178} 179.GoogleDfpAd-Lazy[targeting*='banner-3'] { 180 --adHeight: calc(250px + 16px); 181} 182.GoogleDfpAd-Lazy[targeting*='banner-4'] { 183 --adHeight: calc(250px + 16px); 184} 185.GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 186 --adHeight: calc(50px + 21px); 187} 188.GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 189 --adHeight: calc(250px + 21px); 190} 191.GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 192 --adHeight: calc(50px + 16px); 193} 194.GoogleDfpAd-Lazy[targeting*='in-article-1'] { 195 --adHeight: calc(250px + 21px); 196} 197.GoogleDfpAd-Lazy[targeting*='forecast'] { 198 --adHeight: calc(50px + 21px); 199} 200.GoogleDfpAd-Lazy[targeting*='in-list-1'] { 201 --adHeight: calc(250px + 21px); 202} 203.GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 204 --adHeight: calc(250px + 21px); 205} 206.GoogleDfpAd-Lazy[targeting*='rotating'] { 207 --adHeight: calc(250px + 21px); 208} 209 210 211/* TABLET */ 212@media only screen and (min-width: 768px) { 213 .GoogleDfpAd-Lazy[targeting*='banner-1'] { 214 --adHeight: calc(90px + 16px); 215 } 216 .GoogleDfpAd-Lazy[targeting*='banner-2'] { 217 --adHeight: calc(90px + 16px); 218 } 219 .GoogleDfpAd-Lazy[targeting*='banner-3'] { 220 --adHeight: calc(90px + 16px); 221 } 222 .GoogleDfpAd-Lazy[targeting*='banner-4'] { 223 --adHeight: calc(90px + 16px); 224 } 225 .GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 226 --adHeight: calc(50px + 21px); 227 } 228 .GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 229 --adHeight: calc(250px + 21px); 230 } 231 .GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 232 --adHeight: calc(90px + 16px); 233 } 234 .GoogleDfpAd-Lazy[targeting*='in-article-1'] { 235 --adHeight: calc(250px + 21px); 236 } 237 .GoogleDfpAd-Lazy[targeting*='forecast'] { 238 --adHeight: calc(50px + 21px); 239 } 240 .GoogleDfpAd-Lazy[targeting*='in-list-1'] { 241 --adHeight: calc(250px + 21px); 242 } 243 .GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 244 --adHeight: calc(250px + 21px); 245 } 246 .GoogleDfpAd-Lazy[targeting*='rotating'] { 247 --adHeight: calc(250px + 21px); 248 } 249} 250/* DESKTOP */ 251@media only screen and (min-width: 1024px) { 252 .GoogleDfpAd-Lazy[targeting*='banner-1'] { 253 --adHeight: calc(250px + 16px); 254 } 255 .GoogleDfpAd-Lazy[targeting*='banner-2'] { 256 --adHeight: calc(250px + 16px); 257 } 258 .GoogleDfpAd-Lazy[targeting*='banner-3'] { 259 --adHeight: calc(250px + 16px); 260 } 261 .GoogleDfpAd-Lazy[targeting*='banner-4'] { 262 --adHeight: calc(250px + 16px); 263 } 264 .GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 265 --adHeight: calc(50px + 21px); 266 } 267 .GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 268 --adHeight: calc(600px + 21px); 269 } 270 .GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 271 --adHeight: calc(250px + 16px); 272 } 273 .GoogleDfpAd-Lazy[targeting*='in-article-1'] { 274 --adHeight: calc(250px + 21px); 275 } 276 .GoogleDfpAd-Lazy[targeting*='forecast'] { 277 --adHeight: calc(50px + 21px); 278 } 279 .GoogleDfpAd-Lazy[targeting*='in-list-1'] { 280 --adHeight: calc(250px + 21px); 281 } 282 .GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 283 --adHeight: calc(600px + 21px); 284 } 285 .GoogleDfpAd-Lazy[targeting*='rotating'] { 286 --adHeight: calc(250px + 21px); 287 } 288} 289/* LARGE DESKTOP */ 290@media only screen and (min-width: 1280px) { 291 .GoogleDfpAd-Lazy[targeting*='banner-1'] { 292 --adHeight: calc(250px + 16px); 293 } 294 .GoogleDfpAd-Lazy[targeting*='banner-2'] { 295 --adHeight: calc(250px + 16px); 296 } 297 .GoogleDfpAd-Lazy[targeting*='banner-3'] { 298 --adHeight: calc(250px + 16px); 299 } 300 .GoogleDfpAd-Lazy[targeting*='banner-4'] { 301 --adHeight: calc(250px + 16px); 302 } 303 .GoogleDfpAd-Lazy[targeting*='latest-sponsor'] { 304 --adHeight: calc(50px + 21px); 305 } 306 .GoogleDfpAd-Lazy[targeting*='sidebar-1'] { 307 --adHeight: calc(600px + 21px); 308 } 309 .GoogleDfpAd-Lazy[targeting*='article-banner-1'] { 310 --adHeight: calc(250px + 16px); 311 } 312 .GoogleDfpAd-Lazy[targeting*='in-article-1'] { 313 --adHeight: calc(250px + 21px); 314 } 315 .GoogleDfpAd-Lazy[targeting*='forecast'] { 316 --adHeight: calc(50px + 21px); 317 } 318 .GoogleDfpAd-Lazy[targeting*='in-list-1'] { 319 --adHeight: calc(90px + 21px); 320 } 321 .GoogleDfpAd-Lazy[targeting*='weather-sidebar'] { 322 --adHeight: calc(600px + 21px); 323 } 324 .GoogleDfpAd-Lazy[targeting*='rotating'] { 325 --adHeight: calc(250px + 21px); 326 } 327} 328 329/* NO SECTION SPONSOR AD SERVED */
330.GoogleDfpAd-Lazy[targeting*='section-sponsor'] div[id^=google_ads_iframe]:empty { 331 margin: 0; 332}</style> 333<style>.GoogleDfpAd { 334 z-index:1; 335} 336 337.GoogleDfpAd-Float { 338 z-index:100; 339}</style> 340<style>.tp-modal-close { 341 overflow-x: hidden !important; 342}</style> 343<style>/* defining variables */ 344.viafoura { 345 --primary-font: "Source Sans Pro", sans-serif; 346 --accent-color: var(--color-primary); 347 --accent-color-light: var(--color-primary); 348 --accent-color-dark: var(--color-button-hover-bg); 349 --accent-color-90: rgba(0, 125, 179, 0.9); 350 --accent-color-20: rgba(0, 125, 179, 0.2); 351 --accent-color-10: rgba(0, 125, 179, 0.1); 352 --accent-color-5: rgba(0, 125, 179, 0.5); 353} 354 355/* bell & tray styling */ 356.viafoura .vf-tray-trigger:hover, 357.viafoura.header-bell:hover { color: var(--accent-color) !important; } 358 359.Page-header-bar .viafoura button, .viafoura .vf-tray-trigger:focus { color: var(--color-primary-text) !important; } 360 361.viafoura.header-bell { 362 visibility: hidden; 363 position: relative; 364 color: var(--color-primary-text); 365 width: 40px; 366 height: 40px; 367} 368 369.viafoura.header-bell .vf-icon_bell_icon { display: none;} 370 371.viafoura.header-bell:has(button) { visibility: visible; } 372/* needed to target just firefox */ 373@supports (-moz-transform: translate(0, 0)) { 374 .viafoura.header-bell { visibility: visible; } 375} 376 377.viafoura.header-bell .vf-fa-outlineBell { 378 width: 23px; 379 height: 23px; 380 position: absolute; 381 top: 8.5px; 382 left: 8.5px; 383} 384 385.viafoura .vf-accent-border-colour, 386.viafoura .vf-expanding-hover-light::before { 387 border-color: var(--accent-color) !important; 388} 389.viafoura .vf-tray .vf-settings .vf-client-settings-button-logout { 390 display: none; 391} 392 393/* needed for tray to show above Page-header */ 394.viafoura .vf-tray-slide-wrapper { 395 z-index: 100000009 !important; 396} 397 398.Page-header-bar .viafoura { 399 height: 40px; 400 overflow: hidden; 401} 402 403/* share bar styles */ 404.viafoura .vf-share-bar { 405 padding-top: 0px !important; 406 position: relative !important; 407 display: inline-block !important; 408 letter-spacing: .5px !important; 409 border: none !important; 410 width: 100% !important; 411} 412.viafoura .vf-share-bar .vf-share-bar-service-name { 413 color: #666666 !important; 414 font-size: 0.875rem !important; 415 font-weight: 400 !important; 416} 417.viafoura .vf-share-bar.vf-share-bar-default .vf-share-icon { 418 line-height: 1em !important; 419} 420.viafoura .vf-share-bar.vf-share-bar-vertical .vf-share-icon { 421 margin-right: 8px !important; 422} 423.viafoura .vf-share-bar .vf-share-option a { 424 position: relative !important; 425 display: inline-block !important; 426 width: 100% !important; 427} 428 429/* comment section styling */ 430.viafoura-conversation-container { margin-top: 40px; } 431.viafoura-conversation-container .List-header-title { margin-bottom: 20px; } 432.viafoura .vf3-comments { 433 font-family: var(--font-sans-serif); 434 max-width: 600px; 435} 436.viafoura .vf3-comments .vf-post-name-button__username { 437 font-size: 1rem !important; 438 font-weight: 700; 439 color: var(--color-primary-text); 440} 441.viafoura .vf3-comments button.vf-post-name-button:hover { 442 color: var(--color-primary-text) !important; 443} 444.viafoura .vf3-comments .vf-content-text { 445 font-size: 1rem; 446 line-height: 1.5 !important; 447 font-weight: 400; 448 color: var(--color-primary-text); 449} 450.viafoura .vf-comment-header__actions .vf-post-form__auth-actions { 451 display: none; 452} 453 454/* comment counter button */ 455.viafoura.viafoura-button { 456 font-size: .875rem; 457 line-height: 1; 458 padding: 8px 16px; 459} 460.viafoura.viafoura-button vf-conversations-count { display: inline-grid; } 461 462a[name="conversations"] { scroll-margin-top: 100px; } 463 464/* hide viafoura conversations title */ 465.viafoura .vf-comment-header__heading.vf-heading-text { display: none; } 466 467@media (max-width: 480px) { 468 .viafoura .vf-comment-header__actions { 469 flex-direction: row !important; 470 align-items: center !important; 471 margin-top: 0px !important; 472 } 473 .viafoura .vf-comment-header__actions .vf-actions-subscribe { 474 margin-top: 0px !important; 475 } 476} 477 478/* conversation reply modal - mobile only */ 479@media (max-width: 640px) {
480 .viafoura .vf-content-focus-container--focused.vf-content-focus-container__mobile { 481 top: 60px !important; 482 } 483} 484 485/* trending conversations module */ 486.vf-trending-conversations .vf-trending-articles .vf-trending-articles__header.vf-subheading-text { 487 font-family: var(--font-sans-serif); 488 color: var(--color-primary-text); 489 font-size: 1.125rem; 490 font-weight: 700; 491 line-height: 1; 492 text-transform: uppercase; 493 border-bottom: 1px solid var(--color-list-border); 494} 495.vf-trending-conversations .vf-trending-articles { 496 border: 1px solid var(--color-list-border); 497 border-radius: 12px; 498 padding: 20px; 499 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); 500} 501.vf-trending-conversations .vf-trending-articles .vf-trending-articles__content-wrapper { 502 border: none !important; 503} 504.vf-trending-conversations .vf-trending-articles .vf-trending-articles__content-wrapper:first-child { 505 border-bottom: 1px solid var(--color-list-border); 506} 507 508.vf-trending-conversations .vf-trending-articles .vf-trending-articles__content-wrapper .vf-trending-articles-list { 509 grid-gap: 0; 510 margin: 0; 511} 512.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li { 513 margin-top: 20px; 514} 515.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(odd) .vf-item-layout { 516 border-right: 1px solid var(--color-list-border); 517 padding-right: 20px; 518} 519.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(even) { 520 padding-left: 20px; 521} 522 523.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(1n + 3) { 524 border-top: 1px solid var(--color-list-border); 525 padding-top: 20px; 526} 527 528.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__image { 529 width: 80px; 530 height: 80px; 531 border-radius: 4px; 532} 533 534.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__spacer { 535 width: 12px; 536} 537 538.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__title { 539 font-family: var(--font-sans-serif); 540 font-size: 1rem; 541 line-height: 1.1; 542 color: var(--color-primary-text); 543 -webkit-line-clamp: 3; 544 max-height: fit-content; 545} 546.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-item-layout__title:hover { 547 color: var(--color-primary-text); 548 text-decoration: underline; 549} 550.vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li .vf-trending-article__comment-count { 551 font-family: var(--font-sans-serif); 552 color: var(--color-secondary-text); 553} 554 555@media (max-width: 536px) /* viafoura's breakpoint is 536*/ { 556 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li.vf-trending-article-list__item { 557 border-bottom: 1px solid var(--color-list-border); 558 padding: 0 0 20px 0; 559 } 560 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(odd) .vf-item-layout { 561 border-right: none; 562 padding-right: 0; 563 } 564 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:last-child { 565 border-bottom: none; 566 padding: 0; 567 margin-bottom: 0; 568 } 569 .vf-trending-conversations .vf-trending-articles .vf-trending-articles-list li:nth-child(1n + 3) { 570 border-top: none; 571 padding-top: 0; 572 } 573} 574 575/* promo comment counter */ 576/* promo comment counter */ 577.Promo-byline .viafoura.comment-count, 578.PromoCategoryDateHeaderImage .viafoura.comment-count { 579 display: flex; 580 gap: 4px; 581} 582.Promo-byline .viafoura .vf-comments-count, 583.PromoCategoryDateHeaderImage .viafoura .vf-comments-count { 584 font-size: 0.88rem; 585 line-height: 1.25; 586 color: var(--color-secondary-text); 587} 588.Page .Promo-byline .viafoura .vf-comments-count { 589 font-size: unset; 590} 591 592.Promo-byline .comment-count:has(.vf-comments-count)::before, 593.PromoCategoryDateHeaderImage .comment-count:has(.vf-comments-count)::before { 594 content: "·"; 595 line-height: 1.2; 596 font-weight: 600; 597 font-size: 0.875rem; 598 margin-left: 4px; 599 align-self: center; 600 color: var(--color-secondary-text); 601} 602 603.Promo-byline .viafoura.comment-count .fa-comment:has(+ #vf-conversations-count .vf-comments-count), 604.PromoCategoryDateHeaderImage .viafoura.comment-count .fa-comment:has(+ #vf-conversations-count .vf-comments-count) { 605 display: inline !important; 606 color: var(--color-secondary-text); 607 font-size: 0.875rem;
608 align-self: center; 609} 610 611[data-hide-dates=true][data-hide-author=true] .comment-count:has(.vf-comments-count)::before { 612 display: none 613} 614/* engagement starter ad */ 615.viafoura .vf-conversation-starter__ad-container-wrapper { margin-top: 12px; }</style> 616<style>.aJVLc6uP { 617 display: none !important; 618}</style> 619<style>.dappier-ads-top, .dappier-ads-bottom { 620 padding: 11px 0 20px 0; 621 border-top: 1px solid #dcddde; 622 border-bottom: 1px solid #dcddde; 623 width: 100vw !important; 624} 625.dappier-ads-top { margin-bottom: 20px !important; } 626.dappier-ads-bottom { margin-top: 20px !important; } 627.dappier-ads-top:before, .dappier-ads-bottom:before { 628 content: "ADVERTISEMENT"; 629 font-size: var(--label-6); 630 font-family: var(--font, var(--font-sans-serif)); 631 font-weight: 600; 632 line-height: 1.1; 633 text-align: center; 634 color: var(--color-secondary-text); 635}</style> 636<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5"><title>St. Cloud Live | Account Page</title><link rel="canonical" href="https://www.stcloudlive.com/account"><meta name="brightspot.contentId" content="0000018a-fb84-dafc-adbb-fbc6eeca0000"><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"> 637 638 <meta name="brightspot.cached" content="false"> 639 640
640<script> 641 function getForumCookie(cname) { 642 let name = cname + "="; 643 let decodedCookie = decodeURIComponent(document.cookie); 644 let ca = decodedCookie.split(';'); 645 for(let i = 0; i < ca.length; i++) { 646 let c = ca[i]; 647 while (c.charAt(0) == ' ') { 648 c = c.substring(1); 649 } 650 if (c.indexOf(name) == 0) { 651 return c.substring(name.length, c.length); 652 } 653 } 654 return ""; 655 } 656 function setForumCookie(cname, cvalue, exdays) { 657 const d = new Date(); 658 d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); 659 let expires = (exdays !== 0) ? "expires=" + d.toUTCString() + ";" : ""; 660 const hostNameArray = window.location.hostname.split('.') 661 const indexOfWWW = hostNameArray.indexOf('www') 662 if (indexOfWWW > -1) { 663 hostNameArray.splice(indexOfWWW, 1) 664 } 665 var propertyName = hostNameArray[0] 666 var environment = 'production' 667 if (window.location.hostname.includes('qa') || 668 window.location.hostname.includes('uat') || 669 window.location.hostname.includes('localhost') 670 ) { 671 environment = 'test' 672 } else if (window.location.hostname.includes('web')) { 673 environment = 'production-other' 674 } 675 if (environment === 'production') { 676 let topLevelDomain = (propertyName === "newscenter1") ? '.tv' : '.com' 677 document.cookie = 678 cname + '=' + cvalue + ';' + expires + 679 'path=/;domain=' + propertyName + topLevelDomain 680 } else { 681 document.cookie = cname + '=' + cvalue + ';' + expires + 'path=/'; 682 } 683 } 684 </script>
684 685 686 687 688 689 690
690<script type="text/javascript"> 691 !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 */)}(); 692</script>
692 693<meta property="mrf:canonical" content="https://www.stcloudlive.com/account"> 694 695 696
696<script type="text/javascript"> 697 const setupAdmiral = async (publication, environment) => { 698 let response = await fetch(`https://ggbepmk06k.execute-api.us-west-2.amazonaws.com/prod?publication=${publication}&environment=${environment}`) 699 let rawScript = await response.json() 700 let script = document.createElement('script') 701 script.innerHTML = rawScript 702 document.head.appendChild(script) 703 } 704 705 const getPub = () => { 706 const domain = window.location.hostname.split('.') 707 let name, environment 708 if ( 709 domain.includes('lower') || 710 domain.includes('localhost') || 711 domain.includes('127') 712 ) { 713 name = 'DEV_TEST' 714 environment = 'test' 715 } else { 716 if (!domain.includes('www')) { 717 name = domain[0] 718 } else { 719 name = domain[1] 720 if (name.includes('-')) { 721 name = name.replace('-', '_') 722 } 723 } 724 environment = 'production' 725 } 726 return { name, environment } 727 } 728 729 const pubInfo = getPub() 730 setupAdmiral(pubInfo.name, pubInfo.environment) 731</script>
731 732 733 734 735 736 737
738<script src="https://assets.dappier.com/widget/dappier-loader.min.js" widget-id="wd_01ks96nq3vfabr3h2p1g0vxtpt"></script>
738 739 740 741 742 743
743<script src="https://j000.stcloudlive.com/script.js"></script>
vendor: 1 bytes, line 743
743
744<script> 745 function addAuth0Info(blueProfile) { 746 blueProfile.setValue("auth0_user_id", user.auth0Id); 747 blueProfile.setValue("auth0_email", user.email); 748 blueConicClient.profile.updateProfile(); 749 } 750 751 function checkConsentGDPR(blueProfile) { 752 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']; 753 return valueCheck.some(value => blueProfile.getRefusedObjectives().includes(value)); 754 } 755</script>
755 756 757 758 759 760 761
761<script id="sophi-init"> 762 window.sophi = window.sophi || {}; 763 sophi.demeter = { actions: [] }; 764 window.demeter = window.demeter || async function () { 765 var resolve, reject; 766 const s = new Promise((res, rej) => { 767 resolve = res, reject = rej; 768 }); 769 sophi.demeter.actions.push([arguments, resolve, reject]); 770 return s; 771 }; 772 773 const addSophiScriptToPage = ({ isConsented = false }) => { 774 const script = document.createElement('script'); 775 script.id = 'sophi-loader'; 776 script.async = true; 777 script.src = `https://cdn.sophi.io/assets/demeter/1/stable/1916397351.js?isConsented=${isConsented}`; 778 document.head.appendChild(script); 779 780 // New Event for Sophi Paywall to Trigger on paywall modals after Sophi has mounted 781 const sophiGlobalScriptMount = new Event('sophiGlobalScriptMount') 782 window.dispatchEvent(sophiGlobalScriptMount) 783 }; 784 785 // if statement confirms blueconic loads 786 if (typeof window.blueConicClient !== 'undefined' && 787 typeof window.blueConicClient.event !== 'undefined' && 788 typeof window.blueConicClient.event.subscribe !== 'undefined') { 789 blueConicClient.profile.getProfile().loadValues(['refused_objectives', 'nvg_sub_promo_eligible'], this, function () { 790 let blueProfile = blueConicClient.profile.getProfile() 791 // add future blueconic properties to paywall object here 792 let promoEligible = blueProfile.getValue('nvg_sub_promo_eligible') 793 paywall.promoEligible = promoEligible 794 if (!checkConsentGDPR(blueProfile)) { 795 addSophiScriptToPage({ isConsented: true }) 796 } else { 797 addSophiScriptToPage({ isConsented: false }) 798 } 799 }) 800 } else { 801 window.addEventListener('onBlueConicLoaded', function () { 802 blueConicClient.profile.getProfile().loadValues(['refused_objectives', 'nvg_sub_promo_eligible'], this, function () { 803 let blueProfile = blueConicClient.profile.getProfile() 804 // add future blueconic properties to paywall object here 805 let promoEligible = blueProfile.getValue('nvg_sub_promo_eligible') 806 paywall.promoEligible = promoEligible 807 if (!checkConsentGDPR(blueProfile)) { 808 addSophiScriptToPage({ isConsented: true }) 809 } else { 810 addSophiScriptToPage({ isConsented: false }) 811 } 812 }) 813 }, false); 814 } 815</script>
815 816 817 818 819
819<script src="https://cdn.t2037ulzqct5.com/prod/forum/loader.min.js"></script>
vendor: 1 bytes, line 819
819
820<script> 821 window.user = () => {} 822 823 let gtmContainerId = null 824 825 826 gtmContainerId = "GTM-K29394N" 827 828 829 830 831 832 833 834 835 836 837 838 let navSettingsKey = null 839 840 let auth0Domain = 'login.forumcomm.com' 841 let debug = false 842 843 844 let firstEntry = getForumCookie('_fcc_first_entry') 845 const feDate = new Date() 846 let feCurrentDate = feDate.toLocaleDateString("en-CA") 847 let firstEntryCampaignActive = false 848 849 function ensureUserIsSet() { 850 return new Promise(waitForUser) 851 852 function waitForUser(resolve) { 853 if (window.user && window.user.status) resolve(window.user.status) 854 else setTimeout(waitForUser.bind(this, resolve), 10) 855 } 856 } 857 858 ;(function () { 859 let wdayRegex = /(\.com\/wdayplus)/ 860 let checkMatch = window.location.href.match(wdayRegex) 861 if (checkMatch) { 862 navSettingsKey = 'liveStream' 863 } 864 })() 865 866 ensureUserIsSet().then(function () { 867 if (window.user.status !== getForumCookie('_fcc_user_status')) { 868 setForumCookie('_fcc_user_status', window.user.status, 180) 869 dataLayer.push({ FCC_UserStatus: window.user.status }) 870 } 871 }) 872 873 function setLoginButton(displayButton) { 874 try { 875 ;(document.getElementById('MG2login') || {}).style.display = displayButton 876 } catch (e) { 877 console.log('no login button') 878 } 879 } 880 881 function showSubscribeButtonBanner() { 882 try { 883 let subButtonItems = document.querySelectorAll('.Page-header-subscribe') 884 subButtonItems.forEach((item) => { 885 if (window.innerWidth < 768 && item.parentElement.className === 'Page-header') { 886 item.style.display = 'flex' 887 let firstEntryContainer = document.querySelector('.GoogleDfpAd-FirstEntryTakeover-Content > *:first-child > *:first-child > *:first-child') 888 if (firstEntryContainer !== null) { 889 let firstEntryIframe = firstEntryContainer.querySelectorAll('iframe').length 890 if (firstEntryIframe > 0) { 891 firstEntryCampaignActive = true 892 } 893 } 894 if (document.querySelector('.Page-header-hat')) { 895 if (firstEntryCampaignActive) { 896 // dont add top margin 897 } else if (document.querySelector('#agweek bsp-banner')) { 898 document.querySelector('bsp-banner').style.marginTop = '40px' 899 } else { 900 document.querySelector('.Page-header-hat').style.marginTop = '40px' 901 } 902 } else if (document.querySelector('.Page-above')) { 903 if (firstEntryCampaignActive) { 904 // dont add top margin 905 } else if (document.querySelector('bsp-banner')) { 906 document.querySelector('bsp-banner').style.marginTop = '40px' 907 } else { 908 document.querySelector('.Page-above').style.marginTop = '40px' 909 } 910 } else if (document.querySelector('.AccountPage')) { 911 document.querySelector('.AccountPage').style.marginTop = '40px' 912 } else { 913 document.querySelector('.Page-content').style.marginTop = '40px' 914 } 915 } else if (window.innerWidth >= 768 && item.parentElement.className === 'Page-header-bar') { 916 item.style.display = 'flex' 917 document.getElementById('MG2Subscribe').style.display = 'flex' 918 } 919 }) 920 } catch (e) { 921 console.log('no subscribe button') 922 } 923 } 924 925 function hideSubscribeButtonBanner() { 926 try { 927 ;(document.getElementById('MG2Subscribe') || {}).style.display = 'none' 928 } catch (e) { 929 console.log('no login button') 930 } 931 } 932 933 function setAccountButton(displayButton) { 934 try { 935 ;(document.getElementById('MG2MyAccount') || {}).style.display = displayButton 936 } catch (e) { 937 console.log('no account button') 938 } 939 } 940 941window.addEventListener('navigaEngageInitTrigger', function () { 942 MG2Loader.init({ 943 plugins: [ 944 { 945 name: 'FP', 946 initOptions: { 947 version: 'forum', 948 environment: 'prod', 949 }, 950 }, 951 { 952 name: 'DL', 953 initOptions: { 954 version: 'forum', 955 collectors: ['connext'], 956 tagManager: 'GTM', 957 containerId: gtmContainerId, 958 }, 959 }, 960 { 961 name: 'NXT', 962 initOptions: { 963 clientCode: 'forum', 964 environment: 'prod', 965 siteCode: 'STCL', 966 configCode: 'LAUNCH1', 967 settingsKey: navSettingsKey, 968 debug: debug, 969 Auth0DB_approach: true, 970 authSettings: { 971 authorizationParams: { 972 redirect_uri: window.location.origin + '/redirect', 973 }, 974 domain: auth0Domain, 975 clientId: 'nLRupOGuL9QjLrUC6flrA5OOQVQllXY0', 976 seamlessSI: true, 977 seamlessSO: true, 978 useRefreshTokens: true, 979 scope: 'openid email profile offline_access', 980 }, 981 publicEventHandlers: { 982 onNotAuthorized: function (eventData) { 983 //event fires on every page load if visitor is logged out 984 window.user.status = 'anonymous' 985 setLoginButton("flex") 986 987 showSubscribeButtonBanner() 988
989 setAccountButton("none") 990 }, 991 onAuthorized: function (eventData) { 992 //event fires on every page load if visitor is logged in but has access to this product 993 window.user.status = 'registered' 994 window.user.email = eventData.MG2AccountData.Email 995 window.user.auth0Id = eventData.MG2AccountData.MasterId 996 setLoginButton("none") 997 998 showSubscribeButtonBanner() 999 1000 setAccountButton("flex") 1001 }, 1002 onHasNoActiveSubscription: function (eventData) { 1003 //event fires on every page load if visitor is logged in but their subscription is stopped or inactive 1004 window.user.status = 'registered' 1005 window.user.email = eventData.MG2AccountData.Email 1006 window.user.auth0Id = eventData.MG2AccountData.MasterId 1007 setLoginButton("none") 1008 1009 showSubscribeButtonBanner() 1010
1011 setAccountButton("flex") 1012 }, 1013 onHasAccessNotEntitled: function (eventData) { 1014 //event fires on every page load if visitor is logged in and has no access to this product, but has access to other products) 1015 window.user.status = 'registered' 1016 window.user.email = eventData.MG2AccountData.Email 1017 window.user.auth0Id = eventData.MG2AccountData.MasterId 1018 setLoginButton("none") 1019 1020 showSubscribeButtonBanner() 1021 1022 setAccountButton("flex") 1023 }, 1024 onHasAccess: function (eventData) { 1025 //event fires on every page load if visitor is subscriber 1026 window.user.status = 'subscribed' 1027 window.user.email = eventData.MG2AccountData.Email 1028 window.user.auth0Id = eventData.MG2AccountData.MasterId 1029 setLoginButton("none") 1030 hideSubscribeButtonBanner() 1031 setA
1031ccountButton("flex") 1032 }, 1033 }, 1034 }, 1035 }, 1036 ], 1037 }) 1038 }) 1039</script>
1039 1040 1041 1042 1043 1044 1045 1046 1047
1047<script> 1048 // if statement confirms blueconic and naviga loads 1049 if (typeof window.blueConicClient !== 'undefined' && 1050 typeof window.blueConicClient.event !== 'undefined' && 1051 typeof window.blueConicClient.event.subscribe !== 'undefined') { 1052 ensureUserIsSet().then(() => { 1053 let blueProfile = blueConicClient.profile.getProfile(); 1054 if (!checkConsentGDPR(blueProfile)) { 1055 if (user.status != "anonymous") { 1056 addAuth0Info(blueProfile) 1057 } 1058 } 1059 }) 1060 } else { 1061 window.addEventListener('onBlueConicLoaded', function () { 1062 ensureUserIsSet().then(() => { 1063 let blueProfile = blueConicClient.profile.getProfile(); 1064 if (!checkConsentGDPR(blueProfile)) { 1065 if (user.status != "anonymous") { 1066 addAuth0Info(blueProfile) 1067 } 1068 } 1069 }) 1070 }, false); 1071 } 1072</script>
1072 1073 1074 1075 1076 1077 1078 1079
1079<script type="text/javascript"> 1080 /** 1081 * Function to handle Viafoura login events 1082 * @param {boolean} isInit If handleLogin is being called on the initial page load 1083 */ 1084 const handleLogin = async (isInit) => { 1085 ensureUserIsSet().then(async () => { 1086 if (user.status === 'anonymous') { 1087 if (!isInit) { 1088 // Should not redirect on page load 1089 document.getElementById('MG2login').click() 1090 } 1091 } else if (user.status === 'subscribed') { 1092 const idToken = await getTokens() 1093 if (idToken !== '' && idToken !== undefined && idToken !== null) { 1094 try { 1095 // openIdConnect resolves with the Viafoura user object on success 1096 // and rejects on failure. Do not retry here: the same token can 1097 // only produce the same result. 1098 const response = 1099 await window.vf.session.login.openIdConnect(idToken) 1100 1101 if (response && response.uuid) { 1102 console.log('Viafoura: Login successful!') 1103 } else { 1104 console.error( 1105 'Viafoura OIDC unexpected response: ' + JSON.stringify(response) 1106 ) 1107 } 1108 } catch (error) { 1109 console.error('Viafoura OIDC login failed: ' + error) 1110 } 1111 } else { 1112 console.error('Viafoura: Could not obtain ID token!') 1113 } 1114 } else { 1115 console.log('Viafoura: Registered user.') 1116 } 1117 }) 1118 } 1119 1120 /** 1121 * Attempts to get the ID and Refresh tokens from localstorage or AWS. 1122 * @returns {Promise} An ID token or an empty string if one cannot be obtained. 1123 */ 1124 const getTokens = async () => { 1125 try { 1126 // First, try to use cookies 1127 let idToken = getForumCookie('auth0_jwt') 1128 if (idToken !== '' && idToken !== undefined) { 1129 return idToken 1130 } else { 1131 idToken = '' 1132 } 1133 1134 // Second, try to use localstorage 1135 let expires = '' 1136 const localStorageTokens = await getLocalStorageTokens() 1137 if (localStorageTokens !== '') { 1138 idToken = localStorageTokens.idToken 1139 refreshToken = localStorageTokens.refreshToken 1140 if (idToken !== undefined && idToken !== '') { 1141 return idToken 1142 } 1143 } 1144 return idToken 1145 } catch (error) { 1146 console.error('Viafoura: ' + error) 1147 return '' 1148 } 1149 } 1150 1151 /** 1152 * Gets the ID and/or refresh token(s) from localstorage. Note that only the refresh token might be returned. 1153 * @returns {object} Object containing the id and/or refresh token(s) or an empty string if no tokens exist. 1154 */ 1155 const getLocalStorageTokens = async () => { 1156 const localStorageString = await getLocalStorageString() 1157 const tokensObject = {} 1158 if (localStorageString === null || localStorageString === '') { 1159 console.log('Viafoura: Auth0 tokens not found in localstorage.') 1160 return '' 1161 } 1162 1163 const localStorageObject = JSON.parse(localStorageString) 1164 const idToken = localStorageObject.body.id_token 1165 const refreshToken = localStorageObject.body.refresh_token 1166 const idTokenExpiration = localStorageObject.expiresAt 1167 1168 if (refreshToken !== undefined && refreshToken !== '') { 1169 tokensObject.refreshToken = refreshToken 1170 } else { 1171 tokensObject.refreshToken = '' 1172 } 1173 1174 if (idToken !== undefined && idToken !== '') { 1175 tokensObject.idToken = idToken 1176 } else { 1177 tokensObject.idToken = '' 1178 } 1179 1180 if (idTokenExpiration !== '' && idTokenExpiration !== undefined) { 1181 tokensObject.expires = idTokenExpiration 1182 } else { 1183 tokensObject.expires = '' 1184 } 1185 1186 return tokensObject 1187 } 1188 1189 /** 1190 * Get the Auth0 SPA JS string from localstorage 1191 * @returns {Promise} A localstorage string if it exists or an empty string if does not 1192 */ 1193 const getLocalStorageString = async () => { 1194 const config = window.location.origin + '/_auth.config.json' 1195 const publication = getPublicationInfo() 1196 const response = await fetch(config) 1197 const json = await response.json() 1198 const clientId = 1199 json[publication.environment][publication.name].clientId
1200 const key = 1201 '@@auth0spajs@@::' + 1202 clientId + 1203 '::default::openid profile email offline_access' 1204 return localStorage.getItem(key) 1205 } 1206 1207 /** 1208 * Get the publication and environment 1209 * @returns {object} An object containing the publication and environment 1210 */ 1211 const getPublicationInfo = () => { 1212 const domain = window.location.hostname.split('.') 1213 let name, environment 1214 if ( 1215 domain.includes('lower') || 1216 domain.includes('localhost') || 1217 domain.includes('127') 1218 ) { 1219 name = domain[0] 1220 environment = 'test' 1221 } else { 1222 if (!domain.includes('www')) { 1223 name = domain[0] 1224 } else { 1225 name = domain[1] 1226 } 1227 environment = 'production' 1228 } 1229 return { name, environment } 1230 } 1231 1232 /** 1233 * Function for handling banned users. 1234 * Will not display an alert for the first login failure event. 1235 * @param {object} errorContext 1236 * @param {boolean} skipFirstAlert 1237 */ 1238 const handleBannedUser = (errorContext, skipFirstAlert) => { 1239 const fccViafouraBanned = getForumCookie('_fcc_viafoura_banned') 1240 ensureUserIsSet().then(() => { 1241 if (fccViafouraBanned == null || user.status === 'anonymous') { 1242 setForumCookie('_fcc_viafoura_banned', 'false', 0) 1243 } 1244 1245 if ( 1246 errorContext.reason !== null && 1247 errorContext.reason !== undefined && 1248 errorContext.reason !== '' 1249 ) { 1250 console.log('Viafoura: ' + errorContext.reason) 1251 } 1252 1253 if (errorContext.error_key === 'login_banned') { 1254 if (skipFirstAlert === false) { 1255 alert( 1256 '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.' 1257 ) 1258 } 1259 if (fccViafouraBanned === 'false') { 1260 setForumCookie('_fcc_viafoura_banned', 'init', 0) 1261 } 1262 return false 1263 } 1264 }) 1265 } 1266 1267 /** 1268 * Function for handling the read comments event. 1269 * Display an alert if the user is banned. 1270 */ 1271 const handleReadComments = () => { 1272 if (getForumCookie('_fcc_viafoura_banned') === 'init') { 1273 alert( 1274 '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.' 1275 ) 1276 setForumCookie('_fcc_viafoura_banned', 'true', 0) 1277 } 1278 } 1279 1280 window.vfQ = window.vfQ || [] 1281 window.vfQ.push(async () => { 1282 // Logs in to Viafoura on page load 1283 handleLogin(true) 1284 1285 // Intercepts default log in event 1286 window.vf.$prepublish((channel, event, ...args) => { 1287 if (channel === 'authentication' && event === 'required') { 1288 window.vf.$publish('tray', 'close') 1289 handleLogin(false) 1290 return false 1291 } else { 1292 return { channel, event, args } 1293 } 1294 }) 1295 1296 // Handles banned user messages 1297 window.vf.$subscribe('login', 'success', () => { 1298 setForumCookie('_fcc_viafoura_banned', 'false', 0) 1299 }) 1300 1301 let skipFirstAlert = true 1302 window.vf.$subscribe('login', 'failure', (errorContext) => { 1303 skipFirstAlert = handleBannedUser(errorContext, skipFirstAlert) 1304 }) 1305
1306 window.vf.$subscribe('comments', 'read', () => { 1307 handleReadComments() 1308 }) 1309 1310 window.vf.$subscribe('commenting', 'loaded', (el) => { 1311 ensureUserIsSet().then(async () => { 1312 if (user.status !== 'subscribed') { 1313 document.getElementsByClassName('vf-comment-header')[0].style.display = 'none' 1314 document.getElementsByClassName('v3-comments__post-form')[0].style.display = 'none' 1315 } 1316 }) 1317 }); 1318 }) 1319 </script>
1319 1320 1321 1322 1323 1324 1325 1326 1327
1327<script type="text/javascript"> 1328 if (typeof ensureUserIsSet === 'function') { 1329 ensureUserIsSet().then(function() { 1330 if (!window.user) { return; } 1331 window.marfeel = window.marfeel || {}; 1332 window.marfeel.cmd = window.marfeel.cmd || []; 1333 if (window.user.status === 'subscribed') { 1334 window.marfeel.cmd.push(['compass', function(compass) { 1335 compass.setUserType(3); 1336 }]); 1337 } else if (window.user.status === 'registered') { 1338 window.marfeel.cmd.push(['compass', function(compass) { 1339 compass.setUserType(2); 1340 }]); 1341 } else { 1342 window.marfeel.cmd.push(['compass', function(compass) { 1343 compass.setUserType(0); 1344 }]); 1345 } 1346 }).catch(function() {}); 1347 } 1348 </script>
1348 1349 1350 1351 1352 1353 1354 1355 1356
1356<script type="text/javascript"> 1357 /** 1358 * Dynamically generates an ad and inserts it into the template when the Viafoura conversations widget requests an ad. 1359 * @param {String} slotName - id of the element to render the ad in 1360 */ 1361 function generateCommentAd(slotName) { 1362 let viafouraAd = document.querySelector('[data-comments-ad-enable="true"]'); 1363 1364 // Generate next slot name 1365 var adUnitString = viafouraAd.getAttribute('data-slot-name') || ''; 1366 var sizesAttribute = viafouraAd.getAttribute('data-slot-sizes'); 1367 var sizesArray = JSON.parse(sizesAttribute); 1368 1369 var sizeMappingString = viafouraAd.getAttribute('data-slot-adsizemap') 1370 var sizeMappingArray = JSON.parse(sizeMappingString); 1371 1372 var adTargetingAttribute = viafouraAd.getAttribute('data-targeting') 1373 var adTargetingArray = JSON.parse(adTargetingAttribute); 1374 1375 // Define the slot itself, call display() to 1376 // register the div and refresh() to fetch the ad. 1377 window.googletag.cmd.push(function() { 1378 // Destroy any lingering ad slots if they exist in the widget 1379 const slots = window.googletag.pubads().getSlots() 1380 .filter((slot) => slot.getSlotElementId() === slotName); 1381 window.googletag.destroySlots(slots); 1382 1383 // Define ad sizes based on viewport size 1384 // NOTE ads are not responsive but new ads will be rendered to the appropriate size 1385 // Adapted from https://support.google.com/dfp_premium/answer/4578089?hl=en#responsiveDesign 1386 var mapping = googletag.sizeMapping(); 1387 sizeMappingArray.forEach(function (entry) { 1388 var viewportSize = entry[0]; 1389 var adSizes = entry[1]; 1390 mapping.addSize(viewportSize, adSizes); 1391 }); 1392 1393 var sizeMapping = mapping.build(); 1394 // Create a new ad slot, pointing to the slotName given to this function 1395 var slot = window.googletag.defineSlot(adUnitString, sizesArray, slotName) 1396 .defineSizeMapping(sizeMapping) 1397 .addService(window.googletag.pubads()); 1398 1399 // Add any targeting or any other modifications to the ad here 1400 if (adTargetingArray) { 1401 for (let key in adTargetingArray) { 1402 if (adTargetingArray.hasOwnProperty(key)) { 1403 slot.setTargeting(key, adTargetingArray[key]) 1404 } 1405 } 1406 } 1407 1408 // Display the new ad 1409 window.googletag.display(slotName); 1410 window.googletag.pubads().refresh([slot]); 1411 }); 1412 } 1413 1414 /** 1415 * Dynamically generates an ad and inserts it into the template when the Viafoura liveblog widget requests an ad. 1416 * @param {String} slotName - id of the element to render the ad in 1417 */ 1418 function generateLiveblogAd(slotName) { 1419 let viafouraAd = document.querySelector('[data-blog-ad-enable="true"]'); 1420 // Generate next slot name 1421 var adUnitString = viafouraAd.getAttribute('data-slot-name') || ''; 1422 var sizesAttribute = viafouraAd.getAttribute('data-slot-sizes'); 1423 var sizesArray = JSON.parse(sizesAttribute); 1424 1425 var sizeMappingString = viafouraAd.getAttribute('data-slot-adsizemap') 1426 var sizeMappingArray = JSON.parse(sizeMappingString); 1427 1428 var adTargetingAttribute = viafouraAd.getAttribute('data-targeting') 1429 var adTargetingArray = JSON.parse(adTargetingAttribute); 1430 1431 // Define the slot itself, call display() to 1432 // register the div and refresh() to fetch the ad. 1433 window.googletag.cmd.push(function() { 1434 // Destroy any lingering ad slots if they exist in the widget 1435 const slots = window.googletag.pubads().getSlots() 1436 .filter((slot) => slot.getSlotElementId() === slotName); 1437 window.googletag.destroySlots(slots); 1438 1439 // Define ad sizes based on viewport size 1440 // NOTE ads are not responsive but new ads will be rendered to the appropriate size 1441 // Adapted from https://support.google.com/dfp_premium/answer/4578089?hl=en#responsiveDesign 1442 var mapping = googletag.sizeMapping(); 1443 sizeMappingArray.forEach(function (entry) { 1444 var viewportSize = entry[0]; 1445 var adSizes = entry[1]; 1446 mapping.addSize(viewportSize, adSizes); 1447 }); 1448 1449 var sizeMapping = mapping.build(); 1450 // Create a new ad slot, pointing to the slotName given to this function 1451 var slot = window.googletag.defineSlot(adUnitString, sizesArray, slotName) 1452 .defineSizeMapping(sizeMapping) 1453 .addService(window.googletag.pubads()); 1454 1455 // Add any targeting or any other modifications to the ad here 1456 if (adTargetingArray) { 1457 for (let key in adTargetingArray) { 1458 if (adTargetingArray.hasOwnProperty(key)) { 1459 slot.setTargeting(key, adTargetingArray[key]) 1460 } 1461 } 1462 } 1463 1464 // Display the new ad 1465 window.googletag.display(slotName); 1466 window.googletag.pubads().refresh([slot]); 1467 }); 1468 } 1469 1470 /** 1471 * Dynamically generates an ad and inserts it into the template when the Viafoura trending conversations widget requests an ad. 1472 * @param {String} slotName - id of the element to render the ad in 1473 */ 1474 function requestConversationStarter(slotName) { 1475 let viafouraAd = document.querySelector('[data-engagement-ad-enable="true"]'); 1476 // Generate next slot name 1477 var adUnitString = viafouraAd.getAttribute('data-slot-name') || ''; 1478 1479 var sizesAttribute = viafouraAd.getAttribute('data-slot-sizes'); 1480 var sizesArray = JSON.parse(sizesAttribute); 1481 1482 var sizeMappingString = viafouraAd.getAttribute('data-slot-adsizemap') 1483 var sizeMappingArray = JSON.parse(sizeMappingString); 1484 1485 var adTargetingAttribute = viafouraAd.getAttribute('data-targeting') 1486 var adTargetingArray = JSON.parse(adTargetingAttribute); 1487 1488 // Define the slot itself, call display() to 1489 // register the div and refresh() to fetch the ad. 1490 window.googletag.cmd.push(function() { 1491 // Destroy any lingering ad slots if they exist in the widget 1492 const slots = window.googletag.pubads().getSlots() 1493 .filter((slot) => slot.getSlotElementId() === slotName); 1494 window.googletag.destroySlots(slots); 1495 // Define ad sizes based on viewport size 1496 // NOTE ads are not responsive but new ads will be rendered to the appropriate size 1497 // Adapted from https://support.google.com/dfp_premium/answer/4578089?hl=en#responsiveDesign 1498 var mapping = googletag.sizeMapping(); 1499 sizeMappingArray.forEach(function (entry) { 1500 var viewportSize = entry[0]; 1501 var adSizes = entry[1]; 1502 mapping.addSize(viewportSize, adSizes); 1503 }); 1504 1505 var sizeMapping = mapping.build(); 1506 1507 // Create a new ad slot, pointing to the slotName given to this function 1508 var slot = window.googletag.defineSlot(adUnitString, sizesArray, slotName) 1509 .defineSizeMapping(sizeMapping) 1510 .addService(window.googletag.pubads()); 1511 1512 // Add any targeting or any other modifications to the ad here 1513 if (adTargetingArray) { 1514 for (let key in adTargetingArray) { 1515 if (adTargetingArray.hasOwnProperty(key)) { 1516 slot.setTargeting(key, adTargetingArray[key]) 1517 } 1518 } 1519 } 1520 1521 // Display the new ad 1522 window.googletag.display(slotName); 1523 window.googletag.pubads().refresh([slot]); 1524 }); 1525 } 1526 1527 // Subscribe to the viafoura event when the viafoura object is ready 1528 window.vfQ = window.vfQ || []; 1529 1530 window.vfQ.push(function() { 1531 window.vf.$subscribe('vf-ads', 'requestCommentAd', generateCommentAd); 1532 window.vf.$subscribe('vf-ads', 'requestLiveblogAd', generateLiveblogAd); 1533 window.vf.$subscribe('vf-ads', 'requestConversationStarter', requestConversationStarter); 1534 }); 1535 </script>
1535 1536 1537 1538 1539
1539<script src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/webcomponents-loader/webcomponents-loader.ce44f83d1399e8dd41e607b70e0642c9.gz.js"></script>
1539 1540 1541
1541<script> 1542 /** 1543 This allows us to load the IE polyfills via feature detection so that they do not load 1544 needlessly in the browsers that do not need them. It also ensures they are loaded 1545 non async so that they load before the rest of our JS. 1546 */ 1547 var head = document.getElementsByTagName('head')[0]; 1548 if (!window.CSS || !window.CSS.supports || !window.CSS.supports('--fake-var', 0)) { 1549 var styleGuideScript = document.createElement('script'); 1550 styleGuideScript.setAttribute('src', "https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/util/IEPolyfills.min.a285ec4d47a7c3beb88cd1008acd98bb.gz.js"); 1551 styleGuideScript.setAttribute('type', 'text/javascript'); 1552 styleGuideScript.async = false; 1553 head.appendChild(styleGuideScript); 1554 } 1555 </script>
1555 1556 1557
1557<script> 1558 window.dataLayer = [] 1559 window.paywall = window['paywall'] || [] 1560 </script>
1560 1561 1562
1562<script type='text/javascript'> 1563 1564 let section = ""; 1565 let data_tags = []; 1566 let page_category; 1567 let pathname = window.location.pathname; 1568 let contentType = "account page"; 1569 let articleSourceLabel = ""; 1570 1571 if (pathname === '/') { 1572 section = "home" 1573 page_category = "Homepage" 1574 data_tags.push('sectionfront') 1575 } 1576 else if ((contentType === "article") || (contentType === "paidUserContent") || (contentType === "gallery") || (contentType === "video")) { 1577 pathname = pathname.split('/'); 1578 if (pathname.length > 2){ 1579 section = pathname[1]; 1580 } 1581 page_category = pathname[1]; 1582 1583 for (i = 2; i < pathname.length - 1; i++) { 1584 section += '/' + pathname[i] 1585 } 1586 } 1587 else { 1588 pathname = pathname.split('/'); 1589 section = pathname[1] 1590 page_category = pathname[1] 1591 let title = "St. Cloud Live | Account Page" 1592 let formattedTitle = title.toLowerCase() 1593 let formattedSection = section.toLowerCase() 1594 if (formattedSection === formattedTitle) { 1595 data_tags.push('sectionfront') 1596 } 1597 1598 for (i = 2; i < pathname.length; i++) { 1599 section += '/' + pathname[i] 1600 } 1601 } 1602 1603 if (page_category === undefined) { 1604 page_category = "article" 1605 } 1606 1607 if (section === ""){ 1608 section = "unknown"; 1609 } 1610 1611 1612 1613 1614 let authorName = ""; 1615 1616 1617 1618 if (authorName === ""){ 1619 authorName = "not set"; 1620 } 1621 1622 let data_layer_obj = { 1623 "articleId": "0000018a-fb84-dafc-adbb-fbc6eeca0000", 1624 "articleTitle": "St. Cloud Live | Account Page", 1625 "pageDescription": "", 1626 "site": window.location.hostname, 1627 "tags": data_tags, 1628 "url": window.location.pathname, 1629 "FCC_SectionName": section.toLowerCase(), 1630 "FCC_ContentType": "account page", 1631 "FCC_PublishDate": "", 1632 "FCC_ArticleSource": articleSourceLabel 1633 } 1634 1635 dataLayer.push({'page_category': page_category}); 1636 dataLayer.push(data_layer_obj); 1637 if ((contentType === "article") || (contentType === "video") || (contentType === "generated content") || (contentType === "podcast")){ 1638 1639 dataLayer.push({"FCC_Author": authorName}); 1640 1641 } 1642 1643 let fccUserStatusCookie = getForumCookie("_fcc_user_status"); 1644 if (fccUserStatusCookie === "") { 1645 fccUserStatusCookie = "unknown"; 1646 } 1647 dataLayer.push({"FCC_UserStatus": fccUserStatusCookie}); 1648</script>
1648 1649 1650 1651
1651<script src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/styleguide/All.min.9c687352b7cf21e9f3e4c42a3b5146f0.gz.js" async></script>
1651 1652 1653 1654<!-- Google Tag Manager -->
1655<script>
vendor: 355 bytes, lines 1655-1659
1655(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1656 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1657 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 1658 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1659})(window,document,'script','dataLayer','
1659GTM-K29394N
vendor: 3 bytes, line 1659
1659');
1659</script>
1659 1660<!-- End Google Tag Manager -->
1661<script async="async" src="https://www.googletagservices.com/tag/js/gpt.js"></script>
1661<script type="text/javascript"> 1662 window.googletag = window.googletag || {cmd: []}; 1663 // setup of ad slots 1664 var dfpAdSlotsObject = {} 1665 var dfpAdSlots = [] 1666 var dfpAdIds = [] 1667 var staticAdSlots = [] 1668</script>
1668 1669
1670<script type="text/javascript"> 1671 // DFP Enable services 1672 var dfpEnableLazyLoad; 1673 googletag.cmd.push(function () { 1674 if (typeof Storage !== "undefined") { 1675 var targetingParamStr = localStorage.getItem("bcDFPTargetingParams"); 1676 1677 if (targetingParamStr) { 1678 var targetingParameters = JSON.parse(targetingParamStr); 1679 1680 // set page-level targeting parameters 1681 for (let i = 0; i < targetingParameters.length; i++) { 1682 window.googletag.pubads().setTargeting(targetingParameters[i].key, targetingParameters[i].value); 1683 } 1684 } 1685 } 1686 // DFP lazyLoad 1687 dfpEnableLazyLoad = true; 1688 var dfpMobileScaling = 2.0; 1689 var dfpFetchMarginPercent = 200; 1690 var dfpRenderMarginPercent = Math.round(100); 1691 window.googletag.pubads().enableLazyLoad({ 1692 fetchMarginPercent: dfpFetchMarginPercent, 1693 renderMarginPercent: dfpRenderMarginPercent, 1694 mobileScaling: dfpMobileScaling 1695 });googletag.pubads().disableInitialLoad(); 1696 googletag.enableServices(); 1697 }); 1698</script>
1698 1699
1700<script> 1701 1702 window.fbAsyncInit = function() { 1703 FB.init({ 1704 1705 appId : '1236542657263794', 1706 1707 xfbml : true, 1708 version : 'v2.9' 1709 }); 1710 }; 1711 1712 (function(d, s, id){ 1713 var js, fjs = d.getElementsByTagName(s)[0]; 1714 if (d.getElementById(id)) {return;} 1715 js = d.createElement(s); js.id = id; 1716 js.src = "//connect.facebook.net/en_US/sdk.js"; 1717 fjs.parentNode.insertBefore(js, fjs); 1718 }(document, 'script', 'facebook-jssdk')); 1719</script>
vendor: 1 bytes, line 1719
1719
1720<script src="https://ak.sail-horizon.com/spm/spm.v1.min.js" 1721 ></script>
vendor: 1 bytes, line 1721
1721
1722<script>Sailthru.init({ customerId: '5a76b1ba23dbeef7ab4916928a3057cd' });</script>
1722 1723 1724
1724<script async="async" src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/staticjs/prebid11.0.0.0c45189d6c8c1d5b5978fce0a99c01f4.gz.js"></script>
1724 1725 1726
1726<script type="text/javascript"> 1727 var enablePrebid = true; 1728 var bidderTimeout = 3000; 1729 var GRANULARITY = 'dense'; 1730 var desktopSizes = [ 1731 [970, 250], 1732 [300, 600], 1733 [970, 90], 1734 [728, 90], 1735 [300, 250], 1736 [468, 60] 1737 ]; 1738 var tabletSizes = [[728, 90], [300, 600], [300, 250]]; 1739 var phoneSizes = [[320, 100], [320, 50], [300, 250]]; 1740 1741 // Generic ad mapping used for dynamic sizing 1742 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]]; 1743 var ad_mapping_desktop = [[980, 330], [728, 90], [960, 200], [930, 180], [970, 90], [970, 250], [970, 66], [980, 120], [300, 250], [300, 600]]; 1744 var ad_mapping_tablet = [[728, 90], [300, 600], [300, 250], [100, 25]]; 1745 var ad_mapping_phone = [[320, 100], [320, 50], [300, 50], [300, 600], [300, 250], [250, 250], [320, 100]]; 1746 var sizeConfig = [{ 1747 'mediaQuery': '(min-width: 1275px)', 1748 'sizesSupported': ad_mapping_large_desktop, 1749 'labels': ['large-desktop'] 1750 }, { 1751 'mediaQuery': '(min-width: 1000px) and (max-width: 1274px)', 1752 'sizesSupported': ad_mapping_desktop, 1753 'labels': ['desktop'] 1754 }, { 1755 'mediaQuery': '(min-width: 760px) and (max-width: 999px)', 1756 'sizesSupported': ad_mapping_tablet, 1757 'labels': ['tablet'] 1758 }, { 1759 'mediaQuery': '(min-width: 0px) and (max-width: 759px)', 1760 'sizesSupported': ad_mapping_phone, 1761 'labels': ['phone'] 1762 }]; 1763 var priceBucket = { 1764 "buckets": [ 1765 { 1766 "precision": 2, //default is 2 if omitted - means 2.1234 rounded to 2 decimal places = 2.12 1767 "min": 0, 1768 "max": 4.50, 1769 "increment": 0.01 1770 }, 1771 { 1772 "precision": 2, 1773 "min": 4.50, 1774 "max": 10, 1775 "increment": 0.05 1776 }, 1777 { 1778 "precision": 2, 1779 "min": 10, 1780 "max": 20, 1781 "increment": 0.10 1782 }, 1783 { 1784 "precision": 2, 1785 "min": 20, 1786 "max": 50, 1787 "increment": 0.25 1788 }, 1789 { 1790 "precision": 2, 1791 "min": 50, 1792 "max": 100, 1793 "increment": 0.50 1794 } 1795 ] 1796 }; 1797 var confSetConfig = { 1798 enableTIDs: true, 1799 priceGranularity: priceBucket, 1800 // debug: true, 1801 // cache: { 1802 // url: false 1803 // }, 1804 userSync: { 1805 filterSettings: { 1806 iframe: { 1807 bidders: '*', // '*' means all bidders 1808 filter: 'include' 1809 } 1810 }, 1811 syncsPerBidder: 10, // and no more than 10 syncs at a time 1812 syncDelay: 10000, // 10 seconds after the auction 1813 }, 1814 sizeConfig: sizeConfig 1815 }; 1816 </script>
1816 1817 1818 <fcc-first-entry-campaign id="First-entry-campaign" showFirstEntryCampaign="false"></fcc-first-entry-campaign> 1819 1820
1820<script> 1821 var link = document.createElement('link'); 1822 link.setAttribute( 1823 'href', 1824 '//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' 1825 ) 1826 var relList = link.relList; 1827 if (relList && relList.supports('preload')) { 1828 link.setAttribute('as', 'style'); 1829 link.setAttribute('rel', 'preload'); 1830 link.setAttribute('onload', 'this.rel="stylesheet"'); 1831 link.setAttribute('crossorigin', 'anonymous'); 1832 } else { 1833 link.setAttribute('rel', 'stylesheet'); 1834 } 1835 head.appendChild(link); 1836 </script>
1836 1837 1838
1838<script type="text/javascript"> 1839 (function () { 1840 function clickEpaper() { 1841 let epaperLink = "https://epaper.stcloudlive.com/"; 1842 function redirectToEpaper() { 1843 window.location.href = epaperLink; 1844 } 1845 redirectToEpaper(); 1846 } 1847 1848 function clickYellowSubscribe(subscribeUrl, offerTitle, clickClass) { 1849 // sophi User Properties - Subscribe button click 1850 try { 1851 demeter("userProperties", { 1852 args: { 1853 2: true, 1854 } 1855 }); 1856 } catch (err) { 1857 console.log("sophi not loaded to page") 1858 } 1859 // calls clickSubscribe to fulfill subscribe button duties 1860 clickSubscribe(subscribeUrl, offerTitle, clickClass) 1861 } 1862 1863 function clickOfferSubscribe(subscribeUrl, offerTitle, clickClass) { 1864 // datalayer push for subscribe offers 1865 let subscribeOfferData = { 1866 subscribe_offer_title: offerTitle 1867 } 1868 1869 dataLayer.push({'event': 'subscribe_offer_selected', ...subscribeOfferData}); 1870 1871 clickSubscribe(subscribeUrl, offerTitle, clickClass) 1872 } 1873 1874 function clickSubscribe(subscribeUrl, offerTitle, clickClass) { 1875 try { 1876 enterSophiSubscriptionFunnel() 1877 } catch { 1878 console.log("Subscription Funnel: Sophi not loaded to page") 1879 } 1880 1881 offerTitle = offerTitle || ''; 1882 clickClass = clickClass || ''; 1883 1884 if (getForumCookie('_fcc_utm_campaign') == '') { 1885 createCampaignCookie(subscribeUrl, offerTitle); 1886 } 1887 if (!isNavigaTemplate(subscribeUrl, clickClass)) { 1888 window.location.href = updateUrlCampaignParameters(subscribeUrl, clickClass); 1889 } 1890 } 1891 function isNavigaTemplate(url, clickClass) { 1892 let subscribeLinks = document.getElementsByClassName('subscribe-button'); 1893 for (let i = 0; i < subscribeLinks.length; i++) { 1894 if (subscribeLinks[i].href === url) { 1895 subscribeLinks[i].setAttribute( 1896 'href', 1897 updateUrlCampaignParameters(url, clickClass) 1898 ); 1899 return true; 1900 } 1901 } 1902 return false; 1903 } 1904 // For G2I to work correctly, all three parameters must be present 1905 // otherwise the parameters will not be recorded 1906 function hasAllParams(queryString) { 1907 let hasUtmCampaign = 1908 queryString.includes('utm_source') && 1909 queryString.includes('utm_medium') && 1910 queryString.includes('utm_campaign'); 1911 let hasG2iCampaign = 1912 queryString.includes('g2i_source') && 1913 queryString.includes('g2i_medium') && 1914 queryString.includes('g2i_campaign'); 1915 return hasUtmCampaign || hasG2iCampaign; 1916 } 1917 function createCampaignCookie(tempQueryString, offerTitle) { 1918 offerTitle = offerTitle || ''; 1919 let source = ''; 1920 let medium = ''; 1921 let campaign = ''; 1922 let queryString = tempQueryString 1923 .replace('?', '&') 1924 .replace('utm_source', 'g2i_source') 1925 .replace('utm_medium', 'g2i_medium') 1926 .replace('utm_campaign', 'g2i_campaign'); 1927 let queryStringParams = queryString.split('&'); 1928 for (let i = 0; i < queryStringParams.length; i++) { 1929 let tempString = queryStringParams[i]; 1930 let tempArr = tempString.split('=') || []; 1931 if (tempString.includes('g2i_source') && source === '') { 1932 source = '&'.concat('g2i_source=', encodeURIComponent(tempArr[1])); 1933 } 1934 if (tempString.includes('g2i_medium') && medium === '') { 1935 medium = '&'.concat('g2i_medium=', encodeURIComponent(tempArr[1])); 1936 } 1937 if (tempString.includes('g2i_campaign') && campaign === '') { 1938 campaign = '&'.concat('g2i_campaign=', encodeURIComponent(tempArr[1])); 1939 } 1940 } 1941 // Sets the default values for the cookie 1942 if (source === '') { 1943 source = '&g2i_source=Brightspot'; 1944 } 1945 if (medium === '' && offerTitle !== '') {
1946 if (offerTitle.includes('Print + Digital')) { 1947 medium = 'combo'; 1948 } else { 1949 medium = offerTitle.toLowerCase().replaceAll(' ', '_'); 1950 } 1951 medium = '&g2i_medium=' + encodeURIComponent(medium); 1952 } else if (medium === '') { 1953 // ! what should the medium be if the offerTitle is empty? 1954 medium = '&g2i_medium=unknown'; 1955 } 1956 if (campaign === '') { 1957 campaign = '&g2i_campaign=no_campaign'; 1958 } 1959 setForumCookie('_fcc_utm_campaign', source.concat(medium, campaign), 0); 1960 } 1961 function addReturnUrl(url) { 1962 if (!url.includes('returnUrl')) { 1963 let returnUrl = ""; 1964 let currentUrl = document.location.href; 1965 // Determine if the currentUrl already has a returnUrl 1966 if (currentUrl.includes("returnUrl")) { 1967 returnUrl = currentUrl.split("returnUrl=")[1]; 1968 } else if (currentUrl.includes('/subscribe')) { 1969 // If on the subscribe page, use the referrer 1970 returnUrl = document.referrer; 1971 } else { 1972 // Otherwise, use the current URL 1973 returnUrl = currentUrl; 1974 } 1975 url = url.concat('&returnUrl=', encodeURIComponent(returnUrl)); 1976 } 1977 return url; 1978 } 1979 // Ensures that the URL being passed to it contains all 3 G2I parameters, and adds them if they dont exist 1980 function updateUrlCampaignParameters(navigaSubscribeUrl, clickClass) { 1981 clickClass = clickClass || ''; 1982 navigaSubscribeUrl = navigaSubscribeUrl || ''; 1983 let tempUrl = navigaSubscribeUrl; 1984 let queryString = navigaSubscribeUrl?.split('?'); 1985 let hrefQueryString = (queryString.length > 1) ? queryString[1] : ''; 1986 let campaignCookie = getForumCookie('_fcc_utm_campaign'); 1987 // If the URL does not contain any parameters 1988 if (hrefQueryString === '') { 1989 tempUrl = navigaSubscribeUrl.concat(campaignCookie.replace('&', '?')); 1990 if (clickClass === 'Page-header-subscribe') { 1991 dataLayer.push({'subscribe_button_url': tempUrl }); 1992 } 1993 return addReturnUrl(tempUrl); 1994 } 1995 if (hasAllParams(navigaSubscribeUrl)) { 1996 if (clickClass === 'Page-header-subscribe') { 1997 dataLayer.push({'subscribe_button_url': navigaSubscribeUrl }); 1998 } 1999 return addReturnUrl(navigaSubscribeUrl); 2000 } else { 2001 if (!hrefQueryString.includes('g2i_source')) { 2002 tempUrl = tempUrl.concat('&g2i_source=Brightspot'); 2003 } else if (!hrefQueryString.includes('g2i_medium')) { 2004 tempUrl = tempUrl.concat('&g2i_medium=unknown'); 2005 } else if (!hrefQueryString.includes('g2i_campaign')) { 2006 tempUrl = tempUrl.concat('&g2i_campaign=no_campaign'); 2007 } 2008 if (clickClass === 'Page-header-subscribe') { 2009 dataLayer.push({'subscribe_button_url': tempUrl }); 2010 } 2011 return addReturnUrl(tempUrl); 2012 } 2013 } 2014 // Check for query string parameters with campaign codes 2015 // and FCC UTM Campaign cookie 2016 let queryString = document.location.search; 2017 if ( 2018 getForumCookie('_fcc_utm_campaign') === '' && 2019 queryString !== '' && 2020 hasAllParams(queryString) 2021 ) { 2022 createCampaignCookie(queryString); 2023 } 2024 2025 ensureUserIsSet().then(function(){ 2026 if (window?.user.status === 'subscribed') { 2027 let ownedSubs = Connext.Storage.GetUserData().OwnedSubscriptions; 2028 for (const ownedSub of ownedSubs) { 2029 if (ownedSub.PaperCode === 'SLS') { 2030 setForumCookie('_fcc_sls_subscribed', true, 0); 2031 } 2032 } 2033 } 2034 else { 2035 setForumCookie('_fcc_sls_subscribed', false, 0); 2036 } 2037 }); 2038 2039 Object.assign(window, { 2040 clickEpaper: clickEpaper, 2041 clickSubscribe: clickSubscribe, 2042 clickYellowSubscribe: clickYellowSubscribe, 2043 clickOfferSubscribe: clickOfferSubscribe 2044 }); 2045 })(); 2046 </script>
2046 2047</head> 2048 2049<body class="Page-body AccountPage-body" data-header-hat="true" 2050 2051 2052>
2053<script type="module"> 2054 ensureUserIsSet().then(function() { 2055 if (user.status === 'anonymous') { 2056 window.login(); 2057 } 2058 }); 2059</script>
2059 2060 2061 2062 2063<svg xmlns='http://www.w3.org/2000/svg' style='display:none' id='iconsMap'> 2064 <symbol id='account' viewBox='0 0 24 24'> 2065 <path 2066 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' /> 2067 </symbol> 2068 <symbol id='mono-icon-Facebook' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'> 2069 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2070 <path 2071 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' /> 2072 </symbol> 2073 <symbol id='mono-icon-Instagram' viewBox='0 0 448 512'> 2074 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2075 <path 2076 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' /> 2077 </symbol> 2078 <symbol id='mono-icon-Mailto' viewBox='0 0 512 512'> 2079 <path 2080 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' /> 2081 </symbol> 2082 <symbol id='mono-icon-Print' viewBox='0 0 512 512'> 2083 <path 2084 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' /> 2085 </symbol>
2086 <symbol id='mono-icon-Copylink' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'> 2087 <path 2088 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' 2089 fill='#666666' /> 2090 </symbol> 2091 <symbol id='mono-icon-Linkedin' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'> 2092 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2093 <path 2094 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' /> 2095 </symbol> 2096 <symbol id='mono-icon-Pinterest' viewBox='0 0 496 512'> 2097 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2098 <path 2099 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' /> 2100 </symbol> 2101 <symbol id='mono-icon-Reddit' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'> 2102 <path 2103 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
210369 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' 2104 fill='#FF5700' /> 2105 </symbol> 2106 <symbol id='mono-icon-Tumblr' viewBox='0 0 320 512' xmlns='http://www.w3.org/2000/svg'> 2107 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2108 <path 2109 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' /> 2110 </symbol> 2111 <symbol id='mono-icon-Twitter' viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'> 2112 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2113 <path 2114 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' /> 2115 2116 </symbol> 2117 <symbol id='mono-icon-Youtube' viewBox='0 0 576 512' xmlns='http://www.w3.org/2000/svg'> 2118 <!--! Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --> 2119 <path 2120 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' /> 2121 </symbol> 2122 <symbol id='icon-magnify' viewBox='0 0 14 15' id='.02232631230241955' xmlns='http://www.w3.org/2000/svg'> 2123 <path 2124 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' /> 2125 </symbol> 2126 <symbol id='burger-menu' viewBox='0 0 16 14' fill='none' xmlns='http://www.w3.org/2000/svg'> 2127 <path 2128 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' 2129 fill='#292929' /> 2130 </symbol> 2131 <symbol id='close-x' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'> 2132 <g> 2133 <path fill-rule='nonzero' 2134 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'> 2135 </path> 2136 </g> 2137 </symbol> 2138 <symbol id='hamburger-close-x' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'> 2139 <path 2140 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
21406875 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' 2141 fill='#292929' /> 2142 </symbol> 2143 <symbol id='share-more-arrow' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;'> 2144 <g> 2145 <g> 2146 <path 2147 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 2148 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 2149 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 2150 l163.568,163.568L304.621,405.267V294.531l-13.585-1.683C279.347,291.401,267.439,290.666,255.642,290.666z'> 2151 </path> 2152 </g> 2153 </g> 2154 </symbol> 2155 <symbol id='chevron' viewBox='0 0 100 100'> 2156 <g> 2157 <path 2158 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' 2159 id='Transparent-Chevron' 2160 transform='translate(22.500000, 50.000000) rotate(90.000000) translate(-22.500000, -50.000000) '></path> 2161 </g> 2162 </symbol> 2163 <symbol id='chevron-down' viewBox='0 0 10 6' id='.6176193135071357' xmlns='http://www.w3.org/2000/svg'> 2164 <path 2165 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' 2166 fill-rule='evenodd' /> 2167 </symbol> 2168 <symbol id='chevron-up' viewBox='0 0 284.929 284.929' id='.23966926540656042' xmlns='http://www.w3.org/2000/svg'> 2169 <path 2170 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' /> 2171 </symbol> 2172 <symbol id='angle-up' viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'> 2173 <!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> 2174 <path 2175 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' /> 2176 </symbol> 2177 <symbol id='icon-arrow-down' viewBox='0 0 10 6' id='.6525395694941032' xmlns='http://www.w3.org/2000/svg'> 2178 <path 2179 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' 2180 fill='inherit' fill-rule='evenodd' /> 2181 </symbol> 2182 <symbol id='play-arrow' viewBox='0 0 30 30'> 2183 <g fill-rule='evenodd'> 2184 <path d='M9 9l12 6-12 6z'></path> 2185 </g> 2186 </symbol> 2187 <symbol id='grid' viewBox='0 0 32 32'> 2188 <g> 2189 <path 2190 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' 2191 id='ï¿'></path> 2192 </g> 2193 </symbol> 2194 <symbol id='filter' viewBox='0 0 16 12'> 2195 <path d='M0 2V0h16v2H0zm2.4 5V5h11.2v2H2.4zm2.4 5v-2h6.4v2H4.8z'></path> 2196 </symbol> 2197 <symbol id='icon-filter' viewBox='0 0 512 512'> 2198 <path fill='currentColor' 2199 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'> 2200 </path> 2201 </symbol>
2202 <symbol id='icon-radio-on' viewBox='0 0 24 24'> 2203 <path fill='currentColor' fill-rule='nonzero' 2204 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' /> 2205 </symbol> 2206 <symbol id='icon-radio-off' viewBox='0 0 24 24'> 2207 <path fill='currentColor' fill-rule='nonzero' 2208 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' /> 2209 </symbol> 2210 <symbol id='newspaper' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'> 2211 <path 2212 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.
2212125H2.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' 2213 fill='#007DB3' /> 2214 </symbol> 2215 <symbol id='bell' viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'> 2216 <!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> 2217 <path 2218 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' /> 2219 </symbol> 2220</svg> 2221 2222<bsp-header class="Page-header" data-nav-alignment="right"> 2223 2224 <div class="Page-header-hamburger-menu"> 2225 <div class="Page-header-hamburger-menu-wrapper"> 2226 <div class="Page-header-hamburger-menu-content"> 2227 2228 <a onclick="clickYellowSubscribe('/subscribe?g2i_source=Brightspot&g2i_medium=subscribe_button', '', 'Page-header-subscribe')" class="Page-header-subscribe" data-cms-ai="0"> 2229 <span class="Page-header-subscribe-title">Just $2 for 6 months</span> 2230 <span class="Page-header-subscribe-cost">SUBSCRIBE NOW</span> 2231 </a> 2232 2233 <div class="Page-header-hamburger-menu-main"> 2234 2235 2236 <nav class="Navigation"> 2237 2238 <ul class="Navigation-items"> 2239 2240 <li class="Navigation-items-item" > 2241 <div class="NavigationItem " data-item-click="true" > 2242 <div class="NavigationItem-text"> 2243 2244 <a href="https://epaper.stcloudlive.com/" target="_blank" data-cms-ai="0">ð°SCL e-edition</a> 2245 2246 2247 </div> 2248 2249 2250</div> 2251 2252 2253 </li> 2254 2255 <li class="Navigation-items-item" > 2256 <div class="NavigationItem " data-item-click="true" > 2257 <div class="NavigationItem-text"> 2258 2259 <a href="https://www.stcloudlive.com/sports/team-of-the-week" data-cms-ai="0">ð¥Team of the week</a> 2260 2261 2262 </div> 2263 2264 2265</div> 2266 2267 2268 </li> 2269 2270 <li class="Navigation-items-item" > 2271 <div class="NavigationItem " data-item-click="true" > 2272 <div class="NavigationItem-text"> 2273 2274 <a href="https://advertising.forumcomm.com/" target="_blank" data-cms-ai="0">ð£Advertise with us</a> 2275 2276 2277 </div> 2278 2279 2280</div> 2281 2282 2283 </li> 2284 2285 <li class="Navigation-items-item" > 2286 <div class="NavigationItem " data-item-click="true" > 2287 <div class="NavigationItem-text"> 2288 2289 <a href="https://www.stcloudlive.com/news/political-perspectives" data-cms-ai="0">ð³ï¸Political poll</a> 2290 2291 2292 </div> 2293 2294 2295</div> 2296 2297 2298 </li> 2299 2300 <li class="Navigation-items-item" > 2301 <div class="NavigationItem " data-item-click="true" > 2302 <div class="NavigationItem-text"> 2303 2304 <a href="https://www.stcloudlive.com/topics/biz-buzz" data-cms-ai="0">ðBiz Buzz</a> 2305 2306 2307 </div> 2308 2309 2310</div> 2311 2312 2313 </li> 2314 2315 <li class="Navigation-items-item" > 2316 <div class="NavigationItem " data-item-click="true" > 2317 <div class="NavigationItem-text"> 2318 2319 <a href="https://www.stcloudlive.com/lifestyle/arts-and-entertainment/puzzles" data-cms-ai="0">ð§©Puzzles + Comics</a> 2320 2321 2322 </div> 2323 2324 2325</div> 2326 2327 2328 </li> 2329 2330 <li class="Navigation-items-item" > 2331 <div class="NavigationItem " data-item-click="true" > 2332 <div class="NavigationItem-text"> 2333 2334 <a href="https://www.stcloudlive.com/obituaries" data-cms-ai="0">ð¯ï¸Obituaries</a> 2335 2336 2337 </div> 2338 2339 2340</div> 2341 2342 2343 </li> 2344 2345 </ul> 2346 2347</nav> 2348 2349 2350 </div>
2351 <div class="Page-header-hamburger-menu-sections"> 2352 2353 <nav class="Navigation"> 2354 2355 <ul class="Navigation-items"> 2356 2357 <li class="Navigation-items-item" > 2358 <div class="NavigationItem " data-item-click="true" > 2359 <div class="NavigationItem-text"> 2360 2361 <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> 2362 2363 2364 </div> 2365 2366 2367</div> 2368 2369 2370 </li> 2371 2372 <li class="Navigation-items-item" > 2373 <div class="NavigationItem " data-item-click="true" > 2374 <div class="NavigationItem-text"> 2375 2376 <a href="https://www.stcloudlive.com/sponsored-content" data-cms-ai="0">Sponsored Content</a> 2377 2378 2379 </div> 2380 2381 2382</div> 2383 2384 2385 </li> 2386 2387 <li class="Navigation-items-item" > 2388 <div class="NavigationItem has-menu" data-item-click="true" > 2389 <div class="NavigationItem-text"> 2390 2391 <a href="https://www.stcloudlive.com/news" data-cms-ai="0">News</a> 2392 2393 2394 <div class="NavigationItem-more"> 2395 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2396 </div> 2397 2398 </div> 2399 2400 2401 <ul class="NavigationItem-items" > 2402 2403 2404 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/news/local" data-cms-ai="0">Local</a> 2405</li> 2406 2407 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/news/minnesota" data-cms-ai="0">Minnesota</a> 2408</li> 2409 2410 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/schools/st-cloud-technical-and-community-college" data-cms-ai="0">SCTCC</a> 2411</li> 2412 2413 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/news/the-vault" data-cms-ai="0">The Vault</a> 2414</li> 2415 2416 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.agweek.com" target="_blank" data-cms-ai="0">Agweek</a> 2417</li> 2418 2419 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/announcements" data-cms-ai="0">Announcements</a> 2420</li> 2421 2422 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/forum-news-network" data-cms-ai="0">Forum News Network</a> 2423</li> 2424 2425 2426 </ul> 2427 2428</div> 2429 2430 2431 </li> 2432 2433 <li class="Navigation-items-item" > 2434 <div class="NavigationItem " data-item-click="true" > 2435 <div class="NavigationItem-text"> 2436 2437 <a href="https://www.stcloudlive.com/weather" data-cms-ai="0">Weather</a> 2438 2439 2440 </div> 2441 2442 2443</div> 2444 2445 2446 </li> 2447 2448 <li class="Navigation-items-item" > 2449 <div class="NavigationItem has-menu" data-item-click="true" > 2450 <div class="NavigationItem-text"> 2451 2452 <a href="https://www.stcloudlive.com/sports" data-cms-ai="0">Sports</a> 2453 2454 2455 <div class="NavigationItem-more"> 2456 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2457 </div> 2458 2459 </div> 2460 2461 2462 <ul class="NavigationItem-items" > 2463 2464 2465 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/sports/prep" data-cms-ai="0">Prep</a> 2466</li> 2467 2468 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/sports/st-cloud-rox" data-cms-ai="0">St. Cloud Rox</a> 2469</li> 2470 2471 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/sports/college" data-cms-ai="0">College</a> 2472</li> 2473 2474 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/sports/college/sjufootball" data-cms-ai="0">Johnnies Football</a> 2475</li> 2476 2477 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/sports/st-cloud-live-sports-spotlight" data-cms-ai="0">Sports Spotlight</a> 2478</li> 2479 2480 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/sports/college/huskies-hockey" data-cms-ai="0">Huskies Hockey</a> 2481</li> 2482 2483 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/sports/northland-outdoors" data-cms-ai="0">Northland Outdoors</a> 2484</li> 2485 2486 2487 </ul> 2488 2489</div> 2490 2491 2492 </li> 2493 2494 <li class="Navigation-items-item" > 2495 <div class="NavigationItem " data-item-click="true" > 2496 <div class="NavigationItem-text"> 2497 2498 <a href="https://www.stcloudlive.com/obituaries" data-cms-ai="0">Obituaries</a> 2499 2500 2501 </div> 2502 2503 2504</div> 2505 2506 2507 </li> 2508 2509 <li class="Navigation-items-item" > 2510 <div class="NavigationItem " data-item-click="true" > 2511 <div class="NavigationItem-text"> 2512 2513 <a href="https://www.stcloudlive.com/health" data-cms-ai="0">Health</a> 2514 2515 2516 </div> 2517 2518 2519</div> 2520 2521 2522 </li> 2523 2524 <li class="Navigation-items-item" > 2525 <div class="NavigationItem has-menu" data-item-click="true" > 2526 <div class="NavigationItem-text"> 2527 2528 <a href="https://www.stcloudlive.com/business" data-cms-ai="0">Business</a> 2529 2530 2531 <div class="NavigationItem-more"> 2532 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2533 </div> 2534 2535 </div> 2536 2537 2538 <ul class="NavigationItem-items" > 2539 2540 2541 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/qbr" target="_self" data-cms-ai="0">Quarterly Business Report</a> 2542</li> 2543 2544 2545 </ul> 2546 2547</div> 2548 2549 2550 </li> 2551 2552 <li class="Navigation-items-item" > 2553 <div class="NavigationItem " data-item-click="true" > 2554 <div class="NavigationItem-text"> 2555 2556 <a href="https://www.stcloudlive.com/opinion/columns" data-cms-ai="0">Columns</a> 2557 2558 2559 </div> 2560 2561 2562</div> 2563 2564 2565 </li> 2566 2567 <li class="Navigation-items-item" > 2568 <div class="NavigationItem " data-item-click="true" > 2569 <div class="NavigationItem-text"> 2570 2571 <a href="https://www.stcloudlive.com/lifestyle/arts-and-entertainment" data-cms-ai="0">Arts and Entertainment</a> 2572 2573 2574 </div> 2575 2576 2577</div> 2578 2579 2580 </li> 2581 2582 <li class="Navigation-items-item" > 2583 <div class="NavigationItem " data-item-click="true" > 2584 <div class="NavigationItem-text"> 2585 2586 <a href="https://www.stcloudlive.com/topics/home-and-garden" data-cms-ai="0">Home / Garden</a> 2587 2588 2589 </div> 2590 2591 2592</div> 2593 2594 2595 </li> 2596 2597 <li class="Navigation-items-item" > 2598 <div class="NavigationItem " data-item-click="true" > 2599 <div class="NavigationItem-text"> 2600 2601 <a href="https://www.stcloudlive.com/calendar" data-cms-ai="0">Calendar</a> 2602 2603 2604 </div> 2605 2606 2607</div> 2608 2609 2610 </li> 2611 2612 <li class="Navigation-items-item" > 2613 <div class="NavigationItem " data-item-click="true" > 2614 <div class="NavigationItem-text"> 2615 2616 <a href="https://www.stcloudlive.com/lifestyle/arts-and-entertainment/puzzles" data-cms-ai="0">Puzzles + Comics</a> 2617 2618 2619 </div> 2620 2621 2622</div> 2623 2624 2625 </li> 2626 2627 <li class="Navigation-items-item" > 2628 <div class="NavigationItem " data-item-click="true" > 2629 <div class="NavigationItem-text"> 2630 2631 <a href="https://www.stcloudlive.com/lifestyle/arts-and-entertainment/games" data-cms-ai="0">Free Games</a> 2632 2633 2634 </div> 2635 2636 2637</div> 2638 2639 2640 </li> 2641 2642 <li class="Navigation-items-item" > 2643 <div class="NavigationItem " data-item-click="true" > 2644 <div class="NavigationItem-text"> 2645 2646 <a href="https://www.stcloudlive.com/podcasts" data-cms-ai="0">Podcasts</a> 2647 2648 2649 </div> 2650 2651 2652</div> 2653 2654 2655 </li> 2656 2657 <li class="Navigation-items-item" > 2658 <div class="NavigationItem has-menu" data-item-click="true" > 2659 <div class="NavigationItem-text"> 2660
2661 <span>Listings</span> 2662 2663 2664 <div class="NavigationItem-more"> 2665 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2666 </div> 2667 2668 </div> 2669 2670 2671 <ul class="NavigationItem-items" > 2672 2673 2674 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://classifieds.forumcomm.com" target="_blank" data-cms-ai="0">Classifieds</a> 2675</li> 2676 2677 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/public-notices" data-cms-ai="0">Public Notices</a> 2678</li> 2679 2680 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://jobshq.com" target="_blank" data-cms-ai="0">JobsHQ</a> 2681</li> 2682 2683 2684 </ul> 2685 2686</div> 2687 2688 2689 </li> 2690 2691 <li class="Navigation-items-item" > 2692 <div class="NavigationItem has-menu" data-item-click="true" > 2693 <div class="NavigationItem-text"> 2694 2695 <a href="/account" target="_self" data-cms-ai="0">Account</a> 2696 2697 2698 <div class="NavigationItem-more"> 2699 <button aria-label="More"><svg class="chevron"><use xlink:href="#chevron-down"></use></svg></button> 2700 </div> 2701 2702 </div> 2703 2704 2705 <ul class="NavigationItem-items" > 2706 2707 2708 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/news-network" data-cms-ai="0">FCC Network</a> 2709</li> 2710 2711 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://myaccount.stcloudlive.com/stcl/myprofile" target="_self" data-cms-ai="0">Profile</a> 2712</li> 2713 2714 <li class="NavigationItem-items-item"><a class="NavigationLink" href="/newsletter" target="_self" data-cms-ai="0">Newletters</a> 2715</li> 2716 2717 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/help-center" data-cms-ai="0">Help</a> 2718</li> 2719 2720 <li class="NavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/subscriber-benefits" data-cms-ai="0">Subscriber Benefits</a> 2721</li> 2722 2723 2724 </ul> 2725 2726</div> 2727 2728 2729 </li> 2730 2731 </ul> 2732 2733</nav> 2734 2735 2736 </div> 2737 </div> 2738 </div> 2739 </div> 2740 2741 2742 2743 <div class="Page-header-bar-logo"><a aria-label="home page" href="/" data-cms-ai="0" > 2744 2745 <img class="PageLogo-image" src="https://cdn.forumcomm.com/dims4/default/45ce84b/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%2F6f%2F41%2F2db47d3d44239448c1b862061027%2Fst.CloudLive-Logo-620x220.png" alt="St. Cloud Live Logo" srcset="https://cdn.forumcomm.com/dims4/default/45ce84b/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%2F6f%2F41%2F2db47d3d44239448c1b862061027%2Fst.CloudLive-Logo-620x220.png 1x,https://cdn.forumcomm.com/dims4/default/2a8cf13/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%2F6f%2F41%2F2db47d3d44239448c1b862061027%2Fst.CloudLive-Logo-620x220.png 2x" width="225" height="80" /> 2746 2747 </a> 2748</div> 2749 2750 2751 <div class="Page-header-bar"> 2752 2753 <button class="Page-header-menu-trigger" aria-expanded="false"> 2754 <svg class="burger-menu"> 2755 <use xlink:href="#burger-menu"> 2756 2757 </use> 2758 </svg> 2759 <svg class="close-x"> 2760 <use xlink:href="#hamburger-close-x"> 2761 2762 </use> 2763 </svg>
2764 <span class="label">Sections</span> 2765 </button> 2766 2767 <div class="Page-header-end"> 2768 2769 <div class="SearchButton"> 2770 <button class="SearchButton-search-button"> 2771 2772 2773 2774 2775 2776 2777 <a id="" href="https://www.stcloudlive.com/search" target="" data-cms-ai="0"> 2778 <svg class="icon-ai-magnify" viewBox="0 0 19 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 2779 <defs> 2780 <linearGradient id="ai_magnify_gradient_svg" x1="9" y1="7.99974" x2="16" y2="0.999744" gradientUnits="userSpaceOnUse"> 2781 <stop offset="0" stop-color="#60AECF"/> 2782 <stop offset="1" stop-color="#007DB3"/> 2783 </linearGradient> 2784 </defs> 2785 2786 <g> 2787 <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" /> 2788 <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)"/> 2789 </g> 2790 </svg> 2791 </a> 2792 2793 2794 2795 </button> 2796</div> 2797 2798 2799 2800 </div> 2801 2802 2803 <div class="BLANK"></div> 2804 2805 2806 <a class="Page-header-subscribe" style="display:none" onclick="clickYellowSubscribe('/subscribe?g2i_source=Brightspot&g2i_medium=subscribe_button', '', 'Page-header-subscribe')" id="MG2Subscribe" data-cms-ai="0"> 2807 <span class="Page-header-subscribe-title">Just $2 for 6 months</span> 2808 <span class="Page-header-subscribe-cost">SUBSCRIBE NOW</span> 2809 </a> 2810 2811 2812 2813 2814 2815 <div class="viafoura"> 2816 <vf-tray-trigger></vf-tray-trigger> 2817 </div> 2818 2819 2820 2821 <a class="Page-header-signIn" style="display: none" id="MG2login" data-mg2-action="login" data-cms-ai="0"> 2822 <svg class="account"> 2823 <use xlink:href="#account"> 2824 </use> 2825 </svg> 2826 <span class="label" id="signIn-label">Log in</span> 2827 </a> 2828 <a href="/account" style="display:none" class="Page-header-signIn" id="MG2MyAccount" data-cms-ai="0"> 2829 <svg class="account"> 2830 <use xlink:href="#account"> 2831 </use> 2832 </svg> 2833 <span class="label" id="signIn-label">Account</span> 2834 </a> 2835 2836 </div> 2837 2838 2839 2840 2841 <a class="Page-header-subscribe" style="display:none" onclick="clickYellowSubscribe('/subscribe?g2i_source=Brightspot&
2841g2i_medium=subscribe_button', '', 'Page-header-subscribe')" id="MG2Subscribe" data-cms-ai="0"> 2842 <span class="Page-header-subscribe-title">Just $2 for 6 months<br></span> 2843 <span class="Page-header-subscribe-cost">SUBSCRIBE NOW</span> 2844 </a> 2845 2846 2847</bsp-header> 2848 2849 2850<svg xmlns="http://www.w3.org/2000/svg" style="display:none"> 2851 <!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --> 2852 <symbol id="account-icon-user" viewBox="0 0 640 640"> 2853 <path d="M476.1 480.6C462.1 425.1 411.9 384 352 384L288 384C228.1 384 177.9 425.1 163.9 480.6C122 439.9 96 383 96 320C96 196.3 196.3 96 320 96C443.7 96 544 196.3 544 320C544 383 518 439.9 476.1 480.6zM447.6 504C411.5 529.2 367.4 544 320 544C272.6 544 228.5 529.2 192.3 504.1C196.3 454.8 237.6 416 288 416L352 416C402.4 416 443.6 454.8 447.7 504.1zM320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM320 304C293.5 304 272 282.5 272 256C272 229.5 293.5 208 320 208C346.5 208 368 229.5 368 256C368 282.5 346.5 304 320 304zM240 256C240 300.2 275.8 336 320 336C364.2 336 400 300.2 400 256C400 211.8 364.2 176 320 176C275.8 176 240 211.8 240 256z"/> 2854 </symbol> 2855 <symbol id="account-icon-lock" viewBox="0 0 640 640"> 2856 <path d="M224 160L224 224L416 224L416 160C416 107 373 64 320 64C267 64 224 107 224 160zM192 224L192 160C192 89.3 249.3 32 320 32C390.7 32 448 89.3 448 160L448 224C483.3 224 512 252.7 512 288L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 288C128 252.7 156.7 224 192 224zM160 288L160 512C160 529.7 174.3 544 192 544L448 544C465.7 544 480 529.7 480 512L480 288C480 270.3 465.7 256 448 256L192 256C174.3 256 160 270.3 160 288z"/> 2857 </symbol> 2858 <symbol id="account-icon-receipt" viewBox="0 0 640 640"> 2859 <path d="M263.2 65.7C258.4 63.3 252.8 63.5 248.1 66.1L200 93.6L151.9 66.1C147 63.3 140.9 63.3 136 66.2C131.1 69.1 128 74.3 128 80L128 560C128 565.7 131 571 136 573.8C141 576.6 147 576.7 152 573.9L200.1 546.4L248.2 573.9C252.8 576.6 258.5 576.7 263.3 574.3L320.1 545.9L376.9 574.3C381.7 576.7 387.3 576.5 392 573.9L440.1 546.4L488.2 573.9C493.2 576.7 499.2 576.7 504.2 573.8C509.2 570.9 512.2 565.7 512.2 560L512.2 80C512.2 74.3 509.2 69 504.2 66.2C499.2 63.4 493.2 63.3 488.2 66.1L440 93.6L391.9 66.1C387.3 63.4 381.6 63.3 376.8 65.7L320 94.1L263.2 65.7zM207.9 125.9L256.5 98.1L312.8 126.3C317.3 128.6 322.6 128.6 327.1 126.3L383.4 98.1L432 125.9C436.9 128.7 443 128.7 447.9 125.9L480 107.6L480 532.5L447.9 514.2C443 511.4 436.9 511.4 432 514.2L383.4 542L327.1 513.8C322.6 511.5 317.3 511.5 312.8 513.8L256.5 542L207.9 514.2C203 511.4 196.9 511.4 192 514.2L160 532.4L160 107.6L192.1 125.9C197 128.7 203.1 128.7 208 125.9zM224 208C215.2 208 208 215.2 208 224C208 232.8 215.2 240 224 240L416 240C424.8 240 432 232.8 432 224C432 215.2 424.8 208 416 208L224 208zM208 416C208 424.8 215.2 432 224 432L416 432C424.8 432 432 424.8 432 416C432 407.2 424.8 400 416 400L224 400C215.2 400 208 407.2 208 416zM224 304C215.2 304 208 311.2 208 320C208 328.8 215.2 336 224 336L416 336C424.8 336 432 328.8 432 320C432 311.2 424.8 304 416 304L224 304z"/> 2860 </symbol> 2861 <symbol id="account-icon-user-plus" viewBox="0 0 640 640"> 2862 <path d="M310 416C312.9 404.9 316.7 394.2 321.4 384L320 384L256 384C196.1 384 145.9 425.1 131.9 480.6C90 439.9 64 383 64 320C64 196.3 164.3 96 288 96C395.3 96 485.1 171.5 506.9 272.3C518.4 272.9 529.6 274.6 540.4 277.2C520.1 156.2 414.8 64 288 64C146.6 64 32 178.6 32 320C32 461.4 146.6 576 288 576C304.7 576 321 574.4 336.8 571.4C330.5 562.1 325 552.1 320.4 541.7C309.8 543.2 299 544 288 544C240.5 544 196.5 529.2 160.3 504.1C164.3 454.8 205.6 416 256 416L310 416zM288 304C261.5 304 240 282.5 240 256C240 229.5 261.5 208 288 208C314.5 208 336 229.5 336 256C336 282.5 314.5 304 288 304zM208 256C208 300.2 243.8 336 288 336C332.2 336 368 300.2 368 256C368 211.8 332.2 176 288 176C243.8 176 208 211.8 208 256zM384 464C384 402.1 434.1 352 496 352C557.9 352 608 402.1 608 464C608 525.9 557.9 576 496 576C434.1 576 384 525.9 384 464zM640 464C640 384.5 575.5 320 496 320C416.5 320 352 384.5 352 464C352 543.5 416.5 608 496 608C575.5 608 640 543.5 640 464zM512 400C512 391.2 504.8 384 496 384C487.2 384 480 391.2 480 400L480 448L432 448C423.2 448 416 455.2 416 464C416 472.8 423.2 480 432 480L480 480L480 528C480 536.8 487.2 544 496 544C504.8 544 512 536.8 512 528L512 480L560 480C568.8 480 576 472.8 576 464C576 455.2 568.8 448 560 448L512 448L512 400z"/> 2863 </symbol> 2864 <symbol id="account-icon-badge" viewBox="0 0 640 640"> 2865 <path d="M320 64C356.1 64 388 82.1 407.1 109.6C440.1 103.6 475.5 113.4 501 138.9C526.5 164.4 536.3 199.8 530.3 232.8C557.9 252 576 283.9 576 320C576 356.1 557.9 388 530.4 407.1C536.4 440.1 526.6 475.5 501.1 501C475.6 526.5 440.2 536.3 407.2 530.3C388 557.9 356.1 576 320 576C283.9 576 252 557.9 232.9 530.4C199.9 536.4 164.5 526.6 139 501.1C113.5 475.6 103.7 440.2 109.7 407.2C82.1 388 64 356.1 64 320C64 283.9 82.1 252 109.6 232.9C103.6 199.9 113.4 164.5 138.9 139C164.4 113.5 199.8 103.7 232.8 109.7C252 82.1 283.9 64 320 64zM320 96C291.7 96 267 111.9 254.6 135.4C251 142.2 243.1 145.4 235.8 143.2C210.4 135.4 181.7 141.6 161.6 161.6C141.5 181.6 135.4 210.4 143.2 235.8C145.4 243.1 142.2 251 135.4 254.6C111.9 267 96 291.7 96 320C96 348.3 111.9 373 135.4 385.4C142.2 389 145.4 39
28656.9 143.2 404.2C135.4 429.6 141.6 458.3 161.6 478.4C181.6 498.5 210.4 504.6 235.8 496.8C243.1 494.6 251 497.8 254.6 504.6C267 528.1 291.7 544 320 544C348.3 544 373 528.1 385.4 504.6C389 497.8 396.9 494.6 404.2 496.8C429.6 504.6 458.3 498.4 478.4 478.4C498.5 458.4 504.6 429.7 496.8 404.3C494.5 397 497.8 389.1 504.6 385.5C528.1 373.1 544 348.4 544 320.1C544 291.8 528.1 267.1 504.6 254.7C497.8 251.1 494.6 243.2 496.8 235.9C504.6 210.5 498.4 181.8 478.4 161.8C458.4 141.8 429.6 135.6 404.2 143.4C396.9 145.6 389 142.4 385.4 135.6C373 112.1 348.3 96.2 320 96.2zM387.1 234.2C392.3 227.1 402.3 225.5 409.4 230.7C416.5 235.9 418.1 245.9 412.9 253L307.3 398.2C304.5 402 300.2 404.4 295.5 404.7C290.8 405 286.2 403.3 282.9 399.9L228.5 343.6C222.4 337.2 222.5 327.1 228.9 321C235.3 314.9 245.4 315.1 251.5 321.4L292.7 364L387.1 234.2z"/> 2866 </symbol> 2867 <symbol id="account-icon-perks" viewBox="0 0 640 640"> 2868 <path d="M192 128L192 160L320 160L320 128C320 92.7 291.3 64 256 64C220.7 64 192 92.7 192 128zM160 160L160 128C160 75 203 32 256 32C309 32 352 75 352 128L352 160L416 160C451.3 160 480 188.7 480 224L480 240L448 240L448 224C448 206.3 433.7 192 416 192L96 192C78.3 192 64 206.3 64 224L64 448C64 465.7 78.3 480 96 480L176 480L176 512L96 512C60.7 512 32 483.3 32 448L32 224C32 188.7 60.7 160 96 160L160 160zM256 352L256 512C256 529.7 270.3 544 288 544L544 544C561.7 544 576 529.7 576 512L576 352C576 334.3 561.7 320 544 320L288 320C270.3 320 256 334.3 256 352zM224 352C224 316.7 252.7 288 288 288L544 288C579.3 288 608 316.7 608 352L608 512C608 547.3 579.3 576 544 576L288 576C252.7 576 224 547.3 224 512L224 352zM336 368C344.8 368 352 375.2 352 384L352 400C352 435.3 380.7 464 416 464C451.3 464 480 435.3 480 400L480 384C480 375.2 487.2 368 496 368C504.8 368 512 375.2 512 384L512 400C512 453 469 496 416 496C363 496 320 453 320 400L320 384C320 375.2 327.2 368 336 368z"/> 2869 </symbol> 2870 <symbol id="account-icon-stars" viewBox="0 0 640 640"> 2871 <path d="M416 80L416 144L480 144C488.8 144 496 151.2 496 160C496 168.8 488.8 176 480 176L416 176L416 240C416 248.8 408.8 256 400 256C391.2 256 384 248.8 384 240L384 176L320 176C311.2 176 304 168.8 304 160C304 151.2 311.2 144 320 144L384 144L384 80C384 71.2 391.2 64 400 64C408.8 64 416 71.2 416 80zM216.8 329.5C212.1 339 203.1 345.5 192.7 347L105.2 359.7L168.6 421.6C176.1 428.9 179.6 439.5 177.8 449.9L162.8 537.2L241 496C250.3 491.1 261.5 491.1 270.8 496L349 537.2L334 449.9C332.2 439.5 335.7 429 343.2 421.6L406.6 359.7L319.1 347C308.7 345.5 299.7 338.9 295 329.5L255.9 250.1L216.8 329.5zM234.4 221.4C243.2 203.5 268.7 203.5 277.5 221.4L323.8 315.4L427.3 330.5C447 333.4 454.8 357.5 440.6 371.4L365.7 444.6L383.4 547.9C386.8 567.5 366.2 582.5 348.6 573.2L256 524.4L163.4 573.2C145.8 582.5 125.2 567.5 128.6 547.9L146.2 444.6L71.3 371.4C57 357.5 64.9 333.3 84.6 330.5L188.1 315.4L234.4 221.4zM512 224C520.8 224 528 231.2 528 240L528 272L560 272C568.8 272 576 279.2 576 288C576 296.8 568.8 304 560 304L528 304L528 336C528 344.8 520.8 352 512 352C503.2 352 496 344.8 496 336L496 304L464 304C455.2 304 448 296.8 448 288C448 279.2 455.2 272 464 272L496 272L496 240C496 231.2 503.2 224 512 224z"/> 2872 </symbol> 2873 <symbol id="account-icon-newspaper" viewBox="0 0 640 640"> 2874 <path d="M224 128C206.3 128 192 142.3 192 160L192 480C192 491.7 188.9 502.6 183.4 512L496 512C522.5 512 544 490.5 544 464L544 160C544 142.3 529.7 128 512 128L224 128zM128 512C145.7 512 160 497.7 160 480L160 160C160 124.7 188.7 96 224 96L512 96C547.3 96 576 124.7 576 160L576 464C576 508.2 540.2 544 496 544L128 544C92.7 544 64 515.3 64 480L64 176C64 167.2 71.2 160 80 160C88.8 160 96 167.2 96 176L96 480C96 497.7 110.3 512 128 512zM416 240C416 231.2 423.2 224 432 224L480 224C488.8 224 496 231.2 496 240C496 248.8 488.8 256 480 256L432 256C423.2 256 416 248.8 416 240zM416 304C416 295.2 423.2 288 432 288L480 288C488.8 288 496 295.2 496 304C496 312.8 488.8 320 480 320L432 320C423.2 320 416 312.8 416 304zM240 368C240 359.2 247.2 352 256 352L480 352C488.8 352 496 359.2 496 368C496 376.8 488.8 384 480 384L256 384C247.2 384 240 376.8 240 368zM240 432C240 423.2 247.2 416 256 416L480 416C488.8 416 496 423.2 496 432C496 440.8 488.8 448 480 448L256 448C247.2 448 240 440.8 240 432zM288 288L352 288L352 224L288 224L288 288zM256 216C256 202.7 266.7 192 280 192L360 192C373.3 192 384 202.7 384 216L384 296C384 309.3 373.3 320 360 320L280 320C266.7 320 256 309.3 256 296L256 216z"/> 2875 </symbol> 2876 <symbol id="account-icon-envelope" viewBox="0 0 640 640"> 2877 <path d="M64 186.5L64 184L64.1 184C65.3 152.9 91 128 122.5 128L517.5 128C549 128 574.6 152.9 575.9 184L576 184L576 448C576 483.3 547.3 512 512 512L128 512C92.7 512 64 483.3 64 448L64 186.5zM544 239.6L367.3 369.1C339.1 389.7 300.8 389.7 272.7 369.1L96 239.6L96 448C96 465.7 110.3 480 128 480L512 480C529.7 480 544 465.7 544 448L544 239.6zM544 186.5C544 171.9 532.1 160 517.5 160L122.5 160C107.9 160 96 171.9 96 186.5C96 194.9 100 202.9 106.8 207.9L291.6 343.3C308.5 355.7 331.5 355.7 348.4 343.3L533.2 207.8C540 202.8 544 194.9 544 186.4z"/> 2878 </symbol> 2879 <symbol id="account-icon-sms" viewBox="0 0 640 640"> 2880 <path d="M243.2 597.6L243.2 597.6L355.2 513.6C356.6 512.6 358.3 512 360 512L480 512C533 512 576 469 576 416L576 192C576 139 533 96 480 96L160 96C107 96 64 139 64 192L64 416C64 469 107 512 160 512L192 512L192 580C192 595.5 204.5 608 220 608C226.1 608 232 606 236.8 602.4L243.2 597.6zM224 512L224 504C224 490.7 213.3 480 200 480L160 480C124.7 480 96 451.3 96 416L96 192C96 156.7 124.7 128 160 128L480 128C515.3 128 544 156.7 544 192L544 416C544 451.3 515.3 480 480 480L360 480C351.3 480 342.9 482.8 336 488L224 572L224 512zM202.9 236.8C181 236.8 163.2 254.6 163.2 276.5C163.2 291.5 171.7 305.3 185.2 312L210.2 324.5C212.8 325.8 214.5 328.5 214.5 331.4C214.5 335.7 211 339.1 206.8 339.1L179.3 339.1C170.5 339.1 163.3 346.3 163.3 355.1C163.3 363.9 170.5 371.1 179.3 371.1L206.8 371.1C228.7 371.1 246.5 353.3 246.5 331.4C246.5 316.3 238 302.6 224.5 295.9L199.5 283.4C196.9 282.1 195.2 279.4 195.2 276.5C195.2 272.2 198.7 268.8 202.9 268.8L224 268.8C232.8 268.8 240 261.6 240 252.8C240 244 232.8 236.8 224 236.8L202.9 236.8zM393.6 276.5C393.6 291.5 402.1 305.3 415.6 312L440.6 324.5C443.2 325.8 444.9 328.5 444.9 331.4C444.9 335.7 441.4 339.1 437.2 339.1L409.7 339.1C400.9 339.1 393.7 346.3 393.7 355.1C393.7 363.9 400.9 371.1 409.7 371.1L437.2 371.1C459.1 371.1 476.9 353.3 476.9 331.4C476.9 316.3 468.4 302.6 454.9 295.9L429.9 283.4C427.3 282.1 425.6 279.4 425.6 276.5C425.6 272.2 429.1 268.8 433.3 268.8L454.4 268.8C463.2 268.8 470.4 261.6 470.4 252.8C470.4 244 463.2 236.8 454.4 236.8L433.3 236.8C411.4 236.8 393.6 254.6 393.6 276.5zM295.3 244.5C291.6 238.3 284.2 235.4 277.3 237.3C270.4 239.2 265.6 245.5 265.6 252.7L265.6 355.1C265.6 363.9 272.8 371.1 281.6 371.1C290.4 371.1 297.6 363.9 297.6 355.1L297.6 3
288010.5L306.3 325C309.2 329.8 314.4 332.8 320 332.8C325.6 332.8 330.8 329.8 333.7 325L342.4 310.5L342.4 355.1C342.4 363.9 349.6 371.1 358.4 371.1C367.2 371.1 374.4 363.9 374.4 355.1L374.4 252.7C374.4 245.5 369.6 239.2 362.7 237.3C355.8 235.4 348.4 238.3 344.7 244.5L320 285.6L295.3 244.5z"/> 2881 </symbol> 2882 <symbol id="account-icon-archive" viewBox="0 0 640 640"> 2883 <path d="M96 196L96 112C96 103.2 88.8 96 80 96C71.2 96 64 103.2 64 112L64 240C64 248.8 71.2 256 80 256L208 256C216.8 256 224 248.8 224 240C224 231.2 216.8 224 208 224L117.6 224C153.5 148.3 230.7 96 320 96C443.7 96 544 196.3 544 320C544 443.7 443.7 544 320 544C246.7 544 181.7 508.8 140.8 454.4C135.5 447.3 125.5 445.9 118.4 451.2C111.3 456.5 109.9 466.5 115.2 473.6C161.9 535.8 236.2 576 320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C223.6 64 139.7 117.3 96 196zM320 192C311.2 192 304 199.2 304 208L304 320C304 324.2 305.7 328.3 308.7 331.3L388.7 411.3C394.9 417.5 405.1 417.5 411.3 411.3C417.5 405.1 417.5 394.9 411.3 388.7L336 313.4L336 208C336 199.2 328.8 192 320 192z"/> 2884 </symbol> 2885 <symbol id="account-icon-globe" viewBox="0 0 640 640"> 2886 <path d="M381.5 484.1C359.4 529 335.5 544 320 544C304.5 544 280.6 529 258.5 484.1C239.5 445.5 226.4 392.8 224.3 336L415.7 336C413.6 392.8 400.5 445.5 381.5 484.1zM415.7 304L224.3 304C226.4 247.2 239.5 194.5 258.5 155.9C280.6 111 304.5 96 320 96C335.5 96 359.4 111 381.5 155.9C400.5 194.5 413.6 247.2 415.7 304zM447.7 336L543.4 336C536.9 428.5 474.2 505.5 389.2 533.1C422.2 488.9 445 415.3 447.7 336zM543.4 304L447.7 304C445 224.7 422.2 151.1 389.2 106.9C474.2 134.5 536.9 211.5 543.4 304zM192.2 304L96.5 304C103 211.5 165.7 134.5 250.7 106.9C217.7 151.1 194.9 224.7 192.2 304zM96.6 336L192.3 336C195 415.3 217.8 488.9 250.8 533.1C165.8 505.5 103.1 428.5 96.6 336zM320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576z"/> 2887 </symbol> 2888 <symbol id="account-icon-question" viewBox="0 0 640 640"> 2889 <path d="M544 320C544 196.3 443.7 96 320 96C196.3 96 96 196.3 96 320C96 443.7 196.3 544 320 544C443.7 544 544 443.7 544 320zM64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320zM320 224C293.5 224 272 245.5 272 272C272 280.8 264.8 288 256 288C247.2 288 240 280.8 240 272C240 227.8 275.8 192 320 192C364.2 192 400 227.8 400 272C400 311.6 374.3 332.3 353.8 342.1C342.3 347.6 336 356.6 336 364.3L336 370C336 378.8 328.8 386 320 386C311.2 386 304 378.8 304 370L304 364.3C304 339.7 322.3 321.7 340 313.3C354.5 306.4 368 294.5 368 272.1C368 245.6 346.5 224.1 320 224.1zM296 440C296 426.7 306.7 416 320 416C333.3 416 344 426.7 344 440C344 453.3 333.3 464 320 464C306.7 464 296 453.3 296 440z"/> 2890 </symbol> 2891 <symbol id="account-icon-headset" viewBox="0 0 640 640"> 2892 <path d="M128.2 280.3C132.2 177.8 216.5 96 320 96C423.5 96 507.8 177.8 511.8 280.3C494.8 265.2 472.5 256 448 256L432 256C405.5 256 384 277.5 384 304L384 400C384 426.5 405.5 448 432 448L448 448C472.6 448 495 438.8 512 423.6L512 464.1C512 508.3 476.2 544.1 432 544.1L397.3 544.1C399.1 539.1 400 533.7 400 528.1C400 501.6 378.5 480.1 352 480.1L288 480.1C261.5 480.1 240 501.6 240 528.1C240 554.6 261.5 576.1 288 576.1C312 576.1 360 576.1 431.9 576.2C493.8 576.2 544 526.1 544 464.2L544 288C544 164.3 443.7 64 320 64C196.3 64 96 164.3 96 288L96 352C96 405 139 448 192 448L208 448C234.5 448 256 426.5 256 400L256 304C256 277.5 234.5 256 208 256L192 256C167.5 256 145.1 265.2 128.2 280.3zM336 544L288 544C279.2 544 272 536.8 272 528C272 519.2 279.2 512 288 512L352 512C360.8 512 368 519.2 368 528C368 536.8 360.8 544 352 544L336 544zM448 288C483.3 288 512 316.7 512 352C512 387.3 483.3 416 448 416L432 416C423.2 416 416 408.8 416 400L416 304C416 295.2 423.2 288 432 288L448 288zM128 352C128 316.7 156.7 288 192 288L208 288C216.8 288 224 295.2 224 304L224 400C224 408.8 216.8 416 208 416L192 416C156.7 416 128 387.3 128 352z"/> 2893 </symbol> 2894 <symbol id="account-icon-logout" viewBox="0 0 640 640"> 2895 <path d="M240 128C248.8 128 256 120.8 256 112C256 103.2 248.8 96 240 96L160 96C107 96 64 139 64 192L64 448C64 501 107 544 160 544L240 544C248.8 544 256 536.8 256 528C256 519.2 248.8 512 240 512L160 512C124.7 512 96 483.3 96 448L96 192C96 156.7 124.7 128 160 128L240 128zM571.3 331.3C577.5 325.1 577.5 314.9 571.3 308.7L427.3 164.7C421.1 158.5 410.9 158.5 404.7 164.7C398.5 170.9 398.5 181.1 404.7 187.3L521.4 304L240 304C231.2 304 224 311.2 224 320C224 328.8 23
28951.2 336 240 336L521.4 336L404.7 452.7C398.5 458.9 398.5 469.1 404.7 475.3C410.9 481.5 421.1 481.5 427.3 475.3L571.3 331.3z"/> 2896 </symbol> 2897</svg> 2898
2899<script src="https://cdn.jsdelivr.net/npm/[email protected]/src/md5.min.js"></script>
2899 2900 2901<main class="AccountPage"> 2902 2903 <div class="AccountPage-greeting"> 2904 <p class="AccountPage-greeting-line" id="AccountPage-greeting-text"></p> 2905 <p class="AccountPage-greeting-since">Thank you for supporting local news.</p> 2906 </div> 2907 2908 <div class="AccountPage-sections"> 2909 <div class="AccountPage-section AccountPage-account-section"> 2910 <h2 class="AccountPage-section-header">Account</h2> 2911 <div class="AccountPage-section-card"> 2912 <div class="AccountPage-section-rows"> 2913 2914 2915 <a href="https://myaccount.stcloudlive.com/stcl/myprofile" class="AccountPage-row" data-cms-ai="0"> 2916 <div class="AccountPage-row-content"> 2917 <div class="AccountPage-row-label-group"> 2918 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-user"></use></svg></span> 2919 <span class="AccountPage-row-label js-AccountPage-email"></span> 2920 </div> 2921 <span class="AccountPage-row-description">Use this email to log in and receive newsletters.</span> 2922 </div> 2923 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 2924 </a> 2925 2926 2927 2928 <a href="https://myaccount.stcloudlive.com/stcl/myprofile" class="AccountPage-row" data-cms-ai="0"> 2929 <div class="AccountPage-row-content"> 2930 <div class="AccountPage-row-label-group"> 2931 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-lock"></use></svg></span> 2932 <span class="AccountPage-row-label">Change Your Password</span> 2933 </div> 2934 <span class="AccountPage-row-description">View your account information.</span> 2935 </div> 2936 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 2937 </a> 2938 2939 2940 </div> 2941 </div> 2942</div> 2943
2944<script type="module"> 2945 ensureUserIsSet().then(function() { 2946 var emailEl = document.querySelector('.js-AccountPage-email'); 2947 if (emailEl && user.email) { 2948 emailEl.textContent = user.email; 2949 } 2950 }); 2951</script>
2951 2952 2953 <div class="AccountPage-section AccountPage-subscriptions-section"> 2954 <h2 class="AccountPage-section-header">Subscriptions</h2> 2955 <div class="AccountPage-section-card"> 2956 <div class="AccountPage-section-rows"> 2957 2958 2959 <a href="https://myaccount.stcloudlive.com/stcl/dashboard" class="AccountPage-row AccountPage-row--subscriber-only" style="display:none" data-cms-ai="0"> 2960 <div class="AccountPage-row-content"> 2961 <div class="AccountPage-row-label-group"> 2962 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-receipt"></use></svg></span> 2963 <span class="AccountPage-row-label">My Subscriptions</span> 2964 </div> 2965 <span class="AccountPage-row-description">Manage your subscriptions here.</span> 2966 </div> 2967 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 2968 </a> 2969 2970 2971 2972 <a href="https://myaccount.stcloudlive.com/stcl/subscription/share" class="AccountPage-row AccountPage-row--subscriber-only" style="display:none" data-cms-ai="0"> 2973 <div class="AccountPage-row-content"> 2974 <div class="AccountPage-row-label-group"> 2975 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-user-plus"></use></svg></span> 2976 <span class="AccountPage-row-label">Share Your Subscription</span> 2977 </div> 2978 <span class="AccountPage-row-description">Share your subscription with another member of your household.</span> 2979 </div> 2980 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 2981 </a> 2982 2983 2984 2985 2986 <a href="/subscribe?g2i_source=Brightspot&g2i_medium=subscribe_button" class="AccountPage-row AccountPage-row--cta AccountPage-row--registered-only" style="display:none" data-cms-ai="0"> 2987 <div class="AccountPage-row-content"> 2988 <div class="AccountPage-row-label-group"> 2989 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-badge"></use></svg></span> 2990 <span class="AccountPage-row-label">Become a Subscriber</span> 2991 </div> 2992 <span class="AccountPage-row-description">Get unlimited access now.</span> 2993 </div> 2994 <span class="AccountPage-row-cta-label">Learn more</span> 2995 </a> 2996 2997 2998 2999 3000 <a href="#" class="AccountPage-row js-AccountPage-benefits-link" 3001 data-subscriber-url="https://www.stcloudlive.com/subscriber-benefits" 3002 data-registered-url="https://www.stcloudlive.com/registered-benefits" data-cms-ai="0"> 3003 <div class="AccountPage-row-content"> 3004 <div class="AccountPage-row-label-group"> 3005 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-stars"></use></svg></span> 3006 <span class="AccountPage-row-label">Subscription Benefits</span> 3007 </div> 3008 <span class="AccountPage-row-description">View all the benefits included with a subscription.</span> 3009 </div> 3010 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3011 </a> 3012 3013 3014 3015 <a href="#" class="AccountPage-row js-AccountPage-perks-link" 3016 data-subscriber-url="https://register.forumcomm.com/stcloudlivememberperks/" 3017 data-registered-url="https://register.forumcomm.com/stcloudliveperks/" 3018 data-access-url="" 3019 data-api-key="2003148-201493-" data-cms-ai="0"> 3020 <div class="AccountPage-row-content"> 3021 <div class="AccountPage-row-label-group"> 3022 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-perks"></use></svg></span> 3023 <span class="AccountPage-row-label">Membership Perks</span> 3024 </div>
3025 <span class="AccountPage-row-description">Subscribers get exclusive offers on travel, restaurants, shopping and more.</span> 3026 </div> 3027 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3028 </a> 3029 3030 3031 </div> 3032 </div> 3033</div> 3034
3035<script type="module"> 3036 ensureUserIsSet().then(async function() { 3037 var section = document.querySelector('.AccountPage-subscriptions-section'); 3038 if (!section) return; 3039 3040 if (user.status === 'subscribed') { 3041 section.querySelectorAll('.AccountPage-row--subscriber-only').forEach(function(el) { 3042 el.style.display = ''; 3043 }); 3044 } else if (user.status === 'registered') { 3045 section.querySelectorAll('.AccountPage-row--registered-only').forEach(function(el) { 3046 el.style.display = ''; 3047 }); 3048 } 3049 3050 var benefitsLink = section.querySelector('.js-AccountPage-benefits-link'); 3051 if (benefitsLink) { 3052 var subscriberBenefitsUrl = benefitsLink.dataset.subscriberUrl; 3053 var registeredBenefitsUrl = benefitsLink.dataset.registeredUrl; 3054 var benefitsUrl = user.status === 'registered' && registeredBenefitsUrl 3055 ? registeredBenefitsUrl 3056 : subscriberBenefitsUrl; 3057 if (benefitsUrl) { 3058 benefitsLink.href = benefitsUrl; 3059 } 3060 } 3061 3062 var perksLink = section.querySelector('.js-AccountPage-perks-link'); 3063 if (!perksLink) return; 3064 3065 var apiKey = perksLink.dataset.apiKey; 3066 var subscriberUrl = perksLink.dataset.subscriberUrl; 3067 var registeredUrl = perksLink.dataset.registeredUrl; 3068 var accessUrl = perksLink.dataset.accessUrl; 3069 var statusUrl = user.status === 'subscribed' ? subscriberUrl 3070 : user.status === 'registered' ? registeredUrl 3071 : null; 3072 var url = statusUrl || accessUrl; 3073 if (!url) return; 3074 3075 if (statusUrl && apiKey) { 3076 var auth0Sub = await window.getForumCookie('auth0_sub'); 3077 if (auth0Sub) { 3078 var msgBuffer = new TextEncoder().encode(apiKey + auth0Sub.toUpperCase()); 3079 var hashBuffer = await crypto.subtle.digest('SHA-1', msgBuffer); 3080 var hash = Array.from(new Uint8Array(hashBuffer)) 3081 .map(function(b) { return b.toString(16).padStart(2, '0'); }) 3082 .join(''); 3083 var sep = url.indexOf('?') !== -1 ? '&' : '?'; 3084 perksLink.href = url + sep + 'cvt=' + hash; 3085 } else { 3086 perksLink.href = url; 3087 } 3088 } else { 3089 perksLink.href = url; 3090 } 3091 }); 3092</script>
3092 3093 3094 <div class="AccountPage-section AccountPage-content-section"> 3095 <h2 class="AccountPage-section-header">Content & Notifications</h2> 3096 <div class="AccountPage-section-card"> 3097 <div class="AccountPage-section-rows"> 3098 3099 3100 <a href="https://epaper.stcloudlive.com" class="AccountPage-row" data-cms-ai="0"> 3101 <div class="AccountPage-row-content"> 3102 <div class="AccountPage-row-label-group"> 3103 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-newspaper"></use></svg></span> 3104 <span class="AccountPage-row-label">Read Today's Paper</span> 3105 </div> 3106 <span class="AccountPage-row-description">Read the daily E-Paper and access past editions.</span> 3107 </div> 3108 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3109 </a> 3110 3111 3112 3113 <a href="#" class="AccountPage-row js-AccountPage-newsletter-link" 3114 data-base-url="/preference-center?email=" 3115 data-api-secret="93c29ac9ad8da9966a8b82117a51c456" data-cms-ai="0"> 3116 <div class="AccountPage-row-content"> 3117 <div class="AccountPage-row-label-group"> 3118 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-envelope"></use></svg></span> 3119 <span class="AccountPage-row-label">Browse Newsletters</span> 3120 </div> 3121 <span class="AccountPage-row-description">Stay informed with email newsletters delivered free to your inbox.</span> 3122 </div> 3123 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3124 </a> 3125 3126 3127 3128 3129 3130 3131 3132 <a href="https://www.stcloudlive.com/news-network" class="AccountPage-row" data-cms-ai="0"> 3133 <div class="AccountPage-row-content"> 3134 <div class="AccountPage-row-label-group"> 3135 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-globe"></use></svg></span> 3136 <span class="AccountPage-row-label">Access the Forum News Network</span> 3137 </div> 3138 <span class="AccountPage-row-description">Subscribers get unlimited access to our entire network of news websites.</span> 3139 </div> 3140 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3141 </a> 3142 3143 3144 </div> 3145 </div> 3146</div> 3147
3148<script type="module"> 3149 ensureUserIsSet().then(function() { 3150 if (user.status === 'anonymous' || typeof md5 !== 'function') return; 3151 3152 var newsletterLink = document.querySelector('.js-AccountPage-newsletter-link'); 3153 if (newsletterLink) { 3154 var newsletterBase = newsletterLink.dataset.baseUrl.replace(/[?&]email=$/i, ''); 3155 if (!newsletterBase) { 3156 newsletterLink.style.display = 'none'; 3157 } else { 3158 var newsletterHash = md5(user.email + newsletterLink.dataset.apiSecret); 3159 var newsletterSep = newsletterBase.indexOf('?') !== -1 ? '&' : '?'; 3160 newsletterLink.href = newsletterBase + newsletterSep + 'email=' + encodeURIComponent(user.email) + '&hash=' + newsletterHash; 3161 } 3162 } 3163 3164 var textAlertsLink = document.querySelector('.js-AccountPage-textalerts-link'); 3165 if (textAlertsLink) { 3166 var textAlertsBase = textAlertsLink.dataset.baseUrl.replace(/[?&]email=$/i, ''); 3167 if (!textAlertsBase) { 3168 textAlertsLink.style.display = 'none'; 3169 } else { 3170 var textAlertsHash = md5(user.email + textAlertsLink.dataset.apiSecret); 3171 var textAlertsSep = textAlertsBase.indexOf('?') !== -1 ? '&' : '?'; 3172 textAlertsLink.href = textAlertsBase + textAlertsSep + 'email=' + encodeURIComponent(user.email) + '&hash=' + textAlertsHash; 3173 } 3174 } 3175 }); 3176</script>
3176 3177 3178 <div class="AccountPage-section AccountPage-help-section"> 3179 <h2 class="AccountPage-section-header">Help</h2> 3180 <div class="AccountPage-section-card"> 3181 <div class="AccountPage-section-rows"> 3182 3183 3184 <a href="https://www.stcloudlive.com/help-center" class="AccountPage-row" data-cms-ai="0"> 3185 <div class="AccountPage-row-content"> 3186 <div class="AccountPage-row-label-group"> 3187 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-question"></use></svg></span> 3188 <span class="AccountPage-row-label">Visit the Help Center</span> 3189 </div> 3190 <span class="AccountPage-row-description">Get answers to frequently asked questions.</span> 3191 </div> 3192 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3193 </a> 3194 3195 3196 3197 <a href="https://www.stcloudlive.com/contact-us" class="AccountPage-row" data-cms-ai="0"> 3198 <div class="AccountPage-row-content"> 3199 <div class="AccountPage-row-label-group"> 3200 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-headset"></use></svg></span> 3201 <span class="AccountPage-row-label">Contact us</span> 3202 </div> 3203 <span class="AccountPage-row-description">Get in touch with us by phone or email.</span> 3204 </div> 3205 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3206 </a> 3207 3208 3209 3210 <a href="#" style="display:none" id="MG2logout" data-mg2-action="logout" data-cms-ai="0"></a> 3211 <button class="AccountPage-row AccountPage-row--logout js-AccountPage-logout"> 3212 <div class="AccountPage-row-content"> 3213 <div class="AccountPage-row-label-group"> 3214 <span class="AccountPage-row-icon"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><use href="#account-icon-logout"></use></svg></span> 3215 <span class="AccountPage-row-label">Log out</span> 3216 </div> 3217 <span class="AccountPage-row-description">Log out of your account.</span> 3218 </div> 3219 <i class="fal fa-chevron-right AccountPage-row-chevron" aria-hidden="true"></i> 3220 </button> 3221 3222 3223 </div> 3224 </div> 3225</div> 3226
3227<script type="module"> 3228 var logoutBtn = document.querySelector('.js-AccountPage-logout'); 3229 if (logoutBtn) { 3230 logoutBtn.addEventListener('click', function() { 3231 if (typeof window.logout === 'function') { 3232 window.logout(); 3233 } 3234 }); 3235 } 3236</script>
3236 3237 3238 </div> 3239 3240</main> 3241
3242<script> 3243 (function() { 3244 function decodeJwt(token) { 3245 try { 3246 var payload = token.split('.')[1].replace(/-/g, '+').replace(/_/g, '/'); 3247 payload += '=='.slice(0, (4 - payload.length % 4) % 4); 3248 return JSON.parse(atob(payload)); 3249 } catch(e) { return null; } 3250 } 3251 3252 var hour = new Date().getHours(); 3253 var greeting = hour < 12 ? 'â Good morning' 3254 : hour < 17 ? 'âï¸ Good afternoon' 3255 : 'ð Good evening'; 3256 3257 var jwtCookie = document.cookie.split('; ').find(function(r) { return r.startsWith('auth0_jwt='); }); 3258 var claims = jwtCookie ? decodeJwt(jwtCookie.split('=')[1]) : null; 3259 var rawName = claims && ((claims.nickname ? claims.nickname.split(' ')[0] : null) || (claims.name ? claims.name.split(' ')[0] : null)); 3260 var firstName = rawName ? rawName.charAt(0).toUpperCase() + rawName.slice(1).toLowerCase() : null; 3261 var greetingEl = document.getElementById('AccountPage-greeting-text'); 3262 if (greetingEl) { 3263 greetingEl.textContent = greeting + (firstName ? ', ' + firstName : '') + '.'; 3264 } 3265 })(); 3266</script>
3266 3267 3268 3269 3270<footer class="Page-footer"> 3271 <div class="Page-footer-container"> 3272 3273 3274 <div class="Page-footer-navigation"> 3275 <nav class="FooterNavigation"> 3276 3277 <ul class="FooterNavigation-items" data-column-count="4"> 3278 3279 <li class="FooterNavigation-items-item"> 3280 <div class="FooterNavigationItem" > 3281 3282 <div class="FooterNavigationItem-text">Account</div> 3283 3284 3285 <ul class="FooterNavigationItem-items"> 3286 3287 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="/account" target="_self" data-cms-ai="0">Manage My Account</a> 3288</li> 3289 3290 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/privacy" data-cms-ai="0">Privacy Policy</a> 3291</li> 3292 3293 <li class="FooterNavigationItem-items-item"><div id="us-nat-optout"></div> 3294</li> 3295 3296 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/terms" data-cms-ai="0">Terms and Conditions</a> 3297</li> 3298 3299 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/policies-and-standards" data-cms-ai="0">Policies and Standards</a> 3300</li> 3301 3302 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/subscriber-benefits" data-cms-ai="0">Subscriber Benefits</a> 3303</li> 3304 3305 </ul> 3306 3307</div> 3308 3309 </li> 3310 3311 <li class="FooterNavigation-items-item"> 3312 <div class="FooterNavigationItem" > 3313 3314 <div class="FooterNavigationItem-text">News</div> 3315 3316 3317 <ul class="FooterNavigationItem-items"> 3318 3319 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/newsletter" data-cms-ai="0">Email Newsletters</a> 3320</li> 3321 3322 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/news-network" data-cms-ai="0">Our News Network</a> 3323</li> 3324 3325 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="javascript:clickEpaper()" target="_self" data-cms-ai="0">Weekly e-paper</a> 3326</li> 3327 3328 </ul> 3329 3330</div> 3331 3332 </li> 3333 3334 <li class="FooterNavigation-items-item"> 3335 <div class="FooterNavigationItem" > 3336 3337 <div class="FooterNavigationItem-text">Advertising</div> 3338 3339 3340 <ul class="FooterNavigationItem-items"> 3341 3342 <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> 3343</li> 3344 3345 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://placead.forumcomm.com/#/account/support" target="_blank" data-cms-ai="0">
3345Pay My Advertising Bill</a> 3346</li> 3347 3348 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://jobshq.com" target="_blank" data-cms-ai="0">JobsHQ</a> 3349</li> 3350 3351 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/public-notices" data-cms-ai="0">Public Notices</a> 3352</li> 3353 3354 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://classifieds.forumcomm.com" target="_blank" data-cms-ai="0">Classifieds</a> 3355</li> 3356 3357 </ul> 3358 3359</div> 3360 3361 </li> 3362 3363 <li class="FooterNavigation-items-item"> 3364 <div class="FooterNavigationItem" > 3365 3366 <div class="FooterNavigationItem-text">Contact</div> 3367 3368 3369 <ul class="FooterNavigationItem-items"> 3370 3371 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/contact-us" data-cms-ai="0">Contact Us</a> 3372</li> 3373 3374 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.stcloudlive.com/help-center" data-cms-ai="0">Get Help</a> 3375</li> 3376 3377 <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.forumcomm.com/careers/" target="_blank" data-cms-ai="0">Careers</a> 3378</li> 3379 3380 </ul> 3381 3382</div> 3383 3384 </li> 3385 3386 </ul> 3387 3388</nav> 3389 3390 </div> 3391 3392 3393 <div class="Page-footer-bottom"> 3394 3395 <div class="SocialBar"> 3396 3397 <ul class="SocialBar-items"> 3398 3399 <li class="SocialBar-items-item"> <a class="SocialLink" rel="noreferrer" href="https://twitter.com/StCloudLive" target="_blank" data-social-service="Twitter" data-cms-ai="0"> 3400 <svg> 3401 <use href="#mono-icon-Twitter"></use> 3402 </svg> 3403 <span class="sr-only">Twitter</span> 3404 </a> 3405</li> 3406 3407 <li class="SocialBar-items-item"> <a class="SocialLink" rel="noreferrer" href="https://www.instagram.com/stcloudlive/" target="_blank" data-social-service="Instagram" data-cms-ai="0"> 3408 <svg> 3409 <use href="#mono-icon-Instagram"></use> 3410 </svg> 3411 <span class="sr-only">Instagram</span> 3412 </a> 3413</li> 3414 3415 <li class="SocialBar-items-item"> <a class="SocialLink" rel="noreferrer" href="https://www.facebook.com/stcloudlive" target="_blank" data-social-service="Facebook" data-cms-ai="0"> 3416 <svg> 3417 <use href="#mono-icon-Facebook"></use> 3418 </svg> 3419 <span class="sr-only">Facebook</span> 3420 </a> 3421</li> 3422 3423 </ul> 3424 3425</div> 3426 3427 3428 3429 </div> 3430 3431 3432 3433 <div class="Page-footer-disclaimer">© 2026 St. Cloud Live and <a class="Link " href="https://www.forumcomm.com" target="_blank" data-cms-ai="0" >Forum Communications Company</a> | 113 5th Av. S. St. Cloud, MN 56301 | ISSN 2997-9633</div> 3434 3435 3436 </div> 3437</footer> 3438 3439 3440 3441
3441<script type="text/javascript" async src="//cdn.viafoura.net/entry/index.js"></script>
3441 3442 3443 3444 3445<noscript> 3446 <style> 3447 div, footer { 3448 display: none !important; 3449 } 3450 .noscriptMessage { 3451 display: flex; 3452 justify-content: center; 3453 margin: 100px 20px; 3454 } 3455 </style> 3456 <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> 3457</noscript> 3458 3459<!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 3459-3461
3459 3460<noscript> 3461 <iframe src="https://www.googletagmanager.com/ns.html?id=
3461GTM-K29394N
vendor: 88 bytes, lines 3461-3463
3461" 3462 height="0" width="0" style="display:none;visibility:hidden"></iframe> 3463</noscript>
3464<!-- End Google Tag Manager (noscript) --><auth0-script> 3465
3465<script async type='text/javascript'> 3466 pianoUserId = window['pianoUserId'] 3467 paywall = window['paywall'] 3468 3469 window.addEventListener("message", function(evt) { 3470 if(evt.data && evt.data === "login") { 3471 login(); 3472 } 3473 }); 3474 3475 window.addEventListener("message", function(evt) { 3476 if(evt.data && evt.data === "register") { 3477 signup(); 3478 } 3479 }); 3480 3481 // Created Date 3482 if("" === "") { 3483 // The content published date 3484 paywall.createdDate = ""; 3485 } else { 3486 // The content published date 3487 paywall.createdDate = ""; 3488 } 3489 3490 if (paywall.createdDate) { 3491 // Article Age (in milliseconds) 3492 let articleAgeMS = Date.parse(new Date()) - Date.parse(paywall.createdDate); 3493 // Article Age (in days -- 86400000 ms/day) 3494 paywall.ageInDays = Math.floor(articleAgeMS/86400000); 3495 } 3496 3497 // The content author 3498 paywall.author = ""; 3499 3500 // The article ID 3501 paywall.contentId = "0000018a-fb84-dafc-adbb-fbc6eeca0000"; 3502 3503 // Page Type 3504 let articleBody = "" 3505 if (window.location.pathname === '/') { 3506 paywall.pageType = "homepage"; 3507 } 3508 else if (articleBody > 0 || window.location.href.indexOf("/obits/") > -1 || contentType === 'blog post') { 3509 paywall.pageType = "article"; 3510 } 3511 else if (contentType === 'video') { 3512 paywall.pageType = "video"; 3513 } 3514 else { 3515 paywall.pageType = "sectionfront"; 3516 } 3517 3518 paywall.pageName = "https://www.stcloudlive.com/account"; 3519 3520 // The Section Name 3521 let sectionName; 3522 3523 3524 let js_tags = [] 3525 3526 if (sectionName == undefined) { 3527 if (window.location.pathname === '/') { 3528 sectionName = "Home" 3529 } 3530 else if (paywall.pageType === "video") { 3531 sectionName = "video" 3532 } 3533 else { 3534 let pathname = window.location.pathname.split('/') 3535 /* 3536 freeChildPages are free content that falls under a parent section 3537 e.g. /account/newletters, /podcasts/agweek-podcast, or /obituaries/obits/firstname-lastname-hashkey 3538 */ 3539 let freeChildPages = ["account", "legal-notices", "obituaries", "obits", "podcasts"] 3540 sectionName = (freeChildPages.includes(pathname[1]) && typeof(pathname[2]) !== "undefined") ? 3541 pathname[1] : pathname.slice(-1)[0]; 3542 } 3543 } 3544 3545 3546 3547 let cannabisCookie = getForumCookie('_fcc_cannabis_session') 3548 paywall.cannabis = cannabisCookie 3549 3550 // The content tags 3551 paywall.tags = js_tags; 3552 3553 paywall.sectionName = sectionName; 3554 </script>
3554 3555</auth0-script> 3556 3557 3558 3559
3559<script async> 3560 const getEnvironment = () => { 3561 const hostNameArray = window.location.hostname.split('.') 3562 const indexOfWWW = hostNameArray.indexOf('www') 3563 if (indexOfWWW > -1) { 3564 hostNameArray.splice(indexOfWWW, 1) 3565 } 3566 var propertyName = hostNameArray[0] 3567 var environment = 'production' 3568 if (window.location.hostname.includes('qa') || 3569 window.location.hostname.includes('uat') || 3570 window.location.hostname.includes('localhost') 3571 ) { 3572 environment = 'test' 3573 } else if (window.location.hostname.includes('web')) { 3574 environment = 'production-other' 3575 } 3576 return environment 3577 } 3578 3579 // Reserved for Sophi User Properties available on initial page load. 3580 const setSophiUserProperties = (userStatus) => { 3581 const urlParams = new URLSearchParams(window.location.search) 3582 const utmSource = urlParams.get('utm_source') 3583 const utmMedium = urlParams.get('utm_medium') 3584 3585 const navigaSubPromoEligible = (paywall.promoEligible === "yes") 3586 3587 let newUserProperties = {} 3588 if (userStatus == '' && utmSource == 'email' && utmMedium == 'newsletter') { 3589 demeter('userProperties', { 3590 args: { 3591 1: true, 3592 4: navigaSubPromoEligible 3593 } 3594 }); 3595 } else if (userStatus !== 'subscribed' && utmSource == 'email' && utmMedium == 'newsletter') { 3596 demeter('userProperties', { 3597 args: { 3598 visitorType: userStatus, 3599 1: true, 3600 4: navigaSubPromoEligible 3601 } 3602 }); 3603 } else if (userStatus == 'anonymous' || userStatus == 'registered') { 3604 demeter('userProperties', { 3605 args: { 3606 visitorType: userStatus, 3607 4: navigaSubPromoEligible 3608 } 3609 }); 3610 } 3611 } 3612 3613 const enterSophiSubscriptionFunnel = () => { 3614 demeter('userProperties', { 3615 args: { 3616 3: true 3617 } 3618 }) 3619 } 3620 3621 const getSophiDecision = async (userStatus) => { 3622 if (userStatus == '') { 3623 let decision = await demeter('getDecision'); 3624 if (decision.outcome.wallVisibility === 'always') { 3625 paywall.sophiWallType = decision.outcome.wallType // 'regwall' or 'paywall' 3626 } 3627 } else if (userStatus !== 'subscribed') { 3628 let decision = await demeter('getDecision', { 3629 args: { visitor: userStatus }, // 'registered' or 'anonymous' 3630 }); 3631 if (decision.outcome.wallVisibility === 'always') { 3632 paywall.sophiWallType = decision.outcome.wallType // 'regwall' or 'paywall' 3633 } 3634 } 3635 } 3636 3637 const sophiMount = async () => { 3638 // Allows Sophi Logs to show in Console 3639 if (getEnvironment() === 'test') { 3640 demeter('config', { 3641 args: { 3642 logLevel: 'debug' // default log level is 'warn' 3643 } 3644 }) 3645 } 3646 3647 const userStatus = getForumCookie('_fcc_user_status') 3648 setSophiUserProperties(userStatus) 3649 3650 const isArticle = paywall.pageType === 'article' ? true : false; 3651 const sophiSection = paywall.sectionName; 3652 3653 // Track standard pageview event 3654 demeter('pageview', { 3655 args: { 3656 article: isArticle, // Bool: Identifies if this is an article page 3657 section: sophiSection // String: Top level section of the article 3658 } 3659 }); 3660 3661 // 1. Get values from window.sophi.dataLayer 3662 3663 await demeter('getSophiContext'); 3664 3665 const sophiData = window.sophi.dataLayer; 3666 3667 // 2. Set up tracking properties 3668 3669 var sophi_propensity = '' 3670 if (sophiData && sophiData.trace) { 3671 sophi_propensity = sophiData.trace.substring(3,5) 3672 paywall.sophiPropensityScore = sophi_propensity 3673 } 3674 3675 const trackingProperties = { 3676 sophi_trace: sophiData.trace, 3677 sophi_context: sophiData.context, 3678 sophi_inputs: sophiData.inputs, 3679 sophi_assigned_group: sophiData.assignedGroup, 3680 experiments_code: sophiData.experimentsCode, 3681 sophi_propensity_score: sophi_propensity, 3682 sophi_user_properties: sophiData.userProperties, 3683 sophi_content_properties: sophiData.contentProperties 3684 }; 3685 3686 // Track a pageview event 3687 dataLayer.push({'event': 'sophi_page_view', ...trackingProperties}); 3688 3689 // Updated a/b testing for Sophi v2.0 3690 const assignedGroup = sophiData.assignedGroup; 3691 if (assignedGroup === 'variant') { 3692 paywall.assignedGroup = 'variant' 3693 getSophiDecision(userStatus) 3694 } else { 3695 paywall.assignedGroup = 'control' 3696 } 3697 3698 function generateLink (arr, propensityScore, isPromo) { 3699 if (!isPromo) { 3700 // update subscribe links 3701 updateSubscribeButtonLinks(arr[0].url) 3702 // footer 3703 updateFooterLink(arr[0].url) 3704 return 3705 } 3706 // calc length & map to offers 3707 const total = 100; 3708 const interval = total / arr.length; 3709 3710 const scoredOffers = arr.map((item, index) => { 3711 const upper = total - interval * index; 3712 const lower = total - interval * (index + 1); 3713 return { 3714 ...item, 3715 scoreRange: { 3716 lower: parseFloat(lower.toFixed(2)), 3717 upper: parseFloat(upper.toFixed(2)) 3718 } 3719 } 3720 }) 3721 3722 const selectedOffer = scoredOffers.find(item => propensityScore > item.scoreRange.lower && propensityScore <= item.scoreRange.upper) 3723 3724 if (!selectedOffer) { 3725 console.log('no offer default subscribe link used') 3726 return 3727 } 3728 3729 // update subscribe links 3730 updateSubscribeButtonLinks(selectedOffer.url) 3731 // footer 3732 updateFooterLink(selectedOffer.url) 3733 } 3734 3735 function updateSubscribeButtonLinks (url) { 3736 let link = `clickSubscribe('${url}
3736', '', 'Page-header-subscribe')` 3737 // find all subscribe button instances on page 3738 let elementCollection = document.getElementsByClassName('Page-header-subscribe') 3739 let elementArr = Array.from(elementCollection) 3740 3741 elementArr.forEach((element, index) => { 3742 element.setAttribute('onclick', link) 3743 }) 3744 } 3745 3746 function updateFooterLink (url) { 3747 let link = `clickSubscribe('${url}', '', 'Page-header-subscribe')` 3748 let footerCollection = document.getElementsByClassName('FooterNavigationItem-items-item') 3749 // find the subscription link 3750 let footerArr = Array.from(footerCollection) 3751 3752 let filteredFooterArr = footerArr.filter(parent => parent.firstChild.innerText?.includes('Subscription Options')) 3753 if (filteredFooterArr.length < 1) { 3754 console.log('no footer links found') 3755 return 3756 } 3757 let footerLink = filteredFooterArr[0].firstChild 3758 if (!footerLink) { 3759 console.log('no anchor in footer link') 3760 return 3761 } 3762 footerLink.removeAttribute('href') 3763 footerLink.setAttribute('onclick', link) 3764 } 3765 3766 // determine subscribe URL based on logic 3767 if (assignedGroup === "variant" && "false" === "true") { 3768 let sophiSubscribeUrlsArr = [] 3769 3770 if (paywall.promoEligible === 'yes') { 3771 // generate subscribe url based on propensity score 3772 generateLink(sophiSubscribeUrlsArr, paywall.sophiPropensityScore, true) 3773 } else { 3774 generateLink(sophiSubscribeUrlsArr, paywall.sophiPropensityScore, false) 3775 } 3776 } 3777 3778 window.dispatchEvent(navigaEngageInitTrigger) 3779 } 3780 3781 // New Event for Sophi Paywall to Trigger on paywall modals after Sophi has mounted 3782 const navigaEngageInitTrigger = new Event('navigaEngageInitTrigger') 3783 window.addEventListener('sophiGlobalScriptMount', function () { 3784 sophiMount() 3785 }) 3786</script>
3786 3787 3788 3789 3790 3791
3791<script> 3792 (function (d, s, n) { 3793 var js, fjs = d.getElementsByTagName(s)[0]; 3794 js = d.createElement(s); 3795 js.className = n; 3796 js.src = "//player.ex.co/player/33705558-dcc5-46ac-8b10-861843026682"; 3797 fjs.parentNode.insertBefore(js, fjs); 3798 }(document, 'script', 'exco-player')); 3799</script>
3799 3800 3801<span data-bsp-pv="b178d405-fcad-3031-b6c4-9fd6b1ada8aa"></span><span data-bsp-pv="0000018a-fb84-dafc-adbb-fbc6eeca0000"></span>
3801<script data-bsp-site="00000185-96ef-de9a-a5bf-96ff4e460000" data-bsp-contentid="0000018a-fb84-dafc-adbb-fbc6eeca0000"></script>
3801<script data-bsp-site="00000185-96ef-de9a-a5bf-96ff4e460000" data-bsp-contentid="0000018a-fb84-dafc-adbb-fbc6eeca0000" src="https://cdn.forumcomm.com/resource/0000017b-5a43-de16-ab7f-ffcfc2a20000/_resource/analytics/bsp-analytics.min.686c87a3ca6667675841641b91fc7fe6.gz.js"></script>
3801</body> 3802 3803</html>
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.