:root {
  --primary-color: rgb(240, 92, 7);
  --dark-background: rgb(38, 24, 41);
  --secondary-color-dark: rgb(219, 197, 177);
  --light-background: white;
  --secondary-color-light: black;
  --font: Lato, sans-serif;
  --code-font: FreeMono, monospace;
  --code-background: black;
  --code-color: limegreen;
}

body,
html,
#app {
  padding: 0;
  margin: 0;
  background: var(--dark-background);
  color: var(--secondary-color-dark);
  font-family: var(--font);
}

body.noscroll {
  overflow: hidden;
}

h3 {
  margin-top: 25pt;
}

#rss-subscribe-icon {
  display: inline;
  height: 10pt;
  margin-right: 4pt;
  margin-bottom: -1pt;
}

#subscribe-tech-blog {
  margin: 12px;
  display: inline-block;
}

nav {
  padding: 10pt;
  color: var(--secondary-color-dark);
  position: sticky;
  top: 0pt;
  background-color: var(--dark-background);
  z-index: 1;
  height: 17pt;
}

#nav-posts, #nav-projects, #nav-contact, #nav-demos {
  float: right;
  margin-left: 15pt;
}

nav.dropdown #nav-posts, 
nav.dropdown #nav-projects,
nav.dropdown #nav-contact, 
nav.dropdown #nav-demos {
  float: unset;
}

nav.dropdown a { 
  display: block; 
  margin: 10pt 0 10pt 15pt;
}

nav.dropdown {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  background-color: var(--dark-background);
}

p {
  line-height: 25pt;
}

code {
  font-size: 12pt;
  overflow-x: scroll;
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
}

code::-webkit-scrollbar { /* Chrome, Safari */
  display: none;
}

#body {
  padding: 12pt;
  max-width: 600pt;
  margin: 0 auto;
  min-height: calc(100vh - 17pt - 10pt - 10pt - 12pt - 12pt - 30pt);
}

.code {
  margin: 10pt;
  padding: 5pt;
  background-color: var(--code-background);
  color: var(--code-color);
  font-family: var(--code-font);
  min-width: 200pt;
  width: 75%;
  height: 100pt;
  font-size: 14pt;
  border: 1pt solid var(--primary-color);
  border-radius: 3pt;
}

.code:focus {
  outline: none !important;
  border: 1pt solid var(--code-color);
}

.code-output {
  font-family: var(--code-font);
  margin-bottom: 20pt;
  margin-top: 5pt;
}

a {
  text-decoration: none;
  color: var(--primary-color);
}

a:hover {
  opacity: 0.5;
  transition: 0.2s;
}

textarea:focus, input:focus, #search-posts:focus, #search-projects:focus {
  outline: none;
  border: 1px solid var(--secondary-color-dark);
  border-radius: 5pt;
}

#search-posts, #search-projects {
  width: 100%;
  font-size: 18px;
  padding: 11px;
  border: 1px solid var(--dark-background);
  color: var(--secondary-color-dark);
  background-color: var(--dark-background);
}

#search-posts-menu, #search-wiki-menu {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

#search-posts-menu li, #search-wiki-menu li {
  padding: 12px;
  display: block
}

#kofi, #github, .contact-link {
  display: inline-block;
  font-size: 11pt;
  color: var(--secondary-color-dark);
}

#kofi span, #github span {
  opacity: 0.8;
}

#github-logo {
  height: 18pt;
  margin-right: 5pt;
  margin-bottom: -4pt;
}

#kofi-logo {
  height: 30pt;
  margin-bottom: -11pt;
}

.contact-link #kofi-logo {
  margin-left: -5pt;
}

#mastodon-logo {
  height: 18pt;
  margin-right: 5pt;
  margin-bottom: -5pt;
  filter: invert(1);
}

#reddit-logo {
  height: 19pt;
  margin-right: 5pt;
  margin-bottom: -5pt;
}

#linkedin-logo {
  height: 18pt;
  margin-right: 3pt;
  margin-bottom: -5pt;
} 

#kofi {
  margin-left: 10pt;
}

.caption {
  padding-bottom: 10pt;
  padding-top: 5pt;
  text-align: center;
}

.subtle-text {
  font-size: 11pt;
  opacity: 0.8;
}

#copyright-notice {
  text-align: center;
  margin: 0;
  height: 30pt;
}

#homepage-img {
  padding-top: 10pt;
  text-align: center;
}

#homepage-img img {
  height: 300px;
}

#homepage-flags {
  text-align: center;
}

#homepage-flags span {
  font-size: 30pt;
  position: relative;
  top: 7.5pt;
}

#contact-img {
  height: 273px;
}

#webring-links {
  margin-top: 50pt;
}

.webring img {
  width: 30pt;
  position: relative;
}

#unknown-page-banner {
  font-size: 25pt;
  padding-bottom: 100pt;
}

.diagram {
  padding: 10pt 0;
  overflow-x: scroll;
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
}

.diagram::-webkit-scrollbar { /* Chrome, Safari */
  display: none;
}

.diagram img {
  filter: invert(1);
}

.math-block {
  overflow-x: scroll;
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
}

.math-block::-webkit-scrollbar { /* Chrome, Safari */
  display: none;
}

#nav-dropdown {
  display: none;
}

@media (max-width: 500px) {
  nav a { 
    display: none; 
  }
  #nav-dropdown { 
    display: inline-block; 
  }
  #homepage-img img {
    width: 270px;
    height: fit-content;
  }
}