@keyframes blink-caret {
    to {
        opacity: 0;
    }
}

.rkit-animated-heading p {
    position: relative;
    /* Menentukan posisi relatif untuk memposisikan pseudo-elemen */
}

.rkit-animated-heading {
    position: relative;
}

.text-writing {
    display: inline-block;
}

.text-writing::after {
    content: "|";
    display: inline-block;
    vertical-align: top;
    animation: blink-caret 600ms infinite alternate;
}

.rkit-animated-heading p {
    margin-bottom: 0;
}

@keyframes typing-cursor {
    from,
    to {
        border-color: transparent;
    }
    50% {
        border-color: #000000;
    }
}

.text-flipping {
    transition: 0.5s;
    animation-duration: 0.5s;
    animation-fill-mode: both;
    display: inline-block;
}

.flip-out {
    transform: perspective(400px) rotateX(90deg);
    animation-name: flipOut;
    transform-origin: bottom;
    opacity: 0;
}

.flip-in {
    transform: perspective(400px) rotateX(0deg);
    animation-name: flipIn;
    transform-origin: bottom;
    opacity: 1;
}

@keyframes flipOut {
    0% {
        transform: perspective(400px) rotateX(0deg);
        transform-origin: bottom;
        opacity: 1;
    }
    40% {
        transform: perspective(400px) rotateX(-20deg);
        transform-origin: bottom;
    }
    100% {
        transform: perspective(400px) rotateX(90deg);
        transform-origin: bottom;
        opacity: 0;
    }
}

@keyframes flipIn {
    0% {
        transform: perspective(400px) rotateX(-90deg);
        transform-origin: bottom;
        opacity: 0;
    }
    60% {
        transform: perspective(400px) rotateX(-20deg);
        transform-origin: bottom;
    }
    100% {
        transform: perspective(400px) rotateX(0deg);
        transform-origin: bottom;
        opacity: 1;
    }
}

.text-sliding_up,
.text-sliding_down {
    overflow: hidden;
    transition: opacity 0.5s;
    display: inline-flex;
}

.text-sliding_down.slide-down_in {
    height: auto;
    animation: slideDown_In 0.5s;
}

.text-sliding_down.slide-down_out {
    height: auto;
    animation: slideDown_Out 0.5s;
}

.text-sliding_up.slide-up_in {
    height: auto;
    animation: slideUp_In 0.5s;
}

.text-sliding_up.slide-up_out {
    height: auto;
    animation: slideUp_Out 0.5s;
}

@keyframes slideUp_In {
    0% {
        transform: translateY(15px);
        opacity: 0;
    }
    60% {
        transform: translateY(-5px);
        opacity: 0.8;
    }
    100% {
        transform: translateY(0px);
        opacity: 1;
    }
}

@keyframes slideUp_Out {
    0% {
        transform: translateY(0px);
        opacity: 1;
    }
    100% {
        transform: translateY(-15px);
        opacity: 0;
    }
}

@keyframes slideDown_In {
    0% {
        transform: translateY(-15px);
        opacity: 0;
    }
    60% {
        transform: translateY(5px);
        opacity: 0.8;
    }
    100% {
        transform: translateY(0px);
        opacity: 1;
    }
}

@keyframes slideDown_Out {
    0% {
        transform: translateY(0px);
        opacity: 1;
    }
    100% {
        transform: translateY(15px);
        opacity: 0;
    }
}

@keyframes handdrawn {
    0% {
        stroke-dashoffset: 1500;
        opacity: 0;
    }
    100% {
        stroke-dashoffset: 0;
        opacity: 1;
    }
}

@keyframes opacity {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.rkit-animated-heading__text svg {
    fill: none;
    stroke: black;
    stroke-width: 12px;
    stroke-miterlimit: 10;
    stroke-dasharray: 1500;
    stroke-dashoffset: 1500;
    stroke-linecap: round;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 20px);
    opacity: 0;
    transform: translate(-50%, -50%);
    z-index: -1;
    height: calc(100% + 15px);
    overflow: visible;
}

.rkit-animated-heading__text {
    color: #00cea6;
}

.rkit-highlighted.in_front svg {
    z-index: 2 !important;
}

.highlighted_in svg {
    animation: handdrawn 1s forwards;
}

.highlighted_out svg {
    stroke-dashoffset: 0;
    animation: opacity 1s;
}

.rkit-highlighted {
    display: inline-flex;
}

.text-drop-in,
.text-drop-out {
    overflow: hidden;
    display: inline-flex;
}

.text-drop-in.drop-in_out {
    animation: dropIn_Out 0.5s;
    opacity: 0;
}

.text-drop-in.drop-in_in {
    animation: dropIn_In 0.5s;
    opacity: 1;
}

@keyframes dropIn_Out {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(0.4);
        opacity: 0;
    }
}

@keyframes dropIn_In {
    0% {
        transform: scale(1.3);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.text-drop-out.drop-out_out {
    animation: dropOut_Out 0.5s;
    opacity: 0;
}

.text-drop-out.drop-out_in {
    animation: dropOut_In 0.5s;
    opacity: 1;
}

@keyframes dropOut_Out {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}

@keyframes dropOut_In {
    0% {
        transform: scale(0.4);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}