{"id":13094,"date":"2026-06-10T06:29:55","date_gmt":"2026-06-10T06:29:55","guid":{"rendered":"https:\/\/pbsd.upgris.ac.id\/?page_id=13094"},"modified":"2026-06-10T07:19:26","modified_gmt":"2026-06-10T07:19:26","slug":"educational-staff","status":"publish","type":"page","link":"https:\/\/pbsd.upgris.ac.id\/index.php\/educational-staff\/","title":{"rendered":"Educational Staff"},"content":{"rendered":"<style data-wp-block-html=\"css\">\n\/* Staff Section *\/\n.staff-section {\n    max-width: 1300px;\n    margin: auto;\n    padding: 80px 20px;\n    font-family: 'Arial', sans-serif;\n}\n\n.staff-title {\n    text-align: center;\n    margin-bottom: 50px;\n}\n\n.staff-title span {\n    color: #2e8b57;\n    font-weight: bold;\n    text-transform: uppercase;\n    letter-spacing: 2px;\n    font-size: 14px;\n}\n\n.staff-title h2 {\n    font-size: 42px;\n    color: #222;\n    margin: 10px 0 0;\n}\n\n.staff-grid {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 30px;\n}\n\n.staff-card {\n    background: white;\n    border-radius: 20px;\n    overflow: hidden;\n    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n    display: flex;\n    flex-direction: row;\n    align-items: stretch;\n}\n\n.staff-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);\n}\n\n\/* Foto di kiri *\/\n.staff-image {\n    flex: 0 0 300px;\n    overflow: hidden;\n}\n\n.staff-image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform 0.3s ease;\n}\n\n.staff-card:hover .staff-image img {\n    transform: scale(1.03);\n}\n\n\/* Data di kanan *\/\n.staff-body {\n    flex: 1;\n    padding: 30px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n}\n\n.staff-body h3 {\n    margin: 0 0 15px 0;\n    color: #1f2937;\n    font-size: 24px;\n}\n\n.staff-info p {\n    margin: 10px 0;\n    color: #555;\n    font-size: 15px;\n    line-height: 1.5;\n}\n\n.staff-info strong {\n    color: #2e8b57;\n    min-width: 80px;\n    display: inline-block;\n}\n\n.staff-badge {\n    margin: 20px 0 0;\n    display: flex;\n    gap: 12px;\n    flex-wrap: wrap;\n}\n\n.staff-badge span {\n    background: #f1f5f9;\n    padding: 8px 16px;\n    border-radius: 25px;\n    font-size: 13px;\n    color: #1e293b;\n    font-weight: 500;\n}\n\n.staff-button {\n    margin-top: 28px;\n    display: flex;\n    gap: 15px;\n}\n\n.staff-button a,\n.staff-button button {\n    flex: 1;\n    text-align: center;\n    border: none;\n    padding: 12px 20px;\n    cursor: pointer;\n    border-radius: 10px;\n    text-decoration: none;\n    font-weight: bold;\n    font-size: 14px;\n    transition: all 0.2s ease;\n}\n\n.btn-scholar {\n    background: #2e8b57;\n    color: white;\n}\n\n.btn-scholar:hover {\n    background: #1e6b45;\n    transform: translateY(-2px);\n}\n\n.btn-detail {\n    background: #1f2937;\n    color: white;\n}\n\n.btn-detail:hover {\n    background: #0f172a;\n    transform: translateY(-2px);\n}\n\n\/* Modal Popup PDF *\/\n.pdf-modal {\n    display: none;\n    position: fixed;\n    z-index: 9999;\n    left: 0;\n    top: 0;\n    width: 100%;\n    height: 100%;\n    background: rgba(0, 0, 0, 0.85);\n    animation: fadeIn 0.3s ease;\n}\n\n@keyframes fadeIn {\n    from { opacity: 0; }\n    to { opacity: 1; }\n}\n\n.pdf-content {\n    width: 90%;\n    max-width: 1100px;\n    height: 85%;\n    margin: 5% auto;\n    background: white;\n    border-radius: 15px;\n    overflow: hidden;\n    position: relative;\n    animation: slideUp 0.3s ease;\n}\n\n@keyframes slideUp {\n    from {\n        transform: translateY(50px);\n        opacity: 0;\n    }\n    to {\n        transform: translateY(0);\n        opacity: 1;\n    }\n}\n\n.close {\n    position: absolute;\n    right: 18px;\n    top: 5px;\n    font-size: 42px;\n    font-weight: bold;\n    cursor: pointer;\n    z-index: 1000;\n    color: #333;\n    transition: color 0.2s;\n}\n\n.close:hover {\n    color: #e74c3c;\n}\n\n#pdfFrame {\n    width: 100%;\n    height: 100%;\n    border: none;\n}\n\n\/* Fallback message jika PDF tidak bisa ditampilkan *\/\n.pdf-fallback {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    height: 100%;\n    text-align: center;\n    padding: 40px;\n}\n\n.pdf-fallback p {\n    margin-bottom: 20px;\n    color: #555;\n}\n\n.pdf-fallback a {\n    background: #2e8b57;\n    color: white;\n    padding: 12px 24px;\n    text-decoration: none;\n    border-radius: 8px;\n    font-weight: bold;\n}\n\n\/* Responsive *\/\n@media (max-width: 768px) {\n    .staff-card {\n        flex-direction: column;\n    }\n    \n    .staff-image {\n        flex: 0 0 auto;\n        height: 320px;\n    }\n    \n    .staff-body {\n        padding: 25px;\n    }\n    \n    .staff-title h2 {\n        font-size: 32px;\n    }\n    \n    .pdf-content {\n        width: 95%;\n        height: 80%;\n        margin: 10% auto;\n    }\n}\n\n@media (max-width: 480px) {\n    .staff-section {\n        padding: 40px 15px;\n    }\n    \n    .staff-button {\n        flex-direction: column;\n        gap: 10px;\n    }\n    \n    .staff-badge span {\n        font-size: 11px;\n        padding: 6px 12px;\n    }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\nfunction openPDF(url) {\n    var modal = document.getElementById(\"pdfModal\");\n    var pdfFrame = document.getElementById(\"pdfFrame\");\n    var pdfContent = document.querySelector('.pdf-content');\n    \n    if (modal && pdfFrame) {\n        \/\/ Tampilkan modal\n        modal.style.display = \"block\";\n        document.body.style.overflow = \"hidden\";\n        \n        \/\/ Bersihkan konten sebelumnya\n        pdfFrame.style.display = \"none\";\n        \n        \/\/ Coba tampilkan dengan iframe\n        pdfFrame.onload = function() {\n            pdfFrame.style.display = \"block\";\n        };\n        \n        pdfFrame.onerror = function() {\n            \/\/ Jika iframe gagal, tampilkan link download\n            showFallback(url);\n        };\n        \n        \/\/ Set timeout untuk deteksi kegagalan loading\n        var timeout = setTimeout(function() {\n            if (pdfFrame.style.display !== \"block\") {\n                showFallback(url);\n            }\n        }, 3000);\n        \n        pdfFrame.onload = function() {\n            clearTimeout(timeout);\n            pdfFrame.style.display = \"block\";\n        };\n        \n        pdfFrame.src = url;\n        \n        function showFallback(pdfUrl) {\n            var existingFallback = document.querySelector('.pdf-fallback');\n            if (existingFallback) return;\n            \n            var fallbackDiv = document.createElement('div');\n            fallbackDiv.className = 'pdf-fallback';\n            fallbackDiv.innerHTML = `\n                <p style=\"color:#333; font-size:16px;\">\n                    \u26a0\ufe0f PDF tidak dapat ditampilkan langsung di browser.<br>\n                    Klik tombol di bawah untuk membuka PDF di tab baru.\n                <\/p>\n                <a href=\"${pdfUrl}\" target=\"_blank\" rel=\"noopener noreferrer\">\n                    \ud83d\udcc4 Buka PDF di Tab Baru\n                <\/a>\n                <p style=\"margin-top:20px; font-size:14px; color:#888;\">\n                    Atau klik kanan link di atas dan pilih \"Save link as...\" untuk download\n                <\/p>\n            `;\n            \n            var pdfContentDiv = document.querySelector('.pdf-content');\n            pdfContentDiv.appendChild(fallbackDiv);\n            pdfFrame.style.display = \"none\";\n        }\n    }\n}\n\nfunction closePDF() {\n    var modal = document.getElementById(\"pdfModal\");\n    var pdfFrame = document.getElementById(\"pdfFrame\");\n    var fallback = document.querySelector('.pdf-fallback');\n    \n    if (modal) {\n        modal.style.display = \"none\";\n        document.body.style.overflow = \"auto\";\n        \n        if (pdfFrame) {\n            pdfFrame.src = \"\";\n            pdfFrame.style.display = \"block\";\n        }\n        \n        if (fallback) {\n            fallback.remove();\n        }\n    }\n}\n\n\/\/ Tutup modal jika klik di luar area PDF\nwindow.onclick = function(event) {\n    var modal = document.getElementById(\"pdfModal\");\n    if (event.target === modal) {\n        closePDF();\n    }\n}\n\n\/\/ Tombol ESC untuk menutup modal\ndocument.addEventListener('keydown', function(event) {\n    if (event.key === \"Escape\") {\n        closePDF();\n    }\n});\n<\/script>\n\n<!-- STAF AKADEMIK 1 -->\n<div class=\"staff-card\">\n\n    <div class=\"staff-image\">\n\n        <noscript><img decoding=\"async\" src=\"https:\/\/pbsd.upgris.ac.id\/wp-content\/uploads\/2026\/06\/muhammad-rizki.png\" alt=\"Muhammad Rizki Tri Prastawa\"><\/noscript><img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"Muhammad Rizki Tri Prastawa\" data-src=\"https:\/\/pbsd.upgris.ac.id\/wp-content\/uploads\/2026\/06\/muhammad-rizki.png\" class=\" lazyload\">\n\n    <\/div>\n\n    <div class=\"staff-body\">\n\n        <h3>\n            Muhammad Rizki Tri Prastawa,\n            S.Pd.\n        <\/h3>\n\n        <div class=\"staff-info\">\n\n            <p>\n                <strong>NPP<\/strong>\n                : 250101704\n            <\/p>\n\n            <p>\n                <strong>Position<\/strong>\n                : Laboran PBSD\n            <\/p>\n\n        <\/div>\n\n    <\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Muhammad Rizki Tri Prastawa, S.Pd. NPP : 250101704 Position : Laboran PBSD<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-13094","page","type-page","status-publish","hentry"],"blocksy_meta":[],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"UPTTIK UPGRIS","author_link":"https:\/\/pbsd.upgris.ac.id\/index.php\/author\/upttik\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Muhammad Rizki Tri Prastawa, S.Pd. NPP : 250101704 Position : Laboran PBSD","_links":{"self":[{"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/pages\/13094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/comments?post=13094"}],"version-history":[{"count":2,"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/pages\/13094\/revisions"}],"predecessor-version":[{"id":13217,"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/pages\/13094\/revisions\/13217"}],"wp:attachment":[{"href":"https:\/\/pbsd.upgris.ac.id\/index.php\/wp-json\/wp\/v2\/media?parent=13094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}