article, section, aside, nav, header, footer {
  display: block;
}

body {
  background: #224466 url('/public/images/gridbg.png');
  color: #223355;
  font-family: sans-serif;
}

body, #root, #mainheader, #mainheader h1, .featuresnav section, #mainfooter {
  margin: 0;
  padding: 0;
}

.clear {
  clear: both;
}

#mainheader {
  margin: 0;
  padding: 0.4em 0.8em;
  color: white;
  font-family: sans-serif;
  background: #1C87FF url('/public/images/grad1.png') repeat-x;
  border: 1px solid #3377AA;
  border-width: 1px 0;
  text-shadow: #000000 1px 1px 0.2em;
}

#mainheader h1 > a {
  color: #EEFFFF;
  text-decoration: none;
}

#mainheader h1 > a:hover {
  color: #FFFFFF;
}

#mainbody {
  margin: 1em 15%;
  padding: 1em;
  width: 70%;
  background-color: rgb(70, 160, 255);
  background-color: rgba(70, 160, 255, 0.75);
  border: 1px solid #3366AA;
  border-radius: 1em;
}

#pagetitle h1 {
  margin: 0;
  padding: 0.15em;
  color: #DDFFFF;
  background-color: rgb(50, 185, 255);
  background-color: rgba(50, 185, 255, 0.3);
  border-radius: 0.5em;
  text-shadow: #FFFFFF 0 0 0.3em;
}

.featuresnav {
  margin: 1.5em;
  padding: 0.8em;
}

.featuresnav section {
  border: 1px solid #3366AA;
  background: #6688FF url('/public/images/grad2.png') repeat-x;
  margin-top: 1em;
  padding-top: 0;
  border-radius: 1em 1em 0 0;
}

.featuresnav section p {
  margin-left: 0.8em;
}

.featuresnav section h2 {
  margin: 0;
  padding: 0.3em 0.25em 0.1em;
  font-size: 1.5em;
}

.featuresnav section h2 a {
  color: #EEEEFF;
  background-color: white;
  background-color: rgba(255, 255, 255, 0.1);
  text-decoration: none;
  text-shadow: none;
  padding: 0.2em;
  border: 1px solid transparent;
  border-radius: 0.5em;
}

.featuresnav section h2 a:hover {
  color: #FFFFFF;
  text-shadow: #FFFFFF 0 0 0.5em;
  background-color: white;
  background-color: rgba(255, 255, 255, 0.3);
  border-color: #EEEEFF;
}

.featuresnav section h2 a:active {
  background-color: rgb(234, 240, 255);
  background-color: rgba(234, 240, 255, 0.4);
}

.featuresnav section img {
  float: left;
  margin: 1em;
}

#mainfooter {
  width: 100%;
  padding: 0.5em 0;
  border: 1px solid #557788;
  border-width: 1px 0;
  background-color: rgb(160, 210, 250);
  background-color: rgba(160, 210, 250, 0.7);
}

@media screen and (max-device-width: 480px) {

body {
  background: white;
}

#mainbody, .featuresnav, #pagetitle h1, #mainfooter {
  width: 480px;
  margin: 0;
  padding: 0;
  border: 0;
}

#mainbody {
  margin: 0;
  border-width: 1px 0;
  background: white;
}

#mainbody pre {
  overflow: auto;
}

#pagetitle h1 {
  text-indent: 0.5em;
  border-radius: 0;
  border-bottom: 1px solid #8888AA;
}

.featuresnav section {
  margin: 0;
  border-radius: 0;
  border-left-width: 0;
  border-right-width: 0;
  border-top-width: 0;
}

.featuresnav section:first-child {
  border-top-width: 1px;
}

#mainfooter {
  border: 1px solid #557788;
  border-width: 1px 0;
}

}
