@font-face {
    font-family: "Rubik";
    src: url('../fonts/Rubik.ttf') format('truetype');
}
* {
    font-family: "Rubik", sans-serif;
}
body {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    background-color: black;
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    gap: 10px;
}
h1 {
    color: white;
    font-size: 7rem;
    font-weight: 400;
    text-align: center;
    cursor: default;
    position: relative;
    width: 100%;
    margin-top: 0px;
}

#content {
    z-index: 100;
    user-select: none;
}

/* ----- SOCIALS ----- */
ul {
    list-style: none;
}

.socials {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px;
}

.socials .icon-content {
    margin: 0 10px;
    position: relative;
}

.socials .icon-content .tooltip {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    padding: 6px 10px;
    border-radius: 15px;
    opacity: 0;
    visibility: hidden;
    font-size: 14px;
    transition: all 0.3s ease;
}
.socials .icon-content:hover .tooltip {
    opacity: 1;
    visibility: visible;
    top: -50px;
}
.socials .icon-content a {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 20%;
    color: #4d4d4d;
    background-color: #ffff;
    transition: all 0.3s ease-in-out;
}
.socials .icon-content a:hover {
    box-shadow: 3px 2px 45px 0px rgb(0 0 0 / 50%);
}
.socials .icon-content a svg {
    position: relative;
    z-index: 1;
    width: 30px;
    height: 30px;
}
.socials .icon-content a:hover {
    color: white;
}
.socials .icon-content a .filled {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background-color: #000;
    transition: all 0.3s ease-in-out;
}
.socials .icon-content a:hover .filled {
    height: 100%;
}
.socials .icon-content a[data-social="spotify"] .filled,
.socials .icon-content a[data-social="spotify"] ~ .tooltip {
    background-color: #1db954;
}
.socials .icon-content a[data-social="github"] .filled,
.socials .icon-content a[data-social="github"] ~ .tooltip {
    background-color: #2b3137;
}
.socials .icon-content a[data-social="discord"] .filled,
.socials .icon-content a[data-social="discord"] ~ .tooltip {
    background-color: #7289da;
}
.socials .icon-content a[data-social="telegram"] .filled,
.socials .icon-content a[data-social="telegram"] ~ .tooltip {
    background-color: #0088cc;
}
.socials .icon-content a[data-social="instagram"] .filled,
.socials .icon-content a[data-social="instagram"] ~ .tooltip {
    background-color: #E1306C;
}
/* ----- MOBILE FRIENDLY ----- */

@media only screen and (max-width: 500px) {
    h1 {
      font-size: 4rem;
    }
  }

/* ----- "MAGIC" TEXT EFFECT ----- */
:root {
    --purple: rgb(123, 31, 162);
    --violet: rgb(103, 58, 183);
    --pink: rgb(244, 143, 177);
}

@keyframes background-pan {
    from {
        background-position: 0% center;
    }
    to {
        background-position: -200% center;
    }
}

.magic {
    animation: background-pan 3s linear infinite;
    background: linear-gradient(
        to right,
        var(--purple),
        var(--violet),
        var(--pink),
        var(--purple)
    );
    background-size: 200%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    white-space: nowarp;
    position: relative;
    z-index: 100;
}

/* BACKGROUND */
/* ---- reset ---- */
body {
    margin: 0;
}
canvas {
    display: block;
}
/* ---- particles.js container ---- */
#particles-js{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000000;
    background-image: url("");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}

/* ---- BUTTON ----*/
.hidden {
    display: none !important;
}
#toggle-ui {
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-family: "Rubik", sans-serif;
    color: white;
    background: transparent;
    border: 0px;
    z-index: 999;
    animation: lights 5s 750ms linear infinite;
}

@keyframes lights {
    0% {
      color: hsl(230, 40%, 80%);
      text-shadow:
        0 0 1em hsla(320, 100%, 50%, 0.2),
        0 0 0.125em hsla(320, 100%, 60%, 0.3),
        -1em -0.125em 0.5em hsla(40, 100%, 60%, 0),
        1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
    }
    
    30% { 
      color: hsl(230, 80%, 90%);
      text-shadow:
        0 0 1em hsla(320, 100%, 50%, 0.5),
        0 0 0.125em hsla(320, 100%, 60%, 0.5),
        -0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2),
        0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
    }
    
    40% { 
      color: hsl(230, 100%, 95%);
      text-shadow:
        0 0 1em hsla(320, 100%, 50%, 0.5),
        0 0 0.125em hsla(320, 100%, 90%, 0.5),
        -0.25em -0.125em 0.125em hsla(40, 100%, 60%, 0.2),
        0.25em 0.125em 0.125em hsla(200, 100%, 60%, 0.4);
    }
    
    70% {
      color: hsl(230, 80%, 90%);
      text-shadow:
        0 0 1em hsla(320, 100%, 50%, 0.5),
        0 0 0.125em hsla(320, 100%, 60%, 0.5),
        0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2),
        -0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4);
    }
    
    100% {
      color: hsl(230, 40%, 80%);
      text-shadow:
        0 0 1em hsla(320, 100%, 50%, 0.2),
        0 0 0.125em hsla(320, 100%, 60%, 0.3),
        1em -0.125em 0.5em hsla(40, 100%, 60%, 0),
        -1em 0.125em 0.5em hsla(200, 100%, 60%, 0);
    }
    
  }