:root {
  --box-padding: 2em;
  --box-margin: 0.7em;

  --max-container-width: 80rem;
  --content-margin: 1em;
}

#content {
  margin: var(--content-margin);

  width: calc(100% - var(--content-margin) * 2);
}

#container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  width: 100%;
  max-width: var(--max-container-width);
}

.box {
  display: flex;
  box-sizing: border-box;
  flex: 1 0 calc(33.3% - var(--box-margin) - var(--box-padding));

  flex-direction: column;

  padding: var(--box-padding);
  margin: var(--box-margin);
}

.box-text {
  line-height: 1.5;
  
  display: flex;
  flex-direction: column;
  row-gap: .5em;
}

.content-subheader {
  margin-bottom: .3em;
}

.box-decoration {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
}

@media only screen and (max-width: 1000px) {
  .box {
    flex: 1 0 calc(50% - var(--box-margin) - var(--box-padding));
  }
}
@media only screen and (max-width: 650px) {
  .box {
    flex: 1 0 calc(100% - var(--box-margin) - var(--box-padding));
  }
}
