html, body {
    overflow-x: hidden;
}

body {

    font-family: 'Lora', serif;
    font-size: 1.4em;
    line-height: 1.5em;
    margin: 0px;
    padding: 3em;
    box-sizing: border-box;
    padding-top: 5em;
    padding-bottom: 0px;
    text-align: center;
    background-color: white;
    
}

#logo {
    max-width: 300px;
    height: auto;
    text-align: center;
    margin: auto;
    margin-bottom: 2em;
}

#main {
    max-width: 40em;
    margin: auto;
    text-align: left;
}

section {
    margin-top: 3em;
    margin-bottom: 3em;
    padding-top: 2em;
    padding-bottom: 2em;
    position: relative;
    
}

section.grey {
    background-color: #efefef;

}

section.footer {
    margin-bottom: 0px;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1rem;
    text-align:center;
    color: white;
    background-color: #333;
    position: relative;
}

section:before {
    content: "";
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    margin-left: -100%;
    height: 100%;
    background-color: inherit;
}
section:after {
    content: "";
    width: 100%;
    position: absolute;
    top: 0px;
    right: 0px;
    margin-right: -100%;
    height: 100%;
    background-color: inherit;
}


a,a:visited {
    color: #9e0a0a;
}

#main > .hbspt-form {
    position: relative;
}

#main > .hbspt-form::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    height: 70px;
    width: 100%;
    background-color: white;
}

.team {
    display: grid;    
    grid-template-columns: repeat(auto-fill, minmax(9em, 1fr));
    column-gap: 1em;
}

.team .person {
    margin-bottom: 1em;     
}

.team .person h2 {
    font-size: 0.8em;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    line-height: 1.2em;
}

.team .person p {
    font-size: 0.6em;
    line-height: 1.2em;
    padding-right: 1.5rem;
    padding-left: 0.5rem;
    box-sizing: border-box;
}

.team .person img {
    width: 100%;
    height: auto;
    
}


@media screen and (max-width: 500px) {


    body {
        padding: 1em;
        font-size: 1em;
    }

    #logo {
        margin-bottom: 2em;
        padding-top: 1em;
        max-width: 200px;
    }

    section {
        margin-bottom: 1em;
        padding-top: 1em;
        padding-bottom: 1em;
    }

    section:first-of-type {
        margin-top: 1em;
    }

    .cv {
        display: none;
    }

    .team {
        grid-template-columns: repeat(auto-fill, minmax(6em, 1fr));
    }

}