.blur {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

@keyframes lantern-rise {
    0% {
        transform: translate(0, 0) rotate(0deg);
    }

    30% {
        transform: translate(20%, -40vh) rotate(10deg);
    }

    50% {
        transform: translate(-30%, -90vh) rotate(-10deg);
    }

    70% {
        opacity: 1;
        transform: translate(20%, -115vh) rotate(10deg);
    }

    90% {
        opacity: 1;
        transform: translate(10%, -130vh) rotate(5deg);
    }

    100% {
        opacity: 0;
        transform: translate(0, -140vh) rotate(-10deg);
    }
}

.lantern {
    position: absolute;
    animation: lantern-rise infinite linear;
}

.blur .lantern {
    filter: blur(7px);
}