@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

                      /* You can change the colors on the root selector to change the theme of the card */
 :root {          
    --color-gray-900:#141414;
    --color-gray-800:#1F1F1F;
    --color-gray-700:#333333;
    --color-green:#C4F82A;
    --color-white:#FFFFFF;
}

body {
    height:100vh;
    width:100vw;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin:0;
    padding:0;
    overflow-x: hidden;
    background-color:var(--color-gray-900);
    font-family: "Inter", sans-serif;
}

.main-container {
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin:0;
    width:fit-content;
    height:fit-content;
    max-height: 612px;
    max-width:384px;
    padding:40px;
    border-radius: 12px;
    background-color: var(--color-gray-800);
}
.author-info {
    text-align: center;
}
.profile-pic {
    width:88px;
    height:88px;
    border-radius: 50%;
    box-shadow: 0px 0px 20px 9px hsl(0, 0%, 8%);
    animation:appearance 1.1s ease-out;
}
@keyframes appearance {    /* Animation appearance of the picture */
    0% {
        transform:scale(0.5);
        opacity:0%;
    }
    50% {
        transform:scale(1.1);
    }
    100%{
        transform:scale(1.0);
        opacity:100%;
    }
}
.name {
    font-size: 24px;
    font-weight: 700;
    margin:24px 10px 10px 10px;
    color:var(--color-white);
    animation: 
          typingText 4s steps(19) forwards ,
          blinkCursor 0.7s step-end infinite,
          hideCursor 0s forwards;
    animation-delay: 0s,0s,4.4s;
    overflow:hidden;
    white-space: nowrap;
    width:auto;
    box-sizing: border-box;
    border-right: 3px solid var(--color-green);
}
@keyframes typingText {
    from { width:0; }
    to { width:15ch; }
}
@keyframes blinkCursor {
    50% { border-color:transparent; }
}
@keyframes hideCursor {
    to { border-right:none; }
}
.addres {
    font-weight: 700;
    font-size:16px;
    color:var(--color-green);
    letter-spacing: 1px;
    margin: 0;
    text-decoration: none;
}
.quote {
    color:var(--color-white);
    font-size: 14px;
    font-weight:400;
    margin:24px 0 24px 0;
}
.social-links {
    display:flex;
    flex-direction: column;
    width:100%;
    text-align: center;
    row-gap: 16px;
}
.link {
    justify-items: center;
    text-decoration: none;
    font-size:14px;
    font-weight: 700;
    background-color: var(--color-gray-700);
    line-height: 320%;
    height:45px;
    box-sizing: border-box;
    border-radius: 8px;
    color:var(--color-white);
    transition: color 0.4s ease-in-out,
    background-color 0.4s ease-in-out,
    transform 0.2s ease-in-out;
}
.link:hover {
    color:var(--color-gray-700);
    background-color: var(--color-green);
}
.link:active {
    color:var(--color-gray-700);
    background-color: var(--color-green);
    transform:scale(0.95);
    border:solid 2px white
}
.attribution { 
    font-size: 14px;
    text-align: center;
    width:100%;
    position:absolute;
    bottom:-52px;
    background-color: var(--color-gray-700);
}
.attribution a { 
    color: hsl(228, 45%, 44%); 
}