html {
    scroll-behavior: smooth;
    overscroll-behavior: none;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    animation-name: none;
    font-family: body;
    transition: all 0.3s ease;
}

body {
    overflow: hidden;
}

.data_to_submit .loading-prices {
    filter: blur(15px) brightness(100%);
    animation: loading-price 2s ease infinite;
}

@keyframes loading-price {
    0% {
        filter: blur(15px) brightness(100%);
    }

    100% {
        filter: blur(25px) brightness(250%);
    }

    50% {
        filter: blur(15px) brightness(100%);
    }
}

.body {
    overflow: hidden;
    user-select: none;
    display: block;
    font-family: body;
    background-color: #000000;
}

section {
    background: #121212;
}

.has_tool-tip {
    position: relative;
}

.has_tool-tip:is(:hover, :focus-visible, :active, :focus)>tool-tip {
    opacity: 1;
    transition-delay: 200ms;
}

.custom-alert {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.custom-alert-content {
    background: #1e1e1e;
    color: #fff;
    padding: 20px 30px;
    border-radius: 10px;
    box-shadow: 0 0 10px #000;
    text-align: center;
    font-family: 'Arial', sans-serif;
}

.custom-alert-content button {
    margin-top: 15px;
    padding: 8px 16px;
    background: #ff0033;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.custom-alert-content button:hover {
    background: #cc002a;
}

.loading {
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: black;
    height: 100%;
    width: 100%;
    scroll-snap-align: start;
    justify-content: space-evenly;
    position: fixed;
    justify-content: center;
    --main: #973a8b;
    --accent: #da80ce;
}

.socket {
    scale: 2.3;
    width: 12.5rem;
    height: 12.5rem;
    position: absolute;
    left: 50%;
    margin-left: -6.25rem;
    top: 50%;
    margin-top: -6.25rem;
}

@media (max-width: 48rem) {
    .socket {
        scale: 1.5;
    }
}

.hex-brick {
    box-shadow: 0rem 0rem 1.5625rem 0rem var(--accent);
    scale: 0.5;
    background: rgb(47, 47, 47);
    width: 1.875rem;
    height: 1.0625rem;
    position: absolute;
    top: 0.3125rem;
    animation-name: fade00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    -webkit-animation-name: fade00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
}

.h2 {
    transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
}

.h3 {
    transform: rotate(-60deg);
    -webkit-transform: rotate(-60deg);
}

.gel {
    height: 1.875rem;
    width: 1.875rem;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    position: absolute;
    top: 50%;
    left: 50%;
}

.center-gel {
    margin-left: -0.9375rem;
    margin-top: -0.9375rem;
    animation-name: pulse00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    -webkit-animation-name: pulse00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
}

.c1 {
    margin-left: -2.9375rem;
    margin-top: -0.9375rem;
}

.c2 {
    margin-left: -1.9375rem;
    margin-top: -2.6875rem;
}

.c3 {
    margin-left: 0.0625rem;
    margin-top: -2.6875rem;
}

.c4 {
    margin-left: 1.0625rem;
    margin-top: -0.9375rem;
}

.c5 {
    margin-left: -1.9375rem;
    margin-top: 0.8125rem;
}

.c6 {
    margin-left: 0.0625rem;
    margin-top: 0.8125rem;
}

.c7 {
    margin-left: -3.9375rem;
    margin-top: -2.6875rem;
}

.c8 {
    margin-left: 2.0625rem;
    margin-top: -2.6875rem;
}

.c9 {
    margin-left: -0.9375rem;
    margin-top: 2.5625rem;
}

.c10 {
    margin-left: -3.9375rem;
    margin-top: 0.8125rem;
}

.c11 {
    margin-left: 2.0625rem;
    margin-top: 0.8125rem;
}

.c12 {
    margin-left: -0.9375rem;
    margin-top: -4.4375rem;
}

.c13 {
    margin-left: -2.9375rem;
    margin-top: -4.4375rem;
}

.c14 {
    margin-left: 1.0625rem;
    margin-top: -4.4375rem;
}

.c15 {
    margin-left: -2.9375rem;
    margin-top: 2.5625rem;
}

.c16 {
    margin-left: 1.0625rem;
    margin-top: 2.5625rem;
}

.c17 {
    margin-left: -4.9375rem;
    margin-top: -0.9375rem;
}

.c18 {
    margin-left: 3.0625rem;
    margin-top: -0.9375rem;
}

.c19 {
    margin-left: -3.9375rem;
    margin-top: -6.1875rem;
}

.c20 {
    margin-left: 2.0625rem;
    margin-top: -6.1875rem;
}

.c21 {
    margin-left: 0.0625rem;
    margin-top: -6.1875rem;
}

.c22 {
    margin-left: -1.9375rem;
    margin-top: -6.1875rem;
}

.c23 {
    margin-left: -3.9375rem;
    margin-top: 4.3125rem;
}

.c24 {
    margin-left: 2.0625rem;
    margin-top: 4.3125rem;
}

.c25 {
    margin-left: 0.0625rem;
    margin-top: 4.3125rem;
}

.c26 {
    margin-left: -1.9375rem;
    margin-top: 4.3125rem;
}

.c27 {
    margin-left: -4.9375rem;
    margin-top: -0.9375rem;
}

.c28 {
    margin-left: -5.9375rem;
    margin-top: -2.6875rem;
}

.c29 {
    margin-left: -5.9375rem;
    margin-top: 0.8125rem;
}

.c30 {
    margin-left: 3.0625rem;
    margin-top: 2.5625rem;
}

.c31 {
    margin-left: -4.9375rem;
    margin-top: -4.4375rem;
}

.c32 {
    margin-left: -6.9375rem;
    margin-top: -0.9375rem;
}

.c33 {
    margin-left: 4.0625rem;
    margin-top: -2.6875rem;
}

.c34 {
    margin-left: 4.0625rem;
    margin-top: 0.8125rem;
}

.c35 {
    margin-left: -4.9375rem;
    margin-top: 2.5625rem;
}

.c36 {
    margin-left: 3.0625rem;
    margin-top: -4.4375rem;
}

.c37 {
    margin-left: 5.0625rem;
    margin-top: -0.9375rem;
}

.r1 {
    animation-name: pulse00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-delay: 0.2s;
    -webkit-animation-name: pulse00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 0.2s;
}

.r2 {
    animation-name: pulse00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-delay: 0.4s;
    -webkit-animation-name: pulse00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 0.4s;
}

.r3 {
    animation-name: pulse00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-delay: 0.6s;
    -webkit-animation-name: pulse00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 0.6s;
}

.r1>.hex-brick {
    animation-name: fade00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-delay: 0.2s;
    -webkit-animation-name: fade00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 0.2s;
}

.r2>.hex-brick {
    animation-name: fade00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-delay: 0.4s;
    -webkit-animation-name: fade00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 0.4s;
}

.r3>.hex-brick {
    animation-name: fade00;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-delay: 0.6s;
    -webkit-animation-name: fade00;
    -webkit-animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 0.6s;
}

@keyframes pulse00 {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(0.01);
        transform: scale(0.01);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes fade00 {
    0% {
        background: var(--accent);
    }

    50% {
        background: var(--accent);
    }

    100% {
        background: var(--accent);
    }
}

.star {
    position: absolute;
    top: -20px;
    background: #d50000;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    filter: drop-shadow(0 0 0.2rem #d50000) drop-shadow(0 0 0.4rem #d5000080) drop-shadow(0 0 0.6rem #d5000070);
    animation: animate 5s linear forwards;
}

@keyframes animate {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        background: #d50000;
        filter: drop-shadow(0 0 0.2rem #d50000) drop-shadow(0 0 0.4rem #d5000080) drop-shadow(0 0 0.6rem #d5000070);
    }

    80% {
        opacity: 1;
    }

    100% {
        transform: translateY(100vh) rotate(360deg);
        opacity: 0;
        background: #fff;
        filter: drop-shadow(0 0 0.2rem #fff) drop-shadow(0 0 0.4rem #ffffff80) drop-shadow(0 0 0.6rem #ffffff70);
    }
}

@media screen and (max-width: 600px) {
    .star {
        font-size: 8px;
    }
}













tool-tip {
    --_p-inline: 1.5ch;
    --_p-block: .25ch;
    --_triangle-size: 7px;
    --_bg: #50505080;
    --_shadow-alpha: 50%;
    --_x: calc(var(--isRTL) * -3px * -1);
    --_bottom-tip: conic-gradient(from -30deg at bottom, rgba(0, 0, 0, 0), #000 1deg 60deg, rgba(0, 0, 0, 0) 61deg) bottom / 100% 50% no-repeat;
    --_top-tip: conic-gradient(from 150deg at top, rgba(0, 0, 0, 0), #000 1deg 60deg, rgba(0, 0, 0, 0) 61deg) top / 100% 50% no-repeat;
    --_right-tip: conic-gradient(from -120deg at right, rgba(0, 0, 0, 0), #000 1deg 60deg, rgba(0, 0, 0, 0) 61deg) right / 50% 100% no-repeat;
    --_left-tip: conic-gradient(from 60deg at left, rgba(0, 0, 0, 0), #000 1deg 60deg, rgba(0, 0, 0, 0) 61deg) left / 50% 100% no-repeat;

    pointer-events: none;
    user-select: none;

    opacity: 0;
    transform: translateX(var(--_x, 0)) translateY(var(--_y, 0));
    transition: opacity .2s ease, transform .2s ease;

    position: absolute;
    z-index: 1;
    inline-size: max-content;
    max-inline-size: 25ch;
    text-align: start;
    font-size: 1rem;
    font-weight: normal;
    line-height: normal;
    line-height: initial;
    padding: var(--_p-block) var(--_p-inline);
    margin: 0;
    border-radius: 0.7rem;
    background: var(--_bg);
    color: #fff;
    will-change: filter;
    filter:
        drop-shadow(0 3px 3px hsl(0 0% 0% / var(--_shadow-alpha))) drop-shadow(0 12px 12px hsl(0 0% 0% / var(--_shadow-alpha)));
}

/* create a stacking context for elements with > tool-tips */
:has(> tool-tip) {
    position: relative;
}

tool-tip:is([tip-position="right"], [tip-position="inline-end"]) {
    inset-inline-start: calc(100% + var(--_p-inline) + var(--_triangle-size));
    inset-block-end: 50%;
    --_y: 50%;
}

/* when those parent elements have focus, hover, etc */
:has(> tool-tip):is(:hover, :focus-visible, :active)>tool-tip {
    opacity: 1;
    transition-delay: 200ms;
}

/* prepend some prose for screen readers only */
tool-tip::before {
    content: "; Has tooltip: ";
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
}

/* tooltip shape is a pseudo element so we can cast a shadow */
tool-tip::after {
    content: "";
    background: var(--_bg);
    position: absolute;
    z-index: -1;
    inset: 0;
    mask: var(--_tip);
    border-radius: 0.7rem;
}

/* top tooltip styles */
tool-tip:is([tip-position="top"],
    [tip-position="block-start"],
    :not([tip-position]),
    [tip-position="bottom"],
    [tip-position="block-end"]) {
    text-align: center;
}

tool-tip[tip-position="right"]::after {
    --_tip: var(--_left-tip);
}

tool-tip[tip-position="right"]:dir(rtl)::after {
    --_tip: var(--_right-tip);
}

@media (prefers-reduced-motion: no-preference) {
    :has(> tool-tip:is([tip-position="top"], [tip-position="block-start"], :not([tip-position]))):not(:hover):not(:focus-visible):not(:active) tool-tip {
        --_y: 3px;
    }

    :has(> tool-tip:is([tip-position="right"], [tip-position="inline-end"])):not(:hover):not(:focus-visible):not(:active) tool-tip {
        --_x: -3px;
    }

    :has(> tool-tip:is([tip-position="bottom"], [tip-position="block-end"])):not(:hover):not(:focus-visible):not(:active) tool-tip {
        --_y: -3px;
    }

    :has(> tool-tip:is([tip-position="left"], [tip-position="inline-start"])):not(:hover):not(:focus-visible):not(:active) tool-tip {
        --_x: 3px;
    }
}

tool-tip:is([tip-position="right"], [tip-position="inline-end"])::after {
    --_tip: var(--_left-tip);
    inset-inline-start: calc(var(--_triangle-size) * -1);
    border-inline-start: var(--_triangle-size) solid transparent;
}

tool-tip:is([tip-position="right"], [tip-position="inline-end"]):dir(rtl)::after {
    --_tip: var(--_right-tip);
}