body {
  font-family: sans-serif;
}

h2 {
  max-width: 1200px;
  margin: 15px auto 15px auto;
  padding-top: 50px;
  border-top: 1px solid #ccc;
}

h2:first-child {
  border-top: 0px;
  padding-top: 0px;
}

.container {
  display: grid;
  grid-gap: 5px;
  max-width: 1200px;
  margin: 0 auto 100px auto;

  border: 8px dashed #999;
}

.container>.container {
  max-width: auto;
  border: 0px;
  margin: 0;
}

.item {
  display: grid;
  justify-items: center;
  align-items: center;
  grid-gap: 2px;

  box-sizing: border-box;
  padding: 25px 15px;

  background-color: rgba(175, 208, 191, 0.6);
  font-family: sans-serif;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
}

.item>.item {
  background-color: #A1B5D8;
}

.item>.item>.item {
  background-color: #CB8589;
}

.item>.item>.item>.item {
  background-color: #E8D2AE;
}

.item>.item>.item>.item>.item {
  background-color: #9BD1E5;
}

@media (max-width: 480px) {

  .container,
  .part1,
  .part2,
  .part3 {
    display: grid;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
  }

  .item {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}