* 
{
    margin: 0;
    padding: 0;
}
:root
{
    --text-xs: 0.75rem;
    --text-md: 1.2rem;
    --text-lg: 1.5rem;
    --text-xl: 3rem;
    --text-vXL: clamp(2rem, 2vw + 2rem, 4rem);

    --nav-width: 50px;
    --nav-padding: 15px;

    --color-primary: #292929;
    --color-secondary: #b1b1b1;
    --color-3: #868686;
    --color-hover: rgb(91, 91, 91);
    --color-glow: #2CE8F5;
}

body 
{
   font-family: "Geo", sans-serif;
   font-weight: 400;
   font-style: normal;
   min-height: 100vh;
   position: relative;

   background-color: var(--color-primary);
   color: var(--color-secondary);
}

h1
{
    font-size: var(--text-vXL);
}

ul
{
    list-style-position: inside;
}

/* content */
.content
{
    position: relative;
    margin-left: calc(var(--nav-width) + (2 * var(--nav-padding)));
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: calc(100vh - 100px);
    gap: 30px;
    padding: 50px;
}

/* grid stuff */
.main-grid
{
    gap: 30px;
    display: grid;
    grid-template-areas: 
    "title title"
    "photo bio"
    "photo socials";

    font-size: var(--text-lg);
    max-width: 1000px;
}

#title
{
    grid-area: title;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
}

#title span
{
    color: var(--color-secondary);
    font-size: var(--text-lg);
}

.main-grid img
{
    grid-area: photo;
}

.main-grid #bio
{
    grid-area: bio;
}

.socials
{
    grid-area: socials;
    display: inline-flex;
    gap: 20px;
}

.social-button
{
    background-color: #333333;
    box-shadow: 0px 2px 3px var(--color-glow);
    padding: 5px 10px;
    height: 40px;
    font-size: var(--text-md);
    text-decoration: none;
    text-align: right;
    color: var(--color-secondary);

    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;

    transition: all 0.05s ease-out;
}

.social-button:hover
{
    transform: translate(0px, -2px);
    box-shadow: 0px 4px 3px var(--color-glow);
}

.bottom-text
{
    position: absolute;
    width: 100%;
    text-align: center;
    font-size: var(--text-lg);
    bottom: 3vh;
}

/* hobby games*/
#hobbies-text
{
    margin-top: auto;
    font-size: var(--text-lg);
}

.hobby-games
{
    padding: 0 20px 0 20px;
    display: flex;
    gap: 60px;
    align-items: center;
    max-width: calc(100% - 40px);
    overflow-x: auto;
    scrollbar-color: var(--color-secondary) var(--color-primary);
}

.hobby-game 
{
    flex: 0 0 auto;
    width: 500px;
    height: 250px;
    aspect-ratio: 2 / 1;
}

@media (max-width: 800px)
{
    .content
    {
        margin-left: 0px;
        margin-top: 0px;
        padding: 10px;
    }

    .main-grid
    {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px;
    }

    #title
    {
        flex-wrap: wrap;
        align-items: center;
        text-align: center;
        flex-direction: column;
    }

    #hobbies-text
    {
        text-align: center;
    }
    .hobby-games
    {
        flex-direction: column;
       
    }
    .hobby-game
    {
        width: 100%;
        height: auto;
    }
}

@media (hover: none) and (pointer: coarse) 
{
    #hobbies-text
    {
        display: none;
    }

    .hobby-games
    {
        display: none;
    }
}