/* Variables */
:root {
  --text: hsla(230, 10%, 15%, 1.0);
  --background: hsla(230, 10%, 50%, 1.0);
  --background-light: hsla(230, 10%, 75%, 1.0);
  --background-lighter: hsla(230, 10%, 90%, 1.0);
  --border: thin solid var(--text);
  --rule-border: thin solid var(--background);
}

/* Margins depend on the size screen */
@media screen {
  body {
    margin-left: 15%;
    margin-right: 15%;
  }
}
@media screen and (max-width: 1280px) {
  body {
    margin-left: 10%;
    margin-right: 10%;
  }
}
@media screen and (max-width: 960px) {
  body {
    margin-left: 5%;
    margin-right: 5%;
  }
}
@media screen and (max-width: 800px) {
  body {
    margin-left: 0%;
    margin-right: 0%;
  }
}

body {
  background-color: var(--background);
  color: var(--text);
  font-size: 1.2em;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 0;
}

.sitemap {
  background-color: var(--background-light);
  border: var(--border);
  border-radius: 1ex;
  margin: 0.5ex;
  padding: 0.5ex;
  padding-left: 1.5ex;
  padding-right: 1.5ex;
  padding-bottom: 2em;
  height: auto;
  grid-column: 1;
  grid-row: 1;
}

.sitemap h1 {
  text-align: center;
}

.sitemap ul {
  padding-left: 1em;
  margin: 0;
}
.sitemap li {
  list-style-type: none;
}
.sitemap a::after {
  display: block;
  border: var(--rule-border);
  content: " ";
}
.sitemap strong::after {
  display: block;
  border: var(--rule-border);
  content: " ";
}

footer {
  background-color: var(--background-light);
  border: var(--border);
  border-radius: 1ex;
  margin: 0.5ex;
  padding: 1ex;
  text-align: center;
  grid-column: 1;
  grid-row: 2;
}

main {
  background-color: var(--background-light);
  border: var(--border);
  border-radius: 1ex;
  margin: 0.5ex;
  padding-top: 0.5ex;
  padding-left: 2ex;
  padding-right: 2ex;
  padding-bottom: 2em;
  height: auto;
  grid-column: 2 / 6;
  grid-row: 1 / 4;
}

main::after {
  content: "";
  display: block;
  clear: both;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
}

h2 {
  margin-top: 1ex;
  margin-bottom: 0;
}

h3 {
  margin-top: 1ex;
  margin-bottom: 0;
}

h4 {
  margin-top: 1ex;
  margin-bottom: 0;
}

h5 {
  margin-top: 1ex;
  margin-bottom: 0;
}

h6 {
  margin-top: 1ex;
  margin-bottom: 0;
}

hr {
  border: var(--rule-border);
}

article {
}

section {
  margin-left: 0;
  margin-bottom: 1em;
}

p {
  margin-top: 0;
  margin-bottom: 1em;
  margin-left: 0;
}

.author-date {
  text-align: right;
  font-style: italic;
  float: right;
  background-color: var(--background-lighter);
  border: var(--border);
  border-radius: 1ex;
  padding: 0.5ex;
  padding-left: 1ex;
  padding-right: 1ex;
  margin-left: 1em;
}

.author-date img {
  display: inline-block;
}

.author {
  font-variant: small-caps;
  padding-left: 1ex;
  vertical-align: top;
  display: inline-block;
}

.banner {
  text-align: center;
  opacity: 1.0;
}

.image-preview {
  object-fit:scale-down;
  max-width:100%;
}

a:link {
  color: hsla(230, 90%, 35%, 1.0);
  text-decoration: none;
}
a:visited {
  color: hsla(280, 90%, 35%, 1.0);
  text-decoration: none;
}
a:hover {
  color: hsla(230, 90%, 90%, 1.0);
  text-shadow: 1px 0px 2px hsla(230, 90%, 15%, 1.0), -1px 0px 2px hsla(230, 90%, 15%, 1.0), 0px 1px 2px hsla(230, 90%, 15%, 1.0), 0px -1px 2px hsla(230, 90%, 15%, 1.0), 0px 0px 0.2em hsla(230, 90%, 25%, 1.0)
}

table {
  border: var(--border);
  border-collapse: collapse;
  background-color: var(--background-lighter);
}

th {
  border: var(--border);
  padding: 0.5ex;
  text-align: center;
}

td {
  border: var(--border);
  padding: 0.5ex;
  text-align: center;
}

code {
  background-color: var(--background-lighter);
  padding-left: 0.5ex;
  padding-right: 0.5ex;
}

pre {
  background-color: var(--background-lighter);
  padding: 1ex;
}

ul {
  margin: 0;
  margin-bottom: 1ex;
}

.gallery {
  display: flex;
  gap: 1em;
  margin-bottom: 1ex;
}
.gallery a {
  display: inline-block;
}
.gallery a img {
  border: var(--border);
}
.gallery section {
  display: inline-block;
}

.hidden {
  display: none;
}

.dump {
  max-width: 128px;
}
