1<!DOCTYPE HTML> 2<!--[if IEMobile 7 ]><html class="no-js iem7" manifest="default.appcache?v=1"><![endif]--> 3<!--[if lt IE 7 ]><html class="no-js ie6" lang="en"><![endif]--> 4<!--[if IE 7 ]><html class="no-js ie7" lang="en"><![endif]--> 5<!--[if IE 8 ]><html class="no-js ie8" lang="en"> <![endif]--> 6<!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]--> 7<head> 8 9 <!-- Begin : Custom Head HTML --> 10 <style> 11 12/* 1. Smooth scrolling */ 13html { 14 scroll-behavior: smooth; 15} 16 17/* 2. Better tap/click feel */ 18a, button { 19 -webkit-tap-highlight-color: transparent; 20} 21 22a { 23 transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease; 24} 25 26/* 3. Responsive images (prevents overflow issues) */ 27img { 28 max-width: 100%; 29 height: auto; 30} 31 32/* 4. Subtle hover lift on desktop only */ 33@media (min-width: 769px) { 34 a img:hover { 35 transform: scale(1.02); 36 transition: transform 0.2s ease; 37 } 38} 39 40</style> 41 42<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 42-43
42 43<script async src="https://www.googletagmanager.com/gtag/js?id=
43G-RQRFFJE45Z
vendor: 13 bytes, line 43
43"></script>
44<script> 45
vendor: 138 bytes, lines 45-49
45window.dataLayer = window.dataLayer || []; 46 function gtag(){dataLayer.push(arguments);} 47 gtag('js', new Date()); 48 49 gtag('config', '
49G-RQRFFJE45Z
vendor: 5 bytes, line 49
49');
50</script>
50 51 <!-- End : Custom Head HTML --> 52 53 <meta name="robots" content="noindex" /> 54<title>Sign In | ROCK 102 Saskatoon's Rock Station</title> 55 56 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 57 <meta charset="UTF-8" /> 58 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=6.0"> 59 <meta name="keywords" content="ROCK 102 FM, Saskatoon's Rock Station, Everything That Rocks, Radio, Music, Rock, Saskatoon, Woody, Sheri, Whitney, Sully, Woody and Sheri" /> 60 <meta name="description" content="Rock 102 is Saskatoon's rock station playing everything that rocks." /> 61 <meta property="og:type" content="website" /> 62 <meta property="og:title" content="Sign In" /> 63 <meta property="og:description" content="Rock 102 is Saskatoon's rock station playing everything that rocks." /> 64 <meta property="og:url" content="https://www.rock102rocks.com/login/" /> 65 <meta property="og:site_name" content="ROCK 102 Saskatoon's Rock Station" /> 66 <meta property="og:image" content="https://media-cdn.socastsrm.com/uploads/station/552/fbShare.png?r=20961" /> 67 68 <link rel="pingback" href="https://www.rock102rocks.com/xmlrpc.php" /> 69 <link rel="apple-touch-icon" href="https://media-cdn.socastsrm.com/uploads/station/552/squareIcon.png?r=20965" /> 70
70<script> 71 var isIE8 = false; 72 </script>
72 73 <!--[if lt IE 9]> 74
74<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
74 75
75<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
75 76
76<script> 77 isIE8 = true; 78 Date.now = Date.now || function() { return +new Date; }; 79 </script>
79 80 <![endif]--> 81 82 83
83<script type="text/javascript"> 84 //$headerType is "main" 85 //$request is "/login/" 86 var socast_page = { 87 "cacheKey": "", 88 "companyID": 115, 89 "accountID": 576, 90 "blogID": 663, 91 "ownerBlogID": 663, 92 "currentBlogID": 663, 93 "callLetters": "CJDJ", 94 "siteName": "ROCK 102 Saskatoon's Rock Station", 95 "squareLogo": "https:\/\/media-cdn.socastsrm.com\/uploads\/station\/552\/squareIcon.png?r=20965", 96 "postID": null, 97 "title": "Page not found", 98 "type": null, 99 "referrer": null, 100 "userAgent": "Mozilla\/5.0 AppleWebKit\/537.36 (KHTML, like Gecko; compatible; PageSourceSearchBot\/1.0; +https:\/\/pagesourcesearch.com\/bot) Chrome\/128.0.0.0 Safari\/537.36", 101 "eventID": null, 102 "location": "Saskatoon, SK, Canada", 103 "navString": "", 104 "isSyn": false, 105 "hasContent": true, 106 "featured_image": "", 107 "featured_image_caption": null, 108 "featured_image_alt": "", 109 "url": "http:\/\/www.rock102rocks.com\/login\/", 110 "is_yii": true, 111 "platform": "web", 112 "target": "omniture", 113 "pageType": "blog", 114 "shareTemplate": "<a href='http:\/\/www.facebook.com\/sharer.php?u=POST_URL' target='_blank' class='socialShareLink facebook'><img src='https:\/\/media-cdn.socastsrm.com\/images\/social\/png\/facebook.png' alt='facebook' \/><\/a><a href='https:\/\/bsky.app\/intent\/compose?text=POST_URL' target='_blank' class='socialShareLink bluesky'><img src='https:\/\/media-cdn.socastsrm.com\/images\/social\/png\/bluesky.png' alt='bluesky' \/><\/a><a href='https:\/\/x.com\/intent\/post?url=POST_URL&text=POST_TITLE' target='_blank' class='socialShareLink twitter'><img src='https:\/\/media-cdn.socastsrm.com\/images\/social\/png\/xitter.png' alt='twitter' \/><\/a><a href='mailto:?body=POST_URL&subject=POST_TITLE' target='_blank' class='socialShareLink email'><img src='https:\/\/media-cdn.socastsrm.com\/images\/social\/png\/email.png' alt='email' \/><\/a>" 115}; 116 socast_page.url = window.location; 117 var adMacros = socast_page; 118 var Page = socast_page; 119 var gvars = { cdnStatic : '' }; 120 var CDN_HOST_MEDIA = 'https://media-cdn.socastsrm.com'; 121 var GOOGLE_MAP_ID = '77d575c540d23575'; 122 var isMobileUserAgent = false; 123 var communityUserName = null; 124 var communityUserIcon = null; 125 var V3_RECAPTCHA_SITE_KEY = '6LchdXMgAAAAAP4dU47UWMAhU0Tc8Uf0ldZrstqZ'; 126 </script>
126 127 128
128<script> 129 var hasPlayer = true; 130 var isInsideSocastIframe = false; 131 var playerType = 'socast'; 132 var popupPlayerURL = '/player/?playerID=699'; 133 var popupPlayerSize = '820xauto'; 134</script>
134 135 <meta name='robots' content='max-image-preview:large' /> 136 <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> 137 <link rel='dns-prefetch' href='//maps.googleapis.com' /> 138<link rel='dns-prefetch' href='//cdn-js.socastsrm.com' /> 139<link rel='dns-prefetch' href='//www.google.com' /> 140<link rel='dns-prefetch' href='//cdn-css.socastsrm.com' />
141<script type="text/javascript"> 142/* <![CDATA[ */ 143window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.rock102rocks.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.8.2"}}; 144/*! This file is auto-generated */ 145!function(s,n){var o,i,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),a=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===a[t]})}function u(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);for(var n=e.getImageData(16,16,1,1),a=0;a<n.data.length;a++)if(0!==n.data[a])return!1;return!0}function f(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\udedf")}return!1}function g(e,t,n,a){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):s.createElement("canvas"),o=r.getContext("2d",{willReadFrequently:!0}),i=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(function(e){i[e]=t(o,e,n,a)}),i}function t(e){var t=s.createElement("script");t.src=e,t.defer=!0,s.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",i=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){s.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+g.toString()+"("+[JSON.stringify(i),f.toString(),p.toString(),u.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"}),r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=function(e){c(n=e.data),r.terminate(),t(n)})}catch(e){}c(n=g(i,f,p,u))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); 146/* ]]> */ 147</script>
147 148<link rel='stylesheet' id='wp-block-library-css' href='https://cdn-css.socastsrm.com/cdn_v18.5.6/wordpress/wp-includes/css/dist/block-library/style.min.css?ver=6.8.2' type='text/css' media='all' /> 149<link rel='stylesheet' id='js_composer_front-css' href='https://cdn-css.socastsrm.com/cdn_v18.5.6/wordpress/wp-content/plugins/js_composer/assets/css/js_composer.min.css?ver=8.7.2' type='text/css' media='all' /> 150<link rel='stylesheet' id='bootstrap-css' href='https://cdn-css.socastsrm.com/cdn_v18.5.6/application/css/bootstrap/4.1.0/css/bootstrap.css?ver=6.8.2' type='text/css' media='all' /> 151<link rel='stylesheet' id='custom-css' href='https://cdn-css.socastsrm.com/cdn_v18.5.6/application/css/custom.css?v=2013-10-02&ver=6.8.2' type='text/css' media='all' /> 152<link rel='stylesheet' id='global-theme-css' href='https://cdn-css.socastsrm.com/cdn_v18.5.6/application/css/global-theme.css?ver=6.8.2' type='text/css' media='all' /> 153<link rel='stylesheet' id='global-frontend-css' href='https://cdn-css.socastsrm.com/cdn_v18.5.6/application/stylesheets/frontend/frontend.css?ver=6.8.3' type='text/css' media='all' /> 154<style id='wp-emoji-styles-inline-css' type='text/css'> 155 156 img.wp-smiley, img.emoji { 157 display: inline !important; 158 border: none !important; 159 box-shadow: none !important; 160 height: 1em !important; 161 width: 1em !important; 162 margin: 0 0.07em !important; 163 vertical-align: -0.1em !important; 164 background: none !important; 165 padding: 0 !important; 166 } 167</style> 168<style id='classic-theme-styles-inline-css' type='text/css'> 169/*! This file is auto-generated */ 170.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 171</style> 172<style id='global-styles-inline-css' type='text/css'> 173:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
173--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
173.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 174:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} 175:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} 176:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} 177</style>
178<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/wordpress/wp-includes/js/jquery/jquery.js" id="jquery-core-js"></script>
vendor: 1 bytes, line 178
178
179<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/wordpress/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
vendor: 1 bytes, line 179
179
180<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/js/jquery/jquery-ui-1.13.3/jquery-ui.min.js" id="jquery-ui-js"></script>
vendor: 1 bytes, line 180
180
181<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/css/bootstrap/4.1.0/js/popper-1.14.3.min.js" id="popper-js"></script>
vendor: 1 bytes, line 181
181
182<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/css/bootstrap/4.1.0/js/bootstrap.min.js" id="bootstrap-js"></script>
vendor: 1 bytes, line 182
182
183<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/js/json/json2.js" id="json-js"></script>
vendor: 1 bytes, line 183
183
184<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/js/custom.js?v=2017-05-29" id="custom-js"></script>
vendor: 1 bytes, line 184
184
185<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/js/jquery/socast.jquery.frontend.js" id="frontend-plugins-js"></script>
vendor: 1 bytes, line 185
185
186<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/wordpress/wp-content/plugins/socast-widgets/js/lightBox.js?v=2014-08-21" id="lightbox-js"></script>
vendor: 1 bytes, line 186
186
187<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/js/frontend.js" id="frontend-js"></script>
vendor: 1 bytes, line 187
187
188<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/js/jquery/jquery.ui.kk-chronomasonry.js" id="chronomasonry-js"></script>
vendor: 1 bytes, line 188
188
189<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/application/js/jquery/jquery.ui.socastTouch.js" id="socasttouch-js"></script>
vendor: 1 bytes, line 189
189
190<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/wordpress/wp-content/plugins/socast-widgets/js/widgets/poll.js" id="socastcms_poll_script-js"></script>
vendor: 84 bytes, lines 190-191
190 191<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=
1916LchdXMgAAAAAP4dU47UWMAhU0Tc8Uf0ldZrstqZ
vendor: 30 bytes, line 191
191" id="recaptcha-js"></script>
192<script></script>
192<link rel="https://api.w.org/" href="https://www.rock102rocks.com/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.rock102rocks.com/xmlrpc.php?rsd" /> 193<meta name="generator" content="WordPress 6.8.2" /> 194<!-- Google Tag Manager -->
195<script>
vendor: 327 bytes, lines 195-199
195(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 196new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 197j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 198'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 199})(window,document,'script','dataLayer','
199GTM-TQ2K7TM
vendor: 3 bytes, line 199
199');
199</script>
199 200<!-- End Google Tag Manager --><meta name="generator" content="Powered by WPBakery Page Builder - drag and drop page builder for WordPress."/> 201<link rel="icon" href="https://media-cdn.socastsrm.com/wordpress/wp-content/blogs.dir/663/files/2026/05/untitled-design5.png" sizes="32x32" /> 202<link rel="icon" href="https://media-cdn.socastsrm.com/wordpress/wp-content/blogs.dir/663/files/2026/05/untitled-design5.png" sizes="192x192" /> 203<link rel="apple-touch-icon" href="https://media-cdn.socastsrm.com/wordpress/wp-content/blogs.dir/663/files/2026/05/untitled-design5.png" /> 204<meta name="msapplication-TileImage" content="https://media-cdn.socastsrm.com/wordpress/wp-content/blogs.dir/663/files/2026/05/untitled-design5.png" /> 205<noscript><style> .wpb_animate_when_almost_visible { opacity: 1; }</style></noscript> 206 <style> 207 </style> 208 <style>.font-montserrat { font-family: Montserrat, Sans-Serif; } 209</style><link href='https://fonts.googleapis.com/css?family=Montserrat:400,300,300italic,400italic,700,900,100' rel='stylesheet' type='text/css'> 210 <link type="text/css" href="https://cdn-js.socastsrm.com/cdn_v18.5.6/wordpress/wp-content/themes/socast-3/assets/css/style.css" rel="stylesheet" data-cssvar /> 211 <style data-cssvar> 212 :root { 213 /* body and content */ 214 --body-bgd: #ffffff; 215 --sc-content-bgd: #ffffff; 216 217 --sc-text: #222222; 218 --text-header: #222222; 219 220 --sc-primary: #035cfe; 221 --ad-slot-bgd: transparent; 222 --ad-slot-text: var(--sc-text); 223 224 /* head and nav */ 225 --nav-bgd: #222222; 226 --nav-text: #ffffff; 227 --nav-text-hover: #035cfe; 228 --nav-child-text: #cccccc; 229 --nav-child-text-hover: #ffffff; 230 --player-btn-bgd: #035cfe; 231 --player-btn-text: #ffffff; 232 --player-btn-hover-bgd: #79b3f2; 233 --player-btn-hover-text: #000000; 234 --nav-font-size: 1.25rem; 235 --spacing-nav: calc(1.25rem / 2); 236 --nav-height: 70px; 237 238 /* sidebar */ 239 --sidebar-width: 300px; 240 --sidebar-bgd: #2F3035; 241 --sidebar-text: #F7D706; 242 --sidebar-highlight: #5E5E5E; 243 --sidebar-btn-text: #2F3035; 244 245 /* footer */ 246 --footer-bgd: var(--nav-bgd); 247 --footer-text: #cccccc; 248 --footer-highlight: var(--nav-text); 249 250 --heading-font: Montserrat, Sans-Serif; 251 } 252 253 body { font-family: Montserrat, Sans-Serif; } 254 #stickyHeader, #minimalMenu, #minimalMenu .text-h3 { font-family: Montserrat, Sans-Serif !important; } 255 256 257 @media screen and (min-width: 1600px) { 258 .site_width { 259 max-width: 1600px !important; 260 261 margin-left:auto; 262 margin-right:auto; 263 } 264 265 } 266 @media screen and (min-width: 1600px) { 267 body.single main .site_width, 268 body.single nav.site_width, 269 body.single footer.site_width{ 270 max-width: 1600px !important; 271 272 margin-left:auto; 273 margin-right:auto; 274 } 275 } 276 277 @media screen and (min-width: 1600px) { 278 main .floating-bgd-img { 279 background-image: url('https://media-cdn.socastsrm.com/wordpress/wp-content/blogs.dir/663/files/2026/05/web-bg.jpg'); 280 background-repeat: no-repeat; 281 background-position: center top; 282 } } 283 @media screen and (max-width: 1599px) { 284 a.floating-bgd-img { display: none; } 285 } 286 287 </style> 288
288<script type='text/javascript' src='https://cdn-js.socastsrm.com/cdn_v18.5.6/wordpress/wp-content/themes/socast-3/assets/js/scripts.js'></script>
288 289<link rel='shortcut icon' href='https://media-cdn.socastsrm.com/wordpress/wp-content/blogs.dir/663/files/2026/05/untitled-design5.png' /></head> 290<body class='error404 wp-theme-socast-3 wpb-js-composer js-comp-ver-8.7.2 vc_responsive contentType- socast-3 headerType-main header-not-sticky'><!--[if lte IE 9]><p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p><![endif]--> 291<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 291-292
291 292<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
292GTM-TQ2K7TM
vendor: 83 bytes, lines 292-293
292" 293height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
294<!-- End Google Tag Manager (noscript) --><nav id='stickyHeader' class='nav-align-left full_content hasLogo hasPlayBtn'> 295 <div class='site_width nav-container'><div class='nav-left hasLogo'> 296 <a href='#' id='minimalMenuToggle'> 297 <svg class='icon' viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill='currentColor' d="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z" /></svg> 298 <span class='sr-text'>Menu</span> 299 </a> 300 <a class="header-logo sc-center-box" href="/"> 301 <img src="https://media-cdn.socastsrm.com/wordpress/wp-content/blogs.dir/663/files/2026/05/rock102-simple-stacked-200x200-1.webp" alt="ROCK 102 Saskatoon's Rock Station" /> 302 </a> 303 <a href='#' class='socastPlayerBtn hover-effect'> 304 <span class='hover-effect'> 305 <span class='text icon-left'>Listen Live</span><svg class='icon' xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 24 24"> 306 <path fill='currentColor' d="M8,5.14V19.14L19,12.14L8,5.14Z" /> 307 </svg> 308 </span> 309 </
309a> 310 </div> 311<div class='nav-middle '> 312 <div><!-- IE hack --> 313 <ul class="nav nav-lower"> 314 <li class=""> 315 <a href='https://www.rock102rocks.com/jocks-2' target="_self" class="nav-item-parent">Hosts</a> 316 </li> 317 <li class=""> 318 <a href='https://www.rock102rocks.com/concerts' target="_self" class="nav-item-parent">Concerts</a> 319 </li> 320 <li class=""> 321 <a href='https://www.rock102rocks.com/events-2' target="_self" class="nav-item-parent">Events</a> 322 </li> 323 <li class=""> 324 <a href='https://www.rock102rocks.com/hometown-rock' target="_self" class="nav-item-parent">Hometown Rock</a> 325 </li> 326 <li class=""> 327 <a href='https://www.rock102rocks.com/win' target="_self" class="nav-item-parent">Win</a> 328 </li> 329 <li class="hasSubnav"> 330 <a href='#' target="_self" class="nav-item-parent">App<span class='icon icon-right chevron'></span></a> 331 <div class='submenu'> 332 <ul> 333 <li><a href='https://itunes.apple.com/ca/app/rock-102-saskatoons-rock-station/id365004640?mt=8' target="_blank" class="nav-item-child">iOS</a></li> 334 <li><a href='https://play.google.com/store/apps/details?id=com.socast.rawlco.cjdjfm' target="_blank" class="nav-item-child">Android</a></li> 335 <li><a href='https://www.amazon.ca/Rawlco-Radio-Ltd-ROCK-Saskatoon/dp/B07B6DNXN1/ref=sr_1_1?s=digital-skills&ie=UTF8&qid=1527002276&sr=1-1&keywords=rock+102' target="_blank" class="nav-item-child">Alexa</a></li> 336 </ul> 337 </div> 338 </li> 339</ul> 340 </div> 341</div> 342<div class='nav-right'> 343 <a href='/?s=' class='search-icon'><svg class='icon' x="0" y="0" viewBox="0 0 24 24"> 344<path fill='currentColor' d="M9.5,3C13.1,3,16,5.9,16,9.5c0,1.6-0.6,3.1-1.6,4.2l0.3,0.3h0.8l5,5L19,20.5l-5-5v-0.8l-0.3-0.3c-1.1,1-2.6,1.6-4.2,1.6 345 C5.9,16,3,13.1,3,9.5S5.9,3,9.5,3 M9.5,5C7,5,5,7,5,9.5S7,14,9.5,14S14,12,14,9.5S12,5,9.5,5z"/> 346</svg></a> 347</div> 348</div></nav> 349<div id='minimalMenu' class=''> 350 <div class='wrapper'> 351 <a href='#' class='close hover-effect'><span class='hover-effect'>×</span></a> 352 <ul class="nav nav-expanded member"> 353 <li> 354 <a href='/login' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Sign In</span></a></li> 355</ul> <ul class="nav nav-expanded "> 356 <li> 357 <a href='/?s=' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Search</span></a></li> 358 <li> 359 <a href='https://www.rock102rocks.com/jocks-2' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Hosts</span></a></li> 360 <li> 361 <a href='https://www.rock102rocks.com/concerts' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Concerts</span></a></li> 362 <li> 363 <a href='https://www.rock102rocks.com/events-2' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Events</span></a></li> 364 <li> 365 <a href='https://www.rock102rocks.com/hometown-rock' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Hometown Rock</span></a></li> 366 <li> 367 <a href='https://www.rock102rocks.com/win' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Win</span></a></li> 368 <li> 369 <a href='#' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">App</span></a><div class='submenu'> 370 <ul> 371 <li><a href='https://itunes.apple.com/ca/app/rock-102-saskatoons-rock-station/id365004640?mt=8' target="_blank" class="nav-item-child hover-effect"><span class="hover-effect">iOS</span></a></li> 372 <li><a href='https://play.google.com/store/apps/details?id=com.socast.rawlco.cjdjfm' target="_blank" class="nav-item-child hover-effect"><span class="hover-effect">Android</span></a></li> 373 <li><a href='https://www.amazon.ca/Rawlco-Radio-Ltd-ROCK-Saskatoon/dp/B07B6DNXN1/ref=sr_1_1?s=digital-skills&ie=UTF8&qid=1527002276&sr=1-1&keywords=rock+102' target="_blank" class="nav-item-child hover-effect"><span class="hover-effect">Alexa</span></a></li> 374 </ul> 375 </div></li> 376</ul> 377 <ul class='nav social social-badge'> 378 <li><a href='https://www.facebook.com/rock102rocks/' title='Facebook' target='_blank' class='sc-center-box'><img alt='facebook' class='icon svg-loader' data-icon="facebook" /></a></li> 379 <li><a href='https://instagram.com/rock102rocks' title='Instagram' target='_blank' class='sc-center-box'><img alt='instagram' class='icon svg-loader' data-icon="instagram" /></a></li> 380 <li><a href='https://itunes.apple.com/ca/app/rock-102-saskatoons-rock-station/id365004640?mt=8' title='App Store' target='_blank' class='sc-center-box'><img alt='app store' class='icon svg-loader' data-icon="apple" /></a></li> 381 <li><a href='https://play.google.com/store/apps/details?id=com.socast.rawlco.cjdjfm' title='Google Play Store' target='_blank' class='sc-center-box'><img alt='google play store' class='icon svg-loader' data-icon="google-play" /></a></li> 382 <li><a href='https://www.amazon.ca/Rawlco-Radio-Ltd-ROCK-Saskatoon/dp/B07B6DNXN1/ref=sr_1_1?s=digital-skills&ie=UTF8&qid=1527002276&sr=1-1&keywords=rock+102' title='Amazon Alexa' target='_blank' class='sc-center-box'><img alt='alexa' class='icon svg-loader' data-icon="amazon-alexa" /></a></li> 383 </ul> </div> 384</div> 385<div id='minimalMenuOverlay'></div> 386<div id='stickyNotifications'></div><main><div class='bgd-img-container'><div class='floating-bgd-img'></div></div><div id='sc-content-area' class='site_width'><div class='sc-sidebar-wrapper ' data-hascontent="true"> 387<div class='sc-content'> 388<div id='login-form' class="theme1"> 389<form id='user-form' class='form userForm' method='POST'> 390 <input type='hidden' name='cmd' value='save' /> 391 <h1>Sign In</h1> 392 <div class='loginFormColumn'> 393 <input type='hidden' name='membersOnly' value='' /> 394 <div class='field-group '> 395 <div class='field'> 396 <label class="field-group-label" for="email_login">Email: *</label><input maxlength="255" type="text" value="" name="email_login" id="email_login" /> 397 <div class='error-message'></div> 398 <div class='success-message'></div> 399 </div> 400 </div> 401 402 <div class='field-group '> 403 <div class='field'> 404 <label class="field-group-label" for="password">Password: *</label><input maxlength="50" minlength="6" class="passwordToggle" type="password" value="" name="password" id="password" /><div class='description text_light_color'>Must be at least 6 letters or numbers.</div> 405 <div class='error-message'></div> 406 <div class='success-message'></div> 407 </div> 408 </div> 409 410<style> 411.userForm { 412 margin-bottom:20px; 413} 414.userForm .field-group.birthdate select { 415 width: 105px; 416 margin-right:10px; 417} 418.userForm .field-group.terms { 419 margin:20px 0; 420} 421</style> 422 423 424 <div class="field-group"> 425 <a href='/login/forgotPassword' style='float:right;'>Forgot Password?</a> 426 <div class="field-group control-group" style='margin-top:0;'> 427 <div class="field"> 428 <input type='checkbox' id='rememberMe' name='rememberMe' value='1' checked /> 429 <label for='rememberMe'>Remember Me</label>
430 </div> 431 </div> 432 </div> 433 434 <div class="" style='margin-top:30px;'> 435 <button class='btn btn-black' id='submit'>Sign In</button> 436 </div> 437 438 <div class="" style='margin-top:15px;'> 439 <a href='https://api.socastsrm.com/api/v3/OAuth/connectWithGoogle?accountID=576&scContext=signup&triggerURL=%2Flogin' class='btn btn-white'><img src='/image/svg?icon=google-color' class='icon icon-left' alt='' />Sign In With Google</a> 440 </div> 441 442 </div><div class='loginFormColumn'> 443 <div class="box defaultState"> 444 <h2>Not a Member Yet?</h2> 445 <p>Become a member to interact with the community and for access to exclusive content and offers.</p> 446 <a href="/signup" class="btn btn-black">Sign up now</a> 447 </div> 448 </div> 449 </form> 450</div> 451 452<style> 453#login-form .loginFormColumn { 454 width:100%; 455 max-width:350px; 456 margin-bottom:2em; 457 margin-right:14px; 458 vertical-align: top; 459} 460#login-form .userForm .loginFormColumn:last-child { 461 margin-right:0px; 462} 463#login-form .btn { 464 display: block; 465 width:100%; 466 -webkit-box-sizing: border-box; 467 -moz-box-sizing: border-box; 468 box-sizing: border-box; 469} 470</style>
471<script> 472$(document).ready(function() { 473 if ($('#user-form').width() > 614) { 474 $('#login-form .loginFormColumn').css({ 475 "width": "49%", 476 "display":"inline-block" 477 }); 478 } 479 $('#submit').on('click', function(e){ 480 let self = this; 481 grecaptcha.ready(function() { 482 grecaptcha.execute('6LchdXMgAAAAAP4dU47UWMAhU0Tc8Uf0ldZrstqZ', {action: 'sign_in'}).then(function(token){ 483 let form = $(self).parents('form'); 484 form.append(`<input type="hidden" name="g-recaptcha-response" value="${token}">`); 485 form.submit(); 486 }); 487 }); 488 }); 489}); 490</script>
490 </div> 491</div> 492</main> 493<footer id='theFooter' class='footerAlign-center footerWidth-full_content'><div class='site_width'><div class='footer-section footer-social'><ul class='nav social social-badge'> 494 <li><a href='https://www.facebook.com/rock102rocks/' title='Facebook' target='_blank' class='sc-center-box'><img alt='facebook' class='icon svg-loader' data-icon="facebook" /></a></li> 495 <li><a href='https://instagram.com/rock102rocks' title='Instagram' target='_blank' class='sc-center-box'><img alt='instagram' class='icon svg-loader' data-icon="instagram" /></a></li> 496 <li><a href='https://itunes.apple.com/ca/app/rock-102-saskatoons-rock-station/id365004640?mt=8' title='App Store' target='_blank' class='sc-center-box'><img alt='app store' class='icon svg-loader' data-icon="apple" /></a></li> 497 <li><a href='https://play.google.com/store/apps/details?id=com.socast.rawlco.cjdjfm' title='Google Play Store' target='_blank' class='sc-center-box'><img alt='google play store' class='icon svg-loader' data-icon="google-play" /></a></li> 498 <li><a href='https://www.amazon.ca/Rawlco-Radio-Ltd-ROCK-Saskatoon/dp/B07B6DNXN1/ref=sr_1_1?s=digital-skills&ie=UTF8&qid=1527002276&sr=1-1&keywords=rock+102' title='Amazon Alexa' target='_blank' class='sc-center-box'><img alt='alexa' class='icon svg-loader' data-icon="amazon-alexa" /></a></li> 499 </ul></div> 500<div class='footer-section footer-nav'> 501 <ul class="nav nav-expanded "> 502 <li> 503 <a href='https://www.rock102rocks.com/contact-us' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Contact</span></a></li> 504 <li> 505 <a href='https://www.rock102rocks.com/contest-rules' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Contest Rules</span></a></li> 506 <li> 507 <a href='/privacy' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Privacy Policy</span></a></li> 508 <li> 509 <a href='/terms' target="_self" class="nav-item-parent hover-effect"><span class="hover-effect">Terms Of Service</span></a></li> 510</ul> 511</div> 512<div class='footer-section company '><a href='http://www.rawlco.com' target='_blank' class=''><img src='https://media-cdn.socastsrm.com/uploads/company/115/69ea403ea1c37.png' class='company-logo' alt='Rawlco Radio' /></a></div> 513<div class="footer-section copyright">Copyright © 2026. All Rights Reserved.</div> 514<div class='footer-section'> 515 <div id='socastTagline'> 516 <a id='poweredBySocastLink' href='https://www.socastdigital.com' target='_blank' rel='noopener noreferrer' > 517 <img src='https://media-cdn.socastsrm.com/wordpress/wp-content/themes/common_images/PoweredBySoCastTagline-White.png' alt='Powered by SoCast' /> 518 </a> 519
519<script> 520 $(document).ready(function() { 521 var image_type = '-White'; 522 if (typeof footer_luminance != 'undefined' && footer_luminance < 127.5) image_type = '-Black'; 523 loadSvg('#poweredBySocastLink', '/wordpress/wp-content/themes/common_images/PoweredBySoCastTagline', image_type, 'Powered by SoCast'); 524 }); 525 </script>
525 526 </div></div></div></footer>
526<script> 527 grecaptcha.ready(function(){ 528 grecaptcha.execute("6LchdXMgAAAAAP4dU47UWMAhU0Tc8Uf0ldZrstqZ", {action: 'page_load'}) 529 .then(_ => { 530 531 }); 532 }); 533</script>
533<script> 534(function () { 535 var NAME = 'sc_form_token'; 536 537 function readCookie() { 538 var match = document.cookie.match(/(?:^|;\s*)sc_form_token=([^;]*)/); 539 return match ? decodeURIComponent(match[1]) : ''; 540 } 541 542 function mintToken() { 543 var hex = ''; 544 if (window.crypto && window.crypto.getRandomValues) { 545 var bytes = new Uint8Array(32); 546 window.crypto.getRandomValues(bytes); 547 for (var i = 0; i < bytes.length; i++) hex += ('0' + bytes[i].toString(16)).slice(-2); 548 return hex; 549 } 550 while (hex.length < 64) hex += Math.floor(Math.random() * 16).toString(16); 551 return hex; 552 } 553 554 /* The token the cookie holds, minting and storing one when it holds none. Returns 555 '' when the cookie can't be written - a browser refusing cookies, or an older 556 httponly sc_form_token still in place, which document.cookie may not overwrite. 557 Either way the server-rendered field value is left exactly as it is. */ 558 function currentToken() { 559 var token = readCookie(); 560 if (token) return token; 561 562 token = mintToken(); 563 var cookie = NAME + '=' + token + ';path=/;max-age=3600;samesite=Strict'; 564 if (location.protocol === 'https:') cookie += ';secure'; 565 document.cookie = cookie; 566 567 return readCookie() === token ? token : ''; 568 } 569 570 function syncFields(scope) { 571 var fields = (scope || document).querySelectorAll('input[name="sc_form_token"]'); 572 // No gated form in scope, so no reason to hand this visitor a cookie. 573 if (!fields.length) return; 574 575 var token = currentToken(); 576 if (!token) return; 577 for (var i = 0; i < fields.length; i++) fields[i].value = token; 578 } 579 580 /* Capture phase, so the value is in place before the handlers that read the form 581 back out - the comment and activity-stream forms serialize themselves and post 582 over AJAX from their own submit handlers. */ 583 document.addEventListener('submit', function (e) { syncFields(e.target); }, true); 584 585 if (document.readyState === 'loading') { 586 document.addEventListener('DOMContentLoaded', function () { syncFields(); }); 587 } else { 588 syncFields(); 589 } 590})(); 591</script>
591<script type="speculationrules"> 592{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wordpress\/wp-content\/blogs.dir\/663\/files\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/socast-3\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 593</script>
vendor: 1 bytes, line 593
593
594<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places,marker&key=AIzaSyBY5c5Bd4wOXXCjyQLKGbCfxiMhnOu0QQ4" id="socastcms_widgets_google_maps-js"></script>
vendor: 1 bytes, line 594
594
595<script type="text/javascript" src="https://cdn-js.socastsrm.com/cdn_v18.5.6/js/css-var-polyfill.js" id="css-polyfill-js"></script>
vendor: 1 bytes, line 595
595
596<script></script>
596<a href="https://www.rock102rocks.com/player/?playerID=699" target="_blank" class="listen-live-btn"> 597 <span class="listen-live-main">â¶ LISTEN LIVE</span> 598</a> 599 600<style> 601.listen-live-btn { 602 position: fixed; 603 top: 25px; 604 right: 25px; 605 z-index: 99999; 606 607 background-color: #1e5edb; 608 color: #ffffff !important; 609 610 font-family: Arial Black, Impact, sans-serif; 611 612 padding: 14px 24px; 613 border-radius: 14px; 614 border: 4px solid #ffffff; 615 616 text-decoration: none; 617 box-shadow: 0 6px 18px rgba(0,0,0,0.4); 618 619 opacity: 0; 620 transform: translateY(-140%); 621 pointer-events: none; 622 623 transition: transform 0.35s ease, opacity 0.35s ease, background-color 0.2s ease; 624} 625 626.listen-live-btn.show { 627 opacity: 1; 628 transform: translateY(0); 629 pointer-events: auto; 630 animation: pulseFooter 2s infinite; 631} 632 633.listen-live-main { 634 display: block; 635 font-size: 28px; 636 font-weight: 900; 637 letter-spacing: 1px; 638 line-height: 1; 639} 640 641.listen-live-song { 642 display: block; 643 margin-top: 6px; 644 font-family: Arial, sans-serif; 645 font-size: 13px; 646 font-weight: 700; 647 letter-spacing: 0; 648 max-width: 260px; 649 white-space: nowrap; 650 overflow: hidden; 651 text-overflow: ellipsis; 652} 653 654.listen-live-btn:visited, 655.listen-live-btn:active, 656.listen-live-btn:focus, 657.listen-live-btn:hover { 658 color: #ffffff !important; 659} 660 661.listen-live-btn:hover { 662 background-color: #174bb5 !important; 663 transform: scale(1.05); 664} 665 666@keyframes pulseFooter { 667 0% { box-shadow: 0 0 0 0 rgba(30,94,219,0.7), 0 6px 18px rgba(0,0,0,0.4); } 668 70% { box-shadow: 0 0 0 14px rgba(30,94,219,0), 0 6px 18px rgba(0,0,0,0.4); } 669 100% { box-shadow: 0 0 0 0 rgba(30,94,219,0), 0 6px 18px rgba(0,0,0,0.4); } 670} 671 672@media (max-width: 600px) { 673 .listen-live-btn { 674 top: 15px; 675 right: 15px; 676 padding: 12px 18px; 677 } 678 679 .listen-live-main { 680 font-size: 20px; 681 } 682 683 .listen-live-song { 684 font-size: 11px; 685 max-width: 190px; 686 } 687} 688</style> 689
690<script> 691window.addEventListener('scroll', function() { 692 const button = document.querySelector('.listen-live-btn'); 693 694 if (window.scrollY > 250) { 695 button.classList.add('show'); 696 } else { 697 button.classList.remove('show'); 698 } 699}); 700 701/* 702 NOW PLAYING NOTE: 703 Replace this with your SoCast / stream provider's Now Playing feed URL 704 when you get it. 705*/ 706const nowPlayingFeed = "https://ftp.socastsrm.com/rawlco/cjdj/filetrackhistory_3.xml"; 707 708async function updateNowPlaying() { 709 if (nowPlayingFeed === "https://ftp.socastsrm.com/rawlco/cjdj/filetrackhistory_3.xml") return; 710 711 try { 712 const response = await fetch(nowPlayingFeed); 713 const data = await response.json(); 714 715 document.getElementById("current-song").textContent = 716 data.title || data.song || data.now_playing || "Now playing on Rock 102"; 717 } catch (error) { 718 document.getElementById("current-song").textContent = "Now playing on Rock 102"; 719 } 720} 721 722updateNowPlaying(); 723setInterval(updateNowPlaying, 30000); 724</script>
724 </body> 725</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.