
body {
  margin: 0;
  padding: 0;
  background: none;
  background-color: #F9FAEE;
}

#main_container{
  width: 48rem;
  margin: 0 auto;
  padding: 0;
  border:0px solid #F80;
  background: none;
  font-family: sans-serif;
}

header{
  margin: 1rem;
  text-align: center;
}

header a{
  color: #410;
  text-decoration: none;
}

header a:hover{
  color: #A61;
  text-decoration: underline;
}

section{
  margin: 0;
}

#title_container{
  text-align: center;
  margin: 0rem 0 0rem 0;
}

#title_container h1{
  margin:0 0 0.2rem 0;
  padding:0;
  font-weight: bold;
  font-size: 1.4rem;
}

h1.title_top{
  text-decoration: underline;
}

h1.title_sub{
  text-decoration: none;
}

section.info{
  border: 2px solid #F80;
  background: #FDA;
  padding: 2rem 4rem;
}

div.block{
  margin: 0.6rem 0 1.6rem 0;
}

div.sub_title_container{
  margin: 0 0 0.4rem 0;
}

div.sub_title_container h2{
  font-size: 1.2rem;
  font-style: italic;
  text-decoration: underline;
  font-weight: normal;
  margin: 0;
  display: inline-block;
}

div.sub_title_container span{
  text-decoration: none;
  display: inline-block;
}

div.sub_title_container p{
  margin: 0;
}

h2.list_head{
  font-size: 1.08rem;
  font-style: italic;
  text-decoration: underline;
  font-weight: normal;
  display: inline-block;
  margin: 0 0 0.24rem 1.4rem;
}

div.list_container{
  margin: 0.2rem 0 0.4rem 0;
}

p, ol, ul, li{
  margin: 0 0 0.24rem 0;
  line-height: 1.0rem;
}

section.info p.quote{
  padding: 0 0.2rem;
  font-style: italic;
  text-align: center;
}

ol.two_column{
  column-count: 2;
  column-gap: 1.0rem;
}

#three_section{
  position: relative;
}

#canvas_container{
  border: 0px solid #06F;
  position: relative;
  padding: 0;
  margin:0;
  height: 44rem;
}

canvas {
  margin: 0;
  padding: 0;
  border: 0;
}

#overlay_container p{
  margin: 0;
  position: absolute;
  z-index: 1;
  transform: translate(-50%, -50%);
}

div.buttons_container button{
  margin: 0;
  position: absolute;
  z-index: 1;
  border-radius: 0.4rem;
}

h2.buttons_list_header {
  position: absolute;
}

div.buttons_container h2.buttons_list_header{
  color: #DDD;
  font-size: 0.86rem;
  text-decoration: underline;
  font-weight: normal;
  font-style: italic;
}

div.buttons_container button.shape, button.highlight{
  padding: 0.04rem 0.4rem 0.12rem 0.4rem;
  font-size: 0.8rem;
  border: 1px solid #888;
  /* color: #000; */
}

button.controlPush, button.controlToggle{
  padding: 0;
  font-size: 2.2rem;
  border: none;
  background: none;
  /* color: #FFF; */
}

#reset_view_button{
  font-size: 2.0rem;
}

#cycle_colors_button{
  font-size: 1.9rem;
}

#loop_shapes_button, #loop_highlight_button{
  font-size: 1.2rem;
}

button.controlPush{
  color: #EEE;
}

button:hover{
  cursor: pointer;
}

button.shape:hover, button.highlight:hover{
  border: 1px solid #C60;
  background-color: #F42;
}

button.shape:active, button.highlight:active{
  background-color: #FC4;
}

button.controlPush:hover, button.controlToggle:hover{
  color: #F42;
}

button.controlPush:active, button.controlToggle:active{
  color: #FC4;
}

button.controlToggleOn{
  text-decoration: none;
  color: #FC4;
}

button.controlToggleOff{
  /* text-decoration: line-through; */
  color: #EEE;
}

button.listOn{
  background-color: #FA0;
}

button.listOff{
  background-color: #EEE;
}

/*
three overlay labels
*/

#overlay_container p.item{
  padding: 0.24rem 0.64rem;
  color: #FFFFFFFF;
  font-size: 18px;
  font-weight: normal;
  background-color: #FFFFFF04;
  /*background-color: #000000A2;*/
  border: 1px solid #FFFFFF02;
  border-radius: 2rem;
}

#overlay_container p.title{
  padding: 0.8rem 1.0rem;
  color: #FFFFFFEE;
  font-size: 12px;
  font-weight: normal;
  background-color: #A0A0A000;
  border:1px solid #A0A0A000;
  border-radius: 0.2rem;
  text-decoration: none;
}

#overlay_container p.head{
  color: #0FF;
}

.tooltipWrapper {
  position: absolute;
  display: inline-block;
}

.tooltipWrapper .tooltipText {
  visibility: hidden;
  background-color: #620;
  border: 1px solid #A42;
  color: #EEE;
  text-align: center;
  border-radius: 6px;
  padding: 2px 4px;
  font-size: 0.9rem;
  position: absolute;
  z-index: 2;
  bottom: -56px;
  left: -16px;
  margin: 0;
  opacity: 0;
  transition: opacity 0.2s;
  text-align: center;
  white-space: nowrap;
}

.tooltipWrapper:hover .tooltipText {
  visibility: visible;
  opacity: 1;
}

footer{
  margin: 2rem 0;
  text-align: center;
}

footer a{
  color: #410;
  text-decoration: none;
}

footer a:hover{
  color: #D61;
  text-decoration: underline;
}
