<!DOCTYPE html><html lang="en"><head><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=G-SS8T99QDB2"></script><script>window.dataLayer=window.dataLayer || [];function gtag(){dataLayer.push(arguments)}gtag('js',new Date());gtag('config','G-SS8T99QDB2');gtag('config','G-SS8T99QDB2',{debug_mode:true});</script><!--Global--><script src="https://scripts.yehtu.com/scripts3/loader2.js" async data-inv="//ads.yehtu.com/" data-r="single" data-sender="yehtu" data-bundle="desktop"></script><!--end Global--><!--Initialize top banner desktop--><script type='text/javascript'>(window.globalAmlAds=window.globalAmlAds || []).push(function(){globalAml.defineSlot({z:'2301e4ab-26c7-4e91-ae66-c0c43ac31df3',ph:'yehtu_2301e4ab26c74e91ae66c0c43ac31df3_zone_122314_sect_58253_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'4b0fa43f-8a8c-4c23-b7c8-755352823807',ph:'yehtu_4b0fa43f8a8c4c23b7c8755352823807_zone_122316_sect_58253_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'7fba2feb-9b34-4dff-b07a-72c458c5c980',ph:'yehtu_7fba2feb9b344dffb07a72c458c5c980_zone_122318_sect_58253_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.singleRequest("yehtu")});</script><!-- end Initialize top banner desktop--><!--Initialize top banner mobile--><script type='text/javascript'>(window.globalAmlAds=window.globalAmlAds || []).push(function(){globalAml.defineSlot({z:'52de4627-2625-4de6-a79f-d0d4043e6ae4',ph:'yehtu_52de462726254de6a79fd0d4043e6ae4_zone_122315_sect_58253_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'557a3b0e-886e-4114-9da9-0f9cfe70554f',ph:'yehtu_557a3b0e886e41149da90f9cfe70554f_zone_122317_sect_58253_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.singleRequest("yehtu")});</script><!--end Initialize top banner mobile--><!--Initialize native mobile--><script type='text/javascript'>(window.globalAmlAds=window.globalAmlAds || []).push(function(){globalAml.defineSlot({z:'a825e13c-e802-41e6-8131-0a49dc81955b',ph:'yehtu_a825e13ce80241e681310a49dc81955b_zone_122332_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'cc4e3b87-93d0-48ca-89af-02bb2cb695d8',ph:'yehtu_cc4e3b8793d048ca89af02bb2cb695d8_zone_122334_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'83752b6d-032a-4db2-8582-a8f5cb783101',ph:'yehtu_83752b6d032a4db28582a8f5cb783101_zone_122336_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'9f55ba77-ae71-4312-ac3c-81f19752dba4',ph:'yehtu_9f55ba77ae714312ac3c81f19752dba4_zone_123879_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.singleRequest("yehtu")});</script><!--end Initialize native mobile--><!--Initialize native desktop--><script type='text/javascript'>(window.globalAmlAds=window.globalAmlAds || []).push(function(){globalAml.defineSlot({z:'94b81662-d479-4123-b73e-455ba769b78f',ph:'yehtu_94b81662d4794123b73e455ba769b78f_zone_122331_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'36f12204-35ed-4b3c-9105-f439923acd58',ph:'yehtu_36f1220435ed4b3c9105f439923acd58_zone_122333_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'0458541b-b033-423b-a15e-e0b0070a22aa',ph:'yehtu_0458541bb033423ba15ee0b0070a22aa_zone_122335_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'e6cb245d-4377-4d45-9785-2d3699ba77e0',ph:'yehtu_e6cb245d43774d4597852d3699ba77e0_zone_122337_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.defineSlot({z:'df6b7acf-2ab5-436b-b588-111b56371457',ph:'yehtu_df6b7acf2ab5436bb588111b56371457_zone_123878_sect_58255_site_51681',i:'inv-nets',s:'3eff8ae6-0c5d-44d2-9847-f173baa427fa',sender:'yehtu'});globalAml.singleRequest("yehtu")});</script><!--end Initialize native desktop--><meta charset="utf-8"><title>98.4 Capital FM - Nairobi's Hit Music Station | News, Music & Entertainment</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta name="description" content="Listen to 98.4 Capital FM online.  Nairobi's Hit Music Station,featuring the latest news,lifestyle,business,sports,and entertainment. Stream live radio and stay updated with The Sauce.">
    <meta name="keywords" content="Capital FM,98.4 Capital FM,Nairobi radio,Kenya radio,hit music,live radio,news Kenya,Kenyan music,The Sauce,Capital Lifestyle,Capital News,Kenyan entertainment,Capital FM Kenya,radio streaming Kenya">
    
    <meta property="og:image" content="images/featured.png" />
    <meta property="og:url" content="https://www.capitalfm.co.ke" />
    <meta property="og:type" content="website" />

    <meta name="twitter:card" content="summary_large_image" /> 
    <meta name="twitter:title" content="98.4 Capital FM - Nairobi's Hit Music Station | News, Music & Entertainment" />
    <meta name="twitter:description" content="Listen to 98.4 Capital FM online.  Nairobi's Hit Music Station,featuring the latest news,lifestyle,business,sports,and entertainment. Stream live radio and stay updated with The Sauce" />
    <meta name="twitter:image" content="images/featured.png" />
    <meta name="twitter:site" content="@capitalfmkenya" />
    <meta name="twitter:creator" content="@capitalfmkenya" />
    <link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<link rel="manifest" href="site.webmanifest">
