.articles-container{
  width: auto;
  margin: auto;
  padding: 0 20px;
  display: grid;
  grid-gap: 1.28rem;
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fill, 320px);
  justify-content: center;

  .article-card{
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: box-shadow 0.3s;

    .article-image-container{
      width: 100%;
      height: 200px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;

      img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: 0.32s ease;
      }
    }

    &:hover, &:focus, &:target{
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

      img{
        filter: brightness(200%);
        filter: contrast(120%);
        cursor: pointer;
      }

      .article-h .article-title{
        color: #01459c;
      }
    }

    .article-h{
      text-align: left;
      padding: .64rem 1.28rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      width: auto;

      .article-title{
        margin: 0;
        font-weight: bold;
        font-weight: 700;
        transition: .32s ease;
        color: #000;

        &:hover, &:focus, &:target{
          color: #01459c;
        }
      }
    }
  }
}

@media (max-width: 864px){
  .articles-container{
    display: flex;
    flex-direction: column;
    align-items: center;

    .article-card{
      flex-direction: row;
      width: 100%;
      max-width: none;

      .article-image-container{
        width: 160px;
        height: 120px;

        img{
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      .article-h{
        display: flex;
        align-items: center;

        .article-title{
          text-align: left;
        }
      }
    }
  }
}