*{
    box-sizing:border-box;
}

:root{

    --main:#ffd66b;
    --second:#ff9d4d;

    --background1:#06091a;
    --background2:#171342;

    --white:#ffffff;

    --border:rgba(255,255,255,.13);

}

html{
    scroll-behavior:smooth;
}

body{

    margin:0;

    min-height:100vh;

    color:white;

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(255,255,255,.06),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            var(--background1),
            var(--background2)
        );

    overflow-x:hidden;

}


/* BACKGROUND */

.background{

    position:fixed;

    inset:0;

    pointer-events:none;

    background:

        radial-gradient(
            circle at 20% 30%,
            var(--main),
            transparent 30%
        ),

        radial-gradient(
            circle at 80% 70%,
            var(--second),
            transparent 28%
        );

    opacity:.08;

}


/* STARS */

.stars{

    position:fixed;

    inset:0;

    pointer-events:none;

    opacity:.4;

    background-image:

        radial-gradient(
            white 1px,
            transparent 1px
        );

    background-size:45px 45px;

    animation:
        stars 30s linear infinite;

}

@keyframes stars{

    from{
        transform:translateY(0);
    }

    to{
        transform:translateY(45px);
    }

}


/* EVENT ICON */

.moon{

    position:fixed;

    right:7%;

    top:8%;

    width:110px;

    height:110px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:48px;

    background:rgba(255,255,255,.05);

    border:

        1px solid
        var(--main);

    box-shadow:

        0 0 50px
        var(--main);

    animation:

        floating 4s
        ease-in-out
        infinite;

}

@keyframes floating{

    50%{
        transform:translateY(-12px);
    }

}


/* CONTAINER */

.container{

    position:relative;

    z-index:2;

    width:min(
        720px,
        92%
    );

    margin:auto;

    padding:

        45px
        0
        35px;

}


/* EVENT */

.event-badge{

    width:max-content;

    max-width:100%;

    margin:

        0
        auto
        18px;

    padding:

        10px
        16px;

    border-radius:999px;

    border:

        1px solid
        var(--main);

    background:

        rgba(0,0,0,.3);

    box-shadow:

        0 0 25px
        rgba(255,255,255,.08);

    font-size:14px;

}

.event-badge span{

    margin-left:6px;

    opacity:.5;

}


/* CARD */

.card{

    padding:32px;

    border-radius:28px;

    border:
        1px solid
        var(--border);

    background:

        rgba(7,10,25,.78);

    backdrop-filter:
        blur(20px);

    box-shadow:

        0 30px 90px
        rgba(0,0,0,.45);

}


/* AVATAR */

.avatar-box{

    width:125px;

    height:125px;

    margin:auto;

    padding:4px;

    border-radius:50%;

    background:

        linear-gradient(
            135deg,
            var(--main),
            var(--second)
        );

    box-shadow:

        0 0 40px
        var(--main);

}

.avatar-box img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    border-radius:50%;

    background:#111;

}

.avatar-text{

    width:100%;

    height:100%;

    display:none;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#11182d;

    font-size:32px;

    font-weight:900;

}


/* TITLE */

h1{

    text-align:center;

    margin:

        18px
        0
        4px;

    font-size:34px;

}

.username{

    text-align:center;

    opacity:.6;

}


/* WISH */

.wish{

    max-width:580px;

    margin:

        22px
        auto
        25px;

    text-align:center;

    color:var(--main);

    line-height:1.65;

    font-weight:600;

}


/* LINKS */

.links{

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:12px;

}

.links a{

    display:flex;

    align-items:center;

    gap:10px;

    padding:15px;

    border-radius:16px;

    border:
        1px solid
        var(--border);

    background:
        rgba(255,255,255,.04);

    color:white;

    text-decoration:none;

    transition:.25s;

}

.links a:hover{

    transform:
        translateY(-4px);

    border-color:
        var(--main);

    box-shadow:

        0 10px 30px
        rgba(0,0,0,.25);

}


/* PAYMENT */

h2{

    margin:

        30px
        0
        12px;

    font-size:18px;

}

.payments{

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:12px;

}

.payments a{

    display:flex;

    flex-direction:column;

    gap:5px;

    padding:16px;

    border-radius:16px;

    border:
        1px solid
        var(--border);

    background:
        rgba(255,255,255,.04);

    text-decoration:none;

    color:white;

    transition:.25s;

}

.payments a:hover{

    transform:
        translateY(-4px);

    border-color:
        var(--main);

}

.payments strong{

    color:var(--main);

    font-size:17px;

}

.payments small{

    opacity:.55;

}


/* FOOTER */

footer{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    flex-wrap:wrap;

    margin-top:28px;

    font-size:12px;

    opacity:.55;

}

footer:first-letter{

    color:var(--main);

}


/* TOP */

#top{

    position:fixed;

    right:20px;

    bottom:20px;

    width:45px;

    height:45px;

    border-radius:50%;

    border:
        1px solid
        var(--border);

    background:#11182e;

    color:white;

    cursor:pointer;

    opacity:0;

    pointer-events:none;

    transition:.25s;

    z-index:10;

}

#top.show{

    opacity:1;

    pointer-events:auto;

}


