@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lusitana:wght@400;700&display=swap');

html {
    font-size: 16px;
    line-height: 1.35;
    font-family: 'Lusitana', serif;
}

p,
ul,
ol,
dl {
    margin-bottom: .75rem;
}

.container {
    max-width: 80%;
}

a:hover,
a:focus {
    text-decoration: none;
}

@media (min-width: 48em) {
    .sidebar {
        left: 0;
        visibility: visible;
    }

    .wrap {
        margin-left: 14rem;
        width: auto;
    }

    .sidebar-toggle {
        display: none;
    }
}


/* Projects */

.project {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1rem;
    padding: 1rem;
    background: none;
    border: 0;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
}

.project-text {
    flex: 1;
    min-width: 0;
}

.project-text h4 {
    margin-top: 0;
}

.project-text p {
    margin-bottom: .4rem;
    font-size: .9rem;
}

.project img {
    flex-shrink: 0;
    width: 220px;
    height: 130px;
    margin: 0;
    object-fit: cover;
    border-radius: 4px;
}

h4 {
    font-weight: bold;
}

@media (max-width: 38em) {
    .container {
        max-width: 90%;
    }

    .project {
        flex-direction: column;
        align-items: flex-start;
    }

    .project img {
        display: none;
    }
}


/* Project tags */

.tags span {
    font-size: .65rem !important;
    margin-right: .8rem;
    color: rgb(73, 73, 73);
    font-family: 'Work Sans', sans-serif;
}


/* Experience */

.exp-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: nowrap;
}

.exp-header h4 {
    min-width: 0;
    margin: 1rem 0 .2rem;
}

.uni {
    font-family: 'Work Sans', sans-serif !important;
    font-size: .8rem !important;
}

.exp-meta {
    flex-shrink: 0;
    font-size: .75rem !important;
    color: #666;
    white-space: nowrap;
    font-family: 'Work Sans', sans-serif;
}

.company {
    font-weight: 400;
}

.links {
    display: flex;
    flex-direction: column;
    padding: 1rem 0;
}


/* Case study listing */

.case-study {
    padding: 1rem 0;
    border-bottom: 1px solid #ddd;
}

.case-study-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
}

.case-study-header h4 {
    margin: 0 0 .5rem;
}

.case-study-header span {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: .75rem;
    color: gray;
    font-family: 'Work Sans', sans-serif;
}

.case-study p {
    margin: 0;
}


/* Case study pages */

.case-study-page {
    font-family: 'Work Sans', sans-serif;
    color: rgb(41, 41, 41);
    font-size: 1rem;
}

.case-study-page h1,
.case-study-page h2,
.case-study-page h3,
.case-study-page h4 {
    font-family: 'Work Sans', sans-serif;
}


/* Case study code */

.case-study-page pre,
.case-study-page code {
    font-family: 'JetBrains Mono', monospace;
    font-size: .75rem !important;
}

.case-study-page pre {
    overflow-x: auto;
}


/* Mobile */

@media (max-width: 38em) {

    .exp-meta {
        font-size: .7rem !important;
    }

    .case-study-header span {
        font-size: .7rem;
    }

    .case-study-page {
        font-size: 1rem;
    }

    .case-study-page pre,
    .case-study-page code {
        font-size: .7rem !important;
    }
}