/* ===== Loader Container ===== */
#loading {
    position: fixed;
    inset: 0;
    background-color: rgba(243, 243, 249, 0.8); /* <- semi transparan */
    z-index: 99999;
    display: flex;
    /* display: none; */
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: opacity 0.4s ease;
}

/* ===== Loader SVG Style ===== */
#loading .ip {
    width: 10em;
    height: 5em;
}

#loading svg {
    width: 80px;
    height: 80px;
}

#loading .ip__track {
    stroke: #e0e0e0;
}

#loading .ip__worm1,
#loading .ip__worm2 {
    animation: worm1 2s linear infinite;
}

#loading .ip__worm2 {
    animation-name: worm2;
}

@keyframes worm1 {
    from {
        stroke-dashoffset: 0;
    }
    50% {
        animation-timing-function: steps(1);
        stroke-dashoffset: -358;
    }
    50.01% {
        animation-timing-function: linear;
        stroke-dashoffset: 358;
    }
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes worm2 {
    from {
        stroke-dashoffset: 358;
    }
    50% {
        stroke-dashoffset: 0;
    }
    to {
        stroke-dashoffset: -358;
    }
}
