body {
  font-family: 'Libertinus Sans', sans-serif;
  font-size: 120%;
  margin: auto;
  max-width: 800px;
  background: rgb(31, 28, 42);
  color: beige;
  line-height: 1.4;
}

a {
  color:rgb(216, 185, 255);
  text-decoration: none;
}

footer {
  min-height: 20vh;
  max-width: 90%;
  margin: auto;
}

hr {
  color: rgb(76, 54, 109);
}

.mono {
  font-family: 'JetBrains Mono', monospace;
  font-size: medium;
}

.boxitem {
  border: 2px solid beige;
  padding: 10px 20px;
}

.footerimage {
  padding-left: 10px;
  padding-top: 5px;
  float: left;
  padding-right: 20px;
}

main {
  margin: auto;
  max-width: 90%;
  min-height: 75vh;
}

.navbar {
  margin:auto;
  color: #000000;
  background-color: rgb(76, 68, 112);
  border-radius: 2px;
  max-width: 95%;
}

.navbar a {
  color: rgb(221, 199, 252);
  display: inline-block;
  font-size: 20px;
  padding: 10px;
  text-decoration: none;
  font-weight: bold;
}

.navbar a:hover {
  color: #ffffff;
}

h1 {
  border-bottom: 4px solid beige;
}

h2 {
  font-size: 140%;
  border-bottom: 2px solid beige;
}

table {
  margin: auto;
  table-layout: fixed;
  border-collapse: collapse;
  border: 2px solid rgb(200,200,200);
  width: fit-content;
}

td, th {
  border: 1px solid rgb(190,190,190);
  padding: 10px 20px;
}

th {
  background-color: rgb(31, 28, 42);
}

td {
  text-align: left;
  word-wrap: break-word;
}

tr:nth-child(even) td {
  background-color: rgb(31, 28, 42);
}

tr:nth-child(odd) td {
  background-color: rgb(31, 28, 42);
}

caption {
  padding: 10px;
}

details {
  padding: 1em 1em 0;
}

summary {
  font-weight: bold;
  cursor: pointer;
}

summary:hover {
  color: rgb(142, 128, 213);
}

.justify {
  text-align: justify;
}
