.section-posts {
  margin: 5rem 0;
}
.section-posts .container {
  max-width: 800px;
}
.section-posts .container .posts a.post {
  color: var(--black);
  display: flex;
  align-items: center;
  border-radius: 30px;
  background-color: var(--gray);
  padding: 10px;
  grid-gap: 50px;
  flex-wrap: wrap;
  text-decoration: none;
}
.section-posts .container .posts a.post:not(:last-child) {
  margin-bottom: 20px;
}
.section-posts .container .posts a.post .image {
  width: calc(40% - 25px);
  align-self: stretch;
  overflow: hidden;
  border-radius: 25px;
}
.section-posts .container .posts a.post .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.5s;
}
.section-posts .container .posts a.post > div:not(.image) {
  flex: 1 0 calc(60% - 25px);
  padding: 50px 100px 50px 0;
}
.section-posts .container .posts a.post > div:not(.image) h3 {
  margin: 0 auto 25px 0;
  max-width: 400px;
  transition: all 0.1s;
  text-transform: uppercase;
}
.section-posts .container .posts a.post > div:not(.image) .text {
  font-weight: 400;
}
.section-posts .container .posts a.post > div:not(.image) p.button {
  width: -moz-max-content;
  width: max-content;
  margin-top: 40px;
}
.section-posts .container .posts a.post:hover .image img {
  transform: scale(1.05);
}
.section-posts .container .posts a.post:hover div h3 {
  color: var(--primary);
}
.section-posts .container .posts p.no-results {
  text-align: center;
}

@media (max-width: 800px) {
  .section-posts .container .posts a.post {
    grid-gap: 30px;
  }
  .section-posts .container .posts a.post .image {
    width: calc(40% - 15px);
  }
  .section-posts .container .posts a.post > div:not(.image) {
    width: calc(60% - 15px);
    padding-right: 10px;
  }
}
@media (max-width: 600px) {
  .section-posts .container .posts a.post {
    grid-gap: 30px;
  }
  .section-posts .container .posts a.post .image {
    display: none;
  }
  .section-posts .container .posts a.post > div:not(.image) {
    width: 100%;
    padding: 20px;
  }
  .section-posts .container .posts a.post > div:not(.image) h3 {
    font-size: 1.75em;
  }
}
/*

Blog page

*/
.section-posts[blog-page] h2 {
  text-align: center;
}
.section-posts[blog-page] .container {
  max-width: 900px;
}

/*

Loading transitions

*/
/* Posts */
.section-blog_posts .container .content .blog-posts {
  margin-top: -5rem;
  margin-bottom: 7rem;
  opacity: 0;
}

.section-blog_posts.scrolled-to .container .content .blog-posts {
  animation: blogPosts 1.5s forwards;
}

@keyframes blogPosts {
  0%, 30% {
    margin-top: -5rem;
    margin-bottom: 7rem;
    opacity: 0;
  }
  100% {
    margin-top: 1rem;
    margin-bottom: 0;
    opacity: 1;
  }
}