/*! tailwindcss v3.0.23 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:16px;padding-left:16px}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1320px){.container{max-width:1320px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.left-0{left:0}.right-4{right:1rem}.top-full{top:100%}.bottom-0{bottom:0}.left-1\/2{left:50%}.bottom-4{bottom:1rem}.z-10{z-index:10}.z-\[9999\]{z-index:9999}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mt-3{margin-top:.75rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mb-5{margin-bottom:1.25rem}.mb-10{margin-bottom:2.5rem}.mt-10{margin-top:2.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mr-3{margin-right:.75rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-12{margin-bottom:3rem}.mt-5{margin-top:1.25rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.h-5{height:1.25rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-32{height:8rem}.h-14{height:3.5rem}.w-full{width:100%}.w-9{width:2.25rem}.w-4{width:1rem}.w-14{width:3.5rem}.w-5{width:1.25rem}.max-w-\[250px\]{max-width:250px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-\[120px\]{max-width:120px}.origin-top-left{transform-origin:top left}.origin-bottom-left{transform-origin:bottom left}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-l-2{border-left-width:2px}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-dark{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-4{padding:1rem}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pl-8{padding-left:2rem}.pt-36{padding-top:9rem}.pb-32{padding-bottom:8rem}.pb-16{padding-bottom:4rem}.pt-24{padding-top:6rem}.pb-12{padding-bottom:3rem}.pt-10{padding-top:2.5rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.text-primary{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity))}.text-dark{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-secondary,.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}body{font-family:Inter,sans-serif}.navbar-fixed{position:fixed;z-index:9999;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-bg-opacity:0.7;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.dark .navbar-fixed{background-color:rgb(15 23 42/var(--tw-bg-opacity));--tw-bg-opacity:0.5}.navbar-fixed{box-shadow:inset 0 -1px 0 0 #0003}.hamburger-line{margin-top:.5rem;margin-bottom:.5rem;display:block;height:2px;width:30px;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.dark .hamburger-line{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hamburger-active>span:first-child{--tw-rotate:45deg}.hamburger-active>span:first-child,.hamburger-active>span:nth-child(2){transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hamburger-active>span:nth-child(2){--tw-scale-x:0;--tw-scale-y:0}.hamburger-active>span:nth-child(3){--tw-rotate:-45deg}#dark-toggle:checked~label div.toggle-circle,.hamburger-active>span:nth-child(3){transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#dark-toggle:checked~label div.toggle-circle{--tw-translate-x:0.75rem}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}.hover\:animate-pulse:hover{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\:border-primary:hover{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity))}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:grayscale-0:hover{--tw-grayscale:grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity))}.group:hover .group-hover\:text-primary{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity))}.dark .dark\:bg-dark{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.dark .dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.dark .dark\:bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.dark .dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark .dark\:text-dark{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.dark .dark\:shadow-slate-500{--tw-shadow-color:#64748b;--tw-shadow:var(--tw-shadow-colored)}@media (min-width:640px){.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:768px){.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:static{position:static}.lg\:right-0{right:0}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:mt-0{margin-top:0}.lg\:mt-9{margin-top:2.25rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:w-2\/3{width:66.666667%}.lg\:max-w-full{max-width:100%}.lg\:rounded-none{border-radius:0}.lg\:bg-transparent{background-color:initial}.lg\:pt-10{padding-top:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark .lg\:dark\:bg-transparent{background-color:initial}}@media (min-width:1280px){.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:w-10\/12{width:83.333333%}.xl\:w-1\/3{width:33.333333%}}

  

  .shape-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    animation: rotate-svg 20s linear infinite;
  }
  
  .image-fit {
    width: 240px; /* Increase the width */
    height: 240px; /* Increase the height */
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    clip-path: ellipse(50% 50% at 50% 50%);
    animation: scale-image 1s ease-out forwards;
  }
  
  @media (max-width: 768px) {
    /* Styles for devices with a maximum screen width of 768px (tablet and smartphone) */
    .image-fit {
      width: 200px; /* Increase size for smaller devices */
      height: 200px; /* Increase size for smaller devices */
    }
  
    .shape-svg {
      width: 260px; /* Increase SVG size accordingly */
      height: 260px; /* Increase SVG size accordingly */
    }
  
    .hero-text {
      text-align: center; /* Align text in the center on smaller devices */
      margin-bottom: 20px; /* Add margin for spacing */
    }
  
    .flex-wrap {
      flex-direction: column; /* Change flex direction to stack elements vertically */
      align-items: center;
    }
  }
  
  @media (min-width: 1024px) {
    /* Styles for large screens */
    .image-fit {
      width: 480px; /* Further increase size for larger screens */
      height: 480px; /* Further increase size for larger screens */
    }
  
    .shape-svg {
      width: 360px; /* Adjust SVG size for large screens */
      height: 360px; /* Adjust SVG size for large screens */
    }
  }
  
  @keyframes wave {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(14deg); }
    20% { transform: rotate(-8deg); }
    30% { transform: rotate(14deg); }
    40% { transform: rotate(-4deg); }
    50% { transform: rotate(10deg); }
    60% { transform: rotate(0deg); }
    100% { transform: rotate(0deg); }
  }

  .waving-hand {
    display: inline-block;
    animation: wave 2s infinite;
    transform-origin: 70% 70%;
  }

  svg {
    width: 300px; /* Set the desired width */
    height: auto; /* Let the height be automatically adjusted */
  }
  .progress-bar {
        position: relative;
        height: 1.5rem;
        display: flex;
        gap: 4px;
        /* Gap between segments */
    }

    .progress-bar-segment {
        width: 10%;
        height: 100%;
        background-color: #14b8a6;
        /* Fill color */
        border: 2px solid #14b8a6;
        /* Border color to define segment */
        border-radius: 0.25rem;
        transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
    }

    .progress-bar-segment-empty {
        background-color: #e5e7eb;
        /* Background color for empty segments */
        border-color: #d1d5db;
        /* Border color for empty segments */
    }

    .progress-bar:hover .progress-bar-segment {
        background-color: #0f766e;
        /* Darker color on hover */
        border-color: #0f766e;
    }

    .skill-container {
        margin-bottom: 1.5rem;
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
    }

    .skill-container img {
        width: 60px;
        height: 60px;
        margin-right: 1rem;
        transition: transform 0.3s ease-in-out;
    }

    .skill-container:hover img {
        transform: scale(1.1);
    }

    .skill-text {
        font-size: 1.2rem;
        /* Ukuran teks diperbesar */
    }
   
  .custom-confirm-button {
    background-color: #91DDCF; /* Warna hijau yang cantik */
    color: white; /* Warna teks */
    font-size: 16px; /* Ukuran font */
    font-weight: bold; /* Ketebalan font */
    padding: 12px 24px; /* Spasi dalam tombol */
    border-radius: 8px; /* Sudut melengkung */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Bayangan halus */
    transition: all 0.3s ease; /* Efek transisi saat hover */
  }
  
  .custom-confirm-button:hover {
    background-color: #F7F9F2; /* Warna saat hover */
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); /* Bayangan lebih besar saat hover */
    transform: translateY(-2px); /* Efek angkat saat hover */
  }
  // preload
 /* Preloader CSS */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.6), rgba(100, 100, 255, 0.6));
  background-size: 200% 200%;
  z-index: 9999;
  animation: gradientShift 3s ease infinite;
}

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

