*,  *::before, *::after {
    box-sizing: border-box;
}
body {
    margin: 0;
    padding: 0;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 16px;
    display: grid;
    grid-template-columns: minmax(1.25em, 3.31em) auto minmax(1.25em, 3.31em);
    grid-template-rows: 3.69em auto auto 6.56em; 
    grid-template-areas: 
    "    .    header      .   "
    " content content  content"
    " content content  content"
    " footer  footer   footer " ;
}
main {
    grid-area: content;
    grid-row: 2 / -2;
    display: grid;
    grid-template-columns: minmax(1.25em, 3.31em) 4.25em minmax(225px, 100%) 4.25em minmax(1.25em, 3.31em);
    grid-template-rows: auto auto;
}
.nested-grid {
    display: grid;
    grid-template-columns: minmax(1.25em, 3.31em) 4.25em minmax(225px, 100%) 4.25em minmax(1.25em, 3.31em);
    grid-column: 1 / -1; 
}

.header-title {
    font-size: 0.84rem;
    padding-left: 1em;  
    font-family: 'Roboto', sans-serif; 
    color: #0E0E0E;
}
.nav-menu-items a {
    color: #090909;
}

.hero-post-inner a  {
    color: #fff;
}

.article-title, 
.recent-post-title {
    color: #141414;
}

.about-me-title,
.article-intro, 
.article-content, 
.about-content {
    color: #151515;
}

.footer-name {
    color: #ECECEC;
}

.footer-copyright {
    color: #D7D7D7;
}

a, 
.logo-header {
    text-decoration: none;
}

.article-date-hero,
.nav-menu-items,
.footer-text, 
.footer-copyright {
    font-size:  0.75rem;
}

.article-title-hero {
    font-size: 2rem;
}

.article-date {
    font-size: 0.88rem;
}

.article-title {
    font-size: 1.5rem;
    margin: 0.31em 0;
}

.about-me-title {
    font-size: 2.18rem;
    margin-bottom: 0.94rem;
}

.nav-menu-items,
.article-date, 
.article-date-hero {
    text-transform: uppercase;
}

.article-preview-hero,
.article-body-preview,
.article-body-text,
.article-intro {
    line-height: 1.25;
}

.article-heading,
.recent-post-title,
.footer-name {
    font-weight: 700;
}



img:not(.logo) {
    background-color: #e1e1e1;
}

.article-image {
    width: 100%;
    border-radius: 3px;
}

.main-post-image {
    grid-column: 2 / -2;
    margin: 0.94em 0;
}

.about-intro {
    grid-column: 2 / -2;
}

.about-image {
    width: 11.37em;
    min-width: 11.37em;
    height: 11.37em;
    background-image: url("../images/front-view-woman-looking-laptop.jpg");
    background-color: #e1e1e1;
    background-position: center;
    background-size: cover;
    border-radius: 50%;
    margin-right: 2.06em;
}
.header-main,
.logo-header,
.nav-menu-list {
    display: flex;
}
.header-main {
    grid-area: header;
    background-color: #fff;
    align-items: center;
    justify-content: space-between; 
}
.logo-header { 
    align-items: center;
}
.logo {
    margin-right: 0.19em;
    width: 1.45rem;
    height: 1.45rem;
}
.nav-menu-list {
    list-style: none;
    margin: 0; 
    padding: 0;
}
.nav-menu-items {
    margin: 0 0 0 3em;
    font-weight: 600;
}
.hero-post {
    grid-column: 1 / -1;
    grid-row: 2 / 3;
    background-image: url("../images/article-image-hero.png");
    background-color: #e1e1e1;
    background-size: cover;
    background-position: center center;
    margin-bottom: 2.12em;   
}
.hero-post-inner {
    grid-column: 2 / -2;
    margin-top: 5.44em;
}
.article-title-hero {
    margin: 0;
}

.article-preview-hero {
    margin-top: 0.5em; 
    margin-bottom: 1.56em;
}
.article-listing {
    grid-column: 2 / -2;
    grid-row: 3 / 4;
    display: grid;
    grid-gap: 1.62em;
    grid-template-columns: repeat(auto-fill, minmax(309px, 1fr)); 
    margin-bottom: 3.5em; 
}
.article-main {
    grid-column: 1 / -1;
    grid-row: 1 / 2;
    margin-top: 2em;
}
.article-body-preview {
    margin: 0 0 0.94em 0;
    color: #505050;
}

.article-content {
    grid-column: 2 / -2;  
}

.recent-post-title {
    grid-column: 3;
    text-align: center;
    margin: 2.19em 0 1.69em 0;
}

.about-content {
    margin-bottom: 2.5rem;
}

footer {
    grid-area: footer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #202020;
}

.footer-name {
    margin-bottom: 0.19em;
}

.footer-copyright{
    margin: 0;
}
@media (min-width: 768px) {
    body {
        grid-template-rows: 5.19em auto auto 6.56em; 
    }

    main {
        background-color: #FAFAFA;
    }

    .logo {
        width: 2.14rem;
        height: 2.14rem;
    }

    .header-title {
        font-size: 1.25rem;  
    }

    .nav-menu-items {
        font-size: 1rem;
    }

    .hero-post-inner {
        grid-column: 2 / -2;
        margin-top: 17.94em;
        width: 70%;
    }

    .article-date-hero {
        font-size: 1rem;
    }

    .article-title-hero {
        font-size: 2.25rem;
    }

    .article-preview-hero {
        margin-bottom: 3.7em;
    }

    .article-heading {
        font-size: 1.25rem;
    }

    .article-content {
        grid-column: 3 / -3;
    }
    
    .recent-post-title {
        font-size: 1.5rem;
    }

    .about-intro {
        display: flex;
    }

    .about-me-title {
        font-size: 2.25rem;
    }
}
