VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/sketch/snvv_27102021/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/sketch/snvv_27102021/index.html
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet"> 
     <title>πŸ’šπŸŽ‚πŸ’š</title>
    
</head>

<body>
      <script type="text/javascript" src="https://cdn.jsdelivr.net/mojs/0.288.1/mo.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/mojs-player/0.43.15/mojs-player.min.js"></script>
    <script type="text/javascript" src="https://unpkg.com/splitting/dist/splitting.min.js"></script>
    <style type="text/css">
        body {
            background: #34E1FF;
            font-family: 'VT323', cursive;
            overflow-x: hidden;
        }

        .container {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .text {
            min-width: 100%;
            text-align: center;
            color: white;
            text-shadow: 1px 1px #2C3A49;
            font-size: 3em;
        }

        .text .char {
            animation: slide-in 1s cubic-bezier(0.5, 0, 0.5, 1) both;
            animation-delay: calc(60ms * var(--char-index));
        }

        @keyframes slide-in {
            from {
                transform: translateY(-1em) rotate(-0.5turn) scale(0.5);
                opacity: 0;
            }
        }

        .presents {
            display: flex;
            justify-content: center;
            align-items: flex-end;
            height: 200px;
        }

        .green {
            position: relative;
            left: -20px;
            width: 100px;
            height: 100px;
            z-index: 1;
        }

        .green:hover {
            animation: 0.5s green;
        }

        .green .lid {
            background: #3DDC81;
        }

        .green .box {
            background-image: radial-gradient(#fff 20%, transparent 20%), radial-gradient(#fff 20%, transparent 20%);
            background-color: #3DDC81;
        }

        .green .ribbon {
            background: #F75D4C;
        }

        .green .ribbon::before {
            top: 21%;
        }

        .green .bow {
            background: #F75D4C;
        }

        .green .bow::before,
        .green .bow::after {
            background: #F75D4C;
        }

        @keyframes green {
            0% {
                width: 100px;
                height: 100px;
            }
            30% {
                width: calc(100px + 10px);
                height: calc(100px - 10px);
            }
            60% {
                width: calc(100px - 10px);
                height: calc(100px + 10px);
            }
            100% {
                width: 100px;
                height: 100px;
            }
        }

        .orange {
            position: relative;
            left: 20px;
            width: 130px;
            height: 120px;
            z-index: 10;
        }

        .orange:hover {
            animation: 0.5s orange;
        }

        .orange .lid {
            background: #FFA726;
        }

        .orange .box {
            background-image: radial-gradient(#2C3A49 20%, transparent 20%), radial-gradient(#2C3A49 20%, transparent 20%);
            background-color: #FFA726;
        }

        .orange .ribbon {
            background: #F75D4C;
        }

        .orange .ribbon::before {
            top: 21%;
        }

        .orange .bow {
            background: #F75D4C;
        }

        .orange .bow::before,
        .orange .bow::after {
            background: #F75D4C;
        }

        @keyframes orange {
            0% {
                width: 130px;
                height: 120px;
            }
            30% {
                width: calc(130px + 10px);
                height: calc(120px - 10px);
            }
            60% {
                width: calc(130px - 10px);
                height: calc(120px + 10px);
            }
            100% {
                width: 130px;
                height: 120px;
            }
        }

        .blue {
            position: relative;
            left: 0;
            width: 120px;
            height: 160px;
            z-index: 0;
        }

        .blue:hover {
            animation: 0.5s blue;
        }

        .blue .lid {
            background: #1BB5FE;
        }

        .blue .box {
            background-image: radial-gradient(transparent 20%, transparent 20%), radial-gradient(transparent 20%, transparent 20%);
            background-color: #1BB5FE;
        }

        .blue .ribbon {
            background: #3DDC81;
        }

        .blue .ribbon::before {
            top: 21%;
        }

        .blue .bow {
            background: #3DDC81;
        }

        .blue .bow::before,
        .blue .bow::after {
            background: #3DDC81;
        }

        @keyframes blue {
            0% {
                width: 120px;
                height: 160px;
            }
            30% {
                width: calc(120px + 10px);
                height: calc(160px - 10px);
            }
            60% {
                width: calc(120px - 10px);
                height: calc(160px + 10px);
            }
            100% {
                width: 120px;
                height: 160px;
            }
        }

        .present {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            cursor: pointer;
        }

        .present .lid {
            height: 20%;
            width: calc(100% + 10px);
            border: 4px solid #2C3A49;
            border-radius: 5px;
            box-shadow: inset 2px 2px rgba(255, 255, 255, 0.5), 5px 0 rgba(0, 0, 0, 0.15);
        }

        .present .box {
            width: 100%;
            height: 100%;
            background-position: 0 0, 20px 20px;
            background-size: 40px 40px;
            border: 4px solid #2C3A49;
            border-top: 0;
            border-bottom-left-radius: 5px;
            border-bottom-right-radius: 5px;
            box-shadow: inset -10px 5px rgba(0, 0, 0, 0.3), 5px 0 rgba(0, 0, 0, 0.15);
        }

        .present .ribbon {
            position: absolute;
            top: -3px;
            width: 30px;
            height: calc(100% - 5px);
            border: 4px solid #2C3A49;
            border-radius: 5px;
            box-shadow: inset 2px 2px rgba(255, 255, 255, 0.5);
        }

        .present .ribbon::before {
            display: block;
            content: '';
            position: absolute;
            width: 100%;
            height: 5px;
            background: rgba(0, 0, 0, 0.3);
        }

        .present .bow {
            position: absolute;
            top: -20px;
            width: 20px;
            height: 20px;
            border: 4px solid #2C3A49;
            border-radius: 50%;
            box-shadow: inset 2px 2px rgba(255, 255, 255, 0.5), inset -2px -5px rgba(0, 0, 0, 0.3);
        }

        .present .bow::before,
        .present .bow::after {
            display: block;
            content: '';
            position: absolute;
            top: -10px;
            width: 30px;
            height: 30px;
            border: 4px solid #2C3A49;
            border-radius: 50%;
            box-shadow: inset 2px 2px rgba(255, 255, 255, 0.5), inset -2px -5px rgba(0, 0, 0, 0.3);
            z-index: -1;
        }

        .present .bow::before {
            left: 15px;
        }

        .present .bow::after {
            right: 15px;
        }
    </style>
    <div class="container">
        <div class="text" data-splitting="">Happy Birthday, ThαΊ£o Trang!</div>
        <div class="presents">
            <div class="present orange">
                <div class="lid"></div>
                <div class="box"></div>
                <div class="bow"></div>
                <div class="ribbon"></div>
            </div>
            <div class="present blue">
                <div class="lid"></div>
                <div class="box"></div>
                <div class="bow"></div>
                <div class="ribbon"></div>
            </div>
            <div class="present green">
                <div class="lid"></div>
                <div class="box"></div>
                <div class="bow"></div>
                <div class="ribbon"></div>
            </div>
        </div>
    </div>
    <audio src="54968.mp3" id="music" style="display:none"></audio>
    <script type="text/javascript">
        "use strict";
        var music = document.getElementById("music");
        var played = false;
        document.addEventListener("click", event => {
            if (!played){
                played = true;
                music.play();
            }
            bursty(event.pageX, event.pageY);
        });
        setInterval(() => randomizedConfetti(), 500);

        function bursty(x, y) {
            const burst = new mojs.Burst({
                left: 0,
                top: 0,
                radius: {
                    0: 200
                },
                count: 20,
                degree: 360,
                children: {
                    fill: {
                        white: "#34E1FF"
                    },
                    duration: 2000
                }
            }).tune({
                x: x,
                y: y
            });
            burst.replay();
        }

        function randomizedConfetti() {
            let randomX = Math.floor(Math.random() * (document.body.clientWidth - 100) + 0);
            let randomY = Math.floor(Math.random() * (window.innerHeight - 200) + 0);
            const burst = new mojs.Burst({
                left: 0,
                top: 0,
                radius: {
                    0: 200
                },
                count: 20,
                degree: 360,
                children: {
                    fill: {
                        white: "#34E1FF"
                    },
                    duration: 2000
                }
            }).tune({
                x: randomX,
                y: randomY
            });
            burst.replay();
        }

        Splitting();
    </script>
</body>

</html>

VaKeR 2022