<script src="https://cdn.tailwindcss.com"></script>
    <link rel="stylesheet" href="styles/style.css">
    
    <style type="text/css">
        /* Hamburger Menu Styles (Initially Hidden) */
.hamburger-menu {
    display: none; /* Hide by default on larger screens */
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
}

.hamburger-menu div {
    width: 100%;
    height: 3px;
    background-color: white;
    transition: all 0.3s ease;
}

/* Initially hide the main navigation on smaller screens */
.main-nav {
    display: flex; /* Keep flex for larger screens initially */
    align-items: center; /* Align items vertically */
}

.main-nav ul {
    display: flex;
    list-style: none;
}

.main-nav ul li {
    margin-left: 20px;
}

.main-nav ul li a {
    color: white;
    text-decoration: none;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 3px;
    transition: background-color 0.3s;
}

.main-nav ul li a:hover {
    background-color: #e74c3c;
}

/* Mobile Styles */
@media (max-width: 768px) {
    .header-container {
        flex-direction: row; /* Align logo and hamburger horizontally */
        justify-content: space-between; /* Space them out */
        align-items: center; /* Vertically center items in header */
    }

    .hamburger-menu {
        display: flex; /* Show the hamburger menu on mobile */
    }

    .main-nav {
        display: none !important; /* Hide the main nav by default on mobile */
        position: absolute;
        top: 70px; /* Adjust based on your header height */
        left: 0;
        background-color: #1a1a1a;
        width: 100%;
        flex-direction: column;
        align-items: flex-start; /* Align links to the left */
        box-shadow: 0 2px 10px rgba(0,0,0,0.2);
        z-index: 10; /* Ensure the menu is above other elements */
    }

    .main-nav ul {
        flex-direction: column;
        width: 100%;
        padding: 10px 0;
    }

    .main-nav ul li {
        margin-left: 0;
        border-bottom: 1px solid #333;
    }

    .main-nav ul li:last-child {
        border-bottom: none;
    }

    .main-nav ul li a {
        display: block;
        padding: 15px 20px;
    }
}
/* ... other CSS rules ... */

.main-nav.open {
    display: flex !important; /* Show the navigation when the 'open' class is present */
}

/* Optional: Hamburger menu open state for animation */
.hamburger-menu.open div:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px);
}

.hamburger-menu.open div:nth-child(2) {
    opacity: 0;
}

.hamburger-menu.open div:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px);
}
         .news-section {
            background: white;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            padding: 20px;
            margin-bottom: 0px;
            
        }

        .news-section h2 {
            font-weight: bold;
            font-size: 18px;
            margin-bottom: 30px;
            color: #ff0000;
            border-bottom: 2px solid #ff0000;
            padding-bottom: 10px;
            text-align: left;
        }

    </style>
<script src="https://w.soundcloud.com/player/api.js"></script>

