{"id":1421,"date":"2024-07-26T23:21:55","date_gmt":"2024-07-26T16:21:55","guid":{"rendered":"https:\/\/www.isi.ac.id\/?page_id=1421"},"modified":"2026-07-31T14:59:15","modified_gmt":"2026-07-31T07:59:15","slug":"kalender-akademik","status":"publish","type":"page","link":"https:\/\/www.isi.ac.id\/en\/pendidikan\/kalender-akademik\/","title":{"rendered":"Academic Calendar"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1421\" class=\"elementor elementor-1421\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"porto-full-no-gap elementor-section elementor-top-section elementor-element elementor-element-d398519 elementor-section-full_width intro-section  elementor-section-height-full elementor-section-content-middle elementor-section-height-default elementor-section-items-middle\" data-id=\"d398519\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\r\n\t\t\t\r\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"porto-ibanner elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c17cae4 w-100\" data-id=\"c17cae4\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;text_align1&quot;:&quot;center&quot;}\">\r\n\t\t<style>.elementor-element-c17cae4 .porto-ibanner-layer {left: 50%;right: unset;top: 50%;bottom: unset;transform: translate(-50%, -50%);}<\/style>\t\t\t<div class=\"porto-ibanner-layer position-absolute d-flex elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2ed448f mb-2 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"2ed448f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;zoomIn&quot;,&quot;_animation_delay&quot;:600}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">KALENDER AKADEMIK<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-08634d7 elementor-align-center elementor-absolute elementor-invisible elementor-widget elementor-widget-button\" data-id=\"08634d7\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"menu-body\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:&quot;400&quot;,&quot;_position&quot;:&quot;absolute&quot;}\" 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=\"#menu-body\">\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=\"  Simple-Line-Icons-arrow-down\"><\/i>\t\t\t<\/span>\n\t\t\t\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\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\t\t<div class=\"elementor-element elementor-element-0923736 e-con-full e-flex e-con e-parent\" data-id=\"0923736\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t<div class=\"elementor-element elementor-element-77eede3 gap-menu-0 e-flex e-con-boxed e-con e-child\" data-id=\"77eede3\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t\t\t\t<div class=\"e-con-inner\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-bd1ba66 elementor-widget elementor-widget-heading\" data-id=\"bd1ba66\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"link-current\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">-<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-section elementor-top-section elementor-element elementor-element-2cfe35d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2cfe35d\" data-element_type=\"section\" data-e-type=\"section\">\r\n\t\t\r\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-164bedd\" data-id=\"164bedd\" data-element_type=\"column\" data-e-type=\"column\">\r\n\t\t\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ff0ade5 h-100 e-flex e-con-boxed e-con e-parent\" data-id=\"ff0ade5\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t\t\t\t<div class=\"e-con-inner\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-fe45de1 elementor-invisible elementor-widget elementor-widget-porto_ultimate_heading\" data-id=\"fe45de1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:200}\" data-widget_type=\"porto_ultimate_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"porto-u-heading  porto-u-ad87e2eaf3f9c495180fe0156ddf3eb0\"><div class=\"porto-u-sub-heading\" style=\"\"><p style=\"text-align: left;\"><span class=\"ILfuVd\" lang=\"id\"><span class=\"hgKElc\">Kalender akademik merupakan jadwal penyelenggaraan kegiatan akademik selama jangka waktu satu tahun akademik, dengan dibagi menjadi tiga semester, yakni Semester Ganjil, Semester Genap, dan Semester Antara. Kalender akademik ini disusun berdsarkan SK Rektor sesuai dengan jangka waktu dan jenis kegiatan akademik di lingkungan Institut Seni Indonesia Yogyakarta<br \/><\/span><\/span><\/p><\/div><style>.porto-u-ad87e2eaf3f9c495180fe0156ddf3eb0.porto-u-heading{text-align:left}<\/style><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-d7ee1c5 e-con-full e-flex e-con e-parent\" data-id=\"d7ee1c5\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t<div class=\"elementor-element elementor-element-9cc9313 e-con-full e-flex e-con e-child\" data-id=\"9cc9313\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t<div class=\"elementor-element elementor-element-92b3006 e-flex e-con-boxed e-con e-child\" data-id=\"92b3006\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t\t\t\t<div class=\"e-con-inner\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-822ef53 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"822ef53\" 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\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f1cc102 e-con-full e-flex e-con e-parent\" data-id=\"f1cc102\" data-element_type=\"container\" data-e-type=\"container\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-f20e678 elementor-widget elementor-widget-html\" data-id=\"f20e678\" 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\" id=\"area-pdf\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Kalender Akademik 2026\/2027 | ISI Yogyakarta<\/title>\n<style>\n:root {\n  --blue-950:#082f5d; --blue-900:#0b3d75; --blue-800:#12549a;\n  --blue-700:#1769bd; --blue-600:#2380d8; --blue-100:#dcebfa;\n  --blue-50:#f2f8fe; --green:#16865d; --exam:#6b5dd3;\n  --gold:#d79b1e; --purple:#8b4fc5; --red:#d43f4f;\n  --orange:#e87518; --ink:#172231; --muted:#64748b;\n  --line:#dce5ef; --bg:#eef4f9; --shadow:0 14px 38px rgba(8,47,93,.10);\n}\n*{box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{\n  margin:0;color:var(--ink);\n  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\n  background:linear-gradient(180deg,#fff 0,var(--bg) 28rem);\n}\nbutton,input{font:inherit}\n.container{width:min(1440px,calc(100% - 28px));margin:auto;padding:16px 0 52px}\n.isi-font {\n  font-family: \"Isifont\", Poppins;\n}\n.hero{\n  display:flex;align-items:center;justify-content:space-between;gap:20px;\n  min-height:100px;padding:14px 20px;border-radius:18px;color:#fff;\n  background:\n    radial-gradient(circle at 88% 20%,rgba(255,255,255,.13),transparent 13rem),\n    linear-gradient(120deg,var(--blue-950),var(--blue-700));\n  box-shadow:var(--shadow);overflow:hidden\n}\n.brand{display:flex;align-items:center;gap:16px;min-width:0}\n\/* Logo tanpa kotak agar terlihat langsung pada latar biru *\/\n.brand-logo{\n  flex:0 0 auto;width:72px;height:72px;object-fit:contain;\n  filter:drop-shadow(0 5px 9px rgba(0,0,0,.20))\n}\n.eyebrow{font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#cbe5ff}\nh1{margin:5px 0 0;font-size:clamp(1.35rem,2.5vw,2.15rem);line-height:1.1;letter-spacing:-.03em}\n\n\n\/* Seluruh kontrol dibuat sejajar: tab, legenda, pencarian *\/\n.control-row{\n  position:sticky;top:7px;z-index:40;\n  display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(200px,250px) auto;\n  align-items:center;gap:10px;margin:14px 0;padding:9px;\n  border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.95);\n  backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(8,47,93,.08)\n}\n.tabs{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:11px;background:#f8fbfe;margin:0px}\n.tab{\n  border:0;border-radius:8px;padding:9px 13px;background:transparent;color:var(--muted);\n  font-size:.78rem;font-weight:850;cursor:pointer;white-space:nowrap\n}\n.tab.active{background:var(--blue-800);color:#fff;box-shadow:0 4px 12px rgba(18,84,154,.22)}\n.legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px}\n.legend-item{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:760;white-space:nowrap}\n.dot{width:12px;height:12px;border-radius:4px}\n.kuliah{background:var(--green)} .ujian{background:var(--exam)}\n.wisuda{background:var(--gold)} .administrasi{background:var(--purple)}\n.libur{background:var(--red)} .institusi{background:var(--orange)}\n.search{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none}\n.search:focus{border-color:var(--blue-600);box-shadow:0 0 0 4px rgba(35,128,216,.12)}\n.btn{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:800;white-space:nowrap}\n.btn-primary{background:var(--blue-800);color:#fff}\n\n.tab-panel{display:none}\n.tab-panel.active{display:block}\n.semester-section{\n  border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow);\n  overflow:visible\n}\n.semester-head{\n  display:flex;align-items:center;justify-content:space-between;gap:15px;\n  padding:16px 19px;border-bottom:1px solid var(--line);\n  background:linear-gradient(180deg,#fff,var(--blue-50));\n  border-radius:19px 19px 0 0\n}\n.semester-head h2{margin:0;font-size:1.24rem}\n.semester-head p{margin:5px 0 0;color:var(--muted);font-size:.84rem}\n.badge{padding:7px 10px;border-radius:999px;background:var(--blue-100);color:var(--blue-900);font-size:.74rem;font-weight:850}\n\n.calendar-grid{\n  position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:14px;padding:15px;overflow:visible\n}\n.month-card{\n  position:relative;border:1px solid var(--line);border-radius:15px;\n  overflow:visible;background:#fff\n}\n.month-head{\n  display:flex;justify-content:space-between;align-items:center;padding:11px 13px;color:#fff;\n  background:linear-gradient(110deg,var(--blue-950),var(--blue-700));\n  border-radius:14px 14px 0 0\n}\n.month-name{font-size:.91rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}\n.month-count{font-size:.7rem;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.16)}\n.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr)}\n.weekdays{border-bottom:1px solid var(--line);background:#f7fafc}\n.weekday{padding:8px 2px;text-align:center;font-size:.65rem;font-weight:850;color:var(--muted);text-transform:uppercase}\n.weekday:first-child{color:var(--red)}\n.day{\n  position:relative;min-height:68px;padding:5px;\n  padding-top:34px;\n  border-right:1px solid #e8eef4;border-bottom:1px solid #e8eef4;background:#fff\n}\n.day:nth-child(7n){border-right:0}\n.day.empty{background:#f9fbfd}\n.date-num{\n  position:absolute;left:5px;top:5px;\n  display:grid;place-items:center;\n  width:27px;height:27px;border-radius:8px;\n  font-size:.78rem;font-weight:850\n}\n.day.sunday .date-num{color:var(--red)}\n.day.weekend:not(.has-event){background:#f7f8fa}\n.day.weekend:not(.has-event) .date-num{color:var(--red)}\n.day.national-holiday{\n  background:linear-gradient(180deg,#fff0f2,#ffe4e8);\n  box-shadow:inset 0 0 0 2px rgba(212,63,79,.28)\n}\n.day.national-holiday:hover{background:linear-gradient(180deg,#ffe8ec,#ffd9df)}\n.day.national-holiday .date-num{background:var(--red);color:#fff}\n.day.national-holiday:after{\n  content:\"LIBUR\";\n  position:absolute;left:50%;bottom:5px;\n  transform: translateX(-50%);\n  padding:0px 5px;border-radius:4px;\n  background:rgba(212,63,79,.12);color:#b42332;\n  font-size:.50rem;font-weight:900;letter-spacing:.04em\n}\n\n.day.has-event{cursor:pointer;background:#f8fbff;box-shadow:inset 0 0 0 2px rgba(35,128,216,.18)}\n.day.has-event:hover{background:#eaf5ff;z-index:120}\n.day.has-event .date-num{background:var(--blue-800);color:#fff}\n\n\/* Masa perkuliahan ditampilkan sebagai blok latar penuh, bukan titik *\/\n.day.lecture-period{\n  background:linear-gradient(180deg,#dff5ea,#ccebdc);\n  box-shadow:inset 0 0 0 2px rgba(22,134,93,.34)\n}\n.day.lecture-period:hover{\n  background:linear-gradient(180deg,#d3f1e2,#bfe5d2)\n}\n.day.lecture-period .date-num{\n  background:var(--green);\n  color:#fff\n}\n.day.lecture-period:after{\n  content:\"KULIAH\";\n  position:absolute;\n  left:50%;\n  bottom:5px;\n  transform: translateX(-50%);\n  padding:0px 5px;\n  border-radius:4px;\n  background:rgba(22,134,93,.13);\n  color:#0d6b49;\n  font-size:.52rem;\n  font-weight:900;\n  letter-spacing:.04em\n}\n.day.selected{background:#dfefff;box-shadow:inset 0 0 0 3px var(--blue-600)}\n\n.day.lecture-period.national-holiday{\n  background:linear-gradient(180deg,#fff0f2,#ffe4e8);\n  box-shadow:inset 0 0 0 2px rgba(212,63,79,.34)\n}\n.day.lecture-period.national-holiday .date-num{background:var(--red);color:#fff}\n.day.lecture-period.national-holiday:after{content:\"LIBUR\";background:rgba(212,63,79,.12);color:#b42332}\n.day.lecture-period.selected{\n  background:linear-gradient(180deg,#cfeedd,#b9e2ce);\n  box-shadow:inset 0 0 0 3px var(--green)\n}\n.event-markers{\n  display:flex;align-items:center;gap:3px;\n  width:100%;height:10px;margin-top:2px;\n  padding-right:1px\n}\n.event-marker{flex:1;min-width:9px;max-width:24px;height:9px;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.13)}\n.event-total{\n  position:absolute;right:5px;top:7px;\n  min-width:18px;height:18px;padding:0 4px;border-radius:999px;\n  display:grid;place-items:center;\n  background:#fff;color:var(--blue-900);\n  border:1px solid var(--blue-100);\n  box-shadow:0 1px 3px rgba(8,47,93,.14);\n  font-size:.58rem;font-weight:900;line-height:1\n}\n\n\/* Tooltip tampil kembali, di atas tanggal dan tidak terpotong frame kalender *\/\n.tooltip-event{\n  display:none;position:absolute;left:50%;bottom:calc(100% + 9px);z-index:9999;\n  width:280px;max-width:min(280px,80vw);padding:11px 12px;\n  transform:translateX(-50%);border-radius:11px;color:#fff;background:#162536;\n  font-size:.72rem;line-height:1.45;text-align:left;\n  box-shadow:0 15px 35px rgba(8,25,43,.28);pointer-events:none\n}\n.tooltip-event:after{\n  content:\"\";position:absolute;left:50%;top:100%;transform:translateX(-50%);\n  border:7px solid transparent;border-top-color:#162536\n}\n.tooltip-event div+div{margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.15)}\n.day.has-event:hover .tooltip-event,.day.has-event:focus .tooltip{display:block}\n\n.day-detail{\n  margin:0 15px 15px;padding:15px;border:1px solid #bcd9f4;border-radius:14px;background:var(--blue-50)\n}\n.day-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}\n.day-detail h3{margin:0;font-size:1rem;color:var(--blue-950)}\n.day-detail-hint{color:var(--muted);font-size:.76rem}\n.detail-list{display:grid;gap:8px}\n.detail-card{\n  display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:start;\n  padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff\n}\n.detail-bar{width:10px;height:100%;min-height:38px;border-radius:5px}\n.detail-title{font-size:.86rem;font-weight:780;line-height:1.42}\n.detail-range{margin-top:3px;color:var(--muted);font-size:.75rem}\n.detail-cat{padding:5px 8px;border-radius:999px;background:#f1f5f9;font-size:.68rem;font-weight:800;white-space:nowrap}\n\n.agenda-wrap{padding:0 15px 17px}\n.agenda-title{display:flex;justify-content:space-between;align-items:center;margin:3px 0 10px}\n.agenda-title h3{margin:0;font-size:1rem}\n.agenda-title span{color:var(--muted);font-size:.79rem}\n.agenda-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}\n.agenda-item{\n  display:grid;grid-template-columns:82px 1fr;gap:8px;padding:7px 8px;\n  border:1px solid var(--line);border-left:4px solid var(--cat);border-radius:8px;background:#fff\n}\n.agenda-date{font-size:.68rem;font-weight:850;color:var(--blue-900);line-height:1.25}\n.agenda-name{font-size:.73rem;font-weight:720;line-height:1.28}\n.agenda-category{margin-top:2px;color:var(--muted);font-size:.59rem;font-weight:700}\n.empty-message{grid-column:1\/-1;padding:22px;text-align:center;color:var(--muted)}\n.note{margin-top:16px;padding:14px 16px;border:1px solid #bcd9f4;border-radius:14px;background:var(--blue-50);color:var(--blue-950);line-height:1.55;font-size:.83rem}\n\n@media(max-width:1250px){\n  .control-row{grid-template-columns:1fr auto}\n  .tabs{grid-column:1}\n  .legend{grid-column:1\/-1;grid-row:2}\n  .search{grid-column:1}\n  .btn{grid-column:2;grid-row:1}\n}\n@media(max-width:1100px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media(max-width:1180px){\n  .date-num{width:25px;height:25px;font-size:.72rem}\n  .event-total{min-width:16px;height:16px;padding:0 3px;font-size:.52rem}\n}\n@media(max-width:760px){\n  .container{width:min(100% - 16px,1440px);padding-top:8px}\n  .hero{align-items:flex-start;padding:14px 15px}\n  .brand-logo{width:58px;height:58px}\n  \n  .control-row{position:static;display:flex;flex-direction:column;align-items:stretch}\n  .tabs{width:100%} .tab{flex:1;padding-inline:6px}\n  .legend{display:grid;grid-template-columns:repeat(2,1fr)}\n  .calendar-grid{grid-template-columns:1fr;padding:10px}\n  .agenda-list{grid-template-columns:1fr}\n  .detail-card{grid-template-columns:9px 1fr}\n  .detail-cat{grid-column:2;justify-self:start}\n  .tooltip-event{width:240px}\n}\n@media print{\n  @page{\n    size:A4 landscape;\n    margin:8mm;\n  }\n  \n  .header-wrapper, .elementor-element-d398519, .elementor-element-0923736, .elementor-element-2cfe35d, .elementor-element-d7ee1c5, .mdp-readabler-trigger-button-box, .footer-wrapper, #topcontrol {\n      display: none!important;\n  }\n\n   #area-pdf, #area-pdf * {\n    visibility: visible !important;\n  }\n\n  html,body{\n    background:#fff!important;\n    width:100%;\n    margin:0;\n    padding:0;\n    overflow:visible!important;\n  }\n\n  body{\n    font-size:8px;\n    -webkit-print-color-adjust:exact;\n    print-color-adjust:exact;\n  }\n\n  .container{\n    width:100%;\n    max-width:none;\n    margin:0;\n    padding:0;\n    background:#fff!important;\n  }\n\n  .hero{\n    min-height:auto;\n    margin:0 0 4mm;\n    padding:7px 10px;\n    border-radius:7px;\n    box-shadow:none;\n  }\n\n  .brand-logo{\n    width:40px;\n    height:40px;\n  }\n\n  .eyebrow{font-size:5.5px}\n  h1{\n    margin-top:2px;\n    font-size:15px;\n  }\n\n  .control-row,\n  .day-detail,\n  .note{\n    display:none!important;\n  }\n\n  .tab-panel{\n    display:block!important;\n  }\n\n  .tab-panel + .tab-panel{\n    break-before:page;\n    page-break-before:always;\n  }\n\n  .semester-section{\n    border:0;\n    border-radius:0;\n    box-shadow:none;\n    overflow:visible!important;\n  }\n\n  .semester-head{\n    margin:0 0 3mm;\n    padding:5px 7px;\n    border:1px solid var(--line);\n    border-radius:5px;\n    break-after:avoid;\n    page-break-after:avoid;\n  }\n\n  .semester-head h2{font-size:11px}\n  .semester-head p{display:none}\n  .badge{\n    padding:2px 5px;\n    font-size:5.5px;\n  }\n\n  \/* Tiga bulan per baris agar tidak terpotong oleh area cetak printer. *\/\n  .calendar-grid{\n    display:grid!important;\n    grid-template-columns:repeat(3,minmax(0,1fr))!important;\n    gap:3mm!important;\n    align-items:start;\n    width:100%;\n    padding:0!important;\n    margin:0;\n    overflow:visible!important;\n  }\n\n  .month-card{\n    width:100%;\n    min-width:0;\n    break-inside:avoid;\n    page-break-inside:avoid;\n    border-radius:5px;\n    overflow:hidden!important;\n    box-shadow:none;\n  }\n\n  .month-head{\n    padding:4px 5px;\n    border-radius:4px 4px 0 0;\n  }\n\n  .month-name{font-size:7px}\n  .month-count{\n    padding:2px 4px;\n    font-size:5px;\n  }\n\n  .weekday{\n    padding:2px 0;\n    font-size:4.5px;\n  }\n\n  .day{\n    min-height:27px!important;\n    height:27px;\n    padding:1px!important;\n    padding-top:16px!important;\n    overflow:hidden!important;\n  }\n\n  .date-num{\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    left:2px!important;\n    top:2px!important;\n    width:14px!important;\n    height:14px!important;\n    border-radius:4px!important;\n    font-size:5.5px!important;\n  }\n\n  .event-total{\n    right:2px!important;\n    top:2px!important;\n    min-width:11px!important;\n    height:11px!important;\n    padding:0 2px!important;\n    font-size:4.5px!important;\n    box-shadow:none!important;\n  }\n\n  .event-markers{\n    position:absolute;\n    left:2px;\n    right:2px;\n    bottom:2px;\n    width:auto!important;\n    height:4px!important;\n    margin:0!important;\n    gap:1px!important;\n  }\n\n  .event-marker{\n    height:4px!important;\n    min-width:3px!important;\n    max-width:none!important;\n    border-radius:2px!important;\n    box-shadow:none!important;\n  }\n\n  \/* Label teks KULIAH\/LIBUR disembunyikan pada PDF agar tidak bertabrakan. *\/\n  .day.lecture-period:after,\n  .day.national-holiday:after{\n    display:none!important;\n  }\n\n  .tooltip-event{\n    display:none!important;\n  }\n\n  \/* Agenda dibuat sangat ringkas dan tidak dipaksa ke halaman baru. *\/\n  .agenda-wrap{\n    margin-top:4mm;\n    padding:0!important;\n    break-before:auto!important;\n    page-break-before:auto!important;\n  }\n\n  .agenda-title{\n    margin:0 0 2mm;\n  }\n\n  .agenda-title h3{font-size:9px}\n  .agenda-title span{font-size:5.5px}\n\n  .agenda-list{\n    display:grid!important;\n    grid-template-columns:repeat(3,minmax(0,1fr))!important;\n    gap:1.5mm!important;\n  }\n\n  .agenda-item{\n    grid-template-columns:46px 1fr!important;\n    gap:3px!important;\n    padding:3px 4px!important;\n    border-left-width:2px!important;\n    border-radius:3px!important;\n    break-inside:avoid;\n    page-break-inside:avoid;\n  }\n\n  .agenda-date{\n    font-size:5px!important;\n    line-height:1.1!important;\n  }\n\n  .agenda-name{\n    font-size:5.4px!important;\n    line-height:1.12!important;\n  }\n\n  .agenda-category{\n    margin-top:1px!important;\n    font-size:4.3px!important;\n  }\n\n  .month-head,\n  .event-marker,\n  .dot,\n  .date-num,\n  .detail-bar,\n  .day.lecture-period,\n  .day.national-holiday{\n    -webkit-print-color-adjust:exact;\n    print-color-adjust:exact;\n  }\n}\n<\/style>\n<\/head>\n<body>\n<main class=\"container\">\n  <header class=\"hero\">\n    <div class=\"brand\">\n      <img decoding=\"async\" class=\"brand-logo\" src=\"https:\/\/www.isi.ac.id\/wp-content\/uploads\/2025\/10\/gold-logo-ISI-YK-1006x1024.png\" alt=\"Logo ISI Yogyakarta\">\n      <div>\n        <div class=\"eyebrow isi-font\">Institut Seni Indonesia Yogyakarta<\/div>\n        <h1 class=\"isi-font\">Kalender Akademik Tahun Akademik 2026\/2027<\/h1>\n      <\/div>\n    <\/div>\n    \n  <\/header>\n\n  <section class=\"control-row\">\n    <nav class=\"tabs\" aria-label=\"Pilihan semester\">\n      <button class=\"tab active\" data-tab=\"ganjil\">Semester Ganjil<\/button>\n      <button class=\"tab\" data-tab=\"genap\">Semester Genap<\/button>\n      <button class=\"tab\" data-tab=\"antara\">Semester Antara<\/button>\n    <\/nav>\n\n    <div class=\"legend\">\n      <span class=\"legend-item\"><i class=\"dot kuliah\"><\/i> Masa Perkuliahan Senin\u2013Jumat (blok hijau)<\/span>\n      <span class=\"legend-item\"><i class=\"dot ujian\"><\/i> Ujian<\/span>\n      <span class=\"legend-item\"><i class=\"dot wisuda\"><\/i> Wisuda\/Kelulusan<\/span>\n      <span class=\"legend-item\"><i class=\"dot administrasi\"><\/i> Administrasi\/KRS\/UKT<\/span>\n      <span class=\"legend-item\"><i class=\"dot libur\"><\/i> Hari Libur<\/span>\n      <span class=\"legend-item\"><i class=\"dot institusi\"><\/i> Agenda Institusi<\/span>\n    <\/div>\n    <input id=\"search\" class=\"search\" type=\"search\" placeholder=\"Cari agenda...\">\n    <button class=\"btn btn-primary\" onclick=\"window.print()\">Cetak \/ PDF<\/button>\n  <\/section>\n\n  <div id=\"panel-ganjil\" class=\"tab-panel active\">\n    <section class=\"semester-section\">\n      <div class=\"semester-head\">\n        <div><h2>Semester Ganjil 2026\/2027<\/h2><p><\/p><\/div>\n        <span class=\"badge\" id=\"gasalBadge\"><\/span>\n      <\/div>\n      <div id=\"gasalCalendar\" class=\"calendar-grid\"><\/div>\n      <div id=\"gasalDetail\" class=\"day-detail\"><\/div>\n      <div class=\"agenda-wrap\">\n        <div class=\"agenda-title\"><h3>Daftar Agenda Semester Ganjil<\/h3><span id=\"gasalCount\"><\/span><\/div>\n        <div id=\"gasalAgenda\" class=\"agenda-list\"><\/div>\n      <\/div>\n    <\/section>\n  <\/div>\n\n  <div id=\"panel-genap\" class=\"tab-panel\">\n    <section class=\"semester-section\">\n      <div class=\"semester-head\">\n        <div><h2>Semester Genap 2026\/2027<\/h2><p><\/p><\/div>\n        <span class=\"badge\" id=\"genapBadge\"><\/span>\n      <\/div>\n      <div id=\"genapCalendar\" class=\"calendar-grid\"><\/div>\n      <div id=\"genapDetail\" class=\"day-detail\"><\/div>\n      <div class=\"agenda-wrap\">\n        <div class=\"agenda-title\"><h3>Daftar Agenda Semester Genap<\/h3><span id=\"genapCount\"><\/span><\/div>\n        <div id=\"genapAgenda\" class=\"agenda-list\"><\/div>\n      <\/div>\n    <\/section>\n  <\/div>\n\n  <div id=\"panel-antara\" class=\"tab-panel\">\n    <section class=\"semester-section\">\n      <div class=\"semester-head\">\n        <div><h2>Semester Antara 2027<\/h2><p><\/p><\/div>\n        <span class=\"badge\" id=\"antaraBadge\"><\/span>\n      <\/div>\n      <div id=\"antaraCalendar\" class=\"calendar-grid\"><\/div>\n      <div id=\"antaraDetail\" class=\"day-detail\"><\/div>\n      <div class=\"agenda-wrap\">\n        <div class=\"agenda-title\"><h3>Daftar Agenda Semester Antara<\/h3><span id=\"antaraCount\"><\/span><\/div>\n        <div id=\"antaraAgenda\" class=\"agenda-list\"><\/div>\n      <\/div>\n    <\/section>\n  <\/div>\n\n  <aside class=\"note\">\n    <strong>Catatan:<\/strong> Hari libur nasional dan cuti bersama 2026 mengikuti SKB Menteri Agama, Menteri Ketenagakerjaan, dan Menteri PANRB Nomor 1497 Tahun 2025, Nomor 2 Tahun 2025, dan Nomor 5 Tahun 2025. Jadwal resmi libur nasional dan cuti bersama 2027 belum diterbitkan pada saat kalender ini diperbarui; agenda 2027 akan menyesuaikan keputusan pemerintah terbaru.\n  <\/aside>\n<\/main>\n\n<script>\nconst events = [\n  {start:\"2026-06-01\",end:\"2026-06-01\",title:\"Hari Lahir Pancasila\",cat:\"libur\",period:\"gasal\",nationalHoliday:true},\n  {start:\"2026-06-16\",end:\"2026-06-16\",title:\"1 Muharam Tahun Baru Islam 1448 Hijriah\",cat:\"libur\",period:\"gasal\",nationalHoliday:true},\n  {start:\"2026-08-25\",end:\"2026-08-25\",title:\"Maulid Nabi Muhammad S.A.W.\",cat:\"libur\",period:\"gasal\",nationalHoliday:true},\n  {start:\"2026-12-24\",end:\"2026-12-24\",title:\"Cuti Bersama Kelahiran Yesus Kristus\",cat:\"libur\",period:\"gasal\",nationalHoliday:true},\n\n  {start:\"2026-06-22\",end:\"2026-06-22\",title:\"Batas Akhir Nilai Tugas Akhir Semester Genap 2025\/2026\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2026-06-26\",end:\"2026-06-26\",title:\"Penetapan Kelulusan (Yudisium Semester Genap 2025\/2026)\",cat:\"wisuda\",period:\"gasal\"},\n  {start:\"2026-06-26\",end:\"2026-07-11\",title:\"Pendaftaran Wisuda Periode Kelulusan Semester Genap 2025\/2026\",cat:\"wisuda\",period:\"gasal\"},\n  {start:\"2026-07-13\",end:\"2026-07-17\",title:\"Pengajuan Mahasiswa Lama Aktif Kembali dan Pengajuan Cuti Kuliah\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2026-07-13\",end:\"2026-07-17\",title:\"Pengumpulan Berkas Wisuda Periode Kelulusan Semester Genap 2025\/2026\",cat:\"wisuda\",period:\"gasal\"},\n  {start:\"2026-07-20\",end:\"2026-08-07\",title:\"Masa Pembayaran Uang Kuliah Tunggal\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2026-08-04\",end:\"2026-08-04\",title:\"Pertemuan Dosen Lengkap ISI Yogyakarta\",cat:\"institusi\",period:\"gasal\"},\n  {start:\"2026-08-05\",end:\"2026-08-05\",title:\"Penerbitan Jadwal Kuliah Semester Gasal\",cat:\"kuliah\",period:\"gasal\"},\n  {start:\"2026-08-10\",end:\"2026-08-14\",title:\"Konsultasi Pengisian KRS dengan Dosen Pembimbing Akademik\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2026-08-17\",end:\"2026-08-17\",title:\"HUT ke 82 Republik Indonesia\",cat:\"libur\",period:\"gasal\",nationalHoliday:true},\n  {start:\"2026-08-19\",end:\"2026-08-19\",title:\"Sidang Senat dan Kuliah Perdana Mahasiswa Baru 2026\/2027\",cat:\"institusi\",period:\"gasal\"},\n  {start:\"2026-08-20\",end:\"2026-08-21\",title:\"Pengenalan Kehidupan Kampus Bagi Mahasiswa Baru (PKKMB)\",cat:\"institusi\",period:\"gasal\"},\n  {start:\"2026-08-24\",end:\"2026-12-11\",title:\"Masa Perkuliahan Semester Gasal\",cat:\"kuliah\",period:\"gasal\"},\n  {start:\"2026-08-28\",end:\"2026-08-28\",title:\"Batas Akhir Pengajuan Proposal TA Semester Gasal 2026\/2027\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2026-09-10\",end:\"2026-09-10\",title:\"Wisuda Periode Semester Genap 2025\/2026\",cat:\"wisuda\",period:\"gasal\"},\n  {start:\"2026-09-12\",end:\"2026-09-12\",title:\"Wisuda Periode Semester Genap 2025\/2026\",cat:\"wisuda\",period:\"gasal\"},\n  {start:\"2026-10-12\",end:\"2026-10-16\",title:\"Ujian Tengah Semester\",cat:\"ujian\",period:\"gasal\"},\n  {start:\"2026-12-07\",end:\"2026-12-11\",title:\"Ujian Akhir Semester Gasal 2026\/2027\",cat:\"ujian\",period:\"gasal\"},\n  {start:\"2026-12-14\",end:\"2026-12-18\",title:\"Ujian Remidi Semester Gasal 2026\/2027\",cat:\"ujian\",period:\"gasal\"},\n  {start:\"2026-12-25\",end:\"2026-12-25\",title:\"Kelahiran Yesus Kristus\",cat:\"libur\",period:\"gasal\",nationalHoliday:true},\n  {start:\"2027-01-04\",end:\"2027-01-04\",title:\"Batas Akhir Nilai Masuk\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2027-01-08\",end:\"2027-01-08\",title:\"Penerbitan Kartu Hasil Studi (KHS)\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2027-01-11\",end:\"2027-01-11\",title:\"Batas Akhir Nilai Tugas Akhir Semester Gasal 2026\/2027\",cat:\"administrasi\",period:\"gasal\"},\n  {start:\"2027-01-15\",end:\"2027-01-15\",title:\"Penetapan Kelulusan (Yudisium)\",cat:\"wisuda\",period:\"gasal\"},\n\n  {start:\"2026-12-14\",end:\"2026-12-23\",title:\"Pengajuan Mahasiswa Lama Aktif Kembali dan Pengajuan Cuti Kuliah\",cat:\"administrasi\",period:\"genap\"},\n  {start:\"2027-01-01\",end:\"2027-01-13\",title:\"Masa Pembayaran Uang Kuliah Tunggal\",cat:\"administrasi\",period:\"genap\"},\n  {start:\"2027-01-06\",end:\"2027-01-06\",title:\"Pertemuan Dosen Lengkap (Fakultas)\",cat:\"institusi\",period:\"genap\"},\n  {start:\"2027-01-07\",end:\"2027-01-07\",title:\"Penerbitan Jadwal Kuliah Semester Genap\",cat:\"kuliah\",period:\"genap\"},\n  {start:\"2027-01-11\",end:\"2027-01-15\",title:\"Konsultasi Pengisian KRS dengan Dosen Pembimbing Akademik\",cat:\"administrasi\",period:\"genap\"},\n  {start:\"2027-01-18\",end:\"2027-05-07\",title:\"Masa Perkuliahan Semester Genap\",cat:\"kuliah\",period:\"genap\"},\n  {start:\"2027-01-22\",end:\"2027-01-22\",title:\"Batas Akhir Pengajuan Proposal TA Semester Genap 2026\/2027\",cat:\"administrasi\",period:\"genap\"},\n  {start:\"2027-01-18\",end:\"2027-01-29\",title:\"Pendaftaran Wisuda Periode Kelulusan Semester Gasal 2026\/2027\",cat:\"wisuda\",period:\"genap\"},\n  {start:\"2027-02-01\",end:\"2027-02-10\",title:\"Pengumpulan Berkas Wisuda Periode Kelulusan Semester Gasal 2026\/2027\",cat:\"wisuda\",period:\"genap\"},\n  {start:\"2027-03-08\",end:\"2027-03-12\",title:\"Libur Idul Fitri 2027 \u2014 Menyesuaikan SKB 3 Menteri (perkiraan 8\u201312 Maret 2027)\",cat:\"libur\",period:\"genap\"},\n  {start:\"2027-03-15\",end:\"2027-03-19\",title:\"Ujian Tengah Semester\",cat:\"ujian\",period:\"genap\"},\n  {start:\"2027-03-19\",end:\"2027-03-19\",title:\"Wisuda Semester Gasal 2026\/2027\",cat:\"wisuda\",period:\"genap\"},\n  {start:\"2027-04-23\",end:\"2027-04-23\",title:\"Penetapan Kelulusan (Yudisium periode I Semester Genap 2026\/2027)\",cat:\"wisuda\",period:\"genap\"},\n  {start:\"2027-04-26\",end:\"2027-05-02\",title:\"Pendaftaran Wisuda Periode I Kelulusan Semester Genap 2026\/2027\",cat:\"wisuda\",period:\"genap\"},\n  {start:\"2027-05-03\",end:\"2027-05-12\",title:\"Pengumpulan Berkas Wisuda Periode I Kelulusan Semester Genap 2026\/2027\",cat:\"wisuda\",period:\"genap\"},\n  {start:\"2027-05-03\",end:\"2027-05-07\",title:\"Ujian Akhir Semester Genap 2026\/2027\",cat:\"ujian\",period:\"genap\"},\n  {start:\"2027-05-10\",end:\"2027-05-14\",title:\"Ujian Remidi Semester Genap 2026\/2027\",cat:\"ujian\",period:\"genap\"},\n  {start:\"2027-05-30\",end:\"2027-05-30\",title:\"Dies Natalis XLIII\",cat:\"institusi\",period:\"genap\"},\n  {start:\"2027-05-28\",end:\"2027-05-28\",title:\"Batas Akhir Nilai Masuk\",cat:\"administrasi\",period:\"genap\"},\n  {start:\"2027-06-04\",end:\"2027-06-04\",title:\"Penerbitan Kartu Hasil Studi (KHS)\",cat:\"administrasi\",period:\"genap\"},\n  {start:\"2027-06-12\",end:\"2027-06-12\",title:\"Wisuda Periode I Semester Genap 2026\/2027 (Tentatif)\",cat:\"wisuda\",period:\"genap\"},\n  {start:\"2027-06-21\",end:\"2027-06-21\",title:\"Batas Akhir Nilai Tugas Akhir Semester Genap 2026\/2027\",cat:\"administrasi\",period:\"genap\"},\n  {start:\"2027-06-25\",end:\"2027-06-25\",title:\"Penetapan Kelulusan (Yudisium)\",cat:\"wisuda\",period:\"genap\"},\n\n  {start:\"2027-06-14\",end:\"2027-06-16\",title:\"Pendaftaran Semester Antara\",cat:\"administrasi\",period:\"antara\"},\n  {start:\"2027-06-18\",end:\"2027-06-18\",title:\"Penerbitan Jadwal Kuliah Semester Antara\",cat:\"kuliah\",period:\"antara\"},\n  {start:\"2027-06-21\",end:\"2027-06-23\",title:\"Pengisian KRS dan Pembayaran\",cat:\"administrasi\",period:\"antara\"},\n  {start:\"2027-06-28\",end:\"2027-08-13\",title:\"Masa Perkuliahan Semester Antara\",cat:\"kuliah\",period:\"antara\"},\n  {start:\"2027-08-19\",end:\"2027-08-19\",title:\"Batas Akhir Nilai Masuk Semester Antara\",cat:\"administrasi\",period:\"antara\"}\n];\n\nconst monthNames=[\"Januari\",\"Februari\",\"Maret\",\"April\",\"Mei\",\"Juni\",\"Juli\",\"Agustus\",\"September\",\"Oktober\",\"November\",\"Desember\"];\nconst dayNames=[\"Min\",\"Sen\",\"Sel\",\"Rab\",\"Kam\",\"Jum\",\"Sab\"];\nconst catNames={kuliah:\"Perkuliahan\",ujian:\"Ujian\",wisuda:\"Wisuda\/Kelulusan\",administrasi:\"Administrasi\",libur:\"Hari Libur\",institusi:\"Institusi\"};\nconst catColors={kuliah:\"#16865d\",ujian:\"#6b5dd3\",wisuda:\"#d79b1e\",administrasi:\"#8b4fc5\",libur:\"#d43f4f\",institusi:\"#e87518\"};\nconst configs={\n  gasal:{start:new Date(2026,5,1),end:new Date(2027,0,1)},\n  genap:{start:new Date(2026,11,1),end:new Date(2027,5,1)},\n  antara:{start:new Date(2027,5,1),end:new Date(2027,7,1)}\n};\nfunction parseDate(s){if(!s)return null;const [y,m,d]=s.split(\"-\").map(Number);return new Date(y,m-1,d)}\nfunction overlaps(ev,date){\n  if(ev.undated||!ev.start||!ev.end)return false;\n  const t=date.getTime();\n  return t>=parseDate(ev.start).getTime()&&t<=parseDate(ev.end).getTime();\n}\nfunction dateLabel(date){return `${date.getDate()} ${monthNames[date.getMonth()]} ${date.getFullYear()}`}\nfunction formatRange(ev){\n  if(ev.undated||!ev.start||!ev.end)return \"Tanggal belum ditetapkan\";\n  const a=parseDate(ev.start),b=parseDate(ev.end);\n  if(a.getTime()===b.getTime())return dateLabel(a);\n  if(a.getMonth()===b.getMonth()&&a.getFullYear()===b.getFullYear())return `${a.getDate()}\u2013${b.getDate()} ${monthNames[a.getMonth()]} ${a.getFullYear()}`;\n  if(a.getFullYear()===b.getFullYear())return `${a.getDate()} ${monthNames[a.getMonth()]}\u2013${b.getDate()} ${monthNames[b.getMonth()]} ${a.getFullYear()}`;\n  return `${dateLabel(a)}\u2013${dateLabel(b)}`;\n}\nfunction filtered(period){\n  const q=document.getElementById(\"search\").value.trim().toLowerCase();\n  return events.filter(e=>e.period===period&&(!q||e.title.toLowerCase().includes(q)||catNames[e.cat].toLowerCase().includes(q)));\n}\nfunction isLecturePeriodEvent(event){\n  return event.title.toLowerCase().startsWith(\"masa perkuliahan\");\n}\nfunction isWeekend(date){\n  return date.getDay()===0 || date.getDay()===6;\n}\nfunction eventAppliesToCalendarDate(event,date){\n  if(!overlaps(event,date))return false;\n  \/* Sabtu dan Minggu tidak dianggap sebagai hari perkuliahan. *\/\n  if(isLecturePeriodEvent(event) && isWeekend(date))return false;\n  return true;\n}\nfunction showDetail(period,date,matches,cell){\n  document.querySelectorAll(`#${period}Calendar .day.selected`).forEach(el=>el.classList.remove(\"selected\"));\n  cell.classList.add(\"selected\");\n  const box=document.getElementById(period+\"Detail\");\n  box.innerHTML=`<div class=\"day-detail-head\"><h3>Agenda ${dateLabel(date)}<\/h3><span class=\"day-detail-hint\">${matches.length} kegiatan<\/span><\/div>\n  <div class=\"detail-list\">${matches.map(e=>`<article class=\"detail-card\">\n    <i class=\"detail-bar\" style=\"background:${catColors[e.cat]}\"><\/i>\n    <div><div class=\"detail-title\">${e.title}<\/div><div class=\"detail-range\">${formatRange(e)}<\/div><\/div>\n    <span class=\"detail-cat\">${catNames[e.cat]}<\/span>\n  <\/article>`).join(\"\")}<\/div>`;\n  box.scrollIntoView({behavior:\"smooth\",block:\"nearest\"});\n}\nfunction buildMonth(period,year,month,activeEvents){\n  const first=new Date(year,month,1);\n  const daysInMonth=new Date(year,month+1,0).getDate();\n  const monthEvents=activeEvents.filter(e=>!e.undated&&parseDate(e.start)<=new Date(year,month,daysInMonth)&&parseDate(e.end)>=first);\n  const card=document.createElement(\"article\");\n  card.className=\"month-card\";\n  card.innerHTML=`<div class=\"month-head\"><span class=\"month-name\">${monthNames[month]} ${year}<\/span><span class=\"month-count\">${monthEvents.length} agenda<\/span><\/div>`;\n  const weekdays=document.createElement(\"div\"); weekdays.className=\"weekdays\";\n  dayNames.forEach(n=>weekdays.innerHTML+=`<div class=\"weekday\">${n}<\/div>`);\n  card.appendChild(weekdays);\n  const days=document.createElement(\"div\"); days.className=\"days\";\n  for(let i=0;i<first.getDay();i++)days.innerHTML+=`<div class=\"day empty\"><\/div>`;\n  for(let d=1;d<=daysInMonth;d++){\n    const date=new Date(year,month,d);\n    const matches=monthEvents.filter(e=>eventAppliesToCalendarDate(e,date));\n    const cell=document.createElement(\"div\");\n    const hasLecturePeriod=matches.some(isLecturePeriodEvent);\n    const hasNationalHoliday=matches.some(e=>e.nationalHoliday===true);\n    cell.className=`day ${date.getDay()===0?\"sunday \":\"\"}${isWeekend(date)?\"weekend \":\"\"}${matches.length?\"has-event\":\"\"}${hasLecturePeriod?\" lecture-period\":\"\"}${hasNationalHoliday?\" national-holiday\":\"\"}`;\n    cell.innerHTML=`<div class=\"date-num\">${d}<\/div>`;\n    if(matches.length){\n      const markerEvents=matches.filter(e=>!isLecturePeriodEvent(e));\n      if(markerEvents.length){\n        const markers=document.createElement(\"div\"); markers.className=\"event-markers\";\n        [...new Set(markerEvents.map(e=>e.cat))].forEach(cat=>markers.innerHTML+=`<i class=\"event-marker ${cat}\"><\/i>`);\n        cell.appendChild(markers);\n      }\n      if(matches.length>1)cell.innerHTML+=`<span class=\"event-total\">${matches.length}<\/span>`;\n      const tooltip=document.createElement(\"div\");\n      tooltip.className=\"tooltip-event\";\n      tooltip.innerHTML=matches.map(e=>`<div><strong>${catNames[e.cat]}<\/strong><br>${e.title}<\/div>`).join(\"\");\n      cell.appendChild(tooltip);\n      cell.tabIndex=0;\n      cell.addEventListener(\"click\",()=>showDetail(period,date,matches,cell));\n      cell.addEventListener(\"keydown\",e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();showDetail(period,date,matches,cell)}});\n    }\n    days.appendChild(cell);\n  }\n  card.appendChild(days);\n  return card;\n}\nfunction renderPeriod(period){\n  const active=filtered(period),cfg=configs[period];\n  const calendar=document.getElementById(period+\"Calendar\");\n  const agenda=document.getElementById(period+\"Agenda\");\n  calendar.innerHTML=\"\"; agenda.innerHTML=\"\";\n  let cursor=new Date(cfg.start),monthCount=0;\n  while(cursor<=cfg.end){\n    calendar.appendChild(buildMonth(period,cursor.getFullYear(),cursor.getMonth(),active));\n    monthCount++; cursor=new Date(cursor.getFullYear(),cursor.getMonth()+1,1);\n  }\n  active.slice().sort((a,b)=>{if(a.undated)return 1;if(b.undated)return -1;return parseDate(a.start)-parseDate(b.start)}).forEach(e=>{\n    agenda.innerHTML+=`<article class=\"agenda-item\" style=\"--cat:${catColors[e.cat]}\">\n      <div class=\"agenda-date\">${e.undated?\"Tanggal belum ditetapkan\":formatRange(e)}<\/div>\n      <div><div class=\"agenda-name\">${e.title}<\/div><div class=\"agenda-category\">${catNames[e.cat]}<\/div><\/div>\n    <\/article>`;\n  });\n  if(!active.length)agenda.innerHTML=`<div class=\"empty-message\">Tidak ada agenda yang cocok dengan pencarian.<\/div>`;\n  document.getElementById(period+\"Count\").textContent=`${active.length} kegiatan`;\n  document.getElementById(period+\"Badge\").textContent=`${monthCount} bulan`;\n  document.getElementById(period+\"Detail\").innerHTML=`<div class=\"day-detail-head\"><h3>Rincian Agenda Harian<\/h3><span class=\"day-detail-hint\">Klik tanggal yang memiliki penanda warna<\/span><\/div>`;\n}\ndocument.querySelectorAll(\".tab\").forEach(tab=>{\n  tab.addEventListener(\"click\",()=>{\n    document.querySelectorAll(\".tab\").forEach(t=>t.classList.remove(\"active\"));\n    document.querySelectorAll(\".tab-panel\").forEach(p=>p.classList.remove(\"active\"));\n    tab.classList.add(\"active\");\n    document.getElementById(\"panel-\"+tab.dataset.tab).classList.add(\"active\");\n  });\n});\nfunction renderAll(){renderPeriod(\"gasal\");renderPeriod(\"genap\");renderPeriod(\"antara\")}\ndocument.getElementById(\"search\").addEventListener(\"input\",renderAll);\nrenderAll();\n<\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>KALENDER AKADEMIK &#8211; Kalender akademik merupakan jadwal penyelenggaraan kegiatan akademik selama jangka waktu satu tahun akademik, dengan dibagi menjadi tiga semester, yakni Semester Ganjil, Semester Genap, dan Semester Antara. Kalender akademik ini disusun berdsarkan SK Rektor sesuai dengan jangka waktu dan jenis kegiatan akademik di lingkungan Institut Seni Indonesia Yogyakarta Kalender Akademik 2026\/2027 | ISI [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":1418,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1421","page","type-page","status-publish","hentry"],"a3_pvc":{"activated":false,"total_views":1459,"today_views":0},"_links":{"self":[{"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/pages\/1421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/comments?post=1421"}],"version-history":[{"count":64,"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/pages\/1421\/revisions"}],"predecessor-version":[{"id":33852,"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/pages\/1421\/revisions\/33852"}],"up":[{"embeddable":true,"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/pages\/1418"}],"wp:attachment":[{"href":"https:\/\/www.isi.ac.id\/en\/wp-json\/wp\/v2\/media?parent=1421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}