). Placement keeps them OUT of the way: desktop rails only appear when the viewport is wide enough to have real empty margin beside the 1200px column; the mobile bar is dismissible and pads the page so it never covers content; and ALL ad slots hide behind the player and the lockscreen. */ .fs-ad{ display:none; box-sizing:border-box } .fs-ad iframe{ display:block; border:0; overflow:hidden; background:transparent; max-width:100% } .fs-ad-slot{ display:flex; align-items:center; justify-content:center; overflow:hidden } .fs-ad-lbl{ font-size:.58rem; letter-spacing:.6px; text-transform:uppercase; color:var(--text-faint, var(--text-dim)); text-align:center; margin-bottom:4px; opacity:.6 } /* Desktop side rails — only where there's real empty space (≥1600px). */ .fs-ad-rail{ position:fixed; top:50%; transform:translateY(-50%); z-index:60; width:160px; max-height:calc(100vh - 32px) } .fs-ad-left{ left:14px } .fs-ad-right{ right:14px } @media (min-width:1600px){ body:not(.locked) .fs-ad-rail{ display:block } } /* Mobile bottom bar — dismissible; body padding keeps content clear. */ .fs-ad-bottom{ position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--surface); border-top:1px solid var(--border); padding:6px 8px 7px; align-items:center; justify-content:center; min-height:58px } .fs-ad-close{ position:absolute; top:3px; right:7px; width:22px; height:22px; padding:0; display:grid; place-items:center; background:var(--bg); color:var(--text-dim); border:1px solid var(--border); border-radius:50%; font-size:14px; line-height:1; cursor:pointer; z-index:1 } @media (max-width:768px){ body:not(.locked):not(.fs-ad-bottom-closed) .fs-ad-bottom{ display:flex } body.fs-ad-pad{ padding-bottom:66px } } /* Player desktop: 300x250 under the stream list. It's inside .player-sidebar, already hidden on full-width servers and on mobile — so no extra guards. */ .fs-ad-player{ width:300px; max-width:100%; margin:6px auto 2px } @media (min-width:769px){ .fs-ad-player{ display:block } } /* Player mobile: 320x50 under the controls (inside .player-main). */ .fs-ad-player-m{ width:320px; max-width:100%; margin:12px auto 4px } @media (max-width:768px){ .fs-ad-player-m{ display:flex; justify-content:center } } /* Never let any ad cover the player or the lockscreen. */ body:has(#player-container.active) .fs-ad-rail, body:has(#player-container.active) .fs-ad-bottom{ display:none !important } body.locked .fs-ad{ display:none !important } /* ================= 🏆 WORLD CUP CELEBRATION ================= */ /* Final card in celebration mode: score pill instead of "VS" */ .wc-final-score{ background:var(--surface-2); border:1px solid var(--border); border-radius:10px; padding:6px 14px; font-size:1.35rem; font-weight:800; letter-spacing:1px; color:var(--text) } /* Closable congratulations popup — scoped to the World Bottle content only (mounted inside #wc-content, absolute over it), so the header/tabs stay usable and switching servers naturally hides it. */ #wc-content{ position:relative } #wc-celeb-overlay{ position:absolute; inset:0; z-index:50; display:flex; align-items:flex-start; justify-content:center; padding:64px 16px 20px; background:rgba(17,17,27,.72); backdrop-filter:blur(3px); border-radius:8px; animation:celebFade .3s ease } #wc-celeb-overlay.closing{ opacity:0; transition:opacity .25s ease } .wc-celeb-card{ position:sticky; top:74px; overflow:hidden; width:min(440px, 94vw); background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:30px 22px 26px; text-align:center; box-shadow:0 18px 60px rgba(0,0,0,.5) } /* NOTE: the close button must be excluded from the blanket child rule below, otherwise its position:relative overrides absolute and the × lands top-LEFT. */ .wc-celeb-close{ position:absolute; top:10px; right:10px; z-index:3; width:36px; height:36px; display:grid; place-items:center; background:var(--surface-2); color:var(--text); border:1.5px solid var(--accent); border-radius:50%; font-size:20px; font-weight:700; line-height:1; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.35); transition:background .12s, transform .12s } .wc-celeb-close:hover{ background:var(--accent); color:var(--ctp-base, #1e1e2e); transform:scale(1.06) } .wc-celeb-trophy{ font-size:3.1rem; line-height:1; margin-bottom:8px; animation:celebTrophy 1.6s ease infinite } /* Google-doodle-style letter-by-letter title */ .wc-celeb-title{ font-size:1.55rem; font-weight:900; letter-spacing:.5px; color:var(--text); margin-bottom:4px } .wc-celeb-title span{ display:inline-block; opacity:0; transform:translateY(14px) scale(.7); animation:celebLetter .45s cubic-bezier(.2,1.4,.4,1) forwards } .wc-celeb-title span:nth-child(1){animation-delay:.05s}.wc-celeb-title span:nth-child(2){animation-delay:.10s} .wc-celeb-title span:nth-child(3){animation-delay:.15s}.wc-celeb-title span:nth-child(4){animation-delay:.20s} .wc-celeb-title span:nth-child(5){animation-delay:.25s}.wc-celeb-title span:nth-child(6){animation-delay:.30s} .wc-celeb-title span:nth-child(7){animation-delay:.35s}.wc-celeb-title span:nth-child(8){animation-delay:.40s} .wc-celeb-title span:nth-child(9){animation-delay:.45s}.wc-celeb-title span:nth-child(10){animation-delay:.50s} .wc-celeb-title span:nth-child(11){animation-delay:.55s}.wc-celeb-title span:nth-child(12){animation-delay:.60s} .wc-celeb-title span:nth-child(13){animation-delay:.65s}.wc-celeb-title span:nth-child(14){animation-delay:.70s} .wc-celeb-title span:nth-child(15){animation-delay:.75s} .wc-celeb-team{ font-size:1.3rem; font-weight:900; letter-spacing:2.5px; color:#f9e2af; margin:2px 0 4px; opacity:0; animation:celebRise .5s ease .85s forwards } .wc-celeb-sub{ font-size:.86rem; color:var(--text-dim); opacity:0; animation:celebRise .5s ease 1.05s forwards } .wc-celeb-score{ margin-top:10px; font-size:.82rem; color:var(--text-dim); background:var(--surface-2); border:1px solid var(--border); border-radius:8px; padding:7px 10px; display:inline-block; opacity:0; animation:celebRise .5s ease 1.2s forwards } .wc-celeb-score b{ color:var(--text); font-size:.95rem } .wc-celeb-gif{ display:block; width:100%; max-height:220px; object-fit:cover; border-radius:12px; border:1px solid var(--border); margin-top:14px } .wc-celeb-confetti{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden } .wc-celeb-confetti i{ position:absolute; top:-14px; display:block; opacity:.9; animation-name:celebFall; animation-timing-function:linear; animation-iteration-count:infinite } .wc-celeb-card > :not(.wc-celeb-confetti):not(.wc-celeb-close){ position:relative; z-index:2 } .wc-celeb-nolive .wc-nolive-title{ line-height:1.45 } /* Server quick-links under the celebration message */ .wc-celeb-srvs{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:10px } .wc-celeb-srv-btn{ font-family:inherit; font-size:.8rem; font-weight:700; padding:7px 14px; cursor:pointer; background:var(--surface-2); color:var(--text); border:1px solid var(--border); border-radius:99px; transition:border-color .12s, color .12s } .wc-celeb-srv-btn:hover{ border-color:var(--accent); color:var(--accent) } @keyframes celebFall{ 0%{transform:translateY(-14px) rotate(0deg)} 100%{transform:translateY(460px) rotate(560deg)} } @keyframes celebLetter{ to{opacity:1; transform:translateY(0) scale(1)} } @keyframes celebRise{ to{opacity:1} } @keyframes celebTrophy{ 0%,100%{transform:rotate(-6deg) scale(1)} 50%{transform:rotate(6deg) scale(1.08)} } @keyframes celebFade{ from{opacity:0} to{opacity:1} } @media (prefers-reduced-motion: reduce){ .wc-celeb-confetti{ display:none } .wc-celeb-title span,.wc-celeb-team,.wc-celeb-sub,.wc-celeb-score{ opacity:1; animation:none; transform:none } .wc-celeb-trophy{ animation:none } }

Fantastic Soda

Refresh your sports with fizz & fun
Survival Guide Adblock · WARP · VPN · Casting · fixes for blocked streams
Stream blocked? Turn on Cloudflare WARP — free, fixes most. Popups? Get an adblocker: uBlock Origin / Brave. Big screen? Cast to TV. Full guide →
Cola — live TV channels & sports provided by cdnlivetv.ru. Channel availability and uptime depend on the source.
Live
Live Stream
Server:
Provider
Stream
Stream link
Loading stream…
If it takes too long, try another stream.
⚠️Stream blocked? Turn on Cloudflare WARP — free, fixes most.
🛡️Popups? Use uBlock Origin or Brave.
📺Big screen? Cast to TV · Full guide →
⚠️Stream blocked? Turn on Cloudflare WARP — free, fixes most.
🛡️Popups? Use uBlock Origin or Brave.
📺Big screen? Cast to TV · Full guide →