{"id":16484,"date":"2026-09-01T12:37:33","date_gmt":"2026-09-01T05:37:33","guid":{"rendered":"https:\/\/pmb.unimus.ac.id\/?page_id=16484"},"modified":"2026-09-01T15:15:50","modified_gmt":"2026-09-01T08:15:50","slug":"program-studi","status":"publish","type":"page","link":"https:\/\/pmb.unimus.ac.id\/?page_id=16484","title":{"rendered":"Program Studi"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"16484\" class=\"elementor elementor-16484\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2b4cb44 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2b4cb44\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1200b15\" data-id=\"1200b15\" 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-9f65499 elementor-widget elementor-widget-html\" data-id=\"9f65499\" 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<!doctype html>\n<html lang=\"id\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<title>Program Studi \u2014 PMB UNIMUS<\/title>\n<style>\n#pmb-program-studi{\n  --blue:#263C9A;\n  --blue2:#245FC0;\n  --blue3:#1595D3;\n  --deep:#17286F;\n  --deep2:#111E54;\n  --yellow:#FFD426;\n  --yellow2:#FFE56C;\n  --yellowSoft:#FFF7CF;\n  --white:#fff;\n  --ink:#17223A;\n  --body:#58657A;\n  --muted:#788599;\n  --line:#E0E6F0;\n  --soft:#F5F7FC;\n\n  position:relative;\n  left:50%;\n  width:100vw;\n  max-width:100vw;\n  margin-left:-50vw;\n  margin-right:-50vw;\n  overflow:hidden;\n  background:#fff;\n  color:var(--ink);\n  font-family:Inter,\"Segoe UI\",Arial,sans-serif;\n  font-size:16px;\n  line-height:1.65;\n}\n#pmb-program-studi,#pmb-program-studi *{box-sizing:border-box}\n#pmb-program-studi a{text-decoration:none}\n#pmb-program-studi img,#pmb-program-studi svg{display:block;max-width:100%}\n#pmb-program-studi .container{width:min(1240px,calc(100% - 48px));margin:auto}\n\n\/* HERO *\/\n#pmb-program-studi .hero{\n  position:relative;\n  min-height:650px;\n  padding:28px 0 120px;\n  color:#fff;\n  overflow:hidden;\n  background:\n    radial-gradient(circle at 80% 15%,rgba(21,149,211,.20),transparent 24%),\n    linear-gradient(128deg,var(--deep),var(--blue) 52%,var(--blue2));\n}\n#pmb-program-studi .hero:before{\n  content:\"\";position:absolute;inset:0;opacity:.055;\n  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);\n  background-size:48px 48px;\n}\n#pmb-program-studi .hero-blob{\n  position:absolute;right:-90px;top:-120px;width:510px;height:510px;\n  border-radius:44% 56% 58% 42% \/ 43% 44% 56% 57%;\n  background:linear-gradient(145deg,#17286F,#263C9A);\n  transform:rotate(-8deg);\n  box-shadow:0 26px 74px rgba(0,0,0,.14);\n}\n#pmb-program-studi .hero-blob:after{\n  content:\"\";position:absolute;inset:65px;border:2px solid rgba(255,255,255,.10);border-radius:50%;\n}\n#pmb-program-studi .hero-orb{\n  position:absolute;right:125px;top:155px;width:210px;height:210px;border-radius:50%;\n  background:linear-gradient(145deg,var(--blue2),var(--blue3));\n  box-shadow:0 30px 65px rgba(15,31,96,.22);\n}\n#pmb-program-studi .topbar,#pmb-program-studi .breadcrumb,#pmb-program-studi .hero-grid{position:relative;z-index:4}\n#pmb-program-studi .topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}\n#pmb-program-studi .brand{display:flex;gap:11px;align-items:center;color:#fff!important}\n#pmb-program-studi .brand-logo{width:54px;height:54px;padding:6px;border-radius:13px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.15)}\n#pmb-program-studi .brand-logo img{width:100%;height:100%;object-fit:contain}\n#pmb-program-studi .brand strong{display:block;font-size:14px}\n#pmb-program-studi .brand small{display:block;font-size:10px;color:rgba(255,255,255,.68)}\n#pmb-program-studi .period{\n  display:flex;gap:8px;align-items:center;padding:9px 13px;border-radius:999px;\n  background:var(--yellow);color:var(--deep);font-size:10px;font-weight:900;\n}\n#pmb-program-studi .period i{width:7px;height:7px;border-radius:50%;background:var(--deep)}\n#pmb-program-studi .breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin:24px auto 38px;color:rgba(255,255,255,.67);font-size:11px}\n#pmb-program-studi .breadcrumb a{color:inherit!important}\n#pmb-program-studi .hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr);gap:75px;align-items:center}\n#pmb-program-studi .kicker{color:var(--yellow2);font-size:10px;font-weight:900;letter-spacing:.13em}\n#pmb-program-studi h1{margin:14px 0 0;font-size:clamp(52px,6vw,80px);font-weight:850;line-height:.94;letter-spacing:-.055em}\n#pmb-program-studi h1 strong{display:block;color:#fff}\n#pmb-program-studi .hero-tagline{margin-top:25px;font-size:clamp(21px,2.4vw,30px);font-weight:750;line-height:1.25}\n#pmb-program-studi .hero-tagline mark{padding:2px 8px;border-radius:6px;background:var(--yellow);color:var(--deep)}\n#pmb-program-studi .hero-lead{max-width:720px;margin:19px 0 0;color:rgba(255,255,255,.80);font-size:15px;line-height:1.9}\n#pmb-program-studi .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}\n#pmb-program-studi .btn{min-height:52px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:12px;font-weight:900;transition:.25s}\n#pmb-program-studi .btn-yellow{background:var(--yellow);color:var(--deep)!important}\n#pmb-program-studi .btn-white{background:#fff;color:var(--blue)!important}\n#pmb-program-studi .btn:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.18)}\n\n\/* HERO LIVE VISUAL *\/\n#pmb-program-studi .hero-visual{\n  position:relative;min-height:405px;padding:27px 28px 29px;border-radius:38px 105px 45px 84px;\n  background:#fff;color:var(--ink);box-shadow:0 32px 75px rgba(15,30,85,.24);overflow:hidden;\n}\n#pmb-program-studi .hero-visual:before{\n  content:\"\";position:absolute;right:-45px;top:-55px;width:180px;height:180px;border-radius:50%;\n  background:var(--deep);\n}\n#pmb-program-studi .visual-label{position:relative;z-index:2;color:var(--blue);font-size:8px;font-weight:900;letter-spacing:.11em}\n#pmb-program-studi .visual-title{position:relative;z-index:2;margin-top:13px;font-size:24px;font-weight:800;line-height:1.2;color:var(--deep)}\n#pmb-program-studi .visual-title strong{display:block;color:var(--blue)}\n#pmb-program-studi .mini-network{position:relative;z-index:2;height:245px;margin-top:5px}\n#pmb-program-studi .mini-network svg{width:100%;height:100%}\n#pmb-program-studi .live-pill{\n  position:absolute;z-index:3;right:24px;bottom:24px;padding:9px 12px;border-radius:999px;\n  background:var(--yellow);color:var(--deep);font-size:9px;font-weight:900;\n}\n#pmb-program-studi .hero-curve{position:absolute;left:0;right:0;bottom:-2px;height:135px;z-index:3}\n#pmb-program-studi .hero-curve svg{width:100%;height:100%}\n\n\/* STATS *\/\n#pmb-program-studi .summary-wrap{position:relative;z-index:6;margin-top:-50px}\n#pmb-program-studi .summary{\n  display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:18px;\n  background:#fff;border:1px solid var(--line);box-shadow:0 24px 62px rgba(22,47,94,.12);\n}\n#pmb-program-studi .summary-card{position:relative;padding:23px 25px;transition:.25s}\n#pmb-program-studi .summary-card+.summary-card{border-left:1px solid var(--line)}\n#pmb-program-studi .summary-card:hover{background:linear-gradient(135deg,var(--yellowSoft),#fff)}\n#pmb-program-studi .summary-no{font-size:31px;font-weight:900;color:var(--blue);line-height:1}\n#pmb-program-studi .summary-card:nth-child(2) .summary-no{color:#17286F}\n#pmb-program-studi .summary-card:nth-child(3) .summary-no{color:#245FC0}\n#pmb-program-studi .summary-card small{display:block;margin-top:7px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.09em}\n#pmb-program-studi .summary-card strong{display:block;margin-top:2px;font-size:13px}\n#pmb-program-studi .summary-card:after{content:\"\";position:absolute;left:0;right:100%;bottom:0;height:4px;background:linear-gradient(90deg,var(--yellow),var(--blue3));transition:.28s}\n#pmb-program-studi .summary-card:hover:after{right:0}\n\n\/* CHARTS *\/\n#pmb-program-studi .analytics{padding:85px 0 75px;background:linear-gradient(180deg,#F5F7FC,#fff)}\n#pmb-program-studi .eyebrow{display:block;color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.12em}\n#pmb-program-studi .section-title{margin:8px 0 0;font-size:clamp(30px,3.7vw,44px);font-weight:820;line-height:1.13;letter-spacing:-.035em}\n#pmb-program-studi .section-title strong{color:var(--blue)}\n#pmb-program-studi .center{max-width:800px;margin:0 auto 38px;text-align:center}\n#pmb-program-studi .center p{max-width:680px;margin:12px auto 0;color:var(--body)}\n#pmb-program-studi .chart-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}\n#pmb-program-studi .chart-card{\n  position:relative;min-height:430px;padding:26px;border:1px solid var(--line);border-radius:24px 58px 24px 24px;\n  background:#fff;box-shadow:0 18px 48px rgba(28,61,125,.07);overflow:hidden;\n}\n#pmb-program-studi .chart-card:after{content:\"\";position:absolute;right:-48px;top:-60px;width:150px;height:150px;border-radius:50%;background:#17286F;opacity:.07}\n#pmb-program-studi .chart-head{position:relative;z-index:2;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}\n#pmb-program-studi .chart-head span{color:var(--blue);font-size:8px;font-weight:900;letter-spacing:.1em}\n#pmb-program-studi .chart-head h3{margin:6px 0 0;font-size:18px;color:var(--deep)}\n#pmb-program-studi .chart-box{position:relative;z-index:2;margin-top:18px;min-height:320px}\n#pmb-program-studi .donut-wrap{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:center;height:100%}\n#pmb-program-studi .donut{width:260px;height:260px;margin:auto}\n#pmb-program-studi .chart-legend{display:grid;gap:8px}\n#pmb-program-studi .legend-item{display:grid;grid-template-columns:13px 1fr auto;gap:8px;align-items:center;font-size:10px;color:var(--body)}\n#pmb-program-studi .legend-dot{width:10px;height:10px;border-radius:3px;background:var(--blue)}\n#pmb-program-studi .legend-item b{color:var(--deep)}\n#pmb-program-studi .bar-chart{display:grid;gap:13px;margin-top:8px}\n#pmb-program-studi .bar-row{display:grid;grid-template-columns:135px 1fr 28px;gap:10px;align-items:center}\n#pmb-program-studi .bar-label{font-size:10px;color:var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#pmb-program-studi .bar-track{height:18px;border-radius:999px;background:#EEF1F7;overflow:hidden}\n#pmb-program-studi .bar-fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--deep),var(--blue2));transition:width .9s cubic-bezier(.2,.7,.2,1);position:relative}\n#pmb-program-studi .bar-fill:after{content:\"\";position:absolute;right:0;top:0;bottom:0;width:6px;background:var(--yellow)}\n#pmb-program-studi .bar-value{font-size:11px;font-weight:900;color:var(--deep);text-align:right}\n\n\/* DIRECTORY *\/\n#pmb-program-studi .directory{padding:78px 0 95px;background:#fff}\n#pmb-program-studi .directory-top{\n  display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:28px\n}\n#pmb-program-studi .directory-top p{margin:10px 0 0;max-width:700px;color:var(--body)}\n#pmb-program-studi .controls{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}\n#pmb-program-studi .search-box{\n  min-width:280px;display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--line);\n  border-radius:12px;background:#fff;transition:.22s\n}\n#pmb-program-studi .search-box:focus-within{border-color:var(--blue3);box-shadow:0 0 0 4px rgba(21,149,211,.08)}\n#pmb-program-studi .search-box span{color:var(--blue);font-size:15px}\n#pmb-program-studi .search-box input{width:100%;height:47px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px}\n#pmb-program-studi .select-box select{\n  height:49px;padding:0 36px 0 13px;border:1px solid var(--line);border-radius:12px;\n  background:#fff;color:var(--ink);font-size:11px;font-weight:700;outline:0\n}\n#pmb-program-studi .faculty-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0 15px;margin-bottom:22px;scrollbar-width:thin}\n#pmb-program-studi .faculty-nav button{\n  flex:0 0 auto;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--deep);\n  font-size:9px;font-weight:850;cursor:pointer;transition:.22s\n}\n#pmb-program-studi .faculty-nav button:hover,#pmb-program-studi .faculty-nav button.active{background:var(--yellow);border-color:var(--yellow);transform:translateY(-2px)}\n\n#pmb-program-studi .faculty-group{margin-top:56px;scroll-margin-top:20px}\n#pmb-program-studi .faculty-header{\n  display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;margin-bottom:18px\n}\n#pmb-program-studi .faculty-index{\n  width:54px;height:54px;display:grid;place-items:center;border-radius:15px 15px 29px 15px;\n  background:var(--deep);color:var(--yellow);font-size:12px;font-weight:900;box-shadow:0 12px 28px rgba(23,40,111,.14)\n}\n#pmb-program-studi .faculty-header h2{margin:0;font-size:23px;line-height:1.22;color:var(--deep);letter-spacing:-.025em}\n#pmb-program-studi .faculty-header small{display:block;margin-top:4px;color:var(--muted);font-size:10px}\n#pmb-program-studi .faculty-count{padding:8px 11px;border-radius:999px;background:var(--yellowSoft);color:#7D6510;font-size:9px;font-weight:900}\n\n#pmb-program-studi .program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}\n#pmb-program-studi .program-card{\n  position:relative;min-height:220px;padding:22px;border:1px solid var(--line);\n  border-radius:20px 20px 55px 20px;background:linear-gradient(145deg,#fff,#FBFCFF);\n  color:var(--ink)!important;overflow:hidden;transition:transform .27s ease,box-shadow .27s ease,border-color .27s ease,background .27s ease;\n  opacity:0;transform:translateY(18px)\n}\n#pmb-program-studi .program-card.reveal{opacity:1;transform:translateY(0)}\n#pmb-program-studi .program-card:before{\n  content:\"\";position:absolute;right:-45px;top:-55px;width:145px;height:145px;border-radius:50%;\n  background:#17286F;opacity:.055;transition:.3s\n}\n#pmb-program-studi .program-card:after{\n  content:\"\";position:absolute;left:0;right:100%;bottom:0;height:5px;\n  background:linear-gradient(90deg,var(--yellow),var(--blue3));transition:.28s\n}\n#pmb-program-studi .program-card:hover{\n  transform:translateY(-7px);border-color:rgba(36,95,192,.38);background:linear-gradient(145deg,#fff,#F4F7FF);\n  box-shadow:0 24px 54px rgba(28,61,125,.12)\n}\n#pmb-program-studi .program-card:hover:before{transform:scale(1.4);opacity:.08}\n#pmb-program-studi .program-card:hover:after{right:0}\n#pmb-program-studi .card-top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}\n#pmb-program-studi .degree-badge{\n  display:inline-flex;padding:7px 9px;border-radius:8px;background:var(--yellow);color:var(--deep);font-size:8px;font-weight:900;letter-spacing:.06em\n}\n#pmb-program-studi .card-icon{\n  width:42px;height:42px;display:grid;place-items:center;border-radius:12px 12px 22px 12px;\n  background:var(--deep);color:#fff\n}\n#pmb-program-studi .card-icon svg{width:24px;height:24px}\n#pmb-program-studi .program-card h3{position:relative;z-index:2;margin:21px 0 0;font-size:17px;line-height:1.42;color:var(--deep)}\n#pmb-program-studi .program-card p{position:relative;z-index:2;margin:8px 0 0;color:var(--body);font-size:11px}\n#pmb-program-studi .card-action{\n  position:absolute;z-index:3;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;gap:10px;align-items:center\n}\n#pmb-program-studi .card-action span{color:var(--blue);font-size:10px;font-weight:900}\n#pmb-program-studi .arrow{\n  width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;\n  font-size:15px;transition:.23s\n}\n#pmb-program-studi .program-card:hover .arrow{transform:translateX(3px);background:var(--yellow);color:var(--deep)}\n#pmb-program-studi .program-card.disabled{cursor:default;opacity:.65}\n#pmb-program-studi .empty-state{display:none;padding:50px 25px;text-align:center;border:1px dashed var(--line);border-radius:18px;background:var(--soft);color:var(--body)}\n\n\/* CTA *\/\n#pmb-program-studi .cta{position:relative;padding:90px 0;color:#fff;overflow:hidden;background:linear-gradient(128deg,var(--deep),var(--blue))}\n#pmb-program-studi .cta:before{content:\"\";position:absolute;left:-150px;top:-175px;width:440px;height:440px;border-radius:50%;background:linear-gradient(145deg,#17286F,#263C9A)}\n#pmb-program-studi .cta:after{content:\"\";position:absolute;right:-100px;bottom:-150px;width:340px;height:340px;border-radius:50%;background:var(--blue3);opacity:.50}\n#pmb-program-studi .cta .container{position:relative;z-index:2;text-align:center}\n#pmb-program-studi .cta .eyebrow{color:var(--yellow2)}\n#pmb-program-studi .cta h2{max-width:880px;margin:10px auto 0;font-size:clamp(34px,4.4vw,50px);line-height:1.13;letter-spacing:-.04em}\n#pmb-program-studi .cta p{max-width:680px;margin:14px auto 0;color:rgba(255,255,255,.75)}\n#pmb-program-studi .cta-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:28px}\n\n\/* FOOTER *\/\n#pmb-program-studi footer{padding:58px 0 25px;color:#fff;background:#111E54}\n#pmb-program-studi .footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr .95fr;gap:34px}\n#pmb-program-studi footer p,#pmb-program-studi footer a{color:rgba(255,255,255,.67)!important;font-size:11px;line-height:1.75}\n#pmb-program-studi footer h4{margin:0 0 12px;font-size:13px}\n#pmb-program-studi footer a{display:block;margin:7px 0;transition:.2s}\n#pmb-program-studi footer a:hover{color:var(--yellow2)!important;transform:translateX(3px)}\n#pmb-program-studi .footer-register{padding:20px;border-radius:20px 38px 20px 20px;background:var(--yellow);color:var(--deep)}\n#pmb-program-studi .footer-register span{font-size:8px;font-weight:900;letter-spacing:.1em}\n#pmb-program-studi .footer-register h4{color:var(--deep)}\n#pmb-program-studi .footer-register p{color:#584A13!important}\n#pmb-program-studi .footer-register a{padding:10px 12px;border-radius:9px;background:var(--blue);color:#fff!important;font-weight:900;text-align:center}\n#pmb-program-studi .footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.44);font-size:10px}\n\n#pmb-program-studi .loading{padding:40px;text-align:center;color:var(--muted);font-size:12px}\n#pmb-program-studi .loading-dot{display:inline-block;width:8px;height:8px;margin:0 3px;border-radius:50%;background:var(--blue);animation:pmbPulse 1.1s infinite ease-in-out}\n#pmb-program-studi .loading-dot:nth-child(2){animation-delay:.12s}#pmb-program-studi .loading-dot:nth-child(3){animation-delay:.24s}\n@keyframes pmbPulse{0%,100%{transform:scale(.75);opacity:.35}50%{transform:scale(1.15);opacity:1}}\n\n@media(max-width:1050px){\n  #pmb-program-studi .hero-grid,#pmb-program-studi .chart-grid{grid-template-columns:1fr}\n  #pmb-program-studi .hero-visual{max-width:730px}\n  #pmb-program-studi .program-grid{grid-template-columns:repeat(2,1fr)}\n  #pmb-program-studi .donut-wrap{grid-template-columns:230px 1fr}\n  #pmb-program-studi .donut{width:230px;height:230px}\n  #pmb-program-studi .footer-grid{grid-template-columns:1.3fr 1fr 1fr}\n  #pmb-program-studi .footer-register{grid-column:1\/-1}\n}\n@media(max-width:760px){\n  #pmb-program-studi .container{width:calc(100% - 28px)}\n  #pmb-program-studi .hero{min-height:auto;padding:22px 0 100px}\n  #pmb-program-studi .brand small{display:none}\n  #pmb-program-studi .hero-grid{gap:38px}\n  #pmb-program-studi h1{font-size:43px}\n  #pmb-program-studi .hero-actions{display:grid}\n  #pmb-program-studi .btn{width:100%}\n  #pmb-program-studi .summary-wrap{margin-top:-38px}\n  #pmb-program-studi .summary{grid-template-columns:1fr}\n  #pmb-program-studi .summary-card+.summary-card{border-left:0;border-top:1px solid var(--line)}\n  #pmb-program-studi .analytics,#pmb-program-studi .directory{padding:62px 0}\n  #pmb-program-studi .donut-wrap{grid-template-columns:1fr}\n  #pmb-program-studi .chart-card{min-height:auto}\n  #pmb-program-studi .directory-top{grid-template-columns:1fr}\n  #pmb-program-studi .controls{justify-content:stretch}\n  #pmb-program-studi .search-box{min-width:0;flex:1 1 100%}\n  #pmb-program-studi .select-box{flex:1 1 100%}\n  #pmb-program-studi .select-box select{width:100%}\n  #pmb-program-studi .program-grid{grid-template-columns:1fr}\n  #pmb-program-studi .faculty-header{grid-template-columns:auto 1fr}\n  #pmb-program-studi .faculty-count{grid-column:2}\n  #pmb-program-studi .bar-row{grid-template-columns:105px 1fr 24px}\n  #pmb-program-studi .footer-grid{grid-template-columns:1fr}\n  #pmb-program-studi .footer-register{grid-column:auto}\n  #pmb-program-studi .footer-bottom{flex-direction:column}\n}\n@media(prefers-reduced-motion:reduce){\n  #pmb-program-studi *{transition:none!important;animation:none!important;scroll-behavior:auto!important}\n}\n<\/style>\n\n<style>\n\/* =========================================================\n   CHART ENGINE V6 \u2014 REBUILT FROM SCRATCH\n   Page design intentionally unchanged.\n========================================================= *\/\n\n\/* Keep original chart-card visual design; only interaction layer below *\/\n#pmb-program-studi .chart-card{\n  overflow:hidden;\n}\n\n\/* DONUT *\/\n#pmb-program-studi .donut-stage{\n  position:relative;\n  width:260px;\n  height:260px;\n  margin:auto;\n}\n#pmb-program-studi .donut{\n  width:260px;\n  height:260px;\n  overflow:visible;\n}\n#pmb-program-studi .donut-track{\n  fill:none;\n  stroke:#EEF1F7;\n  stroke-width:36;\n}\n#pmb-program-studi .donut-slice{\n  fill:none;\n  stroke-width:36;\n  stroke-linecap:butt;\n  cursor:pointer;\n  opacity:1;\n  transition:\n    stroke-width .22s ease,\n    opacity .22s ease,\n    filter .22s ease;\n}\n#pmb-program-studi .donut-slice.is-active{\n  stroke-width:44;\n  filter:drop-shadow(0 7px 7px rgba(17,30,84,.22));\n}\n#pmb-program-studi .donut.is-hovering .donut-slice:not(.is-active){\n  opacity:.22;\n}\n#pmb-program-studi .donut-center-disc{\n  fill:#fff;\n  stroke:#F0F3F8;\n  stroke-width:1;\n}\n#pmb-program-studi .donut-center-value{\n  fill:#17286F;\n  font-size:32px;\n  font-weight:900;\n}\n#pmb-program-studi .donut-center-label{\n  fill:#5F6D82;\n  font-size:9px;\n  font-weight:900;\n}\n#pmb-program-studi .donut-center-sub{\n  fill:#8A95A6;\n  font-size:7px;\n  font-weight:800;\n}\n#pmb-program-studi .donut-center-group{\n  transition:opacity .13s ease,transform .13s ease;\n  transform-origin:130px 130px;\n}\n#pmb-program-studi .donut.center-changing .donut-center-group{\n  opacity:0;\n  transform:translateY(3px);\n}\n\n\/* legend interaction *\/\n#pmb-program-studi .chart-legend{\n  max-height:300px;\n  overflow:auto;\n  scrollbar-width:thin;\n}\n#pmb-program-studi .legend-item{\n  padding:7px 8px;\n  margin:0 -8px;\n  border-radius:9px;\n  cursor:pointer;\n  transition:background .2s ease,transform .2s ease,opacity .2s ease;\n}\n#pmb-program-studi .legend-item:hover,\n#pmb-program-studi .legend-item.is-active{\n  background:linear-gradient(90deg,var(--yellowSoft),#fff);\n  transform:translateX(4px);\n}\n#pmb-program-studi .chart-legend.is-hovering .legend-item:not(.is-active){\n  opacity:.42;\n}\n#pmb-program-studi .legend-dot{\n  transition:transform .2s ease,box-shadow .2s ease;\n}\n#pmb-program-studi .legend-item:hover .legend-dot,\n#pmb-program-studi .legend-item.is-active .legend-dot{\n  transform:scale(1.35);\n  box-shadow:0 0 0 4px rgba(255,212,38,.16);\n}\n\n\/* BAR CHART *\/\n#pmb-program-studi .bar-row{\n  position:relative;\n  padding:7px 8px;\n  margin:-4px -8px;\n  border-radius:10px;\n  transition:background .2s ease,transform .2s ease;\n}\n#pmb-program-studi .bar-row:hover{\n  background:linear-gradient(90deg,var(--yellowSoft),transparent);\n  transform:translateX(4px);\n}\n#pmb-program-studi .bar-label{\n  display:flex;\n  align-items:center;\n  gap:7px;\n}\n#pmb-program-studi .bar-label-dot{\n  width:8px;\n  height:8px;\n  flex:0 0 auto;\n  border-radius:3px;\n  transition:transform .2s ease;\n}\n#pmb-program-studi .bar-row:hover .bar-label-dot{\n  transform:scale(1.35) rotate(7deg);\n}\n#pmb-program-studi .bar-track{\n  height:18px;\n  border-radius:999px;\n  overflow:hidden;\n  background:#EEF1F7;\n}\n#pmb-program-studi .bar-fill{\n  width:0;\n  height:100%;\n  border-radius:999px;\n  position:relative;\n  box-shadow:0 6px 14px rgba(17,30,84,.08);\n  transition:\n    width .9s cubic-bezier(.2,.75,.2,1),\n    transform .2s ease,\n    filter .2s ease;\n}\n#pmb-program-studi .bar-fill:after{\n  content:\"\";\n  position:absolute;\n  right:0;\n  top:0;\n  bottom:0;\n  width:5px;\n  background:var(--yellow);\n}\n#pmb-program-studi .bar-row:hover .bar-fill{\n  transform:scaleY(1.13);\n  filter:brightness(1.06);\n}\n#pmb-program-studi .bar-value{\n  transition:transform .2s ease,color .2s ease;\n}\n#pmb-program-studi .bar-row:hover .bar-value{\n  transform:scale(1.12);\n  color:var(--blue);\n}\n\n\/* tooltip *\/\n#pmb-program-studi .chart-tooltip{\n  position:fixed;\n  z-index:99999;\n  min-width:155px;\n  max-width:250px;\n  padding:10px 12px;\n  border-radius:11px;\n  background:linear-gradient(145deg,#111E54,#17286F);\n  color:#fff;\n  box-shadow:0 16px 38px rgba(17,30,84,.28);\n  pointer-events:none;\n  opacity:0;\n  transform:translateY(6px) scale(.98);\n  transition:opacity .14s ease,transform .14s ease;\n}\n#pmb-program-studi .chart-tooltip.show{\n  opacity:1;\n  transform:translateY(0) scale(1);\n}\n#pmb-program-studi .chart-tooltip small{\n  display:block;\n  color:var(--yellow2);\n  font-size:8px;\n  font-weight:900;\n  letter-spacing:.08em;\n}\n#pmb-program-studi .chart-tooltip strong{\n  display:block;\n  margin-top:3px;\n  font-size:12px;\n  line-height:1.35;\n}\n#pmb-program-studi .chart-tooltip span{\n  display:block;\n  margin-top:3px;\n  color:rgba(255,255,255,.72);\n  font-size:10px;\n}\n\n@media(max-width:760px){\n  #pmb-program-studi .donut-stage,\n  #pmb-program-studi .donut{\n    width:230px;\n    height:230px;\n  }\n}\n@media(prefers-reduced-motion:reduce){\n  #pmb-program-studi .donut-slice,\n  #pmb-program-studi .bar-fill{\n    transition:none!important;\n  }\n}\n<\/style>\n\n<\/head>\n<body>\n\n<div id=\"pmb-program-studi\">\n\n<section class=\"hero\">\n  <div class=\"hero-blob\"><\/div>\n  <div class=\"hero-orb\"><\/div>\n\n  <div class=\"container topbar\">\n    <a class=\"brand\" href=\"https:\/\/pmb.unimus.ac.id\/\">\n      <span class=\"brand-logo\"><img decoding=\"async\" src=\"https:\/\/pmb.unimus.ac.id\/wp-content\/uploads\/2022\/03\/logo-unimus.png\" alt=\"Logo UNIMUS\"><\/span>\n      <span><strong>PMB UNIMUS<\/strong><small>Universitas Muhammadiyah Semarang<\/small><\/span>\n    <\/a>\n    <div class=\"period\"><i><\/i><span data-pmb-period>PMB<\/span><b>\u2022 Online<\/b><\/div>\n  <\/div>\n\n  <div class=\"container breadcrumb\">\n    <a href=\"https:\/\/pmb.unimus.ac.id\/\">Beranda<\/a><span>\u203a<\/span><strong>Program Studi<\/strong>\n  <\/div>\n\n  <div class=\"container hero-grid\">\n    <div>\n      <div class=\"kicker\">DISCOVER \u2022 LEARN \u2022 GROW<\/div>\n      <h1>Temukan<strong>Program Studimu<\/strong><\/h1>\n      <div class=\"hero-tagline\">Banyak pilihan. <mark>Satu masa depan yang kamu bangun.<\/mark><\/div>\n      <p class=\"hero-lead\">\n        Jelajahi pilihan program studi Universitas Muhammadiyah Semarang berdasarkan fakultas dan jenjang pendidikan.\n        Temukan bidang yang paling sesuai dengan minat, kemampuan, dan rencana masa depanmu.\n      <\/p>\n      <div class=\"hero-actions\">\n        <a class=\"btn btn-yellow\" href=\"#daftar-program\">Jelajahi Program Studi \u2193<\/a>\n        <a class=\"btn btn-white\" href=\"https:\/\/reg.pmb.unimus.ac.id\/\" target=\"_blank\" rel=\"noopener\">Daftar Sekarang \u2192<\/a>\n      <\/div>\n    <\/div>\n\n    <aside class=\"hero-visual\">\n      <span class=\"visual-label\">ACADEMIC ECOSYSTEM<\/span>\n      <div class=\"visual-title\">Beragam bidang ilmu.<strong>Terhubung dalam satu UNIMUS.<\/strong><\/div>\n      <div class=\"mini-network\">\n        <svg viewBox=\"0 0 520 290\" aria-hidden=\"true\">\n          <g fill=\"none\" stroke=\"#263C9A\" stroke-width=\"2.1\" stroke-linecap=\"round\">\n            <circle cx=\"260\" cy=\"145\" r=\"52\"\/>\n            <circle cx=\"100\" cy=\"74\" r=\"29\"\/><circle cx=\"204\" cy=\"48\" r=\"24\"\/><circle cx=\"365\" cy=\"60\" r=\"28\"\/>\n            <circle cx=\"430\" cy=\"148\" r=\"31\"\/><circle cx=\"365\" cy=\"235\" r=\"27\"\/><circle cx=\"180\" cy=\"238\" r=\"30\"\/><circle cx=\"75\" cy=\"178\" r=\"26\"\/>\n            <path d=\"M128 86l83 38M221 68l23 29M342 78l-44 38M399 148h-87M345 217l-51-38M205 219l31-29M100 170l108-20\"\/>\n            <path d=\"M230 145h60M260 115v60\"\/>\n          <\/g>\n          <g fill=\"#FFD426\">\n            <circle cx=\"100\" cy=\"74\" r=\"6\"\/><circle cx=\"204\" cy=\"48\" r=\"6\"\/><circle cx=\"365\" cy=\"60\" r=\"6\"\/>\n            <circle cx=\"430\" cy=\"148\" r=\"6\"\/><circle cx=\"365\" cy=\"235\" r=\"6\"\/><circle cx=\"180\" cy=\"238\" r=\"6\"\/><circle cx=\"75\" cy=\"178\" r=\"6\"\/>\n          <\/g>\n          <text x=\"260\" y=\"150\" text-anchor=\"middle\" fill=\"#17286F\" font-size=\"17\" font-weight=\"900\">UNIMUS<\/text>\n        <\/svg>\n      <\/div>\n      <div class=\"live-pill\">Pilihan Akademik UNIMUS<\/div>\n    <\/aside>\n  <\/div>\n\n  <div class=\"hero-curve\">\n    <svg viewBox=\"0 0 1440 140\" preserveAspectRatio=\"none\" aria-hidden=\"true\">\n      <path d=\"M0,58 C255,130 435,12 705,61 C980,111 1160,125 1440,45 L1440,140 L0,140 Z\" fill=\"#17286F\"\/>\n      <path d=\"M0,82 C245,139 445,42 725,83 C1000,122 1190,120 1440,70 L1440,140 L0,140 Z\" fill=\"#ffffff\"\/>\n    <\/svg>\n  <\/div>\n<\/section>\n\n<div class=\"summary-wrap\">\n  <div class=\"container summary\">\n    <div class=\"summary-card\"><div class=\"summary-no\" data-stat-program>\u2014<\/div><small>PILIHAN AKADEMIK<\/small><strong>Program Studi<\/strong><\/div>\n    <div class=\"summary-card\"><div class=\"summary-no\" data-stat-faculty>\u2014<\/div><small>LINGKUNGAN KEILMUAN<\/small><strong>Fakultas<\/strong><\/div>\n    <div class=\"summary-card\"><div class=\"summary-no\" data-stat-level>\u2014<\/div><small>JENJANG PENDIDIKAN<\/small><strong>Pilihan Jenjang<\/strong><\/div>\n  <\/div>\n<\/div>\n\n<section class=\"analytics\">\n  <div class=\"container\">\n    <div class=\"center\">\n      <span class=\"eyebrow\">ACADEMIC LANDSCAPE<\/span>\n      <h2 class=\"section-title\">Lihat keragaman pilihan <strong>secara visual<\/strong><\/h2>\n      <p>Gambaran ringkas komposisi program studi dan jenjang pendidikan yang tersedia di UNIMUS.<\/p>\n    <\/div>\n\n    <div class=\"chart-grid\">\n      <article class=\"chart-card\">\n        <div class=\"chart-head\"><div><span>PROGRAM BY FACULTY<\/span><h3>Distribusi Program Studi<\/h3><\/div><\/div>\n        <div class=\"chart-box donut-wrap\">\n          <svg class=\"donut\" data-donut viewBox=\"0 0 260 260\" aria-label=\"Distribusi program studi berdasarkan fakultas\"><\/svg>\n          <div class=\"chart-legend\" data-donut-legend><\/div>\n        <\/div>\n      <\/article>\n\n      <article class=\"chart-card\">\n        <div class=\"chart-head\"><div><span>PROGRAM BY LEVEL<\/span><h3>Komposisi Jenjang Pendidikan<\/h3><\/div><\/div>\n        <div class=\"chart-box\"><div class=\"bar-chart\" data-level-chart><\/div><\/div>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"directory\" id=\"daftar-program\">\n  <div class=\"container\">\n    <div class=\"directory-top\">\n      <div>\n        <span class=\"eyebrow\">EXPLORE PROGRAMS<\/span>\n        <h2 class=\"section-title\">Daftar <strong>Program Studi<\/strong><\/h2>\n        <p>Pilih fakultas atau gunakan pencarian untuk menemukan program studi yang sesuai dengan minatmu.<\/p>\n      <\/div>\n      <div class=\"controls\">\n        <label class=\"search-box\"><span>\u2315<\/span><input type=\"search\" data-search placeholder=\"Cari program studi atau fakultas...\" aria-label=\"Cari program studi\"><\/label>\n        <label class=\"select-box\"><select data-level-filter aria-label=\"Filter jenjang\"><option value=\"\">Semua Jenjang<\/option><\/select><\/label>\n      <\/div>\n    <\/div>\n\n    <div class=\"faculty-nav\" data-faculty-nav><\/div>\n\n    <div data-directory>\n      <div class=\"loading\">\n        <span class=\"loading-dot\"><\/span><span class=\"loading-dot\"><\/span><span class=\"loading-dot\"><\/span>\n      <\/div>\n    <\/div>\n    <div class=\"empty-state\" data-empty>\n      <strong>Program studi tidak ditemukan.<\/strong><br>\n      Coba gunakan kata kunci atau filter jenjang yang berbeda.\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"cta\">\n  <div class=\"container\">\n    <span class=\"eyebrow\">#AYOKULIAHDIUNIMUS<\/span>\n    <h2>Sudah menemukan program studi yang paling cocok?<\/h2>\n    <p>Mulai langkah berikutnya dengan melihat biaya pendidikan atau langsung melakukan pendaftaran mahasiswa baru.<\/p>\n    <div class=\"cta-actions\">\n      <a class=\"btn btn-yellow\" href=\"https:\/\/reg.pmb.unimus.ac.id\/\" target=\"_blank\" rel=\"noopener\">Daftar Mahasiswa Baru \u2192<\/a>\n      <a class=\"btn btn-white\" href=\"https:\/\/pmb.unimus.ac.id\/?page_id=15890\">Cek Biaya Pendidikan<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<footer>\n  <div class=\"container footer-grid\">\n    <div>\n      <a class=\"brand\" href=\"https:\/\/pmb.unimus.ac.id\/\">\n        <span class=\"brand-logo\"><img decoding=\"async\" src=\"https:\/\/pmb.unimus.ac.id\/wp-content\/uploads\/2022\/03\/logo-unimus.png\" alt=\"UNIMUS\"><\/span>\n        <span><strong>PMB UNIMUS<\/strong><small>Universitas Muhammadiyah Semarang<\/small><\/span>\n      <\/a>\n      <p>Portal informasi Penerimaan Mahasiswa Baru Universitas Muhammadiyah Semarang.<\/p>\n    <\/div>\n    <div><h4>Informasi PMB<\/h4><a href=\"https:\/\/pmb.unimus.ac.id\/\">Beranda PMB<\/a><a href=\"https:\/\/pmb.unimus.ac.id\/?page_id=15890\">Biaya Pendidikan<\/a><a href=\"https:\/\/reg.pmb.unimus.ac.id\/\" target=\"_blank\" rel=\"noopener\">Pendaftaran Online<\/a><\/div>\n    <div><h4>Jelajahi<\/h4><a href=\"#daftar-program\">Program Studi<\/a><a href=\"https:\/\/pmb.unimus.ac.id\/\">Informasi PMB<\/a><\/div>\n    <div class=\"footer-register\"><span>SIAP BERGABUNG?<\/span><h4>Mulai pendaftaranmu sekarang<\/h4><p>Pilih program studi yang sesuai dan mulai langkahmu bersama UNIMUS.<\/p><a href=\"https:\/\/reg.pmb.unimus.ac.id\/\" target=\"_blank\" rel=\"noopener\">Daftar Online \u2192<\/a><\/div>\n  <\/div>\n  <div class=\"container footer-bottom\"><span>Universitas Muhammadiyah Semarang \u00a9 <span data-year><\/span><\/span><span>pmb.unimus.ac.id<\/span><\/div>\n<\/footer>\n\n<\/div>\n\n<script>\n(function(){\n  const ROOT=document.getElementById(\"pmb-program-studi\");\n  if(!ROOT || ROOT.dataset.ready===\"1\") return;\n  ROOT.dataset.ready=\"1\";\n\n  const SHEET_ID=\"19RCikJk46zILY03BJ4EfRvLBxNqTm3QT4oZdw6SwPrw\";\n  const SHEET_NAME=\"Data_Original\";\n  const FALLBACK=[[\"Fakultas Ekonomi Hukum dan Bisnis\", \"S1 Agribisnis\", \"agribisnis.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16405\"], [\"Fakultas Ekonomi Hukum dan Bisnis\", \"S1 Akuntansi\", \"akuntansi.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16343\"], [\"Fakultas Ekonomi Hukum dan Bisnis\", \"S1 Manajemen\", \"https:\/\/manajemen.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16254\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"D3 Gizi\", \"gizi.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16276\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"D3 Keperawatan\", \"\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16460\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"D3 Tekonologi Laboratorium Medis\", \"tlm.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16435\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"Magister Ilmu Gizi\", \"s2gizi.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16241\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"Magister Keperawatan\", \"\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16473\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"Pendidikan Profesi Ners\", \"\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16465\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"S-2 Ilmu Laboratorium Klinis\", \"https:\/\/s2ilk.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16413\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"S1 Ilmu Gizi\", \"gizi.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16419\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"S1 Ilmu Keperawatan\", \"\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16455\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"Sarjana Terapan Teknologi Laboratorium Medis\", \"tlm.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16430\"], [\"Fakultas Ilmu Keperawatan dan Kesehatan\", \"Spesialis Keperawatan Medikal Bedah\", \"\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16479\"], [\"Fakultas Ilmu Pendidikan dan Humaniora\", \"S1 Pendidikan Bahasa Inggris\", \"pbing.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16385\"], [\"Fakultas Ilmu Pendidikan dan Humaniora\", \"S1 Pendidikan Kimia\", \"http:\/\/pendidikankimia.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16233\"], [\"Fakultas Ilmu Pendidikan dan Humaniora\", \"S1 Pendidikan Matematika\", \"https:\/\/pmat.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16380\"], [\"Fakultas Ilmu Pendidikan dan Humaniora\", \"S1 Sastra Inggris\", \"https:\/\/sastrainggris.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16249\"], [\"Fakultas Kedokteran\", \"S1 Kedokteran\", \"https:\/\/fk.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16219\"], [\"Fakultas Kedokteran Gigi\", \"S1 Kedokteran Gigi\", \"fkg.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16424\"], [\"Fakultas Kesehatan Masyarakat\", \"S1 Ilmu Keolahragaan\", \"https:\/\/ikor.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16262\"], [\"Fakultas Kesehatan Masyarakat\", \"S1 Kesehatan Masyarakat\", \"s1kesmas.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16260\"], [\"Fakultas Sains dan Teknologi Pertanian\", \"S1 Statistika\", \"https:\/\/statistik.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16204\"], [\"Fakultas Sains dan Teknologi Pertanian\", \"S1 Teknologi Pangan\", \"https:\/\/tekpan.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16225\"], [\"Fakultas Teknik\", \"S1 Arsitektur\", \"arsitektur.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16445\"], [\"Fakultas Teknik\", \"S1 Rekayasa Elektro\", \"https:\/\/elektro.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16400\"], [\"Fakultas Teknik\", \"S1 Rekayasa Sipil\", \"https:\/\/sipil.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16450\"], [\"FIKOMDIGI\", \"S1 Informatika\", \"https:\/\/informatika.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?p=16390\"], [\"FIKOMDIGI\", \"S1 Sains Data\", \"https:\/\/sainsdata.unimus.ac.id\/\", \"https:\/\/pmb.unimus.ac.id\/?p=16395\"], [\"FIKOMDIGI\", \"S1 Teknologi Informasi\", \"ti.unimus.ac.id\", \"https:\/\/pmb.unimus.ac.id\/?page_id=16440\"]];\n\n  let allPrograms=[];\n  let activeFaculty=\"\";\n\n  function setPeriod(){\n    const d=new Date(),y=d.getFullYear(),m=d.getMonth()+1,first=m>=10?y+1:y;\n    ROOT.querySelectorAll(\"[data-pmb-period]\").forEach(e=>e.textContent=\"PMB \"+first+\"\/\"+(first+1));\n    ROOT.querySelectorAll(\"[data-year]\").forEach(e=>e.textContent=y);\n  }\n\n  function normalizeUrl(url){\n    url=String(url||\"\").trim();\n    if(!url) return \"\";\n    if(\/^https?:\\\/\\\/\/i.test(url)) return url;\n    return \"https:\/\/\"+url.replace(\/^\\\/+\/, \"\");\n  }\n\n  function degree(name){\n    const n=String(name||\"\").trim();\n    if(\/^D3\\b\/i.test(n)) return \"D3\";\n    if(\/^Sarjana Terapan\\b\/i.test(n)) return \"Sarjana Terapan\";\n    if(\/^S-?1\\b\/i.test(n)) return \"S1\";\n    if(\/^S-?2\\b\/i.test(n) || \/^Magister\\b\/i.test(n)) return \"S2 \/ Magister\";\n    if(\/Profesi\/i.test(n)) return \"Profesi\";\n    if(\/^Spesialis\\b\/i.test(n)) return \"Spesialis\";\n    return \"Lainnya\";\n  }\n\n  function iconFor(name){\n    const n=String(name||\"\").toLowerCase();\n    const base='fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"';\n    if(\/kedokteran|keperawatan|gizi|kesehatan|laboratorium\/.test(n))\n      return '<svg viewBox=\"0 0 28 28\"><g '+base+'><path d=\"M14 5v18M5 14h18\"\/><circle cx=\"14\" cy=\"14\" r=\"10\"\/><\/g><\/svg>';\n    if(\/informatika|data|teknologi informasi|statistika\/.test(n))\n      return '<svg viewBox=\"0 0 28 28\"><g '+base+'><circle cx=\"7\" cy=\"7\" r=\"2\"\/><circle cx=\"21\" cy=\"7\" r=\"2\"\/><circle cx=\"14\" cy=\"21\" r=\"2\"\/><path d=\"M9 8l10 0M8 9l5 10M20 9l-5 10\"\/><\/g><\/svg>';\n    if(\/teknik|rekayasa|arsitektur\/.test(n))\n      return '<svg viewBox=\"0 0 28 28\"><g '+base+'><path d=\"M4 22h20M7 22V10l7-5 7 5v12M11 22v-7h6v7\"\/><\/g><\/svg>';\n    if(\/pendidikan|sastra|bahasa\/.test(n))\n      return '<svg viewBox=\"0 0 28 28\"><g '+base+'><path d=\"M5 6h7c2 0 3 1 3 3v13c0-2-1-3-3-3H5zM23 6h-7c-2 0-3 1-3 3v13c0-2 1-3 3-3h7z\"\/><\/g><\/svg>';\n    if(\/akuntansi|manajemen|agribisnis\/.test(n))\n      return '<svg viewBox=\"0 0 28 28\"><g '+base+'><path d=\"M5 22V13M14 22V6M23 22V10M3 22h22\"\/><\/g><\/svg>';\n    if(\/pangan\/.test(n))\n      return '<svg viewBox=\"0 0 28 28\"><g '+base+'><path d=\"M14 23V10M14 14c-5 0-8-3-8-7 5 0 8 3 8 7zM14 17c5 0 8-3 8-7-5 0-8 3-8 7z\"\/><\/g><\/svg>';\n    if(\/olahraga\/.test(n))\n      return '<svg viewBox=\"0 0 28 28\"><g '+base+'><circle cx=\"14\" cy=\"14\" r=\"10\"\/><path d=\"M8 7l3 5-4 4M20 7l-3 5 4 4M11 12h6M10 21l4-5 4 5\"\/><\/g><\/svg>';\n    return '<svg viewBox=\"0 0 28 28\"><g '+base+'><circle cx=\"14\" cy=\"14\" r=\"10\"\/><path d=\"M9 14h10M14 9v10\"\/><\/g><\/svg>';\n  }\n\n  function shortFaculty(name){\n    return String(name||\"\")\n      .replace(\/^Fakultas\\s+\/i,\"\")\n      .replace(\"Ilmu Keperawatan dan Kesehatan\",\"Keperawatan & Kesehatan\")\n      .replace(\"Ilmu Pendidikan dan Humaniora\",\"Pendidikan & Humaniora\")\n      .replace(\"Sains dan Teknologi Pertanian\",\"Sains & Teknologi Pertanian\")\n      .replace(\"Kesehatan Masyarakat\",\"Kesehatan Masyarakat\")\n      .replace(\"Kedokteran Gigi\",\"Kedokteran Gigi\")\n      .replace(\"Ekonomi Hukum dan Bisnis\",\"Ekonomi, Hukum & Bisnis\");\n  }\n\n  function cleanRows(rows){\n    return rows.map(r=>({\n      faculty:String(r[0]||\"\").trim(),\n      program:String(r[1]||\"\").trim(),\n      website:normalizeUrl(r[2]),\n      page:String(r[3]||\"\").trim()\n    })).filter(x=>x.faculty && x.program);\n  }\n\n  function groupByFaculty(data){\n    const map=new Map();\n    data.forEach(p=>{if(!map.has(p.faculty)) map.set(p.faculty,[]);map.get(p.faculty).push(p)});\n    return [...map.entries()];\n  }\n\n  function programCard(p){\n    const href=p.page || \"\";\n    const tag=degree(p.program);\n    const card='<div class=\"card-top\"><span class=\"degree-badge\">'+tag+'<\/span><span class=\"card-icon\">'+iconFor(p.program)+'<\/span><\/div>'+\n      '<h3>'+escapeHtml(p.program)+'<\/h3>'+\n      '<p>'+escapeHtml(shortFaculty(p.faculty))+'<\/p>'+\n      '<div class=\"card-action\"><span>'+(href?'Lihat Program':'Segera tersedia')+'<\/span><b class=\"arrow\">\u2192<\/b><\/div>';\n    if(href) return '<a class=\"program-card\" data-program-card data-name=\"'+escapeAttr(p.program)+'\" data-faculty=\"'+escapeAttr(p.faculty)+'\" data-level=\"'+escapeAttr(tag)+'\" href=\"'+escapeAttr(href)+'\">'+card+'<\/a>';\n    return '<div class=\"program-card disabled\" data-program-card data-name=\"'+escapeAttr(p.program)+'\" data-faculty=\"'+escapeAttr(p.faculty)+'\" data-level=\"'+escapeAttr(tag)+'\">'+card+'<\/div>';\n  }\n\n  function escapeHtml(s){\n    return String(s||\"\").replace(\/[&<>\"']\/g,m=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'}[m]));\n  }\n  function escapeAttr(s){return escapeHtml(s)}\n\n  function renderDirectory(data){\n    const directory=ROOT.querySelector(\"[data-directory]\");\n    const groups=groupByFaculty(data);\n    directory.innerHTML=groups.map((g,i)=>{\n      const faculty=g[0],programs=g[1];\n      return '<section class=\"faculty-group\" id=\"faculty-'+i+'\" data-faculty-group data-faculty-name=\"'+escapeAttr(faculty)+'\">'+\n        '<div class=\"faculty-header\"><span class=\"faculty-index\">'+String(i+1).padStart(2,\"0\")+'<\/span><div><h2>'+escapeHtml(faculty)+'<\/h2><small>'+programs.length+' pilihan program studi<\/small><\/div><span class=\"faculty-count\">'+programs.length+' Program<\/span><\/div>'+\n        '<div class=\"program-grid\">'+programs.map(programCard).join(\"\")+'<\/div><\/section>';\n    }).join(\"\");\n\n    renderFacultyNav(groups);\n    revealCards();\n  }\n\n  function renderFacultyNav(groups){\n    const nav=ROOT.querySelector(\"[data-faculty-nav]\");\n    nav.innerHTML='<button type=\"button\" class=\"active\" data-faculty-button value=\"\">Semua Fakultas<\/button>'+\n      groups.map((g,i)=>'<button type=\"button\" data-faculty-button value=\"'+escapeAttr(g[0])+'\">'+escapeHtml(shortFaculty(g[0]))+'<\/button>').join(\"\");\n    nav.querySelectorAll(\"[data-faculty-button]\").forEach(btn=>btn.addEventListener(\"click\",()=>{\n      activeFaculty=btn.value;\n      nav.querySelectorAll(\"button\").forEach(b=>b.classList.toggle(\"active\",b===btn));\n      applyFilter();\n      if(activeFaculty){\n        const group=[...ROOT.querySelectorAll(\"[data-faculty-group]\")].find(x=>x.dataset.facultyName===activeFaculty);\n        if(group) group.scrollIntoView({behavior:\"smooth\",block:\"start\"});\n      }\n    }));\n  }\n\n  function populateLevels(data){\n    const levels=[...new Set(data.map(x=>degree(x.program)))];\n    const select=ROOT.querySelector(\"[data-level-filter]\");\n    select.innerHTML='<option value=\"\">Semua Jenjang<\/option>'+levels.map(x=>'<option value=\"'+escapeAttr(x)+'\">'+escapeHtml(x)+'<\/option>').join(\"\");\n  }\n\n  function applyFilter(){\n    const q=ROOT.querySelector(\"[data-search]\").value.trim().toLowerCase();\n    const lv=ROOT.querySelector(\"[data-level-filter]\").value;\n    let visible=0;\n\n    ROOT.querySelectorAll(\"[data-faculty-group]\").forEach(group=>{\n      let groupVisible=0;\n      group.querySelectorAll(\"[data-program-card]\").forEach(card=>{\n        const text=(card.dataset.name+\" \"+card.dataset.faculty).toLowerCase();\n        const matchQ=!q || text.includes(q);\n        const matchL=!lv || card.dataset.level===lv;\n        const matchF=!activeFaculty || card.dataset.faculty===activeFaculty;\n        const show=matchQ && matchL && matchF;\n        card.style.display=show?\"\":\"none\";\n        if(show){visible++;groupVisible++;}\n      });\n      group.style.display=groupVisible?\"\":\"none\";\n    });\n    ROOT.querySelector(\"[data-empty]\").style.display=visible?\"none\":\"block\";\n  }\n\n  function updateStats(data){\n    const facultyCount=new Set(data.map(x=>x.faculty)).size;\n    const levels=new Set(data.map(x=>degree(x.program))).size;\n    animateNumber(ROOT.querySelector(\"[data-stat-program]\"),data.length);\n    animateNumber(ROOT.querySelector(\"[data-stat-faculty]\"),facultyCount);\n    animateNumber(ROOT.querySelector(\"[data-stat-level]\"),levels);\n  }\n\n  function animateNumber(el,to){\n    if(!el)return;\n    const start=performance.now(),duration=700;\n    function tick(now){\n      const p=Math.min(1,(now-start)\/duration);\n      el.textContent=Math.round(to*(1-Math.pow(1-p,3)));\n      if(p<1)requestAnimationFrame(tick);\n    }\n    requestAnimationFrame(tick);\n  }\n\n  \/* ======================================================\n     CHART ENGINE V6 \u2014 NEW IMPLEMENTATION\n     SVG arc paths + viewport animation.\n  ====================================================== *\/\n\n  let chartTooltip=null;\n  let donutState=null;\n  let barState=null;\n\n  function getChartTooltip(){\n    if(chartTooltip) return chartTooltip;\n    chartTooltip=document.createElement(\"div\");\n    chartTooltip.className=\"chart-tooltip\";\n    chartTooltip.innerHTML=\"<small><\/small><strong><\/strong><span><\/span>\";\n    document.body.appendChild(chartTooltip);\n    return chartTooltip;\n  }\n\n  function showChartTooltip(event,label,title,value){\n    const tip=getChartTooltip();\n    tip.querySelector(\"small\").textContent=label||\"\";\n    tip.querySelector(\"strong\").textContent=title||\"\";\n    tip.querySelector(\"span\").textContent=value||\"\";\n    tip.classList.add(\"show\");\n    moveChartTooltip(event);\n  }\n\n  function moveChartTooltip(event){\n    if(!chartTooltip || !chartTooltip.classList.contains(\"show\")) return;\n    const pad=14;\n    let x=event.clientX+16;\n    let y=event.clientY+16;\n    const rect=chartTooltip.getBoundingClientRect();\n    if(x+rect.width+pad>window.innerWidth) x=event.clientX-rect.width-16;\n    if(y+rect.height+pad>window.innerHeight) y=event.clientY-rect.height-16;\n    chartTooltip.style.left=Math.max(pad,x)+\"px\";\n    chartTooltip.style.top=Math.max(pad,y)+\"px\";\n  }\n\n  function hideChartTooltip(){\n    if(chartTooltip) chartTooltip.classList.remove(\"show\");\n  }\n\n  function polar(cx,cy,r,angleDeg){\n    const a=(angleDeg-90)*Math.PI\/180;\n    return {x:cx+r*Math.cos(a),y:cy+r*Math.sin(a)};\n  }\n\n  function arcPath(cx,cy,r,startAngle,endAngle){\n    const start=polar(cx,cy,r,endAngle);\n    const end=polar(cx,cy,r,startAngle);\n    const large=(endAngle-startAngle)<=180?0:1;\n    return [\n      \"M\",start.x.toFixed(3),start.y.toFixed(3),\n      \"A\",r,r,0,large,0,end.x.toFixed(3),end.y.toFixed(3)\n    ].join(\" \");\n  }\n\n  function renderDonut(data){\n    const groups=groupByFaculty(data).map(([name,items])=>({name,value:items.length}));\n    const total=data.length||1;\n    const svg=ROOT.querySelector(\"[data-donut]\");\n    const legend=ROOT.querySelector(\"[data-donut-legend]\");\n    const cx=130,cy=130,r=92;\n\n    const palette=[\n      \"#263C9A\",\n      \"#1595D3\",\n      \"#11A88A\",\n      \"#F2B21A\",\n      \"#F07A3B\",\n      \"#8A56D8\",\n      \"#D94F8A\",\n      \"#35A65C\",\n      \"#E45B5B\",\n      \"#4E70D9\",\n      \"#18A6B5\",\n      \"#B27A26\"\n    ];\n\n    let angle=0;\n    const slices=[];\n\n    svg.innerHTML=\n      '<circle class=\"donut-track\" cx=\"130\" cy=\"130\" r=\"92\"><\/circle>';\n\n    groups.forEach((g,i)=>{\n      const sweep=(g.value\/total)*360;\n      const startAngle=angle;\n      const endAngle=angle+sweep;\n      angle=endAngle;\n\n      const d=arcPath(cx,cy,r,startAngle,endAngle);\n      svg.innerHTML+=\n        '<path class=\"donut-slice\" data-index=\"'+i+'\" '+\n        'd=\"'+d+'\" stroke=\"'+palette[i%palette.length]+'\" pathLength=\"100\" '+\n        'stroke-dasharray=\"0 100\"><\/path>';\n\n      slices.push({\n        index:i,\n        group:g,\n        color:palette[i%palette.length]\n      });\n    });\n\n    svg.innerHTML+=\n      '<g class=\"donut-center-group\">'+\n        '<circle class=\"donut-center-disc\" cx=\"130\" cy=\"130\" r=\"60\"><\/circle>'+\n        '<text class=\"donut-center-value\" data-donut-center-value x=\"130\" y=\"120\" text-anchor=\"middle\">'+total+'<\/text>'+\n        '<text class=\"donut-center-label\" data-donut-center-label x=\"130\" y=\"143\" text-anchor=\"middle\">PROGRAM STUDI<\/text>'+\n        '<text class=\"donut-center-sub\" data-donut-center-sub x=\"130\" y=\"158\" text-anchor=\"middle\">SEMUA FAKULTAS<\/text>'+\n        '<circle cx=\"130\" cy=\"166\" r=\"4\" fill=\"#FFD426\"><\/circle>'+\n      '<\/g>';\n\n    legend.innerHTML=groups.map((g,i)=>\n      '<div class=\"legend-item\" data-legend-index=\"'+i+'\">'+\n        '<i class=\"legend-dot\" style=\"background:'+palette[i%palette.length]+'\"><\/i>'+\n        '<span title=\"'+escapeAttr(g.name)+'\">'+escapeHtml(shortFaculty(g.name))+'<\/span>'+\n        '<b>'+g.value+'<\/b>'+\n      '<\/div>'\n    ).join(\"\");\n\n    const paths=[...svg.querySelectorAll(\".donut-slice\")];\n    const legendItems=[...legend.querySelectorAll(\".legend-item\")];\n\n    donutState={\n      svg,legend,groups,paths,legendItems,total,\n      animated:false\n    };\n\n    paths.forEach((path,i)=>{\n      path.addEventListener(\"mouseenter\",e=>focusDonut(i,e));\n      path.addEventListener(\"mousemove\",moveChartTooltip);\n      path.addEventListener(\"mouseleave\",clearDonutFocus);\n    });\n\n    legendItems.forEach((item,i)=>{\n      item.addEventListener(\"mouseenter\",e=>focusDonut(i,e));\n      item.addEventListener(\"mousemove\",moveChartTooltip);\n      item.addEventListener(\"mouseleave\",clearDonutFocus);\n    });\n  }\n\n  function animateDonut(){\n    if(!donutState || donutState.animated) return;\n    donutState.animated=true;\n\n    const {paths}=donutState;\n    let delay=0;\n\n    paths.forEach((path,i)=>{\n      path.style.strokeDasharray=\"0 100\";\n      path.style.transition=\"none\";\n\n      const duration=420 + Math.min(420, donutState.groups[i].value*42);\n\n      setTimeout(()=>{\n        path.style.transition=\n          \"stroke-dasharray \"+duration+\"ms cubic-bezier(.2,.75,.2,1),\"+\n          \"stroke-width .22s ease,opacity .22s ease,filter .22s ease\";\n\n        requestAnimationFrame(()=>{\n          path.style.strokeDasharray=\"100 100\";\n        });\n      },delay);\n\n      delay += Math.max(110,duration*.58);\n    });\n  }\n\n  function focusDonut(index,event){\n    if(!donutState || !donutState.groups[index]) return;\n    const {svg,legend,paths,legendItems,groups}=donutState;\n    const g=groups[index];\n\n    svg.classList.add(\"is-hovering\");\n    legend.classList.add(\"is-hovering\");\n\n    paths.forEach((p,i)=>p.classList.toggle(\"is-active\",i===index));\n    legendItems.forEach((item,i)=>item.classList.toggle(\"is-active\",i===index));\n\n    updateDonutCenter(\n      String(g.value),\n      shortFaculty(g.name).toUpperCase(),\n      \"PROGRAM STUDI\"\n    );\n\n    if(event){\n      showChartTooltip(event,\"FAKULTAS\",g.name,g.value+\" program studi\");\n    }\n  }\n\n  function clearDonutFocus(){\n    if(!donutState) return;\n    const {svg,legend,paths,legendItems,total}=donutState;\n\n    svg.classList.remove(\"is-hovering\");\n    legend.classList.remove(\"is-hovering\");\n    paths.forEach(p=>p.classList.remove(\"is-active\"));\n    legendItems.forEach(item=>item.classList.remove(\"is-active\"));\n\n    updateDonutCenter(String(total),\"PROGRAM STUDI\",\"SEMUA FAKULTAS\");\n    hideChartTooltip();\n  }\n\n  function updateDonutCenter(value,label,sub){\n    if(!donutState) return;\n    const svg=donutState.svg;\n    const group=svg.querySelector(\".donut-center-group\");\n    const v=svg.querySelector(\"[data-donut-center-value]\");\n    const l=svg.querySelector(\"[data-donut-center-label]\");\n    const s=svg.querySelector(\"[data-donut-center-sub]\");\n\n    svg.classList.add(\"center-changing\");\n    setTimeout(()=>{\n      v.textContent=value;\n      l.textContent=label;\n      s.textContent=sub;\n      svg.classList.remove(\"center-changing\");\n    },90);\n  }\n\n  function renderLevelChart(data){\n    const counts={};\n    data.forEach(x=>{\n      const d=degree(x.program);\n      counts[d]=(counts[d]||0)+1;\n    });\n\n    const order=[\n      \"S1\",\n      \"D3\",\n      \"S2 \/ Magister\",\n      \"Sarjana Terapan\",\n      \"Profesi\",\n      \"Spesialis\",\n      \"Lainnya\"\n    ];\n\n    const colors={\n      \"S1\":\"#263C9A\",\n      \"D3\":\"#1595D3\",\n      \"S2 \/ Magister\":\"#8A56D8\",\n      \"Sarjana Terapan\":\"#11A88A\",\n      \"Profesi\":\"#F07A3B\",\n      \"Spesialis\":\"#D94F8A\",\n      \"Lainnya\":\"#6E7B8F\"\n    };\n\n    const arr=order.filter(x=>counts[x]).map(x=>[x,counts[x]]);\n    const max=Math.max(...arr.map(x=>x[1]),1);\n    const box=ROOT.querySelector(\"[data-level-chart]\");\n\n    box.innerHTML=arr.map(([name,val])=>{\n      const c=colors[name]||\"#263C9A\";\n      return '<div class=\"bar-row\" data-bar-name=\"'+escapeAttr(name)+'\" data-bar-value=\"'+val+'\">'+\n        '<span class=\"bar-label\"><i class=\"bar-label-dot\" style=\"background:'+c+'\"><\/i>'+escapeHtml(name)+'<\/span>'+\n        '<div class=\"bar-track\">'+\n          '<div class=\"bar-fill\" data-width=\"'+((val\/max)*100).toFixed(1)+'\" style=\"background:'+c+'\"><\/div>'+\n        '<\/div>'+\n        '<b class=\"bar-value\">'+val+'<\/b>'+\n      '<\/div>';\n    }).join(\"\");\n\n    barState={\n      box,\n      fills:[...box.querySelectorAll(\".bar-fill\")],\n      animated:false\n    };\n\n    box.querySelectorAll(\".bar-row\").forEach(row=>{\n      row.addEventListener(\"mouseenter\",e=>{\n        showChartTooltip(\n          e,\n          \"JENJANG\",\n          row.dataset.barName,\n          row.dataset.barValue+\" program studi\"\n        );\n      });\n      row.addEventListener(\"mousemove\",moveChartTooltip);\n      row.addEventListener(\"mouseleave\",hideChartTooltip);\n    });\n  }\n\n  function animateBars(){\n    if(!barState || barState.animated) return;\n    barState.animated=true;\n\n    barState.fills.forEach((fill,i)=>{\n      fill.style.width=\"0%\";\n      setTimeout(()=>{\n        fill.style.width=fill.dataset.width+\"%\";\n      },100+i*110);\n    });\n  }\n\n  function revealCharts(){\n    const donutCard=ROOT.querySelector(\"[data-donut]\")?.closest(\".chart-card\");\n    const barCard=ROOT.querySelector(\"[data-level-chart]\")?.closest(\".chart-card\");\n\n    if(!(\"IntersectionObserver\" in window) || matchMedia(\"(prefers-reduced-motion:reduce)\").matches){\n      animateDonut();\n      animateBars();\n      return;\n    }\n\n    const io=new IntersectionObserver(entries=>{\n      entries.forEach(entry=>{\n        if(!entry.isIntersecting) return;\n\n        if(entry.target===donutCard){\n          setTimeout(animateDonut,120);\n        }\n        if(entry.target===barCard){\n          setTimeout(animateBars,160);\n        }\n        io.unobserve(entry.target);\n      });\n    },{threshold:.18});\n\n    if(donutCard) io.observe(donutCard);\n    if(barCard) io.observe(barCard);\n  }\n\n  function revealCards(){\n    const cards=[...ROOT.querySelectorAll(\"[data-program-card]\")];\n    if(!(\"IntersectionObserver\" in window) || matchMedia(\"(prefers-reduced-motion:reduce)\").matches){\n      cards.forEach(x=>x.classList.add(\"reveal\"));return;\n    }\n    const io=new IntersectionObserver(entries=>entries.forEach(e=>{if(e.isIntersecting){e.target.classList.add(\"reveal\");io.unobserve(e.target)}}),{threshold:.08});\n    cards.forEach((x,i)=>{x.style.transitionDelay=Math.min(i%6,5)*35+\"ms\";io.observe(x)});\n  }\n\n  function render(data){\n    allPrograms=cleanRows(data);\n    updateStats(allPrograms);\n    renderDonut(allPrograms);\n    renderLevelChart(allPrograms);\n    revealCharts();\n    populateLevels(allPrograms);\n    renderDirectory(allPrograms);\n    applyFilter();\n  }\n\n  ROOT.querySelector(\"[data-search]\").addEventListener(\"input\",applyFilter);\n  ROOT.querySelector(\"[data-level-filter]\").addEventListener(\"change\",applyFilter);\n  setPeriod();\n  render(FALLBACK);\n\n  const callback=\"__pmb_program_studi_\"+Date.now().toString(36);\n  window[callback]=function(resp){\n    try{\n      const rows=(resp&&resp.table&&resp.table.rows)||[];\n      const live=rows.map(r=>[\n        r.c&&r.c[0]&&r.c[0].v!=null?r.c[0].v:\"\",\n        r.c&&r.c[1]&&r.c[1].v!=null?r.c[1].v:\"\",\n        r.c&&r.c[2]&&r.c[2].v!=null?r.c[2].v:\"\",\n        r.c&&r.c[3]&&r.c[3].v!=null?r.c[3].v:\"\"\n      ]).filter(r=>r[0]&&r[1]);\n      if(live.length) render(live);\n    }catch(e){}\n    try{delete window[callback]}catch(e){}\n  };\n\n  const sc=document.createElement(\"script\");\n  sc.async=true;\n  sc.src=\"https:\/\/docs.google.com\/spreadsheets\/d\/\"+SHEET_ID+\n    \"\/gviz\/tq?sheet=\"+encodeURIComponent(SHEET_NAME)+\n    \"&headers=1&tq=\"+encodeURIComponent(\"select A,B,C,D\")+\n    \"&tqx=responseHandler:\"+callback+\n    \"&_=\"+Date.now();\n  document.head.appendChild(sc);\n})();\n<\/script>\n\n<\/body>\n<\/html>\n\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>Program Studi \u2014 PMB UNIMUS PMB UNIMUSUniversitas Muhammadiyah Semarang PMB\u2022 Online Beranda\u203aProgram Studi DISCOVER \u2022 LEARN \u2022 GROW TemukanProgram Studimu Banyak pilihan. Satu masa depan yang kamu bangun. Jelajahi pilihan program studi Universitas Muhammadiyah Semarang berdasarkan fakultas dan jenjang pendidikan. Temukan bidang yang paling sesuai dengan minat, kemampuan, dan rencana masa depanmu. Jelajahi Program Studi&hellip; <a class=\"more-link\" href=\"https:\/\/pmb.unimus.ac.id\/?page_id=16484\">Continue reading <span class=\"screen-reader-text\">Program Studi<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-16484","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=\/wp\/v2\/pages\/16484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16484"}],"version-history":[{"count":10,"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=\/wp\/v2\/pages\/16484\/revisions"}],"predecessor-version":[{"id":16586,"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=\/wp\/v2\/pages\/16484\/revisions\/16586"}],"wp:attachment":[{"href":"https:\/\/pmb.unimus.ac.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}