</head>
<body class="bg-white text-gray-900">
    <header class="header-container py-4 px-6">  <div class="logo">
            <a href="/">
                <img src="images/logo120.png" alt="Capital FM Logo">
            </a>
        </div>
        <button class="hamburger-menu">
            <div></div>
            <div></div>
            <div></div>
        </button>
        <nav class="main-nav">
            <ul>
				<li><a href="https://radio.capitalfm.co.ke/" target="_blank">Radio</a></li>
                <li><a href="https://www.capitalfm.co.ke/news/" target="_blank">News</a></li>
                <li><a href="https://www.capitalfm.co.ke/lifestyle/" target="_blank">Lifestyle</a></li>
                <li><a href="https://www.capitalfm.co.ke/business/" target="_blank">Business</a></li>
                <li><a href="https://www.bonga.or.ke" target="_blank">Bonga</a></li>
                <li><a href="https://www.capitalfm.co.ke/sports/" target="_blank">Sports</a></li>
                <li><a href="https://www.capitalfm.co.ke/thesauce/" target="_blank">The Sauce</a></li>
            </ul>
        </nav>
    </header>

    <div class="main-container">
  
        <div class="player-container">

            <div class="bg-white rounded-xl shadow-md p-4 w-full flex flex-col space-y-4">
    <div class="flex flex-col md:flex-row md:items-center md:space-x-4 space-y-4 md:space-y-0 relative">
        <div id="spinner" class="absolute inset-0 flex items-center justify-center bg-white bg-opacity-80 z-10 hidden">
            <svg class="animate-spin h-6 w-6 text-red-600" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
                <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
                <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8v8z"></path>
            </svg>
        </div>

        <div class="flex-shrink-0">
            <img id="host-image" src="images/placeholder.jpg" alt="Host" class="w-24 h-24 sm:w-32 sm:h-32 lg:w-40 lg:h-40 xl:w-48 xl:h-48 rounded-2xl object-cover border-4 border-red-600 shadow-2xl" />
        </div>

        <div class="flex flex-col flex-grow min-w-[180px] space-y-1">
            <h2 class="text-lg font-semibold text-red-600">Listen to 98.4 Capital FM Live!</h2>
            <div id="current-show" class="text-sm text-red-600 font-medium">Loading current show...</div>
            <div id="next-show" class="text-xs text-gray-600 italic">Loading next show...</div>
        </div>

        <div class="flex items-center space-x-4 z-0">
            <button id="playBtn" class="bg-red-600 hover:bg-red-700 text-white px-4 py-2 rounded-lg w-full md:w-auto">
                ⏸ Pause
            </button>

            <input type="range" id="volume" min="0" max="1" step="0.01" value="0.5"
                   class="w-full md:w-32 accent-red-600 h-2 bg-red-100 rounded-lg appearance-none cursor-pointer" />

            <!--<div class="hidden md:flex flex-col items-center">
                <p class="text-xs text-gray-500">Powered by</p>
                <a href="https://tworiversmall.com/home/" target="_blank" rel="noopener noreferrer">
                    <img src="images/2rivers.png" alt="Two Rivers Mall" class="h-8 max-w-full object-contain" />
                </a>
            </div>
        </div>
-->
        <audio id="audio" src="https://atunwadigital.streamguys1.com/capitalfm" preload="auto"></audio>
    </div>

    <!--<div class="flex md:hidden flex-col items-center justify-center text-center space-y-2 mt-2">
        <p class="text-xs text-gray-500">Powered by</p>
        <a href="https://tworiversmall.com/home/" target="_blank" rel="noopener noreferrer">
            <img src="images/2rivers.png" alt="Two Rivers Mall" class="h-10 max-w-full object-contain" />
        </a>
    </div>-->
