.boxes {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 8px;
  padding: 16px;
}

.box {
  border-radius: 20px;
  padding: 8px;
  display: flex;
  align-items: center;
  text-align: left;
  text-decoration: none;
  color: inherit;
  transition: background 0.2s;
}

.box:hover {
  background: var(--hover);
}

.box i {
  font-size: 24px;
  padding: 20px;
  background: hsl(var(--color), 100%, 89%);
  color: hsl(var(--color), 100%, 35%);
  border-radius: 100px;
  margin: 2px 12px 2px 2px;
}

a.box {
  cursor: pointer;
  padding: 14px;
}

.box img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  margin-right: 12px;
}

.box .name {
  font-size: 16px;
}

.box .desc {
  opacity: 0.6;
}

/* media query for medium screens */
@media only screen and (min-width: 512px) {
  .boxes {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* large screens */
@media only screen and (min-width: 768px) {
  .boxes {
    grid-template-columns: repeat(3, 1fr);
  }
}
