@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&family=Inter:wght@100..900');

:root {
    --bg-color: #f8f7f3;
    --general-font-color: rgba(22, 22, 19, 0.75);
    --link-container-color: aliceblue;
    --link-font-color: #000;
}

@keyframes basic-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fade-in {
    from {
        opacity: 0;
        transform: scale(1.1);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes stack-links {
    from {
        opacity: 0 !important;
        transform: translateX(-50%);
        filter: blur(5px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
        filter: blur(0);
    }

}

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    font-family: 'Inter', sans-serif;
    color: var(--general-font-color);
}

body {
    margin: 0;
    background-color: var(--bg-color);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    animation: basic-fade 500ms ease-in-out;
}

/* This is a special class used to fully remove the content until everything is fully loaded */
.disappear {
    display: none !important;
}

#main-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 45rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.5rem;
    animation: fade-in 1.5s ease-in-out;
}

#profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-bottom: 2rem;
}

#profile-picture {
    width: 7rem;
    height: 7rem;
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    margin-bottom: 0.25rem;
}

#profile-picture img {
    width: 7rem;
    height: 7rem;
}

#name {
    font-size: 2.2rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    line-height: 1.5;
    font-family: 'Crimson Pro', serif;
    letter-spacing: -0.05em;
}

#name img {
    margin-left: 0.4rem;
    width: 1.4rem;
    height: 1.4rem;
}

#handle {
    margin-top: -0.5rem;
    font-size: 1.1rem;
}

#description {
    font-size: 1.15rem;
    max-width: 28rem;
    font-style: italic;
    font-weight: 600;
    margin-top: -0.1rem;
    line-height: 2;
    text-align: center;
}

/* Links are hidden at first */
.hide {
    opacity: 0 !important;
}

#links-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    width: 100%;
}


.link-container {
    animation: stack-links 900ms ease-in-out calc(50ms * var(--order));
    display: flex;
    align-items: center;
    height: 3.6rem;
    width: 90%;
    max-width: 35rem;
    background-color: var(--link-container-color);
    margin-bottom: 1rem;
    cursor: pointer;
    transform: scale(1);
    transition: all 100ms ease-in-out;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
}

.link-container:hover {
    background: rgba(255, 255, 255, 0.8);
    transform: scale(1.05);
}

.link-container a {
    text-decoration: none;
    width: 100%;
}

.link-content {
    width: 95%;
    margin: auto;
    display: flex;
    align-items: center;
}

.link-name {
    width: 100%;
}

.link-name p {
    color: var(--link-font-color);
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    margin-left: -2.8rem;
}

.link-icon {
    border-radius: 10%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.link-icon img {
    width: 2.4rem;
}

.copyright {
    margin: 1.5rem 0rem;
}

#copyright-info {
    font-size: 1.12rem;
}

.noise {
    opacity: .7;
    mix-blend-mode: soft-light;
    background-image: url('assets/noise.png');
    background-size: auto;
    background-attachment: scroll;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
}

#background {
    background-image: url('assets/gradient_1.jpg');
    z-index: -10;
    mix-blend-mode: darken;
    background-position: 50% 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
    position: absolute;
    top: 0%;
    bottom: 0%;
    left: 0%;
    right: 0%;
}