</div>
<script>
  const schedule = {
    "Monday": [
      { title: "The Quiet Storm", start: "05:00", end: "06:00", host: "DJ Toni" },
      { title: "Capital in the Morning", start: "06:00", end: "10:00", host: "Chiko Lawi and Fellaris Wambui" },
      { title: "The Fuse", start: "10:00", end: "14:00", host: "Anne Mwaura" },
      { title: "Radioactive", start: "14:00", end: "15:00", host: "Capital Mixxmasters" },
      { title: "The Jam", start: "15:00", end: "19:00", host: "June and Martin" },
      { title: "The Hype", start: "19:00", end: "22:00", host: "Wanjira Longauer" }
    ],
    "Tuesday": [
      { title: "The Quiet Storm", start: "05:00", end: "06:00", host: "DJ Toni" },
      { title: "Capital in the Morning", start: "06:00", end: "10:00", host: "Chiko Lawi and Fellaris Wambui" },
      { title: "The Fuse", start: "10:00", end: "14:00", host: "Anne Mwaura" },
      { title: "Radioactive", start: "14:00", end: "15:00", host: "Capital Mixxmasters" },
      { title: "The Jam", start: "15:00", end: "19:00", host: "June and Martin" },
      { title: "The Hype", start: "19:00", end: "22:00", host: "Wanjira Longauer" }
    ],
    "Wednesday": [
      { title: "The Quiet Storm", start: "05:00", end: "06:00", host: "DJ Toni" },
      { title: "Capital in the Morning", start: "06:00", end: "10:00", host: "Chiko Lawi and Fellaris Wambui" },
      { title: "The Fuse", start: "10:00", end: "14:00", host: "Anne Mwaura" },
      { title: "Radioactive", start: "14:00", end: "15:00", host: "Capital Mixxmasters" },
      { title: "The Jam", start: "15:00", end: "19:00", host: "June and Martin" },
      { title: "The Hype", start: "19:00", end: "22:00", host: "Wanjira Longauer" }
    ],
    "Thursday": [
      { title: "The Quiet Storm", start: "05:00", end: "06:00", host: "DJ Toni" },
      { title: "Capital in the Morning", start: "06:00", end: "10:00", host: "Chiko Lawi and Fellaris Wambui" },
      { title: "The Fuse", start: "10:00", end: "14:00", host: "Anne Mwaura" },
      { title: "Radioactive", start: "14:00", end: "15:00", host: "Capital Mixxmasters" },
      { title: "The Jam", start: "15:00", end: "19:00", host: "June and Martin" },
      { title: "The Hype", start: "19:00", end: "22:00", host: "Wanjira Longauer" }
    ],
    "Friday": [
      { title: "The Quiet Storm", start: "05:00", end: "06:00", host: "DJ Toni" },
      { title: "Capital in the Morning", start: "06:00", end: "10:00", host: "Chiko Lawi and Fellaris Wambui" },
      { title: "The Fuse", start: "10:00", end: "14:00", host: "Anne Mwaura" },
      { title: "Radioactive", start: "14:00", end: "15:00", host: "Capital Mixxmasters" },
      { title: "The Boyz Live", start: "15:00", end: "19:00", host: "Charlie Teddy and Martin" },
      { title: "The Big Bounce", start: "19:00", end: "22:00", host: "Wanjira Longauer" },
      { title: "Dance Republic", start: "23:00", end: "01:00", host: "DJ UV" }
    ],
    "Saturday": [
      { title: "Saturday Breakfast", start: "07:00", end: "10:00", host: "Flyn" },
      { title: "Weekly Top 40", start: "10:00", end: "14:00", host: "Rick Dees" },
      { title: "Saturday Music & Sports", start: "14:00", end: "17:00", host: "Chiko and Alex" },
      { title: "The Cypher", start: "17:00", end: "19:00", host: "DJ Slick" },
      { title: "The World Groove", start: "19:00", end: "21:00", host: "Kui Kabala" },
      { title: "Wheelz of Steel", start: "21:00", end: "23:00", host: "DJ Adrian" }
    ],
    "Sunday": [
      { title: "Golden Sunday", start: "06:00", end: "08:00", host: "Capital Mixxmasters" },
      { title: "Country Road", start: "08:00", end: "09:00", host: "Capital Mixxmasters" },
      { title: "The Lounge", start: "09:00", end: "11:00", host: "Chao Tolle" },
      { title: "Football Sunday", start: "11:00", end: "13:00", host: "Chiko and Alex" },
      { title: "Gospel Traxx", start: "13:00", end: "15:00", host: "Walt Baby Love" },
      { title: "Sunday Soul Jam", start: "15:00", end: "17:00", host: "DJ Adrian" },
      { title: "One Love", start: "17:00", end: "19:00", host: "Ras Luigi" },
      { title: "Capital Jazz Club", start: "19:00", end: "22:00", host: "Kaima and Jacob Asiyo" }
    ]
  };

  const hostImages = {
    "DJ Toni": "images/hosts/dj-toni.jpg",
    "Chiko Lawi and Fellaris Wambui": "images/hosts/chiko.jpg",
    "Anne Mwaura": "images/hosts/anne.jpg",
    "Capital Mixxmasters": "images/hosts/capital-mixxmasters.jpg",
    "June and Martin": "images/hosts/june-martin.jpg",
    "Wanjira Longauer": "images/hosts/wanjira.jpg",
    "Charlie Teddy and Martin": "images/hosts/charlie-martin.jpg",
    "DJ UV": "images/hosts/dj-uv.jpg",
    "Flyn": "images/hosts/flyn.jpg",
    "Rick Dees": "images/hosts/rick-dees.jpg",
    "Chiko and Alex": "images/hosts/chiko-alex.jpg",
    "DJ Slick": "images/hosts/dj-slick.jpg",
    "Kui Kabala": "images/hosts/kui.jpg",
    "DJ Adrian": "images/hosts/dj-adrian.jpg",
    "Chao Tolle": "images/hosts/chao.jpg",
    "Walt Baby Love": "images/hosts/walt.jpg",
    "Ras Luigi": "images/hosts/ras-luigi.jpg",
    "Kaima and Jacob Asiyo": "images/hosts/kaima-jacob.jpg"
  };

  function getCurrentEATTime() {
    const now = new Date();
    return new Date(now.toLocaleString('en-US', { timeZone: 'Africa/Nairobi' }));
  }

  function parseTimeToDate(timeStr, reference) {
    const [h, m] = timeStr.split(':').map(Number);
    const date = new Date(reference);
    date.setHours(h, m, 0, 0);
    return date;
  }

  function formatAMPM(timeStr) {
    const [h, m] = timeStr.split(':').map(Number);
    const d = new Date();
    d.setHours(h, m);
    return d.toLocaleTimeString('en-US', { hour: 'numeric', minute: '2-digit' });
  }

  function getCurrentAndNextShow() {
    const now = getCurrentEATTime();
    const day = now.toLocaleString('en-KE', { weekday: 'long', timeZone: 'Africa/Nairobi' });
    const todaysSchedule = schedule[day] || [];
    let current = null;
    let next = null;

    for (let i = 0; i < todaysSchedule.length; i++) {
      const show = todaysSchedule[i];
      const start = parseTimeToDate(show.start, now);
      let end = parseTimeToDate(show.end, now);
      if (end <= start) end.setDate(end.getDate() + 1); // Overnight show

      if (now >= start && now < end) {
        current = show;
        next = todaysSchedule[i + 1] || null;
        break;
      } else if (now < start && !next) {
        next = show;
      }
    }

    return {
      current,
      next
    };
  }

  function updateCurrentShow() {
    const { current, next } = getCurrentAndNextShow();

    const currentText = current
      ? `🎙️ ${current.title} (${formatAMPM(current.start)} – ${formatAMPM(current.end)}) with ${current.host}`
      : "No live show currently airing";

    const nextText = next
      ? `⏭ ${next.title} (${formatAMPM(next.start)} – ${formatAMPM(next.end)}) with ${next.host}`
      : "";

    document.getElementById("current-show").textContent = currentText;
    document.getElementById("next-show").textContent = nextText;

    const hostImage = document.getElementById("host-image");

    if (current && hostImages[current.host]) {
      hostImage.src = hostImages[current.host];
      hostImage.alt = current.host;
    } else {
      hostImage.src = "images/placeholder.jpg";
      hostImage.alt = "Host";
    }

    // Track when a new show starts being displayed
    if (current && current.title && current.host) {
  gtag('event', 'view_show', {
    show_title: current.title,
    host: current.host
  });
}
      
  }

  const audio = document.getElementById('audio');
  const playBtn = document.getElementById('playBtn');
  const volumeSlider = document.getElementById('volume');
  const spinner = document.getElementById('spinner');
  let isPlaying = false; // To track play state

  audio.volume = 0.5;

  window.addEventListener('DOMContentLoaded', () => {
    audio.play().then(() => {
      playBtn.textContent = '⏸ Pause';
      isPlaying = true;
      // Track initial play
      const { current } = getCurrentAndNextShow();
      if (current && current.title && current.host) {
        gtag('event', 'start_listening', {
          show_title: current.title,
          host: current.host,
          event_category: 'Radio Player',
          event_label: 'Capital FM Stream',
          value: 1
        });
      }
    }).catch(err => {
      console.warn('Autoplay failed:', err);
      playBtn.textContent = '▶️ Play';
      isPlaying = false;
    });

    updateCurrentShow();
    setInterval(updateCurrentShow, 60 * 1000); // Refresh every minute
  });

  audio.addEventListener('waiting', () => spinner.classList.remove('hidden'));
  audio.addEventListener('playing', () => spinner.classList.add('hidden'));
  audio.addEventListener('canplay', () => spinner.classList.add('hidden'));

  playBtn.addEventListener('click', () => {
    const { current } = getCurrentAndNextShow();
    if (audio.paused) {
      audio.play();
      playBtn.textContent = '⏸ Pause';
      isPlaying = true;
      // GA4 custom event for tracking when play is manually resumed
      if (current && current.title && current.host) {
        gtag('event', 'play_resumed', {
          show_title: current.title,
          host: current.host,
          event_category: 'Radio Player',
          event_label: 'Capital FM Stream',
          value: 1
        });
      }
    } else {
      audio.pause();
      playBtn.textContent = '▶️ Play';
      isPlaying = false;
    }
  });

  volumeSlider.addEventListener('input', () => {
    audio.volume = volumeSlider.value;
  });
