body {
    font-family: -apple-system, BlinkMacSystemFont, "avenir next", avenir, "segoe ui", "helvetica neue", helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
    font-size: 16px;
    font-weight: lighter;
    background-color: #f9f8f5;
    color: #333;
}

header, main, footer {
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

header, main {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 10rem;
}

header, footer {
    margin-top: 4rem;
    margin-bottom: 4rem;
}

header ul, header li, footer ul, footer li {
    display: inline;
    list-style: none;
    list-style-position: inside;
    padding: 0;
}

header ul, footer ul {
    float: right;
}

header li, footer li {
    padding-left: 1rem;
}

main p {
    padding-top: 4rem;
}

footer {
    margin-top: 8rem;
}

h1, h2, h3, h4 {
    margin-top: 4rem;
    text-align: center;
}

a {
    text-decoration: none;
    color: #333;
    font-weight:normal;
    transition: 0.2s ease-in-out;
}

a:hover, a:active, a:focus {
    text-shadow: 3px 2px 2px #ccc;
}

.bi {
    translate: 0 3px;
}

.centered {
    text-align: center;
}

.centered > img {
    width: 10rem;
}
.centered > ul {
    float:none;
    font-size: 90%;
}

.imgfluid {
    width: 50%;
}

.mainimgfluid {
    width: 100%;
}

.maintext {
    font-size: 120%;
}

.largetext {
    font-size: 140%;
}

.experience {
    font-size: 100%;
    padding-top: 2rem;
}

.singlecolumn {
    width: 50%;
    grid-template-columns: 1fr;
}
@media screen and (max-width: 1400px) {
    header, main, footer {
        width: 80%;
        max-width: 80vw;
    }

    header, main {
        gap: 7rem;
    }

    .imgfluid {
        width: 75%;
    }
}

@media screen and (max-width: 640px) {
    header, main {
        grid-template-columns: 1fr;
        gap: 0;
    }

    header ul, footer ul {
        float: left;
    }

    .imgfluid {
        width: 100%;
    }

    .singlecolumn {
        width: 90%;
    }
}