.sidebar-listing {
  margin: 70px 0;
  @media (max-width: 1680px) {
    margin: 60px 0;
  }
  @media (max-width: 1440px) {
    margin: 50px 0;
  }
  @media (max-width: 1024px) {
    margin: 40px 0;
  }
  .container {
    display: grid;
    grid-gap: 50px;
    grid-template-columns: 320px 1fr;
    @media (max-width: 1680px) {
      grid-gap: 40px;
      grid-template-columns: 280px 1fr;
    }
    @media (max-width: 1440px) {
      grid-gap: 30px;
      grid-template-columns: 240px 1fr;
    }
    @media (max-width: 1024px) {
      grid-template-columns: 1fr;
    }
    aside {
      padding-right: 20px;
      border-right: 1px solid var(--c-gray-200);
      @media (max-width: 1024px) {
        order: 2;
        padding-right: 0;
        border-right: 0;
        text-align: center;
      }
      * {
        transition: color 0.3s ease-in-out;
      }
      h4 {
        margin: 0 0 1.4em;
      }
      .categories {
        ul {
          list-style: none;
          padding: 0;
          margin: 0;
          li {
            margin-bottom: 1em;
            a {
              display: block;
              color: var(--c-primary-200);
              font-weight: 700;
              text-decoration: none;
            }
            &.active,
            &:hover {
              a {
                color: var(--c-gray-500);
              }
            }
          }
        }
      }
    }
    .listing-body {
      @media (max-width: 1024px) {
        order: 1;
      }
      * {
        transition: all 0.3s ease-in-out;
      }
      h2 {
        margin: 0 0 1em;
      }
      .basic-articles {
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 50px;
        @media (max-width: 768px) {
          grid-template-columns: 1fr;
          margin-bottom: 30px;
        }
      }
      .listing-articles {
        margin-bottom: 50px;
        @media (max-width: 768px) {
          margin-bottom: 40px;
        }
        article {
          display: grid;
          gap: 20px;
          grid-template-columns: 164px 1fr;
          padding: 30px 0;
          border-bottom: 1px solid var(--c-gray-200);
          @media (max-width: 1680px) {
            padding: 24px 0;
          }
          @media (max-width: 1440px) {
            padding: 18px 0;
          }
          @media (max-width: 768px) {
            display: flex;
            gap: 14px;
            padding: 18px 0;
          }
          &:first-of-type {
            padding-top: 0;
          }
          figure {
            @media (max-width: 768px) {
              width: 90px;
            }
            a {
              display: block;
              img {
                width: 100%;
                vertical-align: top;
              }
            }
          }
          .article-body {
            @media (max-width: 768px) {
              flex: 1;
              display: flex;
              flex-direction: column;
            }
            .article-top {
              @media (max-width: 768px) {
                flex: 1;
              }
              h6 {
                display: flex;
                flex-wrap: wrap;
                row-gap: 4px;
                margin: 0 0 0.4em;
                a {
                  color: var(--c-gray-500);
                  line-height: 1;
                  &:hover {
                    color: var(--c-primary-200);
                  }
                }
                span {
                  display: block;
                  width: 1px;
                  margin: 0 10px;
                  background-color: var(--c-gray-500);
                }
              }
              h4 {
                margin: 0 0 0.24em;
                text-transform: none;
                a {
                  display: block;
                  color: var(--c-primary-200);
                  &:hover {
                    color: var(--c-gray-500);
                  }
                }
              }
            }
            .author-date {
              display: flex;
              gap: 20px;
              font-size: var(--fs-sm);
              @media (max-width: 768px) {
                flex-direction: column;
                gap: 0;
              }
              date {
                position: relative;
                text-align: right;
                white-space: nowrap;
                @media (max-width: 768px) {
                  text-align: left;
                }
                &:before {
                  display: block;
                  position: absolute;
                  content: '';
                  width: 6px;
                  height: 6px;
                  top: 7px;
                  left: -14px;
                  background-color: var(--c-gray-500);
                  @media (max-width: 768px) {
                    display: none;
                  }
                }
              }
            }
          }
        }
      }
      .cta {
        @media (max-width: 1024px) {
          display: flex;
          justify-content: center;
        }
      }
    }
  }
}
