@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Next:ital,wght@0,200..800;1,200..800&family=Cherry+Bomb+One&display=swap');


body, html {
    height: 100%;
}

body {
    background-color: #201228;
    background-image: linear-gradient(#201228, #453251);
    background-attachment: fixed;
    color: #f0d5ff;
    margin: 0;
    font-family: "Atkinson Hyperlegible Next", sans-serif;
}

main {
    margin: auto;
    max-width: 800px;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;

    @media (max-width: 850px) {
        padding: 50px;
    }

    @media (max-width: 700px) {
        padding: 20px;
    }
}

header.horizontal-wrapper {
    display: flex;
    margin-top: 25%;

    .vertical-wrapper {
        width: 100%;
        display: flex;
        flex-direction: column;

        @media (max-width: 700px) {
            flex-direction: column;
            align-items: center;
        }

        .title {
            display: flex;
            flex-direction: column;
            font-family: "Cherry Bomb One", "Comic Sans MS", sans-serif;
            font-size: 40px;
            width: fit-content;
            padding-left: 10px;

            @media (max-width: 700px) {
                padding-left: 0px;
            }

            span.big {
                font-size: 80px;
                margin-top: -50px;
            }
        }


        .infobox {
            display: flex;
            gap: 1rem;
            flex-direction: column;
            width: 100%;
            background-color: #201228;
            padding: 20px;
            box-sizing: border-box;
            border-radius: 25px;
        }

        /* Horizontal separator line. Source implementation: https://ishadeed.com/article/flexbox-separator/ */
        .infobox:before {
            content: "";
            border: 1px solid #685b6f;
            align-self: stretch;
        }

        .microbio {
            /* Order so it's put before the separator line */
            order: -1;
        }
    }

    .jaffa {
        width: 300px;
        max-width: 100%;
        margin: 20px;
        animation: jaffafloat 2s infinite alternate ease-in-out;
    }

    @media (max-width: 700px) {
        flex-direction: column;
        align-items: center;
        margin-top: 0%;
    }

    /* Remove top margin when short-height big horizontal screen */
    @media (min-width: 700px) {
        @media (max-height: 700px) {
            margin-top: 10%;
        }
    }
    
}



/* Header Jaffa animation */
@keyframes jaffafloat {
    from {
        transform: translateY(-8px);
    }

    to {
        transform: translateY(8px);
    }
}


a {
    color: beige;
}
a:visited {
    color: rgb(227, 194, 131);
}