editor Logout
Account Preferences
Did you know...
In India and China, women abort their female children in large numbers because they are female ?
Streaming Radio Guide
view source - https://reachradiotucson.com/
*** Test System *** GO TO PRODUCTION
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width"><!-- <link rel='manifest' media='(prefers-color-scheme: dark)' href='/manifest-dark.json' /> <link rel='manifest' media='(prefers-color-scheme: light)' href='/manifest-light.json' /> --><!-- Basic Meta Tags --><title>Reach Radio Tucson</title><meta name="description" content="Reach Radio features Bible teachings and a diverse collection of Christian music. You can listen online or on the air Tucson at 106.7FM and 690AM!"><meta name="keywords" content="Christian radio, Tucson, Bible teaching, gospel music, Reach Radio, 106.7FM, 690AM"><meta name="author" content="Reach Radio Tucson"><meta name="robots" content="index, follow"><link rel="canonical" href="https://reachradiotucson.com/"><!-- Open Graph Tags --><meta property="og:type" content="website"><meta property="og:title" content="Listen"><meta property="og:description" content="Reach Radio features Bible teachings and a diverse collection of Christian music. You can listen online or on the air Tucson at 106.7FM and 690AM!"><meta property="og:image" content="https://cdn.sanity.io/images/bk05c6rl/production/5891a2050443dc125c47c8607419caf3afaa21a5-1024x1024.jpg"><meta property="og:url" content="https://reachradiotucson.com/"><meta property="og:site_name" content="Reach Radio Tucson"><meta property="og:locale" content="en_US"><!-- Twitter Card Tags --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Listen"><meta name="twitter:description" content="Reach Radio features Bible teachings and a diverse collection of Christian music. You can listen online or on the air Tucson at 106.7FM and 690AM!"><meta name="twitter:image" content="https://cdn.sanity.io/images/bk05c6rl/production/5891a2050443dc125c47c8607419caf3afaa21a5-1024x1024.jpg"><!-- Article-specific meta tags --><!-- Favicons --><link rel="icon" type="image/svg+xml" media="(prefers-color-scheme: dark)" href="https://cdn.sanity.io/images/bk05c6rl/production/a499d62ed53587a137fd57b02e9a11db81811c31-512x512.png"><link rel="icon" type="image/svg+xml" media="(prefers-color-scheme: light)" href="https://cdn.sanity.io/images/bk05c6rl/production/a499d62ed53587a137fd57b02e9a11db81811c31-512x512.png"><link rel="apple-touch-icon" href="https://cdn.sanity.io/images/bk05c6rl/production/a499d62ed53587a137fd57b02e9a11db81811c31-512x512.png?w=180&h=180&fit=crop&auto=format"><!-- Performance Hints --><link rel="preconnect" href="https://cdn.sanity.io"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="dns-prefetch" href="https://formspree.io"><link rel="stylesheet" href="/css/unpoly@3.10.2.min.css"><link rel="stylesheet" href="/css/global.css"><link rel="stylesheet" href="/css/play-button-spinner.css"><script src="/js/unpoly@3.10.2.min.js"></script><script type="module" src="/_astro/Layout.astro_astro_type_script_index_0_lang.BEWISGYd.js"></script><link rel="stylesheet" href="/_astro/contact-form-response.BSC-Qkan.css"> <style>body.content-is-loaded .loading-skeleton-overlay[data-astro-cid-5sen4jno]{opacity:0;pointer-events:none} </style></head> <body class="bg-gray-800 bg-no-repeat bg-gradient-to-b from-gray-800 to-green-900 dark:selection:bg-green-600 dark:selection:text-white pb-[152px] pt-[64px] scrollbar-thin scrollbar-track-green-800 scrollbar-corner-green-800 scrollbar-thumb-green-700 hover:scrollbar-thumb-green-600" react-native-web-view> <header class="fixed top-0 z-50 transform-gpu items-center justify-between w-full h-16 gap-8 text-white transition-all duration-500 bg-gray-800 border-b md:flex border-b-green-500/20 page-padding-x top-bar-scroll-throttle hidden" up-keep> <a class="fill-white w-[clamp(130px,_16vw,_186px)] flex items-center gap-1.5 group" href="/"> <img class="" src="/images/icons/reach_radio_logo.svg" alt="Reach Radio"> </a> <nav class="flex items-center justify-around gap-3" up-nav> <a href="/" up-follow class="relative" up-preload="insert"> <div class="flex flex-col items-center justify-center p-2 h-16 z-10"> <div class="hidden up-current:block z-10 absolute bottom-0 w-full h-[6px] bg-green-500 rounded-t-md"></div> <div class="up-current:font-bold text-white text-[clamp(14px,_1.5vw,_16px)]' "> Listen </div> </div> <div class="hidden up-current:block bg-green-500 pointer-events-none blur-2xl absolute inset-0 -bottom-4 opacity-60"></div> </a> <a href="/about" up-follow class="relative" up-preload="insert" up-alias="/about/*"> <div class="flex flex-col items-center justify-center p-2 h-16 z-10"> <div class="hidden up-current:block z-10 absolute bottom-0 w-full h-[6px] bg-green-500 rounded-t-md"></div> <div class="up-current:font-bold text-white text-[clamp(14px,_1.5vw,_16px)]' "> About </div> </div> <div class="hidden up-current:block bg-green-500 pointer-events-none blur-2xl absolute inset-0 -bottom-4 opacity-60"></div> </a> <a href="/donate" up-follow class="relative" up-preload="insert" up-cache="true"> <div class="flex flex-col items-center justify-center p-2 h-16 z-10"> <div class="hidden up-current:block z-10 absolute bottom-0 w-full h-[6px] bg-green-500 rounded-t-md"></div> <div class="up-current:font-bold text-white text-[clamp(14px,_1.5vw,_16px)]' "> Donate </div> </div> <div class="hidden up-current:block bg-green-500 pointer-events-none blur-2xl absolute inset-0 -bottom-4 opacity-60"></div> </a> <a href="/teachers" up-follow class="relative" up-preload="insert" up-alias="/teachers/*"> <div class="flex flex-col items-center justify-center p-2 h-16 z-10"> <div class="hidden up-current:block z-10 absolute bottom-0 w-full h-[6px] bg-green-500 rounded-t-md"></div> <div class="up-current:font-bold text-white text-[clamp(14px,_1.5vw,_16px)]' "> Teachers </div> </div> <div class="hidden up-current:block bg-green-500 pointer-events-none blur-2xl absolute inset-0 -bottom-4 opacity-60"></div> </a> </nav> <div class="flex items-center gap-6"> <div class="flex items-center gap-2 fill-slate-300"> <a class="w-7 hover:fill-white transition-all duration-500" title="Facebook" href="https://www.facebook.com/reachradiotucson" target="_blank"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" role="img"><path d="M36.002 18.11a18 18 0 10-20.816 17.891V23.345h-4.567v-5.233h4.571v-3.993c0-4.538 2.688-7.044 6.8-7.044a27.53 27.53 0 014.029.353v4.454h-2.27a2.61 2.61 0 00-2.931 2.83v3.4h4.984l-.8 5.233h-4.2v12.656a18.081 18.081 0 0015.2-17.891z" fill="inherit"></path></svg> </a> </div> <a class="flex items-center px-2 py-1 gap-2 bg-white rounded text-black font-bold" href="/about#aboutGotQuestions"> <span class="text-[clamp(16px,_1.5vw,_18px)]">Contact</span> </a> </div> </header> <header class="md:hidden fixed top-0 z-50 flex p-2 gap-y-6 min-h-[64px] items-center justify-between w-full text-white bg-black border-b-gray1 page-padding-x duration-500 transform-gpu transition-all top-bar-scroll-throttle" up-keep> <a class="pr-8 w-[clamp(250px,_16vw,_300px)]" href="/"> <img class="h-8" src="/images/icons/reach_radio_logo.svg" alt="Reach Radio"> </a> <div class="flex items-center gap-6"> <div class="flex items-center gap-2 fill-slate-300"> <a class="w-8 hover: fill-white transition-all duration-500" title="Facebook" href="https://www.facebook.com/reachradiotucson" target="_blank"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" role="img"><path d="M36.002 18.11a18 18 0 10-20.816 17.891V23.345h-4.567v-5.233h4.571v-3.993c0-4.538 2.688-7.044 6.8-7.044a27.53 27.53 0 014.029.353v4.454h-2.27a2.61 2.61 0 00-2.931 2.83v3.4h4.984l-.8 5.233h-4.2v12.656a18.081 18.081 0 0015.2-17.891z" fill="inherit"></path></svg> </a> </div> <a class="flex items-center px-2 py-1 gap-2 bg-white rounded text-black font-bold" href="/about#aboutGotQuestions"> <span class="text-[ clamp( 16px, _1.5vw, _18px ) ]">Contact</span> </a> </div> </header> <main up-cache="true" class="relative"> <script type="application/ld+json">{"@context":"https://schema.org","@type":"RadioStation","name":"Reach Radio Tucson","description":"Reach Radio features Bible teachings and a diverse collection of Christian music. You can listen online or on the air in Tucson, Arizona at 106.7FM and 690AM!","url":"https://reach.radio","logo":{"@type":"ImageObject","url":"https://cdn.sanity.io/images/bk05c6rl/production/a499d62ed53587a137fd57b02e9a11db81811c31-512x512.png"},"broadcastDisplayName":"Reach Radio Tucson","broadcastFrequency":"106.7 FM, 690 AM","areaServed":{"@type":"City","name":"Tucson","addressRegion":"AZ","addressCountry":"US"},"genre":["Christian","Gospel","Bible Teaching"],"sameAs":[]}</script> <div id="radio-player-skeleton" class="radio-player-skeleton px-3 pt-3"> <div class="p-2 pb-5 md:p-5 bg-gray-700/50 rounded animate-pulse"> <!-- Image Placeholder --> <div class="relative flex items-center justify-center w-full"> <div class="skeleton-image max-w-[420px] md:max-h-full h-64 w-full bg-gray-700 rounded"></div> </div> <!-- Controls Placeholder: Now flex-col, items-center by default --> <div class="flex flex-col items-center gap-8 mt-5"> <!-- Title/Artist Placeholder: items-center by default --> <div class="flex flex-col items-center gap-1 w-full px-2"> <div class="skeleton-line h-[1.3em] w-3/4 bg-gray-700 rounded"></div> <div class="skeleton-line h-[1em] w-1/2 bg-gray-700 rounded"></div> </div> <!-- Buttons/Volume Placeholder: justify-center added --> <div class="flex gap-11 items-center justify-center"> <div class="skeleton-button w-14 h-14 md:w-16 md:h-16 bg-gray-700 rounded-full"></div> <div class="skeleton-button w-9 h-9 bg-gray-700 rounded-full"></div> <div class="skeleton-volume w-24 h-8 bg-gray-700 rounded"></div> </div> </div> </div> </div> <div id="radio-player-container" class="px-3 pt-3 hidden"> <div class="p-2 pb-5 md:p-5 bg-gray-700/50 rounded"> <div class="relative flex items-center justify-center w-full"> <!-- Sleep Timer overlay --> <div id="sleep-timer-overlay" class="absolute z-10 bg-black/80 rounded p-5 hidden"> <div id="sleep-timer-overlay-time" class="text-4xl text-center text-white"></div> <div class="mt-5"> <button id="sleep-timer-overlay-cancel" class="text-white bg-white/10 uppercase font-bold border border-green-500 w-full py-2 px-5 rounded-full"> Cancel </button> </div> </div> <script type="module" src="/_astro/SleepTimerOverlay.astro_astro_type_script_index_0_lang.GMWAy4xD.js"></script> <img id="radio-player-image" class="max-w-[420px] md:max-h-full max-h-64 rounded cursor-pointer" alt="current audio" loading="eager"> </div> <div class="flex md:flex-row flex-col items-center justify-between md:gap-0 gap-8 mt-5"> <div class="flex flex-col md:items-start items-center md:gap-3 gap-1 w-full md:w-[calc(100%_-_276px)] px-2"> <div id="radio-player-title" class="md:text-4xl text-2xl truncate w-full h-[1.3em] md:w-[calc(100%_-_20px)] md:text-left text-center text-white"></div> <div id="radio-player-artist" class="md:font-bold font-medium md:text-lg uppercase truncate w-full md:w-[calc(100%_-_20px)] md:text-left text-center text-white"></div> </div> <div class="flex gap-11"> <div class="flex gap-5 md:items-center items-end md:ml-0 ml-14"> <div id="play-stop-button" class="bg-green-500 rounded-full aspect-square relative overflow-hidden"> <button id="play-stop-button-pause-button" class="p-3 flex items-center justify-center md:w-16 md:h-16 w-14 h-14 relative z-10" title="Pause"> <div class="fill-white w-7"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 34"><path d="M2920,7929a2,2,0,0,1-2-2v-30a2,2,0,0,1,2-2h8a2,2,0,0,1,2,2v30a2,2,0,0,1-2,2Zm-18,0a2,2,0,0,1-2-2v-30a2,2,0,0,1,2-2h8a2,2,0,0,1,2,2v30a2,2,0,0,1-2,2Z" transform="translate(-2900 -7895)" fill="#fff"></path></svg></div> </button> <button id="play-stop-button-play-button" class="p-3 flex items-center justify-center md:w-16 md:h-16 w-14 h-14 relative z-10" title="Play"> <div class="fill-white w-7"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 40" role="img"><path d="M29.6 17.414a3 3 0 010 5.172L4.521 37.341A3 3 0 010 34.755V5.245a3 3 0 014.521-2.586z"></path></svg></div> </button> <div class="absolute inset-0"> <div id="play-stop-button-spinner" class="spinner w-full aspect-square relative z-0"> <div></div> <div></div> <div></div> </div> </div> </div> <script type="module" src="/_astro/PlayStopButton.astro_astro_type_script_index_0_lang.C7OjMHuy.js"></script> <a href="/sleep-timer/sleep-timer-layer" up-layer="new" class="fill-white bg-gray-500 rounded-full p-1 w-9 h-9" up-dismissable="key, outside"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 24 24" preserveAspectRatio="xMinYMin"><path d="M11 9h4a1 1 0 0 1 0 2h-5a1 1 0 0 1-1-1V4a1 1 0 1 1 2 0v5zm-1 11C4.477 20 0 15.523 0 10S4.477 0 10 0s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16z"></path></svg> </a> </div> <div class="gap-4 items-center md:flex hidden pr-2 w-28 volume-control"> <button class="media-bar-sound-icon"> <span class="media-bar-sound-icon-muted hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="18.136" height="15.1" viewBox="0 0 18.136 15.1"><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -3.501)" fill="#fff" fill-rule="evenodd"></path><path d="M15057.342-1093.973l-2.045-2.043-2.043,2.043a.621.621,0,0,1-.879,0,.62.62,0,0,1,0-.88l2.043-2.043-2.043-2.042a.61.61,0,0,1-.182-.44.611.611,0,0,1,.182-.44.609.609,0,0,1,.438-.182.618.618,0,0,1,.441.182l2.041,2.043,2.045-2.043a.613.613,0,0,1,.438-.182.628.628,0,0,1,.441.182.619.619,0,0,1,.182.44.618.618,0,0,1-.182.44l-2.043,2.043,2.043,2.042a.623.623,0,0,1,0,.88.625.625,0,0,1-.441.182A.615.615,0,0,1,15057.342-1093.973Z" transform="translate(-15040.265 1104.999)" fill="#fff"></path></svg> </span> <span class="media-bar-sound-icon-low hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="15.144" height="15.1" viewBox="0 0 15.144 15.1"><g transform="translate(0 -2.535)"><path d="M9.186,15.5a7.551,7.551,0,0,0,0-10.679L8,6a5.874,5.874,0,0,1,0,8.306Z" transform="translate(3.746 -0.073)" fill="#fff"></path><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -0.966)" fill="#fff" fill-rule="evenodd"></path></g></svg> </span> <span class="media-bar-sound-icon-medium hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="18.5" height="15.425" viewBox="0 0 18.5 15.425"><g transform="translate(0 -2.373)"><path d="M10.6,18.829A10.906,10.906,0,0,0,10.6,3.4L9.414,4.59a9.233,9.233,0,0,1,0,13.053Z" transform="translate(4.705 -1.031)" fill="#fff"></path><path d="M9.186,15.5a7.551,7.551,0,0,0,0-10.679L8,6a5.874,5.874,0,0,1,0,8.306Z" transform="translate(3.746 -0.073)" fill="#fff"></path><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -0.966)" fill="#fff" fill-rule="evenodd"></path></g></svg> </span> <span class="media-bar-sound-icon-high hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="21.858" height="20.17" viewBox="0 0 21.858 20.17"><path d="M12.016,22.16a14.26,14.26,0,0,0,0-20.17L10.828,3.176a12.583,12.583,0,0,1,0,17.8l1.188,1.186Z" transform="translate(5.664 -1.99)" fill="#fff"></path><path d="M10.6,18.829A10.906,10.906,0,0,0,10.6,3.4L9.414,4.59a9.233,9.233,0,0,1,0,13.053Z" transform="translate(4.705 -1.031)" fill="#fff"></path><path d="M9.186,15.5a7.551,7.551,0,0,0,0-10.679L8,6a5.874,5.874,0,0,1,0,8.306Z" transform="translate(3.746 -0.073)" fill="#fff"></path><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -0.966)" fill="#fff" fill-rule="evenodd"></path></svg> </span> </button> <script type="module" src="/_astro/SoundIcon.astro_astro_type_script_index_0_lang.AphmVuRl.js"></script> <input class="volume-control-input accent-white w-full" type="range" min="0" max="100" value="100"> </div> <script type="module" src="/_astro/VolumeControl.astro_astro_type_script_index_0_lang.D2bvj040.js"></script> </div> </div> </div> </div> <script type="module" src="/_astro/index.astro_astro_type_script_index_0_lang.BoR5IOz9.js"></script> <div id="scheduled-list" up-defer up-href="/scheduled-list"> <div class="font-bold text-lg px-3 uppercase mt-7 text-white"> Playing Next </div> <!-- Skeleton for the list items --> <div class="schedule-list-skeleton space-y-3 mt-3 px-3 animate-pulse"> <div class="flex items-center p-3 bg-gray-700/50 rounded-lg gap-4"> <div class="skeleton-image w-16 h-16 md:w-20 md:h-20 bg-gray-700 rounded"></div> <div class="flex flex-col gap-2 flex-grow"> <div class="skeleton-line h-4 w-3/4 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/2 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/3 bg-gray-700 rounded"></div> </div> </div><div class="flex items-center p-3 bg-gray-700/50 rounded-lg gap-4"> <div class="skeleton-image w-16 h-16 md:w-20 md:h-20 bg-gray-700 rounded"></div> <div class="flex flex-col gap-2 flex-grow"> <div class="skeleton-line h-4 w-3/4 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/2 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/3 bg-gray-700 rounded"></div> </div> </div><div class="flex items-center p-3 bg-gray-700/50 rounded-lg gap-4"> <div class="skeleton-image w-16 h-16 md:w-20 md:h-20 bg-gray-700 rounded"></div> <div class="flex flex-col gap-2 flex-grow"> <div class="skeleton-line h-4 w-3/4 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/2 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/3 bg-gray-700 rounded"></div> </div> </div><div class="flex items-center p-3 bg-gray-700/50 rounded-lg gap-4"> <div class="skeleton-image w-16 h-16 md:w-20 md:h-20 bg-gray-700 rounded"></div> <div class="flex flex-col gap-2 flex-grow"> <div class="skeleton-line h-4 w-3/4 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/2 bg-gray-700 rounded"></div> <div class="skeleton-line h-3 w-1/3 bg-gray-700 rounded"></div> </div> </div> </div> </div> <div id="global-loading-skeleton-container" up-keep data-astro-cid-5sen4jno> <div id="global-loading-skeleton" class="loading-skeleton-overlay absolute inset-0 z-40 bg-black opacity-100 transition-opacity duration-300 ease-in-out pointer-events-auto" aria-hidden="true" aria-live="polite" role="status" data-astro-cid-5sen4jno> <div class="skeleton-container h-full max-w-screen-xl mx-auto box-border p-4 md:p-6 flex flex-col gap-4 md:gap-6" data-astro-cid-5sen4jno> <!-- Customize this structure --> <div class="skeleton-header h-[60px] shrink-0 rounded bg-gray-700 animate-pulse" data-astro-cid-5sen4jno></div> <div class="skeleton-content grow flex flex-col gap-4 md:gap-6" data-astro-cid-5sen4jno> <div class="skeleton-line h-[1.2em] w-[90%] rounded bg-gray-700 animate-pulse" data-astro-cid-5sen4jno></div> <div class="skeleton-line h-[1.2em] w-[60%] rounded bg-gray-700 animate-pulse" data-astro-cid-5sen4jno></div> <div class="skeleton-block h-[150px] w-full rounded bg-gray-700 animate-pulse" data-astro-cid-5sen4jno></div> <div class="skeleton-line h-[1.2em] w-[90%] rounded bg-gray-700 animate-pulse" data-astro-cid-5sen4jno></div> <div class="skeleton-line h-[1.2em] w-[75%] rounded bg-gray-700 animate-pulse" data-astro-cid-5sen4jno></div> </div> <div class="skeleton-footer h-[50px] shrink-0 mt-auto rounded bg-gray-700 animate-pulse" data-astro-cid-5sen4jno></div> </div> </div> <script type="module">window.addEventListener("global-scripts-up:ready",()=>{l()});typeof up<"u"&&l();function l(){console.log("handleSkeleton");const n="content-is-loaded";up.on("up:request:load",()=>{console.log("Unpoly request starting, ensuring skeleton is visible..."),document.body.classList.remove(n)});const o=()=>{console.log("Attempting to hide skeleton...");try{document.body.classList.add(n),console.log("Successfully added content-is-loaded class to body.")}catch(e){console.error("Error adding content-is-loaded class:",e)}};console.log("Adding hideSkeleton listeners for up:request:loaded, up:request:aborted"),up.on("up:request:loaded",o),up.on("up:request:aborted",o),console.log("Adding additional hideSkeleton listeners for fragment events"),up.on("up:location:changed",e=>{console.log("Location changed, hiding skeleton:",e),setTimeout(o,100)}),up.on("up:fragment:loaded",e=>{console.log("Fragment loaded, hiding skeleton:",e),o()}),up.on("up:fragment:error",e=>{console.log("Fragment error, hiding skeleton:",e),o()}),up.on("up:history:changed",e=>{console.log("History changed, hiding skeleton:",e),o()}),up.on("up:navigation:completed",e=>{console.log("Navigation completed, hiding skeleton:",e),o()}),up.on("up:deferred:load",e=>{console.log("Deferred load, hiding skeleton:",e),o()}),document.readyState==="complete"?(console.log("Page already loaded, hiding skeleton initially"),o()):window.addEventListener("load",()=>{console.log("Page load event, hiding skeleton"),o()},{once:!0})}</script> </div> </main> <nav id="mobile-navigation" class="fixed bottom-0 left-0 right-0 z-50 flex items-center justify-around w-full px-1 overflow-y-hidden text-white bg-black md:hidden gap-x-1 border-t border-t-green-500" up-nav up-keep> <a class="relative" href="/" up-follow up-preload="insert"> <div class="flex flex-col items-center pb-5 pt-4 z-10 relative"> <div class="up-current:block hidden w-full h-[6px] bg-green-500 rounded-b-md absolute top-0"></div> <div class="flex flex-col items-center"> <div class="fill-white w-5 h-5 up-current:block hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-400q-50 0-85-35t-35-85v-240q0-50 35-85t85-35q50 0 85 35t35 85v240q0 50-35 85t-85 35Zm-40 280v-123q-104-14-172-93t-68-184h80q0 83 58.5 141.5T480-320q83 0 141.5-58.5T680-520h80q0 105-68 184t-172 93v123h-80Z"></path></svg> </div> <div class="fill-white w-5 h-5 block up-current:hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-400q-50 0-85-35t-35-85v-240q0-50 35-85t85-35q50 0 85 35t35 85v240q0 50-35 85t-85 35Zm0-240Zm-40 520v-123q-104-14-172-93t-68-184h80q0 83 58.5 141.5T480-320q83 0 141.5-58.5T680-520h80q0 105-68 184t-172 93v123h-80Zm40-360q17 0 28.5-11.5T520-520v-240q0-17-11.5-28.5T480-800q-17 0-28.5 11.5T440-760v240q0 17 11.5 28.5T480-480Z"></path></svg> </div> <div class="text-sm up-current:font-bold">Listen</div> </div> </div> <div class="up-current:block hidden absolute inset-0 -top-4 opacity-80"></div> </a> <a class="relative" href="/about" up-follow up-preload="insert" up-alias="/about/*"> <div class="flex flex-col items-center pb-5 pt-4 z-10 relative"> <div class="up-current:block hidden w-full h-[6px] bg-green-500 rounded-b-md absolute top-0"></div> <div class="flex flex-col items-center"> <div class="fill-white w-5 h-5 up-current:block hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"></path></svg> </div> <div class="fill-white w-5 h-5 block up-current:hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"></path></svg> </div> <div class="text-sm up-current:font-bold">About</div> </div> </div> <div class="up-current:block hidden absolute inset-0 -top-4 opacity-80"></div> </a> <a class="relative" href="/donate" up-follow up-preload="insert"> <div class="flex flex-col items-center pb-5 pt-4 z-10 relative"> <div class="up-current:block hidden w-full h-[6px] bg-green-500 rounded-b-md absolute top-0"></div> <div class="flex flex-col items-center"> <div class="fill-white w-5 h-5 up-current:block hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M280-159v-361h64q7 0 14 1.5t14 3.5l277 103q14 5 22.5 18t8.5 27q0 21-14.5 34T632-320H527q-5 0-7.5-.5T513-323l-64-25-13 39 77 27q2 1 6 1.5t7 .5h274q32 0 56 23t24 57L561-80l-281-79ZM40-80v-440h160v440H40Zm600-360L474-602q-31-30-52.5-66.5T400-748q0-55 38.5-93.5T532-880q32 0 60 13.5t48 36.5q20-23 48-36.5t60-13.5q55 0 93.5 38.5T880-748q0 43-21 79.5T807-602L640-440Z"></path></svg> </div> <div class="fill-white w-5 h-5 block up-current:hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M640-440 474-602q-31-30-52.5-66.5T400-748q0-55 38.5-93.5T532-880q32 0 60 13.5t48 36.5q20-23 48-36.5t60-13.5q55 0 93.5 38.5T880-748q0 43-21 79.5T807-602L640-440Zm0-112 109-107q19-19 35-40.5t16-48.5q0-22-15-37t-37-15q-14 0-26.5 5.5T700-778l-60 72-60-72q-9-11-21.5-16.5T532-800q-22 0-37 15t-15 37q0 27 16 48.5t35 40.5l109 107ZM280-220l278 76 238-74q-5-9-14.5-15.5T760-240H558q-27 0-43-2t-33-8l-93-31 22-78 81 27q17 5 40 8t68 4q0-11-6.5-21T578-354l-234-86h-64v220ZM40-80v-440h304q7 0 14 1.5t13 3.5l235 87q33 12 53.5 42t20.5 66h80q50 0 85 33t35 87v40L560-60l-280-78v58H40Zm80-80h80v-280h-80v280Zm520-546Z"></path></svg> </div> <div class="text-sm up-current:font-bold">Donate</div> </div> </div> <div class="up-current:block hidden absolute inset-0 -top-4 opacity-80"></div> </a> <a class="relative" href="/teachers" up-follow up-alias="/teachers/*" up-preload="insert"> <div class="flex flex-col items-center pb-5 pt-4 z-10 relative"> <div class="up-current:block hidden w-full h-[6px] bg-green-500 rounded-b-md absolute top-0"></div> <div class="flex flex-col items-center"> <div class="fill-white w-5 h-5 up-current:block hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M640-400q-50 0-85-35t-35-85q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35ZM400-160v-76q0-21 10-40t28-30q45-27 95.5-40.5T640-360q56 0 106.5 13.5T842-306q18 11 28 30t10 40v76H400ZM120-400v-80h320v80H120Zm0-320v-80h480v80H120Zm324 160H120v-80h360q-14 17-22.5 37T444-560Z"></path></svg> </div> <div class="fill-white w-5 h-5 block up-current:hidden"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M640-400q-50 0-85-35t-35-85q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35ZM400-160v-76q0-21 10-40t28-30q45-27 95.5-40.5T640-360q56 0 106.5 13.5T842-306q18 11 28 30t10 40v76H400Zm86-80h308q-35-20-74-30t-80-10q-41 0-80 10t-74 30Zm154-240q17 0 28.5-11.5T680-520q0-17-11.5-28.5T640-560q-17 0-28.5 11.5T600-520q0 17 11.5 28.5T640-480Zm0-40Zm0 280ZM120-400v-80h320v80H120Zm0-320v-80h480v80H120Zm324 160H120v-80h360q-14 17-22.5 37T444-560Z"></path></svg> </div> <div class="text-sm up-current:font-bold">Teachers</div> </div> </div> <div class="up-current:block hidden absolute inset-0 -top-4 opacity-80"></div> </a> </nav> <script type="module" src="/_astro/index.astro_astro_type_script_index_0_lang.CSd_lEyx.js"></script> <footer class="overflow-hidden relative z-10 border-t border-t-gray-500 px-[clamp(10px,_3vw,_30px)] py-[clamp(20px,_3vw,_30px)] bg-gray-800 mt-5"> <div class="text-white text-xs"> Reach Radio is a ministry of <a class="font-bold border-b-2 border-b-green-500 pb-1" href="https://calvarytucson.com" target="_blank">Calvary Tucson Church</a> © 2025 </div> <!-- Sanity Non-profit plan attribution --> <div class="mt-8"> <div class="w-[50px] border-t border-gray-300"></div> <div class="text-gray-300 text-xs mt-1"> Structured content powered by <a class="font-bold" target="_blank" href="https://www.sanity.io/">Sanity.io</a> </div> </div> </footer> <div class="overflow-hidden media-bar-container w-full " up-keep> <audio id="media-bar-audio" up-data="{&#34;_createdAt&#34;:&#34;2024-01-17T04:06:56Z&#34;,&#34;_id&#34;:&#34;a2939b52-e844-45f4-ba97-c335991cea4b&#34;,&#34;_rev&#34;:&#34;coB1qARSJSHQCmNacCgbaj&#34;,&#34;_type&#34;:&#34;appSettings&#34;,&#34;_updatedAt&#34;:&#34;2024-10-16T23:13:04Z&#34;,&#34;defaultArtworkURL&#34;:&#34;https://cdn.sanity.io/images/bk05c6rl/production/5891a2050443dc125c47c8607419caf3afaa21a5-1024x1024.jpg?w=420&#38;fm=webp&#34;,&#34;hostURL&#34;:&#34;https://reach-radio.webapp-0a8.workers.dev/&#34;,&#34;radioAudioURL&#34;:&#34;https://reach.radio/api/audio-stream&#34;}" up-keep> <source src="https://reach.radio/api/audio-stream" type="audio/mpeg"> </audio> <div id="media-bar" class="flex items-center justify-between px-3 bg-gray-700 text-white py-2 w-full fixed md:bottom-0 bottom-[77px] z-40 transition-all ease-in duration-300 transform-gpu"> <div class="flex items-center gap-5 w-[calc(100%_-_90px)]"> <img id="media-bar-image" class="md:w-24 w-14 aspect-square object-cover rounded cursor-pointer" src="https://cdn.sanity.io/images/bk05c6rl/production/5891a2050443dc125c47c8607419caf3afaa21a5-1024x1024.jpg?w=420&fm=webp" alt="current audio"> <div class="flex flex-col md:gap-3 gap-1 md:w-[calc(100%_-_130px)] w-[calc(100%_-_45px)]"> <div id="media-bar-title" class="md:text-4xl text-2xl truncate"> Reach Radio FM </div> <div id="media-bar-artist" class="md:font-bold font-medium md:text-lg uppercase truncate"></div> </div> </div> <div class="flex gap-11"> <div id="play-stop-button" class="bg-green-500 rounded-full aspect-square relative overflow-hidden"> <button id="play-stop-button-pause-button" class="p-3 flex items-center justify-center md:w-16 md:h-16 w-10 h-10 relative z-10" title="Pause"> <div class="fill-white w-7"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 34"><path d="M2920,7929a2,2,0,0,1-2-2v-30a2,2,0,0,1,2-2h8a2,2,0,0,1,2,2v30a2,2,0,0,1-2,2Zm-18,0a2,2,0,0,1-2-2v-30a2,2,0,0,1,2-2h8a2,2,0,0,1,2,2v30a2,2,0,0,1-2,2Z" transform="translate(-2900 -7895)" fill="#fff"></path></svg></div> </button> <button id="play-stop-button-play-button" class="p-3 flex items-center justify-center md:w-16 md:h-16 w-10 h-10 relative z-10" title="Play"> <div class="fill-white w-7"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 40" role="img"><path d="M29.6 17.414a3 3 0 010 5.172L4.521 37.341A3 3 0 010 34.755V5.245a3 3 0 014.521-2.586z"></path></svg></div> </button> <div class="absolute inset-0"> <div id="play-stop-button-spinner" class="spinner w-full aspect-square relative z-0"> <div></div> <div></div> <div></div> </div> </div> </div> <div class="gap-4 items-center md:flex hidden pr-2 w-28 volume-control"> <button class="media-bar-sound-icon"> <span class="media-bar-sound-icon-muted hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="18.136" height="15.1" viewBox="0 0 18.136 15.1"><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -3.501)" fill="#fff" fill-rule="evenodd"></path><path d="M15057.342-1093.973l-2.045-2.043-2.043,2.043a.621.621,0,0,1-.879,0,.62.62,0,0,1,0-.88l2.043-2.043-2.043-2.042a.61.61,0,0,1-.182-.44.611.611,0,0,1,.182-.44.609.609,0,0,1,.438-.182.618.618,0,0,1,.441.182l2.041,2.043,2.045-2.043a.613.613,0,0,1,.438-.182.628.628,0,0,1,.441.182.619.619,0,0,1,.182.44.618.618,0,0,1-.182.44l-2.043,2.043,2.043,2.042a.623.623,0,0,1,0,.88.625.625,0,0,1-.441.182A.615.615,0,0,1,15057.342-1093.973Z" transform="translate(-15040.265 1104.999)" fill="#fff"></path></svg> </span> <span class="media-bar-sound-icon-low hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="15.144" height="15.1" viewBox="0 0 15.144 15.1"><g transform="translate(0 -2.535)"><path d="M9.186,15.5a7.551,7.551,0,0,0,0-10.679L8,6a5.874,5.874,0,0,1,0,8.306Z" transform="translate(3.746 -0.073)" fill="#fff"></path><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -0.966)" fill="#fff" fill-rule="evenodd"></path></g></svg> </span> <span class="media-bar-sound-icon-medium hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="18.5" height="15.425" viewBox="0 0 18.5 15.425"><g transform="translate(0 -2.373)"><path d="M10.6,18.829A10.906,10.906,0,0,0,10.6,3.4L9.414,4.59a9.233,9.233,0,0,1,0,13.053Z" transform="translate(4.705 -1.031)" fill="#fff"></path><path d="M9.186,15.5a7.551,7.551,0,0,0,0-10.679L8,6a5.874,5.874,0,0,1,0,8.306Z" transform="translate(3.746 -0.073)" fill="#fff"></path><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -0.966)" fill="#fff" fill-rule="evenodd"></path></g></svg> </span> <span class="media-bar-sound-icon-high hidden"> <svg xmlns="http://www.w3.org/2000/svg" width="21.858" height="20.17" viewBox="0 0 21.858 20.17"><path d="M12.016,22.16a14.26,14.26,0,0,0,0-20.17L10.828,3.176a12.583,12.583,0,0,1,0,17.8l1.188,1.186Z" transform="translate(5.664 -1.99)" fill="#fff"></path><path d="M10.6,18.829A10.906,10.906,0,0,0,10.6,3.4L9.414,4.59a9.233,9.233,0,0,1,0,13.053Z" transform="translate(4.705 -1.031)" fill="#fff"></path><path d="M9.186,15.5a7.551,7.551,0,0,0,0-10.679L8,6a5.874,5.874,0,0,1,0,8.306Z" transform="translate(3.746 -0.073)" fill="#fff"></path><path d="M10.593,3.584a.839.839,0,0,1,.475.755V17.763a.839.839,0,0,1-1.363.654L5.74,15.246h-3.9A.839.839,0,0,1,1,14.407V7.695a.839.839,0,0,1,.839-.839h3.9L9.706,3.684a.839.839,0,0,1,.888-.1Z" transform="translate(-1 -0.966)" fill="#fff" fill-rule="evenodd"></path></svg> </span> </button> <input class="volume-control-input accent-white w-full" type="range" min="0" max="100" value="100"> </div> </div> </div> </div> <script type="module" src="/_astro/MediaBarContainer.astro_astro_type_script_index_0_lang.DmSFz5lW.js"></script> <script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f7a4b4fa633f405d9a5409f971120606","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script> </body></html>


URL: