.projects h2 {
  text-align: center;
}

.projects .project {
  display: inline-flex;
  border: 1px solid var(--color-smoke-90);
  width: 46%;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem;
  margin: 1rem;
}

.projects .project a > img {
  display: inline-block;
  width: auto;
  height: 5rem;
}

.projects .project a > img + img {
  padding-left: 1rem;
}

.projects .project .description {
  padding: 1rem;
  text-align: center;
}

.projects .project .links {
  align-items: center;
  margin: 1.5rem 0;
  white-space: nowrap;
}

@media screen and (max-width: 1023px) {
  .projects .project {
    width: 100%;
    margin: 1rem 0;
  }
}

@media screen and (max-width: 480px) {
  .projects .project {
    padding: 1rem 0.4rem;
  }
}

@media screen and (min-width: 1024px) {
  .projects .project .description {
    height: 10rem;
  }
}
