

{"id":447,"date":"2024-11-02T17:38:56","date_gmt":"2024-11-02T16:38:56","guid":{"rendered":"https:\/\/radiostreamr.com\/radio-france\/?p=447"},"modified":"2024-11-03T16:45:19","modified_gmt":"2024-11-03T15:45:19","slug":"ecoutez-en-direct-fip","status":"publish","type":"post","link":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/","title":{"rendered":"FIP \ud83c\udfb6 &#8211; Ecoutez en direct les Webradios gratuitement"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"447\" class=\"elementor elementor-447\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dce457e e-con-full e-flex e-con e-parent\" data-id=\"dce457e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f9be1c 1995 elementor-widget elementor-widget-html\" data-id=\"9f9be1c\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"1995\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html><html><head>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'self' https:; script-src 'self' https: 'unsafe-inline' 'unsafe-eval'; style-src 'self' https: 'unsafe-inline'; img-src 'self' https: data:;\">\n<meta http-equiv=\"X-Frame-Options\" content=\"DENY\">\n<meta http-equiv=\"X-XSS-Protection\" content=\"1; mode=block\">\n<meta http-equiv=\"X-Content-Type-Options\" content=\"nosniff\">\n<meta http-equiv=\"Referrer-Policy\" content=\"strict-origin-when-cross-origin\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@300;400;700&amp;display=swap\" rel=\"stylesheet\">\n<link href=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/css\/select2.min.css\" rel=\"stylesheet\">\n<style>\n  .pacific-web-radios {\n    font-family: 'Roboto', sans-serif;\n    margin: 0;\n    padding: 0;\n    background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);\n    background-size: 400% 400%;\n    animation: gradientBG 15s ease infinite;\n    color: #ffffff;\n    width: 100vw;\n    margin-left: -50vw;\n    left: 50%;\n    position: relative;\n    overflow-x: hidden;\n  }\n  .pacific-web-radios @keyframes gradientBG {\n    0% {\n      background-position: 0% 50%;\n    }\n    50% {\n      background-position: 100% 50%;\n    }\n    100% {\n      background-position: 0% 50%;\n    }\n  }\n  .pacific-web-radios .first-block {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    position: relative;\n    overflow: hidden;\n    min-height: 100vh;\n    padding-bottom: 60px;\n  }\n  .pacific-web-radios .first-block::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background-color: rgba(0, 0, 0, 0.5);\n    z-index: 1;\n  }\n  .pacific-web-radios .background-slideshow {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    z-index: 0;\n  }\n  .pacific-web-radios .slide {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    opacity: 0;\n    transition: opacity 1s ease-in-out;\n    background-size: cover;\n    background-position: center;\n  }\n  .pacific-web-radios .slide.active {\n    opacity: 1;\n  }\n  .pacific-web-radios .first-block-content {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    width: 90%;\n    max-width: 800px;\n    padding: 20px;\n    position: relative;\n    z-index: 2;\n    border-radius: 10px;\n    margin: 0 auto;\n    padding-bottom: 60px;\n  }\n  .pacific-web-radios .content-wrapper {\n    padding-top: 50px;\n    padding-left: 250px;\n    padding-right: 250px;\n    width: 100%;\n    max-width: 100%;\n    margin: 0 auto;\n    box-sizing: border-box;\n  }\n  @media (max-width: 1024px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 40px;\n      padding-right: 40px;\n    }\n  }\n  @media (max-width: 600px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 15px;\n      padding-right: 15px;\n    }\n  }\n  .pacific-web-radios .first-block-content,\n  .pacific-web-radios #results-container {\n    width: 100%;\n    max-width: 100%;\n    margin: 0 auto\n    padding-left: 15px;\n    padding-right: 15px;\n  }\n  .pacific-web-radios .search-and-filter-container {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    width: 100%;\n    flex-wrap: wrap;\n  }\n  .pacific-web-radios #search-container,\n  .pacific-web-radios #category-filter-container {\n    flex: 1;\n    display: flex;\n    justify-content: center;\n    margin: 5px;\n    min-width: 200px;\n  }\n  .pacific-web-radios .select2-container {\n    min-width: 200px !important;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple {\n    background-color: rgba(255, 255, 255, 0.1);\n    border: 2px solid #00ffff;\n    border-radius: 5px;\n    color: #ffffff;\n    padding: 10px;\n    font-size: 1em;\n    height: auto;\n    box-shadow: 0 0 10px #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__rendered,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__rendered {\n    color: #ffffff;\n    line-height: normal;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__arrow {\n    height: 100%;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice {\n    background-color: #00ffff;\n    color: #000;\n    border: none;\n    padding: 5px 10px;\n    border-radius: 15px;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {\n    color: #000;\n    margin-right: 5px;\n  }\n  .pacific-web-radios .select2-container--default .select2-search--inline .select2-search__field {\n    color: #ffffff;\n  }\n  .pacific-web-radios .select2-dropdown {\n    background-color: #2c2c2c;\n    border: 2px solid #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option--highlighted[aria-selected] {\n    background-color: #00ffff;\n    color: #000;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option[aria-selected=true] {\n    background-color: #008080;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {\n    color: #ffffff;\n  }\n  .pacific-web-radios .container {\n    max-width: none;\n    width: 100%;\n    padding: 20px;\n    text-align: center;\n    box-sizing: border-box;\n  }\n  .pacific-web-radios h1 {\n    text-align: center;\n    font-size: 2em;\n    margin-bottom: 20px;\n    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 10px #00ffff, 0 0 20px #00ffff, 0 0 30px #00ffff;\n  }\n  .pacific-web-radios .subtitle {\n    text-align: center;\n    max-width: 800px;\n    margin: 0 auto 20px;\n    font-size: 1em;\n    line-height: 1.5;\n    color: #ffffff;\n  }\n  .pacific-web-radios .results-count {\n    text-align: center;\n    margin: 60px 0 10px;\n    font-size: 1.1em;\n    color: #00ffff;\n  }\n  .pacific-web-radios .category-vignettes-container {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    margin: 20px 0;\n  }\n  .pacific-web-radios .category-vignettes {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n  }\n  .pacific-web-radios .tag-vignette {\n    display: inline-block;\n    background-color: rgba(0, 255, 255, 0.2);\n    color: #00ffff;\n    padding: 5px 10px;\n    margin: 5px;\n    border-radius: 15px;\n    font-size: 14px;\n    cursor: pointer;\n    transition: background-color 0.3s ease;\n  }\n  .pacific-web-radios .tag-vignette:hover {\n    background-color: rgba(0, 255, 255, 0.4);\n  }\n  .pacific-web-radios .tabs {\n    display: flex;\n    justify-content: center;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    z-index: 10;\n  }\n  .pacific-web-radios .tab {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 5px;\n    padding: 10px 20px;\n    background-color: transparent;\n    border: 2px solid #00ffff;\n    color: #00ffff;\n    cursor: pointer;\n    transition: background-color 0.3s, color 0.3s;\n  }\n  .pacific-web-radios .tab img {\n    width: 20px;\n    height: 20px;\n    filter: invert(1);\n  }\n  .pacific-web-radios .tab:hover, .pacific-web-radios .tab.active {\n    background-color: #00ffff;\n    color: #000;\n  }\n  .pacific-web-radios .tab:hover img, .pacific-web-radios .tab.active img {\n    filter: none;\n  }\n  .pacific-web-radios .tab:first-child {\n    border-top-left-radius: 5px;\n    border-bottom-left-radius: 5px;\n  }\n  .pacific-web-radios .tab:last-child {\n    border-top-right-radius: 5px;\n    border-bottom-right-radius: 5px;\n  }\n  .pacific-web-radios #results-container {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    margin-top: 20px;\n  }\n  .pacific-web-radios .station-card {\n    background-color: rgba(255, 255, 255, 0.1);\n    border-radius: 5px;\n    padding: 15px;\n    margin-bottom: 15px;\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n    align-items: center;\n    width: calc(20% - 10px);\n    box-sizing: border-box;\n    border: 1px solid #00ffff;\n    box-shadow: 0 0 10px rgba(0, 255, 255, 0.3);\n    position: relative;\n    overflow: hidden;\n  }\n  .pacific-web-radios .favorite-button {\n    position: absolute;\n    top: 10px;\n    right: 10px;\n    width: 30px;\n    height: 30px;\n    background-color: transparent;\n    border: none;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    background-image: url('https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-10.webp');\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-position: center;\n    transition: transform 0.2s;\n  }\n  .pacific-web-radios .favorite-button.active {\n    background-image: url('https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-11.webp');\n  }\n  .pacific-web-radios .favorite-button img {\n    display: none;\n  }\n  .pacific-web-radios .station-info {\n    width: 100%;\n    display: flex;\n    justify-content: center;\n    margin-bottom: 10px;\n  }\n  .pacific-web-radios .station-logo {\n    width: 80px;\n    height: 80px;\n    border-radius: 50%;\n    object-fit: cover;\n  }\n  .pacific-web-radios .station-details {\n    width: 100%;\n    text-align: center;\n  }\n  .pacific-web-radios .station-details h2 {\n    margin: 10px 0;\n    color: #ffffff;\n    font-size: 1.2em;\n  }\n  .pacific-web-radios .station-details p {\n    margin: 5px 0;\n    font-size: 0.9em;\n  }\n  .pacific-web-radios .play-button {\n    width: 40px;\n    height: 40px;\n    margin-top: 10px;\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50%;\n    cursor: pointer;\n    padding: 0;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    transition: background-color 0.3s ease;\n  }\n  .pacific-web-radios .play-button:hover {\n    background-color: #00cccc;\n  }\n  .pacific-web-radios .play-button img {\n    width: 20px;\n    height: 20px;\n    filter: invert(1);\n  }\n  .pacific-web-radios .search-and-filter-container {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    width: 100%;\n    flex-wrap: wrap;\n  }\n  .pacific-web-radios #search-container {\n    flex: 1;\n    display: flex;\n    justify-content: center;\n    margin-right: 10px;\n    min-width: 200px;\n  }\n  .pacific-web-radios #category-filter-container {\n    flex: 0 0 auto;\n    display: flex;\n    justify-content: center;\n    margin: 5px;\n    min-width: 150px;\n  }\n  .pacific-web-radios #search-input {\n    width: 100%;\n    padding: 10px;\n    font-size: 1em;\n    border: 2px solid #00ffff;\n    border-radius: 5px;\n    background-color: rgba(255, 255, 255, 0.1);\n    color: #ffffff;\n    box-shadow: 0 0 10px #00ffff;\n  }\n  .pacific-web-radios #search-input::placeholder {\n    color: #ffffff;\n  }\n  .pacific-web-radios #search-button {\n    padding: 10px;\n    font-size: 1em;\n    border: none;\n    border-radius: 5px;\n    background-color: #00ffff;\n    color: #000;\n    cursor: pointer;\n    transition: background-color 0.3s ease;\n    box-shadow: 0 0 10px #00ffff;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .pacific-web-radios #search-button img {\n    width: 20px;\n    height: 20px;\n    filter: invert(1);\n  }\n  .pacific-web-radios #search-button:hover {\n    background-color: #00cccc;\n  }\n  .pacific-web-radios .popular-radios-section {\n    margin-top: 40px;\n    background-color: rgba(255, 255, 255, 0.1);\n    border-radius: 10px;\n  }\n  @media (min-width: 1024px) {\n  .popular-radios-section {\n    padding: 50px 250px; \/* 50px pour le haut et le bas, 250px pour la gauche et la droite *\/\n  }\n}\n  @media (min-width: 768px) and (max-width: 1023px) {\n  .popular-radios-section {\n    padding: 35px; \/* 35px pour tous les c\u00f4t\u00e9s (haut, bas, gauche, droite) *\/\n  }\n}\n  @media (max-width: 767px) {\n  .popular-radios-section {\n    padding: 15px; \/* 15px pour tous les c\u00f4t\u00e9s (haut, bas, gauche, droite) *\/\n  }\n}\n  .pacific-web-radios .popular-radios-section h2 {\n    color: #00ffff;\n    font-size: 24px;\n    margin-bottom: 10px;\n  }\n  .pacific-web-radios .popular-radios-section h3 {\n    color: #ffffff;\n    font-size: 18px;\n    margin-bottom: 20px;\n  }\n  .pacific-web-radios #popular-radios-list-france {\n    list-style-type: none;\n    padding: 0;\n  }\n  @media (max-width: 767px) {\n  .pacific-web-radios #popular-radios-list-france {\n    text-align: center; \/* Centre le contenu des cartes *\/\n    justify-content: center; \/* Centre tout contenu flex interne si n\u00e9cessaire *\/\n  }\n}\n  .pacific-web-radios #popular-radios-list-france li {\n    margin-bottom: 10px;\n    padding: 10px;\n    background-color: rgba(0, 255, 255, 0.1);\n    border-radius: 5px;\n    cursor: pointer;\n    transition: background-color 0.3s ease;\n  }\n  .pacific-web-radios #popular-radios-list-france li:hover {\n    background-color: rgba(0, 255, 255, 0.2);\n  }\n  \/* Loading Animation styles *\/\n  .loading-animation {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    background-color: rgba(0, 0, 0, 0.7);\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n    z-index: 9999;\n  }\n  .spinner {\n    width: 50px;\n    height: 50px;\n    border: 5px solid #00ffff;\n    border-top: 5px solid transparent;\n    border-radius: 50%;\n    animation: spin 1s linear infinite;\n  }\n  @keyframes spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n  }\n  .loading-animation p {\n    margin-top: 20px;\n    color: #00ffff;\n    font-size: 18px;\n  }\n  \/* Modal styles *\/\n  .pacific-web-radios .modal {\n    display: none;\n    position: fixed;\n    z-index: 1000;\n    left: 0;\n    top: 0;\n    width: 100%;\n    height: 100%;\n    overflow: auto;\n    background-color: rgba(0,0,0,0.4);\n    backdrop-filter: blur(5px);\n  }\n  .pacific-web-radios .modal-content {\n    background-color: #2c2c2c;\n    padding: 30px;\n    border: 2px solid #00ffff;\n    width: 90%;\n    max-width: 500px;\n    max-height: 90vh;\n    border-radius: 20px;\n    text-align: center;\n    box-shadow: 0 0 30px rgba(0, 255, 255, 0.5);\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    overflow-y: auto;\n  }\n  .pacific-web-radios .modal-header {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    margin-bottom: 20px;\n  }\n  .pacific-web-radios #station-logo {\n    width: 150px;\n    height: 150px;\n    border-radius: 50%;\n    margin-bottom: 15px;\n    box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);\n  }\n  .pacific-web-radios #station-name {\n    margin-bottom: 5px;\n    color: #00ffff;\n    font-size: 24px;\n  }\n  .pacific-web-radios #station-country {\n    margin-bottom: 10px;\n    color: #ffffff;\n    font-size: 16px;\n  }\n  .pacific-web-radios #station-description {\n    margin-bottom: 15px;\n    color: #cccccc;\n    font-size: 14px;\n  }\n  .pacific-web-radios #station-tags {\n    margin-bottom: 10px;\n  }\n  .pacific-web-radios .tag-vignette {\n    display: inline-block;\n    background-color: rgba(0, 255, 255, 0.2);\n    color: #00ffff;\n    padding: 5px 10px;\n    margin: 2px;\n    border-radius: 15px;\n    font-size: 12px;\n    cursor: pointer;\n  }\n  .pacific-web-radios #station-info {\n    display: flex;\n    justify-content: center;\n    gap: 15px;\n    margin-bottom: 20px;\n    color: #00ffff;\n    font-size: 14px;\n  }\n  .pacific-web-radios #audio-controls {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    gap: 20px;\n  }\n  .pacific-web-radios .control-button {\n    width: 50px;\n    height: 50px;\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50%;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    transition: background-color 0.3s ease, transform 0.1s ease;\n  }\n  .pacific-web-radios .control-button:hover {\n    background-color: #00cccc;\n    transform: scale(1.1);\n  }\n  .pacific-web-radios .control-button img {\n    width: 25px;\n    height: 25px;\n    filter: invert(1);\n  }\n  .pacific-web-radios #volume-slider {\n    width: 120px;\n    accent-color: #00ffff;\n  }\n  .pacific-web-radios .close {\n    position: absolute;\n    top: 10px;\n    right: 20px;\n    color: #00ffff;\n    font-size: 35px;\n    font-weight: bold;\n    cursor: pointer;\n    transition: color 0.3s;\n  }\n  .pacific-web-radios .close:hover {\n    color: #00cccc;\n  }\n  \/* Select2 Styles *\/\n  .pacific-web-radios .select2-container {\n    min-width: 200px !important;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple {\n    background-color: rgba(255, 255, 255, 0.1);\n    border: 2px solid #00ffff;\n    border-radius: 5px;\n    color: #ffffff;\n    padding: 10px;\n    font-size: 1em;\n    height: auto;\n    box-shadow: 0 0 10px #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__rendered,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__rendered {\n    color: #ffffff;\n    line-height: normal;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single .select2-selection__arrow {\n    height: 100%;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice {\n    background-color: #00ffff;\n    color: #000;\n    border: none;\n    padding: 5px 10px;\n    border-radius: 15px;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {\n    color: #000;\n    margin-right: 5px;\n  }\n  .pacific-web-radios .select2-container--default .select2-search--inline .select2-search__field {\n    color: #ffffff;\n  }\n  .pacific-web-radios .select2-dropdown {\n    background-color: #2c2c2c;\n    border: 2px solid #00ffff;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option--highlighted[aria-selected] {\n    background-color: #00ffff;\n    color: #000;\n  }\n  .pacific-web-radios .select2-container--default .select2-results__option[aria-selected=true] {\n    background-color: #008080;\n  }\n  .pacific-web-radios .select2-container--default .select2-selection--single::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple::placeholder,\n  .pacific-web-radios .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {\n    color: #ffffff;\n  }\n  \/* Pagination styles *\/\n  .pacific-web-radios .pagination {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    margin-top: 20px;\n    margin-bottom: 50px;\n  }\n  .pacific-web-radios .round-button {\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    background-color: transparent;\n    border: 2px solid #00ffff;\n    color: #00ffff;\n    font-size: 16px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    cursor: pointer;\n    margin: 0 5px;\n    transition: all 0.3s ease;\n    box-shadow: 0 0 10px rgba(0, 255, 255, 0.3);\n  }\n  .pacific-web-radios .round-button:hover {\n    background-color: #00ffff;\n  }\n  .pacific-web-radios .round-button:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n  }\n  .pacific-web-radios #page-numbers {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n  }\n  .pacific-web-radios .page-number {\n    width: 30px;\n    height: 30px;\n    border-radius: 50%;\n    background-color: transparent;\n    border: 2px solid #00ffff;\n    color: #00ffff;\n    font-size: 14px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    cursor: pointer;\n    margin: 0 3px;\n    transition: all 0.4s ease;\n  }\n  .pacific-web-radios .page-number.active {\n    background-color: #00ffff;\n    color: #000;\n  }\n  \/* Update the existing media queries for mobile *\/\n  @media (max-width: 600px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 15px;\n      padding-right: 15px;\n      width: 100%;\n      box-sizing: border-box;\n    }\n    .pacific-web-radios .first-block-content,\n    .pacific-web-radios #results-container {\n      width: 100%;\n      padding-left: 15px;\n      padding-right: 15px;\n    }\n    .pacific-web-radios .station-card {\n      width: calc(100% - 30px);\n      margin-left: auto;\n      margin-right: auto;\n    }\n    .pacific-web-radios .search-and-filter-container {\n      flex-direction: column;\n      align-items: stretch;\n    }\n    .pacific-web-radios #search-container,\n    .pacific-web-radios #category-filter-container {\n      width: 100%;\n      margin: 5px 0;\n    }\n    .pacific-web-radios .select2-container {\n      width: 100% !important;\n    }\n  }\n  \/* Add a new media query for very small screens *\/\n  @media (max-width: 480px) {\n    .pacific-web-radios .content-wrapper {\n      padding-left: 10px;\n      padding-right: 10px;\n    }\n    .pacific-web-radios .first-block-content {\n      padding: 10px;\n    }\n    .pacific-web-radios .station-card {\n      width: calc(100% - 20px);\n      padding: 10px;\n    }\n  }\n  \/* Add this new CSS rule for the country flag *\/\n  .pacific-web-radios .country-flag {\n    width: 20px;\n    height: 15px;\n    object-fit: contain;\n    margin-right: 5px;\n    vertical-align: middle;\n  }\n  .pacific-web-radios .favorite-button img,\n  .pacific-web-radios .round-button img {\n    width: 20px;\n    height: 20px;\n    filter: invert(48%) sepia(94%) saturate(456%) hue-rotate(140deg) brightness(101%) contrast(101%);\n  }\n  .pacific-web-radios .favorite-button.active img {\n    filter: none;\n  }\n  .pacific-web-radios .round-button:disabled img {\n    opacity: 0.5;\n  }\n  .pacific-web-radios #chromecast-button {\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50%;\n    cursor: pointer;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    transition: background-color 0.3s ease, transform 0.1s ease;\n    width: 50px;\n    height: 50px;\n  }\n  .pacific-web-radios #chromecast-button:hover {\n    background-color: #00cccc;\n    transform: scale(1.1);\n  }\n  .pacific-web-radios #chromecast-button img {\n    width: 25px;\n    height: 25px;\n    filter: invert(1);\n  }\n  @keyframes zoomInOut {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.1); }\n  }\n  .background-slideshow .slide {\n    animation: zoomInOut 20s ease-in-out infinite;\n  }\n  .background-slideshow .slide:nth-child(2) {\n    animation-delay: -6.66s;\n  }\n  .background-slideshow .slide:nth-child(3) {\n    animation-delay: -13.33s;\n  }\n  .radio-presentation {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 2rem;\n    margin: 2rem 0;\n  }\n\n  .main-radio-logo {\n    width: 200px;\n    height: 200px;\n    border-radius: 50%;\n    box-shadow: 0 0 30px rgba(0, 255, 255, 0.5);\n  }\n\n  .play-button-large {\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n    padding: 1rem 2rem;\n    font-size: 1.2rem;\n    background-color: #00ffff;\n    border: none;\n    border-radius: 50px;\n    color: #000;\n    cursor: pointer;\n    transition: all 0.3s ease;\n  }\n\n  .play-button-large:hover {\n    background-color: #00cccc;\n    transform: scale(1.05);\n  }\n\n  .play-button-large img {\n    width: 24px;\n    height: 24px;\n    filter: invert(1);\n  }\n\n  .radio-history, .popular-shows {\n    margin: 4rem 0;\n    padding: 2rem;\n    background-color: rgba(0, 255, 255, 0.1);\n    border-radius: 10px;\n    box-shadow: 0 0 20px rgba(0, 255, 255, 0.2);\n  }\n\n  .shows-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n    gap: 2rem;\n    margin-top: 2rem;\n  }\n\n  .show-card {\n    padding: 1.5rem;\n    background-color: rgba(0, 0, 0, 0.3);\n    border: 1px solid #00ffff;\n    border-radius: 10px;\n    transition: all 0.3s ease;\n  }\n\n  .show-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 5px 15px rgba(0, 255, 255, 0.3);\n  }\n\n  .show-card h3 {\n    color: #00ffff;\n    margin-bottom: 0.5rem;\n  }\n\n  .show-card p {\n    color: #ffffff;\n    margin: 0.5rem 0;\n  }\n<\/style>\n<script src=\"https:\/\/www.gstatic.com\/cv\/js\/sender\/v1\/cast_sender.js?loadCastFramework=1\"><\/script>\n<\/head>\n<body>\n  <div class=\"pacific-web-radios\">\n    <div id=\"player-modal\" class=\"modal\">\n      <div class=\"modal-content\">\n  <span class=\"close\">\u00d7<\/span>\n  <div class=\"modal-header\">\n    <img decoding=\"async\" id=\"station-logo\" src=\"\" alt=\"Logo de la station\" class=\"station-logo\">\n    <h2 id=\"station-name\"><\/h2>\n    <p id=\"station-country\"><\/p>\n  <\/div>\n  <div id=\"station-info\">\n    <span id=\"station-tags\"><\/span>\n  <\/div>\n\n  <div id=\"audio-controls\">\n    <button id=\"play-pause\" class=\"control-button\">\n      <img decoding=\"async\" src=\"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-16.webp\" alt=\"Ic\u00f4ne de lecture\">\n    <\/button>\n    <input type=\"range\" id=\"volume-slider\" min=\"0\" max=\"1\" step=\"0.1\" value=\"1\">\n    <button id=\"chromecast-button\" class=\"control-button\">\n      <img decoding=\"async\" src=\"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-20.webp\" alt=\"Ic\u00f4ne Chromecast\" style=\"width: 16px; height: 16px;\">\n    <\/button>\n  <\/div>\n\n  <!-- Grille des programmes d\u00e9plac\u00e9e en derni\u00e8re position -->\n  <div class=\"program-grid\" style=\"margin-top: 20px; text-align: left; background: rgba(0,0,0,0.3); padding: 20px; border-radius: 10px;\">\n  <h3 style=\"color: #00ffff; text-align: center; margin-bottom: 15px;\">Grille des programmes<\/h3>\n  \n  <select id=\"day-selector\" style=\"width: 100%; padding: 10px; margin-bottom: 20px; background: rgba(255,255,255,0.9); color: black; border: 2px solid #00ffff; border-radius: 5px; cursor: pointer;\">\n    <option value=\"monday\">Lundi<\/option>\n    <option value=\"tuesday\">Mardi<\/option>\n    <option value=\"wednesday\">Mercredi<\/option>\n    <option value=\"thursday\">Jeudi<\/option>\n    <option value=\"friday\">Vendredi<\/option>\n    <option value=\"saturday\">Samedi<\/option>\n    <option value=\"sunday\">Dimanche<\/option>\n  <\/select>\n\n  <div id=\"schedule-content\" style=\"transition: opacity 0.3s ease;\">\n    <!-- Programme de la semaine -->\n    <div class=\"schedule\" data-days=\"monday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">Club Jazzafip - Jane Villenet<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">Sous les jupes de Fip - Emilie Blon-Metzinger et Luc Frelon<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme du mardi -->\n<div class=\"schedule\" data-days=\"tuesday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">Club Jazzafip - Jane Villenet<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">C'est Magnifip ! - Fr\u00e9d\u00e9rique Labussi\u00e8re<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme du mercredi -->\n<div class=\"schedule\" data-days=\"wednesday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">Club Jazzafip - Jane Villenet<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">Certains l'aiment Fip - Susana Poveda<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme du jeudi -->\n<div class=\"schedule\" data-days=\"thursday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">Club Jazzafip - Jane Villenet<\/span>\n  <\/div>\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">20:00 - 22:00<\/span>\n    <span style=\"color: #fff;\">Live \u00e0 Fip<\/span>\n  <\/div>\n<\/div>\n\n<!-- Programme du vendredi, samedi et dimanche -->\n<div class=\"schedule\" data-days=\"friday,saturday,sunday\" style=\"display: none;\">\n  <div class=\"schedule-item\" style=\"margin-bottom: 8px; display: flex;\">\n    <span style=\"color: #00ffff; min-width: 120px;\">19:00 - 20:00<\/span>\n    <span style=\"color: #fff;\">Club Jazzafip - Charlotte Bibring<\/span>\n<\/div>\n<\/div>\n  <\/div>\n\n  <script>\n    document.addEventListener('DOMContentLoaded', function() {\n      const daySelector = document.getElementById('day-selector');\n      const schedules = document.querySelectorAll('.schedule');\n      \n      \/\/ Fonction pour obtenir le jour actuel en anglais\n      function getCurrentDay() {\n        const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];\n        const today = new Date().getDay();\n        return days[today];\n      }\n      \n      \/\/ Fonction pour afficher le programme du jour s\u00e9lectionn\u00e9\n      function showSchedule(selectedDay) {\n        schedules.forEach(schedule => {\n          const days = schedule.getAttribute('data-days').split(',');\n          if (days.includes(selectedDay)) {\n            schedule.style.display = 'block';\n          } else {\n            schedule.style.display = 'none';\n          }\n        });\n      }\n      \n      \/\/ D\u00e9finir le jour actuel comme valeur par d\u00e9faut\n      const currentDay = getCurrentDay();\n      daySelector.value = currentDay;\n      \n      \/\/ Afficher le programme du jour actuel au chargement\n      showSchedule(currentDay);\n      \n      \/\/ \u00c9couter les changements de s\u00e9lection\n      daySelector.addEventListener('change', function() {\n        showSchedule(this.value);\n      });\n    });\n  <\/script>\n<\/div>\n<\/div>\n    <\/div>\n    <div class=\"first-block\">\n  <div class=\"background-slideshow\">\n    <div class=\"slide active\" style=\"background-image: url('https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcTGbfiWRb7pqKQ70suJoX4kw6rrpM4yDNL1mg&s');\"><\/div>\n    <div class=\"slide\" style=\"background-image: url('https:\/\/cloudfront-eu-central-1.images.arcpublishing.com\/leparisien\/DXRKO2ICRRQY7UJ2PF6VOW3SQ4.jpg');\"><\/div>\n    <div class=\"slide\" style=\"background-image: url('https:\/\/www.radiofrance.fr\/s3\/cruiser-production-eu3\/2024\/07\/50013414-75c7-4949-aa09-ce1b879061d4\/560x315_sc_sc_lossopardo-2.jpg');\"><\/div>\n  <\/div>\n  <div class=\"content-wrapper\" style=\"@media (max-width: 767px) { padding-left: 15px; padding-right: 15px; }\">\n    <div class=\"first-block-content\">\n      <h1>\u00c9couter radio en ligne FIP en direct gratuitement<\/h1>\n      <div class=\"radio-presentation\">\n  <img decoding=\"async\" src=\"https:\/\/api.theatredelaville-paris.com\/assets\/w300-h300-q70\/4c672c18\/fip_logo.png\" alt=\"Logo RTL\" class=\"main-radio-logo\">\n\n  <button id=\"listen-live\" class=\"play-button-large\" style=\"animation: vibrate 1s infinite;\">\n    <img decoding=\"async\" src=\"https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-16.webp\" alt=\"\u00c9couter en direct\">\n    \u00c9couter en direct\n  <\/button>\n\n<button onclick=\"document.querySelector('.popular-radios-section h2').scrollIntoView({behavior: 'smooth'});\" class=\"play-button-large\" style=\"background-color: #00cccc;\">\n  <img decoding=\"async\" src=\"https:\/\/api.theatredelaville-paris.com\/assets\/w300-h300-q70\/4c672c18\/fip_logo.png\" alt=\"Voir les webradios\" style=\"width: 24px; height: 24px; border-radius: 50%; background-color: white; padding: 2px;\">\n  Toutes les Webradios\n<\/button>\n  \n  <div class=\"social-share-buttons\" style=\"display: flex; gap: 15px; margin: 20px 0;\">\n    <!-- X (Twitter) -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/twitter.com\/intent\/tweet?text=' + encodeURIComponent('\u00c9coutez FIP en direct - La radio \u00e9clectique et sans publicit\u00e9 ! \ud83c\udfb5 #FIP #RadioFrance') + '&amp;url=' + encodeURIComponent(window.location.href), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #000; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur X (Twitter)\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n        <path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\"><\/path>\n      <\/svg>\n    <\/a>\n\n    <!-- WhatsApp -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/api.whatsapp.com\/send?text=' + encodeURIComponent('D\u00e9couvrez FIP, la radio \u00e9clectique et sans publicit\u00e9 ! \ud83c\udfb5 Une programmation musicale unique et \u00e9clectique : ' + window.location.href), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #25D366; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur WhatsApp\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n        <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.151-.174.2-.298.3-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"><\/path>\n      <\/svg>\n    <\/a>\n\n    <!-- Facebook -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/www.facebook.com\/sharer\/sharer.php?u=' + encodeURIComponent(window.location.href) + '&amp;quote=' + encodeURIComponent('Rejoignez FIP, la radio qui cultive l\\'\u00e9clectisme ! \ud83c\udfb5 D\u00e9couvrez une programmation musicale unique, sans publicit\u00e9 et passionnante.'), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #1877F2; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur Facebook\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n        <path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"><\/path>\n      <\/svg>\n    <\/a>\n\n    <!-- LinkedIn -->\n    <a href=\"javascript:void(0)\" onclick=\"window.open('https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=' + encodeURIComponent(window.location.href) + '&amp;title=' + encodeURIComponent('FIP - La radio \u00e9clectique') + '&amp;summary=' + encodeURIComponent('D\u00e9couvrez FIP, la radio qui cultive l\\'\u00e9clectisme musical ! Une programmation unique et passionnante, sans publicit\u00e9.'), '_blank', 'width=550,height=420')\" class=\"social-button\" style=\"background: #0A66C2; border-radius: 50%; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; position: relative;\" title=\"Partager sur LinkedIn\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n        <path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"><\/path>\n      <\/svg>\n    <\/a>\n  <\/div>\n\n  <img decoding=\"async\" src=\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/10\/radio-online-chromecast.webp\" alt=\"Radio Online Chromecast\" style=\"height: 90px; margin: 10px 0;\">\n<\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n    <div class=\"content-wrapper\">\n      <section class=\"radio-history\" style=\"text-align: center; padding: 40px; margin: 40px auto;\">\n  <h2 style=\"color: #00ffff; font-size: 2.5em; margin-bottom: 30px; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5); @media (max-width: 767px) { font-size: 25px; }\">FIP : Une exp\u00e9rience musicale unique depuis 1971<\/h2>\n\n  <div style=\"display: flex; justify-content: center; gap: 20px; margin-bottom: 30px; flex-wrap: wrap;\">\n    <a href=\"https:\/\/www.facebook.com\/fipradio\" target=\"_blank\" style=\"display: flex; align-items: center; padding: 10px 20px; background: #1877f2; color: white; text-decoration: none; border-radius: 5px; transition: all 0.3s ease; transform: scale(1); box-shadow: 0 4px 15px rgba(24, 119, 242, 0.2); margin: 5px;\" onmouseover=\"this.style.transform='scale(1.05)'; this.style.boxShadow='0 6px 20px rgba(24, 119, 242, 0.4)'\" onmouseout=\"this.style.transform='scale(1)'; this.style.boxShadow='0 4px 15px rgba(24, 119, 242, 0.2)'\">\n      <svg style=\"width: 24px; height: 24px; margin-right: 10px;\" fill=\"white\" viewBox=\"0 0 24 24\">\n        <path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"><\/path>\n      <\/svg>\n      Facebook\n    <\/a>\n\n    <a href=\"https:\/\/www.instagram.com\/fipradio\/\" target=\"_blank\" style=\"display: flex; align-items: center; padding: 10px 20px; background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d); color: white; text-decoration: none; border-radius: 5px; transition: all 0.3s ease; transform: scale(1); box-shadow: 0 4px 15px rgba(193, 53, 132, 0.2); margin: 5px;\" onmouseover=\"this.style.transform='scale(1.05)'; this.style.boxShadow='0 6px 20px rgba(193, 53, 132, 0.4)'\" onmouseout=\"this.style.transform='scale(1)'; this.style.boxShadow='0 4px 15px rgba(193, 53, 132, 0.2)'\">\n      <svg style=\"width: 24px; height: 24px; margin-right: 10px;\" fill=\"white\" viewBox=\"0 0 24 24\">\n        <path d=\"M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.897 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.897-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z\"><\/path>\n      <\/svg>\n      Instagram\n    <\/a>\n\n    <a href=\"https:\/\/www.fip.fr\/\" target=\"_blank\" style=\"display: flex; align-items: center; padding: 10px 20px; background: #00ffff; color: black; text-decoration: none; border-radius: 5px; transition: all 0.3s ease; transform: scale(1); box-shadow: 0 4px 15px rgba(0, 255, 255, 0.2); margin: 5px;\" onmouseover=\"this.style.transform='scale(1.05)'; this.style.boxShadow='0 6px 20px rgba(0, 255, 255, 0.4)'\" onmouseout=\"this.style.transform='scale(1)'; this.style.boxShadow='0 4px 15px rgba(0, 255, 255, 0.2)'\">\n      <svg style=\"width: 24px; height: 24px; margin-right: 10px;\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n        <path d=\"M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm1 16.057v-3.057h2.994c-.059 1.143-.212 2.24-.456 3.279-.823-.12-1.674-.188-2.538-.222zm1.957 2.162c-.499 1.33-1.159 2.497-1.957 3.456v-3.62c.666.028 1.319.081 1.957.164zm-1.957-7.219v-3.015c.868-.034 1.721-.103 2.548-.224.238 1.027.389 2.111.446 3.239h-2.994zm0-5.014v-3.661c.806.969 1.471 2.15 1.971 3.496-.642.084-1.3.137-1.971.165zm2.703-3.267c1.237.496 2.354 1.228 3.29 2.146-.642.234-1.311.442-2.019.607-.344-.992-.775-1.91-1.271-2.753zm-7.241 13.56c-.244-1.039-.398-2.136-.456-3.279h2.994v3.057c-.865.034-1.714.102-2.538.222zm2.538 1.776v3.62c-.798-.959-1.458-2.126-1.957-3.456.638-.083 1.291-.136 1.957-.164zm-2.994-7.055c.057-1.128.207-2.212.446-3.239.827.121 1.68.19 2.548.224v3.015h-2.994zm1.024-5.179c.5-1.346 1.165-2.527 1.97-3.496v3.661c-.671-.028-1.329-.081-1.97-.165zm-2.005-.35c-.708-.165-1.377-.373-2.018-.607.937-.918 2.053-1.65 3.29-2.146-.496.844-.927 1.762-1.272 2.753zm-.549 1.918c-.264 1.151-.434 2.36-.492 3.611h-3.933c.165-1.658.739-3.197 1.617-4.518.88.361 1.816.67 2.808.907zm.009 9.262c-.988.236-1.92.542-2.797.9-.89-1.328-1.471-2.879-1.637-4.551h3.934c.058 1.265.231 2.488.5 3.651zm.553 1.917c.342.976.768 1.881 1.257 2.712-1.223-.49-2.326-1.211-3.256-2.115.636-.229 1.299-.435 1.999-.597zm9.924 0c.7.163 1.362.367 1.999.597-.931.903-2.034 1.625-3.257 2.116.489-.832.915-1.737 1.258-2.713zm.553-1.917c.27-1.163.442-2.386.501-3.651h3.934c-.167 1.672-.748 3.223-1.638 4.551-.877-.358-1.81-.664-2.797-.9zm.501-5.651c-.058-1.251-.229-2.46-.492-3.611.992-.237 1.929-.546 2.809-.907.877 1.321 1.451 2.86 1.616 4.518h-3.933z\"><\/path>\n      <\/svg>\n      Site Web\n    <\/a>\n  <\/div>\n\n  <div style=\"display: flex; justify-content: center; margin-bottom: 30px;\">\n    <div style=\"display: inline-block; padding: 15px 30px; border: 2px solid #00ffff; border-radius: 10px; background-color: rgba(0, 255, 255, 0.1); box-shadow: 0 0 20px rgba(0, 255, 255, 0.5); margin-bottom: 30px;\">\n      <span style=\"font-size: 24px; color: #00ffff;\">Audience quotidienne moyenne<\/span>\n      <div style=\"font-size: 36px; font-weight: bold; color: #ffffff; margin-top: 10px;\">180 000<\/div>\n    <\/div>\n  <\/div>\n\n  <div style=\"display: flex; justify-content: center; gap: 20px; margin: 20px 0;\">\n    <div style=\"display: inline-block; padding: 25px; border: 2px solid #00ffff; border-radius: 50%; background-color: rgba(0, 255, 255, 0.1); box-shadow: 0 0 20px rgba(0, 255, 255, 0.5); width: 150px; height: 150px; display: flex; flex-direction: column; justify-content: center; align-items: center;\">\n      <span style=\"font-size: 18px; color: #00ffff; margin-bottom: 5px;\">Cr\u00e9ation<\/span>\n      <strong style=\"font-size: 20px; color: #ffffff;\">1971<\/strong>\n    <\/div>\n    \n    <div style=\"display: inline-block; padding: 25px; border: 2px solid #00ffff; border-radius: 50%; background-color: rgba(0, 255, 255, 0.1); box-shadow: 0 0 20px rgba(0, 255, 255, 0.5); width: 150px; height: 150px; display: flex; flex-direction: column; justify-content: center; align-items: center;\">\n      <span style=\"font-size: 18px; color: #00ffff; margin-bottom: 5px;\">Fr\u00e9quence FM<\/span>\n      <strong style=\"font-size: 20px; color: #ffffff;\">105.1 MHz<\/strong>\n    <\/div>\n  <\/div>\n\n  <div style=\"display: flex; flex-wrap: wrap; gap: 30px; margin: 20px auto; max-width: 100%; padding: 20px 0;\">\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n      <svg style=\"width: 48px; height: 48px; margin-bottom: 15px; fill: #00ffff;\" viewBox=\"0 0 24 24\">\n        <path d=\"M3.24 6.15C2.51 6.43 2 7.17 2 8v12c0 1.1.89 2 2 2h16c1.11 0 2-.9 2-2V8c0-1.11-.89-2-2-2H8.3l8.26-3.34L15.88 1 3.24 6.15zM7 20c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm13-8h-2v-2h-2v2H4V8h16v4z\"><\/path>\n        <circle cx=\"7\" cy=\"17\" r=\"2\"><\/circle>\n      <\/svg>\n      <h3 style=\"color: #00ffff; margin-bottom: 15px;\">1971-1985 : Les origines de FIP<\/h3>\n      <p>FIP voit le jour en 1971 sous l'impulsion de Jean Garretto et Pierre Codou. D\u00e8s ses d\u00e9buts, la radio se distingue par sa programmation \u00e9clectique et son concept innovant : diffuser de la musique sans interruption publicitaire, entrecoup\u00e9e uniquement d'informations pratiques sur Paris. Cette approche unique fait de FIP une pionni\u00e8re dans le paysage radiophonique fran\u00e7ais, offrant aux auditeurs une exp\u00e9rience d'\u00e9coute in\u00e9dite et raffin\u00e9e.<\/p>\n    <\/div>\n\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n      <svg style=\"width: 48px; height: 48px; margin-bottom: 15px; fill: #00ffff;\" viewBox=\"0 0 24 24\">\n        <path d=\"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3h-6z\"><\/path>\n      <\/svg>\n      <h3 style=\"color: #00ffff; margin-bottom: 15px;\">1985-2000 : L'\u00e2ge d'or de l'\u00e9clectisme<\/h3>\n      <p>Cette p\u00e9riode marque l'expansion de FIP et la consolidation de son identit\u00e9 musicale unique. La station d\u00e9veloppe sa signature sonore distinctive en m\u00e9langeant avec expertise jazz, musiques du monde, rock, classique et chanson fran\u00e7aise. Les programmateurs de FIP, v\u00e9ritables artisans du son, cr\u00e9ent des encha\u00eenements musicaux subtils et surprenants qui deviennent la marque de fabrique de la radio.<\/p>\n    <\/div>\n\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n      <svg style=\"width: 48px; height: 48px; margin-bottom: 15px; fill: #00ffff;\" viewBox=\"0 0 24 24\">\n        <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z\"><\/path>\n      <\/svg>\n      <h3 style=\"color: #00ffff; margin-bottom: 15px;\">2000-2020 : L'\u00e8re num\u00e9rique<\/h3>\n      <p>FIP entre dans le XXIe si\u00e8cle en adaptant son concept aux nouvelles technologies. La radio d\u00e9veloppe sa pr\u00e9sence en ligne, lance ses webradios th\u00e9matiques (FIP Jazz, FIP Rock, FIP Groove...) et propose des podcasts enrichis. Cette \u00e9volution permet \u00e0 FIP de toucher un public plus large tout en conservant son exigence de qualit\u00e9 et son esprit d'ouverture musicale.<\/p>\n    <\/div>\n\n    <div style=\"background: rgba(0, 255, 255, 0.1); padding: 25px; border-radius: 15px; border: 1px solid rgba(0, 255, 255, 0.3); text-align: center; flex: 1 1 300px;\">\n      <svg style=\"width: 48px; height: 48px; margin-bottom: 15px; fill: #00ffff;\" viewBox=\"0 0 24 24\">\n        <path d=\"M15.9,18.5l1.7-2.6c0.2-0.3,0-0.7-0.3-0.7H14c-0.2,0-0.3,0.1-0.4,0.2l-1.7,2.6c-0.2,0.3,0,0.7,0.3,0.7h3.3 C15.7,18.7,15.8,18.6,15.9,18.5z M16.9,9.9l-4.2-6.5C12.5,3.1,12.3,3,12,3s-0.5,0.1-0.7,0.4L7.1,9.9c-0.2,0.3-0.2,0.7,0,1 C7.3,11,7.6,11.2,8,11.2h8c0.4,0,0.7-0.2,0.9-0.3C17.1,10.6,17.1,10.2,16.9,9.9z M3,21h18c0.6,0,1-0.4,1-1s-0.4-1-1-1H3 c-0.6,0-1,0.4-1,1S2.4,21,3,21z\"><\/path>\n      <\/svg>\n      <h3 style=\"color: #00ffff; margin-bottom: 15px;\">2020-aujourd'hui : Innovation continue<\/h3>\n      <p>Aujourd'hui, FIP poursuit sa mission d'excellence musicale en touchant quotidiennement plus de 650 000 auditeurs. La radio continue d'innover avec des formats originaux, des playlists expertes et une exp\u00e9rience d'\u00e9coute enrichie. FIP reste fid\u00e8le \u00e0 ses valeurs fondatrices : proposer une programmation musicale pointue et \u00e9clectique, sans publicit\u00e9, tout en explorant de nouvelles fa\u00e7ons de partager sa passion pour la musique avec son public.<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n      <section class=\"popular-shows\">\n  <h2 style=\"text-align: center;\">Les \u00e9missions incontournables de FIP<\/h2>\n  <div class=\"shows-grid\">\n    <div class=\"show-card\" style=\"text-align: center;\">\n      <div style=\"text-align: center;\">\n        <img decoding=\"async\" src=\"https:\/\/api.theatredelaville-paris.com\/assets\/w300-h300-q70\/4c672c18\/fip_logo.png\" alt=\"Programme Musical FIP\" style=\"width: 120px; height: 120px; border-radius: 50%; margin-bottom: 15px; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); display: inline-block;\">\n      <\/div>\n      <h3 style=\"text-align: center;\">Le Programme Musical FIP<\/h3>\n      <p style=\"text-align: center;\"><strong>Du lundi au dimanche, 24h\/24<\/strong><\/p>\n      <p style=\"text-align: center;\">D\u00e9couvrez l'\u00e9clectisme musical l\u00e9gendaire de FIP \u00e0 travers une programmation unique et soigneusement \u00e9labor\u00e9e. Les programmateurs de FIP cr\u00e9ent des encha\u00eenements surprenants et harmonieux entre jazz, musiques du monde, rock, classique et chanson fran\u00e7aise. Cette s\u00e9lection musicale pointue, r\u00e9alis\u00e9e par des experts passionn\u00e9s, offre aux auditeurs une exp\u00e9rience d'\u00e9coute enrichissante et sans publicit\u00e9. Un voyage musical continu qui fait la renomm\u00e9e de FIP depuis plus de 50 ans.<\/p>\n    <\/div>\n\n    <div class=\"show-card\" style=\"text-align: center;\">\n      <div style=\"text-align: center;\">\n        <img decoding=\"async\" src=\"https:\/\/api.theatredelaville-paris.com\/assets\/w300-h300-q70\/4c672c18\/fip_logo.png\" alt=\"Club Jazzafip\" style=\"width: 120px; height: 120px; border-radius: 50%; margin-bottom: 15px; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); display: inline-block;\">\n      <\/div>\n      <h3 style=\"text-align: center;\">Club Jazzafip<\/h3>\n      <p style=\"text-align: center;\"><strong>Du lundi au vendredi, 19h-20h<\/strong><\/p>\n      <p style=\"text-align: center;\">Plongez dans l'univers fascinant du jazz avec Club Jazzafip, l'\u00e9mission quotidienne d\u00e9di\u00e9e aux amateurs de jazz sous toutes ses formes. Des standards intemporels aux d\u00e9couvertes contemporaines, en passant par le jazz fusion et le be-bop, cette \u00e9mission explore la richesse du genre \u00e0 travers des s\u00e9lections th\u00e9matiques, des focus sur les artistes embl\u00e9matiques et les nouveaux talents. Une heure de programmation experte qui fait la part belle \u00e0 l'histoire du jazz et \u00e0 son \u00e9volution.<\/p>\n    <\/div>\n\n    <div class=\"show-card\" style=\"text-align: center;\">\n      <div style=\"text-align: center;\">\n        <img decoding=\"async\" src=\"https:\/\/api.theatredelaville-paris.com\/assets\/w300-h300-q70\/4c672c18\/fip_logo.png\" alt=\"Live \u00e0 Fip\" style=\"width: 120px; height: 120px; border-radius: 50%; margin-bottom: 15px; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 15px rgba(0, 255, 255, 0.3); display: inline-block;\">\n      <\/div>\n      <h3 style=\"text-align: center;\">Live \u00e0 Fip<\/h3>\n      <p style=\"text-align: center;\"><strong>Sessions live exceptionnelles<\/strong><\/p>\n      <p style=\"text-align: center;\">Vivez l'intensit\u00e9 de la musique live avec les sessions exclusives de Live \u00e0 Fip. Cette \u00e9mission sp\u00e9ciale propose des performances uniques enregistr\u00e9es dans les conditions du direct, mettant en lumi\u00e8re des artistes de tous horizons. Des concerts intimistes aux sessions acoustiques, en passant par des collaborations in\u00e9dites, Live \u00e0 Fip offre une exp\u00e9rience musicale authentique et privil\u00e9gi\u00e9e. Une vitrine exceptionnelle pour d\u00e9couvrir les artistes dans leur expression la plus pure et spontan\u00e9e.<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"presenter-profile\" style=\"padding: 40px 0; background-color: rgba(0, 255, 255, 0.1); margin-top: 40px; border-radius: 10px;\">\n  <h2 style=\"text-align: center; color: #00ffff; margin-bottom: 30px;\">B\u00e9r\u00e9nice Ravache : La Visionnaire qui Guide FIP vers l'Avenir<\/h2>\n  <div style=\"display: flex; gap: 30px; padding: 0 20px; flex-wrap: wrap; justify-content: center; align-items: center;\">\n    <img decoding=\"async\" src=\"https:\/\/acteurspublics.fr\/media\/cache\/default_nomination_highlight\/upload\/media\/default\/0001\/37\/81db3bf83e7998837d4d2e235b5bf049c0daff66.jpeg\" alt=\"B\u00e9r\u00e9nice Ravache Portrait\" style=\"width: 200px; height: 200px; border-radius: 50%; object-fit: cover; border: 3px solid #00ffff; box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);\">\n    <div style=\"flex: 1; min-width: 300px; max-width: 600px;\">\n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify; margin-bottom: 15px;\">\n        B\u00e9r\u00e9nice Ravache incarne le renouveau et la continuit\u00e9 de FIP, une station qu'elle dirige avec passion et vision depuis plusieurs ann\u00e9es. Forte d'une solide formation en journalisme et d'une riche exp\u00e9rience dans les m\u00e9dias, elle a su apporter un souffle nouveau \u00e0 cette radio mythique tout en pr\u00e9servant son ADN unique.\n      <\/p>\n      \n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify; margin-bottom: 15px;\">\n        Sous sa direction, FIP a connu une transformation num\u00e9rique majeure avec le lancement de webradios th\u00e9matiques innovantes : FIP Jazz, FIP Rock, FIP Groove, FIP Monde, FIP Nouveaut\u00e9s et FIP Reggae. Cette diversification a permis d'\u00e9largir l'offre musicale tout en maintenant l'exigence de qualit\u00e9 qui caract\u00e9rise la station depuis sa cr\u00e9ation en 1971.\n      <\/p>\n\n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify; margin-bottom: 15px;\">\n        \"FIP est une radio unique au monde, avec une programmation \u00e9clectique qui fait voyager les auditeurs \u00e0 travers les genres et les \u00e9poques\", explique B\u00e9r\u00e9nice Ravache. Sous son impulsion, la station a su pr\u00e9server sa singularit\u00e9 - notamment ses voix embl\u00e9matiques et ses encha\u00eenements musicaux audacieux - tout en s'adaptant aux nouveaux modes d'\u00e9coute num\u00e9riques.\n      <\/p>\n\n      <p style=\"color: #ffffff; line-height: 1.8; text-align: justify;\">\n        Son leadership a permis \u00e0 FIP de renforcer sa position de r\u00e9f\u00e9rence culturelle, touchant quotidiennement plus de 650 000 auditeurs. La station continue d'attirer un public fid\u00e8le et exigeant, s\u00e9duit par une programmation sans fronti\u00e8res qui m\u00eale avec \u00e9l\u00e9gance jazz, classique, rock, musiques du monde et d\u00e9couvertes contemporaines.\n      <\/p>\n      \n      <p style=\"color: #00ffff; margin-top: 20px; font-size: 0.9em;\">\n        Sources : \n        <a href=\"https:\/\/www.radiofrance.fr\/\" target=\"_blank\" style=\"color: #00ffff; text-decoration: underline;\">Radio France<\/a>,\n        <a href=\"https:\/\/www.lalettre.pro\/\" target=\"_blank\" style=\"color: #00ffff; text-decoration: underline;\">La Lettre Pro de la Radio<\/a>,\n        <a href=\"https:\/\/www.strategies.fr\/\" target=\"_blank\" style=\"color: #00ffff; text-decoration: underline;\">Strat\u00e9gies<\/a>\n      <\/p>\n    <\/div>\n  <\/div>\n<\/section>\n    <\/div>\n\n    <div id=\"loading-animation\" class=\"loading-animation\" style=\"display: none;\">\n      <div class=\"spinner\"><\/div>\n      <p>Chargement des stations de radio...<\/p>\n    <\/div>\n    \n    <div class=\"popular-radios-section\" style=\" box-sizing: border-box;\">\n      <h2 style=\"text-align: center;\">Stations de radio similaires en France<\/h2>\n      <h3 style=\"text-align: center; display: flex; justify-content: center; align-items: center;\">\nToutes les Webradios FIP \u00e0 \u00e9couter en direct et en illimit\u00e9 :\n<\/h3>\n      <ul id=\"popular-radios-list-france\" style=\"list-style-type: none; padding: 0;\">\n        <li style=\"margin-bottom: 10px; padding: 10px; background-color: rgba(0, 255, 255, 0.1); border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease;\">\n          <img decoding=\"async\" src=\"path-to-logo.png\" alt=\"Radio Logo\" style=\"width: 65px; height: 65px; margin-right: 10px; border-radius: 50%; vertical-align: middle; box-shadow: 0 0 15px #00ffff;\">\n          <span style=\"text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff; font-size: 1.5em;\">Nom de la radio<\/span>\n          <p class=\"radio-description\" style=\"margin-top: 5px; color: #cccccc;\">Description de la radio<\/p>\n        <\/li>\n      <\/ul>\n      <style>\n        #popular-radios-list-france li img {\n          width: 65px !important;\n          height: 65px !important;\n        }\n        #popular-radios-list-france li span {\n          text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff;\n          font-weight: 500;\n          font-size: 1.5em;\n        }\n      <\/style>\n      <script>\n        function fetchPopularRadios() {\n          const popularRadiosFrance = [\n            { \n              name: \"FIP - Nantes\",\n          url: \"https:\/\/direct.fipradio.fr\/live\/fipnantes-midfi.mp3\",\n          description: \"FIP - Nantes est la radio id\u00e9ale pour d\u00e9couvrir une programmation musicale \u00e9clectique, diffus\u00e9e en direct et en ligne. Retrouvez un m\u00e9lange unique de jazz, rock, chanson fran\u00e7aise, musiques du monde, et bien plus encore, tout en profitant de l'identit\u00e9 culturelle et artistique de Nantes. Cette station vous accompagne tout au long de la journ\u00e9e avec une s\u00e9lection de morceaux soigneusement choisis, qui surprennent et inspirent \u00e0 chaque \u00e9coute. \u00c9coutez gratuitement FIP - Nantes et laissez-vous emporter par des sons vari\u00e9s, des d\u00e9couvertes musicales et des classiques revisit\u00e9s, le tout dans une ambiance relaxante et authentique.\",\n          favicon: \"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/16\/FIP_logo_2021.svg\/1200px-FIP_logo_2021.svg.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP - Bordeaux\",\n          url: \"https:\/\/direct.fipradio.fr\/live\/fipbordeaux-midfi.mp3\",\n          description: \"FIP - Bordeaux est la radio qui vous accompagne avec une s\u00e9lection musicale \u00e9clectique et raffin\u00e9e, diffus\u00e9e en direct et en ligne. D\u00e9couvrez une programmation m\u00ealant jazz, rock, chanson fran\u00e7aise, et musiques du monde, le tout ponctu\u00e9 par l'identit\u00e9 culturelle de Bordeaux. Cette station vous propose une ambiance d\u00e9contract\u00e9e et originale, id\u00e9ale pour des moments de d\u00e9tente ou pour d\u00e9couvrir de nouveaux horizons musicaux. \u00c9coutez gratuitement FIP - Bordeaux et laissez-vous surprendre par des sons vari\u00e9s, des d\u00e9couvertes et des morceaux qui vous transportent dans un univers musical riche et diversifi\u00e9.\",\n          favicon: \"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/16\/FIP_logo_2021.svg\/1200px-FIP_logo_2021.svg.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP - Strasbourg\",\n          url: \"https:\/\/direct.fipradio.fr\/live\/fipstrasbourg-midfi.mp3\",\n          description: \"FIP - Strasbourg est la radio id\u00e9ale pour d\u00e9couvrir une s\u00e9lection musicale vari\u00e9e et \u00e9l\u00e9gante, diffus\u00e9e en direct et en ligne. Profitez d'une programmation qui m\u00eale jazz, rock, musiques du monde, et chanson fran\u00e7aise, tout en refl\u00e9tant l'identit\u00e9 culturelle riche de Strasbourg. Cette station propose une ambiance raffin\u00e9e et apaisante, parfaite pour s'\u00e9vader et explorer de nouveaux horizons musicaux. \u00c9coutez gratuitement FIP - Strasbourg et laissez-vous emporter par des d\u00e9couvertes inattendues et des classiques intemporels, le tout dans une atmosph\u00e8re d\u00e9tendue et authentique.\",\n          favicon: \"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/1\/16\/FIP_logo_2021.svg\/1200px-FIP_logo_2021.svg.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Electro\",\n          url: \"https:\/\/direct.fipradio.fr\/live\/fip-webradio8.mp3\",\n          description: \"FIP - Electro est la radio parfaite pour les amateurs de musique \u00e9lectronique, diffus\u00e9e en direct et en ligne. Plongez dans un univers de beats entra\u00eenants et de m\u00e9lodies hypnotiques, avec une s\u00e9lection soigneusement \u00e9labor\u00e9e de house, techno, ambient, et bien plus encore. Retrouvez des artistes embl\u00e9matiques de la sc\u00e8ne \u00e9lectro ainsi que des talents \u00e9mergents qui repoussent les fronti\u00e8res du genre. \u00c9coutez gratuitement FIP - Electro et laissez-vous emporter par des sons \u00e9lectroniques captivants qui cr\u00e9ent une atmosph\u00e8re vibrante et moderne, id\u00e9ale pour se d\u00e9tendre ou se laisser porter par le rythme.\",\n          favicon: \"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcT_YqQmfKn1qJu9onlLb8ol_O1hxf7nDxH4xw&s\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Groove\",\n          url: \"https:\/\/icecast.radiofrance.fr\/fipgroove-midfi.mp3\",\n          description: \"FIP - Groove est la radio id\u00e9ale pour les amoureux des rythmes funky et groovy, diffus\u00e9e en direct et en ligne. Plongez dans un m\u00e9lange irr\u00e9sistible de funk, soul, jazz, et R&B, avec des morceaux qui vous feront bouger la t\u00eate et taper du pied. Retrouvez des l\u00e9gendes comme James Brown, Curtis Mayfield, Stevie Wonder, ainsi que des talents contemporains qui continuent de faire vivre l'esprit du groove. \u00c9coutez gratuitement FIP - Groove et laissez-vous emporter par une programmation musicale envo\u00fbtante, parfaite pour insuffler une dose de bonne humeur \u00e0 vos journ\u00e9es et vous accompagner tout au long de la semaine.\",\n          favicon: \"https:\/\/www.allzicradio.com\/media\/radios\/fip-groove.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"RFM - Le Hit RFM\",\n          url: \"https:\/\/rfm.lmn.fm\/rfm-wr7.mp3\",\n          description: \"RFM - Le Hit RFM est la radio qui vous propose de d\u00e9couvrir les titres les plus populaires du moment, diffus\u00e9e en direct et en ligne. Plongez dans une s\u00e9lection des meilleurs hits actuels, avec des artistes phares tels que Ed Sheeran, Dua Lipa, Imagine Dragons, et plus encore. Cette station vous permet de rester \u00e0 la pointe des nouveaut\u00e9s musicales avec les titres les plus \u00e9cout\u00e9s et appr\u00e9ci\u00e9s de la semaine. \u00c9coutez gratuitement RFM - Le Hit RFM et profitez d'une programmation dynamique qui vous tient inform\u00e9 des tendances musicales actuelles, o\u00f9 que vous soyez.\",\n          favicon: \"https:\/\/www.radio.fr\/300\/rfmhit.png?version=6ce0a04817d22921c47c1f1509d00700\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Hip Hop\",\n          url: \"https:\/\/icecast.radiofrance.fr\/fiphiphop-midfi.mp3\",\n          description: \"FIP - Hip Hop est la radio d\u00e9di\u00e9e aux passionn\u00e9s de culture urbaine, diffus\u00e9e en direct et en ligne. Retrouvez le meilleur du hip-hop avec des classiques incontournables et des nouveaut\u00e9s qui red\u00e9finissent le genre, des artistes l\u00e9gendaires comme Nas, Lauryn Hill, et Jay-Z, ainsi que des talents \u00e9mergents. Cette station propose une s\u00e9lection authentique, allant du rap old-school au hip-hop contemporain, offrant une vision diversifi\u00e9e et enrichissante de la sc\u00e8ne hip-hop. \u00c9coutez gratuitement FIP - Hip Hop et laissez-vous porter par les beats, les rimes et l'\u00e9nergie qui font vibrer la culture hip-hop.\",\n          favicon: \"https:\/\/rf-wp-farm-static-prod1.s3.eu-west-3.amazonaws.com\/wp-content\/la-mediatrice\/2022\/09\/SITE-FIP-HIP-HOP.jpg\",\n              isWebRadio: true\n            },\n            { \n              name: \"RFM - Musique Fra\u00eeche\",\n          url: \"https:\/\/stream.rfm.fr\/rfm-wr14.aac\",\n          description: \"RFM - Musique Fra\u00eeche est la radio qui vous fait d\u00e9couvrir les nouveaux sons et les artistes \u00e9mergents, diffus\u00e9e en direct et en ligne. Plongez dans une s\u00e9lection des derni\u00e8res nouveaut\u00e9s pop, rock, et \u00e9lectro, parfaite pour rester \u00e0 la pointe de l'actualit\u00e9 musicale. Retrouvez des morceaux innovants qui vous feront vibrer, avec des talents prometteurs et des artistes d\u00e9j\u00e0 en plein essor. \u00c9coutez gratuitement RFM - Musique Fra\u00eeche et laissez-vous surprendre par des titres modernes et captivants, qui apportent une touche de fra\u00eecheur \u00e0 votre quotidien musical.\",\n          favicon: \"https:\/\/m.media-amazon.com\/images\/I\/61riLYxwUAL.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Jazz\",\n          url: \"https:\/\/icecast.radiofrance.fr\/fipjazz-midfi.mp3\",\n          description: \"FIP - Jazz est la radio incontournable pour les amateurs de jazz, diffus\u00e9e en direct et en ligne. Plongez dans une s\u00e9lection musicale vari\u00e9e qui couvre tous les styles du jazz, du swing au bebop, en passant par le jazz contemporain et la fusion. Retrouvez des l\u00e9gendes telles que Miles Davis, John Coltrane, Ella Fitzgerald, ainsi que des artistes modernes qui continuent de faire \u00e9voluer le genre. \u00c9coutez gratuitement FIP - Jazz et laissez-vous emporter par des improvisations, des solos vibrants et l'\u00e9l\u00e9gance intemporelle qui caract\u00e9risent le jazz.\",\n          favicon: \"https:\/\/static.mytuner.mobi\/media\/tvos_radios\/6v9ru9rsqvkm.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Metal\",\n          url: \"https:\/\/icecast.radiofrance.fr\/fipmetal-midfi.mp3\",\n          description: \"FIP - Metal est la radio parfaite pour les passionn\u00e9s de sonorit\u00e9s puissantes, diffus\u00e9e en direct et en ligne. Plongez dans une programmation qui explore toutes les facettes du metal, du heavy metal classique au death metal, en passant par le thrash et le metal progressif. Retrouvez des l\u00e9gendes comme Metallica, Iron Maiden, Black Sabbath, ainsi que des groupes contemporains qui continuent de repousser les limites du genre. \u00c9coutez gratuitement FIP - Metal et laissez-vous emporter par des riffs d\u00e9vastateurs, des solos \u00e9piques et l'\u00e9nergie brute qui caract\u00e9rise la sc\u00e8ne metal.\",\n          favicon: \"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcRo0YbepSpQ34-4wM7z0dXD5pEvsjOKV2AlFA&s\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Monde\",\n          url: \"https:\/\/direct.fipradio.fr\/live\/fip-webradio4.mp3\",\n          description: \"FIP - Monde est la radio qui vous invite \u00e0 un voyage musical \u00e0 travers les cultures du monde, diffus\u00e9e en direct et en ligne. D\u00e9couvrez une s\u00e9lection \u00e9clectique de musiques du monde, allant des rythmes envo\u00fbtants de l'Afrique aux m\u00e9lodies entra\u00eenantes de l'Am\u00e9rique latine, en passant par les sonorit\u00e9s mystiques de l'Asie. Retrouvez des artistes incontournables et des talents \u00e9mergents qui vous feront d\u00e9couvrir des horizons musicaux nouveaux et fascinants. \u00c9coutez gratuitement FIP - Monde et laissez-vous transporter par la diversit\u00e9 et la richesse musicale qui font vibrer chaque coin du globe.\",\n          favicon: \"https:\/\/static.mytuner.mobi\/media\/tvos_radios\/d2aqtc8e4fv8.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Nouveaut\",\n          url: \"https:\/\/direct.fipradio.fr\/live\/fip-webradio5.mp3\",\n          description: \"FIP - Nouveaut\u00e9s est la radio qui vous fait d\u00e9couvrir les derni\u00e8res sorties musicales, diffus\u00e9e en direct et en ligne. Plongez dans une s\u00e9lection des meilleurs titres nouveaux, couvrant tous les genres, de la pop au rock, en passant par l'\u00e9lectro et le jazz. Retrouvez des artistes \u00e9mergents ainsi que des groupes confirm\u00e9s qui renouvellent sans cesse la sc\u00e8ne musicale. \u00c9coutez gratuitement FIP - Nouveaut\u00e9s et laissez-vous surprendre par des sons frais et des d\u00e9couvertes qui rythment la musique d'aujourd'hui et de demain.\",\n          favicon: \"https:\/\/static.mytuner.mobi\/media\/tvos_radios\/fllzk5qaptqe.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Pop\",\n          url: \"https:\/\/stream.radiofrance.fr\/fippop\/fippop.m3u8\",\n          description: \"FIP - Pop est la radio id\u00e9ale pour d\u00e9couvrir et red\u00e9couvrir les plus grands hits pop, diffus\u00e9e en direct et en ligne. Plongez dans une programmation vari\u00e9e qui vous fait voyager entre les classiques de la pop et les nouveaux succ\u00e8s du moment, avec des artistes embl\u00e9matiques comme Madonna, Elton John, Adele, et Dua Lipa. Cette station vous propose une ambiance l\u00e9g\u00e8re et entra\u00eenante, parfaite pour accompagner vos journ\u00e9es. \u00c9coutez gratuitement FIP - Pop et laissez-vous emporter par des m\u00e9lodies accrocheuses et des rythmes entra\u00eenants qui font la magie de la musique pop.\",\n          favicon: \"https:\/\/www.lalettre.pro\/photo\/art\/grande\/47381680-37511479.jpg?v=1592594783\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Radio Pop\",\n          url: \"https:\/\/icecast.radiofrance.fr\/fipjazz-hifi.aac\",\n          description: \"FIP Radio Pop est la station id\u00e9ale pour les amateurs de pop music, diffus\u00e9e en direct et en ligne. Retrouvez les plus grands artistes de la sc\u00e8ne pop internationale, avec des stars comme Michael Jackson, Madonna, Taylor Swift, et Harry Styles. Cette radio vous plonge dans une ambiance dynamique et lumineuse, avec une s\u00e9lection de morceaux entra\u00eenants, des classiques intemporels aux hits contemporains. \u00c9coutez gratuitement FIP Radio Pop et laissez-vous emporter par des m\u00e9lodies captivantes et des rythmes entra\u00eenants qui accompagnent parfaitement chaque moment de la journ\u00e9e.\",\n          favicon: \"https:\/\/www.lalettre.pro\/photo\/art\/grande\/47381680-37511479.jpg?v=1592594783\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Reggae\",\n          url: \"https:\/\/icecast.radiofrance.fr\/fipreggae-midfi.mp3\",\n          description: \"FIP - Reggae est la radio id\u00e9ale pour les amateurs de vibes reggae, diffus\u00e9e en direct et en ligne. Retrouvez les plus grands artistes de la sc\u00e8ne reggae, tels que Bob Marley, Peter Tosh, Burning Spear, et des talents contemporains qui perp\u00e9tuent l'esprit de cette musique. Cette station propose une ambiance d\u00e9contract\u00e9e et positive, parfaite pour se d\u00e9tendre et se laisser transporter par des rythmes chaleureux et des messages de paix. \u00c9coutez gratuitement FIP - Reggae et laissez-vous emporter par les bonnes vibrations de la musique reggae, o\u00f9 que vous soyez.\",\n          favicon: \"https:\/\/radioenlignefrance.com\/storage\/radios\/24263\/66777\/GUsctDuEwqbZavmymBdmjAD1fNkJom-metaZmlwcmVnZ2FlLmpwZw==-.jpg\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Rock\",\n          url: \"https:\/\/direct.fipradio.fr\/live\/fip-webradio1.mp3\",\n          description: \"FIP - Rock est la radio incontournable pour tous les fans de rock, diffus\u00e9e en direct et en ligne. Retrouvez les plus grands classiques du rock, ainsi que des nouveaut\u00e9s qui marquent l'\u00e9volution de ce genre l\u00e9gendaire, avec des artistes comme The Rolling Stones, Led Zeppelin, Foo Fighters, et Arctic Monkeys. Cette station propose une s\u00e9lection vari\u00e9e, allant du rock classique au rock alternatif, pour accompagner les amateurs de riffs puissants et de rythmes entra\u00eenants. \u00c9coutez gratuitement FIP - Rock et laissez-vous emporter par l'\u00e9nergie brute et les guitares \u00e9lectriques qui ont fa\u00e7onn\u00e9 l'histoire du rock.\",\n          favicon: \"https:\/\/www.allzicradio.com\/media\/radios\/fip-rock.png\",\n              isWebRadio: true\n            },\n            { \n              name: \"FIP Sacr\u00e9 Fran\u00e7ais\",\n          url: \"https:\/\/icecast.radiofrance.fr\/fipsacrefrancais-hifi.aac\",\n          description: \"FIP - Sacr\u00e9 Fran\u00e7ais est la radio parfaite pour les amateurs de la chanson fran\u00e7aise, diffus\u00e9e en direct et en ligne. Plongez dans un univers musical riche et vari\u00e9, avec des classiques intemporels et des p\u00e9pites contemporaines de la sc\u00e8ne fran\u00e7aise. Retrouvez des artistes embl\u00e9matiques comme Serge Gainsbourg, Fran\u00e7oise Hardy, Alain Bashung, ainsi que des nouveaux talents qui perp\u00e9tuent la tradition musicale fran\u00e7aise. \u00c9coutez gratuitement FIP - Sacr\u00e9 Fran\u00e7ais et laissez-vous emporter par les m\u00e9lodies, les paroles po\u00e9tiques et l'\u00e9l\u00e9gance qui font le charme de la musique fran\u00e7aise.\",\n          favicon: \"https:\/\/www.radiofrance.fr\/s3\/cruiser-production\/2023\/08\/26e7bd76-b723-487d-8abd-1b61b7f9dd47\/860_sc_400x400-sc-sacre-francais.jpg\",\n              isWebRadio: true\n            }\n          ];\n\n          const popularRadiosListFrance = document.getElementById('popular-radios-list-france');\n          popularRadiosListFrance.innerHTML = '';\n\n          popularRadiosFrance.forEach((station, index) => {\n            const li = document.createElement('li');\n            li.innerHTML = `\n              <img decoding=\"async\" src=\"${station.favicon}\" alt=\"${station.name} logo\" style=\"width: 65px; height: 65px; margin-right: 10px; border-radius: 50%; vertical-align: middle;\">\n              <span style=\"font-size: 1.5em;\">${station.name}<\/span>\n              <p class=\"radio-description\">${station.description}<\/p>\n            `;\n\n            li.addEventListener('click', () => {\n              let stationToPlay = {\n                url_resolved: station.url,\n                name: station.name,\n                favicon: station.favicon || null,\n                description: station.description,\n                isWebRadio: station.isWebRadio \/\/ Ajout de la propri\u00e9t\u00e9 isWebRadio\n              };\n\n              const detailedStation = allStations.find(s => s.name.toLowerCase() === station.name.toLowerCase());\n              \n              if (detailedStation) {\n                stationToPlay.favicon = stationToPlay.favicon || detailedStation.favicon;\n                stationToPlay.tags = detailedStation.tags || '';\n              }\n\n              playStation(stationToPlay);\n\n              \/\/ Masquer la grille des programmes si c'est une webradio\n              const programGrid = document.querySelector('.program-grid');\n              if (programGrid) {\n                programGrid.style.display = stationToPlay.isWebRadio ? 'none' : 'block';\n              }\n            });\n\n            popularRadiosListFrance.appendChild(li);\n          });\n        }\n      <\/script>\n    <\/div>\n  <\/div>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/axios\/0.21.1\/axios.min.js\"><\/script>\n<script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/select2@4.1.0-rc.0\/dist\/js\/select2.min.js\"><\/script>\n<script>\nlet favorites = JSON.parse(localStorage.getItem('favorites')) || [];\nlet history = JSON.parse(localStorage.getItem('history')) || [];\nlet currentTab = 'all';\n\nconst searchInput = document.getElementById('search-input');\nconst searchButton = document.getElementById('search-button');\nconst resultsContainer = document.getElementById('results-container');\nconst playerModal = document.getElementById('player-modal');\nconst paginationContainer = document.getElementById('pagination-container');\nconst prevButton = document.getElementById('prev-button');\nconst nextButton = document.getElementById('next-button');\nconst audioElement = new Audio();\nlet currentStation = null;\nlet currentPage = 1;\nlet stationsPerPage = 20;\nlet totalPages = 0;\nconst pageNumbersContainer = document.getElementById('page-numbers');\nconst playPauseButton = document.getElementById('play-pause');\nconst volumeSlider = document.getElementById('volume-slider');\nconst muteUnmuteButton = document.getElementById('mute-unmute');\nconst closeModalButton = document.querySelector('.close');\nconst chromecastButton = document.getElementById('chromecast-button');\n\ndocument.getElementById('listen-live').addEventListener('click', function() {\n  const sudRadioStation = {\n    name: \"FIP\",\n    url_resolved: \"https:\/\/icecast.radiofrance.fr\/fip-midfi.mp3\",\n    favicon: \"https:\/\/static.mytuner.mobi\/media\/radios-150px\/FfnupQFn7u.png\",\n    description: \"FIP poursuit sa mission d'excellence musicale en touchant quotidiennement plus de 650 000 auditeurs. La radio continue d'innover avec des formats originaux, des playlists expertes et une exp\u00e9rience d'\u00e9coute enrichie. FIP reste fid\u00e8le \u00e0 ses valeurs fondatrices : proposer une programmation musicale pointue et \u00e9clectique, sans publicit\u00e9, tout en explorant de nouvelles fa\u00e7ons de partager sa passion pour la musique avec son public.\",\n    tags: \"FIP, Rock, Metal, hits, 105.1\",\n    bitrate: \"128\"\n  };\n  playStation(sudRadioStation);\n});\n\nfunction showLoadingAnimation() {\n  document.getElementById('loading-animation').style.display = 'flex';\n}\n\nfunction hideLoadingAnimation() {\n  document.getElementById('loading-animation').style.display = 'none';\n}\n\nfunction playStation(station) {\n  if (!station) return;\n\n  if (!station.url_resolved) {\n    station.url_resolved = `https:\/\/example.com\/stream\/${station.name.replace(\/\\s+\/g, '-').toLowerCase()}`;\n  }\n\n  audioElement.src = station.url_resolved;\n  audioElement.play().catch(error => console.error('Error playing audio:', error));\n  currentStation = station;\n  updateModalUI();\n  openModal();\n  addToHistory(station);\n}\n\nfunction handleTagClick(event) {\n  if (event.target.classList.contains('tag-vignette')) {\n    const tag = event.target.textContent.trim();\n    closeModal();\n    addCategoryToSelect(tag);\n    performSearch(tag);\n  }\n}\n\nfunction addCategoryToSelect(category) {\n  if (!$('#category-select').find(\"option[value='\" + category + \"']\").length) {\n    var newOption = new Option(category, category, true, true);\n    $('#category-select').append(newOption).trigger('change');\n  }\n}\n\nfunction extractCategories(stations) {\n  const categories = {};\n  stations.forEach(station => {\n    if (station.tags) {\n      station.tags.split(',').forEach(tag => {\n        const trimmedTag = tag.trim();\n        if (trimmedTag.length <= 20) {\n          categories[trimmedTag] = (categories[trimmedTag] || 0) + 1;\n        }\n      });\n    }\n  });\n  return Object.entries(categories)\n    .sort((a, b) => b[1] - a[1])\n    .slice(0, 10)\n    .map(([category]) => category);\n}\n\nfunction renderCategoryVignettes(categories) {\n  return `\n    <div class=\"category-vignettes\">\n      ${categories.map(category => `\n        <span class=\"tag-vignette\" onclick=\"performSearch('${category}')\">${category}<\/span>\n      `).join('')}\n    <\/div>\n  `;\n}\n\nfunction updateModalUI() {\n  if (!currentStation) return;\n\n  const stationLogo = document.getElementById('station-logo');\n  const stationName = document.getElementById('station-name');\n  const stationCountry = document.getElementById('station-country');\n  const stationDescription = document.getElementById('station-description');\n  const stationTags = document.getElementById('station-tags');\n  const stationBitrate = document.getElementById('station-bitrate');\n\n  if (stationLogo) stationLogo.src = currentStation.favicon || 'https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-15.webp';\n  if (stationName) stationName.textContent = currentStation.name || 'Station inconnue';\n  if (stationCountry) stationCountry.textContent = 'France';\n  if (stationDescription) stationDescription.textContent = currentStation.homepage || 'Aucune description disponible';\n  \n  if (stationTags) {\n    const tags = currentStation.tags ? currentStation.tags.split(',') : [];\n    stationTags.innerHTML = tags.map(tag => `<span class=\"tag-vignette\">${tag.trim()}<\/span>`).join('');\n    stationTags.addEventListener('click', handleTagClick);\n  }\n  \n  if (stationBitrate) stationBitrate.textContent = `D\u00e9bit binaire : ${currentStation.bitrate || 'Inconnu'} kbps`;\n}\n\nfunction performSearch(tag) {\n  showLoadingAnimation();\n  const query = tag || (searchInput ? searchInput.value.trim() : '');\n  const category = $('#category-select').val();\n  let url = 'https:\/\/de1.api.radio-browser.info\/json\/stations\/search?limit=1000&country=France';\n  \n  if (query || category) {\n    if (query) {\n      if (tag) {\n        url += `&tag=${encodeURIComponent(query)}`;\n      } else {\n        url += `&name=${encodeURIComponent(query)}`;\n      }\n    }\n    if (category && !tag) {\n      url += `&tag=${encodeURIComponent(category)}`;\n    }\n  }\n\n  axios.get(url)\n    .then(response => {\n      if (response && response.data) {\n        allStations = response.data\n          .filter(station => station.url_resolved && station.url_resolved.startsWith('https:\/\/'))\n          .sort((a, b) => a.name.localeCompare(b.name));\n        totalPages = Math.ceil(allStations.length \/ stationsPerPage);\n        currentPage = 1;\n        currentTab = 'all';\n        document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));\n        document.querySelector('.tab[data-tab=\"all\"]').classList.add('active');\n        displayResults();\n        updatePagination();\n        fetchPopularRadios(); \n      } else {\n        throw new Error('Invalid response data');\n      }\n    })\n    .catch(error => {\n      console.error('Error fetching radio stations:', error);\n      if (resultsContainer) {\n        resultsContainer.innerHTML = '<p>Erreur lors de la r\u00e9cup\u00e9ration des stations de radio. Veuillez r\u00e9essayer.<\/p>';\n      }\n      if (paginationContainer) {\n        paginationContainer.style.display = 'none';\n      }\n    })\n    .finally(() => {\n      hideLoadingAnimation();\n    });\n}\n\nfunction displayResults() {\n  if (!resultsContainer) return;\n\n  resultsContainer.innerHTML = '';\n  const categoryVignettesContainer = document.querySelector('.category-vignettes-container');\n  categoryVignettesContainer.innerHTML = '';\n  let stationsToShow = [];\n\n  if (currentTab === 'all') {\n    const startIndex = (currentPage - 1) * stationsPerPage;\n    const endIndex = startIndex + stationsPerPage;\n    stationsToShow = allStations.slice(startIndex, endIndex);\n  } else if (currentTab === 'favorites') {\n    const startIndex = (currentPage - 1) * stationsPerPage;\n    const endIndex = startIndex + stationsPerPage;\n    stationsToShow = favorites.slice(startIndex, endIndex);\n  } else if (currentTab === 'history') {\n    const startIndex = (currentPage - 1) * stationsPerPage;\n    const endIndex = startIndex + stationsPerPage;\n    stationsToShow = history.slice(startIndex, endIndex);\n  }\n\n  const totalStations = currentTab === 'all' ? allStations.length : \n                        currentTab === 'favorites' ? favorites.length : \n                        currentTab === 'history' ? history.length : 0;\n  const resultsCountElement = document.getElementById('results-count');\n  if (resultsCountElement) {\n    resultsCountElement.textContent = `${totalStations} station${totalStations !== 1 ? 's' : ''} de radio trouv\u00e9e${totalStations !== 1 ? 's' : ''}`;\n  }\n\n  const categories = extractCategories(stationsToShow);\n  const categoryVignettes = renderCategoryVignettes(categories);\n  categoryVignettesContainer.innerHTML = categoryVignettes;\n\n  if (stationsToShow.length === 0) {\n    resultsContainer.innerHTML += '<p>Aucune station trouv\u00e9e. Essayez une autre recherche ou un autre onglet.<\/p>';\n    if (paginationContainer) {\n      paginationContainer.style.display = 'none';\n    }\n    return;\n  }\n  \n  stationsToShow.forEach(station => {\n    if (!station) return;\n\n    const stationCard = document.createElement('div');\n    stationCard.className = 'station-card';\n    stationCard.innerHTML = `\n      <div class=\"station-info\">\n        <img decoding=\"async\" class=\"station-logo\" src=\"${station.favicon || 'https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-15.webp'}\" alt=\"${station.name} logo\">\n      <\/div>\n      <div class=\"station-details\">\n        <h2>${station.name || 'Station inconnue'}<\/h2>\n        <p>\n          <img decoding=\"async\" class=\"country-flag\" src=\"https:\/\/flagcdn.com\/w20\/${(station.countrycode || '').toLowerCase()}.png\" alt=\"${station.country || 'Inconnu'} flag\">\n          ${station.country || 'France'}\n        <\/p>\n      <\/div>\n      <button class=\"play-button\" data-url=\"${station.url_resolved || ''}\">\n        <img decoding=\"async\" src=\"https:\/\/pacific-web-tools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-16.webp\" alt=\"Ic\u00f4ne de lecture\">\n      <\/button>\n      <button class=\"favorite-button ${favorites.some(fav => fav.stationuuid === station.stationuuid) ? 'active' : ''}\">\n      <\/button>\n    `;\n    resultsContainer.appendChild(stationCard);\n\n    const playButton = stationCard.querySelector('.play-button');\n    if (playButton) {\n      playButton.addEventListener('click', () => playStation(station));\n    }\n\n    const favoriteButton = stationCard.querySelector('.favorite-button');\n    if (favoriteButton) {\n      favoriteButton.addEventListener('click', () => toggleFavorite(station));\n    }\n  });\n\n  updatePagination();\n}\n\nfunction toggleFavorite(station) {\n  const index = favorites.findIndex(fav => fav.stationuuid === station.stationuuid);\n  if (index === -1) {\n    favorites.push(station);\n  } else {\n    favorites.splice(index, 1);\n  }\n  localStorage.setItem('favorites', JSON.stringify(favorites));\n  displayResults();\n}\n\nfunction addToHistory(station) {\n  const index = history.findIndex(item => item.stationuuid === station.stationuuid);\n  if (index !== -1) {\n    history.splice(index, 1);\n  }\n  history.unshift(station);\n  if (history.length > 20) {\n    history.pop();\n  }\n  localStorage.setItem('history', JSON.stringify(history));\n}\n\nfunction updatePagination() {\n  if (!pageNumbersContainer) return;\n\n  const totalStations = currentTab === 'all' ? allStations.length : \n                        currentTab === 'favorites' ? favorites.length : \n                        currentTab === 'history' ? history.length : 0;\n\n  totalPages = Math.ceil(totalStations \/ stationsPerPage);\n\n  if (totalStations <= stationsPerPage) {\n    if (paginationContainer) paginationContainer.style.display = 'none';\n    return;\n  }\n\n  const maxVisiblePages = 5;\n  let startPage = Math.max(currentPage - Math.floor(maxVisiblePages \/ 2), 1);\n  let endPage = Math.min(startPage + maxVisiblePages - 1, totalPages);\n\n  if (endPage - startPage + 1 < maxVisiblePages) {\n    startPage = Math.max(endPage - maxVisiblePages + 1, 1);\n  }\n\n  pageNumbersContainer.innerHTML = '';\n\n  for (let i = startPage; i <= endPage; i++) {\n    const pageButton = document.createElement('button');\n    pageButton.classList.add('page-number');\n    pageButton.textContent = i;\n    if (i === currentPage) {\n      pageButton.classList.add('active');\n    }\n    pageButton.addEventListener('click', () => {\n      currentPage = i;\n      displayResults();\n      updatePagination();\n    });\n    pageNumbersContainer.appendChild(pageButton);\n  }\n\n  if (prevButton) prevButton.disabled = currentPage === 1;\n  if (nextButton) nextButton.disabled = currentPage === totalPages;\n\n  if (paginationContainer) paginationContainer.style.display = 'flex';\n}\n\nfunction fetchAllStations() {\n  showLoadingAnimation();\n  let url = 'https:\/\/de1.api.radio-browser.info\/json\/stations\/search?limit=1000&country=France';\n\n  axios.get(url)\n    .then(response => {\n      if (response && response.data) {\n        allStations = response.data\n          .filter(station => station.url_resolved && station.url_resolved.startsWith('https:\/\/'))\n          .sort((a, b) => a.name.localeCompare(b.name));\n        totalPages = Math.ceil(allStations.length \/ stationsPerPage);\n        currentPage = 1;\n        displayResults();\n        updatePagination();\n        fetchPopularRadios(); \n      } else {\n        throw new Error('Invalid response data');\n      }\n    })\n    .catch(error => {\n      console.error('Error fetching radio stations:', error);\n      if (resultsContainer) resultsContainer.innerHTML = '<p>Erreur lors de la r\u00e9cup\u00e9ration des stations de radio. Veuillez r\u00e9essayer.<\/p>';\n    })\n    .finally(() => {\n      hideLoadingAnimation();\n    });\n}\n\n$(document).ready(function() {\n  $('#category-select').select2({\n    placeholder: 'S\u00e9lectionner une cat\u00e9gorie',\n    allowClear: true,\n    tags: true,\n    ajax: {\n      url: 'https:\/\/de1.api.radio-browser.info\/json\/tags?country=France',\n      dataType: 'json',\n      delay: 250,\n      data: function (params) {\n        return {\n          search: params.term\n        };\n      },\n      processResults: function (data, params) {\n        const searchTerm = params.term ? params.term.toLowerCase() : '';\n        return {\n          results: data\n            .filter(tag => tag.name.toLowerCase().includes(searchTerm))\n            .map(tag => ({\n              id: tag.name,\n              text: tag.name\n            }))\n        };\n      },\n      cache: true\n    }\n  });\n\n  $('#category-select').on('select2:select select2:unselect', function(e) {\n    performSearch();\n  });\n  \n  document.querySelectorAll('.tab').forEach(tab => {\n    tab.addEventListener('click', () => {\n      document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));\n      tab.classList.add('active');\n      currentTab = tab.dataset.tab;\n      currentPage = 1;\n      displayResults();\n    });\n  });\n\n  if (searchButton) {\n    searchButton.addEventListener('click', () => performSearch());\n  }\n\n  if (searchInput) {\n    searchInput.addEventListener('keypress', function(event) {\n      if (event.key === 'Enter') {\n        event.preventDefault();\n        performSearch();\n      }\n    });\n  }\n\n  if (prevButton) {\n    prevButton.addEventListener('click', () => {\n      if (currentPage > 1) {\n        currentPage--;\n        displayResults();\n        updatePagination();\n      }\n    });\n  }\n\n  if (nextButton) {\n    nextButton.addEventListener('click', () => {\n      if (currentPage < totalPages) {\n        currentPage++;\n        displayResults();\n        updatePagination();\n      }\n    });\n  }\n\n  fetchAllStations();  \n});\n\nlet allStations = [];\n\nfunction openModal() {\n  if (playerModal) playerModal.style.display = 'block';\n  if (window.chrome && window.chrome.cast && window.chrome.cast.isAvailable) {\n    initializeCastApi();\n  }\n}\n\nfunction closeModal() {\n  if (playerModal) playerModal.style.display = 'none';\n  audioElement.pause();\n}\n\nfunction startChromecast() {\n  if (!currentStation) return;\n\n  const castSession = cast.framework.CastContext.getInstance().getCurrentSession();\n  if (castSession) {\n    const mediaInfo = new chrome.cast.media.MediaInfo(currentStation.url_resolved, 'audio\/mp3');\n    mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();\n    mediaInfo.metadata.title = currentStation.name;\n    mediaInfo.metadata.images = [{ url: currentStation.favicon || 'https:\/\/pacific-webtools.com\/radio-online\/wp-content\/uploads\/2024\/10\/logo-15.webp' }];\n\n    const request = new chrome.cast.media.LoadRequest(mediaInfo);\n    castSession.loadMedia(request).then(\n      function() { console.log('Load succeed'); },\n      function(errorCode) { console.log('Error code: ' + errorCode); }\n    );\n  } else {\n    cast.framework.CastContext.getInstance().requestSession();\n  }\n}\n\nif (chromecastButton) {\n  chromecastButton.addEventListener('click', startChromecast);\n}\n\n\/\/ Load the Cast framework\nwindow.__onGCastApiAvailable = function(isAvailable) {\n  if (isAvailable) {\n    initializeCastApi();\n  }\n};\n\n\/\/ Initialize the Cast API\nfunction initializeCastApi() {\n  cast.framework.CastContext.getInstance().setOptions({\n    receiverApplicationId: chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,\n    autoJoinPolicy: chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED\n  });\n}\n\n\/\/ Player controls\nif (playPauseButton) playPauseButton.addEventListener('click', togglePlayPause);\nif (volumeSlider) volumeSlider.addEventListener('input', adjustVolume);\nif (muteUnmuteButton) muteUnmuteButton.addEventListener('click', toggleMute);\nif (closeModalButton) closeModalButton.addEventListener('click', closeModal);\nwindow.addEventListener('click', (event) => {\n  if (event.target == playerModal) {\n    closeModal();\n  }\n});\n\nfunction togglePlayPause() {\n  if (!playPauseButton) return;\n\n  if (audioElement.paused) {\n    audioElement.play().catch(error => console.error('Error playing audio:', error));\n    playPauseButton.querySelector('img').src = \"https:\/\/cdn-icons-png.freepik.com\/512\/4181\/4181135.png\";\n    playPauseButton.querySelector('img').alt = \"Ic\u00f4ne de pause\";\n  } else {\n    audioElement.pause();\n    playPauseButton.querySelector('img').src = \"https:\/\/cdn-icons-png.flaticon.com\/512\/2468\/2468825.png\";\n    playPauseButton.querySelector('img').alt = \"Ic\u00f4ne de lecture\";\n  }\n}\n\nfunction adjustVolume() {\n  if (volumeSlider) audioElement.volume = volumeSlider.value;\n}\n\n\/\/ Initialize volume\nadjustVolume();\n\n\/\/ Add background cycling function\nfunction cycleBackgroundImages() {\n  const slides = document.querySelectorAll('.background-slideshow .slide');\n  let currentSlide = 0;\n\n  setInterval(() => {\n    slides[currentSlide].classList.remove('active');\n    currentSlide = (currentSlide + 1) % slides.length;\n    slides[currentSlide].classList.add('active');\n  }, 5000);\n}\n\n\/\/ Call the cycling function when the document is ready\ndocument.addEventListener('DOMContentLoaded', cycleBackgroundImages);\n<\/script>\n\n\n\n\n<\/body><\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ff035ad e-con-full e-flex e-con e-parent\" data-id=\"ff035ad\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b558482 elementor-widget elementor-widget-html\" data-id=\"b558482\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<html><head>\n  <meta name=\" viewport\"=\"\" content=\"width=device-width, initial-scale=1.0\">\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n  <style>\n    .rs-carousel-section {\n      padding: 50px 0; \n      background: linear-gradient(45deg, #1a1a1a, #2c2c2c, #0e4d4d);\n      background-size: 400% 400%;\n      animation: rs-gradientBG 15s ease infinite;\n      color: #ffffff;\n      font-family: 'Roboto', sans-serif;\n      min-height: flex; \n      display: flex;\n      flex-direction: column;\n      align-items: center;\n    }\n\n    .rs-title {\n      color: #00ffff;\n      text-align: center;\n      margin: 2rem 0;\n      font-size: 2rem;\n      text-shadow: 0 0 10px rgba(0, 255, 255, 0.5);\n    }\n\n    .rs-carousel-container {\n      max-width: 1200px;\n      width: 100%;\n      position: relative;\n      padding: 20px 50px; \n      box-sizing: border-box;\n      overflow: hidden;\n      margin: 0 auto; \n    }\n\n    .rs-carousel {\n      display: flex;\n      overflow: hidden;\n      scroll-behavior: smooth;\n      gap: 20px;\n      padding: 20px 0 0 0;\n      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n    }\n\n    .rs-radio-card {\n      min-width: 250px;\n      flex: 0 0 250px;\n      background: rgba(255, 255, 255, 0.1);\n      border-radius: 15px;\n      text-align: center;\n      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n      border: 2px solid #00ffff;\n      box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);\n      position: relative;\n      overflow: hidden;\n      transform-origin: center center;\n      padding: 20px 15px; \/* Add consistent padding *\/\n    }\n\n    .rs-radio-card.rs-scrolling {\n      transform: scale(0.95) rotate(-2deg);\n    }\n\n    .rs-radio-card::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: -100%;\n      width: 100%;\n      height: 100%;\n      background: linear-gradient(90deg, transparent, rgba(0, 255, 255, 0.1), transparent);\n      transition: 0.5s;\n    }\n\n    .rs-radio-card:hover::before {\n      left: 100%;\n    }\n\n    .rs-radio-card:hover {\n      transform: translateY(-5px) scale(1.02);\n      box-shadow: 0 10px 30px rgba(0, 255, 255, 0.3);\n      z-index: 1;\n    }\n\n    .rs-radio-logo {\n      width: 120px;\n      height: 120px;\n      border-radius: 50%;\n      margin-bottom: 1rem;\n      border: 3px solid #00ffff;\n      box-shadow: 0 0 20px rgba(0, 255, 255, 0.3);\n      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n      cursor: pointer; \/* Add cursor pointer to indicate interactivity *\/\n    }\n\n    .rs-radio-logo:hover {\n      transform: rotateY(180deg) scale(1.15);\n      border-color: #ff00ff;\n      box-shadow: \n        0 0 25px rgba(0, 255, 255, 0.5),\n        0 0 50px rgba(255, 0, 255, 0.3);\n      animation: logoGlow 1.5s infinite alternate;\n    }\n\n    @keyframes logoGlow {\n      0% {\n        box-shadow: 0 0 25px rgba(0, 255, 255, 0.5),\n                    0 0 50px rgba(255, 0, 255, 0.3);\n      }\n      100% {\n        box-shadow: 0 0 35px rgba(0, 255, 255, 0.8),\n                    0 0 70px rgba(255, 0, 255, 0.6);\n      }\n    }\n\n    .rs-radio-name {\n      font-size: 1.2rem; \/* Reduced from 1.5rem *\/\n      margin: 15px 0;\n      color: #00ffff;\n      transition: all 0.3s ease;\n      position: relative; \/* Added *\/\n    }\n\n    \/* Add hover state for radio name span elements *\/\n    .rs-radio-name span:first-child {\n      display: inline-block;\n      transition: opacity 0.3s ease;\n    }\n\n    .rs-radio-name span:last-child {\n      position: absolute;\n      left: 50%;\n      transform: translateX(-50%);\n      opacity: 0;\n      transition: opacity 0.3s ease;\n      width: 100%;\n    }\n\n    .rs-radio-card:hover .rs-radio-name span:first-child {\n      opacity: 0;\n    }\n\n    .rs-radio-card:hover .rs-radio-name span:last-child {\n      opacity: 1;\n    }\n\n    .rs-listen-button {\n      position: relative; \/* Add this *\/\n      background: #00ffff;\n      color: #000;\n      width: 60px;\n      height: 60px;\n      border: none;\n      border-radius: 50%;\n      font-size: 1.5rem;\n      cursor: pointer;\n      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n      text-decoration: none;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin: 1rem auto;\n      overflow: hidden;\n    }\n\n    .rs-listen-button:hover {\n      background: #00cccc;\n      transform: scale(1.1) rotate(360deg);\n      box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);\n    }\n\n    .rs-listen-button::before {\n      content: \"Voir la webradio\";\n      position: absolute;\n      bottom: -30px;\n      left: 50%;\n      transform: translateX(-50%);\n      background: rgba(0, 255, 255, 0.9);\n      color: #000;\n      padding: 5px 10px;\n      border-radius: 4px;\n      font-size: 12px;\n      white-space: nowrap;\n      opacity: 0;\n      visibility: hidden;\n      transition: all 0.3s ease;\n    }\n\n    .rs-listen-button:hover::before {\n      opacity: 1;\n      visibility: visible;\n      bottom: -35px;\n    }\n\n    .rs-listen-button:hover i {\n      animation: rs-colorChange 2s infinite;\n    }\n\n    @keyframes rs-colorChange {\n      0% { color: #ff0000; }\n      20% { color: #ff7700; }\n      40% { color: #ffff00; }\n      60% { color: #00ff00; }\n      80% { color: #0000ff; }\n      100% { color: #ff0000; }\n    }\n\n    .rs-listen-button::after {\n      content: '';\n      position: absolute;\n      width: 100%;\n      height: 100%;\n      background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.3) 70%);\n      animation: rs-pulseGlow 2s infinite;\n      opacity: 0;\n      transition: opacity 0.3s;\n    }\n\n    .rs-listen-button:hover::after {\n      opacity: 1;\n    }\n\n    @keyframes rs-pulseGlow {\n      0% {\n        transform: scale(0.95);\n        opacity: 0.5;\n      }\n      50% {\n        transform: scale(1.1);\n        opacity: 0.2;\n      }\n      100% {\n        transform: scale(0.95);\n        opacity: 0.5;\n      }\n    }\n\n    .rs-carousel-button {\n      position: absolute;\n      top: 50%;\n      transform: translateY(-50%);\n      background: rgba(0, 255, 255, 0.2);\n      border: none;\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #00ffff;\n      font-size: 1.5rem;\n      transition: all 0.3s ease;\n      z-index: 2;\n      overflow: hidden; \/* Add this for ripple effect *\/\n    }\n\n    .rs-carousel-button:hover {\n      background: rgba(0, 255, 255, 0.2);\n      transform: translateY(-50%) scale(1.1);\n      box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);\n    }\n\n    .rs-carousel-button::before {\n      content: '';\n      position: absolute;\n      width: 100%;\n      height: 100%;\n      background: radial-gradient(circle at center, rgba(0, 255, 255, 0.8) 0%, transparent 70%);\n      transform: scale(0);\n      opacity: 0;\n      transition: transform 0.5s ease-out, opacity 0.3s ease;\n    }\n\n    .rs-carousel-button:hover::before {\n      transform: scale(2);\n      opacity: 0.3;\n    }\n\n    .rs-carousel-button:hover i {\n      animation: arrowBounce 0.5s ease infinite alternate;\n    }\n\n    @keyframes arrowBounce {\n      from {\n        transform: translateX(0);\n      }\n      to {\n        transform: translateX(3px);\n      }\n    }\n\n    .rs-carousel-button.rs-prev:hover i {\n      animation: arrowBounceLeft 0.5s ease infinite alternate;\n    }\n\n    @keyframes arrowBounceLeft {\n      from {\n        transform: translateX(0);\n      }\n      to {\n        transform: translateX(-3px);\n      }\n    }\n\n    .rs-carousel-button.rs-prev {\n      left: 0;\n    }\n\n    .rs-carousel-button.rs-next {\n      right: 0;\n    }\n\n    @keyframes rs-floatingNotesCard {\n      0% {\n        opacity: 0;\n        transform: translate(0, 0) rotate(0deg);\n      }\n      50% {\n        opacity: 1;\n      }\n      100% {\n        opacity: 0;\n        transform: translate(-50px, -50px) rotate(360deg);\n      }\n    }\n\n    .rs-card-notes {\n      position: absolute;\n      width: 100%;\n      height: 100%;\n      top: 0;\n      left: 0;\n      pointer-events: none;\n      opacity: 0;\n      transition: opacity 0.3s;\n    }\n\n    .rs-radio-card:hover .rs-card-notes {\n      opacity: 1;\n    }\n\n    .rs-card-note {\n      position: absolute;\n      font-size: 20px;\n      color: #00ffff;\n      animation: rs-floatingNotesCard 2s ease-out infinite;\n    }\n\n    .rs-card-note-1 { top: 10%; left: 10%; animation-delay: 0s; }\n    .rs-card-note-2 { top: 5%; left: 30%; animation-delay: 0.3s; }\n    .rs-card-note-3 { top: 15%; left: 50%; animation-delay: 0.6s; }\n    .rs-card-note-4 { top: 8%; left: 70%; animation-delay: 0.9s; }\n    .rs-card-note-5 { top: 12%; left: 90%; animation-delay: 1.2s; }\n\n    .rs-radio-tag {\n      position: absolute;\n      top: 10px;\n      right: 10px;\n      padding: 5px 12px;\n      font-size: 0.8rem;\n      border-radius: 15px;\n      background: rgba(0, 0, 0, 0.7);\n      color: #fff;\n      border: 1px solid #00ffff;\n      box-shadow: 0 0 5px #00ffff,\n                  inset 0 0 5px #00ffff;\n      text-transform: uppercase;\n      letter-spacing: 1px;\n      transition: all 0.3s ease;\n      transform-style: preserve-3d;\n      perspective: 1000px;\n      cursor: pointer;\n    }\n    \n    .rs-radio-tag i {\n      margin-right: 5px;\n      color: #00ffff;\n      text-shadow: 0 0 5px #00ffff,\n                   0 0 10px #00ffff,\n                   0 0 15px #00ffff;\n    }\n\n    \/* Add hover effects *\/\n    .rs-radio-tag:hover {\n      transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);\n      box-shadow: 0 0 15px #00ffff,\n                  inset 0 0 10px #00ffff,\n                  0 10px 20px rgba(0, 255, 255, 0.4);\n      background: rgba(0, 255, 255, 0.1);\n      letter-spacing: 2px;\n      animation: tagFloat 1s ease-in-out infinite alternate;\n    }\n\n    \/* Add new keyframe animation *\/\n    @keyframes tagFloat {\n      0% {\n        transform: translateZ(20px) rotateX(10deg) rotateY(-10deg);\n      }\n      100% {\n        transform: translateZ(30px) rotateX(15deg) rotateY(-15deg);\n        text-shadow: 2px 2px 4px rgba(0, 255, 255, 0.6);\n      }\n    }\n\n    \/* Add before\/after elements for 3D effect *\/\n    .rs-radio-tag::before {\n      content: '';\n      position: absolute;\n      inset: -2px;\n      background: linear-gradient(45deg, transparent, rgba(0, 255, 255, 0.3), transparent);\n      transform: translateZ(-1px);\n      opacity: 0;\n      transition: opacity 0.3s ease;\n    }\n\n    .rs-radio-tag::after {\n      content: '';\n      position: absolute;\n      inset: -1px;\n      background: linear-gradient(-45deg, transparent, rgba(0, 255, 255, 0.2), transparent);\n      transform: translateZ(-2px);\n      opacity: 0;\n      transition: opacity 0.3s ease;\n    }\n\n    .rs-radio-tag:hover::before,\n    .rs-radio-tag:hover::after {\n      opacity: 1;\n    }\n\n    @keyframes rs-floatingNotes {\n      0% {\n        transform: translateY(0) rotate(0deg) scale(1);\n        opacity: 0;\n      }\n      50% {\n        transform: translateY(-20px) rotate(180deg) scale(1.2);\n        opacity: 1;\n      }\n      100% {\n        transform: translateY(-40px) rotate(360deg) scale(1);\n        opacity: 0;\n      }\n    }\n\n    @media (max-width: 768px) {\n      .rs-carousel-section {\n        padding: 30px 0;\n      }\n      .rs-carousel-container {\n        padding: 15px 20px; \n      }\n      .rs-radio-card {\n        min-width: 250px !important; \/* Reduced by 20% from original 312.5px *\/\n        flex: 0 0 250px !important; \/* Reduced by 20% from original 312.5px *\/\n      }\n      \/* Content size reductions *\/\n      .rs-radio-logo {\n        width: 84px !important;\n        height: 84px !important;\n      }\n      .rs-radio-name {\n        font-size: 1rem !important;\n      }\n      .rs-listen-button {\n        width: 48px;\n        height: 48px;\n      }\n    }\n\n    @media (max-width: 480px) {\n      .rs-carousel-section {\n        padding: 20px 0;\n      }\n      .rs-carousel-container {\n        padding: 0 30px; \n      }\n      .rs-radio-card {\n        min-width: 200px !important; \/* Further reduced by 20% from tablet size *\/\n        flex: 0 0 200px !important; \/* Further reduced by 20% from tablet size *\/\n      }\n      \/* Further reduce content for smallest screens *\/\n      .rs-radio-logo {\n        width: 76px !important;\n        height: 76px !important;\n        margin: 8px auto 12px !important;\n      }\n      .rs-radio-name {\n        font-size: 0.9rem !important;\n      }\n      .rs-listen-button {\n        width: 40px;\n        height: 40px;\n      }\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"rs-carousel-section\" id=\"radioendirect-carousel-section\">\n    <h2 class=\"rs-title\" id=\"radioendirect-title\" style=\"font-size: 24px; animation: textGlow 2s infinite; text-shadow: 0 0 10px rgba(0, 255, 255, 0.5), 0 0 20px rgba(0, 255, 255, 0.3), 0 0 30px rgba(0, 255, 255, 0.2); position: relative;\">\n  Nos suggestions de radios fran\u00e7aises en direct :\n<\/h2>\n    \n    <div class=\"rs-carousel-container\" id=\"radioendirect-container\">\n      <button class=\"rs-carousel-button rs-prev\" id=\"radioendirect-prev-button\">\n        <i class=\"fas fa-chevron-left\"><\/i>\n      <\/button>\n      \n      <div class=\"rs-carousel\" id=\"radioendirect-carousel\" style=\"gap: 25px;\">\n        <!-- Nostalgie -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-nostalgie\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/play-lh.googleusercontent.com\/9h9jwQQONGEHGuKQ9nBAcXeorzgJZnStMvLZ4DNBVxb4XK3TMww-7sw3_mgjXEw3Gtk\" alt=\"Radio Nostalgie\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>Oldies<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>Nostalgie<\/span>\n            <span>Ecoutez en direct Nostalgie<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-nostalgie\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- Skyrock -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-skyrock\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcSQPI_29sdyigH1bVf4vwKNiM_alqz_mPWkpg&amp;s\" alt=\"Skyrock Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px; margin: 10px auto 15px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>Hip-Hop\/Rap<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>Skyrock<\/span>\n            <span>Ecoutez en direct Skyrock<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-skyrock\/\" class=\"rs-listen-button\" style=\"margin: 15px auto 10px;\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- Oui FM -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-ouifm\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/3\/33\/Oui_FM_2014_logo.png\" alt=\"OUI FM logo\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-guitar\"><\/i>Rock<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>OUI FM<\/span>\n            <span>Ecoutez en direct OUI FM<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-oui-fm\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n        \n        <!-- Add after the FIP card and before RMC -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-cheriefm\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcRqDXL7XUgfkYyaczESXMRcGb0tP07fBd2h5A&s\" alt=\"Ch\u00e9rie FM Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>Pop\/Love<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>Ch\u00e9rie FM<\/span>\n            <span>Ecoutez en direct Ch\u00e9rie FM<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-cheriefm\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- Ch\u00e9rie FM -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-cheriefm\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          \n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/1\/19\/RFM_logo_2011.png\" alt=\"RFM\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>80s<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>RFM<\/span>\n            <span>Ecoutez en direct RFM<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rfm\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- Ch\u00e9rie FM -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-cheriefm\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/cdn.uc.assets.prezly.com\/b1be11c1-7593-48e0-b0d3-dfedd93ef5a2\/\" alt=\"NRJ Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>Pop\/Dance<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>NRJ<\/span>\n            <span>Ecoutez en direct NRJ<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-nrj\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- RTL2 -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-rtl2\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/thumb\/f\/fa\/RTL2_logo_2015.svg\/1200px-RTL2_logo_2015.svg.png\" alt=\"RTL2 Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>Pop\/Rock<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>RTL2<\/span>\n            <span>Ecoutez en direct RTL2<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl2\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n        \n        <div class=\"rs-radio-card\" id=\"radioendirect-card-sudradio\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <!-- RTL -->\n          <div class=\"rs-radio-card\" id=\"radioendirect-card-rtl\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n            <div class=\"rs-card-notes\">\n              <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n              <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n              <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n              <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n              <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n            <\/div>\n            <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/5\/51\/RTL_logo.svg\/1200px-RTL_logo.svg.png\" alt=\"RTL Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n            <span class=\"rs-radio-tag\"><i class=\"fas fa-microphone\"><\/i>Info\/Talk<\/span>\n            <h2 class=\"rs-radio-name\">\n              <span>RTL<\/span>\n              <span>Ecoutez en direct RTL<\/span>\n            <\/h2>\n            <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rtl\/\" class=\"rs-listen-button\">\n              <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n            <\/a>\n          <\/div>\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/0\/03\/Logo_Sud_Radio_2014.svg\/1200px-Logo_Sud_Radio_2014.svg.png\" alt=\"Sud Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-microphone\"><\/i>Info\/Talk<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>Sud Radio<\/span>\n            <span>Ecoutez en direct Sud Radio<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-sud-radio\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n        \n        <!-- RMC -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-rmc\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/yt3.googleusercontent.com\/ytc\/AIdro_k7rcILtB71q3kwlCwX14_jfamwiA4_U74MX8PZ6-sC7Rk=s900-c-k-c0x00ffffff-no-rj\" alt=\"RMC Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-microphone\"><\/i>Info\/Sport<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>RMC<\/span>\n            <span>Ecoutez en direct RMC<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rmc\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- Europe 1 -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-europe1\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/cdn-europe1.lanmedia.fr\/var\/europe1\/storage\/images\/europe1\/animateurs\/europe-12\/53472641-3-fre-FR\/Europe-1.png\" alt=\"Europe 1\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-microphone\"><\/i>Info\/Talk<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>Europe 1<\/span>\n            <span>Ecoutez en direct Europe 1<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-europe1\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n        \n        <!-- Rire et Chansons -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-rireetchansons\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcRGs-8gbq-CxVHtpgHNRgIYFLwJ8yaNPmC-1A&amp;s\" alt=\"Rire et Chansons\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-laugh\"><\/i>Humour<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>Rire et Chansons<\/span>\n            <span>Ecoutez en direct Rire et Chansons<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-rire-et-chansons\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- Fun Radio -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-funradio\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/e\/ef\/Fun_Radio_2021_logo.png\" alt=\"Fun Radio\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-music\"><\/i>Dance\/Electro<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>Fun Radio<\/span>\n            <span>Ecoutez en direct Fun Radio<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fun-radio\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n        <!-- France Inter -->\n        <div class=\"rs-radio-card\" id=\"radioendirect-card-franceinter\" style=\"min-width: 312.5px; flex: 0 0 312.5px;\">\n          <div class=\"rs-card-notes\">\n            <span class=\"rs-card-note rs-card-note-1\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-2\">\u266b<\/span>\n            <span class=\"rs-card-note rs-card-note-3\">\u266c<\/span>\n            <span class=\"rs-card-note rs-card-note-4\">\u266a<\/span>\n            <span class=\"rs-card-note rs-card-note-5\">\u266b<\/span>\n          <\/div>\n          <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/fr\/thumb\/3\/39\/France_Inter_logo.svg\/2048px-France_Inter_logo.svg.png\" alt=\"France Inter\" class=\"rs-radio-logo\" style=\"width: 105px; height: 105px;\">\n          <span class=\"rs-radio-tag\"><i class=\"fas fa-microphone\"><\/i>Info\/Culture<\/span>\n          <h2 class=\"rs-radio-name\">\n            <span>France Inter<\/span>\n            <span>Ecoutez en direct France Inter<\/span>\n          <\/h2>\n          <a href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-france-inter\/\" class=\"rs-listen-button\">\n            <i class=\"fas fa-play\" style=\"font-size: 0.75rem\"><\/i>\n          <\/a>\n        <\/div>\n\n      <\/div>\n\n      <button class=\"rs-carousel-button rs-next\" id=\"radioendirect-next-button\">\n        <i class=\"fas fa-chevron-right\"><\/i>\n      <\/button>\n    <\/div>\n  <\/div>\n\n  <script>\n    (function() {\n      class RadioStreamrCarousel {\n        constructor(selector) {\n          this.container = document.querySelector(selector);\n          this.carousel = this.container.querySelector('.rs-carousel');\n          this.allCards = Array.from(this.container.querySelectorAll('.rs-radio-card')); \/\/ Store all cards\n          this.prevButton = this.container.querySelector('.rs-carousel-button.rs-prev');\n\n          \/\/ Select random 9 cards\n          this.selectRandomCards();\n          \n          \/\/ Initialize properties after cards are selected\n          this.cards = Array.from(this.container.querySelectorAll('.rs-radio-card'));\n          this.currentIndex = 0;\n          this.cardWidth = this.cards[0].offsetWidth + 20;\n          this.cardsPerView = Math.floor(this.carousel.offsetWidth \/ this.cardWidth);\n          this.maxIndex = this.cards.length - this.cardsPerView;\n          this.nextButton = this.container.querySelector('.rs-carousel-button.rs-next');\n\n          this.init();\n        }\n\n        selectRandomCards() {\n          \/\/ Remove all cards from carousel\n          this.allCards.forEach(card => card.remove());\n\n          \/\/ Randomly select 9 cards\n          const shuffled = [...this.allCards].sort(() => 0.5 - Math.random());\n          const selected = shuffled.slice(0, 9);\n          \n          \/\/ Add selected cards back to carousel\n          selected.forEach(card => {\n            this.carousel.appendChild(card);\n          });\n        }\n\n        init() {\n          this.bindEvents();\n        }\n\n        scrollToIndex(index) {\n          \/\/ Handle infinite loop\n          if (index < 0) {\n            this.currentIndex = this.cards.length - this.cardsPerView;\n          } else if (index > this.maxIndex) {\n            this.currentIndex = 0;\n          } else {\n            this.currentIndex = index;\n          }\n          \n          \/\/ Add scrolling class to cards\n          this.cards.forEach(card => {\n            card.classList.add('rs-scrolling');\n            setTimeout(() => card.classList.remove('rs-scrolling'), 500);\n          });\n\n          \/\/ Scroll with animation\n          this.carousel.scrollTo({\n            left: this.currentIndex * this.cardWidth,\n            behavior: 'smooth'\n          });\n\n          \/\/ Create floating notes effect\n          const notes = ['\u266a', '\u266b', '\u266c'];\n          for(let i = 0; i < 3; i++) {\n            const note = document.createElement('span');\n            note.textContent = notes[Math.floor(Math.random() * notes.length)];\n            note.style.cssText = `\n              position: absolute;\n              color: #00ffff;\n              font-size: 24px;\n              top: ${50 + Math.random() * 100}px;\n              left: ${50 + Math.random() * (this.carousel.offsetWidth - 100)}px;\n              animation: rs-floatingNotes 1s ease-out ${i * 0.2}s forwards;\n              pointer-events: none;\n            `;\n            this.carousel.appendChild(note);\n            setTimeout(() => note.remove(), 1000 + i * 200);\n          }\n        }\n\n        bindEvents() {\n          this.prevButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex - 1));\n          this.nextButton.addEventListener('click', () => this.scrollToIndex(this.currentIndex + 1));\n\n          window.addEventListener('resize', () => {\n            const newCardsPerView = Math.floor(this.carousel.offsetWidth \/ this.cardWidth);\n            const newMaxIndex = this.cards.length - newCardsPerView;\n            this.currentIndex = Math.min(this.currentIndex, newMaxIndex);\n            this.scrollToIndex(this.currentIndex);\n          });\n        }\n      }\n\n      document.addEventListener('DOMContentLoaded', function() {\n        new RadioStreamrCarousel('.rs-carousel-section');\n      });\n    })();\n  <\/script>\n<\/body><\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0d0797d e-con-full e-flex e-con e-parent\" data-id=\"0d0797d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9260360 elementor-widget elementor-widget-shortcode\" data-id=\"9260360\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u00d7 Grille des programmes LundiMardiMercrediJeudiVendrediSamediDimanche 19:00 &#8211; 20:00 Club Jazzafip &#8211; Jane Villenet 20:00 &#8211; 22:00 Sous les jupes de Fip &#8211; Emilie Blon-Metzinger et Luc Frelon 19:00 &#8211; 20:00 Club Jazzafip &#8211; Jane Villenet 20:00 &#8211; 22:00 C&rsquo;est Magnifip ! &#8211; Fr\u00e9d\u00e9rique Labussi\u00e8re 19:00 &#8211; 20:00 Club Jazzafip &#8211; Jane Villenet 20:00 &#8211; 22:00 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":448,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"footnotes":""},"categories":[4,5],"tags":[],"class_list":["post-447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-radio-hits","category-radio-pop-rock"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>FIP \ud83c\udfb6 - Ecoutez en direct les Webradios gratuitement<\/title>\n<meta name=\"description\" content=\"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FIP \ud83c\udfb6 - Ecoutez en direct les Webradios gratuitement\" \/>\n<meta property=\"og:description\" content=\"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/\" \/>\n<meta property=\"og:site_name\" content=\"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-02T16:38:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-03T15:45:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"225\" \/>\n\t<meta property=\"og:image:height\" content=\"224\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/\",\"name\":\"FIP \ud83c\udfb6 - Ecoutez en direct les Webradios gratuitement\",\"isPartOf\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp\",\"datePublished\":\"2024-11-02T16:38:56+00:00\",\"dateModified\":\"2024-11-03T15:45:19+00:00\",\"author\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646\"},\"description\":\"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !\",\"breadcrumb\":{\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#primaryimage\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp\",\"contentUrl\":\"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp\",\"width\":225,\"height\":224,\"caption\":\"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/radiostreamr.com\/radio-france\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FIP \ud83c\udfb6 &#8211; Ecoutez en direct les Webradios gratuitement\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#website\",\"url\":\"https:\/\/radiostreamr.com\/radio-france\/\",\"name\":\"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct\",\"description\":\"\u00c9coutez les meilleures stations de radio fran\u00e7aises en direct. Musique, actualit\u00e9s, et \u00e9missions locales - disponibles partout, \u00e0 tout moment.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/radiostreamr.com\/radio-france\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/radiostreamr.com\/radio-france\"],\"url\":\"https:\/\/radiostreamr.com\/radio-france\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FIP \ud83c\udfb6 - Ecoutez en direct les Webradios gratuitement","description":"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/","og_locale":"fr_FR","og_type":"article","og_title":"FIP \ud83c\udfb6 - Ecoutez en direct les Webradios gratuitement","og_description":"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !","og_url":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/","og_site_name":"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct","article_published_time":"2024-11-02T16:38:56+00:00","article_modified_time":"2024-11-03T15:45:19+00:00","og_image":[{"width":225,"height":224,"url":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/","url":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/","name":"FIP \ud83c\udfb6 - Ecoutez en direct les Webradios gratuitement","isPartOf":{"@id":"https:\/\/radiostreamr.com\/radio-france\/#website"},"primaryImageOfPage":{"@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#primaryimage"},"image":{"@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#primaryimage"},"thumbnailUrl":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp","datePublished":"2024-11-02T16:38:56+00:00","dateModified":"2024-11-03T15:45:19+00:00","author":{"@id":"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646"},"description":"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !","breadcrumb":{"@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#primaryimage","url":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp","contentUrl":"https:\/\/radiostreamr.com\/radio-france\/wp-content\/uploads\/2024\/11\/fip-logo-en-direct.webp","width":225,"height":224,"caption":"\u00c9coutez FIP en direct et explorez toutes ses webradios : jazz, rock, groove. Compatible Chromecast, \u00e9coutez o\u00f9 vous voulez !"},{"@type":"BreadcrumbList","@id":"https:\/\/radiostreamr.com\/radio-france\/ecoutez-en-direct-fip\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/radiostreamr.com\/radio-france\/"},{"@type":"ListItem","position":2,"name":"FIP \ud83c\udfb6 &#8211; Ecoutez en direct les Webradios gratuitement"}]},{"@type":"WebSite","@id":"https:\/\/radiostreamr.com\/radio-france\/#website","url":"https:\/\/radiostreamr.com\/radio-france\/","name":"RadioStreamR - Ecoutez la Radio fran\u00e7aise en ligne en direct","description":"\u00c9coutez les meilleures stations de radio fran\u00e7aises en direct. Musique, actualit\u00e9s, et \u00e9missions locales - disponibles partout, \u00e0 tout moment.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/radiostreamr.com\/radio-france\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/8109b41ba8df99078005b58e0274a646","name":"admin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/radiostreamr.com\/radio-france\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/94a5a2d7ac834dce40e1e25743dcb576?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/radiostreamr.com\/radio-france"],"url":"https:\/\/radiostreamr.com\/radio-france\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/comments?post=447"}],"version-history":[{"count":10,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/447\/revisions"}],"predecessor-version":[{"id":506,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/posts\/447\/revisions\/506"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/media\/448"}],"wp:attachment":[{"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/media?parent=447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/categories?post=447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/radiostreamr.com\/radio-france\/wp-json\/wp\/v2\/tags?post=447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}