</script>

<script async src="https://www.googletagmanager.com/gtag/js?id=G-SS8T99QDB2"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-SS8T99QDB2');
</script>

        </div>

        <div class="news-section">
            <h2>Read</h2>
            <div class="articles-container">

                           <a href="https://www.capitalfm.co.ke/news/2025/06/mps-open-inquiry-into-toxic-waste-dumping-as-cancer-cases-surge-in-north-eastern/" class="article-card" target="_blank"><img src="https://www.capitalfm.co.ke/news/files/2025/04/National-Assembly-Sitting-Establishment-Shot-April-24-2025-e1745932381327.jpg" alt="MPs Open Inquiry into Toxic Waste Dumping as Cancer Cases Surge in North Eastern" class="article-image"><div class="article-content"><div class="category-tag news">News</div><div class="article-title">MPs Open Inquiry into Toxic Waste Dumping as Cancer Cases Surge in North Eastern</div><div class="article-date">June 24, 2025</div></div></a><a href="https://www.capitalfm.co.ke/business/2025/06/kebs-eases-8-year-cap-for-imported-special-purpose-vehicles/" class="article-card" target="_blank"><img src="https://www.capitalfm.co.ke/business/files/2020/09/KEBS-1-e1707212592115.jpg" alt="KEBs eases 8-year cap for imported special-purpose vehicles" class="article-image"><div class="article-content"><div class="category-tag business">Business</div><div class="article-title">KEBs eases 8-year cap for imported special-purpose vehicles</div><div class="article-date">June 24, 2025</div></div></a><a href="https://www.capitalfm.co.ke/business/2025/06/google-may-be-forced-to-link-to-rival-search-platforms-in-the-uk/" class="article-card" target="_blank"><img src="https://www.capitalfm.co.ke/business/files/2019/05/big-phone.jpeg" alt="Google may be forced to link to rival search platforms in the UK" class="article-image"><div class="article-content"><div class="category-tag business">Business</div><div class="article-title">Google may be forced to link to rival search platforms in the UK</div><div class="article-date">June 24, 2025</div></div></a><a href="https://www.capitalfm.co.ke/news/2025/06/ncic-urges-restraint-during-gen-z-anniversary-protests/" class="article-card" target="_blank"><img src="https://www.capitalfm.co.ke/news/files/2024/05/Kobia-NCIC.jpg" alt="NCIC urges restraint during Gen Z anniversary protests" class="article-image"><div class="article-content"><div class="category-tag news">News</div><div class="article-title">NCIC urges restraint during Gen Z anniversary protests</div><div class="article-date">June 24, 2025</div></div></a><a href="https://www.capitalfm.co.ke/news/2025/06/wetangula-says-house-whips-to-receive-gen-z-petition/" class="article-card" target="_blank"><img src="https://www.capitalfm.co.ke/news/files/2025/06/Speaker-of-the-National-Assembly-Moses-Wetangula-and-the-Acting-US-Ambassador-to-Kenya-Mark-Dillard-at-Parliament-Buildings.jpg" alt="Wetangula says House Whips to receive Gen z petition" class="article-image"><div class="article-content"><div class="category-tag news">News</div><div class="article-title">Wetangula says House Whips to receive Gen z petition</div><div class="article-date">June 24, 2025</div></div></a><a href="https://www.capitalfm.co.ke/sports/2025/06/24/indiana-pacers-haliburton-could-miss-all-of-2025-26-season/" class="article-card" target="_blank"><img src="https://www.capitalfm.co.ke/sports/files/2025/06/huliburton.jpg" alt="Indiana Pacers&amp;#8217;Haliburton could miss all of 2025-26 season" class="article-image"><div class="article-content"><div class="category-tag sports">Sports</div><div class="article-title">Indiana Pacers&#8217; Haliburton could miss all of 2025-26 season</div><div class="article-date">June 24, 2025</div></div></a>
            </div>
        </div>
         <!-- SPONSORSHIP SECTION -->
     <div class="leaderboard-banner">
            <div id="google-leaderboard">
                <div id='yehtu_df6b7acf2ab5436bb588111b56371457_zone_123878_sect_58255_site_51681' data-sender='yehtu'></div>
