1<!DOCTYPE html> 2<html lang="id"> 3 <head> 4 <!-- meta tags --> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> 7 <meta http-equiv="x-ua-compatible" content="ie=edge"> 8 <meta name="author" content="Banyumili"> 9 <meta property="og:site_name" content="Banyumili"> 10 <link rel="canonical" href="https://www.banyumilitravel.id/blog"> 11 <meta name="csrf-token" content="cKQOXdB57go308MncaGT4G42tIvMOxW2lI40M0Fg"> 12 13 14 15 16 <!-- title --> 17 <title>Promo dan Berita</title> 18 19 20 21 <!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 21-22
21 22<script async src="https://www.googletagmanager.com/gtag/js?id=
22G-NDY6LN70BZ
vendor: 12 bytes, line 22
22"></script>
23<script> 24
vendor: 146 bytes, lines 24-27
24window.dataLayer = window.dataLayer || []; 25 function gtag() { dataLayer.push(arguments); } 26 gtag('js', new Date()); 27 gtag('config', '
27G-NDY6LN70BZ
vendor: 8 bytes, lines 27-28
27'); 28
28</script>
28 29 <!-- Google Tag Manager --> 30
30<script>
vendor: 364 bytes, lines 30-35
30 31 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 32 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 33 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 34 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 35 })(window,document,'script','dataLayer','
35GTM-K8Q3ZF46
vendor: 8 bytes, lines 35-36
35'); 36
36</script>
36 37 <!-- End Google Tag Manager --> 38 39 40 41 <link href="https://www.banyumilitravel.id/global/css/default-head.css?v=3.0" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 42 <noscript> 43 <link rel="stylesheet" href="/global/css/default-head.css?v=3.0"> 44 </noscript> 45 <!-- shortcut icon --> 46 <link rel="shortcut icon" href="https://www.banyumilitravel.id/default/banyumili/images/icon/favicon.png"> 47 <!-- bootstrap --> 48 <link href="https://www.banyumilitravel.id/default/banyumili/css/bootstrap.min.css?v=3.0"rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 49 <!-- flatpickr --> 50 <link href="https://www.banyumilitravel.id/default/banyumili/css/flatpickr.min.css?v=3.0" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 51 <!-- slimselect --> 52 <link href="https://www.banyumilitravel.id/default/banyumili/css/slimselect.min.css?v=3.0" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 53 54 <!-- font awesome --> 55 <link rel="stylesheet" type="text/css" href="https://www.banyumilitravel.id/fontawesome-5.8.1/css/all.min.css" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 56 <!-- custom --> 57 58 <link href="https://www.banyumilitravel.id/default/banyumili/css/custom.css?v=3.0" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 59 <link href="https://www.banyumilitravel.id/global/css/custom-tailwind.css?v=3.0" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'"> 60 61 <link rel="stylesheet" type="text/css" href="https://www.banyumilitravel.id/global/css/gocaptcha-client.css"> 62 63 <style> 64 .border-seat { 65 border-radius: 16px; 66 border: 1px solid #E5E7EB; 67 } 68 69 .pcapital { 70 text-transform: capitalize !important; 71 } 72 73 .text-lowercase.pcapital, 74 .pcapital.text-lowercase { 75 text-transform: capitalize !important; 76 } 77 78 .shadow-cstm { 79 box-shadow: 0 8px 24px 0 #959da51f; 80 } 81 82 /* Button umum */ 83 .btn, 84 .btn:hover, 85 .btn:focus, 86 .btn:active, 87 .btn:focus-visible, 88 .btn:not(:disabled):not(.disabled):active { 89 outline: none !important; 90 box-shadow: none !important; 91 } 92 93 /* Link */ 94 a, 95 a:hover, 96 a:focus, 97 a:active, 98 a:focus-visible { 99 outline: none !important; 100 box-shadow: none !important; 101 } 102 103 /* Image */ 104 img, 105 img:focus, 106 img:active, 107 img:focus-visible { 108 outline: none !important; 109 box-shadow: none !important; 110 } 111 112 /* Accordion Bootstrap 5 */ 113 .accordion-button, 114 .accordion-button:hover, 115 .accordion-button:focus, 116 .accordion-button:active, 117 .accordion-button:focus-visible, 118 .accordion-button:not(.collapsed) { 119 outline: none !important; 120 box-shadow: none !important; 121 } 122 123 /* Accordion Bootstrap 4 / card header */ 124 .card-header, 125 .card-header:focus, 126 .card-header:active, 127 .card-header .btn, 128 .card-header .btn:hover, 129 .card-header .btn:focus, 130 .card-header .btn:active, 131 .card-header .btn:focus-visible { 132 outline: none !important; 133 box-shadow: none !important; 134 } 135 136 /* Elemen accordion yang memakai data-toggle / data-bs-toggle */ 137 [data-toggle="collapse"], 138 [data-toggle="collapse"]:focus, 139 [data-toggle="collapse"]:active, 140 [data-bs-toggle="collapse"], 141 [data-bs-toggle="collapse"]:focus, 142 [data-bs-toggle="collapse"]:active { 143 outline: none !important; 144 box-shadow: none !important; 145 -webkit-tap-highlight-color: transparent; 146 } 147 </style> 148 149 <style> 150 .background-img { 151 background-repeat: no-repeat !important; 152 background-size: cover !important; 153 background-position: center !important; 154 background-color: #f1f5f9 !important; 155 height:150px !important; 156 } 157 158 .card-blog { 159 background-color: #fff !important; 160 border: 1px solid #e5e7eb !important; 161 border-radius: 22px !important; 162 box-shadow: 0 8px 24px rgba(15, 23, 42, .09) !important; 163 overflow: hidden; 164 transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; 165 } 166 167 .card-blog:hover { 168 transform: translateY(-4px); 169 border-color: #d5d8dc !important; 170 box-shadow: 0 16px 32px rgba(15, 23, 42, .13) !important; 171 } 172 173 .card-blog .card-body { 174 padding: 24px; 175 } 176 177 .card-blog h2 { 178 color: #111827 !important; 179 font-weight: 700; 180 line-height: 1.35; 181 } 182 183 .card-blog .text-muted { 184 color: #6b7280 !important; 185 line-height: 1.6; 186 } 187 188 .card-blog { 189 overflow: hidden; 190 border: 1px solid #edf0f3 !important; 191 border-radius: 14px !important; 192 background: #fff !important; 193 box-shadow: 0 6px 22px rgba(15, 23, 42, .07) !important; 194 transition: transform .2s ease, box-shadow .2s ease; 195 } 196 197 .card-blog:hover { 198 transform: translateY(-4px); 199 box-shadow: 0 12px 30px rgba(15, 23, 42, .12) !important; 200 } 201 202 .card-blog__image { 203 display: block; 204 width: 100%; 205 height: auto; 206 } 207 208 .card-blog .card-body { 209 display: flex; 210 flex: 1; 211 flex-direction: column; 212 padding: 22px 24px 24px; 213 background: #fff !important; 214 } 215 216 .card-blog__title { 217 display: -webkit-box; 218 overflow: hidden; 219 min-height: 48px; 220 margin-bottom: 12px; 221 padding: 0 !important; 222 -webkit-box-orient: vertical; 223 -webkit-line-clamp: 2; 224 font-size: 20px !important; 225 line-height: 1.25; 226 } 227 228 .card-blog__description { 229 display: -webkit-box; 230 overflow: hidden; 231 min-height: 66px; 232 margin-bottom: 16px; 233 -webkit-box-orient: vertical; 234 -webkit-line-clamp: 3; 235 font-size: 15px; 236 line-height: 1.5; 237 } 238 239 .card-blog__date { 240 margin-bottom: 18px; 241 color: #64748b; 242 font-size: 14px; 243 } 244 245 .card-blog__button { 246 min-width: 140px; 247 border-radius: 8px; 248 } 249 250 .blog-search { 251 width: 100%; 252 padding: 7px 7px 7px 18px; 253 border: 1px solid #e5e7eb; 254 border-radius: 16px; 255 background: #fff; 256 box-shadow: 0 8px 24px rgba(15, 23, 42, .07); 257 transition: border-color .2s ease, box-shadow .2s ease; 258 } 259 260 .blog-search:focus-within { 261 border-color: #d5d8dc; 262 box-shadow: 0 10px 30px rgba(15, 23, 42, .11); 263 } 264 265 .blog-search.is-searching { 266 opacity: .72; 267 } 268 269 .blog-search__icon { 270 flex: 0 0 auto; 271 color: #94a3b8; 272 } 273 274 .blog-search input.blog-search__input { 275 -webkit-appearance: none; 276 box-sizing: border-box; 277 flex: 1 1 auto; 278 width: auto; 279 min-width: 0; 280 height: 44px; 281 padding: 0 14px; 282 border: 0; 283 border-radius: 0; 284 outline: 0; 285 background: transparent; 286 box-shadow: none !important; 287 color: #0f172a; 288 font-size: 15px; 289 line-height: 44px; 290 } 291 292 .blog-search input.blog-search__input::placeholder { 293 color: #a8b0bd; 294 opacity: 1; 295 } 296 297 .blog-search .blog-search__button { 298 box-sizing: border-box; 299 flex: 0 0 auto; 300 height: 44px; 301 min-width: 108px; 302 border: 0; 303 border-radius: 11px; 304 box-shadow: 0 6px 14px rgba(15, 23, 42, .12); 305 font-weight: 600; 306 line-height: 1; 307 } 308 309 @media (max-width: 767px) { 310 .card-blog .card-body { padding: 18px; } 311 .card-blog__title { min-height: auto; font-size: 18px !important; } 312 .card-blog__description { min-height: auto; } 313 .blog-search { padding-left: 14px; border-radius: 14px; } 314 .blog-search__button { min-width: 82px; padding-right: 14px !important; padding-left: 14px !important; } 315 } 316 317 .fs-32 { 318 font-size: 32px; 319 } 320 321 .berita .page-link{ 322 color:#0F172A; 323 } 324 325 .berita .page-item.active .page-link{ 326 background:#FFFFFF; 327 border-color:#E2E8F0; 328 color:#0F172A; 329 border-radius:12px; 330 } 331 332 .padding-pagination{ 333 position: relative; 334 display:block; 335 padding:.5rem .75rem; 336 } 337 338 .disabled .padding-pagination{ 339 color:#E2E8F0; 340 } 341</style> 342 343 </head> 344 <body> 345 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 345-346
345 346<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
346GTM-K8Q3ZF46
vendor: 91 bytes, lines 346-348
346" 347 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 348
348<!-- End Google Tag Manager (noscript) --> 349 350 351 352 <!-- SCRIPTS --> 353 <!-- jquery --> 354
354<script src="https://www.banyumilitravel.id/default/banyumili/js/jquery-3.3.1.min.js?v=3.0"></script>
354 355 <!-- bootstrap tooltips --> 356
356<script src="https://www.banyumilitravel.id/default/banyumili/js/popper.min.js?v=3.0" ></script>
356 357 <!-- bootstrap --> 358
358<script src="https://www.banyumilitravel.id/default/banyumili/js/bootstrap.min.js?v=3.0"></script>
358 359 <!-- flatpickr --> 360
360<script src="https://www.banyumilitravel.id/default/banyumili/js/flatpickr.js?v=3.0"></script>
360 361
361<script type="text/javascript" src="https://www.banyumilitravel.id/global/js/flatpickr.id.js?v=3.0" ></script>
361 362 <!-- slimselect --> 363
363<script src="https://www.banyumilitravel.id/default/banyumili/js/slimselect.min.js?v=3.0" ></script>
363 364 <!-- filterinput --> 365
365<script src="https://www.banyumilitravel.id/default/banyumili/js/filterinput.js?v=3.0" ></script>
365 366
366<script src="https://www.banyumilitravel.id/global/js/moment.js?v=3.0" ></script>
366 367
367<script type="text/javascript" src="https://www.banyumilitravel.id/global/js/date-id.js?v=3.0"></script>
367 368 369
369<script type="text/javascript"> 370 function applyPcapital(root) { 371 var container = root || document; 372 var elements = container.querySelectorAll ? container.querySelectorAll('.pcapital') : []; 373 374 function titleCaseText(value) { 375 return value.toLowerCase().replace(/(^|[\s\-\/(])([a-z])/g, function(match, prefix, letter) { 376 return prefix + letter.toUpperCase(); 377 }); 378 } 379 380 function transformTextNodes(node) { 381 if (node.nodeType === 3) { 382 if (node.nodeValue.replace(/\s/g, '') !== '') { 383 node.nodeValue = titleCaseText(node.nodeValue); 384 } 385 return; 386 } 387 388 if (node.nodeType !== 1 || /^(script|style|textarea|input)$/i.test(node.nodeName)) { 389 return; 390 } 391 392 for (var i = 0; i < node.childNodes.length; i++) { 393 transformTextNodes(node.childNodes[i]); 394 } 395 } 396 397 for (var i = 0; i < elements.length; i++) { 398 transformTextNodes(elements[i]); 399 } 400 } 401 402 document.addEventListener("DOMContentLoaded", function() { 403 applyPcapital(); 404 405 $('#close-alert-copy').click(function(){ 406 $('#alert-copy').removeClass('d-block'); 407 }); 408 }); 409 410 function copyTeks(){ 411 var textToCopy = $("#kode-bayar").select().val(); 412 // navigator clipboard api needs a secure context (https) 413 if (navigator.clipboard && window.isSecureContext) { 414 // navigator clipboard api method' 415 $('#alert-copy').addClass('d-block'); 416 return navigator.clipboard.writeText(textToCopy); 417 } else { 418 // text area method 419 let textArea = document.createElement("textarea"); 420 textArea.value = textToCopy; 421 // make the textarea out of viewport 422 textArea.style.position = "fixed"; 423 textArea.style.left = "-999999px"; 424 textArea.style.top = "-999999px"; 425 document.body.appendChild(textArea); 426 textArea.focus(); 427 textArea.select(); 428 $('#alert-copy').addClass('d-block'); 429 return new Promise((res, rej) => { 430 // here the magic happens 431 document.execCommand('copy') ? res() : rej(); 432 textArea.remove(); 433 }); 434 } 435 } 436 437 function handleEmailClick(email) { 438 const s = encodeURIComponent("Hallo Banyumili"); 439 const b = encodeURIComponent("Saya ingin bertanya"); 440 441 const mailto = `mailto:${email}?subject=${s}&body=${b}`; 442 const gmailWeb = `https://mail.google.com/mail/?view=cm&fs=1&to=${email}&su=${s}&body=${b}`; 443 444 const ua = navigator.userAgent; 445 const isMobile = /Android|iPhone|iPad|iPod/i.test(ua); 446 const isChromeDesktop = ua.includes("Chrome") && !ua.includes("Mobile"); 447 const isEdgeDesktop = ua.includes("Edg") && !ua.includes("Mobile"); 448 449 // MOBILE â gunakan MAILTO (ini satu-satunya yang buka compose) 450 if (isMobile) { 451 window.location.href = mailto; 452 return; 453 } 454 455 // DESKTOP Chrome / Edge 456 if (isChromeDesktop || isEdgeDesktop) { 457 window.open(gmailWeb, "_blank"); 458 return; 459 } 460 461 // DESKTOP lain: mailto â fallback Gmail 462 window.location.href = mailto; 463 464 setTimeout(() => { 465 if (!document.hidden) window.open(gmailWeb, "_blank"); 466 }, 700); 467 } 468 </script>
468 469 470 471 <style> 472 .gap-6{ 473 gap:6px; 474 } 475 476 #download-apps { 477 border-radius: 6px; 478 padding: 4px 8px; 479 width: auto; 480 } 481</style> 482 483 <div class=" sticky-top mr-0 "> 484 485 <nav aria-label="Navigasi Utama" data-i18n-aria-label="navPrimaryAria" class="navbar navbar-expand-xl navbar-light bg-light " style="box-shadow: 0 0px 7px #505050cc;"> 486 <a class="navbar-brand ml-lg-5 d-flex" href="https://www.banyumilitravel.id"> 487 <div class="align-content-center"> 488 <img src="https://www.banyumilitravel.id/default/banyumili/images/icon/logo.png" class="img-fluid logo-navbar "> 489 </div> 490 </a> 491 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor03" aria-controls="navbarColor03" aria-expanded="false" aria-label="Toggle navigation" style="outline:none"> 492 <span class="navbar-toggler-icon"></span> 493 </button> 494 495 <div class="collapse navbar-collapse" id="navbarColor03"> 496 <ul class="navbar-nav mr-auto font-bold-o"> 497 <li class="nav-item ml-lg-2"> 498 <a target="_blank" href="https://www.banyumilitravel.id/download/app" 499 class="nav-link d-inline-block pointer cursor-pointer" 500 id="download-apps" 501 > 502 <i class="fa fa-mobile pr-1"></i> 503 <span class="pointer cursor-pointer" data-i18n="navDownloadApp">Download App</span> 504 </a> 505 </li> 506 </ul> 507 508 <ul class="navbar-nav ml-auto font-bold-o"> 509 510 511 <li class="nav-item 512 "> 513 <a class="nav-link 514 " 515 href="https://www.banyumilitravel.id" 516 data-i18n-id="Beranda" 517 data-i18n-en="Beranda">Beranda 518 </a> 519 </li> 520 <li class="nav-item 521 "> 522 <a class="nav-link 523 " 524 href="https://www.banyumilitravel.id/outlet" 525 data-i18n-id="Outlet" 526 data-i18n-en="Outlet">Outlet 527 </a> 528 </li> 529 <li class="nav-item 530 531 active 532 "> 533 <a class="nav-link 534 " 535 href="https://www.banyumilitravel.id/blog" 536 data-i18n-id="Blog" 537 data-i18n-en="Blog">Blog 538 </a> 539 </li> 540 <li class="nav-item 541 "> 542 <a class="nav-link 543 " 544 href="https://www.banyumilitravel.id/pembayaran" 545 data-i18n-id="Cara Bayar" 546 data-i18n-en="Cara Bayar">Cara Bayar 547 </a> 548 </li> 549 <li class="nav-item 550 "> 551 <a class="nav-link 552 " 553 href="https://www.banyumilitravel.id/paket/cekpaket" 554 data-i18n-id="Lacak Paket" 555 data-i18n-en="Lacak Paket">Lacak Paket 556 </a> 557 </li> 558 <li class="nav-item 559 "> 560 <a class="nav-link 561 " 562 href="https://www.banyumilitravel.id/kontak" 563 data-i18n-id="Kontak" 564 data-i18n-en="Kontak">Kontak 565 </a> 566 </li> 567 568 <form class="form-inline my-2 my-lg-0"> 569 <li class="nav-item order-2"> 570 <a href="https://www.banyumilitravel.id/masuk" class="nav-link ddaccount btn-masuk"> 571 <i class="fa fa-user-circle pr-2"></i>
572 <span data-i18n="navRegisterLogin">Daftar/Masuk</span> 573 </a> 574 </li> 575 576 <a class="nav-link btn-secondary text-white bubble-inline btn-sm my-2 my-sm-0 font-bold-o btn-tiket order-1 mr-3" 577 href="https://www.banyumilitravel.id/book/cekbook" 578 style="font-size: 1rem;"> 579 <i class="fas fa-ticket-alt pr-2" aria-hidden="true"></i><span data-i18n="navCheckTicket">Cek Tiket</span> 580 </a> 581 </ul> 582 </form> 583 </div> 584 </nav> 585 586 </div> 587 588 589<nav class="d-none d-lg-block nav-border" style="border-bottom: 2px solid #ebebeb;"> 590 <div class="container"> 591 <div class="d-flex"> 592 </div> 593 </div> 594</nav> 595 596 597 598<div class="modal fade dark-backdrop" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="logoutModal"> 599 <div class="modal-dialog modal-dialog-centered modal-sm" role="document"> 600 <div class="modal-content"> 601 <div class="modal-body text-center"> 602 <p class="pb-0 mb-0" data-i18n="logoutConfirmation">Yakin Ingin Keluar ?</p> 603 </div> 604 <div class="modal-footer border-0 mx-auto"> 605 <button class="btn btn-danger f0kom9 px-4 py-1" data-dismiss="modal" data-i18n="commonNo">Tidak</button> 606 <button class="btn btn-primary f0kom9 px-4 py-1" onclick="logout()" data-i18n="commonYes">Ya</button> 607 </div> 608 </div> 609 </div> 610</div> 611
612<script> 613 async function logout() { 614 try { 615 // ⿡ Panggil endpoint Laravel untuk hapus session backend 616 await fetch("https://www.banyumilitravel.id/logout", { 617 method: 'POST', 618 headers: { 619 'X-CSRF-TOKEN': 'cKQOXdB57go308MncaGT4G42tIvMOxW2lI40M0Fg', 620 }, 621 }); 622 } catch (e) { 623 console.warn('Gagal logout backend (session Laravel), lanjut hapus di frontend.'); 624 } 625 626 // ⿢ Hapus semua cookie yang berkaitan dengan login 627 document.cookie = "tokenLoginMember=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; 628 document.cookie = "user_info_telp=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; 629 document.cookie = "user_info_login=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; 630 631 // ⿣ Bersihkan localStorage & sessionStorage 632 localStorage.clear(); 633 sessionStorage.clear(); 634 635 // ⿤ Redirect ke halaman login 636 window.location.replace("https://www.banyumilitravel.id/masuk"); 637 } 638</script>
638 639 640 <div class="container-fluid px-0" style="min-height: 80vh"> 641 642 <section class="section-blog"> 643 <div class="container"> 644 <div class="row"> 645 <div class="col-lg-12"> 646 <h1 class="first-color pt-5 fs-32 heading-title" data-i18n="blogPageTitle" 647 data-i18n-suffix=" Banyumili"> 648 Promo dan Berita Banyumili 649 </h1> 650 </div> 651 </div> 652 653 <div class="row mt-4 mb-2"> 654 <div class="col-12"> 655 <form action="https://www.banyumilitravel.id/blog" method="GET" class="blog-search" role="search"> 656 <div class="d-flex align-items-center"> 657 <svg class="blog-search__icon" width="21" height="21" viewBox="0 0 24 24" fill="none" aria-hidden="true"> 658 <circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2"></circle> 659 <path d="M16.5 16.5L21 21" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path> 660 </svg> 661 <input type="search" name="q" class="blog-search__input" value="" placeholder="Cari promo, berita, atau artikel..." aria-label="Cari promo, berita, atau artikel" data-i18n-placeholder="blogSearchPlaceholder" data-i18n-aria-label="blogSearchAria"> 662 <button type="submit" class="btn first-bg-color text-white px-4 blog-search__button" data-i18n="blogSearchButton">Cari</button> 663 </div> 664 </form>
665 </div> 666 </div> 667 668 <div id="blog-results" aria-live="polite"> 669 <div class="row pt-5"> 670 <div class="col-12"> 671 <h3>Blog</h3> 672 </div> 673 <div class="col-sm-6 col-md-4 mb-3 mb-sm-4 pb-sm-2"> 674 <article class="card border-0 shadow-sm h-100 card-blog"> 675 676 677 <figure class="mb-0"> 678 <img src="https://webasset.b-cdn.net/webprofile/default-banyumili/berita/20260526134028_cover-artikel-wisata-balikpapan.webp" class="card-blog__image" alt="3 Destinasi Wisata Balikpapan Terpopuler untuk Liburan" onerror="this.onerror=null;this.src='https://www.banyumilitravel.id/global/images/default-news.svg';"> 679 </figure> 680 <div class="card-body"> 681 <header> 682 <h2 class="color-primary card-blog__title" data-i18n-id="3 Destinasi Wisata Balikpapan Terpopuler untuk Liburan" data-i18n-en="3 Destinasi Wisata Balikpapan Terpopuler untuk Liburan">3 Destinasi Wisata Balikpapan Terpopuler untuk Liburan</h2> 683 </header> 684 <p class="text-muted card-blog__description" data-i18n-id=" 685 686Sebagai gerbang utama menuju Ibu Kota Nusantara (IKN), Kota Balikpapan kini makin dilirik oleh pelancong. Selain inf..." data-i18n-en=" 687 688Sebagai gerbang utama menuju Ibu Kota Nusantara (IKN), Kota Balikpapan kini makin dilirik oleh pelancong. Selain inf..."> 689 690 691Sebagai gerbang utama menuju Ibu Kota Nusantara (IKN), Kota Balikpapan kini makin dilirik oleh pelancong. Selain inf... 692 </p> 693 <p class="card-blog__date"> 694 26 Mei 2026 695 </p> 696 <footer class="mt-auto"> 697 <p class="pb-0 mb-0"> 698 <a href="https://www.banyumilitravel.id/blog/wisata-balikpapan" class="btn btn-outline px-3 card-blog__button f0kom9" data-i18n="blogReadMore">Selengkapnya</a> 699 </p> 700 </footer> 701 </div> 702 </article> 703 </div> 704 <div class="col-12"> 705 <h3>Travel</h3> 706 </div> 707 <div class="col-sm-6 col-md-4 mb-3 mb-sm-4 pb-sm-2"> 708 <article class="card border-0 shadow-sm h-100 card-blog"> 709 710 711 <figure class="mb-0"> 712 <img src="https://webasset.b-cdn.net/webprofile/default-banyumili/berita/20260428122330_armada-banyumili-travel-hiace-premio-single-seat-111111.jpg" class="card-blog__image" alt="Travel Wahau Sangatta: Rute, Jadwal & Harga Terbaru" onerror="this.onerror=null;this.src='https://www.banyumilitravel.id/global/images/default-news.svg';"> 713 </figure> 714 <div class="card-body"> 715 <header> 716 <h2 class="color-primary card-blog__title" data-i18n-id="Travel Wahau Sangatta: Rute, Jadwal & Harga Terbaru" data-i18n-en="Travel Wahau Sangatta: Rute, Jadwal & Harga Terbaru">Travel Wahau Sangatta: Rute, Jadwal & Harga Terbaru</h2> 717 </header> 718 <p class="text-muted card-blog__description" data-i18n-id=" 719 720Perjalanan dari Wahau ke Sangatta menjadi salah satu rute penting di wilayah Kutai Timur, baik untuk kebutuhan kerja..." data-i18n-en=" 721 722Perjalanan dari Wahau ke Sangatta menjadi salah satu rute penting di wilayah Kutai Timur, baik untuk kebutuhan kerja..."> 723 724 725Perjalanan dari Wahau ke Sangatta menjadi salah satu rute penting di wilayah Kutai Timur, baik untuk kebutuhan kerja... 726 </p> 727 <p class="card-blog__date"> 728 28 Apr 2026 729 </p> 730 <footer class="mt-auto"> 731 <p class="pb-0 mb-0"> 732 <a href="https://www.banyumilitravel.id/blog/harga-dan-jadwal-travel-wahau-sangatta" class="btn btn-outline px-3 card-blog__button f0kom9" data-i18n="blogReadMore">Selengkapnya</a> 733 </p> 734 </footer> 735 </div> 736 </article> 737 </div> 738 <div class="col-sm-6 col-md-4 mb-3 mb-sm-4 pb-sm-2"> 739 <article class="card border-0 shadow-sm h-100 card-blog"> 740 741 742 <figure class="mb-0"> 743 <img src="https://webasset.b-cdn.net/webprofile/default-banyumili/berita/20260415072802_layout-2-kursi-banyumili-travel-hiace-premio-single-seat.jpg" class="card-blog__image" alt="Rental Mobil Samarinda ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" onerror="this.onerror=null;this.src='https://www.banyumilitravel.id/global/images/default-news.svg';"> 744 </figure> 745 <div class="card-body"> 746 <header> 747 <h2 class="color-primary card-blog__title" data-i18n-id="Rental Mobil Samarinda ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" data-i18n-en="Rental Mobil Samarinda ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet">Rental Mobil Samarinda ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet</h2> 748 </header> 749 <p class="text-muted card-blog__description" data-i18n-id=" 750 751Ingin perjalanan dari Samarinda ke Bontang dengan layanan rental mobil yang murah, nyaman, dan fleksibel? Sekarang k..." data-i18n-en=" 752 753Ingin perjalanan dari Samarinda ke Bontang dengan layanan rental mobil yang murah, nyaman, dan fleksibel? Sekarang k..."> 754 755 756Ingin perjalanan dari Samarinda ke Bontang dengan layanan rental mobil yang murah, nyaman, dan fleksibel? Sekarang k... 757 </p> 758 <p class="card-blog__date"> 759 15 Apr 2026 760 </p> 761 <footer class="mt-auto"> 762 <p class="pb-0 mb-0"> 763 <a href="https://www.banyumilitravel.id/blog/rental-mobil-samarinda-ke-bontang-mura
763h-dan-tepat-waktu-solusi-aman-anti-ribet" class="btn btn-outline px-3 card-blog__button f0kom9" data-i18n="blogReadMore">Selengkapnya</a> 764 </p> 765 </footer> 766 </div> 767 </article> 768 </div> 769 <div class="col-sm-6 col-md-4 mb-3 mb-sm-4 pb-sm-2"> 770 <article class="card border-0 shadow-sm h-100 card-blog"> 771 772 773 <figure class="mb-0"> 774 <img src="https://webasset.b-cdn.net/webprofile/default-banyumili/berita/20260415073210_banyumili-travel-hiace-premio-single-seat.jpg" class="card-blog__image" alt="Rental Mobil Balikpapan ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" onerror="this.onerror=null;this.src='https://www.banyumilitravel.id/global/images/default-news.svg';"> 775 </figure> 776 <div class="card-body"> 777 <header> 778 <h2 class="color-primary card-blog__title" data-i18n-id="Rental Mobil Balikpapan ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" data-i18n-en="Rental Mobil Balikpapan ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet">Rental Mobil Balikpapan ke Bontang Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet</h2> 779 </header> 780 <p class="text-muted card-blog__description" data-i18n-id=" 781 782Ingin perjalanan dari Balikpapan ke Bontang dengan layanan rental mobil yang murah, nyaman, dan fleksibel? Sekarang..." data-i18n-en=" 783 784Ingin perjalanan dari Balikpapan ke Bontang dengan layanan rental mobil yang murah, nyaman, dan fleksibel? Sekarang..."> 785 786 787Ingin perjalanan dari Balikpapan ke Bontang dengan layanan rental mobil yang murah, nyaman, dan fleksibel? Sekarang... 788 </p> 789 <p class="card-blog__date"> 790 15 Apr 2026 791 </p> 792 <footer class="mt-auto"> 793 <p class="pb-0 mb-0"> 794 <a href="https://www.banyumilitravel.id/blog/rental-mobil-balikpapan-ke-bontang-murah-dan-tepat-waktu-solusi-aman-anti-ribet" class="btn btn-outline px-3 card-blog__button f0kom9" data-i18n="blogReadMore">Selengkapnya</a> 795 </p> 796 </footer> 797 </div> 798 </article> 799 </div> 800 <div class="col-sm-6 col-md-4 mb-3 mb-sm-4 pb-sm-2"> 801 <article class="card border-0 shadow-sm h-100 card-blog"> 802 803 804 <figure class="mb-0"> 805 <img src="https://webasset.b-cdn.net/webprofile/default-banyumili/berita/20260415073240_layout-2-kursi-banyumili-travel-hiace-premio-single-seat.jpg" class="card-blog__image" alt="Rental Mobil Bontang ke Balikpapan Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" onerror="this.onerror=null;this.src='https://www.banyumilitravel.id/global/images/default-news.svg';"> 806 </figure> 807 <div class="card-body"> 808 <header> 809 <h2 class="color-primary card-blog__title" data-i18n-id="Rental Mobil Bontang ke Balikpapan Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" data-i18n-en="Rental Mobil Bontang ke Balikpapan Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet">Rental Mobil Bontang ke Balikpapan Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet</h2> 810 </header> 811 <p class="text-muted card-blog__description" data-i18n-id=" 812
813Ingin perjalanan dari Bontang ke Balikpapan dengan layanan rental mobil yang murah, nyaman, dan fleksibel tanpa ribe..." data-i18n-en=" 814 815Ingin perjalanan dari Bontang ke Balikpapan dengan layanan rental mobil yang murah, nyaman, dan fleksibel tanpa ribe..."> 816 817 818Ingin perjalanan dari Bontang ke Balikpapan dengan layanan rental mobil yang murah, nyaman, dan fleksibel tanpa ribe... 819 </p> 820 <p class="card-blog__date"> 821 15 Apr 2026 822 </p> 823 <footer class="mt-auto"> 824 <p class="pb-0 mb-0"> 825 <a href="https://www.banyumilitravel.id/blog/rental-mobil-bontang-ke-balikpapan-murah-dan-tepat-waktu-solusi-aman-anti-ribet" class="btn btn-outline px-3 card-blog__button f0kom9" data-i18n="blogReadMore">Selengkapnya</a> 826 </p> 827 </footer> 828 </div> 829 </article> 830 </div> 831 <div class="col-sm-6 col-md-4 mb-3 mb-sm-4 pb-sm-2"> 832 <article class="card border-0 shadow-sm h-100 card-blog"> 833 834 835 <figure class="mb-0"> 836 <img src="https://webasset.b-cdn.net/webprofile/default-banyumili/berita/20260415073502_armada-banyumili-travel-hiace-premio-single-seat.jpg" class="card-blog__image" alt="Rental Mobil Balikpapan ke Sangatta Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" onerror="this.onerror=null;this.src='https://www.banyumilitravel.id/global/images/default-news.svg';"> 837 </figure> 838 <div class="card-body"> 839 <header> 840 <h2 class="color-primary card-blog__title" data-i18n-id="Rental Mobil Balikpapan ke Sangatta Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet" data-i18n-en="Rental Mobil Balikpapan ke Sangatta Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet">Rental Mobil Balikpapan ke Sangatta Murah dan Nyaman: Solusi Perjalanan Fleksibel Tanpa Ribet</h2> 841 </header> 842 <p class="text-muted card-blog__description" data-i18n-id=" 843 844Ingin perjalanan dari Balikpapan ke Sangatta dengan layanan rental mobil yang murah, nyaman, dan fleksibel tanpa rib..." data-i18n-en=" 845 846Ingin perjalanan dari Balikpapan ke Sangatta dengan layanan rental mobil yang murah, nyaman, dan fleksibel tanpa rib..."> 847 848 849Ingin perjalanan dari Balikpapan ke Sangatta dengan layanan rental mobil yang murah, nyaman, dan fleksibel tanpa rib... 850 </p> 851 <p class="card-blog__date"> 852 15 Apr 2026 853 </p> 854 <footer class="mt-auto"> 855 <p class="pb-0 mb-0"> 856 <a href="https://www.banyumilitravel.id/blog/rental-mobil-balikpapan-ke-sangatta-murah-dan-tepat-waktu-solusi-aman-anti-ribet" class="btn btn-outline px-3 card-blog__button f0kom9" data-i18n="blogReadMore">Selengkapnya</a> 857 </p> 858 </footer> 859 </div> 860 </article> 861 </div> 862 </div> 863 864 865 <div class="my-4 berita"> 866 <ul class="d-flex justify-content-center gap-8 pagination mb-0"> 867 <li class="page-item disabled"><span class="padding-pagination">< <span data-i18n="blogPrevious">Sebelumnya</span></span></li> 868 869 870 <li class="page-item active"> 871 <a class="page-link" href="https://www.banyumilitravel.id/blog?page=1">1</a> 872 </li> 873 <li class="page-item "> 874 <a class="padding-pagination" href="https://www.banyumilitravel.id/blog?page=2">2</a> 875 </li> 876 <li class="page-item disabled"><span class="padding-pagination">...</span></li> 877 <li class="page-item "> 878 <a class="padding-pagination" href="https://www.banyumilitravel.id/blog?page=17">17</a> 879 </li> 880 881 <li class="page-item"><a class="padding-pagination" href="https://www.banyumilitravel.id/blog?page=2" rel="next"><span data-i18n="blogNext">Berikutnya</span> ></a></li> 882 </ul> 883 </div> 884 </div> 885 </div> 886 </section> 887 888 889 </div> 890 891 892 <footer class="font-small new-page-footer pt-4 position-relative mycontainer"> 893 <div class="container px-xl-5 text-center text-md-left pt-3"> 894 <div class="row border-bottom-footer"> 895 <div class="col-xl-4 mb-3 mt-2"> 896 <img src="https://www.banyumilitravel.id/default/banyumili/images/icon/logo.png" alt="Logo" class="logo-footer mb-4"> 897 898 <a target="_blank" href="https://www.instagram.com/banyumilitravel" class="pb-2"> 899 <div class="d-flex align-items-center justify-content-center justify-content-md-start mb-2"> 900 <div class="mr-1 my-auto flex-shrink-0"> 901 <div class="icon-medsos"> 902 <img src="https://www.banyumilitravel.id/global/images/sosmed/instagram-eid.png" 903 class="img-fluid" 904 alt="icon" 905 width="36"> 906 </div> 907 </div> 908 <div class="footer-text text-center text-lg-left my-auto"> 909 banyumilitravel 910 </div> 911 </div> 912 </a> 913 <a target="_blank" href="https://www.facebook.com/banyumilitrans" class="pb-2"> 914 <div class="d-flex align-items-center justify-content-center justify-content-md-start mb-2"> 915 <div class="mr-1 my-auto flex-shrink-0"> 916 <div class="icon-medsos"> 917 <img src="https://www.banyumilitravel.id/global/images/sosmed/facebook-eid.png" 918 class="img-fluid" 919 alt="icon" 920 width="36"> 921 </div> 922 </div> 923 <div class="footer-text text-center text-lg-left my-auto"> 924 banyumilitrans 925 </div> 926 </div> 927 </a> 928 <a target="_blank" href="https://www.tiktok.com/@banyumilitravel" class="pb-2"> 929 <div class="d-flex align-items-center justify-content-center justify-content-md-start mb-2"> 930 <div class="mr-1 my-auto flex-shrink-0"> 931 <div class="icon-medsos"> 932 <img src="https://www.banyumilitravel.id/global/images/sosmed/tiktok-ei
932d.png" 933 class="img-fluid" 934 alt="icon" 935 width="36"> 936 </div> 937 </div> 938 <div class="footer-text text-center text-lg-left my-auto"> 939 @banyumilitravel 940 </div> 941 </div> 942 </a> 943 <a target="_blank" href="https://www.tiktok.com/@banyumilitravel" class="pb-2"> 944 <div class="d-flex align-items-center justify-content-center justify-content-md-start mb-2"> 945 <div class="mr-1 my-auto flex-shrink-0"> 946 <div class="icon-medsos"> 947 <img src="https://www.banyumilitravel.id/global/images/sosmed/youtube-eid.png" 948 class="img-fluid" 949 alt="icon" 950 width="36"> 951 </div> 952 </div> 953 <div class="footer-text text-center text-lg-left my-auto"> 954 @banyumilitravel 955 </div> 956 </div> 957 </a> 958 959 960 <div class="d-flex align-items-start justify-content-center justify-content-md-start mb-2"> 961 <div class="mr-1 flex-shrink-0"> 962 <img src="https://www.banyumilitravel.id/global/images/sosmed/location-eid.png" alt="icon" width="36"> 963 </div> 964 <div> 965 <p class="footer-text text-left mb-0"> 966 Jl. Karya Etam No. 12, Sangatta Utara, Kec. Sangatta Utara, Kabupaten Kutai Timur, Kalimantan Timur 75683 967 </p> 968 </div> 969 </div> 970 </div> 971 <div class="col-md-6 col-xl-2 mb-lg-0 mb-3 mt-2 pl-xl-2"> 972 <h5 class="footer-title pb-1" data-i18n="footerMainRoutes">Layanan Rute Utama</h5> 973 <ul class="list-group" style="list-style: none;"> 974 <li class="pb-2"> 975 <a href="https://www.banyumilitravel.id/blog/travel-sangatta" class="footer-text">Travel Sangatta</a> 976 </li> 977 <li class="pb-2"> 978 <a href="https://www.banyumilitravel.id/blog/travel-balikpapan" class="footer-text">Travel Balikpapan</a> 979 </li> 980 <li class="pb-2"> 981 <a href="https://www.banyumilitravel.id/blog/travel-samarinda" class="footer-text">Travel Samarinda</a> 982 </li> 983 <li class="pb-2"> 984 <a href="https://www.banyumilitravel.id/blog/travel-bontang" class="footer-text">Travel Bontang</a> 985 </li> 986 </ul> 987 </div> 988 <div class="col-md-6 col-xl-2 mb-lg-0 mb-3 mt-2 pl-xl-5"> 989 <h5 class="footer-title pb-1" data-i18n="footerOthers">Lainnya</h5> 990 <ul class="list-group" style="list-style: none;"> 991 <li class="pb-2"> 992 <a href="https://www.banyumilitravel.id/outlet" class="footer-text" data-i18n="navOutlet">Outlet</a> 993 </li> 994 <li class="pb-2"> 995 <a href="https://www.banyumilitravel.id/pembayaran" class="footer-text" data-i18n="footerPaymentGuide">Cara Bayar</a> 996 </li> 997 <li class="pb-2"> 998 <a href="https://www.banyumilitravel.id/kontak" class="footer-text" data-i18n="footerContact">Kontak</a> 999 </li> 1000 <li class="pb-2"> 1001 <a href="https://www.banyumilitravel.id/blog" class="footer-text" data-i18n="navBlog">Blog</a> 1002 </li> 1003 </ul> 1004 </div> 1005 <div class="col-md-6 col-xl-2 mb-lg-0 mb-3 mt-2"> 1006 <h5 class="footer-title pb-1" data-i18n="footerCallCenter">Call Center</h5> 1007 <ul class="list-group" style="list-style: none;"> 1008 <li class="pb-2 footer-text"> 1009 <a class="footer-text" 1010 target="_blank" 1011 href="https://wa.me/6282141864864"> 1012 <div class="d-flex align-items-center justify-content-center justify-content-md-start"> 1013 <div class="mr-1 align-content-center flex-shrink-0"> 1014 <img src="https://www.banyumilitravel.id/global/images/sosmed/whatsapp-eid.png" 1015 class="img-fluid" 1016 alt="icon" 1017 width="36"> 1018 </div> 1019 <div> 1020 1021 <p class="mb-0 footer-title" style="font-size:16px !important;"> 1022 Admin Sangatta 1023 </p> 1024 1025 <div class="my-auto"> 1026 082141864864 1027 </div> 1028 </div> 1029 </div> 1030 </a> 1031 </li> 1032 <li class="pb-2 footer-text"> 1033 <a class="footer-text" 1034 target="_blank" 1035 href="https://wa.me/6282141864864"> 1036 <div class="d-flex align-items-center justify-content-center justify-content-md-start"> 1037 <div class="mr-1 align-content-center flex-shrink-0"> 1038 <img src="https://www.banyumilitravel.id/global/images/sosmed/whatsapp-eid.png" 1039 class="img-fluid" 1040 alt="icon" 1041 width="36"> 1042 </div> 1043 <div> 1044 1045 <p class="mb-0 footer-title" style="font-size:16px !important;"> 1046 Admin Balik Papan 1047 </p> 1048 1049 <div class="my-auto"> 1050 082141864864 1051 </div> 1052 </div> 1053 </div> 1054 </a> 1055 </li> 1056 </ul> 1057 </div> 1058 <div class="col-md-6 col-xl-2 mb-lg-0 mb-3 mt-2 pl-xl-5"> 1059 <h5 class="footer-title pb-1" data-i18n="footerDownloadApp">Unduh Aplikasi</h5> 1060 <a href="https://play.google.com/store/apps/details?id=id.co.tbk.android.banyumili" target="_blank"> 1061 <img src="https://www.banyumilitravel.id/global/images/playstore.png" 1062 alt="" 1063 class="img-fluid pb-2" 1064 width="120"> 1065 </a> 1066 <br> 1067 <a href="https://apps.apple.com/app/banyumili/id6498587668" target="_blank"> 1068 <img src="https://www.banyumilitravel.id/global/images/appstore.png" 1069 alt="" 1070 class="img-fluid pb-2" 1071 width="120"> 1072 </a> 1073 <br> 1074 </div> 1075 </div> 1076 </div> 1077 <div class="container"> 1078 <div class="row"> 1079 <div class="col-12"> 1080 <h6 class="text-center font-bold-o py-4 footer-text-bottom mb-0"> 1081 © 2026 Banyumili. <span data-i18n="footerAllRightsReserved">Semua Hak Dilindungi Undang-Undang</span> 1082 <br>
1083 <span data-i18n="footerEmail">Email</span>: [email protected] 1084 </h6> 1085 </div> 1086 </div> 1087 </div> 1088</footer> 1089 1090 <div class="modal fade" id="modal-load" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="modal-load-label" aria-hidden="true"> 1091 <div class="modal-dialog modal-dialog-centered"> 1092 <div class="spinner-border m-auto text-light" role="status" style="width: 60px; height:60px;"> 1093 <span class="sr-only" data-i18n="commonLoading">Loading...</span> 1094 </div> 1095 </div> 1096</div> 1097
1098<script> 1099 function showLoadPage(){ 1100 $('#modal-load').modal({ 1101 show: true 1102 }) 1103 } 1104 1105 function hideLoadPage(){ 1106 $('#modal-load').modal('hide') 1107 } 1108 1109 function resetModalPagePadding(){ 1110 if ($('.modal.show').length === 0) { 1111 $('body').removeClass('modal-open').css('padding-right', ''); 1112 $('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top').each(function(){ 1113 const element = $(this); 1114 const originalPaddingRight = element.data('padding-right'); 1115 const originalMarginRight = element.data('margin-right'); 1116 1117 if (originalPaddingRight !== undefined) { 1118 element.css('padding-right', originalPaddingRight).removeData('padding-right'); 1119 } 1120 1121 if (originalMarginRight !== undefined) { 1122 element.css('margin-right', originalMarginRight).removeData('margin-right'); 1123 } 1124 }); 1125 1126 $('.sticky-top.mr-0').each(function(){ 1127 this.style.removeProperty('padding-right'); 1128 this.style.removeProperty('margin-right'); 1129 }); 1130 $('.modal-backdrop').remove(); 1131 } 1132 } 1133 1134 $(window).on('pageshow', function(){ 1135 $('#modal-load').removeClass('show').hide(); 1136 resetModalPagePadding(); 1137 }); 1138 1139 $(document).on('hidden.bs.modal', function(){ 1140 resetModalPagePadding(); 1141 }); 1142</script>
1142 1143 1144 1145 1146 1147
1147<script> 1148 document.addEventListener('DOMContentLoaded', function () { 1149 var searchForm = document.querySelector('.blog-search'); 1150 var searchInput = document.querySelector('.blog-search__input'); 1151 var searchTimer = null; 1152 var currentSearch = ""; 1153 var isComposing = false; 1154 var activeRequest = null; 1155 1156 function loadBlogResults(url, updateHistory) { 1157 var results = document.getElementById('blog-results'); 1158 1159 if (!results || !window.jQuery) { 1160 window.location.href = url; 1161 return; 1162 } 1163 1164 if (activeRequest) { 1165 activeRequest.abort(); 1166 } 1167 1168 searchForm.classList.add('is-searching'); 1169 results.style.opacity = '.55'; 1170 1171 activeRequest = window.jQuery.ajax({ 1172 url: url, 1173 type: 'GET', 1174 dataType: 'html' 1175 }).done(function (response) { 1176 var parsedPage = window.jQuery('<div>').append(window.jQuery.parseHTML(response)); 1177 var newResults = parsedPage.find('#blog-results').first(); 1178 1179 if (!newResults.length) { 1180 window.location.href = url; 1181 return; 1182 } 1183 1184 results.innerHTML = newResults.html(); 1185 if (window.PortalI18n) { 1186 window.PortalI18n.apply(results); 1187 } 1188 currentSearch = searchInput.value.trim(); 1189 if (updateHistory !== false) { 1190 window.history.pushState({ blogSearch: true }, '', url); 1191 } 1192 }).fail(function (xhr, status) { 1193 if (status !== 'abort') { 1194 window.location.href = url; 1195 } 1196 }).always(function () { 1197 activeRequest = null; 1198 searchForm.classList.remove('is-searching'); 1199 results.style.opacity = ''; 1200 }); 1201 } 1202 1203 function getSearchUrl() { 1204 var keyword = searchInput.value.trim(); 1205 return searchForm.action + (keyword === '' ? '' : '?q=' + encodeURIComponent(keyword)); 1206 } 1207 1208 function getQueryValue(name) { 1209 var match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search); 1210 return match ? decodeURIComponent(match[1].replace(/\+/g, ' ')) : ''; 1211 } 1212 1213 function submitLiveSearch(immediately) { 1214 window.clearTimeout(searchTimer); 1215 1216 searchTimer = window.setTimeout(function () { 1217 var keyword = searchInput.value.trim(); 1218 1219 if (keyword === currentSearch) { 1220 return; 1221 } 1222 1223 loadBlogResults(getSearchUrl()); 1224 }, immediately ? 0 : 500); 1225 } 1226 1227 if (searchForm && searchInput) { 1228 searchInput.addEventListener('compositionstart', function () { 1229 isComposing = true; 1230 }); 1231 1232 searchInput.addEventListener('compositionend', function () { 1233 isComposing = false; 1234 submitLiveSearch(false); 1235 }); 1236 1237 searchInput.addEventListener('input', function () { 1238 if (!isComposing) { 1239 submitLiveSearch(searchInput.value.trim() === ''); 1240 } 1241 }); 1242 1243 searchForm.addEventListener('submit', function (event) { 1244 event.preventDefault(); 1245 window.clearTimeout(searchTimer); 1246 loadBlogResults(getSearchUrl()); 1247 }); 1248 1249 document.addEventListener('click', function (event) { 1250 var paginationLink = window.jQuery(event.target).closest('#blog-results .pagination a')[0]; 1251 1252 if (paginationLink) { 1253 event.preventDefault(); 1254 loadBlogResults(paginationLink.href); 1255 } 1256 }); 1257 1258 window.addEventListener('popstate', function () { 1259 searchInput.value = getQueryValue('q'); 1260 loadBlogResults(window.location.href, false); 1261 }); 1262 } 1263 1264 function updateBlogTitle() { 1265 if (window.PortalI18n) { 1266 document.title = window.PortalI18n.t('blogPageTitle') + " Banyumili"; 1267 } 1268 } 1269 1270 updateBlogTitle(); 1271 document.addEventListener('languageChanged', updateBlogTitle); 1272 }); 1273</script>
1273 1274 1275
1275<script> 1276 window.PORTAL_LANGUAGE = "id"; 1277 </script>
1277 1278
1278<script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/23.7.6/i18next.min.js"></script>
1278 1279
1279<script src="https://www.banyumilitravel.id/locales/default.js?v=3.0"></script>
1279 1280 1281 </body> 1282</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.