*::selection {
  color: #fff;
  background: rgba(0, 0, 0, 0.8);
}

/* Links */

a {
  border-bottom: 2px solid hsl(0, 0%, 0%, 0.2);
  color: inherit;
  text-decoration: none;
}

a:focus-visible {
  outline: 4px solid hsl(0, 0%, 0%, 0.7);
  outline-offset: 4px;
}

a:hover {
  border-color: currentColor;
}

/* Code and quotes*/

pre, blockquote {
  border-left: 4px solid hsl(0, 0%, 0%, 0.7);
  margin-left: 0;
  padding-left: 1.0rem;
  padding-right: 1.0rem;
}

pre {
  background-color: hsl(0, 0%, 0%, 0.04);
  overflow-x: auto;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

pre > code {
  background-color: unset;
  padding: 0;
}

code {
  font-family: 'Fira Code', monospace;
  background-color: hsl(0, 0%, 0%, 0.04);
  padding: 0.2rem 0.4rem;
}

/* Lists */

ul {
  list-style: square;
}

/* Tables */

@media (max-width: 500px) {
  table {
    display: block;
    overflow: auto;
    width: 100%;
  }
}

/* Layout */

html, body {
  scroll-behavior: smooth;
}

body > header,
body > footer,
body > main {
  box-sizing: content-box;
  max-width: 45rem;
  padding: 3% 5%;
}

body > header ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
  list-style: none;
  margin: 0;
}

body > header li {
  margin-bottom: 0;
}

body > header li::after {
  content: ' / ';
  white-space: pre;
}

body > header li:last-child::after {
  content: '';
}

body > footer {
  color: hsl(0, 0%, 0%, 0.6);
}

/* Stripes */

.stripesContainer {
  box-sizing: content-box;
  max-width: 45rem;
  padding: 5% 5% 0;
}

.stripes {
  height: 8vh;
  background-image: linear-gradient(
    135deg,
    currentColor 33.33%,
    transparent 33.33%,
    transparent 50%,
    currentColor 50%,
    currentColor 83.33%,
    transparent 83.33%,
    transparent 100%);
  background-size: 30.00px 30.00px;
}

/* Headers */

h1, h2, h3, h4, h5 {
  scroll-margin-top: 0.5em;
}

/* Lists */

.entry:last-child,
.entry {
  margin-bottom: 1.5rem;
}

.entry > header,
.entry > .description {
  margin-bottom: 0.5rem;
}