<script type='text/javascript'>
    (window.globalAmlAds = window.globalAmlAds || []).push(function() {
        globalAml.display('yehtu_df6b7acf2ab5436bb588111b56371457_zone_123878_sect_58255_site_51681');
    });
</script>
            </div>
        </div>

  </div>

      
        
        <div class="news-section">
            <h2>Play</h2>
            <div class="articles-container">

                
    <style>
    .grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
        gap: 20px;
        max-width: 1200px;
        margin: 70px auto;
        padding: 0 15px;
    }
    
    .mix {
        background: #fff;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    }
    
    .mix img {
        width: 100%;
        height: auto;
        display: block;
    }
    
    .mix-content {
        padding: 15px;
    }
    
    .mix-content h4 {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    
    .mix iframe {
        width: 100%;
        border: none;
        border-radius: 5px;
    }
    
    /* Mobile-specific adjustments */
    @media (max-width: 600px) {
        .grid {
            gap: 15px;
        }
        
        .mix-content {
            padding: 12px;
        }
        
        .mix-content h4 {
            font-size: 0.9rem;
        }
    }
</style>




<div class="grid">
<div class='mix'>
            <div class='mix-content'>
                <h4>Dance Republic Summer 2025 Afrohouse Fever DJ UV</h4>
                

       <iframe 
                    class='sc-player'
                    height='166' 
                    allow='autoplay' 
                    src='https://w.soundcloud.com/player/?url=https%3A%2F%2Fsoundcloud.com%2F984capitalfm%2Fdance-republic-summer-2025&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true'>
                </iframe>
    </div>
</div>
<div class='mix'>
            <div class='mix-content'>
                <h4>The Boyz Live - 90s HipHop Edition June 2025 - DJ UV</h4>
                

       <iframe 
                    class='sc-player'
                    height='166' 
                    allow='autoplay' 
                    src='https://w.soundcloud.com/player/?url=https%3A%2F%2Fsoundcloud.com%2F984capitalfm%2Fthe-boyz-live-90s-hiphop&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true'>
                </iframe>
    </div>
</div>
<div class='mix'>
            <div class='mix-content'>
                <h4>The Boyz Live - 90s  and 2000s Dancehall Edition June 2025 - DJ UV</h4>
                

       <iframe 
                    class='sc-player'
                    height='166' 
                    allow='autoplay' 
                    src='https://w.soundcloud.com/player/?url=https%3A%2F%2Fsoundcloud.com%2F984capitalfm%2Fthe-boyz-live-90s-and-2000s&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true'>
                </iframe>
    </div>
</div>
<div class='mix'>
            <div class='mix-content'>
                <h4>Sometimes in June: Remembering Kenya's GenZ revolt & Is Iran weakened by US strikes | Global Digest S06E09</h4>
                

       <iframe 
                    class='sc-player'
                    height='166' 
                    allow='autoplay' 
                    src='https://w.soundcloud.com/player/?url=https%3A%2F%2Fsoundcloud.com%2F984capitalfm%2Fsometimes-in-june-remembering-kenyas-genz-revolt-is-iran-weakened-by-us-strikes-global-digest-s06e09&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true'>
                </iframe>
    </div>
</div>
   
</div>
<script>
  const audio = document.getElementById('audio');
  const playBtn = document.getElementById('playBtn');
  const volumeSlider = document.getElementById('volume');

  audio.volume = 0.5;

  window.addEventListener('DOMContentLoaded', () => {
    // Handle radio autoplay
    audio.play().then(() => {
      playBtn.textContent = '⏸ Pause';
    }).catch((err) => {
      console.warn('Autoplay failed:', err);
      playBtn.textContent = '▶️ Play';
    });

    // Live player button toggle
    playBtn.addEventListener('click', () => {
      if (audio.paused) {
        audio.play();
        playBtn.textContent = '⏸ Pause';
      } else {
        audio.pause();
        playBtn.textContent = '▶️ Play';
      }
    });

    volumeSlider.addEventListener('input', () => {
      audio.volume = volumeSlider.value;
    });

    // Delay binding SoundCloud widgets to ensure they load
    setTimeout(() => {
      const scIframes = document.querySelectorAll('iframe.sc-player');

      scIframes.forEach(iframe => {
        try {
          const widget = SC.Widget(iframe);
          widget.bind(SC.Widget.Events.PLAY, function () {
            if (!audio.paused) {
              audio.pause();
              playBtn.textContent = '▶️ Play';
            }
          });
        } catch (err) {
          console.error('Widget failed to bind:', err);
        }
      });
    }, 1000); // wait 1 second to ensure iframes are loaded
  });
</script>





            </div>
        </div>
    </div>

    <footer>
        <div class="footer-container">
             <div class="copyright">
               <div class="w-full bg-gray-100 p-4 rounded-lg">
  <div class="flex justify-center items-center space-x-6">
    <!-- Facebook -->
    <a href="https://www.facebook.com/capitalfmkenya" target="_blank" rel="noopener noreferrer" class="text-gray-600 hover:text-blue-600 transition-colors duration-300">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-7 w-7" fill="currentColor" viewBox="0 0 24 24">
        <path d="M22.675 0h-21.35c-.732 0-1.325.593-1.325 1.325v21.351c0 .731.593 1.324 1.325 1.324h11.495v-9.294h-3.128v-3.622h3.128v-2.671c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.795.143v3.24l-1.918.001c-1.504 0-1.795.715-1.795 1.763v2.313h3.587l-.467 3.622h-3.12v9.293h6.116c.73 0 1.323-.593 1.323-1.325v-21.35c0-.732-.593-1.325-1.325-1.325z"/>
      </svg>
    </a>

    <!-- X (Twitter) -->
    <a href="https://twitter.com/capitalfmkenya" target="_blank" rel="noopener noreferrer" class="text-gray-600 hover:text-black transition-colors duration-300">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-7 w-7" fill="currentColor" viewBox="0 0 24 24">
        <path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 3.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 4.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 7.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/>
      </svg>
    </a>

    <!-- Instagram -->
    <a href="https://www.instagram.com/capitalfmkenya" target="_blank" rel="noopener noreferrer" class="text-gray-600 hover:text-pink-600 transition-colors duration-300">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-7 w-7" fill="currentColor" viewBox="0 0 24 24">
        <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/>
      </svg>
    </a>

    <!-- YouTube -->
    <a href="https://www.youtube.com/capitalfmkenya" target="_blank" rel="noopener noreferrer" class="text-gray-600 hover:text-red-600 transition-colors duration-300">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-7 w-7" fill="currentColor" viewBox="0 0 24 24">
        <path d="M19.615 3.184c-3.604-.246-11.631-.245-15.23 0-3.897.266-4.356 2.62-4.385 8.816.029 6.185.484 8.549 4.385 8.816 3.6.245 11.626.246 15.23 0 3.897-.266 4.356-2.62 4.385-8.816-.029-6.185-.484-8.549-4.385-8.816zm-10.615 12.816v-8l8 3.993-8 4.007z"/>
      </svg>
    </a>

    <!-- TikTok -->
    <a href="https://www.tiktok.com/@capitalfmkenya" target="_blank" rel="noopener noreferrer" class="text-gray-600 hover:text-black transition-colors duration-300">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-7 w-7" fill="currentColor" viewBox="0 0 24 24">
        <path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/>
      </svg>
    </a>

    <!-- LinkedIn -->
    <a href="https://www.linkedin.com/company/capitalfmkenya" target="_blank" rel="noopener noreferrer" class="text-gray-600 hover:text-blue-700 transition-colors duration-300">
      <svg xmlns="http://www.w3.org/2000/svg" class="h-7 w-7" fill="currentColor" viewBox="0 0 24 24">
        <path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/>
      </svg>
    </a>
  </div>
</div> 
            </div>

            <div class="copyright">
               <a href="tel:+254724257065">+254 724 257 065</a> | <a href="mailto:capital@capitalfm.co.ke">capital@capitalfm.co.ke</a> | &copy; 2025 Capital Digital Media. Capital Group LTD. All Rights Reserved.
            </div>
        </div>
    </footer>
    
    <div id="whatsapp-sticky-ad" class="fixed bottom-0 left-0 right-0 bg-green-600 text-white p-3 md:p-4 flex items-center justify-between shadow-lg z-50">
    <div class="flex items-center flex-grow">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="mr-2 text-white">
            <path d="M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.911.003-6.556 5.338-11.892 11.893-11.892 3.102 0 6.041 1.237 8.241 3.438 2.201 2.201 3.438 5.139 3.439 8.241.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.94-.509-5.685-1.464l-6.314 1.666zm12.1-1.112c5.453 0 9.908-4.456 9.91-9.913.001-5.457-4.458-9.913-9.917-9.913-5.459 0-9.918 4.456-9.918 9.913 0 1.503.411 2.942 1.189 4.234l.21.365-1.173 4.272 4.357-1.15-.35-.202c1.237.772 2.65 1.166 4.142 1.166zm-1.896-2.316c-.267-.134-1.653-.806-1.916-.909-.264-.102-.455-.153-.646.153-.19.305-.737.909-.899 1.099-.163.19-.325.229-.6.076-.275-.153-1.152-.42-2.2-1.355-.811-.722-1.36-1.614-1.522-1.899-.162-.285-.016-.441.139-.582.128-.12.264-.305.396-.458.133-.153.177-.255.264-.42.087-.165.049-.306-.024-.458-.074-.152-.646-1.559-.887-2.13-.242-.572-.486-.494-.666-.494-.181 0-.396-.007-.6-.007-.204 0-.533.076-.819.382-.284.305-1.088 1.066-1.088 2.607 0 1.541 1.116 3.013 1.279 3.203.162.19 2.106 3.238 5.107 4.508 1.246.505 2.302.813 3.102 1.046.794.237 1.526.195 2.094.118.57-.077 1.653-.674 1.884-1.364.23-.69.23-1.284.162-1.366-.07-.083-.262-.134-.547-.27z"/>
        </svg>

        <p class="text-sm md:text-base flex-grow mr-4">
            Follow us on WhatsApp for the latest updates!
        </p>

        <a href="https://whatsapp.com/channel/0029VaWmSKbFsn0gEDGcPy0x" target="_blank" rel="noopener noreferrer" class="bg-white text-green-600 px-4 py-2 rounded-full font-bold text-sm md:text-base whitespace-nowrap hover:bg-gray-100 transition-colors">
            Join Channel
        </a>
    </div>

    <button id="dismiss-whatsapp-ad" class="ml-4 text-white hover:text-gray-200 focus:outline-none">
        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="h-6 w-6">
            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
        </svg>
    </button>
</div>
   <script>
    document.addEventListener('DOMContentLoaded', function() {
        const ad = document.getElementById('whatsapp-sticky-ad');
        const dismissBtn = document.getElementById('dismiss-whatsapp-ad');
        const sessionStorageKey = 'whatsappAdDismissedForSession'; // Changed key name for clarity

        // Check if the ad has been dismissed during THIS session
        if (sessionStorage.getItem(sessionStorageKey) === 'true') {
            ad.classList.add('hidden'); // Hide it if previously dismissed in this session
        } else {
            ad.classList.remove('hidden'); // Ensure it's visible by default for a new session
        }

        dismissBtn.addEventListener('click', function() {
            ad.classList.add('hidden'); // Hide the ad
            sessionStorage.setItem(sessionStorageKey, 'true'); // Store dismissal preference for this session only
        });
    });
</script>

    <script type="text/javascript">
        const hamburgerMenu = document.querySelector('.hamburger-menu');
        const mainNav = document.querySelector('.main-nav');

        if (hamburgerMenu && mainNav) {
            hamburgerMenu.addEventListener('click', () => {
                mainNav.classList.toggle('open');
                hamburgerMenu.classList.toggle('open');
            });
        } else {
            console.error("Hamburger menu or main navigation element not found!");
        }
    </script>


<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'954d87c23c533663',t:'MTc1MDc4MTc5My4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>