.Posts {
  --gap: var(--m8);
  --posts-in-row: 2;
  --post-w: calc(100% / var(--posts-in-row) - (var(--posts-in-row) - 1) * var(--gap) / 2);

  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--gap);
}

.PostsItem {
  display: flex;
  flex-direction: column;
  width: var(--post-w);
  height: var(--post-w);
  cursor: pointer;
}

.PostsItem header { width: 100% }

.PostsItem__date {
    margin-top: 8px;

    font-size: 12px;
    float: right;
  }
  .PostsItem > p {
    margin-bottom: 5px;

    font-size: 14px;
    /* line-height: 21px; */
  }
  /*.PostsItem > * {
    display: block;
    margin-bottom: 10px;
  }*/
  .PostsItem__poster {
    /* position: absolute;
    top: 0; bottom: 0; left: 0; */
    width: 100%;
    height: var(--post-w);

    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .PostsItem__poster img {
    /* position: absolute;
    top: 0; right: 0; left: 0; bottom: 0; */
    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
  }

  .PostsItem__poster figcapture {
    /*display: flex;
    position: absolute;
    top: 0; right: 0; left: 0; bottom: 0;*/

    color: white;
    font-size: 38px;
    font-weight: 100;
    /* line-height: 42px; */
  }

  .PostsItem time {
    color: var(--black);
    /* line-height: 30px; */
  }
  .PostsItem__tags {
    display: flex;
    gap: 0 var(--m2);
    flex-wrap: wrap;
    float: right;
  }
  .PostsItem__tags > * {
    display: inline-block;

    font-size: 12px;
    /* line-height: 18px; */
    color: var(--brand);
    text-decoration: none;

    background: var(--black-10);
    border-radius: 4px;
  }
  .PostsItem__link {
    color: var(--black);
    font-size: 20px;
    font-weight: 500;
    /* line-height: 30px; */
  }

@media (min-width: 741px) {
  .PostsItem {
    /* min-height: 285px; */
  }
}

@media (max-width: 740px) {
  .Posts {
    --gap: var(--m4);
  }

  .PostsItem {
    /* --pad: 25px; */
    padding: var(--pad);
  }

  .PostsItem > p {
    font-size: 14px;
    /* line-height: 21px; */
  }
  .PostsItem__poster {
    /* --w: calc(100% - 2*var(--page-pad)); */
    /* position: relative; */
    /* width: calc(100% + 2*var(--pad)); */
/*    width: 300px;*/
/*    height: var(--w) 3 * 2;*/
    /* height: 200px; */
    /* margin-left: calc(-1*var(--pad));
    margin-top: calc(-1*var(--pad)); */
  }

  .PostsItem__link {
    font-size: 25px;
    /* line-height: 30px; */
  }
  .PostsItem__tags > * {
    font-size: 12px;
    /* line-height: 150%; */
  }
}

@media (max-width: 480px) {
  .Posts {
    --posts-in-row: 1;
  }
}