body {
    font-family: 'Roboto', sans-serif;
    display: flex;
    flex-direction: column;
    padding:0;
    margin: 0;
}

nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3em;
}

header, footer, main, article{
    padding: 1em 8em;
    padding-bottom: 4em;
    display: flex;
    flex-direction: column;
    align-items: center;
}

header, footer{
    background-color: #1f2937;

}

main{
    justify-content: center;
}

ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
    display:flex;
    flex-wrap: wrap;
    gap: 1em;
}

h2{
    text-align: center;
}

p {
    margin: 0;
    padding: 0;
}

button, .call-to-action {
    background-color: #3882f6;
}

.hero-button{
    color:#f9faf8;
    font-weight: bold;
    padding: 0.5em 1em;
    border-radius: 4px;
    border: 0;
}

button:hover {
    text-shadow: 1px 1px white;
    box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
}

article {
    padding-top: 4em;
    background-color: #e5e7eb;
}

.hero{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

ul, .hero-text{
    color: #E5E7EB;
    font-size: 18px;
}

.nav-title{
    color: #f9faf8;
    font-size: 24px;
    font-weight: bold;
}

.hero-title, .hero-caption{
    max-width: 400px;
    flex: 0 1 auto;
}

.hero-title{
    color: #f9faf8;
    font-size: 48px;
    font-weight: bolder;
    margin: 0;
}

.hero-figure .hero-figure, img{
    width: auto;
    max-height: 100%;
    padding: 0;
    margin: 0;
    background-color: grey;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 1 auto;
}

.card-container{
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    justify-content: space-around;
    align-items: flex-start;
}

.card {
    width: 150px;
    color:#1f2937;
    text-align: center;
}

.card figure{
    margin: 0;
    padding: 0;
    width: 137px;
    height: 137px;
    color: white;
    border-style: solid;
    border-width: 5px;
    border-radius: 8px;
    border-color: #3882f6;
}

.quote, .speaker{
    margin: 0px;
    padding: 0px 7.5%;
    color: #1f2937;
    flex-shrink: 1;
}
.quote {
    font-size: 36px;
    font-style: italic;
    text-align: justify
}

.speaker {
    font-size: 24px;
    font-weight: bold;
    text-align: end;
}

.call-to-action{
    margin: 4em 8em;
    padding: 2em 7.5%;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.call-title, .call-caption{
    color:#f9faf8
}

.call-title {
    font-size: 18px;
    font-weight: bold;
}

.call-button {
    padding: 0.5em 2em;
    max-width: 100%;
    color: white;
    font-weight: bold;
    border: 2px solid white;
    border-radius: 8px;
    flex:0 0 auto;
}

footer {
    padding: 2em 8em;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    color: #e5e7eb;
    font-size: medium;
}
