PageSourceSearch

https://radiosatellite.eu/

html radiosatellite.eu collected 2026-10-07 17:21:17 UTC 134,022 bytes, 2,631 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <title>RADIOSATELLITE - Home</title>
6    <meta name="description" content="RADIOSATELLITE  INTERNET RADIO 24/7 LIVE">
7    <meta name="keywords" content="[{"value":"webradio"},{"value":"radio"},{"value":"music"},{"value":"musique"},{"value":"google"},{"value":"country"},{"value":"video"},{"value":"vidéo"},{"value":"travel"},{"value":"voyages"},{"value":"france"},{"value":"radio on line"},{"value":"internet radio"},{"value":"netflix"},{"value":"europe"},{"value":"middle east"},{"value":"usa"},{"value":"lebanon"},{"value":"paris"},{"value":"satellite"},{"value":"jazz"},{"value":"actor"},{"value":"food"},{"value":"instrumental"},{"value":"love"},{"value":"écouter la radio"},{"value":"listen to radio"},{"value":"hotel"},{"value":"vacances"},{"value":"holidays"},{"value":"christmas"},{"value":"noël"},{"value":"bing"},{"value":"yandex"},{"value":"radios en ligne"},{"value":"radios on line"},{"value":"country music"},{"value":"cars"},{"value":"AI"},{"value":"IA"},{"value":"streaming"},{"value":"deezer"},{"value":"spotify"},{"value":"trump"},{"value":"pape"},{"value":"leon 14"},{"value":"pope leo"},{"value":"movies"},{"value":"peace"}]">
8    <meta name="viewport" content="width=device-width, initial-scale=1.0">
9        <link rel="shortcut icon" type="image/png" href="/favicon.ico" />
10    <link rel="icon" type="image/png" href="https://radiosatellite.eu/uploads/691479b079384/site/1766447886_68fcc02246bb95a44cb0.jpg">
11    <link rel="preconnect" href="https://fonts.googleapis.com">
12    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
13    <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
14    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
15    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
16    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
17    <link rel="stylesheet" type="text/css" href="https://radiosatellite.eu/assets/css/playerBar.css" />
18    <link rel="stylesheet" type="text/css" href="https://radiosatellite.eu/assets/css/app.css" />
19    <link rel="stylesheet" type="text/css" href="https://radiosatellite.eu/assets/css/glider.min.css" />
20    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Glide.js/3.2.0/css/glide.core.min.css" integrity="sha512-YQlbvfX5C6Ym6fTUSZ9GZpyB3F92hmQAZTO5YjciedwAaGRI9ccNs4iw2QTCJiSPheUQZomZKHQtuwbHkA9lgw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
21    
21<script src="https://cdn.jsdelivr.net/npm/@glidejs/[email protected]/dist/glide.min.js"></script>
21
22            <style>
23        body.navbar-open {
24            overflow: hidden;
25            touch-action: none;
26        }
27
28        #requests .container {
29            display: flex !important;
30            flex-wrap: wrap !important;
31            align-items: stretch !important;
32            justify-content: center !important;
33        }
34
35        #requests .action_row {
36            margin: 0 !important;
37        }
38
39        #requests .act_search {
40            width: 100% !important;
41        }
42
43        #requests input {
44            font-family: 'Montserrat', sans-serif !important;
45            height: 42px !important;
46            width: 250px !important;
47            background-color: #F9F9F9 !important;
48            border: 0px solid transparent !important;
49            border-color: #F9F9F9 !important;
50            color: #4B5675 !important;
51            padding: 0.75rem 1rem !important;
52            font-size: 14px !important;
53            font-weight: 600 !important;
54            line-height: 1.5 !important;
55            box-sizing: border-box !important;
56            border-radius: 12px !important;
57        }
58
59        #requests input::placeholder {
60            color: #a1a5c4 !important;
61        }
62
63        #requests input:focus {
64            background-color: #f1f1f2 !important;
65        }
66
67        #requests .track {
68            display: flex !important;
69            flex-direction: column !important;
70        }
71
72        #requests .track img {
73            margin-bottom: 22px !important;
74            border-radius: 8px !important;
75        }
76
77        #requests .track .meta {
78            height: auto !important;
79            font-size: 18px !important;
80            font-weight: 700 !important;
81            line-height: 1.25 !important;
82            text-align: left !important;
83            color: var(--heading-text) !important;
84            margin-bottom: 10px !important;
85            display: -webkit-box !important;
86            -webkit-line-clamp: 2 !important;
87            -webkit-box-orient: vertical !important;
88            overflow: hidden !important;
89            flex: 1 !important;
90            flex-direction: column !important;
91            justify-content: center !important;
92        }        
93
94        #requests a {
95            height: 40px !important;
96            width: 40px !important;
97            background-color: #fff !important;
98            color: var(--primary-text) !important;
99            font-size: 18px !important;
100            font-weight: 400 !important;
101            text-align: center !important;
102            line-height: 38px !important;
103            padding: 0 !important;
104            border-radius: 8px !important;
105            border: 1px solid transparent !important;
106            border-color: var(--primary-text) !important;
107            margin: 0 10px !important;
108            margin-top: 25px !important;
109            transition: all 300ms ease!important;
110        }
111
112        #requests a:hover {
113            background-color: var(--play-btn-hover-bg) !important;
114            color: var(--play-btn-color) !important;
115            border-color: var(--play-btn-hover-bg) Im !important;
116        }
117
118        #requests a.active {
119            background-color: var(--play-btn-bg) !important;
120            color: var(--play-btn-color) !important;
121            border-color: var(--play-btn-bg) !important;
122        }
123
124        #requests a.button {
125            all: unset !important;
126            cursor: pointer !important;
127        }
128
129        #requests .modal-mask {
130            position: fixed !important;
131            top: 0 !important;
132            left: 0 !important;
133            z-index: 1050 !important;
134            width: 100vw !important;
135            height: 100vh !important;
136            background-color: rgba(0,0,0, .5) !important;
137        }
138
139        #requests .modal-container {            
140            font-family: 'Montserrat', sans-serif !important;
141            width: auto !important;
142            max-width: 800px !important;
143            background-color: var(--highglight-block-bg) !important;
144            color: var(--highglight-block-color) !important;
145            padding: 0 !important;
146            border-radius: 3px !important;
147        }
148
149        #requests .modal-header {
150            font-size: 20px !important;
151            font-weight: 700 !important;
152            text-transform: uppercase !important;
153            margin-bottom: 0 !important;
154            line-height: 1.5 !important;
155            border: 0 !important;
156        }
157
158        #requests .modal-body {
159            font-size: 15px !important;
160            font-weight: 400 !important;
161            padding: 0 6px !important;
162            margin: 0 !important;
163        }
164
165        #requests .modal-body label {
166            font-weight: 700 !important;
167        }
168
169        #requests .modal-body input {
170            display: block !important;
171            width: 100% !important;
172            height: auto !important;
173            background-color: #fff !important;
174            background-clip: padding-box !important;
175            color: #232323 !important;
176            font-size: 14px !important;
177            font-weight: 400 !important;
178            line-height: 1.5 !important;
179            padding: .375rem .75rem !important;
180            margin-top: 8px !important;
181            margin-bottom: 19px !important;
182            border-radius: 4px !important;
183        }
184
185        #requests .modal-body textarea {
186            color: #232323 !important;
187            font-size: 14px !important;
188            font-weight: 400 !important;
189            padding: .375rem .75rem !important;
190            margin-top: 8px !important;
191            border-radius: 4px !important;
192            border: 1px solid transparent !important;
193        }
194
195        #requests .modal-footer {
196            border: 0 !important;
197            margin: 0 !important;
198        }
199
200        #requests .modal-footer .button {
201            font-family: 'Montserrat', sanf-serif;
202            width: 100% !important;
203            background-color: var(--highglight-block-primary-btn-bg) !important;
204            color: var(--highglight-block-primary-btn-color) !important;
205            font-weight: 700 !important;
206            padding: 2px .75rem !important;
207            font-size: 1rem !important;
208            border-radius: .25rem !important;
209        }
210
211        #requests .modal-footer .button:nth-of-type(2) {
212            background-color: rgba(255,255,255, .35) !important;
213            color: rgba(255,255,255, 1) !important;
214            margin-top: 6px !important;
215        }
216
217        #requests .track .button {
218            background-color: var(--primary-btn-bg)!important;
219            color: var(--primary-btn-color)!important;
220            font-size: 16px!important;
221            font-weight: 500!important;
222            font-style: normal;
223            padding: 8px 45px 8px!important;
224            margin-top: 6px !important;
225            border: 1px solid transparent !important;
226            border-radius: 8px!important;
227            transition: all 300ms ease!important;
228            cursor: pointer !important;
229        }
230
231        #requests .track .button:hover {
232            background-color: var(--primary-btn-color) !important;
233            color: var(--primary-btn-bg) !important;
234            border-color: var(--primary-btn-bg) !important;
235        }
236
237        #requests .spinner {
238            position: absolute !important;
239            top: 50% !important;
240            left: 50% !important;
241            transform: translateX(-50%) translateY(-50%) !important;
242            margin: 0 !important;
243            z-index: 999 !important;
244        }
245
246
247        .error-404 {
248            font-family: 'Montserrat', sans-serif;
249            padding-top: 150px;
250            padding-bottom: 0px;
251        }
252
253        .error-404 svg {
254            width: 100%;
255            visibility: hidden;
256        }
257
258        .error-404 h1 {
259            font-size: 6em;
260            margin: 15px 0px;
261            font-weight: 600;
262        }
263
264        .error-404 p {
265            color: #232323;
266            font-size: 14px;
267            font-weight: 500;
268        }
269
270        .btn-404 {
271            z-index: 1;
272            overflow: hidden;
273            background: transparent;
274            position: relative;
275            padding: 8px 50px;
276            border-radius: 12px;
277            cursor: pointer;
278            font-size: 1em;
279            letter-spacing: 2px;
280            transition: 0.2s ease;
281            font-weight: bold;
282            margin: 5px 0px;
283        }
284
285        .btn-404 {
286            border: 2px solid var(--heading-text);
287            color: #232323;
288        }
289
290        .btn-404:before {
291            content: "";
292            position: absolute;
293            left: 0;
294            top: 0;
295            width: 0%;
296            height: 100%;
297            background: var(--heading-text);
298            z-index: -1;
299            transition: 0.2s ease;
300        }
301
302        .btn-404:hover {
303            color: #fff;
304            background: var(--heading-text);
305            transition: 0.2s ease;
306        }
307
308        .btn-404:hover:before {
309            width: 100%;
310        }
311
312        .invalid-feedback {
313            display: block !important;
314        }
315
316        .form-floating .form-control:focus {
317            border-color: var(--page-title) !important;
318            box-shadow: none;
319        }
320
321        .logo-top {
322            max-height: 60px;
323        }
324
325        .logo-footer {
326            max-height: 80px;
327        }
328
329        .mobile-logo {
330            max-height: 60px;
331        }
332
333        .glide__arrow {
334            position: absolute;
335            top: 72px;
336            height: 77px;
337            width: 77px;
338            appearance: none;
339            cursor: pointer;
340            outline: none;
341            background: none;
342            border-width: 0px;
343            border-style: initial;
344            border-color: initial;
345            border-image: initial;
346            border-radius: 50%;
347        }
348
349        .glide__arrow.sponsors {
350            top: 28px;
351        }
352
353        .glide__arrow::before {
354            position: absolute;
355            top: 50%;
356            left: 50%;
357            height: 75px;
358            width: 75px;
359            content: "";
360            z-index: 0;
361            transform: translate(-50%, -50%) scale(0.75);
362            background-color: rgb(255, 255, 255);
363            transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
364            border-radius: 50%;
365        }
366
367        .glide__arrow::before {
368            background-color: var(--play-btn-bg);
369        }
370
371        .glide__arrow::after {
372            position: absolute;
373            top: 50%;
374            left: 50%;
375            height: 75px;
376            width: 75px;
377            content: "";
378            z-index: 1;
379            transform: translate(-50%, -50%);
380            transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), border-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
381            border-width: 2px;
382            border-style: solid;
383            border-color: white;
384            border-image: initial;
385            border-radius: 50%;
386        }
387
388        .glide__arrow::after {
389            border-color: var(--play-btn-bg);
390        }
391
392        .glide__arrow:hover:before {
393            -webkit-transform: translate(-50%, -50%) scale(0.99);
394            transform: translate(-50%, -50%) scale(0.99);
395            background-color: var(--play-btn-hover-bg);
396        }
397
398        .glide__arrow:hover:after {
399            border-color: #fff;
400            -webkit-transform: translate(-50%, -50%) scale(0.75);
401            transform: translate(-50%, -50%) scale(0.75);
402        }
403
404        .glide__arrow i {
405            position: absolute;
406            top: 50%;
407            left: 50%;
408            z-index: 2;
409            color: #fff;
410            font-size: 18px;
411            -webkit-transform: translate(-50%, -50%);
412            transform: translate(-50%, -50%);
413        }
414
415        .glide__arrow--left {
416            left: -25px;
417        }
418
419        .glide__arrow--right {
420            right: -25px;
421        }
422
423        .glide__arrows {
424            width: 100%;
425            position: absolute;
426            top: 0;
427            z-index: 5;
428        }
429
430        .glide__arrow--left {
431            display: none;
432        }
433
434        .glide__arrow--left.show {
435            display: block;
436        }
437
438        .glide__arrow--right.hidden {
439            display: none;
440        }
441
442        ul li {
443            list-style: none;
444            padding: 0;
445        }    
446        
447        .dc-bar-wpr {
448            font-family: "Montserrat", sans-serif;
449            width: 100%;
450            height: 40px;
451            background-color: var(--dedications-bar-bg);
452            padding: 0;
453            position: fixed;
454            top: 66px;
455            z-index: 999;            
456        }
457
458        .dc-bar-wpr {
459            font-family: "Montserrat", sans-serif;
460            width: 100%;
461            height: 40px;
462            background-color: var(--dedications-bar-bg);
463            padding: 0;
464            position: fixed;
465            top: 66px;
466            z-index: 999;            
467        }
468
469        .dc-bar-wpr .title {
470            color: var(--dedications-bar-label);            
471            font-size: 20px;
472            font-weight: 900;
473            line-height: 40px;
474            text-transform: uppercase;
475            position: absolute;
476            bottom: 0;
477            left: 25px;
478        }
479
480        .dc-bar-wpr .dedicationBtn {
481            color: var(--dedications-bar-msg);            
482            font-size: 24px;
483            font-weight: 900;
484            line-height: 40px;
485            text-transform: uppercase;
486            position: absolute;
487            bottom: 0;
488            left: 31px;            
489            visibility: hidden;
490            opacity: 1;
491            pointer-events: none;
492        }
493        .dc-bar-wpr .dedicationBtn.material-icons,
494        .dc-bar-wpr .dedicationBtn .material-icons {
495            font-family: 'Material Icons' !important;
496            font-weight: normal !important;
497            font-style: normal;
498            letter-spacing: normal;
499            text-transform: none;
500            display: inline-flex;
501            align-items: center;
502            line-height: 38px;
503			border: 0;
504			background: transparent;
505        }
506
507        .dc-bar-wpr .scroll-container {
508            width: auto; 
509            height: 40px;
510            color: var(--dedications-bar-msg);
511            font-size: 16px;
512            line-height: 40px;
513            overflow: hidden;
514            white-space: nowrap;
515            position: absolute;
516            right: 25px;
517            left: 150px;
518        }
519
520        .dc-bar-wpr .scroll-container::before {
521            content: "";
522            width: 50px;
523            height: 40px;
524            background: #22C1C3;
525            background: linear-gradient(90deg,var(--dedications-bar-bg) 0%, rgba(253, 187, 45, 0) 100%);
526            position: absolute;
527            left: 0;
528            z-index: 10;
529        }
530
531        .dc-bar-wpr .scroll-container::after {
532            content: "";
533            width: 50px;
534            height: 40px;
535            background: #22C1C3;
536            background: linear-gradient(-90deg,var(--dedications-bar-bg) 0%, rgba(253, 187, 45, 0) 100%);
537            position: absolute;
538            right: 0;
539            z-index: 10;
540        }
541
542        .dc-bar-wpr .scroll-text {
543            position: absolute;
544            display: inline-block;
545            white-space: nowrap;
546            will-change: transform;
547            animation: scroll linear infinite;
548            z-index: 5;
549        }
550
551        .dc-bar-wpr .name {
552            font-weight: 700;
553        }
554
555        .dc-bar-wpr .msg {
556            font-weight: 400;
557        }
558
559        .dedication-emoji-label {
560            display: block;
561            margin-top: 10px;
562            margin-bottom: 7px;
563            font-size: 13px;
564            font-weight: 700;
565        }
566
567        .dedication-emoji-picker {
568            display: flex;
569            flex-wrap: wrap;
570            gap: 7px;
571        }
572
573        .dedication-emoji-button {
574            display: inline-grid;
575            width: 40px;
576            height: 40px;
577            padding: 0;
578            place-items: center;
579            background: rgba(255, 255, 255, .14);
580            border: 1px solid rgba(255, 255, 255, .24);
581            border-radius: 10px;
582            color: inherit;
583            font-size: 21px;
584            line-height: 1;
585            cursor: pointer;
586            transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
587        }
588
589        .dedication-emoji-button:hover,
590        .dedication-emoji-button:focus-visible {
591            background: rgba(255, 255, 255, .24);
592            border-color: rgba(255, 255, 255, .42);
593            outline: none;
594            transform: translateY(-1px);
595        }
596
597        @keyframes scroll {
598            0% {
599                left: 100%;
600            }
601            100% {
602                left: -100%;
603            }
604        }
605
606        .dropdown-menu.show {            
607            background-color: var(--header-bg);
608            padding-top: 0 !important;
609            padding-bottom: 0 !important;
610            margin-top: 11px !important;
611            border-radius: 0 0 8px 8px;
612            opacity: .87;
613            
614        }
615        .dropdown-menu.show .dropdown-item {
616            min-height: 40px;
617            color: var(--header-links);
618            font-size: 18px;
619            font-weight: 700;
620            display: flex;
621            align-items: center;
622            padding-top: 0;
623            padding-bottom: 0;
624        }
625
626        .dropdown-menu.show .dropdown-item:hover,
627        .dropdown-menu.show .dropdown-item:focus {
628            background-color: var(--header-bg);
629            color: var(--header-links);
630        }
631
632        .navbar .dropdown-toggle::after {
633            content: "expand_more";
634            font-family: "Material Icons";
635            font-size: 20px;
636            border: 0;
637            margin-left: 6px;
638            vertical-align: middle;
639            line-height: 1;
640        }       
641
642        :root {
643            --address-bar-height: '';
644            --header-bg: #9053FC;
645            --header-mobile-links-bg: #7141C4;
646            --header-links: #FFFFFF;
647            --header-social-icons: #FFFFFF;
648            --header-btn-bg: #7141C4;
649            --header-btn-color: #F6FF1D;
650            --header-loadbar: #B48AFF;
651
652            --dedications-bar-bg: #fff;
653            --dedications-bar-msg: #000;
654            --dedications-bar-label: #000;
655
656
657            --page-title: #9053FC;
658            --primary-text: #7141C4;
659            --lecture-text: #232323;
660            --heading-text: #9053FC;
661            --highlight-text: #B48AFF;
662            --primary-btn-bg: #3C4FFF;
663            --primary-btn-color: #FFFFFF;
664            --secondary-btn-bg: #9053FC;
665            --secondary-btn-color: #FFFFFF;
666            --play-btn-bg: #7141C4;
667            --play-btn-hover-bg: #7141C4;
668            --play-btn-color: #FFFFFF;
669            --highglight-block-bg: #9053FC;
670            --highglight-block-secondary-bg: #7141C4;
671            --highglight-block-color: #FFFFFF;
672            --highglight-block-primary-btn-bg: #000000;
673            --highglight-block-primary-btn-color: #FFFFFF;
674            --highglight-block-secondary-btn-bg: #FFFFFF;
675            --highglight-block-secondary-btn-color: #9053FC;
676
677
678            --player-bar-bg: #7141C4;
679            --player-bar-songtitle: #FFFFFF;
680            --player-bar-artist: #FFFFFF;
681            --player-bar-icons: #FFFFFF;
682            --player-bar-play-btn-bg: #FFFFFF;
683            --player-bar-play-btn-color: #9053FC;
684            --player-bar-seekbar-bg: #B48AFF;
685            --player-bar-seekbar-fill: #B48AFF;
686
687            --footer-bg: #9053FC;
688            --footer-heading-text: #FFFFFF;
689            --footer-links: #FFFFFF;
690            --footer-social-icons: #FFFFFF;
691        }
692
693        .home-image-slider {
694            margin-top: 50px;
695        }
696
697        .home-top-played-header {
698            color: #fff;
699            font-size: 18px;
700            font-weight: 700;
701            margin-bottom: 10px;
702            text-transform: uppercase;
703        }
704
705        .home-top-played {
706            min-width: 300px;
707            width: 350px;
708            max-height: 380px;
709            display: none;
710            position: absolute;
711            right: 0;
712            top: 50%;
713            transform: translateY(-50%);
714            overflow: hidden;
715            z-index: 10;
716        }
717
718        .home-top-played .element {
719            background-color: rgba(255, 255, 255, .2);
720            padding: 10px;
721            margin-bottom: 10px;
722            border-radius: 10px;
723        }
724
725        .home-top-played .details-ctr {
726            width: 100%;
727            display: flex;
728            align-items: center;
729        }
730
731        .home-top-played-details {  
732            width: 100%;          
733            display: flex;
734            align-items: center;
735            justify-content: space-between;
736        }
737
738        .home-top-played-metadata {
739            padding: 0 50px 0 10px;
740        }
741
742        .home-top-played-artist {
743            color: #fff;
744            font-size: 14px;
745            font-weight: 400;
746            line-height: 18px;
747            text-transform: none;
748            display: -webkit-box;
749            -webkit-line-clamp: 1;
750            -webkit-box-orient: vertical;
751            overflow: hidden;
752        }
753        
754        .home-top-played-title {
755            color: #fff;
756            font-size: 14px;
757            font-weight: 600;
758            line-height: 18px;
759            text-transform: none;
760            display: -webkit-box;
761            -webkit-line-clamp: 1;
762            -webkit-box-orient: vertical;
763            overflow: hidden;
764        }
765        
766        .home-top-played-artwork {
767            min-height: 40px;
768            min-width: 40px;
769            height: 40px;
770            width: 40px;
771            border: 0;
772            border-radius: 5px;
773        }
774
775        .home-top-played-time {
776            color: #fff;
777            font-size: 12px;
778            font-weight: 400;
779        }
780                
781       
782        
783        @media (max-width: 767.98px) {
784            .home-top-played {
785                display: none;
786            }
787            .dc-bar-wpr .title {
788                display: none;
789                font-size: 22px;
790            }
791            .dc-bar-wpr .dedicationBtn {                
792                visibility: visible;
793                opacity: 1;
794                pointer-events: auto;
795            }
796
797            .dc-bar-wpr .scroll-container {
798                font-size: 14px;
799                height: 38px;
800                right: 0px;
801                left: 62px;
802            }
803
804            .dc-bar-wpr .scroll-container::before {
805                width: 25px;
806                height: 38px;
807                left: 0;
808            }
809
810            .dc-bar-wpr .scroll-container::after {
811                width: 25px;
812                height: 38px;
813                right: 0;
814            }
815
816            .dropdown-menu.show {            
817                background-color: var(--header-mobile-links-bg);
818                padding-top: 0 !important;
819                padding-bottom: 0 !important;
820                margin-top: 0px !important;
821                border-radius: 0;
822                border: 0;;
823                opacity: 1;
824                
825            }
826            .dropdown-menu.show .dropdown-item {
827                min-height: 40px;
828                color: var(--header-links);
829                font-size: 22px;
830                font-weight: 700;
831                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
832                padding: 12px inherit;
833            }
834
835            .dropdown-menu.show .dropdown-item:hover,
836            .dropdown-menu.show .dropdown-item:focus {
837                background-color: var(--header-mobile-links-bg);
838                color: var(--header-links);
839            }
840
841            .navbar .dropdown-toggle::after {
842                content: "expand_more";
843                font-family: "Material Icons";
844                font-size: 20px;
845                border: 0;
846                margin-left: 6px;
847                vertical-align: middle;
848                line-height: 1;
849            }
850        }
851
852        .ck-content .image {
853            display: table;
854            margin-left: auto;
855            margin-right: auto;
856        }
857
858        .ck-content .image img {
859            width: 100%;
860            height: auto;
861	        display: block;
862        }
863
864        .ck-content .image.image_resized {
865            max-width: 100%;
866        }
867    </style>
868        </head>
869
870<body class="vibe-site page-home">
871    <div class="header fixed-top">
872        <nav class="navbar navbar-expand-md navbar-dark">
873            <div class='container-fluid navbar-padding'>
874                <div class="d-flex d-md-none w-100 align-items-center justify-content-between">
875                    <div class="d-flex">
876                        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse"
877                            aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
878                            <span class="material-icons toggle-icon notes-icon">notes</span>
879                            <span class="material-icons toggle-icon close-icon">close</span>
880                        </button>
881                    </div>
882
883                    <a href="https://radiosatellite.eu" class="navbar-brand mx-auto">
884                        <img src="https://radiosatellite.eu/uploads/691479b079384/site/1766447886_68fcc02246bb95a44cb0.jpg" class="mobile-logo" alt="RADIOSATELLITE" />
885                    </a>
886
887                    <div class="d-flex">
888                        <div class="header-btn header-ppBtn material-icons" onclick="window.p1.playStream(this)" data-title="RADIOSATELLITE" data-url="https://manager10.streamradio.fr:1775" data-mp="stream" data-platform="ic" data-json="https://manager10.streamradio.fr:1760" data-server-id="1"  data-json-history="0" data-panel="evc" data-stream-id="691479b079546" data-custom="0" data-search-api="everestcast" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Play radio">play_arrow</div>
889                    </div>
890                </div>
891
892                <a href="https://radiosatellite.eu" class="navbar-brand d-none d-md-block">
893                    <img src="https://radiosatellite.eu/uploads/691479b079384/site/1766447886_68fcc02246bb95a44cb0.jpg" class="logo-top" alt="RADIOSATELLITE" />
894                </a>
895
896                <div class="collapse navbar-collapse" id="navbarCollapse">
897                    <ul class="navbar-nav me-auto">
898                                                    <li class="nav-item">
899                                <a class="nav-link" href="https://radiosatellite.eu/news">News</a>
900                            </li>
901                                                                            <li class="nav-item">
902                                <a class="nav-link" href="https://radiosatellite.eu/programs">Programs</a>
903                            </li>
904                                                                                                    <li class="nav-item">
905                                <a class="nav-link" href="https://radiosatellite.eu/events">Events</a>
906                            </li>
907                                                
908                                                    <li class="nav-item">
909                                <a class="nav-link" href="https://radiosatellite.eu/artists">Artists</a>
910                            </li>
911                                                 
912                        
913                        <li class="nav-item dropdown">
914                            <a class="nav-link dropdown-toggle" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">Medias</a>
915                            <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
916                                <li>
917                                    <a class="dropdown-item" href="https://radiosatellite.eu/music">Music</a>
918                                </li>
919                                                                    <li>
920                                        <a class="dropdown-item" href="https://radiosatellite.eu/videos">Videos</a>
921                                    </li>
922                                                                                                    <li>
923                                        <a class="dropdown-item" href="https://radiosatellite.eu/podcasts">Podcasts</a>
924                                    </li>
925                                                            </ul>
926                        </li>
927                    </ul>
928                    <div class="follow-us">Follow us on social media</div>
929                    <ul class="navbar-nav sm-icons">
930                                                    <li class="nav-item">
931                                <a class="nav-link" href="https://www.facebook.com/radiosatellite.live" target="_blank" rel="noopener noreferrer">
932                                    <i class="fa-brands fa-square-facebook"></i>
933                                </a>
934                            </li>
935                                                    <li class="nav-item">
936                                <a class="nav-link" href="https://twitter.com/RADIOSATELLITE2" target="_blank" rel="noopener noreferrer">
937                                    <i class="fa-brands fa-x-twitter"></i>
938                                </a>
939                            </li>
940                                                    <li class="nav-item">
941                                <a class="nav-link" href="https://www.instagram.com/radiosatellite2/" target="_blank" rel="noopener noreferrer">
942                                    <i class="fa-brands fa-instagram"></i>
943                                </a>
944                            </li>
945                                                    <li class="nav-item">
946                                <a class="nav-link" href="https://www.youtube.com/@webradioradiosatellite3961" target="_blank" rel="noopener noreferrer">
947                                    <i class="fa-brands fa-youtube"></i>
948                                </a>
949                            </li>
950                                                    <li class="nav-item">
951                                <a class="nav-link" href="https://www.tiktok.com/@radiosatellite" target="_blank" rel="noopener noreferrer">
952                                    <i class="fa-brands fa-tiktok"></i>
953                                </a>
954                            </li>
955                                                                        <li class="mobile-hide">
956                            <div class="header-btn header-ppBtn material-icons" onclick="window.p1.playStream(this)" data-title="RADIOSATELLITE" data-url="https://manager10.streamradio.fr:1775" data-mp="stream" data-platform="ic" data-json="https://manager10.streamradio.fr:1760" data-server-id="1" data-json-history="0" data-panel="evc" data-stream-id="691479b079546" data-custom="0" data-search-api="everestcast" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Play radio">play_arrow</div>
957                        </li>
958                    </ul>
959                </div>
960            </div>
961        </nav>
962    </div>
963
964    
965    <div id="main">
966    <h1 class="d-none">RADIOSATELLITE</h1>
967
968    
969    <div class="vibe-home-blocks" data-home-duel-order="2">
970    
971    
972    
973        <div class="vibe-home-block vibe-home-block--default" data-home-block="news" style="order: 5">
974        <div class="container">
975            <div class="row">
976                <div class="col-md-12">
977                    <div class="block-header">
978                        <div class="block-header-title">Latest news</div>
979                    </div>
980                </div>
981            </div>
982        </div>
983
984        <div class="container-fluid highlight-block home-news-featured">
985            <div class="container">
986                <div class="row justify-content-center">
987                    <div class="col-md-4">
988                        <div class="element-list videos">
989                            <div class="subtitle">In the news</div>                            
990                                                                                                                                                                                                                                                                                                                   <a href="https://radiosatellite.eu/news/stars/clint-eastwood-214">
991                                        <div class="img-wpr">
992                                            <img src="https://radiosatellite.eu/uploads/691479b079384/news/thumb_1764879528_0278d199a93441c27477.png" class="img" alt="CLINT EASTWOOD">
993                                        </div>
994                                        <div class="category">STARS</div>
995                                        <div class="title">CLINT EASTWOOD</div>
996                                        <div class="date">Posted on Dec 04, 2025</div>
997                                    </a>
998                                                                                                                 </div>
999                    </div>
1000
1001                    <div class="col-md-4">
1002                        <div class="element-list videos">
1003                            <div class="subtitle">Most recent</div>
1004                                                                                                                                        <a href="https://radiosatellite.eu/news/radio/ecouter-listen-846">
1005                                            <div class="img-wpr">
1006                                                <img src="https://radiosatellite.eu/uploads/691479b079384/news/thumb_1775726947_59fc376ecc8fa0564ddd.png" class="img" alt="ECOUTER / LISTEN">
1007                                            </div>
1008                                            <div class="category">RADIO</div>
1009                                            <div class="title">ECOUTER / LISTEN</div>
1010                                            <div class="date">Posted on Apr 09, 2026</div>
1011                                        </a>
1012                                                                                                                                                                                                                                                                                                                                    </div>
1013                    </div>
1014
1015                     
1016                    <div class="col-md-4">
1017                        <div class="element-list videos">
1018                            <div class="subtitle">Video of the week</div>
1019                                                                                                                                        <a href="https://radiosatellite.eu/videos/videos/radiosatellite-joie-dans-lair-672">
1020                                            <div class="img-wpr">
1021                                                <img src="https://i.ytimg.com/vi/UqYaCDSgCw0/maxresdefault.jpg" class="img" alt="RADIOSATELLITE JOIE DANS L'AIR">
1022                                            </div>
1023                                            <div class="category">VIDEOS  </div>
1024                                            <div class="title">RADIOSATELLITE JOIE DANS L'AIR</div>
1025                                            <div class="date">Posted on Jun 02, 2026</div>
1026                                        </a>
1027                                                                                                                                                                                                                                                                                                                                                                                                        </div>
1028                    </div>
1029                                    </div>
1030            </div>
1031        </div>
1032
1033        <div class="container home-news-grid">
1034            <div class="row pt-50">
1035                                    <div class="col-md-3">
1036                        <div class="element-list">
1037                                                                                                <a href="https://radiosatellite.eu/news/radio/happy-new-year-233">
1038                                        <div class="img-wpr">
1039                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1766930465_91aa744e63efea1f5abf.png" class="img" alt="HAPPY NEW YEAR">
1040                                        </div>
1041                                        <div class="details">
1042                                            <div class="category">RADIO</div>
1043                                            <div class="title">HAPPY NEW YEAR</div>
1044                                            <div class="date">Posted on Dec 28, 2025</div>
1045                                        </div>
1046                                    </a>
1047                                                                                                                                                                                                                                                                        </div>
1048                    </div>
1049                                    <div class="col-md-3">
1050                        <div class="element-list">
1051                                                                                                <a href="https://radiosatellite.eu/news/radio/radiosatellite-ne
1051w-look-230">
1052                                        <div class="img-wpr">
1053                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1766503906_0d142f456439d39c9109.png" class="img" alt="RADIOSATELLITE NEW LOOK ">
1054                                        </div>
1055                                        <div class="details">
1056                                            <div class="category">RADIO</div>
1057                                            <div class="title">RADIOSATELLITE NEW LOOK </div>
1058                                            <div class="date">Posted on Dec 23, 2025</div>
1059                                        </div>
1060                                    </a>
1061                                                                                                                                                                                                                                                                        </div>
1062                    </div>
1063                                    <div class="col-md-3">
1064                        <div class="element-list">
1065                                                                                                <a href="https://radiosatellite.eu/news/radio/radiosatellite-a-multilingual-radio-station-226">
1066                                        <div class="img-wpr">
1067                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1766261286_c4cadfb342613f73d8d8.jpg" class="img" alt="RADIOSATELLITE : A MULTILINGUAL RADIO STATION">
1068                                        </div>
1069                                        <div class="details">
1070                                            <div class="category">RADIO</div>
1071                                            <div class="title">RADIOSATELLITE : A MULTILINGUAL RADIO STATION</div>
1072                                            <div class="date">Posted on Dec 20, 2025</div>
1073                                        </div>
1074                                    </a>
1075                                                                                                                                                                                                                                                                        </div>
1076                    </div>
1077                                    <div class="col-md-3">
1078                        <div class="element-list">
1079                                                                                                                                                                                                                                                                                    <a href="https://radiosatellite.eu/news/stars/clint-eastwood-214">
1080                                        <div class="img-wpr">
1081                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1764879528_0278d199a93441c27477.png" class="img" alt="CLINT EASTWOOD">
1082                                        </div>
1083                                        <div class="details">
1084                                            <div class="category">STARS</div>
1085                                            <div class="title">CLINT EASTWOOD</div>
1086                                            <div class="date">Posted on Dec 04, 2025</div>
1087                                        </div>
1088                                    </a>
1089                                                                                    </div>
1090                    </div>
1091                                    <div class="col-md-3">
1092                        <div class="element-list">
1093                                                                                                <a href="https://radiosatellite.eu/news/radio/radio-satellites-team-charlie-210">
1094                                        <div class="img-wpr">
1095                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1764634660_93374ce4f4e45458c456.png" class="img" alt="RADIO SATELLITE'S TEAM. CHARLIE ">
1096                                        </div>
1097                                        <div class="details">
1098                                            <div class="category">RADIO</div>
1099                                            <div class="title">RADIO SATELLITE'S TEAM. CHARLIE </div>
1100                                            <div class="date">Posted on Dec 02, 2025</div>
1101                                        </div>
1102                                    </a>
1103                                                                                                                                                                                                                                                                        </div>
1104                    </div>
1105                                    <div class="col-md-3">
1106                        <div class="element-list">
1107                                                                                                <a href="https://radiosatellite.eu/news/radio/radiosatellites-team-jessica-209">
1108                                        <div class="img-wpr">
1109                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1764633888_78cbb4a18b4ab4ae6125.png" class="img" alt="RADIOSATELLITE'S TEAM JESSICA ">
1110                                        </div>
1111                                        <div class="details">
1112                                            <div class="category">RADIO</div>
1113                                            <div class="title">RADIOSATELLITE'S TEAM JESSICA </div>
1114                                            <div class="date">Posted on Dec 02, 2025</div>
1115                                        </div>
1116                                    </a>
1117                                                                                                                                                                                                                                                                        </div>
1118                    </div>
1119                                    <div class="col-md-3">
1120                        <div class="element-list">
1121                                                                                                                                                                                                                        <a href="https://radiosatellite.eu/news/music/inger-lise-stulien-202">
1122                                        <div class="img-wpr">
1123                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1764422710_cdbf7f949ae5929a09fd.png" class="img" alt="INGER LISE STULIEN ">
1124                                        </div>
1125                                        <div class="details">
1126                                            <div class="category">MUSIC</div>
1127                                            <div class="title">INGER LISE STULIEN </div>
1128                                            <div class="date">Posted on Nov 29, 2025</div>
1129                                        </div>
1130                                    </a>
1131                                                                                                                                                </div>
1132                    </div>
1133                                    <div class="col-md-3">
1134                        <div class="element-list">
1135                                                                                                <a href="https://radiosatellite.eu/news/radio/christmas-soon-189">
1136                                        <div class="img-wpr">
1137                                            <img src=" https://radiosatellite.eu/uploads/691479b079384/news/thumb_1763505243_bd7c84965cbb84be1ebe.png" class="img" alt="CHRISTMAS SOON">
1138                                        </div>
1139                                        <div class="details">
1140                                            <div class="category">RADIO</div>
1141                                            <div class="title">CHRISTMAS SOON</div>
1142                                            <div class="date">Posted on Nov 18, 2025</div>
1143                                        </div>
1144                                    </a>
1145                                                                                                                                                                                                                                                                        </div>
1146                    </div>
1147                            </div>
1148
1149            <div class="row">
1150                <div class="col-md-12 text-center">
1151                    <a class='btn-action' href="https://radiosatellite.eu/news">All the news</a>
1152                </div>
1153            </div>
1154        </div>
1155    </div>
1156    
1157        <div class="vibe-home-block vibe-home-block--default" data-home-block="programs" style="order: 6">
1158    <div class="container">        
1159        <div class="row">
1160            <div class="col-md-12">
1161                <div class="page-header page-header-block">
1162                    <div class="d-flex justify-content-between align-items-center">
1163                        <div class="title">Next programs</div>
1164                    </div>
1165                </div>
1166            </div>
1167        </div>
1168
1169        <div class="row">
1170                            <div class="col-md-4">
1171                    <div class="element-list videos">
1172                        <div class="img-wpr">
1173                            <img src="https://radiosatellite.eu/uploads/691479b079384/programs/1767865380_799eedd144f19b271b13.png" class="img" alt="OLDIES AND INSTRUMENTAL">
1174                        </div>
1175                        <div class="title">20h00</div>
1176                        <div class="venue">OLDIES AND INSTRUMENTAL</div>
1177                        <div class="date"></div>
1178                    </div>
1179                </div>
1180                            <div class="col-md-4">
1181                    <div class="element-list videos">
1182                        <div class="img-wpr">
1183                            <img src="https://radiosatellite.eu/uploads/691479b079384/programs/1763036084_f00e01cecb4c0919a8f7.png" class="img" alt="JUST JAZZ  by STEVE HART">
1184                        </div>
1185                        <div class="title">21h00</div>
1186                        <div class="venue">JUST JAZZ  by STEVE HART</div>
1187                        <div class="date"><h2>Just Jazz est une émission proposée et présentée par STEVE HART sur RADIOSATELLITE<br><br>&nbsp;</h2><p>Tous les soirs entre 21h00 et 22h00</p></div>
1188                    </div>
1189                </div>
1190                    </div>
1191
1192        <div class="row">
1193            <div class="col-md-12 text-center">
1194                <a class='btn-action' href="https://radiosatellite.eu/programs">All the programs</a>
1195            </div>
1196        </div>
1197    </div>
1198    </div>
1199    
1200        <div class="vibe-home-block vibe-home-block--default" data-home-block="videos" style="order: 7">
1201    <div class="container-fluid highlight-block pb-50 mt-50">
1202        <div class="container">
1203            <div class="row">
1204                <div class="col-md-12">
1205                    <div class="page-header page-header-block">
1206                        <div class="d-flex justify-content-between align-items-center">
1207                            <div class="title">Latest videos</div>
1208                        </div>
1209                    </div>
1210                </div>
1211            </div>
1212
1213            <div class="row">
1214                <div class="col-md-7">
1215                    <div class="row">
1216                                                    <div class="col-md-12">
1217                                                                                                            <a href="https://radiosatellite.eu/videos/videos/radiosatellite-joie-dans-lair-672" class="home-latest-videos-list first">
1218                                            <div class="img-wpr">
1219                                                <img src="https://i.ytimg.com/vi/UqYaCDSgCw0/maxresdefault.jpg" class="img" alt="RADIOSATELLITE JOIE DANS L'AIR">
1220                                                <div class="play-btn play material-icons"></div>
1221                                            </div>
1222                                            <div>
1223                                                <div class="title">RADIOSATELLITE JOIE DANS L'AIR</div>
1224                                                <div class="date">Jun 02, 2026</div>
1225                                            </div>
1226                                        </a>
1227                                                                                                                                                                                                                                                                                                                                                                                </div>
1228                                            </div>
1229                </div>
1230
1231                <div class="col-md-5">
1232                    <div class="row">
1233                                                    <div class="col-md-12">
1234                                                                                                            <a href="https://radiosatellite.eu/videos/videos/wassim-670" class="home-latest-videos-list">
1235                                            <div class="img-wpr">
1236                                                <img src="https://i.ytimg.com/vi/DQ5xmuj_g-U/maxresdefault.jpg" class="img" alt="WASSIM">
1237                                                <div class="play-btn play material-icons"></div>
1238                                            </div>
1239
1240                                            <div>
1241                                                <div class="title">WASSIM</div>
1242                                                <div class="date">May 30, 2026</div>
1243                                            </div>
1244                                        </a>
1245                                                                                                                                                                                                                                                                                                                                                                                </div>
1246                                                    <div class="col-md-12">
1247                                                                                                            <a href="https://radiosatellite.eu/videos/videos/the-cowboys-life-669" class="home-latest-videos-list">
1248                                            <div class="img-wpr">
1249                                                <img src="https://i.ytimg.com/vi/aFL1EBowvso/maxresdefault.jpg" class="img" alt="THE COWBOY'S LIFE">
1250                                                <div class="play-btn play material-icons"></div>
1251                                            </div>
1252
1253                                            <div>
1254                                                <div class="title">THE COWBOY'S LIFE</div>
1255                                                <div class="date">May 27, 2026</div>
1256                                            </div>
1257                                        </a>
1258                                                                                                                                                                                                                                                                                                                                                                                </div>
1259                                         
1259           <div class="col-md-12">
1260                                                                                                            <a href="https://radiosatellite.eu/videos/videos/jingle-chante-radiosatellite-667" class="home-latest-videos-list">
1261                                            <div class="img-wpr">
1262                                                <img src="https://i.ytimg.com/vi/FwcimHJf58o/maxresdefault.jpg" class="img" alt="JINGLE CHANTÉ RADIOSATELLITE ">
1263                                                <div class="play-btn play material-icons"></div>
1264                                            </div>
1265
1266                                            <div>
1267                                                <div class="title">JINGLE CHANTÉ RADIOSATELLITE </div>
1268                                                <div class="date">May 22, 2026</div>
1269                                            </div>
1270                                        </a>
1271                                                                                                                                                                                                                                                                                                                                                                                </div>
1272                                                    <div class="col-md-12">
1273                                                                                                            <a href="https://radiosatellite.eu/videos/videos/chanson-on-oublie-tout-666" class="home-latest-videos-list">
1274                                            <div class="img-wpr">
1275                                                <img src="https://i.ytimg.com/vi/SJfuhAWNtKo/maxresdefault.jpg" class="img" alt="CHANSON "ON OUBLIE TOUT">
1276                                                <div class="play-btn play material-icons"></div>
1277                                            </div>
1278
1279                                            <div>
1280                                                <div class="title">CHANSON "ON OUBLIE TOUT</div>
1281                                                <div class="date">May 22, 2026</div>
1282                                            </div>
1283                                        </a>
1284                                                                                                                                                                                                                                                                                                                                                                                </div>
1285                                            </div>
1286                </div>
1287            </div>
1288
1289            <div class="row">
1290                <div class="col-md-12 text-center mt-20">
1291                    <a href="https://radiosatellite.eu/videos" class="btn-action contrast">More videos</a>
1292                </div>
1293            </div>
1294        </div>
1295    </div>
1296    </div>
1297    
1298        <div class="vibe-home-block vibe-home-block--default" data-home-block="podcasts" style="order: 8">
1299    <div class="container">
1300        <div class="row">
1301            <div class="col-md-12">
1302                <div class="page-header page-header-block">
1303                    <div class="d-flex justify-content-between align-items-center">
1304                        <div class="title">Latest podcasts</div>
1305                    </div>
1306                </div>
1307            </div>
1308        </div>
1309
1310        <div class="row">
1311            <div class="col-md-12">
1312                <div class="glide home-podcasts-slider">
1313                    <div class="glide__track" data-glide-el="track">
1314                        <ul class="glide__slides home-podcast-list">
1315                            
1316                                                        <li class="glide__slide">
1317                                <div class="item">
1318                                    <div class="top">
1319                                        <img src="https://radiosatellite.eu/uploads/691479b079384/podcasts/1765927839_d152e5dc8b4d95531c17.jpg">
1320                                        <div
1321                                            class="podcast-ppBtn material-icons"
1322                                            id="home_podcast_ppBtn_0"
1323                                            onclick="window.p1.playPodcast('https://ia601707.us.archive.org/33/items/the-country-mile-393/The%20Country%20Mile%20-%20393.mp3', this)"
1324                                            data-loaded="false"
1325                                            data-title="THE COUNTRY MILE"
1326                                            data-img="1765927839_d152e5dc8b4d95531c17.jpg"
1327                                            data-date="Dec 17, 2025"
1328                                            data-playing="false"
1329                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    data-program="THE COUNTRY MILE  by DAVE WATKINS"
1330                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                >
1331                                            play_arrow</div>
1332                                    </div>
1333                                    								    								    								    								    								    								    								    								    								                                        <div class="program">THE COUNTRY MILE  by DAVE WATKINS</div>
1334                                    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								                                        <div class="title">THE COUNTRY MILE</div>
1335                                    <div class="date">Posted on Dec 17, 2025</div>
1336                                </div>
1337                            </li>
1338                                                        <li class="glide__slide">
1339                                <div class="item">
1340                                    <div class="top">
1341                                        <img src="https://radiosatellite.eu/uploads/691479b079384/podcasts/1763035965_7b48060be42de842e048.png">
1342                                        <div
1343                                            class="podcast-ppBtn material-icons"
1344                                            id="home_podcast_ppBtn_1"
1345                                            onclick="window.p1.playPodcast('https://ia802901.us.archive.org/34/items/051-just-jazz/051-JustJazz.mp3', this)"
1346                                            data-loaded="false"
1347                                            data-title="JUST JAZZ"
1348                                            data-img="1763035965_7b48060be42de842e048.png"
1349                                            data-date="Nov 13, 2025"
1350                                            data-playing="false"
1351                                                                                                                                    data-program="JUST JAZZ  by STEVE HART"
1352                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                >
1353                                            play_arrow</div>
1354                                    </div>
1355                                    								                                        <div class="program">JUST JAZZ  by STEVE HART</div>
1356                                    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								                                        <div class="title">JUST JAZZ</div>
1357                                    <div class="date">Posted on Nov 13, 2025</div>
1358                                </div>
1359                            </li>
1360                                                        <li class="glide__slide">
1361                                <div class="item">
1362                                    <div class="top">
1363                                        <img src="https://radiosatellite.eu/uploads/691479b079384/podcasts/1765926995_1d6bea5e2f87f0e431e1.jpg">
1364                                        <div
1365                                            class="podcast-ppBtn material-icons"
1366                                            id="home_podcast_ppBtn_2"
1367                                            onclick="window.p1.playPodcast('http://jcurtmanshow.weebly.com/uploads/9/0/8/5/908502/jc_show_11052016_b.mp3', this)"
1368                                            data-loaded="false"
1369                                            data-title="THE JASON CURTMAN SHOW "
1370                                            data-img="1765926995_1d6bea5e2f87f0e431e1.jpg"
1371                                            data-date="Nov 13, 2025"
1372                                            data-playing="false"
1373                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            >
1374                                            play_arrow</div>
1375                                    </div>
1376                                    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    
1376								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								    								                                        <div class="title">THE JASON CURTMAN SHOW </div>
1377                                    <div class="date">Posted on Nov 13, 2025</div>
1378                                </div>
1379                            </li>
1380                            
1381                                                        
1382                        </ul>
1383                    </div>
1384                </div>
1385            </div>
1386        </div>       
1387
1388        <div class="row">
1389            <div class="col-md-12 text-center">
1390                <a class='btn-action' href="https://radiosatellite.eu/podcasts">All the podcasts</a>
1391            </div>
1392        </div>
1393    </div>
1394    </div>
1395    
1396    
1397        <div class="vibe-home-block vibe-home-block--default" data-home-block="sponsors" style="order: 10">
1398    <div class="container">
1399        <div class="row">
1400            <div class="col-md-12">
1401                <div class="page-header page-header-block">
1402                    <div class="d-flex justify-content-between align-items-center">
1403                        <div class="title">Sponsors</div>
1404                    </div>
1405                </div>
1406            </div>
1407        </div>
1408
1409        <div class="row">
1410            <div class="col-md-12">
1411                <div class="glide home-sponsors-slider">
1412                    <div class="glide__track" data-glide-el="track">
1413                        <ul class="glide__slides">
1414                                                        <li class="glide__slide home-sponsors-list">
1415                                                                
1416                                <div class="item">
1417                                    <div class="img-wpr">
1418                                        <a href="https://www.annuairedelaradio.fr/radio-satellite-2/" target="_blank">
1419                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1763298570_2a17c9824a6bfc96f5a0.png" alt="ANNUAIRE DE LA RADIO ">
1420                                                                                </a>
1421                                    </div>
1422                                    <div class='name'>ANNUAIRE DE LA RADIO </div>
1423                                </div>                                
1424                                                            
1425                            </li>
1426                                                        <li class="glide__slide home-sponsors-list">
1427                                                                
1428                                <div class="item">
1429                                    <div class="img-wpr">
1430                                        <a href="https://clover.fm/46564-radiosatellite.html" target="_blank">
1431                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1764145643_a931b03dfaedffa85b53.png" alt="CLOVER.FM">
1432                                                                                </a>
1433                                    </div>
1434                                    <div class='name'>CLOVER.FM</div>
1435                                </div>                                
1436                                                            
1437                            </li>
1438                                                        <li class="glide__slide home-sponsors-list">
1439                                                                
1440                                <div class="item">
1441                                    <div class="img-wpr">
1442                                        <a href="https://onlineradiobox.com/fr/satellite/?cs=fr.satellite" target="_blank">
1443                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1763293579_6c95230b1016501fd4ea.jpg" alt="ON LINE RADIO BOX ">
1444                                                                                </a>
1445                                    </div>
1446                                    <div class='name'>ON LINE RADIO BOX </div>
1447                                </div>                                
1448                                                            
1449                            </li>
1450                                                        <li class="glide__slide home-sp
1450onsors-list">
1451                                                                
1452                                <div class="item">
1453                                    <div class="img-wpr">
1454                                        <a href="https://www.ontoplist.com/" target="_blank">
1455                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1764893163_f31cf9e1957e53a5b803.png" alt="ON TOP LIST">
1456                                                                                </a>
1457                                    </div>
1458                                    <div class='name'>ON TOP LIST</div>
1459                                </div>                                
1460                                                            
1461                            </li>
1462                                                        <li class="glide__slide home-sponsors-list">
1463                                                                
1464                                <div class="item">
1465                                    <div class="img-wpr">
1466                                        <a href="https://q-radio.ru/stations/radio-satellite/" target="_blank">
1467                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1782998640_38ffad8671d8e3455821.png" alt="Q-RADIO">
1468                                                                                </a>
1469                                    </div>
1470                                    <div class='name'>Q-RADIO</div>
1471                                </div>                                
1472                                                            
1473                            </li>
1474                                                        <li class="glide__slide home-sponsors-list">
1475                                                                
1476                                <div class="item">
1477                                    <div class="img-wpr">
1478                                        <a href="https://raddio.net/381514-radiosatellite/" target="_blank">
1479                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1763321153_342486650f95f3299a57.png" alt="RADDIO.NET">
1480                                                                                </a>
1481                                    </div>
1482                                    <div class='name'>RADDIO.NET</div>
1483                                </div>                                
1484                                                            
1485                            </li>
1486                                                        <li class="glide__slide home-sponsors-list">
1487                                                                
1488                                <div class="item">
1489                                    <div class="img-wpr">
1490                                        <a href="https://radioabc.com/station/satellite" target="_blank">
1491                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1765240733_e3af0ad00e0554f58b4f.png" alt="RADIO ABC">
1492                                                                                </a>
1493                                    </div>
1494                                    <div class='name'>RADIO ABC</div>
1495                                </div>                                
1496                                                            
1497                            </li>
1498                                                        <li class="glide__slide home-sponsors-list">
1499                                                                
1500                                <div class="item">
1501                                    <div class="img-wpr">
1502                                        <a href="https://www.radio-en-ligne.fr/radio-satellite" target="_blank">
1503                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1764083548_6e8f0844eadf971fcb54.png" alt="RADIO EN LIGNE ">
1504                                                                                </a>
1505                                    </div>
1506                                    <div class='name'>RADIO EN LIGNE </div>
1507                                </div>                                
1508                                                            
1509                            </li>
1510                                                        <li class="glide__slide home-sp
1510onsors-list">
1511                                                                
1512                                <div class="item">
1513                                    <div class="img-wpr">
1514                                        <a href="https://www.radioplug.co.uk/search-results" target="_blank">
1515                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1765051559_58abc8a1e1a078555f03.png" alt="RADIO PLUG">
1516                                                                                </a>
1517                                    </div>
1518                                    <div class='name'>RADIO PLUG</div>
1519                                </div>                                
1520                                                            
1521                            </li>
1522                                                        <li class="glide__slide home-sponsors-list">
1523                                                                
1524                                <div class="item">
1525                                    <div class="img-wpr">
1526                                        <a href="https://radioregistry.com/station/radio-satellite/" target="_blank">
1527                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1765632024_9e04ca28f3f13c051388.jpg" alt="RADIO REGISTRY ">
1528                                                                                </a>
1529                                    </div>
1530                                    <div class='name'>RADIO REGISTRY </div>
1531                                </div>                                
1532                                                            
1533                            </li>
1534                                                        <li class="glide__slide home-sponsors-list">
1535                                                                
1536                                <div class="item">
1537                                    <div class="img-wpr">
1538                                        <a href="https://www.radio.de/s/satellite" target="_blank">
1539                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1763399353_d5cbd4242113e89ca707.png" alt="RADIO.NET">
1540                                                                                </a>
1541                                    </div>
1542                                    <div class='name'>RADIO.NET</div>
1543                                </div>                                
1544                                                            
1545                            </li>
1546                                                        <li class="glide__slide home-sponsors-list">
1547                                                                
1548                                <div class="item">
1549                                    <div class="img-wpr">
1550                                        <a href="https://www.radioline.co/fr/radios/radiosatellite" target="_blank">
1551                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1764013418_45e1d719f7ad7ea802e8.png" alt="RADIOLINE">
1552                                                                                </a>
1553                                    </div>
1554                                    <div class='name'>RADIOLINE</div>
1555                                </div>                                
1556                                                            
1557                            </li>
1558                                                        <li class="glide__slide home-sponsors-list">
1559                                                                
1560                                <div class="item">
1561                                    <div class="img-wpr">
1562                                        <a href="https://www.radios.com.br/aovivo/radio-satellite/29878" target="_blank">
1563                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1763328226_645d320a36b858875a97.png" alt="RADIOSNET">
1564                                                                                </a>
1565                                    </div>
1566                                    <div class='name'>RADIOSNET</div>
1567                                </div>                                
1568                                                            
1569                            </li>
1570                                                        <li class="glide__slide home-sp
1570onsors-list">
1571                                                                <div class="item">
1572                                    <div class="img-wpr">
1573                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1763399032_e80402e7af02a1f88527.png" alt="SACEM">
1574                                                                            </div>
1575                                    <div class='name'>SACEM</div>
1576                                </div>
1577                                                            
1578                            </li>
1579                                                        <li class="glide__slide home-sponsors-list">
1580                                                                
1581                                <div class="item">
1582                                    <div class="img-wpr">
1583                                        <a href="https://top-webradios.de/eintrag/radiosatellite/" target="_blank">
1584                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1763997378_233f5ebb0fa5bfffd47e.png" alt="TOP RADIO.DE">
1585                                                                                </a>
1586                                    </div>
1587                                    <div class='name'>TOP RADIO.DE</div>
1588                                </div>                                
1589                                                            
1590                            </li>
1591                                                        <li class="glide__slide home-sponsors-list">
1592                                                                
1593                                <div class="item">
1594                                    <div class="img-wpr">
1595                                        <a href="https://topradio.me/satellite " target="_blank">
1596                                                                                    <img src="https://radiosatellite.eu/uploads/691479b079384/sponsors/1764591499_bd43a97d22c56bbd5649.png" alt="TOP RADIO.ME">
1597                                                                                </a>
1598                                    </div>
1599                                    <div class='name'>TOP RADIO.ME</div>
1600                                </div>                                
1601                                                            
1602                            </li>
1603                                                    </ul>
1604                    </div>
1605
1606                    <div class="glide__arrows" data-glide-el="controls">
1607                        <button class="glide__arrow sponsors glide__arrow--left" data-glide-dir="<"><i class="fas fa-chevron-left"></i></button>
1608                        <button class="glide__arrow sponsors glide__arrow--right" data-glide-dir=">"><i class="fas fa-chevron-right"></i></button>
1609                    </div>
1610                </div>                
1611            </div>
1612        </div>
1613    </div>
1614    </div>
1615        </div>
1616</div>
1617
1618<script>
1619    addEventListener("DOMContentLoaded", (event) => {
1620        const imageSliderEle = document.querySelector('.home-image-slider');
1621        const sponsorsSliderEle = document.querySelector('.home-sponsors-slider');
1622        const podcastsSliderEle = document.querySelector('.home-podcasts-slider');
1623        const playedSliderEle = document.querySelector('.home-played-slider');
1624
1625        if (imageSliderEle) {
1626            homeImageSlider('.home-image-slider');
1627        }
1628
1629        if (sponsorsSliderEle) {
1630            homeSponsorsSlider('.home-sponsors-slider');
1631        }
1632        if (podcastsSliderEle) {
1633            homePodcastsSlider();
1634        }
1635    });
1636</script>
1636
1637
1638    <div class="footer">
1639        <div class="container">
1640            <div class="row">
1641                <div class="col-md-3">
1642                    <a href="https://radiosatellite.eu">
1643                        <img src="https://radiosatellite.eu/uploads/691479b079384/site/1766447886_68fcc02246bb95a44cb0.jpg" class="logo-footer" alt="RADIOSATELLITE" />
1644                    </a>
1645                </div>
1646                <div class="col-md-9">
1647                    <div class="row">
1648                        <div class="col-md-3">
1649                            <div class="title">Radio</div>
1650                            <ul>
1651                                                                    <li><a href="https://radiosatellite.eu/news">News</a></li>
1652                                                                                                    <li><a href="https://radiosatellite.eu/programs">Programs</a></li>
1653                                                                                                    <li><a href="https://radiosatellite.eu/events">Events</a></li>
1654                                                                                                    <li><a href="https://radiosatellite.eu/artists">Artists</a></li>
1655                                                                                                    <li><a href="https://radiosatellite.eu/contact">Contact</a></li>
1656                                                            </ul>
1657                        </div>
1658                        <div class="col-md-3">
1659                            <div class="title">Media</div>
1660                            <ul>
1661                                <li><a href="https://radiosatellite.eu/music">Music</a></li>                                
1662                                                                    <li><a href="https://radiosatellite.eu/videos">Videos</a></li>
1663                                                                                                    <li><a href="https://radiosatellite.eu/podcasts">Podcasts</a></li>
1664                                                                
1665                            </ul>
1666                        </div>
1667                        <div class="col-md-6">
1668                            <div class="title-2">Follow us on social media</div>
1669                            <ul class="social">
1670                                                                    <li>
1671                                        <a href="https://www.facebook.com/radiosatellite.live" target="_blank" rel="noopener noreferrer">
1672                                            <i class="fa-brands fa-square-facebook"></i>
1673                                        </a>
1674                                    </li>
1675                                                                    <li>
1676                                        <a href="https://twitter.com/RADIOSATELLITE2" target="_blank" rel="noopener noreferrer">
1677                                            <i class="fa-brands fa-x-twitter"></i>
1678                                        </a>
1679                                    </li>
1680                                                                    <li>
1681                                        <a href="https://www.instagram.com/radiosatellite2/" target="_blank" rel="noopener noreferrer">
1682                                            <i class="fa-brands fa-instagram"></i>
1683                                        </a>
1684                                    </li>
1685                                                                    <li>
1686                                        <a href="https://www.youtube.com/@webradioradiosatellite3961" target="_blank" rel="noopener noreferrer">
1687                                            <i class="fa-brands fa-youtube"></i>
1688                                        </a>
1689                                    </li>
1690                                                                    <li>
1691                                        <a href="https://www.tiktok.com/@radiosatellite" target="_blank" rel="noopener noreferrer">
1692                                            <i class="fa-brands fa-tiktok"></i>
1693                                        </a>
1694                                    </li>
1695                                                            </ul>
1696                                                    </div>
1697                    </div>
1698                </div>
1699            </div>
1700        </div>
1701    </div>
1702    <div class="subfooter">
1703        <div class="container">
1704            <div class="row">
1705                <div class="col-md-12">
1706                    © 2026 RADIOSATELLITE | <a href="https://radiosatellite.eu/legal">Legal Mentions</a>  - Propulsé par <a href="https://streamradio.fr" target="_blank">Stream Radio</a>                </div>
1707            </div>
1708        </div>
1709    </div>
1710
1711
1712    <div id="p1"></div>
1713    <div class="modal fade" id="formModal" tabindex="-1" aria-labelledby="formModalLabel" aria-hidden="true">
1714        <div class="modal-dialog modal-dialog-centered dedication-dialog">
1715            <div class="modal-content dedication-box">
1716                <div class="modal-header border-0">
1717                    <div class="dedication-heading">
1718                        <span class="dedication-kicker"><i aria-hidden="true"></i> RADIOSATELLITE en direct</span>
1719                        <h5 class="modal-title" id="formModalLabel">Send Dedication</h5>
1720                        <h6 class="modal-title">React to live broadcasts, your messages will be broadcast!</h6>
1721                    </div>
1722                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Fermer"></button>
1723                </div>
1724                <form id="exampleForm">
1725                    <div class="modal-body">
1726                        <div class="mb-3 dedication-field">
1727                            <label for="nameInput" class="form-label">Name</label>
1728                            <input type="text" class="form-control" id="nameInput" name="name" maxlength="50" autocomplete="name" placeholder="Votre prénom" required>
1729                            <input type="hidden" class="form-control" id="siteId" name="site_id" value="691479b079384">
1730                        </div>
1731                        <div class="mb-3 dedication-field">
1732                            <div class="dedication-message-label">
1733                                <label for="messageInput" class="form-label">Message</label>
1734                                <span id="dedicationCharacterCount" aria-live="polite">0 / 240</span>
1735                            </div>
1736                            <textarea class="form-control" id="messageInput" name="message" rows="4" maxlength="240" placeholder="Votre message pour Vibe…" required></textarea>
1737                            <span class="dedication-emoji-label">Ajoutez une réaction</span>
1738                            <div class="dedication-emoji-picker" role="group" aria-label="Ajouter un émoji à la dédicace">
1739                                <button class="dedication-emoji-button" type="button" data-emoji="❤️" aria-label="Cœur">❤️</button>
1740                                <button class="dedication-emoji-button" type="button" data-emoji="😍" aria-label="Visage amoureux">😍</button>
1741                                <button class="dedication-emoji-button" type="button" data-emoji="😂" aria-label="Visage qui rit">😂</button>
1742                                <button class="dedication-emoji-button" type="button" data-emoji="🔥" aria-label="Feu">🔥</button>
1743                                <button class="dedication-emoji-button" type="button" data-emoji="🎶" aria-label="Musique">🎶</button>
1744                                <button class="dedication-emoji-button" type="button" data-emoji="🎉" aria-label="Fête">🎉</button>
1745                                <button class="dedication-emoji-button" type="button" data-emoji="👏" aria-label="Applaudissements">👏</button>
1746                                <button class="dedication-emoji-button" type="button" data-emoji="👍" aria-label="Pouce levé">👍</button>
1747                            </div>
1748                        </div>
1749                    </div>
1750                    <div class="modal-footer border-0">
1751                        <button type="submit" class="btn w-100 dedication-submit">
1752                            <span class="material-icons" aria-hidden="true">send</span>
1753                            <strong>Submit</strong>
1754                        </button>
1755                        <small>Votre message sera diffusé après validation.</small>
1756                    </div>
1757                </form>
1758            </div>
1759        </div>
1760    </div>
1761
1762    
1762<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
1762
1763    
1763<script src="https://radiosatellite.eu/assets/js/pjax.js"></script>
1763
1764    
1764<script src="https://radiosatellite.eu/assets/js/glider.min.js"></script>
1764
1765    
1765<script src="https://radiosatellite.eu/assets/js/topbar.min.js"></script>
1765
1766    
1766<script src="https://radiosatellite.eu/assets/js/playerBar.js?version=metadata-direct-20260916"></script>
1766
1767    
1767<script>
1768        const baseUrl = "https://siteradio.pro/";
1769        const domain = "https://radiosatellite.eu";
1770        const hostName = window.location.origin;
1771        const currentSlug = "";
1772        const siteId = "691479b079384";
1773        const lastPlayedText = "Latest played";
1774        const imageSlider = 1;
1775        const siteType = 1;
1776        const imageSliderEnabled = 0;
1777
1778        const txtLastPlayed = "Last Played";
1779        const txtCopyUrl = "Copy URL";
1780        const txtUrlCopied = "URL copied!";        
1781        const txtLive = "Live";
1782        const txtListening = "Listening";
1783        const txtPlayRadio = "Play radio";
1784        const txtStopRadio = "Stop radio";
1785        const txtSelectStream = "Seleact a Stream";
1786    </script>
1786
1787
1788    
1788<script>
1789        function getXHR(url, method = "GET", data = null) {
1790            return new Promise((resolve, reject) => {
1791                const xhr = new XMLHttpRequest();
1792                xhr.open(method, url, true);
1793
1794                xhr.onload = function () {
1795                    if (xhr.status >= 200 && xhr.status < 300) {
1796                        resolve(xhr.responseText);
1797                    } else {
1798                        reject({
1799                            status: xhr.status,
1800                            statusText: xhr.statusText,
1801                            response: xhr.responseText
1802                        });
1803                    }
1804                };
1805
1806                xhr.onerror = function () {
1807                    reject({ status: xhr.status, statusText: "Network Error" });
1808                };
1809
1810                if (data instanceof FormData) {
1811                    xhr.send(data);
1812                } else if (data) {
1813                    xhr.setRequestHeader("Content-Type", "application/json");
1814                    xhr.send(JSON.stringify(data));
1815                } else {
1816                    xhr.send();
1817                }
1818            });
1819        }
1820
1821        function getLikedSongs() {
1822            const stored = localStorage.getItem("likedSongs");
1823            if (!stored) return [];
1824            try {
1825                const parsed = JSON.parse(stored);
1826                return Array.isArray(parsed) ? parsed : [];
1827            } catch (err) {
1828                console.warn("Failed to parse likedSongs", err);
1829                return [];
1830            }
1831        }
1832
1833        function isSongLiked(songKey) {
1834            return getLikedSongs().some(s => s.key === songKey);
1835        }
1836
1837        function applyLikeIconState(icon, isLiked) {
1838            if (isLiked) {
1839                icon.setAttribute("data-action", "dislike");
1840                icon.style.color = "#ef0000";
1841            } else {
1842                icon.setAttribute("data-action", "like");
1843                icon.style.color = ""; 
1844            }
1845        }
1846
1847        function updateLocalStorageForSong(songKey, rel, siteId, shouldLike, songData = {}) {
1848            let likedSongs = getLikedSongs();
1849
1850            if (shouldLike) {
1851                const existsIndex = likedSongs.findIndex(s => s.key === songKey);
1852                const entry = {
1853                    key:     songKey,
1854                    rel:     rel.trim(),
1855                    siteId:  siteId,
1856                    artist:  songData.artist?.trim()  || "Undefined",
1857                    title:   songData.title?.trim()   || "Undefined",
1858                    album:   songData.album           || "Undefined",
1859                    artwork: songData.artwork         || "",
1860                    preview: songData.preview         || "",
1861                    likedAt: Date.now()
1862                };
1863
1864                if (existsIndex === -1) {
1865                    likedSongs.push(entry);
1866                } else {
1867                    likedSongs[existsIndex] = entry; 
1868                }
1869            } else {
1870                likedSongs = likedSongs.filter(s => s.key !== songKey);
1871            }
1872
1873            localStorage.setItem("likedSongs", JSON.stringify(likedSongs));
1874        }
1875
1876
1877        async function likeSong(likeIcon) {
1878            if (!likeIcon) return;
1879
1880            const hostName = window.location.origin;
1881            const songId  = likeIcon.dataset.songId;
1882            const siteId  = likeIcon.dataset.siteId;   
1883            const rel     = likeIcon.dataset.rel?.trim();
1884
1885            if (!songId || !siteId || !rel) {
1886                console.error("Missing required attributes: data-song-id, data-site-id, or data-rel");
1887                return;
1888            }
1889
1890            const songKey     = `${rel}|||${siteId}`;
1891            const getSongUrl  = `${hostName}/api/getsong/${songId}`;
1892            const likeSongUrl = `${hostName}/api/likesong`;
1893
1894            const action     = likeIcon.getAttribute("data-action");
1895            const shouldLike = action === "like";
1896
1897            const wasLikedBeforeClick = isSongLiked(songKey);
1898
1899            applyLikeIconState(likeIcon, shouldLike);
1900
1901            try {
1902                const res = await fetch(getSongUrl);
1903                if (!res.ok) throw new Error(`getSong failed: ${res.status}`);
1904
1905                const song = await res.json();
1906                if (!song || song.error) throw new Error("Song not found");
1907
1908                updateLocalStorageForSong(songKey, rel, siteId, shouldLike, song);
1909
1910                const formData = new FormData();
1911                formData.append("artist",  song.artist  || "Undefined");
1912                formData.append("title",   song.title   || "Undefined");
1913                formData.append("album",   song.album   || "Undefined");
1914                formData.append("artwork", song.artwork || "");
1915                formData.append("preview", song.preview || "");
1916                formData.append("siteId",  song.site_id || siteId);
1917                formData.append("rel",     rel);
1918                formData.append("action",  action);
1919
1920                await getXHR(likeSongUrl, "POST", formData);
1921
1922                syncAllLikeButtonsWithStorage();
1923
1924            } catch (err) {
1925                console.error("likeSong failed:", err);
1926                applyLikeIconState(likeIcon, wasLikedBeforeClick);
1927            }
1928        }
1929
1930        function syncAllLikeButtonsWithStorage() {
1931            const likeButtons = document.querySelectorAll(
1932                'div.like.material-icons.icon-like[data-song-id][data-site-id][data-rel][data-action]'
1933            );
1934
1935            if (likeButtons.length === 0) {
1936                console.log("syncAllLikeButtonsWithStorage: No matching like buttons found");
1937                return;
1938            }
1939
1940            const likedSongs = getLikedSongs();
1941
1942            likeButtons.forEach(button => {
1943                const rel    = button.dataset.rel?.trim();
1944                const siteId = button.dataset.siteId;
1945
1946                if (!rel || !siteId) {
1947                    console.warn("Button missing rel or site-id:", button.outerHTML);
1948                    applyLikeIconState(button, false);
1949                    return;
1950                }
1951
1952                const songKey = `${rel}|||${siteId}`;
1953                const isLiked = likedSongs.some(s => s.key === songKey);
1954
1955                applyLikeIconState(button, isLiked);
1956            });
1957        }
1958
1959
1960        function injectNewsMetaTags() {
1961			const isNewsPage = 
1962				window.location.pathname.startsWith('/news/') ||
1963				window.location.pathname.startsWith('/article/') ||
1964				document.body.classList.contains('news-post') ||
1965				document.querySelector('.news-article, article.post-type-news') ||
1966				window.newsPostData !== undefined;
1967
1968			if (!isNewsPage || !window.newsPostData) return;
1969
1970			const head = document.head;
1971			const data = window.newsPostData;
1972
1973			const existingMeta = head.querySelectorAll(
1974				'meta[property^="og:"], meta[property^="article:"], meta[name^="twitter:"]'
1975			);
1976			existingMeta.forEach(el => el.remove());
1977
1978			const url = window.location.href.split('#')[0].split('?')[0];
1979
1980			const tags = [
1981				{ property: "og:title", content: data.title },
1982				{ property: "og:description", content: data.description },
1983				{ property: "og:image", content: data.image.startsWith('http') ? data.image : window.location.origin + data.image },
1984				{ property: "og:url", content: url },
1985				{ property: "og:type", content: "article" },
1986				{ property: "og:site_name", content: "Your Site Name" },
1987				{ property: "article:published_time", content: new Date().toISOString() },
1988				{ name: "twitter:card", content: "summary_large_image" },
1989				{ name: "twitter:title", content: data.title },
1990				{ name: "twitter:description", content: data.description },
1991				{ name: "twitter:image", content: data.image.startsWith('http') ? data.image : window.location.origin + data.image }
1992			];
1993
1994			tags.forEach(tag => {
1995				const meta = document.createElement('meta');
1996				if (tag.property) meta.setAttribute('property', tag.property);
1997				if (tag.name) meta.setAttribute('name', tag.name);
1998				meta.setAttribute('content', tag.content);
1999				head.appendChild(meta);
2000			});
2001		}
2002
2003        let previousCount = 0;
2004
2005        function decodeHtmlEntities(str) {
2006            const txt = document.createElement('textarea');
2007            txt.innerHTML = str;
2008            return txt.value;
2009        }
2010
2011        async function fetchAndScrollDedications(siteId, containerClass, speed = 75) {
2012            const originalUrl = `https://siteradio.pro/api/dedications/${siteId}`;
2013            const url = `${window.location.origin}/api/dedications/${siteId}`;
2014
2015            try {
2016                const response = await fetch(url);
2017                if (!response.ok) {
2018                    throw new Error(`HTTP error! Status: ${response.status}`);
2019                }
2020
2021                const json = await response.json();
2022                const data = Array.isArray(json.data) ? json.data : [];
2023
2024                const container = document.querySelector(`.${containerClass}`);
2025                if (!container) return null;
2026
2027                container.innerHTML = '';
2028
2029                const wrapper = document.createElement('div');
2030                wrapper.className = 'scroll-text';
2031
2032                data.forEach((item) => {
2033                    const dedicationItem = document.createElement('span');
2034                    dedicationItem.className = 'dedication-item';
2035
2036                    const nameSpan = document.createElement('span');
2037                    nameSpan.className = 'name';
2038                    nameSpan.textContent = decodeHtmlEntities(item.name || 'Anonyme');
2039
2040                    const msgSpan = document.createElement('span');
2041                    msgSpan.className = 'msg';
2042                    msgSpan.textContent = decodeHtmlEntities(item.message || '');
2043
2044                    dedicationItem.appendChild(nameSpan);
2045                    dedicationItem.appendChild(msgSpan);
2046                    wrapper.appendChild(dedicationItem);
2047                });
2048
2049                if (!wrapper.innerHTML.trim()) {
2050                    const emptyState = document.createElement('span');
2051                    emptyState.className = 'dedication-empty';
2052                    emptyState.textContent = 'Soyez le premier à envoyer une dédicace';
2053                    container.appendChild(emptyState);
2054                    return null;
2055                }
2056
2057                wrapper.innerHTML += wrapper.innerHTML;
2058
2059                container.appendChild(wrapper);
2060
2061                await document.fonts.ready;
2062                await new Promise(requestAnimationFrame);
2063
2064                const containerWidth = container.clientWidth;
2065                const textWidth = wrapper.scrollWidth / 2;
2066
2067                let position = containerWidth;
2068                let lastTime = null;
2069                let isPaused = false;
2070                let isHovered = false;
2071                let isFocused = false;
2072                const bar = container.closest('.dc-bar-wpr');
2073
2074                const updatePauseState = () => {
2075                    const shouldPause = isHovered || isFocused;
2076                    if (isPaused === shouldPause) return;
2077                    isPaused = shouldPause;
2078                    bar?.classList.toggle('is-paused', isPaused);
2079                    container.classList.toggle('is-paused', isPaused);
2080                    container.setAttribute('aria-label', isPaused
2081                        ? 'Dédicaces en pause. Appuyez pour écrire un message.'
2082                        : 'Lire les dédicaces et écrire un message');
2083                    if (!isPaused) lastTime = null;
2084                };
2085
2086                container.addEventListener('mouseenter', () => {
2087                    isHovered = true;
2088                    updatePauseState();
2089                });
2090                container.addEventListener('mouseleave', () => {
2091                    isHovered = false;
2092                    updatePauseState();
2093                });
2094                container.addEventListener('focusin', () => {
2095                    isFocused = true;
2096                    updatePauseState();
2097                });
2098                container.addEventListener('focusout', () => {
2099                    isFocused = false;
2100                    updatePauseState();
2101                });
2102                container.addEventListener('click', () => openDedicationModal());
2103                container.addEventListener('keydown', (event) => {
2104                    if (event.key !== 'Enter' && event.key !== ' ') return;
2105                    event.preventDefault();
2106                    openDedicationModal();
2107                });
2108
2109                function animate(timestamp) {
2110                    if (!lastTime) lastTime = timestamp;
2111
2112                    const delta = (timestamp - lastTime) / 1000;
2113                    lastTime = timestamp;
2114
2115                    if (isPaused) {
2116                        requestAnimationFrame(animate);
2117                        return;
2118                    }
2119
2120                    position -= speed * delta;
2121
2122                    if (position <= -textWidth) {
2123                        position += textWidth;
2124                    }
2125
2126                    wrapper.style.transform = `translateX(${position}px)`;
2127                    requestAnimationFrame(animate);
2128                }
2129
2130                requestAnimationFrame(animate);
2131
2132                return data;
2133
2134            } catch (error) {
2135                console.error('Error fetching dedications:', error);
2136                return null;
2137            }
2138        }
2139
2140        fetchAndScrollDedications(siteId, 'scroll-container', 75);
2141
2142        const dedicationMessageInput = document.getElementById('messageInput');
2143        const dedicationCharacterCount = document.getElementById('dedicationCharacterCount');
2144        const updateDedicationCharacterCount = () => {
2145            if (!dedicationMessageInput || !dedicationCharacterCount) return;
2146            dedicationCharacterCount.textContent = `${dedicationMessageInput.value.length} / ${dedicationMessageInput.maxLength}`;
2147        };
2148
2149        dedicationMessageInput?.addEventListener('input', updateDedicationCharacterCount);
2150        document.getElementById('exampleForm')?.addEventListener('reset', () => {
2151            window.setTimeout(updateDedicationCharacterCount, 0);
2152        });
2153
2154        document.querySelectorAll('.dedication-emoji-button').forEach((button) => {
2155            button.addEventListener('click', () => {
2156                const messageInput = dedicationMessageInput;
2157                if (!messageInput) return;
2158
2159                const emoji = button.dataset.emoji || '';
2160                const start = messageInput.selectionStart ?? messageInput.value.length;
2161                const end = messageInput.selectionEnd ?? start;
2162                const nextLength = messageInput.value.length - (end - start) + emoji.length;
2163                if (messageInput.maxLength > 0 && nextLength > messageInput.maxLength) return;
2164
2165                messageInput.setRangeText(emoji, start, end, 'end');
2166                messageInput.dispatchEvent(new Event('input', { bubbles: true }));
2167                messageInput.focus({ preventScroll: true });
2168            });
2169        });
2170
2171        updateDedicationCharacterCount();
2172    </script>
2172
2173
2174    
2174<script>  
2175        document.querySelectorAll('.element-post a').forEach(link => {
2176            link.setAttribute('target', '_blank');
2177            link.setAttribute('rel', 'noopener noreferrer');
2178        });
2179
2180        function copyCurrentUrl() {
2181            const url = window.location.href;
2182            const newsCopyBtn = document.getElementById("copyUrl");
2183            const tooltip = bootstrap.Tooltip.getInstance(newsCopyBtn);
2184
2185            navigator.clipboard.writeText(url)
2186                .then(() => {
2187                    newsCopyBtn.setAttribute("title", txtUrlCopied);
2188                    newsCopyBtn.setAttribute("data-bs-original-title", txtUrlCopied);
2189
2190                    if (tooltip) {
2191                        tooltip.setContent({
2192                            '.tooltip-inner': txtUrlCopied
2193                        });
2194                        tooltip.show();
2195                    }
2196
2197                    setTimeout(() => {
2198                        newsCopyBtn.setAttribute("title", txtCopyUrl);
2199                        newsCopyBtn.setAttribute("data-bs-original-title", txtCopyUrl);
2200                        if (tooltip) tooltip.setContent({
2201                            '.tooltip-inner': txtCopyUrl
2202                        });
2203                    }, 2000);
2204
2205                })
2206                .catch(err => console.error("Failed to copy: ", err));
2207        }
2208
2209        document.addEventListener("DOMContentLoaded", function() {
2210            const newsCopyBtn = document.getElementById("copyUrl");
2211            if (newsCopyBtn) {
2212                new bootstrap.Tooltip(newsCopyBtn, {
2213                    trigger: 'manual'
2214                });
2215            }
2216        });
2217
2218        if (!('ontouchstart' in document.documentElement)) {
2219            const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
2220            tooltipTriggerList.map(el => new bootstrap.Tooltip(el));
2221        }
2222
2223    function openDedicationModal({
2224            openBtn,
2225            modalId = "formModal",
2226            formId = "exampleForm",
2227            apiUrl = domain + "/api/insertdedication"
2228    } = {}) {
2229
2230        const modalElement = document.getElementById(modalId);
2231        const form = document.getElementById(formId);
2232
2233        if (!modalElement || !form) {
2234            console.warn("Dedication modal: required elements not found");
2235            return;
2236        }
2237
2238        const modal = new bootstrap.Modal(modalElement);
2239        const modalBody = modalElement.querySelector(".modal-body");
2240
2241        let alertContainer = document.getElementById("formAlert");
2242        if (!alertContainer) {
2243            alertContainer = document.createElement("div");
2244            alertContainer.id = "formAlert";
2245            alertContainer.className = "dedication-alert d-none";
2246            alertContainer.setAttribute("role", "status");
2247            alertContainer.setAttribute("aria-live", "polite");
2248            modalBody.prepend(alertContainer);
2249        }
2250
2251        modalElement.addEventListener('shown.bs.modal', () => {
2252            document.getElementById('nameInput')?.focus({ preventScroll: true });
2253        }, { once: true });
2254        modal.show();
2255        alertContainer.className = "dedication-alert d-none";
2256
2257        if (!form.dataset.bound) {
2258            form.dataset.bound = "1";
2259
2260            form.addEventListener("submit", async (e) => {
2261                e.preventDefault();
2262                alertContainer.className = "dedication-alert d-none";
2263
2264                const formData = new FormData(form);
2265
2266                try {
2267                    const response = await fetch(apiUrl, {
2268                        method: "POST",
2269                        body: formData
2270                    });
2271
2272                    const resultText = await response.text();
2273
2274                    if (response.status === 400) {
2275                        alertContainer.textContent = resultText;
2276                        alertContainer.className = "dedication-alert is-error";
2277                        return;
2278                    }
2279
2280                    if (response.status === 200) {
2281                        alertContainer.textContent = resultText;
2282                        alertContainer.className = "dedication-alert is-success";
2283
2284                        setTimeout(() => {
2285                            modal.hide();
2286                            form.reset();
2287                            alertContainer.classList.add("d-none");
2288                        }, 3000);
2289                    }
2290
2291                } catch (err) {
2292                    console.error("API Error:", err);
2293                    alertContainer.textContent = "An unexpected error occurred.";
2294                    alertContainer.className = "dedication-alert is-error";
2295                }
2296            });
2297        }
2298    }
2299
2300    </script>
2300
2301    
2301<script>
2302        const
2303            pjax = new Pjax({
2304                cacheBust: false,
2305                selectors: ["title", "#main"]
2306            });
2307
2308        var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
2309        var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) {
2310            return new bootstrap.Tooltip(tooltipTriggerEl)
2311        })
2312    </script>
2312
2313
2314
2315    
2315<script>
2316        var p1 = new playerBar({ target: "#p1", cors: siteId === "68e0c75498256" ? "/vibe-metadata.php?url=" : "/api/radio-metadata?url=" });
2317
2318                    window.p1.getStreamDataInterval('https://manager10.streamradio.fr:1775', 'stream', 'ic', 'https://manager10.streamradio.fr:1760', '1',  '0', 'evc', '691479b079546', '0', 'everestcast');
2319        
2320        console.log(
2321  "Liked songs from localStorage:",
2322  JSON.parse(localStorage.getItem("likedSongs") || "[]")
2323);
2324    </script>
2324
2325
2326    
2326<script>
2327        document.addEventListener('submit', function(e) {
2328            // Only run for #contactForm
2329            if (e.target && e.target.id === 'contactForm') {
2330                e.preventDefault();
2331                e.stopImmediatePropagation();
2332
2333                const form = e.target;
2334                const formData = new FormData(form);
2335
2336                fetch(form.action, {
2337                        method: 'POST',
2338                        body: formData
2339                    })
2340                    .then(res => res.json())
2341                    .then(data => {
2342                        const successEl = document.getElementById('email-success');
2343                        const fields = ['name', 'email', 'subject', 'message'];
2344
2345                        fields.forEach(f => {
2346                            const el = document.getElementById('error-' + f);
2347                            if (el) el.textContent = data.errors && data.errors[f] ? data.errors[f] : '';
2348                        });
2349
2350                        if (data.status === 'success') {
2351                            if (successEl) successEl.classList.remove('d-none');
2352                            form.reset();
2353                        } else if (data.status === 'error') {
2354                            if (successEl) successEl.classList.add('d-none');
2355                        }
2356                    });
2357            }
2358        }, true);
2359
2360        function loadTurnstile() {
2361            if (typeof turnstile !== 'undefined') {
2362
2363                const container = document.querySelector('#turnstile-container');
2364
2365                if (container) {
2366                    container.innerHTML = '';
2367
2368                    turnstile.render(container, {
2369                        sitekey: container.dataset.sitekey
2370                    });
2371                }
2372            }
2373        }
2374
2375        function homePodcastsSlider() {
2376            const glide = new Glide('.home-podcasts-slider', {
2377                type: 'slider',
2378                startAt: 0,
2379                perView: 5,
2380                bound: true,
2381                gap: 25,
2382                breakpoints: {
2383                    800: {
2384                        perView: 2
2385                    },
2386                    600: {
2387                        perView: 2
2388                    }
2389                }
2390            });
2391
2392            glide.mount();
2393        }
2394
2395        function homeImageSlider() {
2396            const sliderEl = document.querySelector('.home-image-slider');
2397            const totalSlides = sliderEl.querySelectorAll('.glide__slide').length;
2398
2399            const leftArrow = sliderEl.querySelector('.glide__arrow--left');
2400            const rightArrow = sliderEl.querySelector('.glide__arrow--right');
2401
2402            const glide = new Glide('.home-image-slider', {
2403                type: 'slider',
2404                startAt: 0,
2405                perView: 3,
2406                bound: true,
2407                gap: 25,
2408                breakpoints: {
2409                    800: {
2410                        perView: 2
2411                    },
2412                    600: {
2413                        perView: 1
2414                    }
2415                }
2416            });
2417
2418            glide.mount();
2419
2420            let rightArrowClicked = false;
2421
2422			rightArrow.addEventListener('click', () => {
2423				rightArrowClicked = true;
2424				if (!leftArrow.classList.contains('show')) {
2425					leftArrow.classList.add('show');
2426				}
2427			});
2428
2429			glide.on('run.after', () => {
2430				// Handle left arrow visibility
2431				if (glide.index === 0) {
2432					leftArrow.classList.remove('show');
2433					rightArrowClicked = false;
2434				} else if (!leftArrow.classList.contains('show')) {
2435					leftArrow.classList.add('show');
2436				}
2437
2438				// Handle right arrow visibility
2439				const perView = glide.settings.perView; // Get current perView value
2440				if (glide.index >= totalSlides - perView) {
2441					rightArrow.classList.add('hidden');
2442				} else {
2443					rightArrow.classList.remove('hidden');
2444				}
2445			});
2446        }
2447
2448        function homeSponsorsSlider() {
2449            const sliderEl = document.querySelector('.home-sponsors-slider');
2450            const totalSlides = sliderEl.querySelectorAll('.glide__slide').length;
2451
2452            const leftArrow = sliderEl.querySelector('.glide__arrow--left');
2453            const rightArrow = sliderEl.querySelector('.glide__arrow--right');
2454
2455            if (totalSlides <= 5) {
2456                if (leftArrow) leftArrow.style.display = 'none';
2457                if (rightArrow) rightArrow.style.display = 'none';
2458            }
2459
2460            if (totalSlides <= 1) return;
2461
2462            const glide = new Glide(sliderEl, {
2463                type: 'slider',
2464                startAt: 0,
2465                perView: 5,
2466                gap: 25,
2467                bound: true,
2468                breakpoints: {
2469                    800: {
2470                        perView: 2
2471                    },
2472                    600: {
2473                        perView: 2
2474                    }
2475                }
2476            });
2477
2478            glide.mount();
2479
2480            if (totalSlides > 5) {
2481                rightArrow.addEventListener('click', () => {
2482                    if (!leftArrow.classList.contains('show')) leftArrow.classList.add('show');
2483                });
2484
2485                glide.on('run.after', () => {
2486                    const perView = glide.settings.perView;
2487
2488                    if (glide.index === 0) {
2489                        leftArrow.classList.remove('show');
2490                    } else {
2491                        leftArrow.classList.add('show');
2492                    }
2493
2494                    if (glide.index >= totalSlides - perView) {
2495                        rightArrow.classList.remove('show');
2496                    } else {
2497                        rightArrow.classList.add('show');
2498                    }
2499                });
2500            }
2501        }
2502
2503        document.addEventListener('pjax:send', () => {
2504            topbar.config({
2505                autoRun: true,
2506                barThickness: 3,
2507                barColors: {
2508                    '0': '#B48AFF',
2509                    '.3': '#B48AFF',
2510                    '1.0': '#B48AFF'
2511                },
2512                shadowBlur: 3,
2513                shadowColor: 'rgba(0, 0, 0, .2)',
2514                className: 'topbar',
2515            })
2516            topbar.show();
2517        });
2518
2519        document.addEventListener('pjax:complete', () => {
2520            topbar.hide();
2521
2522            const path = window.location.pathname;            
2523            const cleanPath = path.replace(/\/$/, ''); 
2524            const pb = document.querySelector('.playerBar');
2525            const homeWidgetsWpr = document.querySelector('.home-widgets-wpr');
2526            const homeImageSliderEle = document.querySelector('.home-image-slider');
2527            const podcastsSliderEle = document.querySelector('.home-podcasts-slider');
2528            const sponsorsSliderEle = document.querySelector('.home-sponsors-slider');
2529
2530            if (!pb || !homeWidgetsWpr) return;
2531
2532            const bodyPpBtnId = pb.getAttribute('data-body-ppbtn');
2533
2534            if (cleanPath.startsWith('/news/') && cleanPath !== '/news') {
2535                injectNewsMetaTags();
2536            }
2537
2538            if (cleanPath.startsWith('/contact')) {
2539                loadTurnstile();
2540            }       
2541            
2542            if (cleanPath.startsWith('/music')) {
2543                syncAllLikeButtonsWithStorage();
2544            } 
2545
2546            if (path === '/') {
2547                homeWidgetsWpr.classList.remove('dn');
2548                if (sponsorsSliderEle) {
2549                    homeSponsorsSlider('.home-sponsors-slider');
2550                }
2551                if (podcastsSliderEle) {
2552                    homePodcastsSlider();
2553                }
2554                if (homeImageSliderEle) {
2555                    homeImageSlider();
2556                }
2557            } else {
2558                homeWidgetsWpr.classList.add('dn');
2559                if (bodyPpBtnId) {
2560                    const bodyPpBtn = document.querySelector(`#${bodyPpBtnId}`);
2561                    if (bodyPpBtn) {
2562                        bodyPpBtn.dataset.loaded = 'true';
2563                        bodyPpBtn.dataset.playing = 'true';
2564                        bodyPpBtn.textContent = 'pause';
2565                    }
2566                }
2567            }
2568        });
2569    </script>
2569
2570
2571    
2571<script>
2572        function customSelectHandle() {
2573            const elements = document.querySelectorAll('.custom-select-wpr, .custom-select-links, .custom-select-selected');
2574            elements.forEach(el => el.classList.toggle('open'));
2575        }
2576
2577        document.addEventListener("DOMContentLoaded", function () {
2578            const toggler = document.querySelector(".navbar-toggler");
2579            const navbarCollapse = document.getElementById("navbarCollapse");
2580
2581            if (toggler && navbarCollapse) {
2582
2583                navbarCollapse.addEventListener("show.bs.collapse", function () {
2584                toggler.classList.add("open");
2585                document.body.classList.add("navbar-open"); // 🔒 lock scroll
2586                });
2587
2588                navbarCollapse.addEventListener("hide.bs.collapse", function () {
2589                toggler.classList.remove("open");
2590                document.body.classList.remove("navbar-open"); // 🔓 unlock scroll
2591                });
2592            }
2593
2594            document
2595                .querySelectorAll('.navbar-collapse .nav-link, .navbar-collapse .dropdown-item')
2596                .forEach(link => {
2597                link.addEventListener('click', function () {
2598
2599                    // Ignore dropdown toggle
2600                    if (this.matches('[data-bs-toggle="dropdown"]')) return;
2601
2602                    const bsCollapse = bootstrap.Collapse.getInstance(navbarCollapse);
2603                    if (bsCollapse) {
2604                    bsCollapse.hide();
2605                    }
2606                });
2607            });
2608        });
2609
2610        function updateAddressBarHeight() {
2611        const barHeight = window.visualViewport
2612            ? window.innerHeight - window.visualViewport.height
2613            : 0;
2614
2615        document.documentElement.style.setProperty(
2616            '--address-bar-height',
2617            `${barHeight}px`
2618        );
2619        }
2620
2621        updateAddressBarHeight();
2622
2623        window.addEventListener('resize', updateAddressBarHeight);
2624        window.visualViewport?.addEventListener('resize', updateAddressBarHeight);
2625        window.visualViewport?.addEventListener('scroll', updateAddressBarHeight);
2626
2627    </script>
2627
2628
2629    
2629<script src="/assets/js/vibe-language-menu.js?version=2.2.0-mobile-menu"></script>
2629</body>
2630
2631</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.