:root {
  --padding-overall: 1.5rem;
  --padding-top: 4.5rem;
  --foreground-color: white;
  --background-color: black;
  --accent-color: #ffc023;
}

html.dark {
  --foreground-color: black;
  --background-color: white;
}

html {
  font-size: 0.9rem;
}

html,
body {
  overscroll-behavior: none;
  background-color: var(--background-color);
  transition: background 0.3s ease, color 0.3s ease;
}

.page-wrapper {
  padding: var(--padding-overall);
  padding-top: var(--padding-top);
}

/* Base text styles on body and common text elements */
body,
p,
span,
a,
li,
ul,
ol,
h1,
h2,
h3,
h4,
h5,
h6,
div,
label,
input,
textarea,
button,
select {
  font-family: 'Times New Roman', 'Times', serif;
  font-weight: 400;
  line-height: 1.25;
  font-size: 0.9rem;
  color: var(--foreground-color);
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
}

a > p,
p > a {
  text-decoration: underline;
}

*::-webkit-scrollbar {
  display: none;
}

a:hover,
a > p:hover {
  font-style: italic;
}

.accent-text,
a:hover {
  font-style: italic;
}

/* Block Image download option */
img {
  pointer-events: none;
}

/* for dark mode toggle, gets removed on page load */
html.no-transitions *,
html.no-transitions *::before,
html.no-transitions *::after {
  transition: none !important;
}

/* clean page load */
.fade-on-load {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.fade-on-load.is-visible {
  opacity: 1;
}
