@font-face {
  font-family: DINish;
  src: url(../blob/DINish-Regular.woff2);
}

@font-face {
  font-family: DINish;
  src: url(../blob/DINish-Bold.woff2);
  font-weight: bold;
}

body {
    font-family: DINish, "Trebuchet MS", sans-serif;
    background-color: #f2f2f2;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fadeInRight {
    animation: fadeInRight 1s ease-out;
}

.fadeInLeft {
    animation: fadeInLeft 1s ease-out;
}

h1,
h2,
a,
p {
    margin: 0;
}

h1 {
    font-size: 3vw;
}

h2 {
    font-size: 2.5vw;
}

p,
a {
    font-size: 1.5vw;
}

#container {
    position: relative;
    width: 100%;
    height: 100vh;
    scroll-behavior: smooth;
    overflow: auto;
    scroll-snap-type: y mandatory;
}

.section {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    scroll-snap-align: start;
    box-sizing: border-box;
}

.sidestack {
    height: 100vh;
    width: 20px;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
}

.radio {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.radio div {
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: lightgray;
}

.radio_active {
    background-color: black !important;
}

#profile {
    height: 50vh;
    width: 50vw;
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    grid-template-rows: 1fr 1fr 6fr;
    gap: 3% 7%;
    grid-template-areas:
        "logo title"
        "logo subtitle"
        "logo bio";
}

#logo {
    grid-area: logo;
    display: flex;
    justify-content: left;
    align-items: center;
    width: 100%;
}

#logo img {
    width: 100%;
}

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

#title h1 {
    background-color: black;
    color: #f2f2f2;
    padding: 5px;
}

#subtitle {
    grid-area: subtitle;
    display: flex;
    justify-content: right;
}

#bio {
    grid-area: bio;
    padding: 25px;
    background-color: #dddddd;
    border-radius: 25px;
}

#more {
    height: 50vh;
    width: 50vw;
    display: grid;
    grid-template-columns: 1fr 1fr; 
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr; 
    gap: 5% 4%; 
    grid-template-areas: 
      "links_title links_title"
      "link_email link_codeberg"
      ". link_github"
      "keys_title keys_title"
      "key_personal key_personal"
      "key_email key_email"; 
}

#links_title,
#keys_title {
    display: flex;
    justify-content: center;
    align-items: end;
}

#links_title {
    grid-area: links_title;
}

#link_email {
    grid-area: link_email;
}

#link_codeberg {
    grid-area: link_codeberg;
}

#link_github {
    grid-area: link_github;
}

#link_codeberg,
#link_github {
    justify-content: end;
}

.link {
    display: flex;
    gap: 5%;
    align-items: center;
}

.link a {
    background-color: black;
    color: #f2f2f2;
    border-style: solid;
    padding: 10px;
    text-decoration: none;
}

.link a:hover {
    background-color: #f2f2f2;
    color: black;
}

#keys_title {
    grid-area: keys_title;
}

#key_personal {
    grid-area: key_personal;
}

#key_email {
    grid-area: key_email;
}

#key_personal,
#key_email {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.key {
    color: grey;
}

.key:hover {
    color: black;
}

@media (max-width: 600px) {
    #profile {
        display: grid;
        width: 80vw;
        height: 70vh;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1fr 0.5fr 1fr 1fr;
        gap: 2% 2%;
        grid-template-areas:
            "logo . title"
            "logo subtitle subtitle"
            "bio bio bio"
            "bio bio bio";
    }

    h1 {
        font-size: 8vw;
    }

    h2 {
        font-size: 5vw;
    }

    p,
    a {
        font-size: 4vw;
    }

    #more {
        height: 60vh;
        width: 80vw;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
        gap: 0px 0px;
        grid-template-areas:
            "links_title"
            "link_email"
            "link_codeberg"
            "link_github"
            "keys_title"
            "key_personal"
            "key_email";
    }

    #link_email,
    #link_codeberg,
    #link_github {
        justify-content: start;
    }

    #key_personal,
    #key_email {
        flex-direction: column;
        justify-content: center;
    }

    .radio div {
        width: 6px;
        height: 6px;
        border-radius: 3px;
    }
}

@media (prefers-color-scheme: dark) {
    body {
        background-color: #323232;
    }

    #title h1 {
        background-color: #f2f2f2;
        color: black;
    }

    h1,
    h2,
    p {
        color: #f2f2f2;
    }

    #bio {
        background-color: #666666;
    }

    .link a {
        background-color: #f2f2f2;
        color: black;
        border-color: #f2f2f2;
    }

    .link a:hover {
        background-color: black;
        color: #f2f2f2;
    }

    .radio div {
        background-color: black;
    }

    .radio_active {
        background-color: #f2f2f2 !important;
    }
}
