.layout-container {
  max-width: 1100px;
  margin: 0 auto;
  overflow: visible;
  padding: 0 40px;
}

.layout-spacer {
  max-width: 700px;
  margin: 0 auto;
  overflow: auto;
  padding: 0 auto;
  color: transparent;
}

.layout-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}

.layout-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.layout-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.layout-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.layout-stretch {
  align-items: stretch;
}

@media all and (max-width: 600px) {
  .layout-container {
    padding: 0 16px;
  }

  .layout-grid-2,
  .layout-grid-3,
  .layout-grid-4 {
    grid-template-columns: 1fr;
  }
}
