:root,
/* Set colours */
:root.light {
  --bgcolor: #ffffff;
  --invert: #000000;
  --fontcolor: #000000;
  --linkcolor: #0000ee;
  --visitedcolor: #551a8b;
  --preformatted: #000000;
  --accent-bg: #aecbfa;
  --accent-fg: #24292f;
  --border: #000000;
  --buttonborder: #222222;
  --construction: #e51c23;
  --code: #000000;
  --shadow: #ffffff;
  --shadow2: #000000;
  --link: #006400;
  --imgshadow: #000000;
  --coc: #000000;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bgcolor: #24292f;
    --invert: #ffffff;
    --fontcolor: #ffffff;
    --linkcolor: #ae5ee0;
    --visitedcolor: #5bf5bf;
    --preformatted: #ffffff;
    --accent-bg: #2b2b2b;
    --accent-fg: #aecbfa;
    --border: #ffffff;
    --buttonborder: #dcdcdc;
    --construction: #fbbc04;
    --code: #fbbc04;
    --shadow: #000000;
    --shadow2: #ffffff;
    --link: #90ee90;
    --imgshadow: #ffffff;
    --coc: #000000;
  }
}
:root.dark {
  --bgcolor: #24292f;
  --invert: #ffffff;
  --fontcolor: #ffffff;
  --linkcolor: #ae5ee0;
  --visitedcolor: #5bf5bf;
  --preformatted: #ffffff;
  --accent-bg: #2b2b2b;
  --accent-fg: #aecbfa;
  --border: #ffffff;
  --buttonborder: #dcdcdc;
  --construction: #fbbc04;
  --code: #fbbc04;
  --shadow: #000000;
  --shadow2: #ffffff;
  --link: #90ee90;
  --imgshadow: #ffffff;
  --coc: #000000;
}
/* Prefer border-box */
* {
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
}
html {
  font-family: "Roboto", sans-serif;
}
/* General body settings */
body {
  margin: auto;
  max-width: 99em;
  font-family: "Roboto", sans-serif;
  padding: 1rem;
  color: var(--fontcolor);
  background-color: var(--bgcolor);
}
a:link {
  color: var(--linkcolor);
}
b.link {
  color: var(--linkcolor);
}
li.link {
  color: var(--link);
  font-weight: 600;
}
a:visited,a:active {
  color: var(--visitedcolor);
}
img.border {
  border: 1px solid var(--border);
}
img.spin {
  transition: all .6s;
}
svg.spin {
  transition: all .6s;
}
img.spin2 {
  transition: all .6s;
}
svg.spin2 {
  transition: all .6s;
}
.logo {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
img.shadow {
  filter: drop-shadow(1px 1px 2px var(--imgshadow));
}
svg.shadow {
  filter: drop-shadow(1px 1px 2px var(--invert));
}
img.shadow2 {
  filter: drop-shadow(1px 1px 1px var(--imgshadow));
}
img.fav {
  margin-bottom: -3px;
}
svg.fav {
  margin-bottom: -3px;
}
img.fav2 {
  margin-bottom: -8px;
}
img.fav3 {
  margin-bottom: -9px;
}
img.bubbles:hover {
  animation: shake 4.0s;
  animation-iteration-count: infinite;
}
@keyframes shake {
  0% { transform: translate(3px, 2px) rotate(0deg); }
  10% { transform: translate(-3px, -2px) rotate(-3deg); }
  20% { transform: translate(6px, 4px) rotate(1deg); }
  30% { transform: translate(-6px, -4px) rotate(0deg); }
  40% { transform: translate(-6px, 6px) rotate(-4deg); }
  50% { transform: translate(8px, -3px) rotate(-2deg); }
  60% { transform: translate(-4px, 2px) rotate(0deg); }
  70% { transform: translate(3px, 6px) rotate(-1deg); }
  80% { transform: translate(3px, 4px) rotate(-4deg); }
  90% { transform: translate(3px, -5px) rotate(6deg); }
  100% { transform: translate(3px, 2px) rotate(0deg); }
}
hr.line {
  width: 100%;
  border: 1px solid var(--fontcolor);
}
hr.smallline {
  width: 100%;
}
.indented {
  margin-left: 28px;
}

.indented label {
  display: block;
}
.d-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
pre {
  padding: 1rem 1.5rem;
  max-width: 100%;
  overflow: auto;
  color: var(--preformatted);
  background: var(--accent-bg);
  border: 1px solid var(--border);
  border-bottom: 2px solid var(--border);
  border-right: 2px solid var(--border);
  border-radius: 5px;
  font-weight: 600;
  text-shadow: 1px 1px 1px var(--shadow);
}
/* Rounded Dark/Light Mode Button */
button {
  font-family: inherit;
  box-shadow: 1px 1px 1px 0px var(--buttonborder);
  border: 1px solid var(--border);
  border-radius: 5px;
  float: bottom;
  background-color: #828282;
  color: #ffffff;
}
button:hover {
  background-color: #999999;
}
button:active {
  box-shadow: 1px 1px 1px 0px #222222 inset;
  background-color: #888888;
}
.checkbox {
  font-family: inherit;
  outline: 1px solid #000000;
}
#totop {
  display: block;
  position: fixed;
  bottom: 0;
  right: 0;
  margin-right: 0.50em;
  filter: drop-shadow(1px 1px 2px var(--buttonborder));
}
#totop a:link {
  font-size: 2.5em;
  text-decoration: none;
  color: #FF1493;
}
#totop a:visited {
  font-size: 2.5em;
  text-decoration: none;
  color: #FF1493;
}
#totop a:hover {
  font-size: 2.5em;
  text-decoration: none;
  color: #551a8b;
}
#totop a:active {
  font-size: 2.5em;
  text-decoration: none;
  color: #FF1493;
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/roboto-v30-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Roboto'),
       url('../fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/roboto-v30-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/roboto-v30-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/roboto-v30-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

