@media(max-width: 58em) {
   .grid--4-cols {
        grid-template-columns: repeat(3, 1fr);
   }
}

@media(max-width: 47em) {
    .links-tab {
        display: block;
        text-align: center;
        display: flex;
        flex-direction: column;
    }

    .main-nav {
        display: none;
    }

    .header {
        justify-content: center;
    }
    .bookshelf {
        grid-template-columns: 1fr;
    }
}

@media(max-width: 41em) {
    .hero {
        grid-template-columns: 1fr;
    }
    .hero-description {
        margin-bottom: 0.4rem;
    }
    .grid--4-cols {
        grid-template-columns: repeat(2, 1fr);
   }
}

@media(max-width: 32em) {
    .section-info {
        padding: 0.6rem;
        padding-top: 0.4rem;
    }
}

@media(max-width: 30em) {
    .grid--4-cols {
        grid-template-columns: repeat(1, 1fr);
   }

   .portfolio-item {
        margin-bottom: 1.8rem;
   }
}