@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
*{
    font-family: 'Poppins', sans-serif;
    color:#ababab;
    scroll-behavior: smooth;
    /* cursor: none; */
    overflow-x: hidden;
    overflow-y:hidden;
    user-select: none;
}
body{
    opacity: 0;
    background-color:#454545;
    transition: background-color 1s ease-in-out;
}
/* Main container */
.central-container-introduction{
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    height:auto;
    width:400px;
    background-color: #1e1e1e;
    border-radius:1rem;
    padding:20px;
    border:4px solid #2e2e2e;
    /* white shadow around the box, the x and y offsets are 0 and the blur radius is 15px, comment here for reference since i most likely will forget */
    /* transparent white to make the effect look cooler */
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.15);
    z-index:0;
}
.svg-list{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:30px;
    padding:0.5rem;
}
svg{
    padding:10px;
    border:2px solid #444;
    border-radius:0.5rem;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.25);
}


#cursor-circle {
    /* making sure that circle can be anywhere on the webpage so absolute positioning :thumbs up: */
    position: fixed;
    /* same width and height to create a square and then turn it into a circle later on. */
    width: 14rem;
    height: 14rem;
    border-radius: 50%; /* smooth the square into a circle */
    background: rgb(122,154,240);
    background: radial-gradient(circle, rgba(122,154,240,0.25) 0%, rgba(205,122,240,0.1) 40%, rgba(23,23,23,0) 60%);
    transform: translate(-50%, -50%); /* center this stupid circle to the middle of the cursor because it will be ugly without it. subtracting width and height to make it centered. */
    z-index: 0;
}
/* All decoration circles that are used for the main page to style */
#deco-circle-1 {
    position: fixed;
    width:40rem;
    height:40rem;
    border-radius:50%;
    top: 0;
    left: 0;
    background: #aeb5ee;
    background: radial-gradient(circle, rgba(174, 181, 238, 0.2) 0%, rgba(135, 160, 215, 0.1) 40%, rgba(92, 137, 189, 0) 60%);
}
#deco-circle-2 {
    position: fixed;
    bottom: 0;
    right: 0;
    width:40rem;
    height:40rem;
    border-radius:50%;
    background: #87d79e;
    background: radial-gradient(circle, rgba(135, 215, 158, 0.2) 0%, rgba(113, 202, 127, 0.1) 40%, rgba(78, 204, 86, 0) 60%);
}
#deco-circle-3 {
    position: fixed;
    bottom: 0;
    left: 0;
    width:40rem;
    height:40rem;
    border-radius:50%;
    background: #c25f94;
    background: radial-gradient(circle, rgba(194, 95, 148, 0.2) 0%, rgba(217, 100, 180, 0.1) 40%, rgba(199, 135, 199, 0) 60%);
}
#deco-circle-4 {
    position: fixed;
    top: 0;
    right: 0;
    width:40rem;
    height:40rem;
    border-radius:50%;
    background: #db9914;
    background: radial-gradient(circle, rgba(219, 153, 20, 0.2) 0%, rgba(212, 162, 42, 0.1) 40%, rgba(204, 172, 65, 0) 60%);
}
#deco-mini-1{
    position:fixed;
    bottom:5%;
    left:5%;
    width:25rem;
    height:25rem;
    border-radius:50%;
    background: #d9c530;
    background: radial-gradient(circle, rgba(217, 197, 48, 0.2) 0%, rgba(215, 203, 115, 0.1) 40%, rgba(214, 207, 152, 0) 60%);

}
#deco-mini-2{
    position:fixed;
    top:5%;
    right:5%;
    width:25rem;
    height:25rem;
    border-radius:50%;
    background: #d9c530;
    background: radial-gradient(circle, rgba(217, 197, 48, 0.2) 0%, rgba(215, 203, 115, 0.1) 40%, rgba(214, 207, 152, 0) 60%);

}
#deco-mini-3{
    position: fixed;
    top:5%;
    left:5%;
    width:25rem;
    height:25rem;
    border-radius:50%;
    background: #c24040;
    background: radial-gradient(circle, rgba(194, 64, 64, 0.2) 0%, rgba(202, 106, 106, 0.1) 40%, rgba(207, 128, 128, 0) 60%);
}
#deco-mini-4{
    position:fixed;
    bottom:5%;
    right:5%;
    width:25rem;
    height:25rem;
    border-radius:50%;
    background: #c24040;
    background: radial-gradient(circle, rgba(194, 64, 64, 0.2) 0%, rgba(202, 106, 106, 0.1) 40%, rgba(207, 128, 128, 0) 60%);
}
/* CSS for the star specks for the background */
.star-specks{
    position: fixed;
    z-index:-2;
    width: 10px;
    height:10px;
    background-color: gold;
    opacity: 0;
    border-radius:50%;
}
.gradient-name{
    background: linear-gradient(90deg, rgba(122,154,240,0.85) 0%, rgba(205,122,240,0.85) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 2.5rem;
}
/* Smooth typing animation for the main text of the webpage */
.typing-animation {
    overflow: hidden;
    display: inline-block;
    white-space: nowrap;
    border-right: 3px solid #ababab;
    width: 0;
    animation: typing 2s steps(40, end) forwards, blink-caret 0.7s step-end infinite;
    animation-delay:3s;
}
/* Keyframe for the typing */
@keyframes typing {
    from {
            width: 0; 
    }
    to {
            width: 100%; 
    }
}
/* The blinking caret animation to further imitate the typing effects */
@keyframes blink-caret {
    0%, 100% {
        border-right-color: #ababab; 
    }
    50% {
        border-right-color: transparent; 
    }
}
.message{
    opacity: 0;
    position: absolute;
    top:85%;
    left:50%;
    transform: translate(-50%, -50%);
    color: #787878;
    font-size:1.25rem;
    /* transition: opacity 0.75s ease; */
}
/* navigation items styling down here */
.navigation-section{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* background-color: #1e1e1e;
    border: 4px solid #2e2e2e;
    border-radius:1rem; */
    width: auto;
    height:auto;
    padding:30px;
    z-index: 2;
}
.navigation-items > button{
    display: flex;
    flex-direction: column;
    text-align: center;
    text-decoration: transparent;
    margin:10px;
    font-size:1.5rem;
    background-color: #1e1e1e;
    border: 4px solid #2e2e2e;
    border-radius:1rem;
    color: #aeb5ee;
    font-weight:500;
    margin:20px;
    padding:20px;
    transition: text-decoration 1.5s ease, background 0.5s ease, color 0.5s ease, scale 0.5s ease;
    width:370px;
    height:auto;
}
.navigation-items > button:hover{
    color: #7d89e4;
    text-decoration: underline;
    scale:1.05;
    background: #2a2a2a;
}
nav{
    display: none;
    opacity: 0;
}
footer{
    position:absolute;
    bottom:0;
    left:50%;
    transform: translate(-50%, 0%);
}
footer > p{
    color:#777;
}
/* Media queries for smaller devices */
@media screen and (max-width:500px){
    #cursor-circle {
        display: none;
    }
    .central-container-introduction{
        width: 250px;
        height: auto;
    }
    .message{
        font-size: 1rem;
    }
    .typing-animation {
        display: block;
        animation: none;
        width: 100%;
        border-right: none;
        white-space: normal;
        word-break: break-word;
    }
    .navigation-items > button{
        width:250px;
        height: auto;
    }
    svg{
        width: 64px;
        height: 32px;
    }
}