/* CLICK SPARK */

.spark{

    position:fixed;

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--main);

    pointer-events:none;

    z-index:999;

    animation:
        spark .7s
        ease-out
        forwards;

}

@keyframes spark{

    to{

        transform:
            scale(6);

        opacity:0;

    }

}


/* =========================
   EVENT THEMES
========================= */


/* 1 */

.theme-newyear{

    --main:#ffd166;
    --second:#ef476f;
    --background1:#07111f;
    --background2:#24113a;

}


/* 2 */

.theme-valentine{

    --main:#ff79a8;
    --second:#ff3d81;
    --background1:#210916;
    --background2:#42152e;

}


/* 3 */

.theme-party{

    --main:#ffd54a;
    --second:#e52b38;
    --background1:#18070b;
    --background2:#32120d;

}


/* 4 */

.theme-tet{

    --main:#ffd33d;
    --second:#e63946;
    --background1:#160706;
    --background2:#3b120b;

}


/* 5 */

.theme-doctor{

    --main:#69e6d8;
    --second:#5cc8ff;
    --background1:#061416;
    --background2:#092d36;

}


/* 6 */

.theme-women{

    --main:#ff91bd;
    --second:#c77dff;
    --background1:#180b1c;
    --background2:#30183c;

}


/* 7 */

.theme-youth{

    --main:#54e38e;
    --second:#2ebf91;
    --background1:#06150f;
    --background2:#0a3024;

}


/* 8 */

.theme-april{

    --main:#ffd166;
    --second:#06d6a0;
    --background1:#111006;
    --background2:#123129;

}


/* 9 */

.theme-earth{

    --main:#73e06f;
    --second:#42a5f5;
    --background1:#06150d;
    --background2:#092c31;

}


/* 10 */

.theme-book{

    --main:#f5c77a;
    --second:#9b7ede;
    --background1:#100c16;
    --background2:#21152e;

}


/* 11 */

.theme-liberation{

    --main:#ff5b61;
    --second:#ffd34e;
    --background1:#160709;
    --background2:#321a08;

}


/* 12 */

.theme-labor{

    --main:#ffb347;
    --second:#ff6b6b;
    --background1:#160d07;
    --background2:#32160c;

}


/* 13 */

.theme-dienbien{

    --main:#e8d48b;
    --second:#b98b4a;
    --background1:#171208;
    --background2:#2b2110;

}


/* 14 */

.theme-lotus{

    --main:#ff9ccf;
    --second:#ffcf8a;
    --background1:#170a15;
    --background2:#32152c;

}


/* 15 */

.theme-children{

    --main:#66d9ff;
    --second:#ffcf5c;
    --background1:#06121b;
    --background2:#11294a;

}


/* 16 */

.theme-press{

    --main:#8bd3ff;
    --second:#d4b5ff;
    --background1:#09101b;
    --background2:#20153a;

}


/* 17 */

.theme-family{

    --main:#ffb86b;
    --second:#ff7f50;
    --background1:#160b06;
    --background2:#321b0b;

}


/* 18 */

.theme-memorial{

    --main:#d8d0bb;
    --second:#a89070;
    --background1:#0e0e0d;
    --background2:#242019;

}


/* 19 */

.theme-august{

    --main:#ffd45e;
    --second:#e9435f;
    --background1:#12080a;
    --background2:#2e170d;

}


/* 20 */

.theme-national{

    --main:#ff5b5b;
    --second:#ffd34e;
    --background1:#170708;
    --background2:#32130d;

}


/* 21 */

.theme-midautumn{

    --main:#ffd66b;
    --second:#ff9d4d;
    --background1:#06091a;
    --background2:#171342;

}


/* 22 */

.theme-elder{

    --main:#e6c07b;
    --second:#a7d8b8;
    --background1:#0e110e;
    --background2:#243022;

}


/* 23 */

.theme-womenvn{

    --main:#ff668f;
    --second:#ffb36b;
    --background1:#1c0711;
    --background2:#35131d;

}


/* 24 */

.theme-halloween{

    --main:#ff8c42;
    --second:#9b5de5;
    --background1:#0d0714;
    --background2:#26102e;

}


/* 25 */

.theme-law{

    --main:#72c7ff;
    --second:#d9d9d9;
    --background1:#08101a;
    --background2:#172638;

}


/* 26 */

.theme-teacher{

    --main:#ffd166;
    --second:#8ec5ff;
    --background1:#0b0e18;
    --background2:#1b2540;

}


/* 27 */

.theme-christmas{

    --main:#f6f0df;
    --second:#e74747;
    --background1:#07130e;
    --background2:#102c22;

}


/* 28 */

.theme-nye{

    --main:#8be9fd;
    --second:#ff79c6;
    --background1:#070b1d;
    --background2:#24113c;

}


/* MOBILE */

@media(max-width:600px){

    .container{

        width:94%;

        padding-top:25px;

    }

    .card{

        padding:22px;

        border-radius:22px;

    }

    .moon{

        width:70px;

        height:70px;

        font-size:30px;

        right:15px;

        top:15px;

    }

    h1{

        font-size:28px;

    }

    .links,
    .payments{

        grid-template-columns:1fr;

    }

}