:root {
  --bg-color: darkblue; /*darkblue;*/
  --textColor: rgba(0,0,0,0.86);
  --linkColor: #66ff00; /* MediumVioletRed; /* DeepPink; */
  --basePadding: 2em;
}

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.unselectable {
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

::-webkit-scrollbar {
  width: 0.65em;
  background-color: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: rgba(0,0,0,0.35);
  border: none;
}
::-webkit-scrollbar-track {
  box-shadow: none;
  background-color: transparent;
}


img {
  display: block;
  max-width: 100%;
  height: auto;
}

body {
  color: rgba(255,255,255,0.92);
  background-color: var(--bg-color);
  padding: 0px;
  margin: 0px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.375em;
}

.pageWrapper {
  padding: 3em;
  min-height: 100dvh;
  background-color: var(--bg-color);
}

header {
  margin-bottom: 3em;
}

.mainContent {
  margin: 0px 0px 0px 0px;
}
.mainContent p {
  max-width: 75ch;
}

/* ************************************************************************ */
/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6 {
  line-height: 1.05em;
  margin: 0px 0px 1em 0px;
}
h1 {
  font-size: 3em;
}
h2 {
  font-size: 2.5em;
}

p {
  margin: 0px 0px 1.5em 0px;
  max-width: 140ch;
}

a {
  color: var(--linkColor);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

.otherColor {
  color: hotpink;
}

.gradient-background {
  background: linear-gradient(300deg,#00bfff,rgba(148, 0, 211, .5),blue);
  background-size: 180% 180%;
  animation: gradient-animation 14s ease infinite;
  opacity: 1;
}

@keyframes gradient-animation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}