{"id":1944,"date":"2018-11-25T10:05:28","date_gmt":"2018-11-25T03:05:28","guid":{"rendered":"https:\/\/dpb-lppm-unipa.com\/?p=1944"},"modified":"2026-08-27T09:19:37","modified_gmt":"2026-08-27T02:19:37","slug":"lokakarya-penulisan-paper-ilmiah-dan-presentase-hasil-monitoring-ekologi-di-bentang-laut-kepala-burung-papua-dan-papua-barat","status":"publish","type":"post","link":"https:\/\/science4conservation.com\/en\/lokakarya-penulisan-paper-ilmiah-dan-presentase-hasil-monitoring-ekologi-di-bentang-laut-kepala-burung-papua-dan-papua-barat\/","title":{"rendered":"Lokakarya Penulisan Paper Ilmiah Dan Presentase Hasil Monitoring Ekologi Di Bentang Laut Kepala Burung Papua Dan Papua Barat"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1944\" class=\"elementor elementor-1944\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-712a8d11 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"712a8d11\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-10d95b42\" data-id=\"10d95b42\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8514ccb elementor-widget elementor-widget-heading\" data-id=\"8514ccb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Lokakarya Penulisan Paper Ilmiah Dan Presentase Hasil Monitoring Ekologi Di Bentang Laut Kepala Burung \nPapua Dan Papua Barat<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45aa5345 elementor-widget elementor-widget-image\" data-id=\"45aa5345\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"623\" height=\"467\" src=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Peserta-yang-hadir-saat-penyampain-hasil-monitoring.jpg\" class=\"attachment-full size-full wp-image-1925\" alt=\"\" srcset=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Peserta-yang-hadir-saat-penyampain-hasil-monitoring.jpg 623w, https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Peserta-yang-hadir-saat-penyampain-hasil-monitoring-300x225.jpg 300w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3bff5378 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"3bff5378\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-7edd3f0b elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"7edd3f0b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-71fcdbb8\" data-id=\"71fcdbb8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6e66d6f5 elementor-widget elementor-widget-text-editor\" data-id=\"6e66d6f5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Penulis<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-706a7c1a elementor-widget elementor-widget-text-editor\" data-id=\"706a7c1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Tim BHS Monitoring Sosial<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-78d87cfe\" data-id=\"78d87cfe\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-19676c62 elementor-widget elementor-widget-text-editor\" data-id=\"19676c62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Tanggal<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-171a8fa elementor-widget elementor-widget-text-editor\" data-id=\"171a8fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>25 November 2018<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-23605597 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"23605597\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-48434de7 elementor-widget elementor-widget-text-editor\" data-id=\"48434de7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Tujuan :<\/strong><\/p><ul><li>menuliskan hasil monitoring ekologi di BLKB dalam bentuk publikasi ilmiah (paper)<\/li><li>menyampaikan hasil monitoring ekologi kepada UPTD BLUD, Pemda Raja Ampat dan mitra terkait.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-2f387d17 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"2f387d17\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-707ea379\" data-id=\"707ea379\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-50e1c35e elementor-widget elementor-widget-image\" data-id=\"50e1c35e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"580\" height=\"435\" src=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Fasilitator-sedang-memberikan-materi.jpg\" class=\"attachment-large size-large wp-image-1922\" alt=\"\" srcset=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Fasilitator-sedang-memberikan-materi.jpg 624w, https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Fasilitator-sedang-memberikan-materi-300x225.jpg 300w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-592a9266 elementor-widget elementor-widget-text-editor\" data-id=\"592a9266\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Foto : Tim BHS Monitoring Sosial Unipa<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3bc08ed\" data-id=\"3bc08ed\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-48e833d9 elementor-widget elementor-widget-image\" data-id=\"48e833d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"580\" height=\"435\" src=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Persentasi-hasil-monitoring.jpg\" class=\"attachment-large size-large wp-image-1924\" alt=\"\" srcset=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Persentasi-hasil-monitoring.jpg 627w, https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Persentasi-hasil-monitoring-300x225.jpg 300w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f0440e0 elementor-widget elementor-widget-text-editor\" data-id=\"5f0440e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Foto : Tim BHS Monitoring Sosial Unipa<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b4f8867 elementor-widget elementor-widget-text-editor\" data-id=\"2b4f8867\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Tempat dan Tanggal kegiatan\u00a0<\/strong>:<\/p><p>Sorong, 19 \u2013 23 November 2018<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8eaea5 elementor-widget elementor-widget-text-editor\" data-id=\"a8eaea5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"wpb_text_column wpb_content_element \"><div class=\"wpb_wrapper\"><p><strong>Peserta dan fasilitator :<\/strong><\/p><p>Peserta pelatihan penulisan paper :<\/p><p>Dariani Matualage (Universitas Papua)<\/p><p>Irman Rumenga (Universitas Papua)<\/p><p>Habema Monim (Universitas Papua)<\/p><p>Purwanto (Universitas Papua)<\/p><p>Awaludinnoer (TNC Indonesia)<\/p><p>Defy N Pada (Ci Indonesia)<\/p><p>Abdi Hasan (Ci Indonesia)<\/p><p>Dariani Matualage (Universitas Papua)<\/p><p>Irman Rumengan (Universitas Papua)<\/p><p>Habema Monim (Universitas Papua)<\/p><p>Purwanto (Universitas Papua)<\/p><p>Awaludinnoer (TNC Indonesia)<\/p><p>Defy N Pada (Ci Indonesia)<\/p><p>Abdi Hasan (Ci Indonesia)<\/p><\/div><\/div><div class=\"wpb_text_column wpb_content_element \"><div class=\"wpb_wrapper\"><p>Fasilitator dan mentor lokakarya penulisan ilmiah adalah Dr. Dominic Andradi-Brown dari WWF Amerika.<\/p><p>Peserta presentase hasil monitoring ekologi adalah:<\/p><ul><li>DKP Raja Ampat : 2 Orang<\/li><li>UPTD BLUD KKPD Raja Ampat : 7 Orang<\/li><li>TNC Raja Ampat : 3 Orang<\/li><li>CI Raja Ampat : 4 Orang<\/li><li>UNIPA : 4 orang<\/li><li>Starling Resources: 1 Orang<\/li><\/ul><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1715a01e elementor-widget elementor-widget-text-editor\" data-id=\"1715a01e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Hasil : \u00a0<\/strong><\/p><p>Dapat membuat kemajuan penulisan paper ilmiah lebih dari 50 %, dimana telah dibuat grafik, gambar serta beberapa data penting telah dimasukan pada kalimat utama disetiap paragraf. Langkah selanjutnya yaitu mengembangkan kalimat utama tersebut dan melengkapi dengan<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25caae16 elementor-widget elementor-widget-image\" data-id=\"25caae16\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"459\" src=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Pelatihan-penulisan-paper.jpg\" class=\"attachment-full size-full wp-image-1923\" alt=\"\" srcset=\"https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Pelatihan-penulisan-paper.jpg 612w, https:\/\/science4conservation.com\/wp-content\/uploads\/2019\/08\/Pelatihan-penulisan-paper-300x225.jpg 300w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-27fb855e elementor-widget elementor-widget-text-editor\" data-id=\"27fb855e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center;\">Foto : Tim BHS Monitoring Sosial Unipa<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-65ba6e6e\" data-id=\"65ba6e6e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-65d7ae13 elementor-widget elementor-widget-text-editor\" data-id=\"65d7ae13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Bagikan Tulisan<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-68b2f2a6 e-grid-align-left elementor-shape-rounded elementor-grid-0 elementor-widget elementor-widget-social-icons\" data-id=\"68b2f2a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"social-icons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-social-icons-wrapper elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-whatsapp elementor-repeater-item-d96de8e\" href=\"https:\/\/wa.me\/?text=https:\/\/science4conservation.com\/lokakarya-penulisan-paper-ilmiah-dan-presentase-hasil-monitoring-ekologi-di-bentang-laut-kepala-burung-papua-dan-papua-barat\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Whatsapp<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-whatsapp\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-twitter elementor-repeater-item-ab3fffd\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https:\/\/science4conservation.com\/lokakarya-penulisan-paper-ilmiah-dan-presentase-hasil-monitoring-ekologi-di-bentang-laut-kepala-burung-papua-dan-papua-barat\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Twitter<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-twitter\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-facebook elementor-repeater-item-45a9bfd\" href=\"http:\/\/www.facebook.com\/sharer.php?u=https:\/\/science4conservation.com\/lokakarya-penulisan-paper-ilmiah-dan-presentase-hasil-monitoring-ekologi-di-bentang-laut-kepala-burung-papua-dan-papua-barat\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Facebook<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-facebook\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67750a86 elementor-alert-info elementor-widget elementor-widget-alert\" data-id=\"67750a86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"alert.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-alert\" role=\"alert\">\n\n\t\t\t\t\t\t<span class=\"elementor-alert-title\">Ikuti Survei<\/span>\n\t\t\t\n\t\t\t\t\t\t<span class=\"elementor-alert-description\">Bantu kami meningkatkan kualitas informasi hasil monitoring sosial dan ekologi di BLKB-Papua.<\/span>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4f738a29 elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"4f738a29\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/docs.google.com\/forms\/d\/e\/1FAIpQLScbuXYsL0qM_0SQG0MxRTT1xNXh2re1wi8SWMsOSFVEKu2R7A\/viewform\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Isi Survei<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51f559e9 elementor-widget elementor-widget-text-editor\" data-id=\"51f559e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Berita Terkait<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d31f189 elementor-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"7d31f189\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/science4conservation.com\/meilani-menghadapi-tantangan-menemukan-makna\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-newspaper\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Meilani: Menghadapi Tantangan, Menemukan Makna<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/science4conservation.com\/jackson-menjaga-penyu-di-pantai-wembrak\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-newspaper\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Jackson: Menjaga Penyu di Pantai Wembrak<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/science4conservation.com\/melani-kalahkan-gugup-mengajar-dengan-hati-di-kampung-penyu\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-newspaper\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Melani: Kalahkan Gugup, Mengajar dengan Hati di Kampung Penyu<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d4d9e84 elementor-widget elementor-widget-text-editor\" data-id=\"7d4d9e84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Video Kami<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6a7a62e6 elementor-widget elementor-widget-video\" data-id=\"6a7a62e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=yHCJX7I-NYk&amp;t=1s&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-158a698d elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"158a698d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.youtube.com\/c\/S4CBLKB\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-youtube\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Subscribe<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a8ff1ef elementor-widget elementor-widget-text-editor\" data-id=\"4a8ff1ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Kategori Lainnya<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-48ed84f5 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"48ed84f5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5cc389fb\" data-id=\"5cc389fb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-617227ec elementor-widget elementor-widget-text-editor\" data-id=\"617227ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Berita Lainnya<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-550447f3 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"550447f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3eba4903 elementor-widget elementor-widget-html\" data-id=\"3eba4903\" 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<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n\r\n<link\r\n    href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600&family=Poppins:wght@500;600;700&display=swap\"\r\n    rel=\"stylesheet\"\r\n>\r\n\r\n<div class=\"custom-news-section\" id=\"customNewsSlider\">\r\n\r\n    <button\r\n        class=\"custom-news-nav custom-news-prev is-hidden\"\r\n        type=\"button\"\r\n        aria-label=\"Berita sebelumnya\"\r\n    >\r\n        &#10094;\r\n    <\/button>\r\n\r\n    <div class=\"custom-news-track\">\r\n\r\n        <div class=\"custom-news-skeleton initial-skeleton\">\r\n            <div class=\"skeleton-image skeleton-animation\"><\/div>\r\n\r\n            <div class=\"skeleton-content\">\r\n                <div class=\"skeleton-date skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-category skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-title-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-text-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-button skeleton-animation\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"custom-news-skeleton initial-skeleton\">\r\n            <div class=\"skeleton-image skeleton-animation\"><\/div>\r\n\r\n            <div class=\"skeleton-content\">\r\n                <div class=\"skeleton-date skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-category skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-title-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-text-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-button skeleton-animation\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"custom-news-skeleton initial-skeleton\">\r\n            <div class=\"skeleton-image skeleton-animation\"><\/div>\r\n\r\n            <div class=\"skeleton-content\">\r\n                <div class=\"skeleton-date skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-category skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-title-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-text-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-button skeleton-animation\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"custom-news-skeleton initial-skeleton\">\r\n            <div class=\"skeleton-image skeleton-animation\"><\/div>\r\n\r\n            <div class=\"skeleton-content\">\r\n                <div class=\"skeleton-date skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-category skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-title skeleton-title-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-text skeleton-text-short skeleton-animation\"><\/div>\r\n                <div class=\"skeleton-button skeleton-animation\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <button\r\n        class=\"custom-news-nav custom-news-next is-hidden\"\r\n        type=\"button\"\r\n        aria-label=\"Berita berikutnya\"\r\n    >\r\n        &#10095;\r\n    <\/button>\r\n\r\n    <div\r\n        class=\"custom-news-pagination\"\r\n        aria-label=\"Navigasi halaman berita\"\r\n    ><\/div>\r\n\r\n<\/div>\r\n\r\n<style>\r\n\r\n.custom-news-section {\r\n    --primary: #6B7280;\r\n    --primary-dark: #1E73BE;\r\n    --primary-soft: rgba(107, 114, 128, 0.12);\r\n    --title-color: #2D2D2D;\r\n    --text-color: #8A8A8A;\r\n\r\n    position: relative;\r\n    width: 100%;\r\n    box-sizing: border-box;\r\n    padding: 20px 5px 15px;\r\n}\r\n\r\n.custom-news-track {\r\n    display: flex;\r\n    align-items: stretch;\r\n    gap: 24px;\r\n    width: 100%;\r\n    overflow-x: auto;\r\n    overflow-y: hidden;\r\n    scroll-behavior: smooth;\r\n    scroll-snap-type: x mandatory;\r\n    scrollbar-width: none;\r\n    padding: 10px 5px 25px;\r\n    box-sizing: border-box;\r\n    touch-action: pan-x;\r\n}\r\n\r\n.custom-news-track::-webkit-scrollbar {\r\n    display: none;\r\n}\r\n\r\n.custom-news-card {\r\n    flex: 0 0 calc((100% - 72px - 90px) \/ 4);\r\n    min-width: 0;\r\n    background: #FFFFFF;\r\n    border-radius: 20px;\r\n    overflow: hidden;\r\n    display: flex;\r\n    flex-direction: column;\r\n    scroll-snap-align: start;\r\n\r\n    box-shadow:\r\n        0 8px 30px rgba(15, 23, 42, 0.08);\r\n\r\n    transition:\r\n        transform 0.25s ease,\r\n        box-shadow 0.25s ease;\r\n}\r\n\r\n.custom-news-card:hover {\r\n    transform: translateY(-5px);\r\n\r\n    box-shadow:\r\n        0 15px 38px rgba(15, 23, 42, 0.13);\r\n}\r\n\r\n.custom-news-card.news-card-enter {\r\n    animation:\r\n        newsCardEnter\r\n        0.55s\r\n        ease\r\n        both;\r\n}\r\n\r\n@keyframes newsCardEnter {\r\n\r\n    0% {\r\n        opacity: 0;\r\n        transform: translateY(15px);\r\n    }\r\n\r\n    100% {\r\n        opacity: 1;\r\n        transform: translateY(0);\r\n    }\r\n\r\n}\r\n\r\n.custom-news-image {\r\n    display: block;\r\n    width: 100%;\r\n    aspect-ratio: 1080 \/ 780;\r\n    background: #E5E7EB;\r\n    overflow: hidden;\r\n    flex-shrink: 0;\r\n}\r\n\r\n.custom-news-image img {\r\n    display: block;\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n\r\n    transition:\r\n        transform 0.4s ease;\r\n}\r\n\r\n.custom-news-card:hover .custom-news-image img {\r\n    transform: scale(1.04);\r\n}\r\n\r\n.custom-news-placeholder {\r\n    width: 100%;\r\n    height: 100%;\r\n\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n\r\n    background:\r\n        linear-gradient(\r\n            135deg,\r\n            #9CA3AF,\r\n            #6B7280\r\n        );\r\n\r\n    color: #FFFFFF;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n}\r\n\r\n.custom-news-content {\r\n    flex: 1;\r\n    display: flex;\r\n    flex-direction: column;\r\n    padding: 22px 21px;\r\n    box-sizing: border-box;\r\n}\r\n\r\n.custom-news-date {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    margin-bottom: 12px;\r\n    color: var(--text-color);\r\n    font-family: 'DM Sans', sans-serif;\r\n    font-size: 14px;\r\n    line-height: 1.4;\r\n    font-weight: 500;\r\n}\r\n\r\n.custom-news-date svg {\r\n    width: 18px;\r\n    height: 18px;\r\n    min-width: 18px;\r\n    color: #9CA3AF;\r\n}\r\n\r\n.custom-news-category {\r\n    display: block;\r\n    align-self: flex-start;\r\n    width: fit-content;\r\n    max-width: 100%;\r\n    padding: 6px 11px;\r\n    margin-bottom: 12px;\r\n    box-sizing: border-box;\r\n    border-radius: 999px;\r\n    background: #E5E7EB;\r\n    color: #4B5563;\r\n    font-family: 'DM Sans', sans-serif;\r\n    font-size: 11px;\r\n    line-height: 1.3;\r\n    font-weight: 600;\r\n    overflow: hidden;\r\n    cursor: default;\r\n}\r\n\r\n.custom-news-category-text {\r\n    display: block;\r\n    width: max-content;\r\n    white-space: nowrap;\r\n    transform: translateX(0);\r\n}\r\n\r\n.custom-news-category.has-overflow:hover\r\n.custom-news-category-text {\r\n    animation:\r\n        categoryMarquee\r\n        var(--marquee-duration, 5s)\r\n        linear\r\n        infinite\r\n        alternate;\r\n}\r\n\r\n@keyframes categoryMarquee {\r\n\r\n    0% {\r\n        transform: translateX(0);\r\n    }\r\n\r\n    100% {\r\n        transform:\r\n            translateX(\r\n                calc(\r\n                    0px -\r\n                    var(--marquee-distance)\r\n                )\r\n            );\r\n    }\r\n\r\n}\r\n\r\n.custom-news-title {\r\n    margin: 0 0 11px;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-size: 20px;\r\n    line-height: 1.35;\r\n    font-weight: 600;\r\n\r\n    display: -webkit-box;\r\n    -webkit-box-orient: vertical;\r\n    -webkit-line-clamp: 2;\r\n\r\n    overflow: hidden;\r\n}\r\n\r\n.custom-news-title a {\r\n    color: var(--title-color);\r\n    font-family: 'Poppins', sans-serif;\r\n    font-size: inherit;\r\n    line-height: inherit;\r\n    font-weight: inherit;\r\n    text-decoration: none;\r\n\r\n    transition:\r\n        color 0.2s ease;\r\n}\r\n\r\n.custom-news-title a:hover {\r\n    color: #1E73BE;\r\n}\r\n\r\n.custom-news-excerpt {\r\n    margin-bottom: 20px;\r\n    color: var(--text-color);\r\n    font-family: 'DM Sans', sans-serif;\r\n    font-size: 14px;\r\n    line-height: 1.65;\r\n    font-weight: 400;\r\n\r\n    display: -webkit-box;\r\n    -webkit-box-orient: vertical;\r\n    -webkit-line-clamp: 3;\r\n\r\n    overflow: hidden;\r\n}\r\n\r\n.custom-news-button-area {\r\n    margin-top: auto;\r\n}\r\n\r\n.custom-news-button {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 10px;\r\n    padding: 11px 21px;\r\n    background: #FFFFFF;\r\n    border-radius: 999px;\r\n    color: #4B5563 !important;\r\n    text-decoration: none !important;\r\n    font-family: 'Poppins', sans-serif;\r\n    font-size: 14px;\r\n    line-height: 1.4;\r\n    font-weight: 600;\r\n\r\n    transition:\r\n        background 0.2s ease,\r\n        transform 0.2s ease;\r\n}\r\n\r\n.custom-news-button:hover {\r\n    background: #1E73BE;\r\n    color: #FFFFFF !important;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.custom-news-button-arrow {\r\n    font-family: 'Poppins', sans-serif;\r\n    font-size: 18px;\r\n    line-height: 1;\r\n\r\n    transition:\r\n        transform 0.2s ease;\r\n}\r\n\r\n.custom-news-button:hover\r\n.custom-news-button-arrow {\r\n    transform: translateX(4px);\r\n}\r\n\r\n.custom-news-nav {\r\n    position: absolute;\r\n    top: 47%;\r\n    z-index: 20;\r\n    width: 56px;\r\n    height: 56px;\r\n    padding: 0;\r\n\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n\r\n    transform: translateY(-50%);\r\n\r\n    border: none;\r\n    outline: none;\r\n    border-radius: 50%;\r\n    background: #FFFFFF;\r\n    color: #6B7280;\r\n    font-size: 24px;\r\n    line-height: 1;\r\n    cursor: pointer;\r\n\r\n    box-shadow:\r\n        0 10px 28px rgba(15, 23, 42, 0.14);\r\n\r\n    transition:\r\n        background 0.2s ease,\r\n        color 0.2s ease;\r\n}\r\n\r\n.custom-news-nav:hover {\r\n    background: #1E73BE;\r\n    color: #FFFFFF;\r\n}\r\n\r\n.custom-news-prev {\r\n    left: -28px;\r\n}\r\n\r\n.custom-news-next {\r\n    right: -28px;\r\n}\r\n\r\n.custom-news-nav.is-hidden {\r\n    display: none !important;\r\n}\r\n\r\n.custom-news-pagination {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    flex-wrap: wrap;\r\n    gap: 8px;\r\n    min-height: 18px;\r\n    margin-top: 2px;\r\n}\r\n\r\n.custom-news-dot {\r\n    width: 8px;\r\n    height: 8px;\r\n    padding: 0;\r\n    border: none;\r\n    border-radius: 999px;\r\n\r\n    background:\r\n        rgba(107, 114, 128, 0.25);\r\n\r\n    cursor: pointer;\r\n\r\n    transition:\r\n        width 0.25s ease,\r\n        background 0.25s ease;\r\n}\r\n\r\n.custom-news-dot:hover {\r\n    background:\r\n        rgba(30, 115, 190, 0.6);\r\n}\r\n\r\n.custom-news-dot.is-active {\r\n    width: 24px;\r\n    background: #6B7280;\r\n}\r\n\r\n.custom-news-skeleton {\r\n    flex: 0 0 calc((100% - 72px - 90px) \/ 4);\r\n    min-width: 0;\r\n    background: #FFFFFF;\r\n    border-radius: 20px;\r\n    overflow: hidden;\r\n    scroll-snap-align: start;\r\n\r\n    box-shadow:\r\n        0 8px 30px rgba(15, 23, 42, 0.06);\r\n}\r\n\r\n.skeleton-image {\r\n    width: 100%;\r\n    aspect-ratio: 1080 \/ 780;\r\n}\r\n\r\n.skeleton-content {\r\n    padding: 22px 21px;\r\n}\r\n\r\n.skeleton-date {\r\n    width: 42%;\r\n    height: 13px;\r\n    margin-bottom: 15px;\r\n    border-radius: 20px;\r\n}\r\n\r\n.skeleton-category {\r\n    width: 58%;\r\n    height: 22px;\r\n    margin-bottom: 14px;\r\n    border-radius: 999px;\r\n}\r\n\r\n.skeleton-title {\r\n    width: 95%;\r\n    height: 17px;\r\n    margin-bottom: 9px;\r\n    border-radius: 20px;\r\n}\r\n\r\n.skeleton-title-short {\r\n    width: 67%;\r\n    margin-bottom: 20px;\r\n}\r\n\r\n.skeleton-text {\r\n    width: 100%;\r\n    height: 10px;\r\n    margin-bottom: 9px;\r\n    border-radius: 20px;\r\n}\r\n\r\n.skeleton-text-short {\r\n    width: 70%;\r\n    margin-bottom: 24px;\r\n}\r\n\r\n.skeleton-button {\r\n    width: 155px;\r\n    max-width: 85%;\r\n    height: 42px;\r\n    border-radius: 999px;\r\n}\r\n\r\n.skeleton-animation {\r\n    position: relative;\r\n    overflow: hidden;\r\n    background: #E5E7EB;\r\n}\r\n\r\n.skeleton-animation::after {\r\n    content: '';\r\n    position: absolute;\r\n    top: 0;\r\n    left: -160%;\r\n    width: 140%;\r\n    height: 100%;\r\n\r\n    background:\r\n        linear-gradient(\r\n            90deg,\r\n            rgba(255, 255, 255, 0),\r\n            rgba(255, 255, 255, 0.85),\r\n            rgba(107, 114, 128, 0.12),\r\n            rgba(255, 255, 255, 0.85),\r\n            rgba(255, 255, 255, 0)\r\n        );\r\n\r\n    animation:\r\n        newsShimmer\r\n        1.25s\r\n        infinite;\r\n}\r\n\r\n@keyframes newsShimmer {\r\n\r\n    0% {\r\n        left: -160%;\r\n    }\r\n\r\n    100% {\r\n        left: 160%;\r\n    }\r\n\r\n}\r\n\r\n.custom-news-error {\r\n    width: 100%;\r\n    padding: 50px 20px;\r\n    box-sizing: border-box;\r\n    text-align: center;\r\n    color: var(--text-color);\r\n    font-family: 'DM Sans', sans-serif;\r\n    font-size: 14px;\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n\r\n    .custom-news-card {\r\n        flex:\r\n            0 0 calc((100% - 24px - 70px) \/ 2);\r\n    }\r\n\r\n    .custom-news-skeleton {\r\n        flex:\r\n            0 0 calc((100% - 24px - 70px) \/ 2);\r\n    }\r\n\r\n    .custom-news-prev {\r\n        left: 8px;\r\n    }\r\n\r\n    .custom-news-next {\r\n        right: 8px;\r\n    }\r\n\r\n}\r\n\r\n@media (max-width: 767px) {\r\n\r\n    .custom-news-section {\r\n        padding: 5px 0 12px;\r\n    }\r\n\r\n    .custom-news-track {\r\n        gap: 16px;\r\n        padding: 10px 16px 18px;\r\n    }\r\n\r\n    .custom-news-card {\r\n        flex: 0 0 82%;\r\n        border-radius: 17px;\r\n    }\r\n\r\n    .custom-news-skeleton {\r\n        flex: 0 0 82%;\r\n        border-radius: 17px;\r\n    }\r\n\r\n    .custom-news-content {\r\n        padding: 19px 18px 20px;\r\n    }\r\n\r\n    .skeleton-content {\r\n        padding: 19px 18px 20px;\r\n    }\r\n\r\n    .custom-news-title {\r\n        font-size: 18px;\r\n    }\r\n\r\n    .custom-news-nav {\r\n        display: none !important;\r\n    }\r\n\r\n    .custom-news-pagination {\r\n        padding: 0 16px;\r\n    }\r\n\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n\r\n    .custom-news-track {\r\n        scroll-behavior: auto;\r\n    }\r\n\r\n    .skeleton-animation::after {\r\n        animation: none;\r\n    }\r\n\r\n    .custom-news-card.news-card-enter {\r\n        animation: none;\r\n    }\r\n\r\n    .custom-news-category.has-overflow:hover\r\n    .custom-news-category-text {\r\n        animation: none;\r\n        transform: translateX(0);\r\n    }\r\n\r\n}\r\n\r\n<\/style>\r\n\r\n\r\n<script>\r\n\r\n(function () {\r\n\r\n    const CATEGORY_NAMES = [\r\n\r\n        'Hubungan Publik Kehidupan Sosial Masyarakat',\r\n\r\n        'Hubungan Publik Pemerintah Daerah Kabupaten',\r\n\r\n        'Konservasi Penyu Belimbing Diseminasi',\r\n\r\n        'Konservasi Penyu Belimbing Inisiasi Konservasi Penyu di Papua New Guinea',\r\n\r\n        'Konservasi Penyu Belimbing Monitoring',\r\n\r\n        'Konservasi Penyu Belimbing Training',\r\n\r\n\r\n        'Monitoring Ekologi Diseminasi',\r\n\r\n        'Monitoring Ekologi EKKP3K',\r\n\r\n        'Monitoring Ekologi Reef Health Monitoring',\r\n\r\n        'Monitoring Ekologi Training',\r\n\r\n        'Monitoring Sosial Diseminasi',\r\n\r\n        'Monitoring Sosial EKKP3K',\r\n\r\n        'Monitoring Sosial Survei',\r\n\r\n        'Monitoring Sosial Training',\r\n\r\n        'Outreach - Conservation Goes to School',\r\n\r\n        'Outreach - Inovasi Kegiatan Penjangkauan Masyarakat',\r\n\r\n        'Outreach - Nonton Bareng Film Konservasi',\r\n\r\n        'Pemberdayaan Masyarakat Kesehatan',\r\n\r\n        'Pemberdayaan Masyarakat Pendidikan',\r\n\r\n        'Pemberdayaan Masyarakat Peningkatan Ekonomi Masyarakat',\r\n\r\n        'The Consumer Survey - Survei'\r\n\r\n    ];\r\n\r\n\r\n    const POSTS_PER_REQUEST =\r\n        4;\r\n\r\n\r\n    const slider =\r\n        document.getElementById(\r\n            'customNewsSlider'\r\n        );\r\n\r\n\r\n    if (!slider) {\r\n        return;\r\n    }\r\n\r\n\r\n    const track =\r\n        slider.querySelector(\r\n            '.custom-news-track'\r\n        );\r\n\r\n\r\n    const prevButton =\r\n        slider.querySelector(\r\n            '.custom-news-prev'\r\n        );\r\n\r\n\r\n    const nextButton =\r\n        slider.querySelector(\r\n            '.custom-news-next'\r\n        );\r\n\r\n\r\n    const pagination =\r\n        slider.querySelector(\r\n            '.custom-news-pagination'\r\n        );\r\n\r\n\r\n    const apiLink =\r\n        document.querySelector(\r\n            'link[rel=\"https:\/\/api.w.org\/\"]'\r\n        );\r\n\r\n\r\n    let apiRoot;\r\n\r\n\r\n    if (\r\n        apiLink &&\r\n        apiLink.href\r\n    ) {\r\n\r\n        if (\r\n            apiLink.href.endsWith('\/')\r\n        ) {\r\n\r\n            apiRoot =\r\n                apiLink.href.slice(\r\n                    0,\r\n                    -1\r\n                );\r\n\r\n        } else {\r\n\r\n            apiRoot =\r\n                apiLink.href;\r\n\r\n        }\r\n\r\n    } else {\r\n\r\n        apiRoot =\r\n            window.location.origin +\r\n            '\/wp-json';\r\n\r\n    }\r\n\r\n\r\n    const wpAPI =\r\n        apiRoot +\r\n        '\/wp\/v2';\r\n\r\n\r\n    let categoryIDs =\r\n        [];\r\n\r\n\r\n    let categoryMap =\r\n        {};\r\n\r\n\r\n    let currentPage =\r\n        1;\r\n\r\n\r\n    let totalPages =\r\n        1;\r\n\r\n\r\n    let loading =\r\n        false;\r\n\r\n\r\n    let autoLoadTimer;\r\n\r\n\r\n    function stripHTML(\r\n        html\r\n    ) {\r\n\r\n        const element =\r\n            document.createElement(\r\n                'div'\r\n            );\r\n\r\n\r\n        element.innerHTML =\r\n            html || '';\r\n\r\n\r\n        return (\r\n            element.textContent ||\r\n            element.innerText ||\r\n            ''\r\n        ).trim();\r\n\r\n    }\r\n\r\n\r\n    function escapeHTML(\r\n        text\r\n    ) {\r\n\r\n        const element =\r\n            document.createElement(\r\n                'div'\r\n            );\r\n\r\n\r\n        element.textContent =\r\n            text || '';\r\n\r\n\r\n        return element.innerHTML;\r\n\r\n    }\r\n\r\n\r\n    function truncateText(\r\n        text,\r\n        max\r\n    ) {\r\n\r\n        if (!text) {\r\n\r\n            return '';\r\n\r\n        }\r\n\r\n\r\n        if (\r\n            text.length <= max\r\n        ) {\r\n\r\n            return text;\r\n\r\n        }\r\n\r\n\r\n        let result =\r\n            text.substring(\r\n                0,\r\n                max\r\n            );\r\n\r\n\r\n        const lastSpace =\r\n            result.lastIndexOf(\r\n                ' '\r\n            );\r\n\r\n\r\n        if (\r\n            lastSpace > 0\r\n        ) {\r\n\r\n            result =\r\n                result.substring(\r\n                    0,\r\n                    lastSpace\r\n                );\r\n\r\n        }\r\n\r\n\r\n        return (\r\n            result.trim() +\r\n            '...'\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function formatDate(\r\n        dateString\r\n    ) {\r\n\r\n        const date =\r\n            new Date(\r\n                dateString\r\n            );\r\n\r\n\r\n        const months = [\r\n            'Jan',\r\n            'Feb',\r\n            'Mar',\r\n            'Apr',\r\n            'Mei',\r\n            'Jun',\r\n            'Jul',\r\n            'Agu',\r\n            'Sep',\r\n            'Okt',\r\n            'Nov',\r\n            'Des'\r\n        ];\r\n\r\n\r\n        return (\r\n            String(\r\n                date.getDate()\r\n            ).padStart(\r\n                2,\r\n                '0'\r\n            )\r\n            +\r\n            ' '\r\n            +\r\n            months[\r\n                date.getMonth()\r\n            ]\r\n            +\r\n            ' '\r\n            +\r\n            date.getFullYear()\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function normalizeText(\r\n        text\r\n    ) {\r\n\r\n        let result =\r\n            stripHTML(\r\n                text || ''\r\n            )\r\n            .trim()\r\n            .toLowerCase();\r\n\r\n\r\n        const charactersToRemove = [\r\n            '.',\r\n            ',',\r\n            ':',\r\n            ';',\r\n            '!',\r\n            '?',\r\n            '\"',\r\n            \"'\",\r\n            '(',\r\n            ')',\r\n            '[',\r\n            ']',\r\n            '{',\r\n            '}',\r\n            '-',\r\n            '\u2013',\r\n            '\u2014'\r\n        ];\r\n\r\n\r\n        charactersToRemove.forEach(\r\n            function (\r\n                character\r\n            ) {\r\n\r\n                result =\r\n                    result\r\n                        .split(\r\n                            character\r\n                        )\r\n                        .join(\r\n                            ' '\r\n                        );\r\n\r\n            }\r\n        );\r\n\r\n\r\n        while (\r\n            result.includes(\r\n                '  '\r\n            )\r\n        ) {\r\n\r\n            result =\r\n                result.replace(\r\n                    '  ',\r\n                    ' '\r\n                );\r\n\r\n        }\r\n\r\n\r\n        return result.trim();\r\n\r\n    }\r\n\r\n\r\n    function getSmartExcerpt(\r\n        post\r\n    ) {\r\n\r\n        const fallbackExcerpt =\r\n            truncateText(\r\n                stripHTML(\r\n                    post.excerpt &&\r\n                    post.excerpt.rendered\r\n                        ? post.excerpt.rendered\r\n                        : ''\r\n                ),\r\n                150\r\n            );\r\n\r\n\r\n        if (\r\n            !post.content ||\r\n            !post.content.rendered\r\n        ) {\r\n\r\n            return fallbackExcerpt;\r\n\r\n        }\r\n\r\n\r\n        const postTitle =\r\n            normalizeText(\r\n                post.title &&\r\n                post.title.rendered\r\n                    ? post.title.rendered\r\n                    : ''\r\n            );\r\n\r\n\r\n        const container =\r\n            document.createElement(\r\n                'div'\r\n            );\r\n\r\n\r\n        container.innerHTML =\r\n            post.content.rendered;\r\n\r\n\r\n        const paragraphs =\r\n            Array.from(\r\n                container.querySelectorAll(\r\n                    'p'\r\n                )\r\n            );\r\n\r\n\r\n        const ignoredStarts = [\r\n\r\n            'seri cerita jejak penjaga bentang laut',\r\n\r\n            'cerita lapangan dari para pendamping',\r\n\r\n            'dalam seri',\r\n\r\n            'penulis',\r\n\r\n            'tanggal',\r\n\r\n            'oleh',\r\n\r\n            'bagikan tulisan',\r\n\r\n            'baca juga',\r\n\r\n            'share this',\r\n\r\n            'image'\r\n\r\n        ];\r\n\r\n\r\n        for (\r\n            let i = 0;\r\n            i < paragraphs.length;\r\n            i++\r\n        ) {\r\n\r\n            const text =\r\n                stripHTML(\r\n                    paragraphs[\r\n                        i\r\n                    ].innerHTML\r\n                ).trim();\r\n\r\n\r\n            if (\r\n                !text ||\r\n                text.length < 45\r\n            ) {\r\n\r\n                continue;\r\n\r\n            }\r\n\r\n\r\n            const normalizedText =\r\n                normalizeText(\r\n                    text\r\n                );\r\n\r\n\r\n            if (\r\n                !normalizedText\r\n            ) {\r\n\r\n                continue;\r\n\r\n            }\r\n\r\n\r\n            if (\r\n                postTitle &&\r\n                normalizedText ===\r\n                postTitle\r\n            ) {\r\n\r\n                continue;\r\n\r\n            }\r\n\r\n\r\n            if (\r\n                postTitle &&\r\n                normalizedText.length > 25 &&\r\n                postTitle.includes(\r\n                    normalizedText\r\n                )\r\n            ) {\r\n\r\n                continue;\r\n\r\n            }\r\n\r\n\r\n            if (\r\n                postTitle &&\r\n                normalizedText.includes(\r\n                    postTitle\r\n                ) &&\r\n                normalizedText.length <\r\n                postTitle.length + 60\r\n            ) {\r\n\r\n                continue;\r\n\r\n            }\r\n\r\n\r\n            let ignored =\r\n                false;\r\n\r\n\r\n            for (\r\n                let j = 0;\r\n                j < ignoredStarts.length;\r\n                j++\r\n            ) {\r\n\r\n                if (\r\n                    normalizedText.startsWith(\r\n                        ignoredStarts[\r\n                            j\r\n                        ]\r\n                    )\r\n                ) {\r\n\r\n                    ignored =\r\n                        true;\r\n\r\n                    break;\r\n\r\n                }\r\n\r\n            }\r\n\r\n\r\n            if (\r\n                ignored\r\n            ) {\r\n\r\n                continue;\r\n\r\n            }\r\n\r\n\r\n            return truncateText(\r\n                text,\r\n                150\r\n            );\r\n\r\n        }\r\n\r\n\r\n        return fallbackExcerpt;\r\n\r\n    }\r\n\r\n\r\n    function getFeaturedImage(\r\n        post\r\n    ) {\r\n\r\n        try {\r\n\r\n            const media =\r\n                post._embedded[\r\n                    'wp:featuredmedia'\r\n                ][0];\r\n\r\n\r\n            const sizes =\r\n                media.media_details &&\r\n                media.media_details.sizes\r\n                    ? media.media_details.sizes\r\n                    : {};\r\n\r\n\r\n            if (\r\n                sizes.medium_large\r\n            ) {\r\n\r\n                return (\r\n                    sizes.medium_large\r\n                        .source_url\r\n                );\r\n\r\n            }\r\n\r\n\r\n            if (\r\n                sizes.medium\r\n            ) {\r\n\r\n                return (\r\n                    sizes.medium\r\n                        .source_url\r\n                );\r\n\r\n            }\r\n\r\n\r\n            if (\r\n                sizes.large\r\n            ) {\r\n\r\n                return (\r\n                    sizes.large\r\n                        .source_url\r\n                );\r\n\r\n            }\r\n\r\n\r\n            return (\r\n                media.source_url ||\r\n                ''\r\n            );\r\n\r\n\r\n        } catch (\r\n            error\r\n        ) {\r\n\r\n            return '';\r\n\r\n        }\r\n\r\n    }\r\n\r\n\r\n    function createCategoryHash() {\r\n\r\n        const text =\r\n            CATEGORY_NAMES\r\n                .map(\r\n                    function (\r\n                        name\r\n                    ) {\r\n\r\n                        return name\r\n                            .trim()\r\n                            .toLowerCase();\r\n\r\n                    }\r\n                )\r\n                .join(\r\n                    '|'\r\n                );\r\n\r\n\r\n        let hash =\r\n            0;\r\n\r\n\r\n        for (\r\n            let i = 0;\r\n            i < text.length;\r\n            i++\r\n        ) {\r\n\r\n            hash =\r\n                (\r\n                    hash * 31 +\r\n                    text.charCodeAt(\r\n                        i\r\n                    )\r\n                ) >>> 0;\r\n\r\n        }\r\n\r\n\r\n        return String(\r\n            hash\r\n        );\r\n\r\n    }\r\n\r\n\r\n    async function getCategoryIDs() {\r\n\r\n        const cacheKey =\r\n            'wp_news_multi_categories_' +\r\n            createCategoryHash();\r\n\r\n\r\n        const cached =\r\n            localStorage.getItem(\r\n                cacheKey\r\n            );\r\n\r\n\r\n        if (\r\n            cached\r\n        ) {\r\n\r\n            try {\r\n\r\n                const parsed =\r\n                    JSON.parse(\r\n                        cached\r\n                    );\r\n\r\n\r\n                if (\r\n                    parsed.ids &&\r\n                    parsed.map\r\n                ) {\r\n\r\n                    categoryIDs =\r\n                        parsed.ids;\r\n\r\n\r\n                    categoryMap =\r\n                        parsed.map;\r\n\r\n\r\n                    return categoryIDs;\r\n\r\n                }\r\n\r\n            } catch (\r\n                error\r\n            ) {\r\n\r\n                localStorage.removeItem(\r\n                    cacheKey\r\n                );\r\n\r\n            }\r\n\r\n        }\r\n\r\n\r\n        let page =\r\n            1;\r\n\r\n\r\n        let categoryTotalPages =\r\n            1;\r\n\r\n\r\n        let allCategories =\r\n            [];\r\n\r\n\r\n        do {\r\n\r\n            const url =\r\n                wpAPI +\r\n                '\/categories' +\r\n                '?per_page=100' +\r\n                '&page=' +\r\n                page +\r\n                '&_fields=id,name,slug';\r\n\r\n\r\n            const response =\r\n                await fetch(\r\n                    url\r\n                );\r\n\r\n\r\n            if (\r\n                !response.ok\r\n            ) {\r\n\r\n                throw new Error(\r\n                    'Kategori tidak dapat dimuat'\r\n                );\r\n\r\n            }\r\n\r\n\r\n            const categories =\r\n                await response.json();\r\n\r\n\r\n            allCategories =\r\n                allCategories.concat(\r\n                    categories\r\n                );\r\n\r\n\r\n            categoryTotalPages =\r\n                Number(\r\n                    response.headers.get(\r\n                        'X-WP-TotalPages'\r\n                    ) || 1\r\n                );\r\n\r\n\r\n            page++;\r\n\r\n\r\n        } while (\r\n            page <=\r\n            categoryTotalPages\r\n        );\r\n\r\n\r\n        const wantedNames =\r\n            CATEGORY_NAMES.map(\r\n                function (\r\n                    name\r\n                ) {\r\n\r\n                    return name\r\n                        .trim()\r\n                        .toLowerCase();\r\n\r\n                }\r\n            );\r\n\r\n\r\n        const selectedCategories =\r\n            allCategories.filter(\r\n                function (\r\n                    category\r\n                ) {\r\n\r\n                    return wantedNames.includes(\r\n                        category.name\r\n                            .trim()\r\n                            .toLowerCase()\r\n                    );\r\n\r\n                }\r\n            );\r\n\r\n\r\n        categoryIDs =\r\n            selectedCategories.map(\r\n                function (\r\n                    category\r\n                ) {\r\n\r\n                    return category.id;\r\n\r\n                }\r\n            );\r\n\r\n\r\n        categoryMap =\r\n            {};\r\n\r\n\r\n        selectedCategories.forEach(\r\n            function (\r\n                category\r\n            ) {\r\n\r\n                categoryMap[\r\n                    category.id\r\n                ] =\r\n                    category.name;\r\n\r\n            }\r\n        );\r\n\r\n\r\n        localStorage.setItem(\r\n            cacheKey,\r\n            JSON.stringify(\r\n                {\r\n                    ids:\r\n                        categoryIDs,\r\n\r\n                    map:\r\n                        categoryMap\r\n                }\r\n            )\r\n        );\r\n\r\n\r\n        return categoryIDs;\r\n\r\n    }\r\n\r\n\r\n    function getPostCategory(\r\n        post\r\n    ) {\r\n\r\n        if (\r\n            !post.categories ||\r\n            !post.categories.length\r\n        ) {\r\n\r\n            return 'Berita';\r\n\r\n        }\r\n\r\n\r\n        for (\r\n            let i = 0;\r\n            i < post.categories.length;\r\n            i++\r\n        ) {\r\n\r\n            const categoryID =\r\n                post.categories[\r\n                    i\r\n                ];\r\n\r\n\r\n            if (\r\n                categoryMap[\r\n                    categoryID\r\n                ]\r\n            ) {\r\n\r\n                return categoryMap[\r\n                    categoryID\r\n                ];\r\n\r\n            }\r\n\r\n        }\r\n\r\n\r\n        return 'Berita';\r\n\r\n    }\r\n\r\n\r\n    async function fetchPosts(\r\n        page\r\n    ) {\r\n\r\n        const categoryQuery =\r\n            categoryIDs\r\n                .map(\r\n                    function (\r\n                        id\r\n                    ) {\r\n\r\n                        return (\r\n                            'categories[]=' +\r\n                            id\r\n                        );\r\n\r\n                    }\r\n                )\r\n                .join(\r\n                    '&'\r\n                );\r\n\r\n\r\n        const url =\r\n            wpAPI +\r\n            '\/posts' +\r\n            '?per_page=' +\r\n            POSTS_PER_REQUEST +\r\n            '&page=' +\r\n            page +\r\n            '&' +\r\n            categoryQuery +\r\n            '&orderby=date' +\r\n            '&order=desc' +\r\n            '&_embed=wp:featuredmedia';\r\n\r\n\r\n        const response =\r\n            await fetch(\r\n                url\r\n            );\r\n\r\n\r\n        if (\r\n            !response.ok\r\n        ) {\r\n\r\n            throw new Error(\r\n                'Berita tidak dapat dimuat'\r\n            );\r\n\r\n        }\r\n\r\n\r\n        totalPages =\r\n            Number(\r\n                response.headers.get(\r\n                    'X-WP-TotalPages'\r\n                ) || 1\r\n            );\r\n\r\n\r\n        return (\r\n            await response.json()\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function createCard(\r\n        post\r\n    ) {\r\n\r\n        const title =\r\n            stripHTML(\r\n                post.title &&\r\n                post.title.rendered\r\n                    ? post.title.rendered\r\n                    : ''\r\n            );\r\n\r\n\r\n        const excerpt =\r\n            getSmartExcerpt(\r\n                post\r\n            );\r\n\r\n\r\n        const image =\r\n            getFeaturedImage(\r\n                post\r\n            );\r\n\r\n\r\n        const categoryName =\r\n            getPostCategory(\r\n                post\r\n            );\r\n\r\n\r\n        const card =\r\n            document.createElement(\r\n                'article'\r\n            );\r\n\r\n\r\n        card.className =\r\n            'custom-news-card news-card-enter';\r\n\r\n\r\n        card.innerHTML = `\r\n\r\n            <a\r\n                href=\"${post.link}\"\r\n                class=\"custom-news-image\"\r\n                aria-label=\"${escapeHTML(title)}\"\r\n            >\r\n\r\n                ${\r\n                    image\r\n\r\n                    ? `\r\n                        <img\r\n                            src=\"${image}\"\r\n                            alt=\"${escapeHTML(title)}\"\r\n                            loading=\"lazy\"\r\n                            decoding=\"async\"\r\n                        >\r\n                    `\r\n\r\n                    : `\r\n                        <div class=\"custom-news-placeholder\">\r\n                            Berita\r\n                        <\/div>\r\n                    `\r\n                }\r\n\r\n            <\/a>\r\n\r\n\r\n            <div class=\"custom-news-content\">\r\n\r\n\r\n                <div class=\"custom-news-date\">\r\n\r\n                    <svg\r\n                        viewBox=\"0 0 24 24\"\r\n                        fill=\"none\"\r\n                        stroke=\"currentColor\"\r\n                        stroke-width=\"1.8\"\r\n                        stroke-linecap=\"round\"\r\n                        stroke-linejoin=\"round\"\r\n                    >\r\n\r\n                        <rect\r\n                            x=\"3\"\r\n                            y=\"5\"\r\n                            width=\"18\"\r\n                            height=\"16\"\r\n                            rx=\"2\"\r\n                        ><\/rect>\r\n\r\n                        <line\r\n                            x1=\"16\"\r\n                            y1=\"3\"\r\n                            x2=\"16\"\r\n                            y2=\"7\"\r\n                        ><\/line>\r\n\r\n                        <line\r\n                            x1=\"8\"\r\n                            y1=\"3\"\r\n                            x2=\"8\"\r\n                            y2=\"7\"\r\n                        ><\/line>\r\n\r\n                        <line\r\n                            x1=\"3\"\r\n                            y1=\"11\"\r\n                            x2=\"21\"\r\n                            y2=\"11\"\r\n                        ><\/line>\r\n\r\n                    <\/svg>\r\n\r\n\r\n                    <span>\r\n                        ${formatDate(post.date)}\r\n                    <\/span>\r\n\r\n                <\/div>\r\n\r\n\r\n                <div\r\n                    class=\"custom-news-category\"\r\n                    title=\"${escapeHTML(categoryName)}\"\r\n                >\r\n\r\n                    <span class=\"custom-news-category-text\">\r\n                        ${escapeHTML(categoryName)}\r\n                    <\/span>\r\n\r\n                <\/div>\r\n\r\n\r\n                <h3 class=\"custom-news-title\">\r\n\r\n                    <a\r\n                        href=\"${post.link}\"\r\n                        title=\"${escapeHTML(title)}\"\r\n                    >\r\n                        ${escapeHTML(title)}\r\n                    <\/a>\r\n\r\n                <\/h3>\r\n\r\n\r\n                ${\r\n                    excerpt\r\n\r\n                    ? `\r\n                        <div class=\"custom-news-excerpt\">\r\n                            ${escapeHTML(excerpt)}\r\n                        <\/div>\r\n                    `\r\n\r\n                    : ''\r\n                }\r\n\r\n\r\n                <div class=\"custom-news-button-area\">\r\n\r\n                    <a\r\n                        href=\"${post.link}\"\r\n                        class=\"custom-news-button\"\r\n                    >\r\n\r\n                        <span>\r\n                            Baca Selengkapnya\r\n                        <\/span>\r\n\r\n                        <span class=\"custom-news-button-arrow\">\r\n                            \u2192\r\n                        <\/span>\r\n\r\n                    <\/a>\r\n\r\n                <\/div>\r\n\r\n\r\n            <\/div>\r\n\r\n        `;\r\n\r\n\r\n        card.addEventListener(\r\n            'animationend',\r\n            function () {\r\n\r\n                card.classList.remove(\r\n                    'news-card-enter'\r\n                );\r\n\r\n            },\r\n            {\r\n                once: true\r\n            }\r\n        );\r\n\r\n\r\n        return card;\r\n\r\n    }\r\n\r\n\r\n    function createSkeleton() {\r\n\r\n        const skeleton =\r\n            document.createElement(\r\n                'div'\r\n            );\r\n\r\n\r\n        skeleton.className =\r\n            'custom-news-skeleton loading-next-skeleton';\r\n\r\n\r\n        skeleton.innerHTML = `\r\n\r\n            <div\r\n                class=\"skeleton-image skeleton-animation\"\r\n            ><\/div>\r\n\r\n            <div class=\"skeleton-content\">\r\n\r\n                <div\r\n                    class=\"skeleton-date skeleton-animation\"\r\n                ><\/div>\r\n\r\n                <div\r\n                    class=\"skeleton-category skeleton-animation\"\r\n                ><\/div>\r\n\r\n                <div\r\n                    class=\"skeleton-title skeleton-animation\"\r\n                ><\/div>\r\n\r\n                <div\r\n                    class=\"skeleton-title skeleton-title-short skeleton-animation\"\r\n                ><\/div>\r\n\r\n                <div\r\n                    class=\"skeleton-text skeleton-animation\"\r\n                ><\/div>\r\n\r\n                <div\r\n                    class=\"skeleton-text skeleton-animation\"\r\n                ><\/div>\r\n\r\n                <div\r\n                    class=\"skeleton-text skeleton-text-short skeleton-animation\"\r\n                ><\/div>\r\n\r\n                <div\r\n                    class=\"skeleton-button skeleton-animation\"\r\n                ><\/div>\r\n\r\n            <\/div>\r\n\r\n        `;\r\n\r\n\r\n        return skeleton;\r\n\r\n    }\r\n\r\n\r\n    function updateCategoryMarquee() {\r\n\r\n        const badges =\r\n            track.querySelectorAll(\r\n                '.custom-news-category'\r\n            );\r\n\r\n\r\n        badges.forEach(\r\n            function (\r\n                badge\r\n            ) {\r\n\r\n                const text =\r\n                    badge.querySelector(\r\n                        '.custom-news-category-text'\r\n                    );\r\n\r\n\r\n                if (\r\n                    !text\r\n                ) {\r\n\r\n                    return;\r\n\r\n                }\r\n\r\n\r\n                badge.classList.remove(\r\n                    'has-overflow'\r\n                );\r\n\r\n\r\n                badge.style.removeProperty(\r\n                    '--marquee-distance'\r\n                );\r\n\r\n\r\n                badge.style.removeProperty(\r\n                    '--marquee-duration'\r\n                );\r\n\r\n\r\n                const style =\r\n                    window.getComputedStyle(\r\n                        badge\r\n                    );\r\n\r\n\r\n                const paddingLeft =\r\n                    parseFloat(\r\n                        style.paddingLeft\r\n                    ) || 0;\r\n\r\n\r\n                const paddingRight =\r\n                    parseFloat(\r\n                        style.paddingRight\r\n                    ) || 0;\r\n\r\n\r\n                const availableWidth =\r\n                    badge.clientWidth -\r\n                    paddingLeft -\r\n                    paddingRight;\r\n\r\n\r\n                const textWidth =\r\n                    text.scrollWidth;\r\n\r\n\r\n                const overflowDistance =\r\n                    textWidth -\r\n                    availableWidth;\r\n\r\n\r\n                if (\r\n                    overflowDistance > 4\r\n                ) {\r\n\r\n                    badge.classList.add(\r\n                        'has-overflow'\r\n                    );\r\n\r\n\r\n                    badge.style.setProperty(\r\n                        '--marquee-distance',\r\n                        overflowDistance +\r\n                        'px'\r\n                    );\r\n\r\n\r\n                    const duration =\r\n                        Math.max(\r\n                            3.5,\r\n                            overflowDistance \/ 22\r\n                        );\r\n\r\n\r\n                    badge.style.setProperty(\r\n                        '--marquee-duration',\r\n                        duration +\r\n                        's'\r\n                    );\r\n\r\n                }\r\n\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function renderFirstPosts(\r\n        posts\r\n    ) {\r\n\r\n        track.innerHTML =\r\n            '';\r\n\r\n\r\n        const fragment =\r\n            document.createDocumentFragment();\r\n\r\n\r\n        posts.forEach(\r\n            function (\r\n                post\r\n            ) {\r\n\r\n                fragment.appendChild(\r\n                    createCard(\r\n                        post\r\n                    )\r\n                );\r\n\r\n            }\r\n        );\r\n\r\n\r\n        track.appendChild(\r\n            fragment\r\n        );\r\n\r\n\r\n        setTimeout(\r\n            function () {\r\n\r\n                updateCategoryMarquee();\r\n\r\n            },\r\n            100\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function addNextSkeletons() {\r\n\r\n        const existing =\r\n            track.querySelectorAll(\r\n                '.loading-next-skeleton'\r\n            );\r\n\r\n\r\n        if (\r\n            existing.length\r\n        ) {\r\n\r\n            return;\r\n\r\n        }\r\n\r\n\r\n        const fragment =\r\n            document.createDocumentFragment();\r\n\r\n\r\n        for (\r\n            let i = 0;\r\n            i < POSTS_PER_REQUEST;\r\n            i++\r\n        ) {\r\n\r\n            fragment.appendChild(\r\n                createSkeleton()\r\n            );\r\n\r\n        }\r\n\r\n\r\n        track.appendChild(\r\n            fragment\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function replaceSkeletons(\r\n        posts\r\n    ) {\r\n\r\n        const skeletons =\r\n            Array.from(\r\n                track.querySelectorAll(\r\n                    '.loading-next-skeleton'\r\n                )\r\n            );\r\n\r\n\r\n        posts.forEach(\r\n            function (\r\n                post,\r\n                index\r\n            ) {\r\n\r\n                const card =\r\n                    createCard(\r\n                        post\r\n                    );\r\n\r\n\r\n                if (\r\n                    skeletons[\r\n                        index\r\n                    ]\r\n                ) {\r\n\r\n                    skeletons[\r\n                        index\r\n                    ].replaceWith(\r\n                        card\r\n                    );\r\n\r\n                } else {\r\n\r\n                    track.appendChild(\r\n                        card\r\n                    );\r\n\r\n                }\r\n\r\n            }\r\n        );\r\n\r\n\r\n        skeletons.forEach(\r\n            function (\r\n                skeleton,\r\n                index\r\n            ) {\r\n\r\n                if (\r\n                    index >=\r\n                    posts.length\r\n                ) {\r\n\r\n                    skeleton.remove();\r\n\r\n                }\r\n\r\n            }\r\n        );\r\n\r\n\r\n        setTimeout(\r\n            function () {\r\n\r\n                updateCategoryMarquee();\r\n\r\n            },\r\n            100\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function removeLoadingSkeletons() {\r\n\r\n        const skeletons =\r\n            track.querySelectorAll(\r\n                '.loading-next-skeleton'\r\n            );\r\n\r\n\r\n        skeletons.forEach(\r\n            function (\r\n                skeleton\r\n            ) {\r\n\r\n                skeleton.remove();\r\n\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function cardsPerSlide() {\r\n\r\n        if (\r\n            window.innerWidth <=\r\n            767\r\n        ) {\r\n\r\n            return 1;\r\n\r\n        }\r\n\r\n\r\n        if (\r\n            window.innerWidth <=\r\n            1024\r\n        ) {\r\n\r\n            return 2;\r\n\r\n        }\r\n\r\n\r\n        return 4;\r\n\r\n    }\r\n\r\n\r\n    function getCards() {\r\n\r\n        return Array.from(\r\n            track.querySelectorAll(\r\n                '.custom-news-card'\r\n            )\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function getScrollAmount() {\r\n\r\n        const card =\r\n            track.querySelector(\r\n                '.custom-news-card'\r\n            );\r\n\r\n\r\n        if (\r\n            !card\r\n        ) {\r\n\r\n            return track.clientWidth;\r\n\r\n        }\r\n\r\n\r\n        const gap =\r\n            parseFloat(\r\n                window\r\n                    .getComputedStyle(\r\n                        track\r\n                    )\r\n                    .gap\r\n            ) || 0;\r\n\r\n\r\n        const width =\r\n            card\r\n                .getBoundingClientRect()\r\n                .width;\r\n\r\n\r\n        return (\r\n            (width + gap) *\r\n            cardsPerSlide()\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function hasMorePosts() {\r\n\r\n        return (\r\n            currentPage <=\r\n            totalPages\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function getCurrentVisualPage() {\r\n\r\n        const amount =\r\n            getScrollAmount();\r\n\r\n\r\n        if (\r\n            !amount\r\n        ) {\r\n\r\n            return 0;\r\n\r\n        }\r\n\r\n\r\n        return Math.round(\r\n            track.scrollLeft \/\r\n            amount\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function updatePagination() {\r\n\r\n        const cards =\r\n            getCards();\r\n\r\n\r\n        if (\r\n            !cards.length\r\n        ) {\r\n\r\n            pagination.innerHTML =\r\n                '';\r\n\r\n            return;\r\n\r\n        }\r\n\r\n\r\n        const totalVisualPages =\r\n            Math.ceil(\r\n                cards.length \/\r\n                cardsPerSlide()\r\n            );\r\n\r\n\r\n        const activePage =\r\n            Math.min(\r\n                getCurrentVisualPage(),\r\n                totalVisualPages - 1\r\n            );\r\n\r\n\r\n        pagination.innerHTML =\r\n            '';\r\n\r\n\r\n        for (\r\n            let i = 0;\r\n            i < totalVisualPages;\r\n            i++\r\n        ) {\r\n\r\n            const dot =\r\n                document.createElement(\r\n                    'button'\r\n                );\r\n\r\n\r\n            dot.type =\r\n                'button';\r\n\r\n\r\n            dot.className =\r\n                'custom-news-dot';\r\n\r\n\r\n            dot.setAttribute(\r\n                'aria-label',\r\n                'Buka bagian berita ' +\r\n                (i + 1)\r\n            );\r\n\r\n\r\n            if (\r\n                i ===\r\n                activePage\r\n            ) {\r\n\r\n                dot.classList.add(\r\n                    'is-active'\r\n                );\r\n\r\n            }\r\n\r\n\r\n            dot.addEventListener(\r\n                'click',\r\n                function () {\r\n\r\n                    track.scrollTo({\r\n\r\n                        left:\r\n                            getScrollAmount() *\r\n                            i,\r\n\r\n                        behavior:\r\n                            'smooth'\r\n\r\n                    });\r\n\r\n                }\r\n            );\r\n\r\n\r\n            pagination.appendChild(\r\n                dot\r\n            );\r\n\r\n        }\r\n\r\n    }\r\n\r\n\r\n    function updateActiveDot() {\r\n\r\n        const dots =\r\n            pagination.querySelectorAll(\r\n                '.custom-news-dot'\r\n            );\r\n\r\n\r\n        if (\r\n            !dots.length\r\n        ) {\r\n\r\n            return;\r\n\r\n        }\r\n\r\n\r\n        const activePage =\r\n            getCurrentVisualPage();\r\n\r\n\r\n        dots.forEach(\r\n            function (\r\n                dot,\r\n                index\r\n            ) {\r\n\r\n                dot.classList.toggle(\r\n                    'is-active',\r\n                    index === activePage\r\n                );\r\n\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n\r\n    function updateNavigation() {\r\n\r\n        if (\r\n            window.innerWidth <=\r\n            767\r\n        ) {\r\n\r\n            prevButton.classList.add(\r\n                'is-hidden'\r\n            );\r\n\r\n\r\n            nextButton.classList.add(\r\n                'is-hidden'\r\n            );\r\n\r\n\r\n            return;\r\n\r\n        }\r\n\r\n\r\n        const maxScroll =\r\n            Math.max(\r\n                0,\r\n                track.scrollWidth -\r\n                track.clientWidth\r\n            );\r\n\r\n\r\n        const atStart =\r\n            track.scrollLeft <=\r\n            8;\r\n\r\n\r\n        const atEnd =\r\n            track.scrollLeft >=\r\n            maxScroll - 8;\r\n\r\n\r\n        prevButton.classList.toggle(\r\n            'is-hidden',\r\n            atStart\r\n        );\r\n\r\n\r\n        nextButton.classList.toggle(\r\n            'is-hidden',\r\n            atEnd &&\r\n            !hasMorePosts() &&\r\n            !loading\r\n        );\r\n\r\n    }\r\n\r\n\r\n    async function loadNextPosts(\r\n        autoMove\r\n    ) {\r\n\r\n        if (\r\n            loading ||\r\n            !hasMorePosts()\r\n        ) {\r\n\r\n            return false;\r\n\r\n        }\r\n\r\n\r\n        loading =\r\n            true;\r\n\r\n\r\n        addNextSkeletons();\r\n\r\n\r\n        updateNavigation();\r\n\r\n\r\n        if (\r\n            autoMove\r\n        ) {\r\n\r\n            setTimeout(\r\n                function () {\r\n\r\n                    track.scrollBy({\r\n\r\n                        left:\r\n                            getScrollAmount(),\r\n\r\n                        behavior:\r\n                            'smooth'\r\n\r\n                    });\r\n\r\n                },\r\n                30\r\n            );\r\n\r\n        }\r\n\r\n\r\n        try {\r\n\r\n            const posts =\r\n                await fetchPosts(\r\n                    currentPage\r\n                );\r\n\r\n\r\n            replaceSkeletons(\r\n                posts\r\n            );\r\n\r\n\r\n            currentPage++;\r\n\r\n\r\n            setTimeout(\r\n                function () {\r\n\r\n                    updateNavigation();\r\n\r\n                    updatePagination();\r\n\r\n                    updateActiveDot();\r\n\r\n                    updateCategoryMarquee();\r\n\r\n                },\r\n                250\r\n            );\r\n\r\n\r\n            return true;\r\n\r\n\r\n        } catch (\r\n            error\r\n        ) {\r\n\r\n            console.error(\r\n                'News Slider:',\r\n                error\r\n            );\r\n\r\n\r\n            removeLoadingSkeletons();\r\n\r\n\r\n            updateNavigation();\r\n\r\n\r\n            return false;\r\n\r\n\r\n        } finally {\r\n\r\n            loading =\r\n                false;\r\n\r\n\r\n            setTimeout(\r\n                updateNavigation,\r\n                50\r\n            );\r\n\r\n        }\r\n\r\n    }\r\n\r\n\r\n    nextButton.addEventListener(\r\n        'click',\r\n        async function () {\r\n\r\n            if (\r\n                loading\r\n            ) {\r\n\r\n                return;\r\n\r\n            }\r\n\r\n\r\n            const maxScroll =\r\n                Math.max(\r\n                    0,\r\n                    track.scrollWidth -\r\n                    track.clientWidth\r\n                );\r\n\r\n\r\n            const atEnd =\r\n                track.scrollLeft >=\r\n                maxScroll - 8;\r\n\r\n\r\n            if (\r\n                !atEnd\r\n            ) {\r\n\r\n                track.scrollBy({\r\n\r\n                    left:\r\n                        getScrollAmount(),\r\n\r\n                    behavior:\r\n                        'smooth'\r\n\r\n                });\r\n\r\n\r\n                return;\r\n\r\n            }\r\n\r\n\r\n            if (\r\n                hasMorePosts()\r\n            ) {\r\n\r\n                await loadNextPosts(\r\n                    true\r\n                );\r\n\r\n            }\r\n\r\n        }\r\n    );\r\n\r\n\r\n    prevButton.addEventListener(\r\n        'click',\r\n        function () {\r\n\r\n            if (\r\n                loading\r\n            ) {\r\n\r\n                return;\r\n\r\n            }\r\n\r\n\r\n            track.scrollBy({\r\n\r\n                left:\r\n                    -getScrollAmount(),\r\n\r\n                behavior:\r\n                    'smooth'\r\n\r\n            });\r\n\r\n        }\r\n    );\r\n\r\n\r\n    track.addEventListener(\r\n        'scroll',\r\n        function () {\r\n\r\n            window.requestAnimationFrame(\r\n                function () {\r\n\r\n                    updateNavigation();\r\n\r\n                    updateActiveDot();\r\n\r\n                }\r\n            );\r\n\r\n\r\n            clearTimeout(\r\n                autoLoadTimer\r\n            );\r\n\r\n\r\n            autoLoadTimer =\r\n                setTimeout(\r\n                    function () {\r\n\r\n                        if (\r\n                            loading ||\r\n                            !hasMorePosts()\r\n                        ) {\r\n\r\n                            return;\r\n\r\n                        }\r\n\r\n\r\n                        const remaining =\r\n                            track.scrollWidth -\r\n                            track.clientWidth -\r\n                            track.scrollLeft;\r\n\r\n\r\n                        const triggerDistance =\r\n                            getScrollAmount() *\r\n                            0.75;\r\n\r\n\r\n                        if (\r\n                            remaining <=\r\n                            triggerDistance\r\n                        ) {\r\n\r\n                            loadNextPosts(\r\n                                false\r\n                            );\r\n\r\n                        }\r\n\r\n                    },\r\n                    150\r\n                );\r\n\r\n        },\r\n        {\r\n            passive: true\r\n        }\r\n    );\r\n\r\n\r\n    let resizeTimer;\r\n\r\n\r\n    window.addEventListener(\r\n        'resize',\r\n        function () {\r\n\r\n            clearTimeout(\r\n                resizeTimer\r\n            );\r\n\r\n\r\n            resizeTimer =\r\n                setTimeout(\r\n                    function () {\r\n\r\n                        updateNavigation();\r\n\r\n                        updatePagination();\r\n\r\n                        updateActiveDot();\r\n\r\n                        updateCategoryMarquee();\r\n\r\n                    },\r\n                    150\r\n                );\r\n\r\n        }\r\n    );\r\n\r\n\r\n    if (\r\n        document.fonts &&\r\n        document.fonts.ready\r\n    ) {\r\n\r\n        document.fonts.ready.then(\r\n            function () {\r\n\r\n                updateCategoryMarquee();\r\n\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n\r\n    async function start() {\r\n\r\n        try {\r\n\r\n            await getCategoryIDs();\r\n\r\n\r\n            if (\r\n                !categoryIDs.length\r\n            ) {\r\n\r\n                track.innerHTML =\r\n                    '<div class=\"custom-news-error\">Kategori berita tidak ditemukan.<\/div>';\r\n\r\n\r\n                prevButton.classList.add(\r\n                    'is-hidden'\r\n                );\r\n\r\n\r\n                nextButton.classList.add(\r\n                    'is-hidden'\r\n                );\r\n\r\n\r\n                return;\r\n\r\n            }\r\n\r\n\r\n            const firstPosts =\r\n                await fetchPosts(\r\n                    1\r\n                );\r\n\r\n\r\n            renderFirstPosts(\r\n                firstPosts\r\n            );\r\n\r\n\r\n            currentPage =\r\n                2;\r\n\r\n\r\n            updateNavigation();\r\n\r\n            updatePagination();\r\n\r\n\r\n            setTimeout(\r\n                function () {\r\n\r\n                    updateCategoryMarquee();\r\n\r\n                },\r\n                150\r\n            );\r\n\r\n\r\n            if (\r\n                hasMorePosts()\r\n            ) {\r\n\r\n                setTimeout(\r\n                    function () {\r\n\r\n                        loadNextPosts(\r\n                            false\r\n                        );\r\n\r\n                    },\r\n                    250\r\n                );\r\n\r\n            }\r\n\r\n\r\n        } catch (\r\n            error\r\n        ) {\r\n\r\n            console.error(\r\n                'News Slider:',\r\n                error\r\n            );\r\n\r\n\r\n            track.innerHTML =\r\n                '<div class=\"custom-news-error\">Berita tidak dapat dimuat.<\/div>';\r\n\r\n\r\n            prevButton.classList.add(\r\n                'is-hidden'\r\n            );\r\n\r\n\r\n            nextButton.classList.add(\r\n                'is-hidden'\r\n            );\r\n\r\n        }\r\n\r\n    }\r\n\r\n\r\n    start();\r\n\r\n\r\n})();\r\n\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Lokakarya Penulisan Paper Ilmiah Dan Presentase Hasil Monitoring Ekologi Di Bentang Laut Kepala Burung Papua Dan Papua Barat Penulis Tim BHS Monitoring Sosial Tanggal 25 November 2018 Tujuan : menuliskan hasil monitoring ekologi di BLKB dalam bentuk publikasi ilmiah (paper) menyampaikan hasil monitoring ekologi kepada UPTD BLUD, Pemda Raja Ampat dan mitra terkait. Foto : [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1925,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[71],"tags":[],"class_list":["post-1944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-monitoring-ekologi-diseminasi"],"_links":{"self":[{"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/posts\/1944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/comments?post=1944"}],"version-history":[{"count":14,"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/posts\/1944\/revisions"}],"predecessor-version":[{"id":23889,"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/posts\/1944\/revisions\/23889"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/media\/1925"}],"wp:attachment":[{"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/media?parent=1944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/categories?post=1944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science4conservation.com\/en\/wp-json\/wp\/v2\/tags?post=1944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}