Pages
/
microsite
Edit Microsite
Kelola struktur HTML dan relasi halaman (Sub-Page).
← Kembali ke List
Judul Microsite:
Sub Halaman Dari (Opsional):
-- Berdiri Sendiri (Parent) --
ver2
wg
Waskita
timah
</>
HTML & Tailwind Code Source
Tekan TAB untuk indentasi
<!DOCTYPE html> <html lang="en" class="scroll-smooth"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>WIKA Gedung - Beranda</title> <!-- Tailwind CSS CDN --> <script src="https://cdn.tailwindcss.com"></script> <!-- FontAwesome untuk ikon panah & search --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <script> tailwind.config = { theme: { extend: { colors: { brandBlue: '#0095DA', brandOrange: '#C68A12', } } } } </script> <style> .grid.grid-cols-1.md:grid-cols-2.lg:grid-cols-3.gap-6.md:gap-8 { gap: 8px; } header#main-header { padding: 30px 100px; } p.text-slate-600.group-hover:text-white/90.text-sm.leading-relaxed.transition-colors.duration-300 { font-size: 13px; } .group.py-1 { font-size: 15px; } .absolute.top-full.left-1/2.-translate-x-1/2.w-screen.bg-white.text-slate-800.shadow-2xl.p-10.opacity-0.invisible.group-hover:opacity-100.group-hover:visible.transition-all.duration-300.transform.translate-y-2.group-hover:translate-y-0.border-t.border-slate-200.z-50 { margin-top: 30px!important; } h3.text-xl.md:text-2xl.font-bold.tracking-tight.mb-3.text-slate-900.group-hover:text-white.transition-colors.duration-300 { font-size: 18px; } .pt-6.mt-6.border-t.border-slate-100.group-hover:border-white/20.flex.items-center.justify-between.text-xs.font-semibold.tracking-wider.uppercase.text-brandBlue.group-hover:text-white.transition-colors.duration-300 { padding: 4px 0px; } .pt-4.mt-5.border-t.border-slate-100.group-hover:border-white/20.flex.items-center.justify-between.text-xs.font-semibold.tracking-wider.uppercase.text-[#0095DA].group-hover:text-white.transition-colors.duration-300 { display: none; } .wg3-card.fade-in-section.group.bg-white.text-slate-800.hover:text-white.p-8.rounded-3xl.shadow-xl.flex.flex-col.justify-between.transition-all.duration-300.transform.hover:-translate-y-2.hover:shadow-2xl.hover:bg-[#C68A12].cursor-pointer.border.border-slate-100.is-visible { padding: 20px; } .w-14.h-14.rounded-2xl.bg-blue-50.group-hover:bg-white/20.flex.items-center.justify-center.mb-6.text-brandBlue.group-hover:text-white.text-2xl.transition-colors.duration-300 { padding-bottom: 0px; margin-bottom: 8px; } .w-14.h-14.rounded-2xl.bg-blue-50.group-hover:bg-white/20.flex.items-center.justify-center.mb-6.text-brandBlue.group-hover:text-white.text-2xl.transition-colors.duration-300 {} .circle-progress { transform: rotate(-90deg); transform-origin: 50% 50%; } .fade-in-section { opacity: 0; transform: translateY(30px); visibility: hidden; transition: opacity 0.8s ease-out, transform 0.8s ease-out; will-change: opacity, visibility, transform; } .fade-in-section.is-visible { opacity: 1; transform: none; visibility: visible; } span.text-base.font-normal.tracking-wide { font-size: 12px; } .max-h-[220px] { max-height: 130px !important; } /* Styling Viewport Mobile (Layar di bawah 768px / Tablet ke bawah) */ @media screen and (max-width: 768px) { header#main-header { padding: 20px 16px; /* Padding lebih kecil agar pas di layar HP */ } } </style> </head> <body class="bg-slate-900 text-white font-sans antialiased overflow-x-hidden"> <!-- ================= HEADER / NAVBAR ================= --> <header id="main-header" class="fixed top-0 left-0 w-full z-50 transition-all duration-300 py-3 px-6 md:px-12 bg-transparent text-white group/header hover:bg-white hover:text-slate-900 shadow-sm"> <div class="max-w-[1440px] mx-auto flex flex-col justify-center relative"> <!-- Top Bar: Logo, Stock Ticker & Sitemap --> <div class="flex items-center justify-between w-full pb-3"> <!-- Logo & Stock Ticker Widget --> <div class="flex items-center space-x-6"> <!-- Logo Kustom Sesuai Gambar Asli --> <a href="#" class="flex items-center"> <div class="flex items-center font-bold tracking-tight"> <!-- WIKA Gedung Logo Image --> <img src="https://www.wikagedung.co.id/images/ic_wika_gedung.svg" alt="WIKA Gedung" class="h-8 w-auto"> </div> </a> <!-- Widget Saham --> <div id="stock-widget" class="hidden md:flex items-center space-x-3 text-xs font-medium bg-white/10 group-hover/header:bg-slate-100 group-hover/header:text-slate-800 backdrop-blur-md px-3 py-1 rounded border border-white/20 group-hover/header:border-slate-200 transition-colors duration-300"> <span class="font-semibold tracking-wide">WEGE - <span id="stock-price" class="font-bold">IDR 53.00</span></span> <span id="stock-change" class="text-rose-400 font-medium flex items-center"><i class="fa-solid fa-arrow-trend-down mr-1"></i> -1 %</span> <span class="opacity-40">|</span> <span id="stock-time" class="text-[11px] font-normal">30 Sep 2025 15:04 GMT+7</span> </div> </div> <!-- Right Utility Top (Sitemap) & Mobile Hamburger Desktop Hidden --> <div class="flex items-center space-x-6"> <!-- Komponen Link / Tombol --> <a href="#" class="inline-flex items-center gap-2.5 text-gray-700 hover:text-blue-600 transition-colors group"> <!-- Ikon Rumah SVG --> <!-- Teks --> </a> <div class="hidden xl:flex items-center gap-6 text-xs font-normal"> <!-- Menu 1: Go to Corporate Site (Ikon dan teks sejajar horizontal) --> <a href="#" class="flex items-center gap-2 hover:text-brandOrange transition-colors"> <svg class="w-5 h-5 text-blue-600 stroke-[1.75]" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path> </svg> <span>Go to Corporate Site</span> </a> <!-- Menu 2: Sitemap --> </div> <div class="hidden xl:block text-xs font-normal"> <a href="#" class="hover:text-brandOrange transition-colors">Sitemap</a> </div> <!-- Mobile Hamburger Button --> <button id="mobile-menu-btn" class="xl:hidden text-2xl focus:outline-none cursor-pointer"> <i class="fa-solid fa-bars"></i> </button> </div> </div> <!-- Bottom Bar: Navigation Menu & Language/Search Utilities Aligned --> <div class="flex items-center justify-between pt-1 border-t border-white/10 group-hover/header:border-slate-200 transition-colors duration-300 relative"> <!-- Navigation Menu Desktop --> <nav class="hidden xl:flex items-center space-x-8 text-sm font-normal"> <!-- 1. Home --> <div class="group py-1"> <a href="https://remark.co.id/micro/demo" class="hover:text-brandOrange transition-colors">Home</a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">Home</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"> <a href="#" class="block text-slate-800 hover:text-brandBlue transition">Overview</a> </div> </div> </div> </div> </div> <!-- 2. About Us --> <div class="group py-1"> <a href="#" class="flex items-center space-x-1.5 hover:text-brandOrange transition-colors"> <span>About Us</span> <!-- Ikon Panah SVG --> <svg class="w-2.5 h-2.5 transition-transform duration-300 group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">About Us</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"><a href="https://remark.co.id/micro/demo/about-us/" class="block text-slate-800 hover:text-brandBlue transition">About Us</a></div> <div class="border-b border-slate-100 pb-3"><a href="https://remark.co.id/micro/demo/Board-of-Commissioners/" class="block text-slate-800 hover:text-brandBlue transition">Board of Commissioners</a></div> <div class="border-b border-slate-100 pb-3"><a href="https://remark.co.id/micro/demo/Report-of-the-Board-of-Commissioners/" class="block text-slate-800 hover:text-brandBlue transition">Report of the Board of Commissioners</a></div> <div class="border-b border-slate-100 pb-3"><a href="https://remark.co.id/micro/demo/Directors/" class="block text-slate-800 hover:text-brandBlue transition">Directors</a></div> <div class="border-b border-slate-100 pb-3"><a href="https://remark.co.id/micro/demo/Report-of-the-Directors/" class="block text-slate-800 hover:text-brandBlue transition">Report of the Directors</a></div> <div class="border-b border-slate-100 pb-3"><a href="https://remark.co.id/micro/demo/Corporate-Secretary/" class="block text-slate-800 hover:text-brandBlue transition">Corporate Secretary</a></div> </div> </div> </div> </div> <!-- 3. Financials --> <div class="group py-1"> <a href="#" class="flex items-center space-x-1.5 hover:text-brandOrange transition-colors"> <span>Financials</span> <!-- Ikon Panah SVG --> <svg class="w-2.5 h-2.5 transition-transform duration-300 group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">Financials</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Financial Results</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Financial Highlights</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Annual Reports</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Sustainability Reports</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Investor Presentations</a></div> </div> </div> </div> </div> <!-- 4. Shareholders --> <div class="group py-1"> <a href="#" class="flex items-center space-x-1.5 hover:text-brandOrange transition-colors"> <span>Shareholders</span> <!-- Ikon Panah SVG --> <svg class="w-2.5 h-2.5 transition-transform duration-300 group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">Shareholders</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">General Meeting of Shareholders</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Dividends</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Shareholding Structure</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Downloads</a></div> </div> </div> </div> </div> <!-- 5. Governance --> <div class="group py-1"> <a href="#" class="flex items-center space-x-1.5 hover:text-brandOrange transition-colors"> <span> Governance</span> <!-- Ikon Panah SVG --> <svg class="w-2.5 h-2.5 transition-transform duration-300 group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">Governance</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Audit Committee</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Nomination, Remuneration, and GCG Committee</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Risk Monitoring and Integrated Governance Committee</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">ASEAN Corporate Governance Scorecard</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Independence Statement</a></div> </div> </div> </div> </div> <!-- 6. News & Events --> <div class="group py-1"> <a href="#" class="flex items-center space-x-1.5 hover:text-brandOrange transition-colors"> <span>News & Events</span> <!-- Ikon Panah SVG --> <svg class="w-2.5 h-2.5 transition-transform duration-300 group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">News & Events</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Regulatory Filings</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">IR Events</a></div> </div> </div> </div> </div> <!-- 7. Stock Information --> <div class="group py-1"> <a href="#" class="flex items-center space-x-1.5 hover:text-brandOrange transition-colors"> <span>Stock Information</span> <!-- Ikon Panah SVG --> <svg class="w-2.5 h-2.5 transition-transform duration-300 group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">Stock Information</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Interactive Chart</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Analyst Coverage</a></div> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">Investor FAQ</a></div> </div> </div> </div> </div> <!-- 8. Contact --> <div class="group py-1"> <a href="#" class="flex items-center space-x-1.5 hover:text-brandOrange transition-colors"> <span>Contact</span> <!-- Ikon Panah SVG --> <svg class="w-2.5 h-2.5 transition-transform duration-300 group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <div class="absolute top-full left-1/2 -translate-x-1/2 w-screen bg-white text-slate-800 shadow-2xl p-10 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-300 transform translate-y-2 group-hover:translate-y-0 border-t border-slate-200 z-50"> <div class="max-w-[1440px] mx-auto grid grid-cols-12 gap-8 px-6 md:px-12"> <div class="col-span-4 border-r border-slate-100 pr-4 flex flex-col justify-start"> <h3 class="text-3xl font-extrabold text-brandBlue tracking-tight">Contact</h3> </div> <div class="col-span-8 space-y-4 text-sm font-medium"> <div class="border-b border-slate-100 pb-3"><a href="#" class="block text-slate-800 hover:text-brandBlue transition">IR Contact</a></div> </div> </div> </div> </div> </nav> <!-- Right Utilities (Language & Search) Desktop on Bottom Bar Right Side --> <div class="hidden xl:flex items-center space-x-6 text-xs font-normal"> <div class="flex items-center space-x-2"> <a href="#" class="hover:text-brandOrange transition-colors">Indonesia</a> <span class="opacity-40">|</span> <a href="#" class="text-[#C68A12] font-semibold">English</a> </div> <button class="hover:text-brandOrange transition-colors pl-2 focus:outline-none cursor-pointer"> <i class="fa-solid fa-magnifying-glass text-sm"></i> </button> </div> </div> </div> <!-- Backdrop Overlay for Mobile Menu --> <div id="mobile-backdrop" class="fixed inset-0 bg-slate-950/60 backdrop-blur-sm z-40 opacity-0 pointer-events-none transition-opacity duration-300 xl:hidden"></div> <!-- Mobile Drawer Navigation (Slide + Smooth Accordion Submenu) --> <div id="mobile-menu" class="fixed inset-y-0 right-0 w-4/5 max-w-sm bg-slate-900 text-white shadow-2xl z-50 translate-x-full transition-transform duration-300 ease-in-out flex flex-col p-6 xl:hidden overflow-y-auto"> <div class="flex items-center justify-between pb-6 border-b border-slate-800"> <span class="text-xl font-black tracking-tight">WIKA Gedung</span> <button id="mobile-close-btn" class="text-xl text-slate-400 hover:text-white transition-colors cursor-pointer"> <i class="fa-solid fa-xmark"></i> </button> </div> <div class="flex-1 py-6 space-y-2 text-sm"> <!-- 1. Home --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>Home</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded"> <a href="https://remark.co.id/micro/demo" class="block py-2 text-slate-300 hover:text-white text-xs">Overview</a> </div> </div> <!-- 2. About Us --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>About Us</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded text-xs"> <a href="https://remark.co.id/micro/demo/about-us/" class="block py-2 text-slate-300 hover:text-white">About Us</a> <a href="https://remark.co.id/micro/demo/Board-of-Commissioners/" class="block py-2 text-slate-300 hover:text-white">Board of Commissioners</a> <a href="https://remark.co.id/micro/demo/Report-of-the-Board-of-Commissioners/" class="block py-2 text-slate-300 hover:text-white">Report of the Board of Commissioners</a> <a href="https://remark.co.id/micro/demo/Directors/" class="block py-2 text-slate-300 hover:text-white">Directors</a> <a href="https://remark.co.id/micro/demo/Report-of-the-Directors/" class="block py-2 text-slate-300 hover:text-white">Report of the Directors</a> <a href="https://remark.co.id/micro/demo/Corporate-Secretary/" class="block py-2 text-slate-300 hover:text-white">Corporate Secretary</a> </div> </div> <!-- 3. Financials --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>Financials</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded text-xs"> <a href="#" class="block py-2 text-slate-300 hover:text-white">Financial Results</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Financial Highlights</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Annual Reports</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Sustainability Reports</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Investor Presentations</a> </div> </div> <!-- 4. Shareholders --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>Shareholders</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded text-xs"> <a href="#" class="block py-2 text-slate-300 hover:text-white">General Meeting of Shareholders</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Dividends</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Shareholding Structure</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Downloads</a> </div> </div> <!-- 5. Governance --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>Governance</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded text-xs"> <a href="#" class="block py-2 text-slate-300 hover:text-white">Audit Committee</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Nomination, Remuneration, and GCG Committee</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Risk Monitoring & Integrated Governance</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">ASEAN Corporate Governance Scorecard</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Independence Statement</a> </div> </div> <!-- 6. News & Events --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>News & Events</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded text-xs"> <a href="#" class="block py-2 text-slate-300 hover:text-white">Regulatory Filings</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">IR Events</a> </div> </div> <!-- 7. Stock Information --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>Stock Information</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded text-xs"> <a href="#" class="block py-2 text-slate-300 hover:text-white">Interactive Chart</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Analyst Coverage</a> <a href="#" class="block py-2 text-slate-300 hover:text-white">Investor FAQ</a> </div> </div> <!-- 8. Contact --> <div class="border-b border-slate-800"> <button type="button" class="mobile-sub-toggle w-full flex items-center justify-between py-3 text-left hover:text-brandOrange transition-colors cursor-pointer"> <span>Contact</span> <i class="fa-solid fa-chevron-down text-xs transition-transform duration-300"></i> </button> <div class="mobile-sub-menu max-h-0 overflow-hidden transition-all duration-300 ease-in-out pl-4 space-y-2 bg-slate-950/40 rounded text-xs"> <a href="#" class="block py-2 text-slate-300 hover:text-white">IR Contact</a> </div> </div> <!-- Extra Mobile Links (Sitemap) --> <div class="pt-4 space-y-3"> <a href="#" class="block py-1 text-xs text-slate-400 hover:text-white">Sitemap</a> </div> <!-- Utilities bottom info (Language & Search) --> <div class="pt-4 border-t border-slate-800 flex justify-between items-center text-xs font-semibold"> <div class="space-x-2"> <a href="#" class="text-slate-300 hover:text-white">Indonesia</a> <span class="text-slate-600">|</span> <a href="#" class="text-[#C68A12]">English</a> </div> <button type="button" class="text-slate-300 hover:text-white cursor-pointer"> <i class="fa-solid fa-magnifying-glass text-sm"></i> Search </button> </div> </div> </div> </header> <!-- JavaScript Terpadu (Smooth Drawer & Accordion) --> <script> document.addEventListener('DOMContentLoaded', () => { const mobileMenuBtn = document.getElementById('mobile-menu-btn'); const mobileCloseBtn = document.getElementById('mobile-close-btn'); const mobileMenu = document.getElementById('mobile-menu'); const mobileBackdrop = document.getElementById('mobile-backdrop'); function openMobileMenu() { if (mobileMenu && mobileBackdrop) { mobileMenu.classList.remove('translate-x-full'); mobileBackdrop.classList.remove('opacity-0', 'pointer-events-none'); document.body.style.overflow = 'hidden'; } } function closeMobileMenu() { if (mobileMenu && mobileBackdrop) { mobileMenu.classList.add('translate-x-full'); mobileBackdrop.classList.add('opacity-0', 'pointer-events-none'); document.body.style.overflow = ''; } } if (mobileMenuBtn) mobileMenuBtn.addEventListener('click', openMobileMenu); if (mobileCloseBtn) mobileCloseBtn.addEventListener('click', closeMobileMenu); if (mobileBackdrop) mobileBackdrop.addEventListener('click', closeMobileMenu); // Accordion Submenu Handler const subToggles = document.querySelectorAll('.mobile-sub-toggle'); subToggles.forEach(toggle => { toggle.addEventListener('click', function() { const submenu = this.nextElementSibling; const icon = this.querySelector('i'); if (submenu.style.maxHeight && submenu.style.maxHeight !== "0px") { submenu.style.maxHeight = "0px"; if (icon) icon.style.transform = "rotate(0deg)"; } else { subToggles.forEach(otherToggle => { const otherSub = otherToggle.nextElementSibling; const otherIcon = otherToggle.querySelector('i'); if (otherSub !== submenu) { otherSub.style.maxHeight = "0px"; if (otherIcon) otherIcon.style.transform = "rotate(0deg)"; } }); submenu.style.maxHeight = submenu.scrollHeight + "px"; if (icon) icon.style.transform = "rotate(180deg)"; } }); }); }); </script> <!-- ================= SECTION SLIDER ================= --> <!-- ================= HERO SLIDER SECTION ================= --> <section class="relative w-full h-screen overflow-hidden"> <!-- Slider Container --> <div id="slider-container" class="relative w-full h-full"> <!-- Slide 1 --> <div class="absolute inset-0 transition-opacity duration-1000 opacity-100 slider-item active flex items-center"> <div class="absolute inset-0 bg-cover bg-center" style="background-image: url('https://www.wikagedung.co.id/_next/image?url=https%3A%2F%2Fadmin-web.wikagedung.id%2Fimages%2Fbanner%2F6672658a644a6Pertumbuhan%20Berkelanjutan%20dan%20Menciptakan%20Nilai.JPG&w=3840&q=50');"></div> <div class="absolute inset-0 bg-gradient-to-r from-black/80 via-black/40 to-transparent"></div> <div class="relative max-w-7xl mx-auto px-6 md:px-12 w-full pt-24"> <div class="max-w-2xl space-y-6"> <h1 class="text-4xl md:text-6xl font-extrabold tracking-tight leading-tight text-white drop-shadow-md"> Sustainable Financial Growth & Value Creation </h1> <p class="text-slate-200 text-sm md:text-base leading-relaxed"> PT Wijaya Karya Bangunan Gedung Tbk's steadfast commitment to delivering cutting-edge construction and investment works that drive high added value for stakeholders. </p> <div class="flex flex-wrap gap-4 pt-2"> <a href="#" class="bg-brandBlue hover:bg-blue-600 text-white font-medium px-6 py-3 rounded-full text-sm transition shadow-lg"> Investor Relations </a> <a href="#" class="border border-white/60 hover:bg-white hover:text-slate-900 text-white font-medium px-6 py-3 rounded-full text-sm transition backdrop-blur-sm"> 6M-2026 Financial Results </a> </div> </div> </div> </div> <!-- Slide 2 --> <div class="absolute inset-0 transition-opacity duration-1000 opacity-0 slider-item flex items-center"> <div class="absolute inset-0 bg-cover bg-center" style="background-image: url('https://www.wikagedung.co.id/_next/image?url=https%3A%2F%2Fadmin-web.wikagedung.id%2Fimages%2Fbanner%2F667263ff1c4b0Total%20Solusi%20Kontraktor%20Kelas%20Dunia.jpg&w=3840&q=50');"></div> <div class="absolute inset-0 bg-gradient-to-r from-black/80 via-black/40 to-transparent"></div> <div class="relative max-w-7xl mx-auto px-6 md:px-12 w-full pt-24"> <div class="max-w-2xl space-y-6"> <h1 class="text-4xl md:text-6xl font-extrabold tracking-tight leading-tight text-white drop-shadow-md"> Modern Construction Innovation & Technology </h1> <p class="text-slate-200 text-sm md:text-base leading-relaxed"> Implementing advanced Building Information Modelling (BIM) standards and green building concepts to pioneer a sustainable future for Indonesia's infrastructure. </p> <div class="flex flex-wrap gap-4 pt-2"> <a href="#" class="bg-brandBlue hover:bg-blue-600 text-white font-medium px-6 py-3 rounded-full text-sm transition shadow-lg"> Explore Our Projects </a> <a href="#" class="border border-white/60 hover:bg-white hover:text-slate-900 text-white font-medium px-6 py-3 rounded-full text-sm transition backdrop-blur-sm"> Building Portfolio </a> </div> </div> </div> </div> </div> <!-- Slider Navigation Controls & Circle Progress Indicator --> <div class="absolute bottom-8 right-6 md:right-12 z-20 flex items-center space-x-4"> <!-- Prev Button --> <button id="prev-btn" class="w-12 h-12 rounded-full border border-white/40 bg-black/30 hover:bg-white hover:text-slate-900 text-white flex items-center justify-center transition backdrop-blur-sm focus:outline-none"> <i class="fa-solid fa-arrow-left"></i> </button> <!-- Progress Circle Indicator --> <div class="relative w-12 h-12 flex items-center justify-center"> <svg class="w-12 h-12 circle-progress" viewBox="0 0 36 36"> <path class="text-white/20" stroke-width="3" stroke="currentColor" fill="none" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" /> <path id="progress-ring-path" class="text-brandOrange transition-all duration-100" stroke-width="3" stroke-dasharray="100, 100" stroke-linecap="round" stroke="currentColor" fill="none" d="M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831" /> </svg> <span id="slide-counter" class="absolute text-[11px] font-bold text-white">01/03</span> </div> <!-- Next Button --> <button id="next-btn" class="w-12 h-12 rounded-full border border-white/40 bg-black/30 hover:bg-white hover:text-slate-900 text-white flex items-center justify-center transition backdrop-blur-sm focus:outline-none"> <i class="fa-solid fa-arrow-right"></i> </button> </div> </section> <!-- ================= SECTION WG2 (TENTANG PERUSAHAAN & FOTO SLIDER) ================= --> <section class="section-wg2 py-16 md:py-24 px-6 md:px-16 lg:px-24 bg-[#f8f9fa] text-slate-800 font-sans antialiased overflow-x-hidden"> <div class="max-w-7xl mx-auto"> <!-- Grid Layout: Kiri Teks, Kanan Slider Foto --> <div class="grid grid-cols-1 lg:grid-cols-12 gap-12 lg:gap-16 items-center"> <!-- Kolom Kiri: Teks & Statistik --> <div class="lg:col-span-6 fade-in-section"> <span class="text-xs md:text-sm font-semibold tracking-widest text-slate-500 uppercase mb-3 block"> CORPORATE PROFILE </span> <h2 class="text-2xl md:text-4xl lg:text-5xl font-bold text-slate-900 tracking-tight leading-tight mb-6"> About PT Wijaya Karya Bangunan Gedung Tbk (WEGE) </h2> <p class="text-slate-600 text-sm md:text-base leading-relaxed mb-8"> WEGE (IDX: WEGE) is a subsidiary of PT Wijaya Karya (Persero) Tbk, specializing in integrated building construction, modular solutions, and EPC services. The company delivers total end-to-end solutions ranging from planning and construction execution to facility operations, adhering strictly to world-class quality and safety standards. </p> <!-- Statistik Grid --> <div class="grid grid-cols-3 gap-4 pt-4 border-t border-slate-200"> <div> <h3 class="text-2xl md:text-3xl font-bold text-slate-900 mb-1">420+</h3> <p class="text-xs md:text-sm text-slate-500 leading-snug">Projects Secured</p> </div> <div> <h3 class="text-2xl md:text-3xl font-bold text-slate-900 mb-1">Rp57 T+</h3> <p class="text-xs md:text-sm text-slate-500 leading-snug">Cumulative Project Value</p> </div> <div> <h3 class="text-xl md:text-2xl font-bold text-slate-900 mb-1">ISO 19650</h3> <p class="text-xs md:text-sm text-slate-500 leading-snug mb-1">BIM BSI Kitemark</p> <span class="text-xs font-bold text-[#0095DA] bg-blue-50 px-1.5 py-0.5 rounded">First in Indonesia</span> </div> </div> </div> <!-- Kolom Kanan: Slider Foto Section WG2 --> <div class="lg:col-span-6 fade-in-section"> <div class="relative w-full rounded-2xl overflow-hidden shadow-xl bg-slate-200"> <!-- Slider Wrapper --> <div id="wg2SliderTrack" class="flex transition-transform duration-700 ease-in-out"> <!-- Slide 1 --> <div class="w-full flex-shrink-0"> <img src="https://www.wikagedung.co.id/_next/image?url=https%3A%2F%2Fadmin-web.wikagedung.id%2Fimages%2Fbanner%2F667264443d213Fokus%20pada%20Keselamatan%20dan%20Kualitas.JPG&w=3840&q=50" alt="WEGE Construction Workers 1" class="w-full h-[320px] md:h-[420px] object-cover"> </div> <!-- Slide 2 --> <div class="w-full flex-shrink-0"> <img src="https://www.wikagedung.co.id/_next/image?url=https%3A%2F%2Fadmin-web.wikagedung.id%2Fimages%2Fbanner%2F66726974b86a7Building%20Information%20Modelling.jpg&w=3840&q=50" alt="WEGE Construction Workers 2" class="w-full h-[320px] md:h-[420px] object-cover"> </div> </div> <!-- Dots Indicator untuk Slider WG2 --> <div class="absolute bottom-4 left-0 right-0 flex justify-center items-center gap-2 z-10"> <button onclick="goToWg2Slide(0)" class="wg2-slider-dot w-6 h-2 rounded-full bg-white transition-all duration-300 cursor-pointer" aria-label="Slide 1"></button> <button onclick="goToWg2Slide(1)" class="wg2-slider-dot w-2 h-2 rounded-full bg-white/60 transition-all duration-300 cursor-pointer" aria-label="Slide 2"></button> </div> </div> </div> </div> </div> </section> <style> /* Scope khusus animasi fade-in section-wg2 agar tidak bentrok */ .section-wg2 .fade-in-section { opacity: 0; transform: translateY(30px); visibility: hidden; transition: opacity 0.8s ease-out, transform 0.8s ease-out; will-change: opacity, visibility, transform; } .section-wg2 .fade-in-section.is-visible { opacity: 1; transform: none; visibility: visible; } </style> <!-- ================= SECTION SLIDER ================= --> <!-- ================= SECTION WG3 (INVESTMENT HIGHLIGHTS) ================= --> <section class="section-wg3 py-16 md:py-24 px-6 md:px-12 lg:px-20 bg-[#0095DA] text-white font-sans antialiased overflow-x-hidden"> <div class="max-w-7xl mx-auto"> <!-- Header Section --> <div class="grid grid-cols-1 lg:grid-cols-12 gap-8 items-end mb-12 lg:mb-16 fade-in-section"> <div class="lg:col-span-7"> <span class="text-xs font-semibold tracking-widest text-white/80 uppercase mb-3 block"> INVESTMENT HIGHLIGHTS </span> <h2 class="text-3xl md:text-5xl font-extrabold text-white tracking-tight leading-tight"> Why Invest in WIKA Gedung (WEGE)? </h2> </div> <div class="lg:col-span-5"> <p class="text-white/90 text-[13px] md:text-sm leading-relaxed"> Supported by a strong SOE ecosystem, proven track record, modular construction innovation, and a solid commitment to governance and sustainability. </p> </div> </div> <!-- Cards Grid (2 Rows x 3 Columns) --> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-[11px]"> <!-- Card 1 --> <div class="wg3-card fade-in-section group relative bg-white text-slate-800 hover:text-white p-6 md:p-7 rounded-3xl shadow-xl flex flex-col justify-between transition-all duration-500 transform hover:-translate-y-2 hover:shadow-2xl cursor-pointer border border-slate-100 overflow-hidden"> <!-- Background Image with Adjustable Hover Opacity --> <div class="absolute inset-0 bg-cover bg-center transition-opacity duration-500 opacity-0 group-hover:opacity-40 z-0" style="background-image: url('https://images.unsplash.com/photo-1541888946425-d0fbb18f8f3c?auto=format&fit=crop&q=80&w=1000');"></div> <div class="absolute inset-0 bg-[#C68A12] opacity-0 group-hover:opacity-90 transition-opacity duration-500 z-0"></div> <!-- Card Content --> <div class="relative z-10"> <div class="w-12 h-12 rounded-2xl bg-blue-50 group-hover:bg-white/20 flex items-center justify-center mb-5 text-[#0095DA] group-hover:text-white text-xl transition-colors duration-300"> <i class="fa-solid fa-helmet-safety"></i> </div> <h3 class="text-lg md:text-xl font-bold tracking-tight mb-2.5 text-slate-900 group-hover:text-white transition-colors duration-300"> Integrated Construction </h3> <p class="text-slate-600 group-hover:text-white/90 text-[13px] leading-relaxed transition-colors duration-300"> Providing integrated construction services ranging from planning, execution, to building operation. </p> </div> </div> <!-- Card 2 --> <div class="wg3-card fade-in-section group relative bg-white text-slate-800 hover:text-white p-6 md:p-7 rounded-3xl shadow-xl flex flex-col justify-between transition-all duration-500 transform hover:-translate-y-2 hover:shadow-2xl cursor-pointer border border-slate-100 overflow-hidden"> <div class="absolute inset-0 bg-cover bg-center transition-opacity duration-500 opacity-0 group-hover:opacity-40 z-0" style="background-image: url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&q=80&w=1000');"></div> <div class="absolute inset-0 bg-[#C68A12] opacity-0 group-hover:opacity-90 transition-opacity duration-500 z-0"></div> <div class="relative z-10"> <div class="w-12 h-12 rounded-2xl bg-blue-50 group-hover:bg-white/20 flex items-center justify-center mb-5 text-[#0095DA] group-hover:text-white text-xl transition-colors duration-300"> <i class="fa-solid fa-building-shield"></i> </div> <h3 class="text-lg md:text-xl font-bold tracking-tight mb-2.5 text-slate-900 group-hover:text-white transition-colors duration-300"> Strong Parent Company </h3> <p class="text-slate-600 group-hover:text-white/90 text-[13px] leading-relaxed transition-colors duration-300"> PT Wijaya Karya (Persero) Tbk holds the majority shares of WEGE, providing strategic access to national and SOE project networks. </p> </div> </div> <!-- Card 3 --> <div class="wg3-card fade-in-section group relative bg-white text-slate-800 hover:text-white p-6 md:p-7 rounded-3xl shadow-xl flex flex-col justify-between transition-all duration-500 transform hover:-translate-y-2 hover:shadow-2xl cursor-pointer border border-slate-100 overflow-hidden"> <div class="absolute inset-0 bg-cover bg-center transition-opacity duration-500 opacity-0 group-hover:opacity-40 z-0" style="background-image: url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&q=80&w=1000');"></div> <div class="absolute inset-0 bg-[#C68A12] opacity-0 group-hover:opacity-90 transition-opacity duration-500 z-0"></div> <div class="relative z-10"> <div class="w-12 h-12 rounded-2xl bg-blue-50 group-hover:bg-white/20 flex items-center justify-center mb-5 text-[#0095DA] group-hover:text-white text-xl transition-colors duration-300"> <i class="fa-solid fa-chart-line"></i> </div> <h3 class="text-lg md:text-xl font-bold tracking-tight mb-2.5 text-slate-900 group-hover:text-white transition-colors duration-300"> Track Record & Portfolio </h3> <p class="text-slate-600 group-hover:text-white/90 text-[13px] leading-relaxed transition-colors duration-300"> Experienced in handling various high-rise building portfolios, public facilities, and social infrastructure across Indonesia. </p> </div> </div> <!-- Card 4 --> <div class="wg3-card fade-in-section group relative bg-white text-slate-800 hover:text-white p-6 md:p-7 rounded-3xl shadow-xl flex flex-col justify-between transition-all duration-500 transform hover:-translate-y-2 hover:shadow-2xl cursor-pointer border border-slate-100 overflow-hidden"> <div class="absolute inset-0 bg-cover bg-center transition-opacity duration-500 opacity-0 group-hover:opacity-40 z-0" style="background-image: url('https://images.unsplash.com/photo-1581094288338-2314dddb7ece?auto=format&fit=crop&q=80&w=1000');"></div> <div class="absolute inset-0 bg-[#C68A12] opacity-0 group-hover:opacity-90 transition-opacity duration-500 z-0"></div> <div class="relative z-10"> <div class="w-12 h-12 rounded-2xl bg-blue-50 group-hover:bg-white/20 flex items-center justify-center mb-5 text-[#0095DA] group-hover:text-white text-xl transition-colors duration-300"> <i class="fa-solid fa-boxes-stacked"></i> </div> <h3 class="text-lg md:text-xl font-bold tracking-tight mb-2.5 text-slate-900 group-hover:text-white transition-colors duration-300"> Modular Construction </h3> <p class="text-slate-600 group-hover:text-white/90 text-[13px] leading-relaxed transition-colors duration-300"> A leading pioneer of modular construction in Indonesia through product innovations such as volumetric modules and rapid assembly systems. </p> </div> </div> <!-- Card 5 --> <div class="wg3-card fade-in-section group relative bg-white text-slate-800 hover:text-white p-6 md:p-7 rounded-3xl shadow-xl flex flex-col justify-between transition-all duration-500 transform hover:-translate-y-2 hover:shadow-2xl cursor-pointer border border-slate-100 overflow-hidden"> <div class="absolute inset-0 bg-cover bg-center transition-opacity duration-500 opacity-0 group-hover:opacity-40 z-0" style="background-image: url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&q=80&w=1000');"></div> <div class="absolute inset-0 bg-[#C68A12] opacity-0 group-hover:opacity-90 transition-opacity duration-500 z-0"></div> <div class="relative z-10"> <div class="w-12 h-12 rounded-2xl bg-blue-50 group-hover:bg-white/20 flex items-center justify-center mb-5 text-[#0095DA] group-hover:text-white text-xl transition-colors duration-300"> <i class="fa-solid fa-cubes"></i> </div> <h3 class="text-lg md:text-xl font-bold tracking-tight mb-2.5 text-slate-900 group-hover:text-white transition-colors duration-300"> Digital Construction (BIM) </h3> <p class="text-slate-600 group-hover:text-white/90 text-[13px] leading-relaxed transition-colors duration-300"> Optimally applying Building Information Modeling (BIM) for high efficiency, design accuracy, and project quality control. </p> </div> </div> <!-- Card 6 --> <div class="wg3-card fade-in-section group relative bg-white text-slate-800 hover:text-white p-6 md:p-7 rounded-3xl shadow-xl flex flex-col justify-between transition-all duration-500 transform hover:-translate-y-2 hover:shadow-2xl cursor-pointer border border-slate-100 overflow-hidden"> <div class="absolute inset-0 bg-cover bg-center transition-opacity duration-500 opacity-0 group-hover:opacity-40 z-0" style="background-image: url('https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&q=80&w=1000');"></div> <div class="absolute inset-0 bg-[#C68A12] opacity-0 group-hover:opacity-90 transition-opacity duration-500 z-0"></div> <div class="relative z-10"> <div class="w-12 h-12 rounded-2xl bg-blue-50 group-hover:bg-white/20 flex items-center justify-center mb-5 text-[#0095DA] group-hover:text-white text-xl transition-colors duration-300"> <i class="fa-solid fa-earth-asia"></i> </div> <h3 class="text-lg md:text-xl font-bold tracking-tight mb-2.5 text-slate-900 group-hover:text-white transition-colors duration-300"> Sustainability & ESG </h3> <p class="text-slate-600 group-hover:text-white/90 text-[13px] leading-relaxed transition-colors duration-300"> Full commitment to Environmental, Social, and Governance (ESG) principles alongside sustainable green building development. </p> </div> </div> </div> </div> </section> <style> .grid.grid-cols-1.md:grid-cols-2.lg:grid-cols-3.gap-6.md:gap-8 { gap: 11px; } /* Scope khusus animasi fade-in section-wg3 agar tidak bentrok */ .section-wg3 .fade-in-section { opacity: 0; transform: translateY(30px); visibility: hidden; transition: opacity 0.4s ease-out, transform 0.4s ease-out; will-change: opacity, visibility, transform; } .section-wg3 .fade-in-section.is-visible { opacity: 1; transform: none; visibility: visible; } </style> <script> // Intersection Observer khusus untuk efek Hide/Show (Fade-in saat digulir) pada section-wg3 document.addEventListener("DOMContentLoaded", function () { const wg3ObserverOptions = { root: null, rootMargin: '0px', threshold: 0.1 }; const wg3Observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('is-visible'); } }); }, wg3ObserverOptions); document.querySelectorAll('.section-wg3 .fade-in-section').forEach(section => { wg3Observer.observe(section); }); }); </script> <!-- ================= SECTION WG3 (INVESTMENT HIGHLIGHTS) ================= --> <!-- WRAPPER UTAMA: .petawg --> <!-- WRAPPER UTAMA: .petawg --> <!-- ================= SECTION-WG-3 (STOCK INFO & NEWS SLIDER) ================= --> <section class="section-wg-3 py-16 md:py-24 px-6 md:px-12 lg:px-20 bg-slate-50 text-slate-800 font-sans antialiased overflow-x-hidden"> <div class="max-w-7xl mx-auto"> <!-- 1. STOCK INFO WIKA GEDUNG (IDX: WEGE) --> <div class="mb-20 fade-in-section"> <div class="text-center max-w-2xl mx-auto mb-10"> <span class="text-xs md:text-sm font-semibold tracking-widest text-[#0095DA] uppercase mb-2 block"> IDX: WEGE STOCK PERFORMANCE </span> <h2 class="text-3xl md:text-4xl font-extrabold text-slate-900 tracking-tight"> Real-Time Stock Info </h2> </div> <!-- Card Stock Info --> <div class="bg-white rounded-3xl p-6 md:p-10 shadow-xl border border-slate-100 grid grid-cols-1 lg:grid-cols-12 gap-8 items-center"> <!-- Stock Details Column --> <div class="lg:col-span-5 space-y-6"> <div class="flex items-center justify-between border-b border-slate-100 pb-4"> <div> <span class="text-xs font-bold uppercase tracking-wider text-slate-400">Issuer</span> <h3 class="text-xl font-extrabold text-slate-900">PT Wijaya Karya Bangunan Gedung Tbk</h3> </div> <span class="px-3 py-1 rounded-full bg-blue-50 text-[#0095DA] text-xs font-bold tracking-wider border border-blue-100">IDX: WEGE</span> </div> <div class="grid grid-cols-2 gap-4"> <div class="bg-slate-50 p-4 rounded-2xl border border-slate-100"> <span class="text-xs text-slate-500 block mb-1">Last Price</span> <div class="text-2xl font-black text-slate-900"> <span id="stockPrice">Rp50</span> <span id="stockChange" class="text-xs font-semibold text-emerald-600 bg-emerald-50 px-2 py-0.5 rounded ml-1">+1.92%</span> </div> </div> <div class="bg-slate-50 p-4 rounded-2xl border border-slate-100"> <span class="text-xs text-slate-500 block mb-1">Market Cap</span> <div id="stockMarketCap" class="text-lg font-bold text-slate-900">~Rp497.7 B</div> </div> </div> <div class="grid grid-cols-3 gap-2 text-xs text-slate-600 pt-2"> <div><span class="block text-slate-400">Open</span> <strong id="stockOpen">Rp51</strong></div> <div><span class="block text-slate-400">High</span> <strong id="stockHigh">Rp52</strong></div> <div><span class="block text-slate-400">Low</span> <strong id="stockLow">Rp50</strong></div> </div> </div> <!-- Custom Stock Graphic / Chart Representation Column with Working Tabs --> <div class="lg:col-span-7 bg-gradient-to-br from-slate-900 to-[#004d73] p-6 md:p-8 rounded-2xl text-white relative overflow-hidden shadow-inner flex flex-col justify-between h-72"> <div class="flex justify-between items-center z-10"> <div> <span id="chartPeriodLabel" class="text-xs text-slate-300 font-medium">Intraday Price Movement (1 Day)</span> <div class="text-lg font-bold tracking-tight">WEGE Stock Performance Chart</div> </div> <!-- Tab Interaktif Saham --> <div class="flex space-x-1 bg-white/10 p-1 rounded-lg text-xs backdrop-blur-md"> <button onclick="switchStockTab('1D')" id="tab1D" class="stock-tab px-2.5 py-1 bg-[#0095DA] rounded font-semibold text-white transition-all cursor-pointer">1D</button> <button onclick="switchStockTab('1W')" id="tab1W" class="stock-tab px-2.5 py-1 text-slate-300 hover:text-white rounded font-semibold transition-all cursor-pointer">1W</button> <button onclick="switchStockTab('1M')" id="tab1M" class="stock-tab px-2.5 py-1 text-slate-300 hover:text-white rounded font-semibold transition-all cursor-pointer">1M</button> </div> </div> <!-- SVG Graphic Line Chart with Dynamic Path D --> <div class="absolute inset-x-0 bottom-0 h-40 z-0 opacity-80"> <svg viewBox="0 0 500 150" preserveAspectRatio="none" class="w-full h-full"> <defs> <linearGradient id="chartGradient" x1="0" y1="0" x2="0" y2="1"> <stop offset="0%" stop-color="#0095DA" stop-opacity="0.6"/> <stop offset="100%" stop-color="#0095DA" stop-opacity="0.0"/> </linearGradient> </defs> <path id="chartAreaPath" d="M0,120 Q80,90 160,105 T320,60 T500,30 L500,150 L0,150 Z" fill="url(#chartGradient)"></path> <path id="chartLinePath" d="M0,120 Q80,90 160,105 T320,60 T500,30" fill="none" stroke="#38bdf8" stroke-width="3" stroke-linecap="round"></path> </svg> </div> <div class="flex justify-between items-end z-10 pt-4 border-t border-white/10 text-xs text-slate-300"> <span id="chartTimeStart">09:00 WIB</span> <span class="text-emerald-400 font-semibold flex items-center gap-1">● Live Trading Market</span> <span id="chartTimeEnd">16:00 WIB</span> </div> </div> </div> </div> <!-- 2. NEWS & PRESS RELEASES SLIDER SECTION --> <div class="fade-in-section"> <div class="grid grid-cols-1 lg:grid-cols-12 gap-8 items-center relative"> <!-- Left Title Column --> <div class="lg:col-span-4 space-y-4"> <span class="text-xs md:text-sm font-semibold tracking-widest text-[#0095DA] uppercase block"> LATEST UPDATES </span> <h2 class="text-3xl md:text-4xl font-extrabold text-slate-900 tracking-tight leading-tight"> News & Press Releases </h2> <p class="text-slate-600 text-sm leading-relaxed"> Stay updated with the latest corporate developments, new contract achievements, and cutting-edge construction innovations from PT Wijaya Karya Bangunan Gedung Tbk. </p> <div class="pt-2"> <a href="#" class="inline-flex items-center text-sm font-bold text-[#0095DA] hover:underline gap-2"> View All Projects <i class="fa-solid fa-arrow-right"></i> </a> </div> </div> <!-- Right Slider Container with Hover Group --> <div class="lg:col-span-8 relative group-news-container"> <!-- Tombol Prev --> <button id="newsPrevBtn" class="absolute -left-5 top-1/2 -translate-y-1/2 z-30 w-14 h-14 rounded-full bg-[#BBE2EC] text-[#0095DA] shadow-xl flex items-center justify-center opacity-0 transition-all duration-300 hover:scale-110 cursor-pointer focus:outline-none pointer-events-none"> <i class="fa-solid fa-arrow-left text-lg"></i> </button> <!-- Tombol Next --> <button id="newsNextBtn" class="absolute -right-5 top-1/2 -translate-y-1/2 z-30 w-14 h-14 rounded-full bg-[#BBE2EC] text-[#0095DA] shadow-xl flex items-center justify-center opacity-0 transition-all duration-300 hover:scale-110 cursor-pointer focus:outline-none pointer-events-auto"> <i class="fa-solid fa-arrow-right text-lg"></i> </button> <!-- Wrapper Scrollable Cards --> <div id="newsSliderWrapper" class="flex gap-6 overflow-x-auto scrollbar-none snap-x snap-mandatory pb-4 scroll-smooth"> <!-- News Card 1 --> <div class="min-w-[280px] sm:min-w-[320px] md:min-w-[350px] bg-white border border-slate-100 p-8 rounded-3xl shadow-lg snap-start flex flex-col justify-between hover:border-[#0095DA]/30 transition-all"> <div> <span class="text-xs font-semibold text-[#0095DA] bg-blue-50 px-3 py-1 rounded-full inline-block mb-4">01 Apr 2026</span> <h3 class="text-lg md:text-xl font-bold text-slate-900 tracking-tight mb-3"> WIKA Gedung Books Rp463.5 Billion in New Contracts in Q1 2026, Up 303% YoY </h3> <p class="text-slate-600 text-xs md:text-sm leading-relaxed"> WEGE's new contract acquisition surged significantly in the first quarter of 2026, driven by strong market confidence in its high-quality building portfolio. </p> </div> <div class="pt-6 mt-6 border-t border-slate-100"> <a href="#" class="text-xs font-bold tracking-wider uppercase text-slate-900 hover:text-[#0095DA] flex items-center gap-2"> Read more <i class="fa-solid fa-arrow-right"></i> </a> </div> </div> <!-- News Card 2 --> <div class="min-w-[280px] sm:min-w-[320px] md:min-w-[350px] bg-white border border-slate-100 p-8 rounded-3xl shadow-lg snap-start flex flex-col justify-between hover:border-[#0095DA]/30 transition-all"> <div> <span class="text-xs font-semibold text-[#0095DA] bg-blue-50 px-3 py-1 rounded-full inline-block mb-4">22 May 2026</span> <h3 class="text-lg md:text-xl font-bold text-slate-900 tracking-tight mb-3"> WIKA Gedung Named Excellence Leader in ESG Transparency at Indonesia ESG Leadership Awards 2025 </h3> <p class="text-slate-600 text-xs md:text-sm leading-relaxed"> A steadfast sustainability commitment toward Net Zero Emissions earned WEGE top recognition in ESG transparency excellence. </p> </div> <div class="pt-6 mt-6 border-t border-slate-100"> <a href="#" class="text-xs font-bold tracking-wider uppercase text-slate-900 hover:text-[#0095DA] flex items-center gap-2"> Read more <i class="fa-solid fa-arrow-right"></i> </a> </div> </div> <!-- News Card 3 --> <div class="min-w-[280px] sm:min-w-[320px] md:min-w-[350px] bg-[#EFEFED] border border-slate-200 p-8 rounded-3xl shadow-md snap-start flex flex-col justify-between transition-all"> <div> <span class="text-xs font-semibold text-slate-600 bg-slate-200 px-3 py-1 rounded-full inline-block mb-4">15 Jan 2026</span> <h3 class="text-lg md:text-xl font-bold text-slate-900 tracking-tight mb-3"> WIKA Gedung Sets MURI Record with 888-Module Pit Building in Mandalika </h3> <p class="text-slate-700 text-xs md:text-sm leading-relaxed"> Modular construction innovation showcased once again through a MURI record-breaking installation of hundreds of modules in record time. </p> </div> <div class="pt-6 mt-6 border-t border-slate-300"> <a href="#" class="text-xs font-bold tracking-wider uppercase text-slate-900 hover:text-[#0095DA] flex items-center gap-2"> Read more <i class="fa-solid fa-arrow-right"></i> </a> </div> </div> <!-- News Card 4 --> <div class="min-w-[280px] sm:min-w-[320px] md:min-w-[350px] bg-white border border-slate-100 p-8 rounded-3xl shadow-lg snap-start flex flex-col justify-between hover:border-[#0095DA]/30 transition-all"> <div> <span class="text-xs font-semibold text-[#0095DA] bg-blue-50 px-3 py-1 rounded-full inline-block mb-4">12 Dec 2025</span> <h3 class="text-lg md:text-xl font-bold text-slate-900 tracking-tight mb-3"> BIM ISO 19650 International Standard Implementation Across Strategic Projects </h3> <p class="text-slate-600 text-xs md:text-sm leading-relaxed"> As a pioneer in Building Information Modelling, WEGE continuously reinforces the digitalization of national construction quality. </p> </div> <div class="pt-6 mt-6 border-t border-slate-100"> <a href="#" class="text-xs font-bold tracking-wider uppercase text-slate-900 hover:text-[#0095DA] flex items-center gap-2"> Read more <i class="fa-solid fa-arrow-right"></i> </a> </div> </div> </div> <!-- Progress Indicator Bar --> <div class="w-full bg-slate-200 h-1.5 rounded-full mt-6 overflow-hidden"> <div id="newsProgressBar" class="bg-[#0095DA] h-full w-1/3 transition-all duration-300"></div> </div> </div> </div> </div> </div> </section> <!-- ================= SECTION STOCK ========================= --> <style> /* Sembunyikan scrollbar bawaan browser pada card slider */ .section-wg-3 #newsSliderWrapper::-webkit-scrollbar { display: none; } .section-wg-3 #newsSliderWrapper { -ms-overflow-style: none; scrollbar-width: none; } /* Efek hover untuk memunculkan tombol navigasi Prev & Next saat kontainer di-hover */ .group-news-container:hover #newsNextBtn:not(.hidden-force) { opacity: 1; } .group-news-container:hover #newsPrevBtn:not(.hidden-force) { opacity: 1; } /* Menggunakan kembali animasi Intersection Observer fade-in yang sudah ada */ .section-wg-3 .fade-in-section { opacity: 0; transform: translateY(30px); visibility: hidden; transition: opacity 0.8s ease-out, transform 0.8s ease-out; will-change: opacity, visibility, transform; } .section-wg-3 .fade-in-section.is-visible { opacity: 1; transform: none; visibility: visible; } </style> <script> // Fungsi Tab Saham Interaktif dengan Dummy Animation/Data function switchStockTab(period) { const tab1D = document.getElementById('tab1D'); const tab1W = document.getElementById('tab1W'); const tab1M = document.getElementById('tab1M'); const priceEl = document.getElementById('stockPrice'); const changeEl = document.getElementById('stockChange'); const capEl = document.getElementById('stockMarketCap'); const openEl = document.getElementById('stockOpen'); const highEl = document.getElementById('stockHigh'); const lowEl = document.getElementById('stockLow'); const labelEl = document.getElementById('chartPeriodLabel'); const timeStart = document.getElementById('chartTimeStart'); const timeEnd = document.getElementById('chartTimeEnd'); const areaPath = document.getElementById('chartAreaPath'); const linePath = document.getElementById('chartLinePath'); // Reset semua tab style [tab1D, tab1W, tab1M].forEach(tab => { tab.className = "stock-tab px-2.5 py-1 text-slate-300 hover:text-white rounded font-semibold transition-all cursor-pointer"; }); if (period === '1D') { tab1D.className = "stock-tab px-2.5 py-1 bg-[#0095DA] rounded font-semibold text-white transition-all cursor-pointer"; priceEl.innerText = "Rp50"; changeEl.innerText = "+1.92%"; changeEl.className = "text-xs font-semibold text-emerald-600 bg-emerald-50 px-2 py-0.5 rounded ml-1"; capEl.innerText = "~Rp497.7 M"; openEl.innerText = "Rp51"; highEl.innerText = "Rp52"; lowEl.innerText = "Rp50"; labelEl.innerText = "Pergerakan Harga Intraday (1 Hari)"; timeStart.innerText = "09:00 WIB"; timeEnd.innerText = "16:00 WIB"; areaPath.setAttribute("d", "M0,120 Q80,90 160,105 T320,60 T500,30 L500,150 L0,150 Z"); linePath.setAttribute("d", "M0,120 Q80,90 160,105 T320,60 T500,30"); } else if (period === '1W') { tab1W.className = "stock-tab px-2.5 py-1 bg-[#0095DA] rounded font-semibold text-white transition-all cursor-pointer"; priceEl.innerText = "Rp52"; changeEl.innerText = "+3.80%"; changeEl.className = "text-xs font-semibold text-emerald-600 bg-emerald-50 px-2 py-0.5 rounded ml-1"; capEl.innerText = "~Rp510.2 M"; openEl.innerText = "Rp50"; highEl.innerText = "Rp53"; lowEl.innerText = "Rp49"; labelEl.innerText = "Pergerakan Harga Mingguan (1 Minggu)"; timeStart.innerText = "Senin"; timeEnd.innerText = "Jumat"; areaPath.setAttribute("d", "M0,140 Q100,50 200,80 T380,40 T500,90 L500,150 L0,150 Z"); linePath.setAttribute("d", "M0,140 Q100,50 200,80 T380,40 T500,90"); } else if (period === '1M') { tab1M.className = "stock-tab px-2.5 py-1 bg-[#0095DA] rounded font-semibold text-white transition-all cursor-pointer"; priceEl.innerText = "Rp54"; changeEl.innerText = "-5.26%"; changeEl.className = "text-xs font-semibold text-rose-600 bg-rose-50 px-2 py-0.5 rounded ml-1"; capEl.innerText = "~Rp529.5 M"; openEl.innerText = "Rp57"; highEl.innerText = "Rp60"; lowEl.innerText = "Rp50"; labelEl.innerText = "Pergerakan Harga Bulanan (1 Bulan)"; timeStart.innerText = "Minggu 1"; timeEnd.innerText = "Minggu 4"; areaPath.setAttribute("d", "M0,40 Q120,130 250,90 T400,110 T500,70 L500,150 L0,150 Z"); linePath.setAttribute("d", "M0,40 Q120,130 250,90 T400,110 T500,70"); } } // Fungsi Slider News Interaktif (Prev, Next, & Tombol Dinamis Sesuai Posisi Scroll) document.addEventListener("DOMContentLoaded", function () { const slider = document.getElementById('newsSliderWrapper'); const nextBtn = document.getElementById('newsNextBtn'); const prevBtn = document.getElementById('newsPrevBtn'); const progressBar = document.getElementById('newsProgressBar'); if (slider && nextBtn && prevBtn) { const scrollAmount = 370; // Lebar card + gap nextBtn.addEventListener('click', function () { slider.scrollBy({ left: scrollAmount, behavior: 'smooth' }); }); prevBtn.addEventListener('click', function () { slider.scrollBy({ left: -scrollAmount, behavior: 'smooth' }); }); function updateNavButtons() { const scrollLeft = slider.scrollLeft; const maxScroll = slider.scrollWidth - slider.clientWidth; // Atur visibilitas tombol Prev berdasarkan posisi scroll if (scrollLeft <= 10) { prevBtn.classList.add('opacity-0', 'hidden-force'); prevBtn.style.pointerEvents = 'none'; } else { prevBtn.classList.remove('hidden-force', 'opacity-0'); prevBtn.style.pointerEvents = 'auto'; } // Atur visibilitas tombol Next berdasarkan posisi scroll if (scrollLeft >= maxScroll - 10) { nextBtn.classList.add('opacity-0', 'hidden-force'); nextBtn.style.pointerEvents = 'none'; } else { nextBtn.classList.remove('hidden-force'); nextBtn.style.pointerEvents = 'auto'; } // Update Progress Bar if (maxScroll > 0) { const percentage = (scrollLeft / maxScroll) * 100; progressBar.style.width = Math.max(15, percentage) + '%'; } } slider.addEventListener('scroll', updateNavButtons); window.addEventListener('resize', updateNavButtons); // Inisialisasi awal tombol updateNavButtons(); } }); </script> <!-- ================= SECTION-WG-ESG (SUSTAINABILITY & ESG) ================= --> <section class="section-wg-esg relative py-24 md:py-36 px-6 md:px-12 lg:px-20 font-sans antialiased overflow-hidden flex items-center justify-center min-h-[600px]"> <!-- Background Video & Overlay --> <div class="absolute inset-0 z-0 overflow-hidden pointer-events-none"> <!-- YouTube Embed Iframe Background (Most Stable Method) --> <div class="absolute inset-0 w-full h-full overflow-hidden pointer-events-none scale-[1.35] md:scale-[1.75]"> <iframe class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[100vw] h-[56.25vw] min-h-[100vh] min-w-[177.77vh] pointer-events-none border-0" src="https://www.youtube-nocookie.com/embed/J1shu0WU8ro?autoplay=1&mute=1&loop=1&playlist=J1shu0WU8ro&controls=0&showinfo=0&rel=0&iv_load_policy=3&disablekb=1&modestbranding=1" title="YouTube background video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" referrerpolicy="strict-origin-when-cross-origin"> </iframe> </div> <!-- Green Filter / Tint Overlay according to image reference --> <div class="absolute inset-0 bg-emerald-950/70 mix-blend-multiply z-10"></div> <div class="absolute inset-0 bg-black/40 z-10"></div> </div> <!-- Main Content Wrapper --> <div class="max-w-7xl mx-auto w-full relative z-20 flex flex-col items-center"> <!-- Section Header Title --> <div class="text-center mb-12 md:mb-16 fade-in-section"> <h2 class="text-3xl sm:text-4xl md:text-6xl font-black text-white tracking-wider uppercase drop-shadow-lg"> SUSTAINABILITY & ESG </h2> </div> <!-- Floating Card Container --> <div class="w-full max-w-5xl bg-white/95 backdrop-blur-md rounded-3xl p-8 md:p-12 shadow-2xl border border-white/20 fade-in-section"> <div class="flex flex-col lg:flex-row items-start lg:items-center justify-between gap-8"> <!-- Left Text Description --> <div class="space-y-3 lg:max-w-2xl"> <h3 class="text-xl md:text-2xl font-bold text-slate-900 tracking-tight leading-snug"> Environmental, Social & Governance (ESG) Commitment </h3> <p class="text-slate-600 text-sm md:text-base leading-relaxed"> WEGE integrates sustainability principles into every eco-friendly modular construction project, local community empowerment initiatives, and clean corporate governance standards. </p> </div> <!-- Right Action Button --> <div class="w-full lg:w-auto flex-shrink-0"> <a href="#" class="inline-flex items-center justify-center w-full lg:w-auto px-6 py-3.5 rounded-xl border-2 border-slate-900 text-slate-900 hover:bg-slate-900 hover:text-white font-semibold text-sm transition-all duration-300 shadow-sm group"> <span>Explore ESG Report</span> <i class="fa-solid fa-arrow-right ml-2 transition-transform group-hover:translate-x-1"></i> </a> </div> </div> </div> </div> </section> <style> /* Scope khusus animasi fade-in section-wg-esg agar tidak bentrok */ .section-wg-esg .fade-in-section { opacity: 0; transform: translateY(30px); visibility: hidden; transition: opacity 0.8s ease-out, transform 0.8s ease-out; will-change: opacity, visibility, transform; } .section-wg-esg .fade-in-section.is-visible { opacity: 1; transform: none; visibility: visible; } </style> <script> // Memanfaatkan Intersection Observer untuk efek Hide/Show saat di-scroll document.addEventListener("DOMContentLoaded", function () { const esgObserverOptions = { root: null, rootMargin: '0px', threshold: 0.1 }; const esgObserver = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('is-visible'); } }); }, esgObserverOptions); document.querySelectorAll('.section-wg-esg .fade-in-section').forEach(section => { esgObserver.observe(section); }); }); </script> <!-- ================= SECTION-WG-INVESTOR (FINANCIAL CALENDAR & QUICK LINKS) ================= --> <section class="section-wg-investor relative py-20 md:py-32 px-6 md:px-12 lg:px-20 font-sans antialiased overflow-hidden"> <!-- Background Image & Overlay --> <div class="absolute inset-0 z-0 overflow-hidden"> <img src="https://www.wikagedung.co.id/_next/image?url=https%3A%2F%2Fadmin-web.wikagedung.id%2Fimages%2Finformation%2F6a34fa2b3cb4d178185681169744aa75a78c7188dd235c565052c2a069.jpg&w=1920&q=50" alt="Investor Background" class="w-full h-full object-cover object-center scale-105 transform"> <!-- Dark Overlay agar kontras dengan card putih --> <div class="absolute inset-0 bg-slate-950/80 backdrop-blur-[2px]"></div> </div> <!-- Main Container --> <div class="max-w-7xl mx-auto relative z-10"> <!-- Grid container dengan items-stretch agar tinggi kiri dan kanan persis sama --> <div class="grid grid-cols-1 lg:grid-cols-12 gap-8 items-stretch"> <!-- LEFT COLUMN: FINANCIAL CALENDAR --> <div class="lg:col-span-5 bg-white rounded-3xl p-6 md:p-8 shadow-2xl border border-slate-100 investor-fade-section flex flex-col justify-between h-full"> <div> <!-- Header Kalender --> <div class="mb-6"> <span class="text-[10px] md:text-xs font-bold tracking-widest text-slate-500 uppercase block mb-1"> FINANCIAL CALENDAR </span> <h3 class="text-2xl md:text-3xl font-black text-slate-900 tracking-tight"> Upcoming Events </h3> </div> <!-- Scrollable Event List (Bisa menampung banyak data / >5 item, tinggi proporsional mengikuti sisi kanan) --> <div class="space-y-4 max-h-[220px] sm:max-h-[150px] lg:max-h-[150px] overflow-y-auto pr-2 investor-custom-scrollbar"> <!-- Event Item 1 --> <div class="pb-4 border-b border-slate-100 last:border-none"> <span class="text-xs font-semibold text-slate-400 block mb-1">31 Jul 2026</span> <h4 class="text-sm font-bold text-slate-900 mb-1">Q2 2026 Financial Results Release</h4> <p class="text-xs text-slate-600">Publication of second-quarter financial statements.</p> </div> <!-- Event Item 2 --> <div class="pb-4 border-b border-slate-100 last:border-none"> <span class="text-xs font-semibold text-slate-400 block mb-1">15 Aug 2026</span> <h4 class="text-sm font-bold text-slate-900 mb-1">Annual Public Expose 2026</h4> <p class="text-xs text-slate-600">Virtual public presentation on corporate performance.</p> </div> <!-- Event Item 3 --> <div class="pb-4 border-b border-slate-100 last:border-none"> <span class="text-xs font-semibold text-slate-400 block mb-1">30 Sep 2026</span> <h4 class="text-sm font-bold text-slate-900 mb-1">EGMS / Extraordinary GMS</h4> <p class="text-xs text-slate-600">Extraordinary general meeting of shareholders for the current fiscal year.</p> </div> <!-- Event Item 4 --> <div class="pb-4 border-b border-slate-100 last:border-none"> <span class="text-xs font-semibold text-slate-400 block mb-1">31 Oct 2026</span> <h4 class="text-sm font-bold text-slate-900 mb-1">Q3 2026 Financial Results Release</h4> <p class="text-xs text-slate-600">Publication of third-quarter financial statements.</p> </div> <!-- Event Item 5 --> <div class="pb-4 border-b border-slate-100 last:border-none"> <span class="text-xs font-semibold text-slate-400 block mb-1">15 Nov 2026</span> <h4 class="text-sm font-bold text-slate-900 mb-1">Analyst Meeting Q3</h4> <p class="text-xs text-slate-600">Quarterly performance discussion with capital market analysts.</p> </div> <!-- Event Item 6 --> <div class="pb-4 border-b border-slate-100 last:border-none"> <span class="text-xs font-semibold text-slate-400 block mb-1">15 Dec 2026</span> <h4 class="text-sm font-bold text-slate-900 mb-1">Investor Site Visit Project</h4> <p class="text-xs text-slate-600">Investor site visit to WEGE's strategic modular project.</p> </div> </div> </div> <!-- Tombol Lihat Kalender Lengkap --> <div class="pt-5 mt-5 border-t border-slate-100"> <a href="#" class="w-full block text-center py-3 px-4 rounded-xl border border-slate-300 text-slate-800 hover:bg-slate-900 hover:text-white hover:border-slate-900 font-semibold text-xs md:text-sm transition-all duration-300"> View Full Calendar </a> </div> </div> <!-- RIGHT COLUMN: QUICK LINKS (Diset h-full & flex-col agar sejajar presisi dengan kiri) --> <div class="lg:col-span-7 flex flex-col justify-between h-full investor-fade-section"> <!-- Header Quick Links --> <div class="space-y-1 mb-6"> <h2 class="text-3xl md:text-4xl font-black text-white tracking-tight"> Quick Links </h2> <p class="text-slate-300 text-sm md:text-base"> Frequently accessed corporate documents and reports. </p> </div> <!-- Grid Menu Quick Links (2x2 Card yang presisi) --> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 flex-grow"> <!-- Card Link 1 --> <a href="#" class="bg-white hover:bg-blue-50/90 border border-slate-100 p-5 rounded-2xl shadow-lg transition-all duration-300 flex items-start gap-4 group"> <div class="w-12 h-12 rounded-xl bg-slate-900 text-[#0095DA] flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform shadow-md"> <i class="fa-solid fa-file-lines text-lg"></i> </div> <div> <h4 class="text-base font-bold text-slate-900 group-hover:text-[#0095DA] transition-colors mb-1">Annual Report 2025</h4> <p class="text-xs text-slate-600 leading-relaxed">Full-year performance & strategy</p> </div> </a> <!-- Card Link 2 --> <a href="#" class="bg-white hover:bg-blue-50/90 border border-slate-100 p-5 rounded-2xl shadow-lg transition-all duration-300 flex items-start gap-4 group"> <div class="w-12 h-12 rounded-xl bg-slate-900 text-[#0095DA] flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform shadow-md"> <i class="fa-solid fa-chart-pie text-lg"></i> </div> <div> <h4 class="text-base font-bold text-slate-900 group-hover:text-[#0095DA] transition-colors mb-1">Financial Reports</h4> <p class="text-xs text-slate-600 leading-relaxed">Quarterly & annual statements</p> </div> </a> <!-- Card Link 3 --> <a href="#" class="bg-white hover:bg-blue-50/90 border border-slate-100 p-5 rounded-2xl shadow-lg transition-all duration-300 flex items-start gap-4 group"> <div class="w-12 h-12 rounded-xl bg-slate-900 text-[#0095DA] flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform shadow-md"> <i class="fa-solid fa-chalkboard-user text-lg"></i> </div> <div> <h4 class="text-base font-bold text-slate-900 group-hover:text-[#0095DA] transition-colors mb-1">Investor Presentation</h4> <p class="text-xs text-slate-600 leading-relaxed">Latest corporate update deck</p> </div> </a> <!-- Card Link 4 --> <a href="#" class="bg-white hover:bg-blue-50/90 border border-slate-100 p-5 rounded-2xl shadow-lg transition-all duration-300 flex items-start gap-4 group"> <div class="w-12 h-12 rounded-xl bg-slate-900 text-[#0095DA] flex items-center justify-center flex-shrink-0 group-hover:scale-105 transition-transform shadow-md"> <i class="fa-solid fa-scale-balanced text-lg"></i> </div> <div> <h4 class="text-base font-bold text-slate-900 group-hover:text-[#0095DA] transition-colors mb-1">Regulatory Filings</h4> <p class="text-xs text-slate-600 leading-relaxed">Disclosures to the exchange & regulators</p> </div> </a> </div> </div> </div> </div> </section> <style> /* Styling custom scrollbar terisolasi khusus section-wg-investor */ .section-wg-investor .investor-custom-scrollbar::-webkit-scrollbar { width: 6px; } .section-wg-investor .investor-custom-scrollbar::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 8px; } .section-wg-investor .investor-custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; } .section-wg-investor .investor-custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* Efek Fade-in terisolasi agar aman dari bentrok kelas global */ .section-wg-investor .investor-fade-section { opacity: 0; transform: translateY(30px); visibility: hidden; transition: opacity 0.8s ease-out, transform 0.8s ease-out; will-change: opacity, visibility, transform; } .section-wg-investor .investor-fade-section.is-visible { opacity: 1; transform: none; visibility: visible; } </style> <script> // Intersection Observer khusus untuk section-wg-investor (aman & bebas bentrok) document.addEventListener("DOMContentLoaded", function () { const investorObserverOptions = { root: null, rootMargin: '0px', threshold: 0.1 }; const investorObserver = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('is-visible'); } }); }, investorObserverOptions); document.querySelectorAll('.section-wg-investor .investor-fade-section').forEach(section => { investorObserver.observe(section); }); }); </script> <!-- Section Contact IR Personal (Full-Width White Background dengan Gambar Jelas di Atas) --> <section class="contact-wg-personal relative w-full bg-white overflow-hidden pb-20"> <!-- Banner Gambar di Bagian Atas (Jelas, Tanpa Gradasi Gelap) --> <div class="relative w-full h-64 lg:h-30 overflow-hidden bg-slate-100"> <img src="https://investor.wikagedung.co.id/images/relation-bg.png" alt="Relation Background" class="w-full h-full object-cover object-center"> <!-- Judul di atas banner gambar dengan efek teks yang mudah dibaca --> <div class="absolute inset-0 bg-black/20 flex items-center justify-center text-center px-6"> <h2 class="text-3xl lg:text-5xl font-light text-black tracking-tight drop-shadow-lg"> Investor Relations <span class="font-semibold text-amber-400"></span> </h2> </div> </div> <!-- Konten Info Kontak di Bawah Banner --> <div class="w-full px-6 lg:px-12 max-w-7xl mx-auto -mt-16 relative z-10"> <!-- Floating Hide/Show Scroll Card --> <div id="scrollContactCard" class="transition-all duration-500 transform translate-y-0 opacity-100 max-w-4xl mx-auto"> <div class="w-full bg-white/95 backdrop-blur-xl border border-gray-200/90 rounded-3xl p-6 lg:p-10 shadow-2xl shadow-slate-200/60 hover:border-slate-300 transition-all duration-300 flex flex-col md:flex-row items-center justify-between gap-8 group"> <!-- Profile Info --> <div class="flex items-center space-x-6 text-center md:text-left w-full md:w-auto"> <div> <h3 class="text-xl lg:text-2xl font-bold text-slate-900 tracking-tight">Adimas Anggoro</h3> <p class="text-xs lg:text-sm text-slate-600 font-medium mt-1">Manager of Investor Relations & GCG</p> <a href="mailto:investorrelations@wikagedung.id" class="inline-flex items-center text-xs lg:text-sm text-gray-500 hover:text-slate-900 transition mt-2 space-x-2"> <svg class="w-4 h-4 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/></svg> <span>investorrelations@wikagedung.id</span> </a> </div> </div> <!-- Action Button --> <div class="flex-shrink-0 w-full md:w-auto"> <a href="mailto:investorrelations@wikagedung.id" class="relative group/btn inline-flex items-center justify-center w-full md:w-auto px-8 py-4 rounded-2xl bg-slate-900 text-white font-semibold text-sm shadow-lg shadow-slate-900/10 hover:shadow-slate-900/20 hover:bg-slate-800 transition-all duration-300"> <span>Contact IR Directly</span> <svg class="w-4 h-4 ml-2.5 transform group-hover/btn:translate-x-1 transition-transform duration-300" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"/></svg> </a> </div> </div> </div> </div> </section> <style type="text/css"> .absolute.inset-0.bg-black/20.flex.items-center.justify-center.text-center.px-6 { background: none!important; } </style> <!-- JavaScript untuk Efek Hide/Show saat Scroll --> <script> let lastScrollTop = 0; const scrollCard = document.getElementById('scrollContactCard'); window.addEventListener('scroll', function() { let currentScroll = window.pageYOffset || document.documentElement.scrollTop; if (currentScroll > lastScrollTop && currentScroll > 100) { // Scroll ke Bawah -> Sembunyikan elemen scrollCard.classList.add('translate-y-10', 'opacity-0', 'pointer-events-none'); } else { // Scroll ke Atas -> Tampilkan kembali elemen scrollCard.classList.remove('translate-y-10', 'opacity-0', 'pointer-events-none'); } lastScrollTop = currentScroll <= 0 ? 0 : currentScroll; }, false); </script> <!-- ================= FOOTER-WG (CORPORATE FOOTER & SCROLL TO TOP) ================= --> <footer class="footer-wg relative bg-[#0085CA] text-white font-sans antialiased overflow-hidden pt-16 pb-8 px-6 md:px-12 lg:px-20"> <!-- Background Abstract Wave Overlay / Decorative Lines (Opsional untuk mempercantik sesuai desain) --> <div class="absolute inset-0 opacity-10 pointer-events-none overflow-hidden"> <svg class="w-full h-full" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 500" preserveAspectRatio="none"> <path fill="none" stroke="#ffffff" stroke-width="2" d="M0,160 C320,300 420,50 740,250 C1060,450 1220,100 1440,200"></path> <path fill="none" stroke="#ffffff" stroke-width="1.5" d="M0,260 C320,400 420,150 740,350 C1060,550 1220,200 1440,300"></path> <path fill="none" stroke="#ffffff" stroke-width="1" d="M0,60 C320,200 420,-50 740,150 C1060,350 1220,0 1440,100"></path> </svg> </div> <div class="max-w-7xl mx-auto relative z-10"> <!-- Main Footer Content Grid --> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-12 gap-10 pb-12 border-b border-white/20"> <!-- Column 1: Company Logo & Address (Col Span 4) --> <div class="lg:col-span-4 space-y-6"> <!-- Logo --> <div class="flex items-center gap-2"> <img src="https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?auto=format&fit=crop&w=150&q=80" alt="WIKA Gedung Logo Placeholder" class="h-10 w-auto rounded bg-white p-1 object-contain hidden"> <!-- Ganti src jika punya logo asli berbentuk PNG putih --> <div class="bg-white px-3 py-1.5 rounded-lg shadow-md flex items-center"> <img src="https://www.wikagedung.co.id/images/ic_wika_gedung.svg" alt="WIKA Gedung Logo" class="h-7 w-auto object-contain"> </div> </div> <!-- Address --> <p class="text-sm text-sky-100 leading-relaxed pr-4"> PT Wijaya Karya Bangunan Gedung Tbk.<br> WIKA Tower II, Lt. 14–15<br> Jl. DI. Panjaitan Kav. 10, Jakarta Timur 13340 </p> <!-- Contact Info --> <div class="space-y-3 text-sm text-sky-100"> <a href="mailto:corsec@wikagedung.id" class="flex items-center gap-3 hover:text-white transition-colors"> <i class="fa-solid fa-envelope text-base w-5"></i> <span>Email: corsec@wikagedung.id</span> </a> <a href="tel:+622185909003" class="flex items-center gap-3 hover:text-white transition-colors"> <i class="fa-solid fa-phone text-base w-5"></i> <span>Phone: +6221-8590-9003</span> </a> <a href="#" class="flex items-center gap-3 hover:text-white transition-colors"> <i class="fa-solid fa-comment-dots text-base w-5"></i> <span>Chatbot GIVA</span> </a> </div> </div> <!-- Column 2: Company Info (Col Span 2) --> <div class="lg:col-span-2 space-y-4"> <h4 class="text-xs font-bold tracking-widest uppercase text-white">Company Info</h4> <ul class="space-y-2.5 text-sm text-sky-100"> <li><a href="#" class="hover:text-white hover:underline transition-all">About Us</a></li> <li><a href="#" class="hover:text-white hover:underline transition-all">Awards & Certificates</a></li> <li><a href="#" class="hover:text-white hover:underline transition-all">Vission & Mission</a></li> </ul> </div> <!-- Column 3: Sustainability (Col Span 2) --> <div class="lg:col-span-2 space-y-4"> <h4 class="text-xs font-bold tracking-widest uppercase text-white">Sustainability</h4> <ul class="space-y-2.5 text-sm text-sky-100"> <li><a href="#" class="hover:text-white hover:underline transition-all">Corporate Social Responsibility</a></li> </ul> </div> <!-- Column 4: Media (Col Span 2) --> <div class="lg:col-span-2 space-y-4"> <h4 class="text-xs font-bold tracking-widest uppercase text-white">Media</h4> <ul class="space-y-2.5 text-sm text-sky-100"> <li><a href="#" class="hover:text-white hover:underline transition-all">Press Activities</a></li> <li><a href="#" class="hover:text-white hover:underline transition-all">News</a></li> <li><a href="#" class="hover:text-white hover:underline transition-all">Press Release</a></li> <li><a href="#" class="hover:text-white hover:underline transition-all">Ebook</a></li> </ul> </div> <!-- Column 5: Certificate & Social Media (Col Span 2 / Gabungan kanan) --> <div class="lg:col-span-2 space-y-6"> <!-- Certificate --> <div class="space-y-3"> <h4 class="text-xs font-bold tracking-widest uppercase text-white">Certificate</h4> <div class="flex items-center gap-3"> <!-- Badge BSI / ISO --> <div class="bg-white p-1.5 rounded-lg shadow-sm w-24 h-14 flex items-center justify-center overflow-hidden"> <img src="https://www.wikagedung.co.id/_next/image?url=%2Fimages%2Fbsi-verified%2Fbim-verified-iso-19650-012019.png&w=384&q=75" alt="BSI ISO 19650-1 & 2" class="max-w-full max-h-full object-contain" /> </div> <!-- Badge TUV NORD --> <div class="bg-white p-1.5 rounded-lg shadow-sm w-20 h-14 flex items-center justify-center overflow-hidden"> <img src="https://www.wikagedung.co.id/_next/image?url=%2Fimages%2Fbsi-verified%2Fiso-iec-27001-tuv-nord.png&w=256&q=75" alt="TÜV NORD ISO/IEC 27001" class="max-w-full max-h-full object-contain" /> </div> </div> </div> <!-- Social Media --> <div class="space-y-3"> <h4 class="text-xs font-bold tracking-widest uppercase text-white">Social Media</h4> <div class="flex flex-wrap gap-2.5"> <a href="#" class="w-9 h-9 rounded-full bg-white/10 hover:bg-white hover:text-[#0085CA] text-white flex items-center justify-center transition-all duration-300"> <i class="fa-brands fa-linkedin-in text-sm"></i> </a> <a href="#" class="w-9 h-9 rounded-full bg-white/10 hover:bg-white hover:text-[#0085CA] text-white flex items-center justify-center transition-all duration-300"> <i class="fa-brands fa-facebook-f text-sm"></i> </a> <a href="#" class="w-9 h-9 rounded-full bg-white/10 hover:bg-white hover:text-[#0085CA] text-white flex items-center justify-center transition-all duration-300"> <i class="fa-brands fa-youtube text-sm"></i> </a> <a href="#" class="w-9 h-9 rounded-full bg-white/10 hover:bg-white hover:text-[#0085CA] text-white flex items-center justify-center transition-all duration-300"> <i class="fa-brands fa-x-twitter text-sm"></i> </a> <a href="#" class="w-9 h-9 rounded-full bg-white/10 hover:bg-white hover:text-[#0085CA] text-white flex items-center justify-center transition-all duration-300"> <i class="fa-brands fa-instagram text-sm"></i> </a> <a href="#" class="w-9 h-9 rounded-full bg-white/10 hover:bg-white hover:text-[#0085CA] text-white flex items-center justify-center transition-all duration-300"> <i class="fa-brands fa-tiktok text-sm"></i> </a> <a href="#" class="w-9 h-9 rounded-full bg-white/10 hover:bg-white hover:text-[#0085CA] text-white flex items-center justify-center transition-all duration-300"> <i class="fa-brands fa-spotify text-sm"></i> </a> </div> </div> </div> </div> <!-- Footer Bottom Bar (Copyright & Policy) --> <div class="pt-8 flex flex-col sm:flex-row items-center justify-between gap-4 text-xs text-sky-100"> <p>Copyright © 2026 - All rights reserved by PT Wijaya Karya Bangunan Gedung Tbk.</p> <div class="flex items-center gap-6"> <a href="#" class="hover:text-white transition-colors">Terms Conditions</a> <a href="#" class="hover:text-white transition-colors">Privacy Policy</a> </div> </div> </div> <!-- Move to Scroll / Scroll to Top Button (Terisolasi di dalam footer-wg) --> <button id="footerWgScrollTopBtn" aria-label="Scroll to top" class="fixed bottom-6 right-6 z-50 w-12 h-12 rounded-full bg-slate-900 text-white shadow-2xl flex items-center justify-center opacity-0 invisible translate-y-4 hover:bg-white hover:text-[#0085CA] hover:scale-110 transition-all duration-300 border border-white/20 cursor-pointer"> <i class="fa-solid fa-arrow-up text-base"></i> </button> </footer> <script> // Skrip terisolasi untuk tombol scroll to top (Bebas bentrok) document.addEventListener("DOMContentLoaded", function () { const scrollTopBtn = document.getElementById("footerWgScrollTopBtn"); if (scrollTopBtn) { // Munculkan tombol saat halaman di-scroll ke bawah sejauh 300px window.addEventListener("scroll", function () { if (window.scrollY > 300) { scrollTopBtn.classList.remove("opacity-0", "invisible", "translate-y-4"); scrollTopBtn.classList.add("opacity-100", "visible", "translate-y-0"); } else { scrollTopBtn.classList.remove("opacity-100", "visible", "translate-y-0"); scrollTopBtn.classList.add("opacity-0", "invisible", "translate-y-4"); } }); // Aksi klik untuk kembali smooth scroll ke atas halaman scrollTopBtn.addEventListener("click", function () { window.scrollTo({ top: 0, behavior: "smooth" }); }); } }); </script> <!-- ================= SCRIPTS ================= --> <script> // 1. Header Scroll Shrink & Background Change Effect const header = document.getElementById('main-header'); const stockWidget = document.getElementById('stock-widget'); window.addEventListener('scroll', () => { if (window.scrollY > 40) { header.classList.remove('bg-transparent', 'py-3', 'text-white'); header.classList.add('bg-white/95', 'backdrop-blur-md', 'py-2', 'text-slate-800', 'shadow-md', 'border-b', 'border-slate-200'); stockWidget.classList.remove('bg-white/10', 'border-white/20'); stockWidget.classList.add('bg-slate-100', 'border-slate-200', 'text-slate-800'); } else { header.classList.remove('bg-white/95', 'backdrop-blur-md', 'py-2', 'text-slate-800', 'shadow-md', 'border-b', 'border-slate-200'); header.classList.add('bg-transparent', 'py-3', 'text-white'); stockWidget.classList.remove('bg-slate-100', 'border-slate-200', 'text-slate-800'); stockWidget.classList.add('bg-white/10', 'border-white/20'); } }); // 2. Mobile Menu Toggle const mobileMenuBtn = document.getElementById('mobile-menu-btn'); const mobileCloseBtn = document.getElementById('mobile-close-btn'); const mobileMenu = document.getElementById('mobile-menu'); mobileMenuBtn.addEventListener('click', () => { mobileMenu.classList.remove('translate-x-full'); }); mobileCloseBtn.addEventListener('click', () => { mobileMenu.classList.add('translate-x-full'); }); // 3. Stock Widget Real-Time Simulation function updateStockWidget() { const priceEl = document.getElementById('stock-price'); let basePrice = 5300; let randomFluctuation = Math.floor(Math.random() * 20) - 10; let currentPrice = (basePrice + randomFluctuation) / 100; priceEl.innerText = `IDR ${currentPrice.toFixed(2)}`; } setInterval(updateStockWidget, 5000); // 4. Hero Slider with Auto Slide, Circle Progress, and Controls const slides = document.querySelectorAll('.slider-item'); const nextBtn = document.getElementById('next-btn'); const prevBtn = document.getElementById('prev-btn'); const slideCounter = document.getElementById('slide-counter'); const progressRingPath = document.getElementById('progress-ring-path'); let currentIndex = 0; const totalSlides = slides.length; const slideIntervalTime = 6000; let timer; let progressInterval; let startTime; function showSlide(index) { slides.forEach((slide, i) => { slide.classList.remove('opacity-100', 'z-10'); slide.classList.add('opacity-0', 'z-0'); if (i === index) { slide.classList.remove('opacity-0', 'z-0'); slide.classList.add('opacity-100', 'z-10'); } }); slideCounter.innerText = `0${index + 1}/0${totalSlides}`; } function setProgressCircle(duration) { clearInterval(progressInterval); startTime = Date.now(); progressInterval = setInterval(() => { let elapsed = Date.now() - startTime; let progress = (elapsed / duration) * 100; if (progress >= 100) { progress = 100; } let strokeVal = 100 - progress; progressRingPath.style.strokeDasharray = `${strokeVal}, 100`; if (progress >= 100) { clearInterval(progressInterval); } }, 50); } function nextSlide() { currentIndex = (currentIndex + 1) % totalSlides; showSlide(currentIndex); resetTimer(); } function prevSlide() { currentIndex = (currentIndex - 1 + totalSlides) % totalSlides; showSlide(currentIndex); resetTimer(); } function resetTimer() { clearInterval(timer); clearInterval(progressInterval); setProgressCircle(slideIntervalTime); timer = setInterval(nextSlide, slideIntervalTime); } nextBtn.addEventListener('click', nextSlide); prevBtn.addEventListener('click', prevSlide); resetTimer(); // 5. WG2 Section Photo Slider & Auto Slide let wg2CurrentSlide = 0; const wg2TotalSlides = 2; const wg2SliderTrack = document.getElementById('wg2SliderTrack'); const wg2Dots = document.querySelectorAll('.wg2-slider-dot'); function goToWg2Slide(index) { wg2CurrentSlide = index; wg2SliderTrack.style.transform = `translateX(-${wg2CurrentSlide * 100}%)`; wg2Dots.forEach((dot, idx) => { if (idx === wg2CurrentSlide) { dot.classList.remove('w-2', 'bg-white/60'); dot.classList.add('w-6', 'bg-white'); } else { dot.classList.remove('w-6', 'bg-white'); dot.classList.add('w-2', 'bg-white/60'); } }); } setInterval(() => { wg2CurrentSlide = (wg2CurrentSlide + 1) % wg2TotalSlides; goToWg2Slide(wg2CurrentSlide); }, 5000); // 6. Fade-In Section Animation on Scroll (Intersection Observer) document.addEventListener("DOMContentLoaded", function () { const observerOptions = { root: null, rootMargin: '0px', threshold: 0.15 }; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('is-visible'); } else { entry.target.classList.remove('is-visible'); } }); }, observerOptions); document.querySelectorAll('.fade-in-section').forEach(section => { observer.observe(section); }); }); </script> </body> </html>
🖥️ Live Responsive Preview
Desktop
Tablet
Mobile
URL Publik:
https://remark.co.id/micro/demo/
Simpan Microsite