body{
  margin:0 auto;
  max-width:800px;
  min-width:30vw;
  line-height:1.8;
  font-size:18px;
  color:#000;
  padding:0 10px;
  background-color:#FFF;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

main {
  flex: 1;            /* fills leftover space to push footer down */
}


a{
  margin-right:auto;
  margin-bottom:0;
  margin-top:0;
  padding:0px;
  text-decoration: none;
}

a:link {
  color:#07a
}

a:visited {
 color:#941352
}

hr{
  width:100%;
}

h1{
  margin-bottom:0;
}

p{
  margin: 0.3em 0;
}

.footnote{
  font-size:14px;
}

/*for footnote highlighting*/
p:target {
    background-color: #DFF8FF;
}

.footer{
  margin-top:auto;
}

/*for collapsible lists*/
.hidden{
  display:none;
}
.hidden:target{
  display:block;
}

ul{
  margin-top:0px;
}

img{
  max-width:100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

[class *="codeblock"]{
  font-family: monospace;
  font-size:14px;
  line-height:1.1;
  overflow:auto;
  white-space: nowrap;
  padding: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
}
.codeblock{
  background-color:#EEEEEE;
}
.codeblock-result{
  background-color:#FEFEFE;
  border:2px;
  border-color:#EEEEEE;
  border-style: solid;
  color:#000000;
}
.code{
  font-family: monospace;
  background-color:#EEEEEE;
  font-size:14px;
}
.nospace{
  line-height:0;
  font-size:16px;
}

.wider{
  max-width:5000px;
  width: 96vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -48vw;
  margin-right: -48vw;
}

h1,h2,h3{
  line-height:1.2;
}

object{
	padding:0px;
	margin:0px;
	width:100%;

}

object.header{
	height:44px;
}

object.footer{
	height:60px;
}

.math{
  font-family:Times;
  font-size:20px;
}


html{
  overflow-y: scroll;
}

.no-center {
  margin-left: 0;    /* override centering */
  margin-right: 0;
  display: inline;   /* inline images don’t center automatically */
}

.column {
  float: left;
  width: 30%;
  padding: 5px;
}

/* Clear floats after image containers */
.row::after {
  content: "";
  clear: both;
  display: table;
}