:root {
    --lines : rgba(255, 255, 255, 0.1);
}

article {
    position: relative;
    min-height: 100px;
}

article img {
    width: 100%;
    height: 100px;
    border-radius: 5px;

    filter: grayscale(0.9);
    transition: all 0.7s;
    margin: 1rem 0;

    border: 1px solid rgba(255, 255, 255, 0.2);
}
article:hover img, 
article:hover .image {
    filter: grayscale(0.5);
}

article .image {
    width: 100px;
    height: 100px;
    border-radius: 50%;

    float: left;

    margin-right: 10px;
    margin-bottom: 1rem;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    filter: grayscale(0.9);
    transition: all 0.7s;

    border: 1px solid rgba(255, 255, 255, 0.2);
}

article .date {
    position: relative;
    font-size: 1.2rem;
    font-weight: 100;
    margin-bottom: 1rem;
    padding: 0;
    color: rgba(255, 255, 255, 1);
}
article .date::before {
    position: absolute;
    left: -22px;
    top: 8px;
    z-index: 20;
    content: '';

    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: cyan;
}

article a.readMore i {
    position: absolute;
    font-size: 1.4em;
    font-weight: bold !important;
    color: #333;
    background-color: cyan;
    padding: 10px;
    border-radius: 50%;

    bottom: 20%;
    left: 50%;

    transform: translate(-50%, 20px);
    opacity: 0;

    transition: 0.3s;
    z-index: 20;
    box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.5);


}

article:hover a.readMore i{
    transform: translate(-50%, -80px);
    opacity: 1;
}


article h5 {
    font-size: 1.2rem;
    font-weight: 400;
}



@media screen and (max-width: 599px) {
    article img {
        height: 250px;
        object-fit: cover;
    }
}

@media screen and (min-width: 600px) {
    .grid-wrapper {
        display: grid;
        grid-auto-flow: column;
        grid-gap: 1rem;
    }
}

@media screen and (min-width: 1025px) {
    .grid-wrapper {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
    .grid-wrapper {
        grid-template-columns: 1fr 2fr;
    }
}

article {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--lines);
}

article p {
    font-size: 0.95rem;
    margin: 0;
}

article:nth-child(4) {
    grid-area: 1/2/4/3;
}

@media screen and (min-width: 1025px) {
    article:nth-child(8) {
        grid-area: 1/4/4/-1;
    }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
    article:nth-child(8) {
        grid-area: 4/2/8/3;
    }
}

@media screen and (min-width: 1025px) {
    article:nth-child(4n+3) {
        border-bottom: 0;
    }
}

@media screen and (min-width: 1025px) {
    article:nth-child(4) {
        border-right: 1px solid var(--lines);
        padding-right: 1rem;
    }
}

@media screen and (min-width: 600px) {
    article:nth-child(4n) {
        border-left: 1px solid var(--lines);
        border-bottom: 0;
        padding-left: 1rem;
    }
}

.grid-wrapper:not(:last-child) {
    padding-bottom: 40px;
    border-bottom: 1px solid var(--lines);
}