html, body {
  margin: 0;
  padding: 0;
  font-family: Helvetica;
}

canvas {
  position: fixed;
  width: 400px;
  height: 400px;
  display: block;
  top: 0;
  left: 0;
}
#p5 {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
}
.p5Canvas {
  position: relative;
  margin: 100px auto 0;
}

body {
  width: 100%;
  display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: stretch;

}

a {
  font-weight: bold;
  color: black;
}
a:visited {
  font-weight: bold;
  color: black;
}

main {
  z-index: 1000;
  display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: stretch;
}
header {
  max-width: 500px;
  display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: stretch;
  margin: 10px;
  text-align: center;
}
header > * {
  background-color: rgba(255,255,255,0.8);
  padding: 7.5px;
}
header > * > * {
  line-height: 1em;
  padding: 0;
}
footer {
  /* visibility: hidden; */
  
  max-width: 400px;
  display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: stretch;
  margin-top: 320px;
  margin-bottom: 50px;
}
footer > * {
  background-color: rgba(255,255,255,0.8);
  padding: 7.5px;
  margin: 15px 10px;
  line-height: 1.5em;
}

h1 {
  margin: 0 0 5px;
  font-style: italic;
  /*   color: #ffffff; 
   text-shadow: 2px 2px 2px #FF0066;
   */
  color: crimson;
/*   background: -webkit-linear-gradient(
    left,
    red,
    orange,
    yellow,
    green,
    cyan,
    blue,
    violet
  );
  background: -o-linear-gradient(
    right,
    red,
    orange,
    yellow,
    green,
    cyan,
    blue,
    violet
  );
  background: -moz-linear-gradient(
    right,
    red,
    orange,
    yellow,
    green,
    cyan,
    blue,
    violet
  );
  background: linear-gradient(
    to right,
    red,
    orange,
    yellow,
    green,
    cyan,
    blue,
    violet
  );
  background-size: 400% 400%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-animation: gradientBG 10s infinite;
  animation: gradientBG 10s infinite; */
}

@-webkit-keyframes gradientBG {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradientBG {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}