{"id":200,"date":"2026-02-13T13:20:08","date_gmt":"2026-02-13T13:20:08","guid":{"rendered":"https:\/\/29black.com\/blog\/home-2\/"},"modified":"2026-07-24T13:59:25","modified_gmt":"2026-07-24T13:59:25","slug":"home-2","status":"publish","type":"page","link":"https:\/\/29black.com\/blog\/","title":{"rendered":"Home"},"content":{"rendered":"<div id=\"tdi_1\" class=\"tdc-zone\"><div class=\"tdc_zone tdi_2  wpb_row td-pb-row\"  >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_2{\r\n                    min-height: 0;\r\n                }\n<\/style><div id=\"tdi_3\" class=\"tdc-row stretch_row_1200 td-stretch-content\"><div class=\"vc_row tdi_4  wpb_row td-pb-row\" >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_4,\r\n                .tdi_4 .tdc-columns{\r\n                    min-height: 0;\r\n                }.tdi_4,\r\n\t\t\t\t.tdi_4 .tdc-columns{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_4 .tdc-columns{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_4:before,\r\n\t\t\t\t.tdi_4:after{\r\n\t\t\t\t    display: table;\r\n\t\t\t\t}\n\/* inline tdc_css att - generated by TagDiv Composer *\/\n\n.tdi_4{\n--tdb-scroll-anim:none !important;\n}\n\n.tdi_4 .td_block_wrap{ text-align:left }\n\n\/* phone *\/\n@media (max-width: 767px)\n{\n.tdi_4{\nmargin-right:-20px !important;\nmargin-bottom:45px !important;\nmargin-left:-20px !important;\nwidth:auto !important;\n}\n}\n\n\/* landscape *\/\n@media (min-width: 1019px) and (max-width: 1140px)\n{\n.tdi_4{\nmargin-bottom:50px !important;\n}\n}\n\n\/* portrait *\/\n@media (min-width: 768px) and (max-width: 1018px)\n{\n.tdi_4{\nmargin-bottom:40px !important;\n}\n}\n\n<\/style><div class=\"vc_column tdi_6  wpb_column vc_column_container tdc-column td-pb-span12\">\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_6{\r\n                    vertical-align: baseline;\r\n                }.tdi_6 > .wpb_wrapper,\r\n\t\t\t\t.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .vc_row_inner{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t    height: auto;\r\n\t\t\t\t}\n\/* inline tdc_css att - generated by TagDiv Composer *\/\n\n\/* phone *\/\n@media (max-width: 767px)\n{\n.tdi_6{\nmargin-right:20px !important;\nmargin-bottom:0px !important;\nmargin-left:20px !important;\n--tdb-scroll-anim:none !important;\n}\n}\n\n<\/style><div class=\"wpb_wrapper\" ><div class=\"td_block_wrap tdb_breadcrumbs tdi_7 td-pb-border-top td_block_template_1 tdb-breadcrumbs \"  data-td-block-uid=\"tdi_7\" >\n<style>\n\/* custom css - generated by TagDiv Composer *\/\n.tdb-breadcrumbs{\r\n                  margin-bottom: 11px;\r\n                  font-family: var(--td_default_google_font_1, 'Open Sans', 'Open Sans Regular', sans-serif);\r\n                  font-size: 12px;\r\n                  color: #747474;\r\n                  line-height: 18px;\r\n                }.tdb-breadcrumbs a{\r\n                  color: #747474;\r\n                }.tdb-breadcrumbs a:hover{\r\n                  color: #000;\r\n                }.tdb-breadcrumbs .tdb-bread-sep{\r\n                  line-height: 1;\r\n                  vertical-align: middle;\r\n                }.tdb-breadcrumbs .tdb-bread-sep-svg svg{\r\n                  height: auto;\r\n                }.tdb-breadcrumbs .tdb-bread-sep-svg svg,\r\n                .tdb-breadcrumbs .tdb-bread-sep-svg svg *{\r\n                  fill: #c3c3c3;\r\n                }.single-tdb_templates.author-template .tdb_breadcrumbs{\r\n                  margin-bottom: 2px;\r\n                }.tdb_category_breadcrumbs{\r\n                  margin: 21px 0 9px;\r\n                }.search-results .tdb_breadcrumbs{\r\n                  margin-bottom: 2px;\r\n                }.tdi_7 .tdb-bread-sep{\r\n                    font-size: 8px;\r\n                \r\n                    margin: 0 5px;\r\n                }.td-theme-wrap .tdi_7{\r\n\t\t\t\t\ttext-align: left;\r\n\t\t\t\t}.tdi_7{\r\n\t\t\t\t\tfont-size:18px !important;\r\n\t\t\t\t}\n<\/style><div class=\"tdb-block-inner td-fix-index\"><span class=\"tdb-bred-no-url-last\">Sample Page<\/span><\/div><\/div><script type=\"application\/ld+json\">\r\n                        {\r\n                            \"@context\": \"https:\/\/schema.org\",\r\n                            \"@type\": \"BreadcrumbList\",\r\n                            \"itemListElement\": [{\r\n                            \"@type\": \"ListItem\",\r\n                            \"position\": 1,\r\n                                \"item\": {\r\n                                \"@type\": \"WebSite\",\r\n                                \"@id\": \"https:\/\/29black.com\/blog\/\",\r\n                                \"name\": \"Home\"                                               \r\n                            }\r\n                        },{\r\n                            \"@type\": \"ListItem\",\r\n                            \"position\": 2,\r\n                                \"item\": {\r\n                                \"@type\": \"WebPage\",\r\n                                \"@id\": \"\",\r\n                                \"name\": \"Sample Page\"\r\n                            }\r\n                        }    ]\r\n                        }\r\n                       <\/script><div class=\"td_block_wrap td_block_title tdi_8 td-pb-border-top td_block_template_2 td-fix-index\"  data-td-block-uid=\"tdi_8\" >\n<style>\n.td_block_template_2.widget > ul > li {\r\n                margin-left: 0 !important;\r\n            }\r\n            \r\n            .td_block_template_2 .td-block-title {\r\n                font-size: 17px;\r\n                font-weight: 500;\r\n                margin-top: 0;\r\n                margin-bottom: 16px;\r\n                line-height: 31px;\r\n                text-align: left;\r\n            }\r\n            .td_block_template_2 .td-block-title > * {\r\n                color: var(--td_text_header_color, #000);\r\n            }\r\n            .td_block_template_2 .td-related-title a {\r\n                padding: 0 20px 0 0;\r\n            }\r\n            @media (max-width: 767px) {\r\n                .td_block_template_2 .td-related-title a {\r\n                    font-size: 15px;\r\n                }\r\n            }\r\n            .td_block_template_2 .td-related-title .td-cur-simple-item {\r\n                color: var(--td_theme_color, #4db2ec);\r\n            }\r\n            \r\n            \r\n            \r\n            \r\n            .td-theme-wrap .tdi_8 .td-block-title > *,\r\n            .td-theme-wrap .tdi_8 .td-pulldown-filter-link:hover,\r\n            .td-theme-wrap .tdi_8 .td-subcat-item a:hover,\r\n            .td-theme-wrap .tdi_8 .td-subcat-item .td-cur-simple-item,\r\n            .td-theme-wrap .tdi_8 .td-subcat-dropdown:hover .td-subcat-more span,\r\n            .td-theme-wrap .tdi_8 .td-subcat-dropdown:hover .td-subcat-more i {\r\n                color: #ffffff;\r\n            }\r\n\r\n            .td-theme-wrap .tdi_8 .td-subcat-dropdown ul:after {\r\n                background-color: #ffffff;\r\n            }\r\n            \r\n            \r\n            .td-theme-wrap .tdi_8 .td_module_wrap:hover .entry-title a,\r\n            .td-theme-wrap .tdi_8 .td_quote_on_blocks,\r\n            .td-theme-wrap .tdi_8 .td-opacity-cat .td-post-category:hover,\r\n            .td-theme-wrap .tdi_8 .td-opacity-read .td-read-more a:hover,\r\n            .td-theme-wrap .tdi_8 .td-opacity-author .td-post-author-name a:hover,\r\n            .td-theme-wrap .tdi_8 .td-instagram-user a {\r\n                color: #ffffff;\r\n            }\r\n\r\n            .td-theme-wrap .tdi_8 .td-next-prev-wrap a:hover,\r\n            .td-theme-wrap .tdi_8 .td-load-more-wrap a:hover {\r\n                background-color: #ffffff;\r\n                border-color: #ffffff;\r\n            }\r\n\r\n            .td-theme-wrap .tdi_8 .td-read-more a,\r\n            .td-theme-wrap .tdi_8 .td-weather-information:before,\r\n            .td-theme-wrap .tdi_8 .td-weather-week:before,\r\n            .td-theme-wrap .tdi_8 .td-exchange-header:before,\r\n            .td-theme-wrap .td-footer-wrapper .tdi_8 .td-post-category,\r\n            .td-theme-wrap .tdi_8 .td-post-category:hover {\r\n                background-color: #ffffff;\r\n            }\n\/* inline tdc_css att - generated by TagDiv Composer *\/\n\n.tdi_8{\nborder-color:#000000 !important;\n--tdb-scroll-anim:none !important;\nborder-style:solid !important;\nborder-width:0 !important;\n}\n\n\/* phone *\/\n@media (max-width: 767px)\n{\n.tdi_8{\nmargin-top:0px !important;\nmargin-bottom:0px !important;\npadding-top:0px !important;\npadding-right:0px !important;\npadding-bottom:0px !important;\npadding-left:0px !important;\n}\n}\n\n<\/style>\n<style>\n\/* custom css - generated by TagDiv Composer *\/\nbody .tdi_8 .td-block-title a,\r\n\t\t\t\tbody .tdi_8 .td-block-title span{\r\n\t\t\t\t\tfont-size:56px !important;font-weight:600 !important;\r\n\t\t\t\t}body .tdi_8 .td-block-title{\r\n\t\t\t\t\ttext-align: left;\r\n\t\t\t\t}body .tdi_8.td_block_template_4 .td-block-title > *:before{\r\n\t\t\t\t    right: auto;\r\n\t\t\t\t    left: 10px;\r\n\t\t\t\t}body .tdi_8.td_block_template_5 .td-block-title > *{\r\n\t\t\t\t    border-width: 0 0 0 4px;\r\n\t\t\t\t}body .tdi_8.td_block_template_8 .td-block-title > *{\r\n\t\t\t\t\tpadding-left: 0;\r\n\t\t\t\t\tpadding-right: 20px;\r\n\t\t\t\t}body .tdi_8.td_block_template_9 .td-block-title:after{\r\n\t\t\t\t\tright: auto;\r\n\t\t\t\t\tleft: 0;\r\n\t\t\t\t}body .tdi_8.td_block_template_13 .td-block-subtitle{\r\n\t\t\t\t\tright: auto;\r\n\t\t\t\t\tleft: -4px;\r\n\t\t\t\t}body .tdi_8.td_block_template_17 .td-block-title:after{\r\n\t\t\t\t\tright: auto;\r\n\t\t\t\t\tleft: 15px;\r\n\t\t\t\t}body .tdi_8.td_block_template_12 .td-block-title{\r\n\t\t\t\t\tjustify-content: flex-start;\r\n\t\t\t\t}\n<\/style><div class=\"td-block-title-wrap\"><h1 class=\"td-block-title\"><span class=\"td-pulldown-size\">Blog<\/span><\/h1><\/div><\/div><\/div><\/div><\/div><\/div><div id=\"tdi_9\" class=\"tdc-row stretch_row_1200 td-stretch-content\"><div class=\"vc_row tdi_10  wpb_row td-pb-row\" >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_10,\r\n                .tdi_10 .tdc-columns{\r\n                    min-height: fit;\r\n                }.tdi_10,\r\n\t\t\t\t.tdi_10 .tdc-columns{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_10 .tdc-columns{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_10:before,\r\n\t\t\t\t.tdi_10:after{\r\n\t\t\t\t    display: table;\r\n\t\t\t\t}\n\/* inline tdc_css att - generated by TagDiv Composer *\/\n\n.tdi_10{\nmargin-bottom:70px !important;\n}\n\n.tdi_10 .td_block_wrap{ text-align:left }\n\n\/* phone *\/\n@media (max-width: 767px)\n{\n.tdi_10{\nmargin-top:0px !important;\nmargin-right:-20px !important;\nmargin-bottom:45px !important;\nmargin-left:-20px !important;\npadding-top:0px !important;\npadding-right:0px !important;\npadding-bottom:0px !important;\npadding-left:0px !important;\nwidth:auto !important;\n--tdb-scroll-anim:none !important;\n}\n}\n\n\/* landscape *\/\n@media (min-width: 1019px) and (max-width: 1140px)\n{\n.tdi_10{\nmargin-bottom:50px !important;\n}\n}\n\n\/* portrait *\/\n@media (min-width: 768px) and (max-width: 1018px)\n{\n.tdi_10{\nmargin-bottom:40px !important;\n}\n}\n\n<\/style><div class=\"vc_column tdi_12  wpb_column vc_column_container tdc-column td-pb-span12\">\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_12{\r\n                    vertical-align: baseline;\r\n                }.tdi_12 > .wpb_wrapper,\r\n\t\t\t\t.tdi_12 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_12 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_12 > .wpb_wrapper > .vc_row_inner{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t}.tdi_12 > .wpb_wrapper{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t    height: auto;\r\n\t\t\t\t}\n<\/style><div class=\"wpb_wrapper\" ><div class=\"vc_row_inner tdi_14  vc_row vc_inner wpb_row td-pb-row absolute_inner_1200 absolute_inner\" >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_14{\r\n                    position: absolute !important;\r\n                    top: 0;\r\n                    z-index: 1;\r\n                \r\n                    top: auto;\r\n                    bottom: 0;\r\n                }.tdi_14,\r\n\t\t\t\t.tdi_14 .tdc-inner-columns{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_14 .tdc-inner-columns{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}\n<\/style><div class=\"vc_column_inner tdi_16  wpb_column vc_column_container tdc-inner-column td-pb-span12\">\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_16{\r\n                    vertical-align: baseline;\r\n                }.tdi_16 .vc_column-inner > .wpb_wrapper,\r\n\t\t\t\t.tdi_16 .vc_column-inner > .wpb_wrapper .tdc-elements{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_16 .vc_column-inner > .wpb_wrapper .tdc-elements{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}\n\/* inline tdc_css att - generated by TagDiv Composer *\/\n\n.tdi_16{\npadding-right:4px !important;\npadding-left:4px !important;\n}\n\n<\/style><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\" ><div class=\"wpb_wrapper td_block_separator td_block_wrap vc_separator tdi_18  td_separator_solid td_separator_center\"><span style=\"border-color:rgba(255,252,252,0.12);border-width:1px;width:100%;\"><\/span>\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.td_block_separator{\r\n                  width: 100%;\r\n                  align-items: center;\r\n                  margin-bottom: 38px;\r\n                  padding-bottom: 10px;\r\n                }.td_block_separator span{\r\n                  position: relative;\r\n                  display: block;\r\n                  margin: 0 auto;\r\n                  width: 100%;\r\n                  height: 1px;\r\n                  border-top: 1px solid #EBEBEB;\r\n                }.td_separator_align_left span{\r\n                  margin-left: 0;\r\n                }.td_separator_align_right span{\r\n                  margin-right: 0;\r\n                }.td_separator_dashed span{\r\n                  border-top-style: dashed;\r\n                }.td_separator_dotted span{\r\n                  border-top-style: dotted;\r\n                }.td_separator_double span{\r\n                  height: 3px;\r\n                  border-bottom: 1px solid #EBEBEB;\r\n                }.td_separator_shadow > span{\r\n                  position: relative;\r\n                  height: 20px;\r\n                  overflow: hidden;\r\n                  border: 0;\r\n                  color: #EBEBEB;\r\n                }.td_separator_shadow > span > span{\r\n                  position: absolute;\r\n                  top: -30px;\r\n                  left: 0;\r\n                  right: 0;\r\n                  margin: 0 auto;\r\n                  height: 13px;\r\n                  width: 98%;\r\n                  border-radius: 100%;\r\n                }html :where([style*='border-width']){\r\n                    border-style: none;\r\n                }\n\/* inline tdc_css att - generated by TagDiv Composer *\/\n\n.tdi_18{\nmargin-bottom:0px !important;\n}\n\n<\/style><\/div><\/div><\/div><\/div><\/div><div class=\"wpb_wrapper td_block_wrap vc_raw_html tdi_20 \"><div class=\"td-fix-index\"><div class=\"blog-wrapper\">\n\n    <div class=\"blog-categories\"><\/div>\n\n    <div class=\"featured-post\"><\/div>\n\n    <div class=\"post-grid\"><\/div>\n\n<div class=\"blog-pagination\"><\/div>\n\n<\/div>\n\n<style>\n<style>body{\n    background:#181818;\n}\n\n.blog-wrapper{\n    max-width:1200px;\n    margin:auto;\n    padding:40px 20px 80px;\n}\n\n.blog-categories{\n    display:flex;\n    gap:12px;\n    flex-wrap:wrap;\n    margin-bottom:35px;\n}\n\n.blog-categories a{\n    text-decoration:none;\n    color:#999;\n    background:#000;\n    padding:10px 18px;\n    border-radius:50px;\n    transition:.3s;\n    font-size:14px;\n     border: 2px solid #333 !important;\n}\n\n.blog-categories a.active,\n.blog-categories a:hover{\n    background: #000 !important;\n    color: #fff !important;\n    border: 2px solid #ffaf38 !important;\n\n}\n\n.featured-post{\n    display:grid;\n    grid-template-columns:48% 52%;\n    background:#232323;\n    border-radius:16px;\n    overflow:hidden;\n    margin-bottom:40px;\n}\n\n.featured-image{\n    position:relative;\n}\n\n.featured-image img{\n    width:100%;\n    height:100%;\n    object-fit:cover;\n    display:block;\n}\n\n.featured-content{\n    padding:35px;\n}\n\n.featured-content h2{\n    color:#fff;\n    margin:0 0 20px;\n    font-size:34px;\n    line-height:1.2;\n}\n\n.featured-content p{\n    color:#bbbbbb;\n    line-height:1.8;\n    margin-bottom:25px;\n}\n\n.meta{\n    color:#8e8e8e;\n    font-size:14px;\n    display:flex;\n    gap:18px;\n    flex-wrap:wrap;\n}\n\n.badge{\n    position:absolute;\n    top:18px;\n    left:18px;\n    background: #000;\n    color: #999;\n    padding:7px 14px;\n    border-radius:50px;\n    font-size:12px;\n    font-weight:700;\n}\n\n.post-grid{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:28px;\n}\n\n.post-card{\n    background:#232323;\n    border-radius:16px;\n    overflow:hidden;\n    transition:.3s;\n}\n\n.post-card:hover{\n    transform:translateY(-5px);\n}\n\n.post-card img{\n    width:100%;\n    display:block;\n}\n\n.post-card .image{\n    position:relative;\n}\n\n.post-card .content{\n    padding:20px;\n}\n\n.post-card h3{\n    color:#fff;\n    margin:0 0 15px;\n    font-size:22px;\n    line-height:1.4;\n}\n\n.post-card .meta{\n    font-size:13px;\n}\n\n@media(max-width:991px){\n\n.featured-post{\ngrid-template-columns:1fr;\n}\n\n.post-grid{\ngrid-template-columns:repeat(2,1fr);\n}\n\n}\n\n@media(max-width:767px){\n\n.post-grid{\ngrid-template-columns:1fr;\n}\n\n.blog-categories{\njustify-content:center;\n}\n\n.featured-content h2{\nfont-size:28px;\n}\n\n}<\/style>\n<\/div><\/div><div class=\"wpb_wrapper td_block_wrap vc_raw_html tdi_22 \"><div class=\"td-fix-index\"><script>\n\nconst pagination = document.querySelector(\".blog-pagination\");\n\nlet currentPage = 1;\nlet currentCategory = 0;\nlet totalPages = 1;\nconst POSTS_PER_PAGE = 9;\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n\n    const API = \"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\";\n\n    const categoriesContainer = document.querySelector(\".blog-categories\");\n    const featuredContainer = document.querySelector(\".featured-post\");\n    const grid = document.querySelector(\".post-grid\");\n\n    if (!categoriesContainer || !featuredContainer || !grid) {\n        console.error(\"Blog template elements not found.\");\n        return;\n    }\n\n    loadCategories();\n   loadPosts(0,1);\n\n    async function loadCategories() {\n\n        try {\n\n            const response = await fetch(`${API}\/categories?per_page=100`);\n\n            if (!response.ok) throw new Error(response.status);\n\n            const categories = await response.json();\n\n            categoriesContainer.innerHTML = `\n                <a href=\"#\" class=\"active\" data-id=\"0\">Latest Articles<\/a>\n            `;\n\n            categories.forEach(category => {\n\n                categoriesContainer.insertAdjacentHTML(\n                    \"beforeend\",\n                    `\n                    <a href=\"#\" data-id=\"${category.id}\">\n                        ${category.name}\n                    <\/a>\n                    `\n                );\n\n            });\n\n            categoriesContainer.addEventListener(\"click\", function(e){\n\n                const link = e.target.closest(\"a\");\n\n                if(!link) return;\n\n                e.preventDefault();\n\n                categoriesContainer\n                    .querySelectorAll(\"a\")\n                    .forEach(a => a.classList.remove(\"active\"));\n\n                link.classList.add(\"active\");\n\n                loadPosts(link.dataset.id);\n\n            });\n\n        } catch (err) {\n\n            console.error(err);\n\n            categoriesContainer.innerHTML =\n                \"<p>Unable to load categories.<\/p>\";\n\n        }\n\n    }\n\n    async function loadPosts(category = 0) {\n\n        featuredContainer.innerHTML = \"\";\n        grid.innerHTML = \"<p>Loading...<\/p>\";\n\n        try {\n\n            let url = `${API}\/posts?_embed&per_page=9`;\n\n            if(category != 0){\n                url += `&categories=${category}`;\n            }\n\n            const response = await fetch(url);\n\n            if (!response.ok) throw new Error(response.status);\n\n            const posts = await response.json();\n\n            if(!posts.length){\n\n                featuredContainer.innerHTML = \"\";\n                grid.innerHTML = \"<p>No posts found.<\/p>\";\n                return;\n\n            }\n\n            const placeholder = \"https:\/\/placehold.co\/700x420\";\n\n            const featured = posts.shift();\n\n            renderFeatured(featured, placeholder);\n\n            grid.innerHTML = \"\";\n\n            posts.forEach(post => {\n\n                renderCard(post, placeholder);\n\n            });\n\n        } catch(err){\n\n            console.error(err);\n\n            featuredContainer.innerHTML = \"\";\n\n            grid.innerHTML =\n                \"<p>Unable to load posts.<\/p>\";\n\n        }\n\n    }\n\n    function renderFeatured(post, placeholder){\n\n        const image =\n            post._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url ||\n            placeholder;\n\n        const category =\n            post._embedded?.[\"wp:term\"]?.[0]?.[0]?.name ||\n            \"General\";\n\n        const author =\n            post._embedded?.author?.[0]?.name ||\n            \"\";\n\n        const date =\n            new Date(post.date).toLocaleDateString();\n\n        const excerpt = stripHTML(post.excerpt.rendered)\n            .substring(0,180) + \"...\";\n\n        featuredContainer.innerHTML = `\n\n            <div class=\"featured-image\">\n\n                <a href=\"${post.link}\">\n                    <img decoding=\"async\" src=\"${image}\" alt=\"${escape(post.title.rendered)}\">\n                <\/a>\n\n                <span class=\"badge\">\n                    ${category}\n                <\/span>\n\n            <\/div>\n\n            <div class=\"featured-content\">\n\n                <h2>\n\n                    <a href=\"${post.link}\" style=\"color:inherit;text-decoration:none;\">\n                        ${post.title.rendered}\n                    <\/a>\n\n                <\/h2>\n\n                <p>${excerpt}<\/p>\n\n                <div class=\"meta\">\n\n                    <span>${author}<\/span>\n\n                    <span>${date}<\/span>\n\n                <\/div>\n\n            <\/div>\n\n        `;\n\n    }\n\n    function renderCard(post, placeholder){\n\n        const image =\n            post._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url ||\n            placeholder;\n\n        const category =\n            post._embedded?.[\"wp:term\"]?.[0]?.[0]?.name ||\n            \"General\";\n\n        const author =\n            post._embedded?.author?.[0]?.name ||\n            \"\";\n\n        const date =\n            new Date(post.date).toLocaleDateString();\n\n        grid.insertAdjacentHTML(\n            \"beforeend\",\n            `\n\n            <article class=\"post-card\">\n\n                <div class=\"image\">\n\n                    <a href=\"${post.link}\">\n                        <img decoding=\"async\" src=\"${image}\" alt=\"${escape(post.title.rendered)}\">\n                    <\/a>\n\n                    <span class=\"badge\">\n                        ${category}\n                    <\/span>\n\n                <\/div>\n\n                <div class=\"content\">\n\n                    <h3>\n\n                        <a href=\"${post.link}\" style=\"color:inherit;text-decoration:none;\">\n                            ${post.title.rendered}\n                        <\/a>\n\n                    <\/h3>\n\n                    <div class=\"meta\">\n\n                        ${author}\n                        ${author ? \"\u2022\" : \"\"}\n                        ${date}\n\n                    <\/div>\n\n                <\/div>\n\n            <\/article>\n\n            `\n        );\n\n    }\n\n    function stripHTML(html){\n\n        const div = document.createElement(\"div\");\n\n        div.innerHTML = html;\n\n        return div.textContent || div.innerText || \"\";\n\n    }\n\n    function escape(text){\n\n        const div = document.createElement(\"div\");\n\n        div.textContent = text;\n\n        return div.innerHTML;\n\n    }\n\n});\n<\/script><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-200","page","type-page","status-publish"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"td_0x420":false,"td_80x60":false,"td_150x0":false,"td_218x150":false,"td_300x0":false,"td_324x400":false,"td_485x360":false,"td_696x0":false,"td_1068x0":false,"td_1920x0":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/29black.com\/blog\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/pages\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":5,"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/pages\/200\/revisions"}],"predecessor-version":[{"id":610,"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/pages\/200\/revisions\/610"}],"wp:attachment":[{"href":"https:\/\/29black.com\/blog\/wp-json\/wp\/v2\/media?parent=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}