body {
  display: grid;
  grid-gap: 1em;
  grid-template-areas: "header" "content" "sidebar" "footer";
}
@media only screen and (min-width: 50em) {
  body {
    grid-template-areas: "header  header  header" "content content sidebar" "footer  footer  footer";
  }
}
body > nav#sitemap {
  grid-area: header;
  background-color: #DDD;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: 2.5em;
  align-items: center;
}
body > nav#sitemap > a {
  padding-left: 1em;
  padding-right: 1em;
}
body > nav#sitemap ul {
  margin: 0;
}
body > nav#sitemap ul,
body > nav#sitemap li,
body > nav#sitemap a {
  padding: 0;
  display: flex;
  flex: 1;
}
body > nav#sitemap ul:not(:first-child),
body > nav#sitemap li:not(:first-child),
body > nav#sitemap a:not(:first-child) {
  padding: 0 1em;
}
body main {
  grid-area: content;
}
body main fieldset {
  border: none;
}
body main fieldset > div {
  display: flex;
  flex-flow: row nowrap;
}
body main fieldset > div > label {
  margin-right: 1em;
  font-weight: bold;
  min-width: 10%;
}
body main img,
body main video {
  max-width: 100%;
}
body > aside#document_list {
  grid-area: sidebar;
  background-color: #DDD;
}
body > nav#language {
  grid-area: footer;
  background-color: #DDD;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: 2.5em;
  align-items: center;
}
body > nav#language > a {
  padding-left: 1em;
  padding-right: 1em;
}
body > nav#language ul {
  margin: 0;
}
body > nav#language ul,
body > nav#language li,
body > nav#language a {
  padding: 0;
  display: flex;
  flex: 1;
}
body > nav#language ul:not(:first-child),
body > nav#language li:not(:first-child),
body > nav#language a:not(:first-child) {
  padding: 0 1em;
}
