@import url("https://fonts.googleapis.com/css2?family=Arbutus&family=Chonburi&family=Quattrocento:wght@400;700&display=swap");

html {
    /* rem relative property */
    font-size: 0.875rem;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 1rem;
    max-width: 100%;
    overflow-x: hidden;
}

ul {
    margin: 0px;
}

:root {
    --sideInfo-width: 20rem;
    --mainBody-width: 37rem;
}

#title {
    position: relative;

    font-family: "Arbutus", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4rem;
}

#cv {
    position: absolute;
    font-family: "Quattrocento", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 2rem;
    bottom: -1rem;
    right: 0px;
}

#ego {
    width: 280px;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 15%;
}

#mainContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#subContainer {
    position: relative;
    display: flex;
    width: 100%;
}

@media (min-width: 769px) {
    #mainContainer {
        align-items: center;
    }

    #subContainer {
        margin-left: auto;
        margin-right: auto;
        width: fit-content;
    }
}

#sideInfo {
    width: var(--sideInfo-width);
    padding: 0.2rem;

    font-family: "Quattrocento", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.6rem;
}

#mainBody {
    width: var(--mainBody-width);
}

/* 3 rem wide */
#verticalLine {
    position: relative;
    /* height: 100vh; */
    /* width: 0.4rem; */
    width: 0.2rem;

    background-color: black;
    /* border-radius: 20%; */
    margin-left: 1.9rem;
    margin-right: 1.9rem;
}

.sideInfoTitle {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.sideInfoSpace {
    height: 4rem;
    width: 100%;
}

.mainTitle {
    font-family: "Chonburi", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2.5rem;
    margin-bottom: 1rem;
    margin-top: 3rem;
}

.subTitle {
    margin-top: 2rem;
    font-family: "Quattrocento", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.6rem;
}

.jobTitle,
.jobPlace {
    font-family: "Quattrocento", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.4rem;
}

@media (max-width: 768px) {
    html {
        font-size: 1rem;
    }

    #mainContainer {
        align-items: center;
    }

    #subContainer {
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    }

    #sideInfo,
    #mainBody {
        width: min(100%, 42rem);
        padding-right: 0.2rem;
        padding-left: 0.2rem;
    }

    #verticalLine {
        display: none;
    }

    #title {
        font-size: 2.5rem;
    }

    #cv {
        position: static;
        margin-top: 0.3rem;
    }

    #title,
    #sideInfo,
    #mainBody {
        text-align: center;
    }

    #ego {
        margin-left: auto;
        margin-right: auto;
    }

    body {
        line-height: 1.5;
    }

    a {
        word-break: break-word;
    }
}
