@font-face {
    font-family: Spritendo Semibold Beta;
    src: url('font/RoSpritendoSemiboldBeta-vmVwZ.otf');
}
@font-face {
    font-family: Brawn;
    src: url('font/BrawnFreeDemo-OVPJO.otf');
}

body {
    font-family: Arial, sans-serif;

    margin: 0;
    padding: 0;
    height: 100vh;

    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;

    background-color: #0a021d;
    background: linear-gradient(180deg, #0c0113, #060016);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.title-container {
    position: relative;
    text-align: center;
    padding: 20px;
    z-index: 1;
    width: fit-content;
    opacity: 0;
    transform: translateY(20px);
    /* Initial state for animation */
    animation: fadeInUp 1.5s ease-out forwards;
    transition: opacity 0.3s ease, transform 0.3s ease;
    /* Dynamically adjusts to content width */

    /* Gradient border */
    border: 6px solid;
    border-radius: 12px;
    border-image: linear-gradient(to bottom, #9f08bd, rgba(0, 0, 0, 0)) 1 100%;
}

.social-container {
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateY(20px);
    /* Initial state for animation */
    animation: fadeInUp 2.5s ease-out forwards;
    transition: opacity 0.3s ease, transform 0.3s ease;
    /* Dynamically adjusts to content width */
}

.social {
    width: 40px;
    height: auto;
    padding-inline: 5px;
}

/* Section at the bottom of the page */
.aka-container {
    padding: 20px;
    position: relative;
    /* Semi-transparent background */
    display: flex;
    /* Use Flexbox to align items horizontally */
    justify-content: center;
    /* Center content horizontally */
    align-items: center;
    /* Center content vertically */
    opacity: 0;
    transform: translateY(-20px);
    /* Start hidden */
    animation: fadeInDown 1.5s ease-out forwards;
    /* Apply fade-in animation */
}

.about-container {
    width: 75vw;
    margin-top: 60px;
    text-align: center;
    margin-bottom: 50px;
    z-index: 1;
    opacity: 0;
    transform: translateY(20px);
    /* Initial state for animation */
    animation: fadeInUp 2.5s ease-out forwards;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.statement-container {
    width: 75vw;
    margin-top: 60px;
    margin-bottom: 60px;
    padding: 40px;
    text-align: left;
    background-color: #0a021d;
    border-radius: 10px;
    border-width: 5px;
    border-style: solid;
    border-color: #130135;
    margin-bottom: 50px;
    z-index: 1;
}

.portfolio-page {
    width: 80vw;
    padding-top: 40px;
    padding-bottom: 40px;
    text-align: center;
    background-color: #0a021d;
    border-radius: 10px;
    border-width: 5px;
    border-style: solid;
    border-color:#130135;
    z-index: 1;
    opacity: 0;
    transform: translateY(20px);
    /* Initial state for animation */
    animation: fadeInUp 2.5s ease-out forwards;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.portfolio-container {
    opacity: 0;
    transform: translateY(20px);
    /* Initial state for animation */
    animation: fadeInUp 1.5s ease-out forwards;
    transition: opacity 0.3s ease, transform 0.3s ease;
    margin-top: 40px;
    z-index: 1;
    width: 90vw;
}

.portfolio-section {
    padding: 20px;
    padding-top: 40px;
    margin-bottom: 40px;
    background-color: #130135;
    border-radius: 20px;
}

.portfolio-entries {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-color: #9f08bd #130135;
    scrollbar-width:thin;
}

@media only screen and (max-width: 768px) {
    .portfolio-entry {
        height: 300px;
        max-height: 20vh;
    
        border-color: #0a021d;
        border-width: 5px;
        border-style: solid;
        border-radius: 5px;
    }
}

@media only screen and (min-width : 768px) {
    .portfolio-entry {
        height: 300px;
        border-color: #0a021d;
        border-width: 5px;
        border-style: solid;
        border-radius: 5px;
        cursor: pointer;
    }
}

/* Styling for title and subtitle */
h1,
p {
    margin: 0;
    /* Remove default margins for better spacing */
}

h1 {
    color: #3a9efb;
    font-family: Spritendo Semibold Beta;
    font-size: clamp(1rem, 6vw, 2rem);
    padding-bottom: 20px;
    padding-inline: 10px;
}

p {
    font-family: Brawn;
    font-size: clamp(0.5rem, 4vw, 1.5rem);
    color: #9f08bd;
}

/* Style for individual letters */
.letter {
    display: inline-block;
    /* Each letter behaves as a block */
    opacity: 0;
    /* Start hidden */
    transition: opacity 0.3s ease;
    /* Fade effect for letters */
}

/* Hide the subtitle while maintaining space */
#subtitle {
    visibility: hidden;
    /* This allows the container to size correctly */
}

#about {
    font-family:'Times New Roman', Times, serif;
    font-size: clamp(1vw, 3vw, 1.5rem);
    color: #bc5bec;
}

#statement {
    font-family: 'Times New Roman', Times, serif;
    font-size: clamp(1vw, 3vw, 1.5rem);
    color: #c6d2f8;
}

/* Side containers */
.stars {
    z-index: 0;
}

/* Star styles */
.star {
    position: fixed;
    background-color: rgb(159, 8, 189);
    border-radius: 50px;
    opacity: 0;
    width: 5px;
    height: 5px;

    /* Add both fade and movement animation */
    animation: fadeInOut 5s ease-in-out forwards, moveStar 5s linear infinite;
}

/* Fade-in and fade-out animation */
@keyframes fadeInOut {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/* New keyframe for star movement */
@keyframes moveStar {
    0% {
        transform: translate(0px, 0px);
    }

    100% {
        transform: translate(var(--moveX), var(--moveY));
        /* Use custom properties for movement */
    }
}

/* Keyframes for animations */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
        /* Starting position (below) */
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        /* Final position */
    }
}

/* Keyframes for animations */
@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-20px);
        /* Starting position (below) */
    }

    100% {
        opacity: 1;
        transform: translateY(0);
        /* Final position */
    }
}