{"id":24,"date":"2026-01-26T14:38:01","date_gmt":"2026-01-26T14:38:01","guid":{"rendered":"https:\/\/prosongcatalog.com\/index.php\/universal-catalog-search\/"},"modified":"2026-01-26T14:38:01","modified_gmt":"2026-01-26T14:38:01","slug":"universal-catalog-search","status":"publish","type":"page","link":"https:\/\/prosongcatalog.com\/index.php\/universal-catalog-search\/","title":{"rendered":"Universal Catalog Search"},"content":{"rendered":"        <div id=\"kj-universal-search-container\">\r\n            <div class=\"kj-info-section\">\r\n                <p><strong>This Multi Tab tool will allow you to strategically search for songs that match only what you want to see or hear. You can search by any combination of fields and download the files you need.<\/strong><\/p>\r\n                <p class=\"kj-auth-notice\"><strong>Note: You will need to register to gain access to Download any files on this page.<\/strong><\/p>\r\n                <div class=\"kj-selection-status\">\r\n                    <p id=\"kj-instruction-text\">Click any song in the list below and use the buttons below to get info<\/p>\r\n                    <p id=\"kj-selection-display\" class=\"kj-no-selection\"><strong>No song selected<\/strong><\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div id=\"kj-action-buttons-placeholder\"><\/div>\r\n            <div id=\"kj-action-buttons-panel\" class=\"kj-action-buttons\">\r\n                <button type=\"button\" class=\"kj-action-btn kj-btn-lyric\" onclick=\"handleActionButton('lyric')\">Lyric Sheet<\/button>\r\n                <button type=\"button\" class=\"kj-action-btn kj-btn-pitch\" onclick=\"handleActionButton('pitch')\">Pitch Sheet<\/button>\r\n                <button type=\"button\" class=\"kj-action-btn kj-btn-licensing\" onclick=\"handleActionButton('licensing')\">Licensing Info<\/button>\r\n                <button type=\"button\" class=\"kj-action-btn kj-btn-meta\" onclick=\"handleActionButton('meta')\">Meta Data<\/button>\r\n                <button type=\"button\" class=\"kj-action-btn kj-btn-auth\" onclick=\"handleActionButton('auth')\">Authorship Human\/AI<\/button>\r\n                <button type=\"button\" class=\"kj-action-btn kj-btn-files\" onclick=\"handleActionButton('files')\">Get Files<\/button>\r\n                <button type=\"button\" id=\"kj-clear-selection\" class=\"kj-action-btn\" style=\"background:#6c757d;\" onclick=\"clearSongSelection()\">Clear Selection<\/button>\r\n            <\/div>\r\n\r\n            <div class=\"kj-search-buttons\">\r\n                <button type=\"button\" class=\"kj-search-btn active\" data-tab=\"metadata\">Search By Metadata<\/button>\r\n                <button type=\"button\" class=\"kj-search-btn\" data-tab=\"authorship\">Search By Authorship<\/button>\r\n                <button type=\"button\" class=\"kj-search-btn\" data-tab=\"vocal\">Search By Vocal Info<\/button>\r\n                <button type=\"button\" class=\"kj-search-btn\" data-tab=\"pitch\">Search By Pitch Info<\/button>\r\n                <button type=\"button\" class=\"kj-search-btn\" data-tab=\"licensing\">Search By Licensing Info<\/button>\r\n            <\/div>\r\n\r\n            <div style=\"text-align: center; margin: 15px 0;\">\r\n                <button type=\"button\" id=\"kj-clear-all\" class=\"kj-btn-clear\">Clear All Search Criteria<\/button>\r\n            <\/div>\r\n\r\n            <div class=\"kj-search-container\">\r\n                <form id=\"kj-search-form\">\r\n                    <div class=\"kj-search-section active\" data-tab=\"metadata\">\r\n                        <h4>Search By Metadata<\/h4>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Song Title<\/label>\r\n                                <input type=\"text\" name=\"song_title\" placeholder=\"Search by song title...\">\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Writer(s)<\/label>\r\n                                <input type=\"text\" name=\"songwriter\" placeholder=\"Search by writer...\">\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Tempo (BPM)<\/label>\r\n                                <input type=\"text\" name=\"bpm\" placeholder=\"Search by BPM...\">\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Key<\/label>\r\n                                <input type=\"text\" name=\"key_signature\" placeholder=\"Search by key...\">\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Length (mm:ss)<\/label>\r\n                                <input type=\"text\" name=\"duration\" placeholder=\"Search by duration...\">\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"kj-search-section\" data-tab=\"authorship\">\r\n                        <h4>Search By Authorship<\/h4>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Lyrics<\/label>\r\n                                <div class=\"kj-radio-group\">\r\n                                    <label><input type=\"radio\" name=\"lyrics_origin\" value=\"\"> Any<\/label>\r\n                                    <label><input type=\"radio\" name=\"lyrics_origin\" value=\"Human\"> Human<\/label>\r\n                                    <label><input type=\"radio\" name=\"lyrics_origin\" value=\"AI\"> AI<\/label>\r\n                                    <label><input type=\"radio\" name=\"lyrics_origin\" value=\"Both Human and AI\"> Both Human and AI<\/label>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Melody<\/label>\r\n                                <div class=\"kj-radio-group\">\r\n                                    <label><input type=\"radio\" name=\"melody_origin\" value=\"\"> Any<\/label>\r\n                                    <label><input type=\"radio\" name=\"melody_origin\" value=\"Human\"> Human<\/label>\r\n                                    <label><input type=\"radio\" name=\"melody_origin\" value=\"AI\"> AI<\/label>\r\n                                    <label><input type=\"radio\" name=\"melody_origin\" value=\"Both Human and AI\"> Both Human and AI<\/label>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Production<\/label>\r\n                                <div class=\"kj-radio-group\">\r\n                                    <label><input type=\"radio\" name=\"production_origin\" value=\"\"> Any<\/label>\r\n                                    <label><input type=\"radio\" name=\"production_origin\" value=\"Human\"> Human<\/label>\r\n                                    <label><input type=\"radio\" name=\"production_origin\" value=\"AI\"> AI<\/label>\r\n                                    <label><input type=\"radio\" name=\"production_origin\" value=\"Both Human and AI\"> Both Human and AI<\/label>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Demo Vocal<\/label>\r\n                                <div class=\"kj-radio-group\">\r\n                                    <label><input type=\"radio\" name=\"demo_vocal_origin\" value=\"\"> Any<\/label>\r\n                                    <label><input type=\"radio\" name=\"demo_vocal_origin\" value=\"Human\"> Human<\/label>\r\n                                    <label><input type=\"radio\" name=\"demo_vocal_origin\" value=\"AI\"> AI<\/label>\r\n                                    <label><input type=\"radio\" name=\"demo_vocal_origin\" value=\"Both Human and AI\"> Both Human and AI<\/label>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"kj-search-section\" data-tab=\"vocal\">\r\n                        <h4>Search By Vocal Info<\/h4>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Vocal Type<\/label>\r\n                                <div class=\"kj-radio-group\">\r\n                                    <label><input type=\"radio\" name=\"vocal_type\" value=\"\"> Any<\/label>\r\n                                    <label><input type=\"radio\" name=\"vocal_type\" value=\"male\"> Male<\/label>\r\n                                    <label><input type=\"radio\" name=\"vocal_type\" value=\"female\"> Female<\/label>\r\n                                    <label><input type=\"radio\" name=\"vocal_type\" value=\"duet\"> Duet<\/label>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Vocal Range<\/label>\r\n                                <input type=\"text\" name=\"vocal_range\" placeholder=\"Search by vocal range...\">\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"kj-search-section\" data-tab=\"pitch\">\r\n                        <h4>Search By Pitch Info<\/h4>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Genre<\/label>\r\n                                <select name=\"genre\">\r\n                                    <option value=\"\">Any Genre<\/option>\r\n                                                                    <\/select>\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Song Type<\/label>\r\n                                <select name=\"song_type\">\r\n                                    <option value=\"\">Any Song Type<\/option>\r\n                                                                    <\/select>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Theme\/Tone\/Approach<\/label>\r\n                                <select name=\"theme_tone_approach\">\r\n                                    <option value=\"\">Any Theme\/Tone\/Approach<\/option>\r\n                                                                    <\/select>\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Target Artist References<\/label>\r\n                                <input type=\"text\" name=\"artist_refs\" placeholder=\"Search by artist references...\">\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Pitch Blurb \/ Description<\/label>\r\n                                <textarea name=\"pitch_blurb\" rows=\"3\" placeholder=\"Search in pitch descriptions...\"><\/textarea>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"kj-search-section\" data-tab=\"licensing\">\r\n                        <h4>Search By Licensing Info<\/h4>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>ISRC Code<\/label>\r\n                                <input type=\"text\" name=\"isrc\" placeholder=\"Search by ISRC...\">\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>ISWC #<\/label>\r\n                                <input type=\"text\" name=\"iswc_number\" placeholder=\"Search by ISWC #...\">\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Work ID #<\/label>\r\n                                <input type=\"text\" name=\"bmi_work_number\" placeholder=\"Search by Work ID #...\">\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>CAE\/IPI #<\/label>\r\n                                <input type=\"text\" name=\"bmi_publisher_ip_name_number\" placeholder=\"Search by CAE\/IPI #...\">\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"kj-form-row\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Publisher<\/label>\r\n                                <input type=\"text\" name=\"publisher\" placeholder=\"Search by Publisher...\">\r\n                            <\/div>\r\n                            <div class=\"kj-form-group\">\r\n                                <label>PRO<\/label>\r\n                                <input type=\"text\" name=\"pro\" placeholder=\"Search by PRO...\">\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"kj-search-controls\">\r\n                        <button type=\"submit\" class=\"kj-btn-search\">Search Songs<\/button>\r\n                    <\/div>\r\n                <\/form>\r\n            <\/div>\r\n\r\n            <div id=\"kj-search-results\" class=\"kj-search-results\">\r\n                <table class=\"kj-songs-table\">\r\n                    <thead>\r\n                        <tr>\r\n                            <th>\ud83c\udfb5<\/th>\r\n                            <th>Title<\/th>\r\n                            <th>Writer(s)<\/th>\r\n                            <th>Vocal Type<\/th>\r\n                            <th>Song Type<\/th>\r\n                            <th>Genre<\/th>\r\n                            <th>Theme<\/th>\r\n                            <th>Lyrics<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody id=\"kj-songs-tbody\"><\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n\r\n            <div id=\"kj-modals-container\"><\/div>\r\n\r\n            <div id=\"kj-login-modal\" class=\"kj-modal\" style=\"display: none;\">\r\n                <div class=\"kj-modal-content\">\r\n                    <div class=\"kj-modal-header\">\r\n                        <h3>Login Required for File Access<\/h3>\r\n                        <button class=\"kj-modal-close\" onclick=\"closeModal()\">&times;<\/button>\r\n                    <\/div>\r\n                    <div class=\"kj-modal-body\">\r\n                        <form id=\"kj-login-form\">\r\n                            <div class=\"kj-form-group\">\r\n                                <label>Email Address<\/label>\r\n                                <input type=\"email\" name=\"email\" required>\r\n                            <\/div>\r\n                            <button type=\"submit\" class=\"kj-btn-primary\">Login to Access Files<\/button>\r\n                            <a href=\"\/registration-page\" class=\"kj-btn-secondary\">Register Here<\/a>\r\n                        <\/form>\r\n                        <div id=\"kj-login-message\"><\/div>\r\n                        <div id=\"kj-files-access\" style=\"display:none;\">\r\n                            <h4>File Access Granted!<\/h4>\r\n                            <p>Choose to Listen or Download each available file:<\/p>\r\n                            <div id=\"kj-song-files-container\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div id=\"kj-audio-modal\" class=\"kj-modal\" style=\"display: none;\">\r\n                <div class=\"kj-modal-content\">\r\n                    <div class=\"kj-modal-header\">\r\n                        <h3>Audio Player<\/h3>\r\n                        <button class=\"kj-modal-close\" onclick=\"closeModal()\">&times;<\/button>\r\n                    <\/div>\r\n                    <div class=\"kj-modal-body\">\r\n                        <audio id=\"kj-audio-player\" controls style=\"width: 100%;\">\r\n                            Your browser does not support the audio element.\r\n                        <\/audio>\r\n                        <div style=\"margin-top: 15px; text-align: center;\">\r\n                            <button onclick=\"closeModal()\" class=\"kj-btn-primary\">Close Player<\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <style>\r\n        #kj-universal-search-container { max-width: 1200px; margin: 0 auto; padding: 20px; font-family: Arial, sans-serif; }\r\n        .kj-info-section { text-align: center; padding: 15px; background: #f8f9fa; border-radius: 8px; margin-bottom: 15px; }\r\n        .kj-info-section p { margin: 5px 0; color: #666; font-size: 14px; }\r\n        .kj-auth-notice { color: #d63384; font-weight: bold; }\r\n        .kj-selection-status { border-top: 1px solid #ddd; padding-top: 10px; margin-top: 10px; }\r\n        .kj-no-selection { font-weight: bold; color: #333; }\r\n        .kj-action-buttons { display: flex; justify-content: center; gap: 10px; margin: 15px 0; flex-wrap: wrap; }\r\n        .kj-action-btn { padding: 10px 20px; border: none; border-radius: 6px; cursor: pointer; color: white; font-size: 14px; }\r\n        .kj-btn-lyric { background: #ff9500; }\r\n        .kj-btn-pitch { background: #dc3545; }\r\n        .kj-btn-licensing { background: #6f42c1; }\r\n        .kj-btn-meta { background: #17a2b8; }\r\n        .kj-btn-auth { background: #28a745; }\r\n        .kj-btn-files { background: #fd7e14; }\r\n        .kj-search-buttons { display: flex; justify-content: center; gap: 10px; margin: 15px 0; flex-wrap: wrap; }\r\n        .kj-search-btn { padding: 10px 20px; border: none; border-radius: 6px; cursor: pointer; color: white; font-size: 14px; background: #6c757d; }\r\n        .kj-search-btn.active { background: #2c5530; }\r\n        .kj-search-btn:hover { opacity: 0.9; }\r\n        .kj-search-container { background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); margin: 20px 0; }\r\n        .kj-search-section { padding: 20px; display: none; }\r\n        .kj-search-section.active { display: block; }\r\n        .kj-search-section h4 { margin: 0 0 15px 0; color: #2c5530; font-size: 18px; }\r\n        .kj-btn-clear { padding: 8px 16px; background: #6c757d; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; }\r\n        .kj-form-row { display: flex; gap: 20px; margin-bottom: 20px; }\r\n        .kj-form-group { flex: 1; }\r\n        .kj-form-group label { display: block; font-weight: 600; color: #2c5530; margin-bottom: 8px; font-size: 14px; }\r\n        .kj-form-group input, .kj-form-group textarea, .kj-form-group select { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; box-sizing: border-box; }\r\n        .kj-checkbox-group, .kj-radio-group { display: flex; flex-direction: column; gap: 8px; }\r\n        .kj-checkbox-group label, .kj-radio-group label { font-weight: normal; display: flex; align-items: center; margin-bottom: 0; cursor: pointer; }\r\n        .kj-checkbox-group input, .kj-radio-group input { width: auto; margin-right: 8px; }\r\n        .kj-search-controls { padding: 20px; text-align: center; background: #f8f9fa; border-top: 1px solid #ddd; }\r\n        .kj-btn-search { background: #2c5530; color: white; border: none; padding: 12px 30px; border-radius: 6px; cursor: pointer; font-size: 16px; font-weight: 600; }\r\n        \r\n        .kj-songs-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14px; }\r\n        .kj-songs-table th { background: #2c5530; color: white; padding: 10px; text-align: left; border: 1px solid #ddd; font-weight: normal; }\r\n        .kj-songs-table td { padding: 8px; border: 1px solid #ddd; }\r\n        .kj-songs-table tbody tr { cursor: pointer; }\r\n        .kj-songs-table tbody tr:nth-child(even) { background: #f0f8f0; }\r\n        .kj-songs-table tbody tr:nth-child(odd) { background: white; }\r\n        .kj-songs-table tbody tr:hover { opacity: 0.8; }\r\n        .kj-songs-table tbody tr.selected { background: #d4edda !important; }\r\n        .kj-songs-table td strong { font-weight: bold; }\r\n        .kj-lyric-link { color: #007bff; text-decoration: underline; cursor: pointer; }\r\n        .kj-lyric-link:hover { color: #0056b3; }\r\n        \r\n        .kj-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 10000; display: flex; align-items: center; justify-content: center; }\r\n        .kj-modal-content { background: #fff; border-radius: 12px; max-width: 500px; width: 90%; max-height: 80vh; overflow-y: auto; }\r\n        .kj-modal-header { background: #2c5530; color: white; padding: 20px; border-radius: 12px 12px 0 0; display: flex; justify-content: space-between; align-items: center; }\r\n        .kj-modal-close { background: none; border: none; color: white; font-size: 24px; cursor: pointer; }\r\n        .kj-modal-body { padding: 25px; }\r\n        .kj-btn-primary { background: #2c5530; color: white; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; margin-right: 10px; }\r\n        .kj-btn-secondary { background: #6c757d; color: white; padding: 10px 20px; border-radius: 6px; text-decoration: none; cursor: pointer; }\r\n        .kj-file-item { margin: 15px 0; padding: 15px; border: 1px solid #ddd; border-radius: 4px; background: #f9f9f9; }\r\n        .kj-btn-listen { background: #17a2b8; color: white; border: none; padding: 8px 15px; border-radius: 4px; cursor: pointer; margin: 5px; }\r\n        .kj-btn-download-direct { background: #28a745; color: white; border: none; padding: 8px 15px; border-radius: 4px; cursor: pointer; margin: 5px; text-decoration: none; display: inline-block; }\r\n        @media (max-width: 768px) {\r\n            .kj-form-row { flex-direction: column; gap: 15px; }\r\n            .kj-action-buttons { flex-direction: column; align-items: center; }\r\n        }\r\n        \/* Writer popup modal styles *\/\r\n        .kj-writers-btn{background:#3498db;color:#fff;border:none;padding:4px 8px;border-radius:3px;cursor:pointer;font-size:11px;margin-left:5px;}\r\n        .kj-writers-btn:hover{background:#2980b9;}\r\n        .kj-writers-modal{display:none;position:fixed;z-index:10001;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.7);}\r\n        .kj-writers-modal-content{background:#fff;margin:5% auto;padding:30px;border-radius:8px;max-width:700px;position:relative;}\r\n        .kj-writers-modal-close{position:absolute;right:15px;top:15px;font-size:28px;cursor:pointer;color:#999;}\r\n        .kj-writers-modal-close:hover{color:#000;}\r\n        .kj-stop-button:hover{background:#c0392b !important;}\r\n        <\/style>\r\n\r\n        <script>\r\n        \/* Writer popup modal functions *\/\r\n        function openWritersModal(id) {\r\n            document.getElementById('writer-modal-' + id).style.display = 'block';\r\n        }\r\n        function closeWritersModal(id) {\r\n            document.getElementById('writer-modal-' + id).style.display = 'none';\r\n        }\r\n        window.addEventListener('click', function(e) {\r\n            if (e.target.classList.contains('kj-writers-modal')) {\r\n                e.target.style.display = 'none';\r\n            }\r\n        });\r\n        \r\n        let selectedSongId = null;\r\n        let selectedSongTitle = '';\r\n        let selectedSongData = {};\r\n        const KJ_SEL_KEY = 'kj_ucsv16_selection';\r\n\r\n        function persistSelection() {\r\n            try {\r\n                const payload = {id: selectedSongId||null,title: selectedSongTitle||'',lyricUrl: selectedSongData.lyricUrl||'',pitchUrl: selectedSongData.pitchUrl||''};\r\n                localStorage.setItem(KJ_SEL_KEY, JSON.stringify(payload));\r\n            } catch(e){}\r\n        }\r\n        function restoreSelection() {\r\n            try {\r\n                const raw = localStorage.getItem(KJ_SEL_KEY);\r\n                if (!raw) return null;\r\n                const obj = JSON.parse(raw);\r\n                if (!obj || !obj.id) return null;\r\n                return obj;\r\n            } catch(e){ return null; }\r\n        }\r\n        function clearSongSelection() {\r\n            try { localStorage.removeItem(KJ_SEL_KEY); } catch(e){}\r\n            selectedSongId = null;\r\n            selectedSongTitle = '';\r\n            selectedSongData = {};\r\n            const selRow = jQuery('.kj-songs-table tbody tr.selected');\r\n            if (selRow.length) selRow.removeClass('selected');\r\n            jQuery('#kj-selection-display').html('<strong>No song selected<\/strong>');\r\n            jQuery('#kj-instruction-text').html('Click any song in the list below and use the buttons below to get info');\r\n            \r\n            \/\/ Stop all audio players\r\n            const allPlayers = document.querySelectorAll('.kj-universal-audio-player');\r\n            allPlayers.forEach(function(p) {\r\n                p.pause();\r\n                p.currentTime = 0;\r\n            });\r\n            \r\n            \/\/ Remove panel from table row\r\n            const panelRow = document.getElementById('kj-action-panel-row');\r\n            if (panelRow) {\r\n                panelRow.remove();\r\n            }\r\n            \r\n            \/\/ Move action panel back to original position\r\n            const actionPanel = document.getElementById('kj-action-buttons-panel');\r\n            const placeholder = document.getElementById('kj-action-buttons-placeholder');\r\n            if (actionPanel && placeholder) {\r\n                actionPanel.style.margin = '';\r\n                placeholder.parentNode.insertBefore(actionPanel, placeholder.nextSibling);\r\n            }\r\n        }\r\n\r\n        jQuery(document).ready(function($) {\r\n            loadAllSongs();\r\n            const restored = restoreSelection();\r\n\r\n            $('.kj-search-btn').on('click', function(e) {\r\n                e.preventDefault();\r\n                const tabName = $(this).data('tab');\r\n                $('.kj-search-btn').removeClass('active');\r\n                $(this).addClass('active');\r\n                $('.kj-search-section').removeClass('active');\r\n                $('.kj-search-section[data-tab=\"' + tabName + '\"]').addClass('active');\r\n            });\r\n\r\n            $('#kj-clear-all').on('click', function() {\r\n                $('#kj-search-form')[0].reset();\r\n                loadAllSongs();\r\n            });\r\n\r\n            $('#kj-search-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n                performAdvancedSearch();\r\n            });\r\n\r\n            $(document).on('click', '.kj-songs-table tbody tr', function(e) {\r\n                \/\/ Don't select if clicking writer button\r\n                if($(e.target).hasClass('kj-writers-btn')) return;\r\n                \r\n                const songId = $(this).data('song-id');\r\n                const songTitle = $(this).data('song-title');\r\n                const lyricUrl = $(this).data('lyric-url');\r\n                const pitchUrl = $(this).data('pitch-url');\r\n                updateSelectedSong(songId, songTitle, {lyricUrl: lyricUrl,pitchUrl: pitchUrl});\r\n                persistSelection();\r\n            });\r\n\r\n            $(document).on('click', '.kj-lyric-link', function(e) {\r\n                e.stopPropagation();\r\n                const url = $(this).data('url');\r\n                if (url) {\r\n                    \/\/ Route through PSC Document Handler\r\n                    const handlerUrl = 'https:\/\/prosongcatalog.com\/?psc_doc_handler=1&psc_doc_path=' + encodeURIComponent(url);\r\n                    window.open(handlerUrl, '_blank');\r\n                }\r\n            });\r\n\r\n            $(document).on('click', '.kj-btn-listen', function(e) {\r\n                e.preventDefault();\r\n                const audioUrl = $(this).data('url');\r\n                if (audioUrl) {\r\n                    $('#kj-audio-player').attr('src', audioUrl);\r\n                    $('#kj-audio-modal').show();\r\n                    $('#kj-audio-player')[0].load();\r\n                    $('#kj-audio-player')[0].play();\r\n                }\r\n            });\r\n\r\n            $('#kj-login-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n                const email = $(this).find('input[name=\"email\"]').val();\r\n                $('#kj-login-message').html('<p>Logging in...<\/p>');\r\n                $.post('https:\/\/prosongcatalog.com\/wp-admin\/admin-ajax.php', {\r\n                    action: 'kj_user_login',\r\n                    nonce: '256114647f',\r\n                    email: email\r\n                }, function(response) {\r\n                    if (response.success) {\r\n                        $('#kj-login-form').hide();\r\n                        $('#kj-login-message').html('<p style=\"color: green;\">Login successful!<\/p>');\r\n                        if (selectedSongId) {\r\n                            loadSongFiles(selectedSongId);\r\n                            $('#kj-files-access').show();\r\n                        }\r\n                    } else {\r\n                        $('#kj-login-message').html('<p style=\"color: red;\">Login failed. Please try again.<\/p>');\r\n                    }\r\n                });\r\n            });\r\n\r\n            function loadSongFiles(songId) {\r\n                $.post('https:\/\/prosongcatalog.com\/wp-admin\/admin-ajax.php', {\r\n                    action: 'kj_get_song_files',\r\n                    nonce: '1034bee281',\r\n                    song_id: songId\r\n                }, function(response) {\r\n                    if (response.success) {\r\n                        const files = response.data;\r\n                        let html = '';\r\n                        if (files.streaming_master) {\r\n                            html += '<div class=\"kj-file-item\"><strong>Streaming Master.mp3<\/strong><br>';\r\n                            html += '<button class=\"kj-btn-listen\" data-url=\"' + files.streaming_master + '\">Listen<\/button>';\r\n                            html += '<a href=\"' + files.streaming_master + '\" download class=\"kj-btn-download-direct\">Download<\/a><\/div>';\r\n                        }\r\n                        if (files.pitch_master) {\r\n                            html += '<div class=\"kj-file-item\"><strong>Pitch Master.mp3<\/strong><br>';\r\n                            html += '<button class=\"kj-btn-listen\" data-url=\"' + files.pitch_master + '\">Listen<\/button>';\r\n                            html += '<a href=\"' + files.pitch_master + '\" download class=\"kj-btn-download-direct\">Download<\/a><\/div>';\r\n                        }\r\n                        if (files.nashville_master) {\r\n                            html += '<div class=\"kj-file-item\"><strong>Nashville Master.mp3<\/strong><br>';\r\n                            html += '<button class=\"kj-btn-listen\" data-url=\"' + files.nashville_master + '\">Listen<\/button>';\r\n                            html += '<a href=\"' + files.nashville_master + '\" download class=\"kj-btn-download-direct\">Download<\/a><\/div>';\r\n                        }\r\n                        if (files.instrumental_version_mp3) {\r\n                            html += '<div class=\"kj-file-item\"><strong>Instrumental Version.mp3<\/strong><br>';\r\n                            html += '<button class=\"kj-btn-listen\" data-url=\"' + files.instrumental_version_mp3 + '\">Listen<\/button>';\r\n                            html += '<a href=\"' + files.instrumental_version_mp3 + '\" download class=\"kj-btn-download-direct\">Download<\/a><\/div>';\r\n                        }\r\n                        $('#kj-song-files-container').html(html || '<p>No downloadable files found for this song.<\/p>');\r\n                    }\r\n                });\r\n            }\r\n\r\n            function loadAllSongs() {\r\n                $.post('https:\/\/prosongcatalog.com\/wp-admin\/admin-ajax.php', {\r\n                    action: 'kj_search_songs',\r\n                    nonce: '9b32328603',\r\n                    search_type: 'all'\r\n                }, function(response) {\r\n                    if (response.success) {\r\n                        displaySongs(response.data);\r\n                        const saved = restored;\r\n                        if (saved && saved.id) {\r\n                            const $row = $('.kj-songs-table tbody tr[data-song-id=\"' + saved.id + '\"]');\r\n                            if ($row.length) {\r\n                                updateSelectedSong(saved.id, saved.title, {lyricUrl: saved.lyricUrl || '',pitchUrl: saved.pitchUrl || ''});\r\n                            } else {\r\n                                selectedSongId = saved.id;\r\n                                selectedSongTitle = saved.title || '';\r\n                                selectedSongData = { lyricUrl: saved.lyricUrl || '', pitchUrl: saved.pitchUrl || '' };\r\n                                $('#kj-selection-display').html('<strong>Selected: ' + selectedSongTitle + '<\/strong>');\r\n                                $('#kj-instruction-text').html('Use any button below to get info for this song.');\r\n                            }\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n\r\n            function performAdvancedSearch() {\r\n                const formData = $('#kj-search-form').serialize();\r\n                $.post('https:\/\/prosongcatalog.com\/wp-admin\/admin-ajax.php', {\r\n                    action: 'kj_search_songs',\r\n                    nonce: '9b32328603',\r\n                    search_type: 'advanced',\r\n                    search_data: formData\r\n                }, function(response) {\r\n                    if (response.success) displaySongs(response.data);\r\n                });\r\n            }\r\n\r\n            function displaySongs(songs) {\r\n                let html = '';\r\n                let modals = '';\r\n                let rowIndex = 0;\r\n                if (songs && songs.length > 0) {\r\n                    songs.forEach(function(song) {\r\n                        html += '<tr data-song-id=\"' + song.id + '\" data-song-title=\"' + (song.title || '') + '\" ';\r\n                        html += 'data-lyric-url=\"' + (song.lyric_url || '') + '\" data-pitch-url=\"' + (song.pitch_url || '') + '\" ';\r\n                        html += 'data-row-index=\"' + rowIndex + '\">';\r\n                        html += '<td style=\"text-align: center;padding:8px;\">';\r\n                        if (song.streaming_master) {\r\n                            html += '<div style=\"display:flex;align-items:center;gap:5px;justify-content:center;\">';\r\n                            html += '<audio class=\"kj-universal-audio-player\" controls controlsList=\"nodownload\" preload=\"none\" style=\"width:150px;height:30px;\"><source src=\"' + song.streaming_master + '\" type=\"audio\/mpeg\"><\/audio>';\r\n                            html += '<button class=\"kj-stop-button\" style=\"background:#e74c3c;color:white;border:none;padding:5px 10px;border-radius:3px;cursor:pointer;font-size:11px;font-weight:bold;white-space:nowrap;\" title=\"Stop\">\u23f9 Stop<\/button>';\r\n                            html += '<\/div>';\r\n                        } else {\r\n                            html += '<span style=\"color:#999;font-style:italic;font-size:12px;\">No Audio<\/span>';\r\n                        }\r\n                        html += '<\/td>';\r\n                        html += '<td><strong>' + (song.title || '') + '<\/strong><\/td>';\r\n                        html += '<td>' + (song.songwriter_display || '') + '<\/td>';\r\n                        html += '<td>' + (song.vocal_type || '') + '<\/td>';\r\n                        html += '<td>' + (song.song_type || '') + '<\/td>';\r\n                        html += '<td>' + (song.genre || '') + '<\/td>';\r\n                        html += '<td>' + (song.theme_tone_approach || '') + '<\/td>';\r\n                        html += '<td>';\r\n                        if (song.lyric_url) {\r\n                            html += '<a href=\"#\" class=\"kj-lyric-link\" data-url=\"' + song.lyric_url + '\">View Lyrics<\/a>';\r\n                        } else {\r\n                            html += '<span style=\"color:#999;font-style:italic;\">N\/A<\/span>';\r\n                        }\r\n                        html += '<\/td>';\r\n                        html += '<\/tr>';\r\n                        \r\n                        if (song.writer_modal) {\r\n                            modals += song.writer_modal;\r\n                        }\r\n                        \r\n                        rowIndex++;\r\n                    });\r\n                } else {\r\n                    html = '<tr><td colspan=\"8\">No songs found<\/td><\/tr>';\r\n                }\r\n                $('#kj-songs-tbody').html(html);\r\n                $('#kj-modals-container').html(modals);\r\n                \r\n                \/\/ Initialize audio player management after songs are loaded\r\n                initializeAudioPlayers();\r\n                \r\n                if (selectedSongId) {\r\n                    const $row = $('.kj-songs-table tbody tr[data-song-id=\"' + selectedSongId + '\"]');\r\n                    if ($row.length) {\r\n                        $('.kj-songs-table tbody tr').removeClass('selected');\r\n                        $row.addClass('selected');\r\n                    }\r\n                }\r\n            }\r\n            \r\n            function initializeAudioPlayers() {\r\n                \/\/ Small delay to ensure DOM is fully updated\r\n                setTimeout(function() {\r\n                    const audioPlayers = document.querySelectorAll('.kj-universal-audio-player');\r\n                    const stopButtons = document.querySelectorAll('.kj-stop-button');\r\n                    const songRows = document.querySelectorAll('.kj-songs-table tbody tr');\r\n                    let autoPlayMode = false;\r\n                    let programmaticPause = false;\r\n                    \r\n                    console.log('Universal Search: Found ' + audioPlayers.length + ' audio players');\r\n                    \r\n                    \/\/ Setup stop buttons\r\n                    stopButtons.forEach(function(stopBtn, index) {\r\n                        stopBtn.addEventListener('click', function(e) {\r\n                            e.stopPropagation(); \/\/ Prevent row selection\r\n                            const player = audioPlayers[index];\r\n                            if (player) {\r\n                                programmaticPause = true;\r\n                                player.pause();\r\n                                player.currentTime = 0;\r\n                                console.log('Stopped audio player ' + index);\r\n                                \r\n                                \/\/ Remove panel from table row\r\n                                const panelRow = document.getElementById('kj-action-panel-row');\r\n                                const actionPanel = document.getElementById('kj-action-buttons-panel');\r\n                                const placeholder = document.getElementById('kj-action-buttons-placeholder');\r\n                                \r\n                                if (panelRow) {\r\n                                    panelRow.remove();\r\n                                }\r\n                                \r\n                                \/\/ Move action panel back to top\r\n                                if (actionPanel && placeholder) {\r\n                                    actionPanel.style.margin = '';\r\n                                    placeholder.parentNode.insertBefore(actionPanel, placeholder.nextSibling);\r\n                                }\r\n                            }\r\n                        });\r\n                    });\r\n                    \r\n                    audioPlayers.forEach(function(player, index) {\r\n                        \/\/ When a player starts\r\n                        player.addEventListener('play', function() {\r\n                            console.log('Universal Search: Playing song ' + index);\r\n                            \r\n                            \/\/ Stop all other players\r\n                            audioPlayers.forEach(function(otherPlayer) {\r\n                                if (otherPlayer !== player && !otherPlayer.paused) {\r\n                                    programmaticPause = true;\r\n                                    otherPlayer.pause();\r\n                                    console.log('Universal Search: Paused another player');\r\n                                }\r\n                            });\r\n                            \r\n                            \/\/ If NOT autoplay mode, this is user-initiated\r\n                            if (!autoPlayMode) {\r\n                                \/\/ Find the corresponding row\r\n                                const row = player.closest('tr');\r\n                                if (row) {\r\n                                    \/\/ Select the song programmatically\r\n                                    const songId = row.getAttribute('data-song-id');\r\n                                    const songTitle = row.getAttribute('data-song-title');\r\n                                    const songData = {\r\n                                        lyricUrl: row.getAttribute('data-lyric-url'),\r\n                                        pitchUrl: row.getAttribute('data-pitch-url')\r\n                                    };\r\n                                    \r\n                                    \/\/ Update selection\r\n                                    selectedSongId = songId;\r\n                                    selectedSongTitle = songTitle;\r\n                                    selectedSongData = songData;\r\n                                    $('.kj-songs-table tbody tr').removeClass('selected');\r\n                                    $(row).addClass('selected');\r\n                                    $('#kj-selection-display').html('<strong>Selected: ' + songTitle + '<\/strong>');\r\n                                    $('#kj-instruction-text').html('Use any button below to get info for this song.');\r\n                                    \r\n                                    \/\/ Move the action panel below this row\r\n                                    const actionPanel = document.getElementById('kj-action-buttons-panel');\r\n                                    const tbody = row.parentNode;\r\n                                    \r\n                                    \/\/ Remove any existing panel row\r\n                                    const existingPanelRow = document.getElementById('kj-action-panel-row');\r\n                                    if (existingPanelRow) {\r\n                                        existingPanelRow.remove();\r\n                                    }\r\n                                    \r\n                                    \/\/ Create a table row to hold the panel\r\n                                    const panelRow = document.createElement('tr');\r\n                                    panelRow.id = 'kj-action-panel-row';\r\n                                    const panelCell = document.createElement('td');\r\n                                    panelCell.colSpan = 8; \/\/ Span all columns\r\n                                    panelCell.style.padding = '0';\r\n                                    panelCell.style.border = 'none';\r\n                                    panelCell.style.backgroundColor = 'transparent';\r\n                                    \r\n                                    \/\/ Ensure panel maintains its styling\r\n                                    actionPanel.style.margin = '10px 0';\r\n                                    \r\n                                    panelCell.appendChild(actionPanel);\r\n                                    panelRow.appendChild(panelCell);\r\n                                    \r\n                                    \/\/ Insert after the selected row\r\n                                    if (row.nextSibling) {\r\n                                        tbody.insertBefore(panelRow, row.nextSibling);\r\n                                    } else {\r\n                                        tbody.appendChild(panelRow);\r\n                                    }\r\n                                }\r\n                            } else {\r\n                                \/\/ Reset autoplay flag\r\n                                autoPlayMode = false;\r\n                            }\r\n                        });\r\n                        \r\n                        \/\/ When user pauses, move panel back\r\n                        player.addEventListener('pause', function() {\r\n                            \/\/ Only move panel back if this was user-initiated pause\r\n                            if (!programmaticPause) {\r\n                                console.log('User paused song, moving panel back');\r\n                                \r\n                                \/\/ Remove panel from table row\r\n                                const panelRow = document.getElementById('kj-action-panel-row');\r\n                                const actionPanel = document.getElementById('kj-action-buttons-panel');\r\n                                const placeholder = document.getElementById('kj-action-buttons-placeholder');\r\n                                \r\n                                if (panelRow) {\r\n                                    panelRow.remove();\r\n                                }\r\n                                \r\n                                \/\/ Move panel back to original position\r\n                                if (actionPanel && placeholder) {\r\n                                    actionPanel.style.margin = '';\r\n                                    placeholder.parentNode.insertBefore(actionPanel, placeholder.nextSibling);\r\n                                }\r\n                            }\r\n                            \/\/ Reset flag\r\n                            programmaticPause = false;\r\n                        });\r\n                        \r\n                        \/\/ When a song ends, play the next one\r\n                        player.addEventListener('ended', function() {\r\n                            console.log('Universal Search: Song ended');\r\n                            \r\n                            \/\/ Remove panel from table row\r\n                            const panelRow = document.getElementById('kj-action-panel-row');\r\n                            const actionPanel = document.getElementById('kj-action-buttons-panel');\r\n                            const placeholder = document.getElementById('kj-action-buttons-placeholder');\r\n                            \r\n                            if (panelRow) {\r\n                                panelRow.remove();\r\n                            }\r\n                            \r\n                            \/\/ Move action panel back to original position\r\n                            if (actionPanel && placeholder) {\r\n                                actionPanel.style.margin = '';\r\n                                placeholder.parentNode.insertBefore(actionPanel, placeholder.nextSibling);\r\n                            }\r\n                            \r\n                            \/\/ Set autoplay mode\r\n                            autoPlayMode = true;\r\n                            \r\n                            \/\/ Play next song\r\n                            const nextIndex = index + 1;\r\n                            if (nextIndex < audioPlayers.length) {\r\n                                audioPlayers[nextIndex].play();\r\n                            } else {\r\n                                autoPlayMode = false;\r\n                            }\r\n                        });\r\n                    });\r\n                }, 100);\r\n            }\r\n\r\n            function updateSelectedSong(songId, songTitle, songData) {\r\n                selectedSongId = songId;\r\n                selectedSongTitle = songTitle || '';\r\n                selectedSongData = songData || {};\r\n                $('.kj-songs-table tbody tr').removeClass('selected');\r\n                if (songId) {\r\n                    const $row = $('.kj-songs-table tbody tr[data-song-id=\"' + songId + '\"]');\r\n                    $row.addClass('selected');\r\n                    $('#kj-selection-display').html('<strong>Selected: ' + selectedSongTitle + '<\/strong>');\r\n                    $('#kj-instruction-text').html('Use any button below to get info for this song.');\r\n                } else {\r\n                    $('#kj-selection-display').html('<strong>No song selected<\/strong>');\r\n                    $('#kj-instruction-text').html('Click any song in the list below and use the buttons below to get info');\r\n                }\r\n            }\r\n        });\r\n\r\n        function handleActionButton(action) {\r\n            if (!selectedSongId) {\r\n                alert('Please select a song first by clicking on a row in the table.');\r\n                return;\r\n            }\r\n            switch(action) {\r\n                case 'lyric':\r\n                    if (selectedSongData.lyricUrl) {\r\n                        const lyricHandlerUrl = 'https:\/\/prosongcatalog.com\/?psc_doc_handler=1&psc_doc_path=' + encodeURIComponent(selectedSongData.lyricUrl);\r\n                        window.open(lyricHandlerUrl, '_blank');\r\n                    } else {\r\n                        alert('No lyric sheet available for this song.');\r\n                    }\r\n                    break;\r\n                case 'pitch':\r\n                    if (selectedSongData.pitchUrl) {\r\n                        const pitchHandlerUrl = 'https:\/\/prosongcatalog.com\/?psc_doc_handler=1&psc_doc_path=' + encodeURIComponent(selectedSongData.pitchUrl);\r\n                        window.open(pitchHandlerUrl, '_blank');\r\n                    } else {\r\n                        alert('No pitch sheet available for this song.');\r\n                    }\r\n                    break;\r\n                case 'licensing':\r\n                    window.open('https:\/\/prosongcatalog.com\/licensing-info-popup\/?song_id=' + selectedSongId, 'licpopup', 'width=860,height=700,scrollbars=yes,resizable=yes');\r\n                    break;\r\n                case 'meta':\r\n                    window.open('https:\/\/prosongcatalog.com\/metadata-info\/?song_id=' + selectedSongId, 'metapopup', 'width=860,height=700,scrollbars=yes,resizable=yes');\r\n                    break;\r\n                case 'auth':\r\n                    window.open('https:\/\/prosongcatalog.com\/authorship-info\/?song_id=' + selectedSongId, 'authpopup', 'width=860,height=700,scrollbars=yes,resizable=yes');\r\n                    break;\r\n                case 'files':\r\n                    document.getElementById('kj-login-modal').style.display = 'flex';\r\n                    break;\r\n            }\r\n        }\r\n\r\n        function closeModal() {\r\n            document.getElementById('kj-login-modal').style.display = 'none';\r\n            document.getElementById('kj-audio-modal').style.display = 'none';\r\n            const audioPlayer = document.getElementById('kj-audio-player');\r\n            if (audioPlayer) audioPlayer.pause();\r\n        }\r\n\r\n        window.onclick = function(event) {\r\n            const loginModal = document.getElementById('kj-login-modal');\r\n            const audioModal = document.getElementById('kj-audio-modal');\r\n            if (event.target === loginModal || event.target === audioModal) closeModal();\r\n        }\r\n        <\/script>\r\n\r\n        \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_crdt_document":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-24","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/prosongcatalog.com\/index.php\/wp-json\/wp\/v2\/pages\/24","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prosongcatalog.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prosongcatalog.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prosongcatalog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prosongcatalog.com\/index.php\/wp-json\/wp\/v2\/comments?post=24"}],"version-history":[{"count":0,"href":"https:\/\/prosongcatalog.com\/index.php\/wp-json\/wp\/v2\/pages\/24\/revisions"}],"wp:attachment":[{"href":"https:\/\/prosongcatalog.com\/index.php\/wp-json\/wp\/v2\/media?parent=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}