.grid,
.grid-2col {
  display: grid;
  grid-column: span 2 / span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
}

.grid-1col {
  grid-column: span 1 / span 1;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-3col {
  grid-column: span 3 / span 3;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-4col {
  grid-column: span 4 / span 4;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-5col {
  grid-column: span 5 / span 5;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-6col {
  grid-column: span 5 / span 5;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-7col {
  grid-column: span 7 / span 7;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.grid-8col {
  grid-column: span 8 / span 8;
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.grid-9col {
  grid-column: span 9 / span 9;
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.grid-10col {
  grid-column: span 10 / span 10;
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.grid-11col {
  grid-column: span 11 / span 11;
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.grid-12col {
  grid-column: span 12 / span 12;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.flex-group-center,
.flex-group-left,
.flex-group-right {
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 5px;
  border: 1px solid #999;
}

.flex-group-left {
  justify-content: flex-start;
  text-align: left;
}

.flex-group-right {
  justify-content: flex-end;
  text-align: right;
}