#preloader img {
  width: 150px; /* Ukuran GIF yang lebih besar */
  height: 150px; /* Ukuran GIF yang lebih besar */
  animation: pulse 1.5s infinite ease-in-out; /* Efek pulsing pada logo preloader */
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}

body.loading #content-wrapper {
  filter: blur(20px) brightness(0.7) saturate(60%);
  transition: filter 1s ease-in-out, transform 1s ease-in-out;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.5); /* Overlay gelap untuk menambah kedalaman */
  animation: blurWave 3s ease-in-out infinite;
}

@keyframes blurWave {
  0%, 100% {
    filter: blur(20px) brightness(0.7) saturate(60%);
  }
  50% {
    filter: blur(25px) brightness(0.6) saturate(80%);
  }
}

body.loading::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: url('path/to/particles.gif') repeat;
  opacity: 0.3;
  z-index: 2;
  animation: particlesMove 10s linear infinite;
}

@keyframes particlesMove {
  0% { transform: translateX(0) translateY(0); }
  100% { transform: translateX(-100px) translateY(-100px); }
}

body.loading::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

#preloader.hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease-out, visibility 0.8s ease-out;
}

:root {
  --preloader-width: 300px;
  --preloader-height: 200px;
}

#preloader {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 9999;
}

#preloader img {
  width: var(--preloader-width);
  height: var(--preloader-height);
}

