@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700&display=swap');
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
body {
    background-color: #f5f5f5;
    font-family: 'Poppins', sans-serif;
    font-size: 1em;
    color: #5d5d5d;

    display: grid;
    grid-template-areas: ". header ." ". content ." ". aside ." ". footer .";
    grid-template-columns: 20% 1fr 20%;
}

ul {
    margin: 10px 0;
    padding-left: 32px;
    line-height: 48px;
    list-style-type: square;
    list-style-position: outside;
}
li {
    padding-left: 18px;
}
.paragraph,
p {
    padding: 10px 0;
    line-height: 1.5em;
}
div.paragraph {
    width: 90%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row;
}
.alert {
    left: 1%;
    bottom: 2%;
    padding: 20px;
    border: 1px solid #2b75c0;
    background-color: #4c89c5;
    display: flex;
    flex-direction: row;
    align-items: center;
    color: #fff;
    font-size: 1em;
    position: fixed;
}
.alert .message {
    margin-left: 10px;
}

/* Grid definitions */
header.site { grid-area: header; }
footer.site {grid-area: footer;}
main.content { grid-area: content;}

header.site, 
footer.site {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Site header section */
header.site {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 70px;
}
.branding .site-name { font-size: 3em; white-space: nowrap; }
.branding .site-description { font-size: 1.5em; text-align: right; color: #8d8a8a; }
.branding .site-description::after { content: '.'; color: #0f61ad; }

nav { width: 40% }
nav.main ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
nav.main li {padding: 0}
nav.main a { text-decoration: none; font-weight: 300; color: #0f61ad; }

/* Site content section */
main.content {
    margin: 70px 0;
    position: relative;
}

footer.site {
    display: flex;
    justify-content: center;
    padding: 10px;
    font-size: .8em;
}
section.profile {
    display: inline;
    float: right;
}
figure.profile-image {
    background-image: url(../images/me2.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: relative;
    width: 250px;
    height: 250px;
    border-radius: 50%;
}
figure.profile-image::before,
figure.profile-image::after {
    background-color: #0f61ad;
    position: absolute;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    content: '';
    z-index: -1;
}
figure.profile-image::before {
    left: -20px;
    bottom: -20px;
}
figure.profile-image::after {
    right: -20px;
    bottom: -20px;
    clear: both;
}
.cta {
    padding: 16px;
    margin: 10px;
    color: #fff;
    background-color: #0f61ad;
    border: 0;
    font-size: 1.2em;
}
/* Media queries */
@media screen and (max-width: 680px) {
    body { grid-template-columns: 10% 1fr 10%; }
    nav.main li {
        flex-basis: 100%;
    }
    div.paragraph {
        flex: 1 1 100%;
    }
}
