:root {
    --background: #1b1a20;
    --background2: #0d0c0e;
    --foreground: #d6d6d6;
    --foreground2: white;
    --accent: #8732ec;
    --accent2: #5a32ec;
    --accent3: #b06cff;
    --accent4: #a65dff99;

    --menu: #151417;
}

html {
    scroll-behavior: smooth;
}

::selection {
    background: var(--accent4);
    color: white;
}

* {
    color: var(--foreground);
    background: none;
    margin: 0;
    padding: 0;
    transition: all 0.25s ease;
}

a {
    color: white;
}

a:hover {
    color: var(--accent3);
}

a.button {
    color: var(--foreground2);
    position: relative;
    user-select: none;
    text-shadow: none;
    text-decoration: none;
    font-weight: 1000;
    font-size: 1rem;
    padding: 0.5rem 1rem;
    margin: 0.25rem 0.5rem !important;
    background: var(--accent);
    white-space: nowrap;
    text-overflow: ellipsis;
    clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
    border-bottom: #00000050 0.25rem solid;
    border-right: #00000050 0.25rem solid;
    min-width: 1.5rem;
}

a.button:hover {
    background: var(--accent2);
    cursor: pointer;
    box-shadow: 0 0 0.5rem var(--accent2);
}

body {
    background: var(--background);
    color: var(--foreground);

    .menu {
        position: fixed;
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 100;
        user-select: none;

        #menu, .menu-bg {
            position: fixed;
            z-index: 3;
            width: calc(100% - 3rem);
            height: 3rem;
            max-width: 80rem;
            padding: 0.5rem;
            top: 0;
            margin: 1rem;
            clip-path: polygon(3rem 0, calc(100% - 3rem) 0, 100% 50%, calc(100% - 3rem) 100%, 3rem 100%, 0 50%);
            background: var(--menu);
        }

        #menu {
            img {
                transition: all 1s ease;
                position: absolute;
                top: 0.35rem;
                height: 3.25rem;
                margin-left: 2.5rem;
            }

            img:hover {
                transition: all 2s ease;
                filter: hue-rotate(360deg);
            }

            h1 {
                transition: all 0.5s ease;
                position: absolute;
                left: 6.5rem;
                color: var(--foreground2);
                text-shadow: 0 0 0.5rem var(--accent);
            }

            h1.active {
                margin-top: 0.25rem;
                font-size: 1.65rem;
            }

            h1:hover {
                transition: all 1s ease;
                text-shadow: 0 0 1rem var(--accent);
                filter: hue-rotate(360deg);
            }

            i {
                clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                position: absolute;
                right: 3.25rem;
                padding: 0.5rem;
                background: var(--background);
                font-size: 2rem;
            }

            i:hover {
                cursor: pointer;
                background: var(--foreground2);
                color: black;
            }

            i.active {
                background: var(--accent);
                color: white;
            }
        }

        #menu-links {
            position: fixed;
            top: 5.5rem;
            width: 100%;
            max-width: 76rem;
            filter: drop-shadow(0 0 0.25rem black);
            display: none;

            div {
                clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                background: var(--background);
                position: absolute;
                right: 0;
                margin: 0 1rem;
                padding: 1rem 1rem 0.75rem 1rem;
                width: fit-content;
                display: flex;
                flex-direction: column;

                a {
                    clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                    padding: 0.75rem;
                    text-decoration: none;
                    font-weight: 1000;
                    margin-bottom: 0.25rem;
                }

                a:hover {
                    cursor: pointer;
                    background: var(--accent);
                    color: white;
                }
            }
        }

        #menu-links.active {
            display: unset;
        }

        .menu-bg {
            z-index: 2;
            width: calc(100% - 2rem);
            max-width: 81rem;
            backdrop-filter: blur(16px);
            background: linear-gradient(var(--accent),var(--accent2));
        }

        .menu-bg.shadow {
            z-index: 1;
            top: 0.5rem;
            margin: 1rem;
            backdrop-filter: none;
            background: radial-gradient(#000,#00000050);
        }
    }

    #start {
        position: absolute;
        width: 100%;
        height: 100%;
    }

    #footer {
        background: var(--background2);
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        user-select: none;
        padding-top: 1rem;

        p {
            opacity: 0.3;
            padding: 0 1rem 1rem 1rem;
            text-align: center;
        }

        p.copyright {
            opacity: 1;
        }

        .links {
            width: 100%;
            max-width: 70rem;
            justify-content: center;

            div {
                clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                background: var(--background);
                padding: 1rem;
                margin: 1rem;
                text-align: center;
                width: calc(100% - 4rem);

                h4 {
                    overflow: hidden;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                    clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                    background: var(--background2);
                    padding: 0.5rem;
                }

                a {
                    text-decoration: none;

                    p {
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;
                        opacity: 1;
                        text-align: left;
                        padding: 0.5rem 1rem;
                        background: #00000050;
                        margin-left: 1rem;
                    }

                    p:hover {
                        opacity: 0.9;
                        background: linear-gradient(to right, var(--accent2), var(--accent), var(--accent3));
                        color: white;
                    }
                }

                a.bottom {
                    p {
                        clip-path: polygon(0 0, 100% 0, 100% 0rem, 100% 100%, 1rem 100%, 0 calc(100% - 1rem));
                    }
                }
            }
        }
    }

    #socials {
        position: fixed;
        z-index: 101;
        bottom: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        margin: 0.5rem;

        a {
            height: 4rem;
            width: 4rem;
            border-radius: 2rem;
            margin: 0.5rem;
            background: black;
            color: white;
            box-shadow: 0 0 0.4rem #00000075;

            i {
                font-size: 2rem;
                margin: 1rem;
                position: absolute;
            }
        }

        a:hover {
            background: red !important;
            box-shadow: 0 0 0.25rem red;
        }

        a:hover {
            background: var(--accent2);
        }
    }

    .left {
        text-align: left;
    }

    .right {
        text-align: right;
    }

    .flex {
        display: flex !important;
    }

    .flex-column {
        display: flex !important;
        flex-direction: column !important;
    }

    .flex-row {
        display: flex !important;
        flex-direction: row !important;
    }

    .black {
        background: #0a090b !important;
        color: white !important;
        border-color: black !important;
    }

    .black:hover {
        background: black !important;
        border-color: black !important;
    }

    .gray {
        background: #151417 !important;
        color: white !important;
        border-color: #0a090b !important;
    }

    .gray:hover {
        background: #0a090b !important;
        border-color: black !important;
    }

    .blue {
        background: #438df8 !important;
        color: white !important;
        border-color: #2e72dc !important;
    }

    .blue:hover {
        background: #2e72dc !important;
        border-color: #1e57ba !important;
    }

    .blurple {
        background: #5865F2 !important;
        color: white !important;
        border-color: #454FBF  !important;
    }

    .blurple:hover {
        background: #454FBF !important;
        border-color: #323b9f !important;
    }

    .pink {
        background: #C13584 !important;
        border-color: #972265 !important;
    }

    .pink:hover {
        background: #972265 !important;
        border-color: #75184f !important;
    }

    .green {
        background: #35c166 !important;
        border-color: #19874e !important;
    }

    .green:hover {
        background: #19874e !important;
        border-color: #0c6538 !important;
    }
}