body.loading {
  overflow: hidden;
  background: linear-gradient(120deg, #1e3c72, #2a5298);
  animation: bgFade 2s infinite alternate;
}

@keyframes bgFade {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

body.loading #content-wrapper {
  transition: filter 1s ease, opacity 1s ease;
  filter: blur(15px) brightness(0.9);
  opacity: 0;
}

body.loaded #content-wrapper {
  filter: blur(0px) brightness(1);
  opacity: 1;
  transition: filter 0.8s ease, opacity 0.8s ease;
}
// project
.project-container {
  position: relative;
  overflow: hidden;
  border-radius: 10px; /* Agar sudut-sudutnya melengkung */
  transition: transform 0.3s ease-in-out;
}

.project-container img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease-in-out;
}

.project-container:hover img {
  transform: scale(1.1); /* Efek zoom */
}



.project-container:hover .overlay {
  opacity: 1;
}

.project-title {
  text-align: center;
  padding: 10px;
  font-weight: bold;
}
/* Hide all scrollbars but keep scrolling functionality */
html, body {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
  overflow-y: auto;
}

/* Hide scrollbar for Chrome, Safari and Opera */
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.container::-webkit-scrollbar,
#content-wrapper::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.container, #content-wrapper {
  max-width: 100vw;
  overflow-x: hidden;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.container::-webkit-scrollbar, 
#content-wrapper::-webkit-scrollbar { 
  display: none;
}

/* Optional: if you want to hide scrollbars globally for the whole page */
body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

body::-webkit-scrollbar {
  display: none;
}
/* Header & Logo Styling */
header {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

header .logo-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.logo-image {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #91DDCF; /* Changed to green */
    transition: transform 0.3s ease;
}

.logo-text {
    font-size: 1.25rem;
    font-weight: bold;
    color: #25BDAE;
    transition: all 0.3s ease;
}

.logo-text:hover {

    filter: brightness(1.2);
}

/* Dark mode adjustment */
.dark .logo-text {
    color: #25BDAE;
}
/* Dark mode adjustments */
.dark header {
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}



.skill-item-card img,
.skill-container img { 
    transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    
}


.skill-item-card:hover img,
.skill-container:hover img { 
    transform: scale(1.2) rotate(15deg);
}


.skill-item-card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.skill-container {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    
}

.skill-container:hover { 
    transform: translateY(-4px); 
     box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}
#content-wrapper {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}


        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        @keyframes slideIn {
            from { transform: translateY(-50px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        
        .modal-overlay {
            animation: fadeIn 0.3s ease-out;
        }
        
        .modal-content {
            animation: slideIn 0.3s ease-out;
        }
        
        /* Styling untuk flipbook button */
        .flipbook-btn {
            background: linear-gradient(135deg, #25BDAE 0%, #25BDAE 100%);
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px rgba(124, 58, 237, 0.3);
        }
        
        .flipbook-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 12px rgba(124, 58, 237, 0.4);
        }
        
        /* Styling untuk YouTube button */
        .youtube-btn {
            background: linear-gradient(135deg, #DC2626 0%, #B91C1C 100%);
            transition: all 0.3s ease;
            box-shadow: 0 4px 6px rgba(220, 38, 38, 0.3);
        }
        
        .youtube-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 12px rgba(220, 38, 38, 0.4);
        }
        
        /* Glass effect */
        .glass {
            backdrop-filter: blur(10px);
            background: rgba(255, 255, 255, 0.1);
            box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
            border: 1px solid rgba(255, 255, 255, 0.18);
        }
        
        .dark .glass {
            background: rgba(0, 0, 0, 0.1);
        }


.modal-content {
  animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

/* Untuk mobile responsiveness */
@media (max-width: 768px) {
  #modal .max-w-4xl {
    max-width: 95%;
  }
  #close-modal {
    top: 10px;
    right: 10px;
  }
}

/* ============================================
   HEADER & NAVIGATION STYLES
   ============================================ */

/* Navbar Fixed State */
.navbar-fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background-color: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(8px) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.dark .navbar-fixed {
  background-color: rgba(15, 23, 42, 0.95) !important;
}

/* Hamburger Menu Animation */
#hamburger.hamburger-active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
  background-color: #3b82f6 !important;
}

#hamburger.hamburger-active span:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px);
}

#hamburger.hamburger-active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -6px);
  background-color: #3b82f6 !important;
}

