@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@400;700;900&display=bold);:root{--color-primary:#2B2D42;--color-secondary:#4F539C;--color-white:#FFFFFF;--color-black:#000000;--color-overlay-dark:rgba(0,0,0,0.5);--color-webkit-tap-highlight:rgba(0,0,0,0);--color-gradient-start:var(--color-primary);--color-hover-bg:rgba(255,255,255,0.1);--color-footer-bg1:var(--color-primary);--color-footer-bg2:var(--color-secondary);--color-footer-text:rgba(255,255,255,0.8);--color-footer-line:rgba(255,255,255,0.2);--color-border-gray:#9EA7B4;--color-box-shadow:#868ADF;--color-text-dark:#353940;--color-accent:#8D99AE;--color-surface:#EDF2F4;--color-skill-bar-bg:#ddd}*{margin:0;padding:0;text-decoration:none;box-sizing:border-box;-webkit-tap-highlight-color:var(--color-webkit-tap-highlight)}html{scroll-behavior:smooth;font-size:11.5px}body{background:var(--color-white);font-family:Poppins,Arial,Helvetica Neue,Helvetica,sans-serif;overflow-x:hidden}::selection{background-color:var(--color-secondary);color:var(--color-white)}.inner-width{margin:auto;padding:5%}section{padding-top:50px;padding-bottom:50px}section.bg-abu{background-color:var(--color-surface)}.navigation-bar{position:fixed;top:0;left:0;width:100%;background:linear-gradient(135deg,var(--color-gradient-start) 0,var(--color-secondary) 100%);color:var(--color-white);padding:10px 5%;z-index:1000;display:flex;align-items:center}.navigation-bar .toggle-button{cursor:pointer;font-size:25px;color:var(--color-white)}.navigation-bar h3{margin-left:1rem;font-size:1.3rem}.navigation-bar .logo{height:40px;max-width:120px;object-fit:contain;transition:transform .3s}.navigation-bar .logo:hover{transform:scale(1.1)}.main-menu{position:fixed;top:0;left:-250px;width:250px;height:100%;background:linear-gradient(985deg,var(--color-gradient-start) 0,var(--color-secondary) 100%);box-shadow:2px 0 5px var(--color-overlay-dark);color:var(--color-white);z-index:1100;overflow-y:auto;padding:20px 0;transition:left .5s;list-style:none;margin:0}.main-menu.active{left:0}a.menu-item{color:var(--color-white);text-decoration:none;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;font-size:16px;transition:background-color .3s}a.menu-item i{font-size:18px;transition:color .3s}.skill-tech-bub img{width:15px;height:15px;filter:drop-shadow(1px 1px 1px rgba(0, 0, 0, .3));vertical-align:middle;margin-right:4px}.timeline-horizontal{--primary:#6c63ff;--primary-dark:#5048d6;--bg:#f0f4ff;--card:#fff;--text:#2b2e4a;--subtext:#4e4e76;--line:#d3d7ff;display:flex;justify-content:space-between;align-items:flex-start;padding:2rem;background-color:var(--bg);border-radius:10px;gap:1.5rem;overflow-x:auto}.timeline-horizontal .event{background:var(--card);border:1.5px solid var(--line);border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.1);padding:1rem;min-width:220px;flex:none;text-align:center;position:relative;transition:transform .3s}.timeline-horizontal .event:hover{transform:translateY(-4px)}.timeline-horizontal .icon-wrap{position:relative;margin-bottom:.8rem}.timeline-horizontal .dot{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:16px;height:16px;background:var(--primary);border-radius:50%;z-index:1;box-shadow:0 0 6px rgba(108,99,255,.4)}.timeline-horizontal .icon{width:40px;height:40px;stroke:var(--primary-dark);margin:auto;z-index:2}.timeline-horizontal .content{margin-top:.5rem}.timeline-horizontal .timeline-date{font-weight:600;font-size:.9rem;color:var(--primary-dark);margin-bottom:.2rem}.timeline-horizontal h3{font-size:1.1rem;color:var(--text);margin:.2rem 0}.timeline-horizontal p{font-size:.9rem;color:var(--subtext);margin:0}.timeline-horizontal::-webkit-scrollbar{height:8px}.timeline-horizontal::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:4px}a.menu-item:hover i{color:var(--color-black)}.garis-putus{height:1px;background-color:var(--color-footer-line);margin:10px 20px}.menu-item.has-submenu .submenu.fade-out{opacity:0;max-height:0}.menu-item a.hover-reset{background-color:initial!important;color:initial!important}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-overlay-dark);z-index:1050;opacity:0;pointer-events:none;transition:opacity .3s}.overlay.active{opacity:1;pointer-events:all}.header-atas{margin-top:100px;font-size:1rem;text-align:left;padding:10px 10px 10px 35px;background-color:var(--color-secondary);border:var(--color-black) 3.5px solid;color:var(--color-white);border-radius:10px;position:relative;overflow:hidden}.buletan{width:100px;height:100px;position:absolute;top:50%;left:75%;transform:translateY(-50%);border-radius:50%;pointer-events:none;border:3.5px solid transparent;background:linear-gradient(90deg,#ff3cac,#784ba0,#2b86c5,#ff3cac);background-size:300% 300%;animation:4s linear infinite gradientShift;box-shadow:inset 0 0 0 3.5px #000;background-clip:padding-box;background-color:var(--color-accent);font-family:"Font Awesome 6 Free";font-weight:900;display:flex;align-items:center;justify-content:center}.buletan::after{content:"\f121";font-size:40px;color:#000;pointer-events:none}@keyframes gradientShift{0%{background-position:0 50%}100%{background-position:300% 50%}}.header-text{margin:30px 0;font-family:Roboto,sans-serif}.header-text u{color:var(--color-secondary)}.header-text h3{margin-top:0;margin-bottom:0;font-size:3.5rem;font-weight:900;line-height:1.1;letter-spacing:2px}.header-text p{font-size:1.5rem;margin:20px 0}.image-decorator-container{padding:25px}.image-decorator-container img{width:100%;height:auto;border:3.5px solid var(--color-black);box-shadow:10px 10px 0 var(--color-accent);margin-bottom:50px}.deco-1{position:absolute;margin-top:20px;margin-left:-50px;z-index:-1;width:100px;height:120px;background-color:var(--color-accent);border:2.5px solid var(--color-black)}.tag-about,.tag-project{border:2px solid var(--color-black);border-radius:5px;padding:7.5px 15px;text-align:center;width:130px;font-size:1.3rem;margin:25px 0;background-color:var(--color-secondary);color:var(--color-white)}.tag-about{transform:rotate(-2.5deg)}.tag-project{transform:rotate(2.5deg)}.about-img{width:100%;height:auto;border:3.5px solid var(--color-black);border-radius:7.5px;margin-top:15px}.story h3{font-family:Roboto,sans-serif;font-size:3rem;margin:25px 0;text-decoration:underline;color:var(--color-secondary)}.story p{font-size:1.5rem;margin-bottom:50px}.project-con{display:flex;flex-wrap:wrap;margin-top:45px;justify-content:space-between}.bubble-project{border-radius:10px;border:solid var(--color-black) 4px;margin-bottom:20px;width:100%}.project-img img{width:100%;border-radius:5px 5px 0 0;margin-bottom:-5px}.project-desc{padding:20px;background-color:var(--color-surface);border-radius:0 0 10px 10px}.project-desc h3{font-size:2rem}.project-desc p{font-size:1.5rem;margin-bottom:10px}.project-desc a{display:flex;justify-content:right;color:var(--color-secondary);font-size:15px}.project-tech{display:flex;justify-content:space-between;margin-bottom:15px}.project-tech b{font-size:1.2rem;padding:5px 12px;background-color:var(--color-accent);border:solid var(--color-black) 1.5px}.skill-desc{max-width:600px;margin:0 auto;font-family:sans-serif;color:var(--color-black)}.skill-desc h2{font-size:3rem;margin-top:40px;margin-bottom:15px}.skill-desc p{line-height:1.5;margin-bottom:30px;font-size:1.5rem}.skill-bar-con{margin-bottom:1.2rem}.skill-info{display:flex;justify-content:space-between;margin-bottom:5px;font-weight:600}.skill-percent,.skill-title{font-size:1.5rem}.skill-bar{background:var(--color-skill-bar-bg);border-radius:999px;overflow:hidden;height:15px;border:1.5px solid var(--color-black)}.skill-fill{background:var(--color-accent);height:100%;border-radius:999px;transition:width .6s}.skill-tech{margin-top:35px}.skill-tech h2{font-size:1.8rem;margin-bottom:20px}.skill-tech-con{display:flex;flex-wrap:wrap;justify-content:space-between}.skill-tech-bub{font-size:1.2rem;padding:10px 15px;color:var(--color-white);border-radius:5px;width:calc(50% - 5px);border:var(--color-black) 1.5px solid;background-color:var(--color-accent);text-align:center;margin-bottom:10px}.contact-info{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:50px;margin-bottom:60px}.item{margin-bottom:10px}.contact-info .item{width:calc(50% - 5px);background-color:var(--color-accent);color:var(--color-white);text-align:center;border-radius:4px;border:1.5px var(--color-black) solid;padding:15px}.contact-info i{display:block;font-size:2rem;margin-bottom:10px}footer{padding:5%;background:linear-gradient(135deg,var(--color-footer-bg1) 0,var(--color-footer-bg2) 100%)}.footer-text-head{margin:20px 0}.footer-text-head h3{color:var(--color-white);font-size:2rem}.footer-text-head p{color:var(--color-footer-text);margin:15px 0;font-size:1.2rem}.footer-icon-con{display:flex;gap:20px}.footer-icon{color:var(--color-footer-text);font-size:2rem}.footer-text-body{margin:20px 0;font-size:1.2rem}.footer-text-body h2{color:var(--color-white);margin-bottom:15px}.footer-body{color:var(--color-footer-text);display:block;margin-bottom:15px}.garis-footer{background-color:var(--color-footer-line);width:100%;height:1px;margin:25px 0}.footer-copyright{color:var(--color-footer-text);text-align:center;font-size:1.5rem;white-space:nowrap;margin-bottom:25px}@media (min-width:769px){.navigation-bar{padding:20px 5%;justify-content:space-between}.navigation-bar .toggle-button{display:none}.navigation-bar h3{font-size:1.75rem;margin:0}.main-menu{position:static;display:flex;flex-direction:row;background:0 0;height:auto;width:auto;box-shadow:none;padding:0;overflow:visible}a.menu-item{padding:0 1rem;font-size:1.3rem;justify-content:flex-start;gap:.5rem;border-radius:4px}a.menu-item.signup{background:var(--color-white);color:var(--color-primary);border-radius:4px;padding:.5rem 1rem;margin-left:1rem}a.menu-item.signup:hover{background-color:var(--color-hover-bg);color:var(--color-primary)}.garis-putus{display:none}.footer-text-body{margin:35px 0;font-size:1.5rem}.footer-icon,.footer-text-head h3{font-size:3.25rem}.footer-text-head p{margin:25px 0;font-size:1.5rem}.footer-copyright{font-size:1.5rem}.garis-footer{margin:40px 0}.hero{display:flex}.header-con1,.header-con2{width:50%;justify-content:center;align-content:center;align-items:center}.image-decorator-container{margin-top:80px;padding:150px;display:flex;justify-content:center;align-content:center;align-items:center}.header-atas{font-size:1.3rem}.header-text h3{font-size:6rem;letter-spacing:10px}.header-text p{font-size:2rem}.deco-1{display:none}.story{padding:25px}.about-img-con{padding:50px;margin-top:0}.about-img{box-shadow:-10px 10px 0 var(--color-accent)}.tag-about{padding:7.5px 15px;width:180px;font-size:2.3rem;margin:0}.tag-project{padding:7.5px 15px;width:220px;font-size:2.3rem;margin:0}.story h3{font-size:2.3rem}.story p{font-size:1.7rem;margin-bottom:0}.bubble-project{width:calc(50% - 10px)}.project-desc h3{font-size:3rem}.project-desc p{font-size:2rem}.project-tech b{font-size:1.8rem}.project-tech{justify-content:flex-start;gap:20px}.project-desc a{font-size:1.8rem;text-decoration:underline}.skill-desc,.skill-tech{padding:0 10px;width:100%}.skill-desc h2{font-size:3rem}.skill-desc p{font-size:1.7rem}.skill-percent,.skill-title{font-size:2rem}.skill-tech h2{font-size:2.5rem;margin-top:80px}.skill-tech-bub{font-size:2rem;width:calc(33.33% - 10px)}.block{text-align:center}.block h3{font-size:2rem}.block p{font-size:1.7rem}.contact-info .item{font-size:1.7rem;width:calc(33.33% - 10px);padding:25px}.contact-info i{font-size:4rem;margin-bottom:15px}}.js,.js i{color:#f7df1e;text-shadow:0 0 10px #f7df1e}.html,.html i{color:#ff00ff;text-shadow:0 0 10px #ff00ff}.css,.css i{color:khaki;text-shadow:0 0 10px khaki}.mysql,.mysql i{color:#00ff7f;text-shadow:0 0 10px #00ff7f}.git,.git i{color:#f05032;text-shadow:0 0 10px #f05032}.vercel,.vercel i{color:#ffdead;text-shadow:0 0 8px #ffdead}.node,.node i{color:#adff2f;text-shadow:0 0 10px #adff2f}.baileys,.baileys i{color:#4479a1;text-shadow:0 0 10px #4479a1}.skill-tech-bub:focus,.skill-tech-bub:hover{filter:drop-shadow(0 0 14px currentColor);transform:translateY(-5px) scale(1.1);transition:transform .3s,filter .3s}.block{border:1px solid #ccc;padding:15px;margin-bottom:20px;border-radius:10px;cursor:pointer;transition:box-shadow .3s}.block:hover{box-shadow:0 4px 10px rgba(0,0,0,.15)}.popup-overlay{top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;padding:20px;z-index:9999}.noscroll{overflow:hidden}@tailwind base;@tailwind components;@tailwind utilities;@layer utilities{.animated-shadow{@apply text-white text-center font-bold;animation:5s linear infinite shadowGlow}}@keyframes shadowGlow{0%,100%{text-shadow:1px 1px 2px #888,0 0 5px red,0 0 10px orange}25%{text-shadow:1px 1px 2px #888,0 0 5px orange,0 0 10px #ff0}50%{text-shadow:1px 1px 2px #888,0 0 5px green,0 0 10px #00f}75%{text-shadow:1px 1px 2px #888,0 0 5px indigo,0 0 10px violet}}.popup-content{background:#fff;border-radius:12px;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;padding:25px 30px 30px;box-sizing:border-box;position:relative;box-shadow:0 8px 20px rgba(0,0,0,.3);display:flex;flex-direction:column}.popup-close{position:absolute;top:12px;right:18px;font-size:28px;font-weight:700;color:#333;cursor:pointer;user-select:none}.popup-title{font-size:1.7rem;margin-bottom:20px;font-weight:700;text-align:center;color:#222}.mySwiper{width:100%;height:320px;flex-shrink:0}.swiper-wrapper{display:flex;align-items:center}.swiper-slide{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.swiper-slide img{height:auto;width:100%;max-height:220px;object-fit:cover;border-radius:12px;padding:6px;background:#fff;border:3px solid #bbb;box-shadow:0 6px 18px rgba(0,0,0,.25);margin-bottom:14px;box-sizing:border-box}.swiper-slide p{text-align:center;font-size:1rem;color:#333;margin:0;padding:0 10px}.swiper-button-next,.swiper-button-prev{color:#444;top:45%;width:28px;height:28px}.swiper-pagination-bullet{background:#777;opacity:.9}* .map-modal{display:none;position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);animation:.3s forwards fadeIn;justify-content:center;align-items:center}.map-modal.show{display:flex}.map-modal-content{background:#fff;border-radius:16px;width:90%;max-width:420px;box-shadow:0 10px 30px rgba(0,0,0,.3);overflow:hidden;position:relative;animation:.3s forwards slideUp}.close-btn{position:absolute;top:12px;right:16px;background:0 0;border:none;cursor:pointer;padding:4px;transition:transform .2s,stroke .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover svg line{stroke:#E63946}.close-btn:hover{transform:rotate(90deg)}@keyframes fadeIn{from{background-color:rgba(0,0,0,0)}to{background-color:rgba(0,0,0,.6)}}@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes glitch-shadow{0%{text-shadow:2px 0 red,-2px 2px #00f,1px -1px currentColor}20%{text-shadow:-2px -2px red,3px 1px #00f,-1px 2px currentColor}40%{text-shadow:1px 2px red,-3px -1px #00f,2px -2px currentColor}60%{text-shadow:-1px -1px red,2px 2px #00f,-2px 1px currentColor}80%{text-shadow:3px 1px red,-1px -2px #00f,1px 1px currentColor}100%{text-shadow:0 0 currentColor}}.bg-abu.inner-width{margin-top:3rem;height:15px;filter:drop-shadow(1px 1px 1px rgba(0, 0, 0, .3));vertical-align:middle;margin-right:4px}