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

h1,
h2,
h3,
h4,
h5 {
    color: #333;
    font-family: "Verdana", sans-serif;
    clear: both;
}

h1 {
    font-size: 1.75rem;
    margin: 0.75rem 0;
}
h2 {
    font-size: 1.5rem;
    margin: 0.75rem 0;
}
h3 {
    font-size: 1.25rem;
    margin: 0.75rem 0;
}
h4 {
    font-size: 1rem;
    margin: 0.75rem 0;
}
h5 {
    font-size: 0.75rem;
    margin: 0.75rem 0;
}

:is(h1, h2, h3, h4, h5) a {
    color: #333;
}

:is(h1, h2, h3, h4, h5) a[href^="#"] {
    color: inherit;
    text-decoration: none;
}

a {
    color: #2a7a77;
    text-decoration-color: #b0d8d3;
    transition: color 0.2s;
}

a:hover {
    color: #3f8e8a;
}

p {
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
}

html {
    color: #222;
    font-family: "Georgia", serif;
    font-size: clamp(1rem, 0.8rem + 1vw, 1.4rem);
    display: flex;
    flex-direction: row;
    justify-content: center;
    background-color: #f6f6f3;
}

body {
    width: 100%;
    max-width: 1000px;
    padding: 0.8rem;
    display: flex;
    flex-direction: column;
}

.site-title {
    color: #3f8e8a;
    font-size: clamp(2rem, 4vw, 2.6rem);
    margin-bottom: 0.8rem;
    text-align: center;
    letter-spacing: 0.02em;
}

.page-title {
    color: #008cb4;
}

.avatar-img {
    float: left;
    margin: 0 0.75rem 0 0;
}

.logo-left-img {
    height: 25px;
    margin: 0 0.25rem 0 0;
}

@media (max-width: 600px) {
    /* On small screens, reduce the image size */
    .logo-left-img {
        height: 20px;
    }
}

.logo-right-img {
    height: 25px;
    width: 25px;
}

@media (max-width: 600px) {
    /* On small screens, reduce the image size */
    .logo-right-img {
        height: 20px;
        width: 20px;
    }
}

.experience-location {
    font-style: italic;
}

nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    font-size: 1.2em;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.8rem;
    border-bottom: 2px solid #d4e8e5;
}

nav a {
    text-decoration: none;
    color: #444;
    transition: color 0.2s;
}

nav a:hover {
    color: #3f8e8a;
}

@media (max-width: 600px) {
    /* On small screens, the navigation items can be wrapped */
    nav {
        flex-wrap: wrap;
        margin-top: 0.4rem;
        margin-bottom: 0.4rem;
    }
}

.block {
    border: 1px solid #d4e8e5;
    border-left: 3px solid #3f8e8a;
    padding: 0.4rem 1rem;
    margin: 0 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #fafaf8;
}

footer {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #666;
}

footer hr {
    width: 100%;
    border: none;
    border-top: 1px solid #d4e8e5;
}

footer .copyright {
    color: #666;
    margin: 0.5rem;
}

footer .note {
    white-space: nowrap;
    margin: 0;
    font-size: 0.9rem;
}

.section-left {
    float: left;
    width: 60%;
}

.section-right {
    padding-left: 1rem;
    float: right;
    width: 40%;
}

@media (max-width: 600px) {
    /* On small screens, the sections can be stacked */
    .section-left {
        float: none;
        width: 100%;
    }

    .section-right {
        padding-left: 0;
        float: none;
        width: 100%;
    }
}
