body { 
  font-family: lemonde-journal, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px; 
  margin: 0; 
  padding: 0; 
  background: #E7FFE3; 
}
header { 
  width: 100%;
  text-align: center; 
}
#logo { 
  margin: 0 auto; 
}
#content { 
  width: 50%; 
  margin: 0 22% 50px; 
  padding: 20px 3% 20px 3%; 
}
h1 { 
  font-size: 1.7em;
  margin: 0; 
  color: #222; 
}
p { 
  color: #555; 
  line-height: 1.45em; 
  margin: 0.55em 0; 
  letter-spacing: 0.01em; 
}

@media only screen and (max-width: 1023px) {

  header { width: 100%; overflow-x: hidden; }

  #content { 
    width: 84%; 
    margin: 0 4%; 
    padding: 20px 4% 20px 4%; 
  }

}

@media only screen and (max-width: 767px) {

  body { font-size: 15px; }

  h1 { font-size: 1.8em; }

}

/* flex grid */

.flex-grid,
.flex-grid-thirds,
.flex-grid-quarters { 
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  box-sizing: border-box;
  flex-flow: row wrap;
  margin: 0 auto;
}

/* clearfix */
.flex-grid::before,
.flex-grid::after,
.flex-grid-thirds::before,
.flex-grid-thirds::after,
.flex-grid-quarters::before,
.flex-grid-quarters::after {
  content: "";
}
.flex-grid::after,
.flex-grid-thirds::after,
.flex-grid-quarters::after {
  clear: both;
}

.col {
  flex: 1 1 auto;
  box-sizing: border-box;
}
.flex-grid-thirds .col.twothirds {
  flex: 2 1 66.666%;
}
.flex-grid-quarters .col {
  flex-basis: 25%;
}

@media (max-width: 1023px) {

  .flex-grid .col,
  .flex-grid-thirds .col,
  .flex-grid-thirds .col.twothirds {
    flex-basis: 100%;
  }

}

@media (max-width: 767px) {

  .flex-grid,
  .flex-grid-thirds,
  .flex-grid-half {
    display: block;
  }
  .flex-grid .col,
  .flex-grid-thirds .col,
  .flex-grid-thirds .col.twothirds {
    display: block;
    width: 100%;
    margin: 0 0 20px 0;
  }
  .flex-grid-quarters .col {
    flex-basis: 50%;
  }

}
