body {
  background-color: #FAFAFA;
}

#header {
  text-align: center;
  color: #fdfdfd;
  text-shadow: 0 0 1px #000;
  padding: 20px 5px 30px;
  border-bottom: 1px solid #ddd;
  margin: 0 -15px 20px;
  /* background taken from https://uigradients.com/ */
  background: #FF512F; /* fallback for old browsers */
  background: -webkit-linear-gradient(to left, #FF512F , #DD2476); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to left, #FF512F , #DD2476); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

#title {
  font-size: 5em;
  text-shadow: 0 0 5px #000;
  line-height: 1.2;
  margin-bottom: 15px;
}

#subtitle {
  font-size: 2em;
  margin-bottom: 15px;
  line-height: 1.1;
}

#subsubtitle {
  font-size: 1.3em;
}

#subsubtitle a {
  color: #fdfdfd;
  text-decoration: underline;
}

@media only screen and (max-width: 979px) {
  #header {
    padding: 15px 5px 35px;
  }
  #title {
    font-size: 4em;
  }
  #subtitle {
    font-size: 1.7em;
  }
  #subsubtitle {
    font-size: 1.2em;
  }
}

@media only screen and (max-width: 767px) {
  #title {
    font-size: 3.5em;
  }
  #subtitle {
    font-size: 1.5em;
  }
  #subsubtitle {
    font-size: 1.1em;
  }
}

pre {
  width: 300px;
}

#sections-container {
  text-align: center;
}
#sections-container[data-columns]::before {
  content: '4 .grid-col.size-1of4';
}
@media only screen and (max-width: 1510px) {
  #sections-container[data-columns]::before {
    content: '3 .grid-col.size-1of3';
  }
}
@media only screen and (max-width: 1200px) {
  #sections-container[data-columns]::before {
    content: '2 .grid-col.size-1of2';
  }
}
@media only screen and (max-width: 780px) {
  #sections-container[data-columns]::before {
    content: '1 .grid-col.size-1of1';
  }
}

.size-1of4, .size-2of4, .size-3of4, .size-4of4,
.size-1of3, .size-2of3, .size-3of3, .size-1of2, .size-2of2, .size-1of1 {
  width: 345px;
}

.grid-col {
  display: inline-block;
  vertical-align: top;
  margin: 0 10px;
}

.section {
  text-align: left;
  border: 1px solid #ccc;
  box-shadow: 0 0 5px #ddd;
  padding: 10px 20px;
  background-color: #fff;
  width: 345px;
  border-radius: 5px;
  margin-bottom: 20px;
  min-height: 250px;
  transition: box-shadow 0.5s;
}
.section:hover {
  box-shadow: 0 0 5px orange;
}

.section .title {
  font-weight: bold;
  font-size: 2em;
}

.section .output {
  margin: 10px 0 5px;
  font-weight: bold;
}
