html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

[data-theme="light"] {
   --color-bg: #ffffff;
   --color-fg: #000000;
   --color-nav: #f0f0f0;
   --color-hover: #000;
}

[data-theme="dark"] {
   --color-bg: #121212;
   --color-fg: #e0e0e0;
   --color-nav: #333;
   --color-hover: #fff;
}

[data-theme-toggle] {
	background-color: transparent;
	color: var(--color-fg);
}

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

#wrapper.divided>* {
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.25);
}
nav {
    background-color: var(--color-nav);
}
nav label { 
	color: var(--color-fg);
}
nav ul li a {
	color: var(--color-fg);
}

h1, h2, h3, h4, a {
	color: var(--color-fg);
}

a {
	color: var(--color-fg);
}
a:hover {
    color: var(--color-hover);
}

p.credits {
    font-size: 80%;
	color: var(--color-fg);
}

[data-theme-toggle] {
    background-color: var(--color-bg) !important;
    color: var(--color-fg) !important;
	box-shadow: inset 0 0 0 1px  var(--color-fg) !important;
}
[data-theme-toggle]:hover {
    background-color: var(--color-fg) !important;
	color: var(--color-bg) !important;
}

/* Scroll top button */
.sticky {
  display: flex;
  justify-content: flex-end;
  position: fixed;
  visibility: hidden;
  right: 10px;
  bottom: 10px;
  margin: 10px;
}

.visible {
    visibility: visible;
}

.sticky a {
  color: #fff;
  padding: 5px;
  bottom: 10px;
  animation-name: appear;
  animation-fill-mode: both;
  animation-duration: 1ms;
}

@keyframes appear {
  39% {
    opacity: 0;
    transform: scaleX(0);
  }

  40% {
    opacity: 1;
    transform: scaleX(1);
  }
}

.sticky #scrolltop-bg {
  fill: var(--color-fg);
}
.sticky #scrolltop-arrow {
  fill: var(--color-bg);
}
.sticky a:hover #scrolltop-bg {
  fill: #2990ff;
}
.sticky a:hover #scrolltop-arrow {
  fill: white;
}

.sticky a svg {
  display: block;
  border-radius: 50%;
  width: 100%;
  height: 100%;
}
.sticky a svg path {
  transition: all 0.1s;
}
.sticky a #scrolltop-arrow {
  transform: scale(0.66);
  transform-origin: center;
}

/* Form */
span.required {
  color: #f00;
  margin-left: 2px;
}

input.honey {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}