:root {
  --bg: #011627;
  --fg: #FBFAF5;
  --code-shadow: #030506;
}

* {
  margin: 0;
  padding: 0;
}

html {
  height: 100vh;
}

body {
  background-color: var(--bg);
  color: var(--fg);
  padding: 1%;
}

main {
  font-family: monospace;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1% 10%;
  justify-content: center;
  gap: 2.5em;
}

@media (max-width:800px) {
  main {
    font-size: 1.5vw;
  }
}

main > hr {
  width: 75%;
}

#title-and-description {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}

#source-info > a {
  width: auto;
  height: 2em;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5em;
  color: var(--fg);
  text-decoration: none;
}

#source-info > a > img {
  width: auto;
  height: 100%;
}

#example {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 2.5em 5em;
}

.file-with-name {
  position: relative;
  top: 0;
  transition: top ease 500ms;
}

.file-with-name:has(pre:hover) {
  top: -10px;
}

.description {
  text-align: justify;
  max-width: 40ch;
}

@media (max-width:800px) {
  .description {
    max-width: 25ch;
  }
}

pre:has(code) {
  box-shadow: var(--code-shadow) 0.75em 0.75em;
}

:not(pre) > code {
  padding: 0.1em 0.25em 0.1em;
  box-shadow: var(--code-shadow) 0.25em 0.25em;
}

.big-text {
  justify-self: center;
  font-size: 2.5rem;
  font-weight: bold;
}

/* https://stackoverflow.com/a/16012979 */
.blink {
  animation: blink-animation 1s steps(5, start) infinite;
}

@keyframes blink-animation {
  to {
    visibility: hidden;
  }
}