/* Dark mode adjustments */
.dark #hamburger:not(.hamburger-active) span {
  background-color: #e5e7eb !important;
}

/* Mobile Menu */
#nav-menu {
  max-height: calc(100vh - 70px);
  overflow-y: auto;
}

/* Dropdown Styles */
#contact-dropdown-desktop-panel {
  animation: dropdownFadeIn 0.2s ease-out;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(209, 213, 219, 0.5);
}

.dark #contact-dropdown-desktop-panel {
  border-color: rgba(75, 85, 99, 0.5);
}

#contact-dropdown-mobile-panel {
  max-height: 300px;
  overflow-y: auto;
}

/* Dropdown Animation */
@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Rotate Arrow */
.rotate-180 {
  transform: rotate(180deg);
  transition: transform 0.2s ease;
}

/* ============================================
   MODAL STYLES
   ============================================ */

/* Modal Overlay */
.modal-overlay {
  background-color: rgba(0, 0, 0, 0.7);
}

/* Modal Content */
.modal-content {
  animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Gallery Modal */
#projectGalleryModal .modal-content {
  background: rgba(0, 0, 0, 0.9);
}

/* ============================================
   PROGRESS BARS
   ============================================ */

.progress-bar-segment {
  background-color: #3b82f6;
  border-radius: 2px;
  height: 8px;
}

.progress-bar-segment-empty {
  background-color: #e5e7eb;
  border-radius: 2px;
  height: 8px;
}

.dark .progress-bar-segment-empty {
  background-color: #374151;
}

/* ============================================
   BACK TO TOP
   ============================================ */

#to-top {
  transition: all 0.3s ease;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 1023px) {
  /* Mobile optimizations */
  #nav-menu {
    backdrop-filter: blur(12px);
  }
}

@media (min-width: 1024px) {
  /* Desktop optimizations */
  #nav-menu {
    backdrop-filter: none;
  }
}

/* ============================================
   ACCESSIBILITY
   ============================================ */

/* Focus styles for accessibility */
button:focus,
a:focus,
input:focus,
textarea:focus {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}

/* Skip to content link for screen readers */
.skip-to-content {
  position: absolute;
  top: -40px;
  left: 0;
  background: #3b82f6;
  color: white;
  padding: 8px;
  z-index: 10000;
  text-decoration: none;
}

.skip-to-content:focus {
  top: 0;
}

/* ============================================
   SMOOTH TRANSITIONS
   ============================================ */

header,
nav,
.hamburger-line,
#contact-dropdown-desktop-panel,
.modal-content,
#to-top {
  transition: all 0.3s ease;
}

/* Dark mode transition for smoother theme switching */
* {
  transition: background-color 0.3s ease, border-color 0.3s ease;
}