body{
  /* background-color: #e9edf6; */
  background-color: #ffffff;
  margin:0;
  font-family:"Arial";
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

header{
	background-color: #e9edf6;
	position:sticky;
	top:0;
  border-bottom:2px solid black;
  padding:0 25px;
}

header > h1 {
  font-size:50px;
}

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

a:hover {
	color:#666;
	background-color:#fff;
}

nav > a {
	font-size:40px;
}

header > p {
	font-size:20px;
	margin:0;
}

header > p:last-of-type {
	margin-bottom:25px;
}

main {
	flex-grow:1;
/*  background-image: linear-gradient(45deg, #E9CEC8 25%, transparent 25%), linear-gradient(-45deg, #c8e9ce 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #cec8e9 75%), linear-gradient(-45deg, transparent 75%, #bab2a0 75%);*/
  background-image: linear-gradient(45deg, #ffc 25%, transparent 25%), linear-gradient(-45deg, #cff 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #fcf 75%), linear-gradient(-45deg, transparent 75%, #cccccc 75%);
  background-size: 200px 200px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  background-attachment:fixed;
}

section{
	padding:25px;
	border-bottom:2px solid black;
}

section:last-child{
	border:none;
}

section > div{
  display:flex;
  padding:25px;
}

span{
	color: #180a18;
  background-color: rgba(255,255,255,.75);
  padding:3px;
  line-height:1.3;
}

#email{
	padding:0;
}

a{
  color:black;
  text-decoration:none;
  padding:0 15px 0 0 ;
}

h2, h3, p{
  margin:0 25px 0 0;
}

main h2{
  font-size:35px;
}

main h3 {
	font-size:25px;
	min-width:20%;
}

main p{
  font-size:25px;
}

main p:first-of-type{
	min-width:20%;
}

.bio{
	max-width:1200px;
}

.bio p {
}

.bio a {
	font-size:inherit;
	padding:0;
}

img {
	align-self:center;
	flex:0 0 auto;
	min-width:300px;
	width:40%;
}

img:first-child{
	margin-right:15px;
}

.syllabus {
	text-decoration:underline;
}

::selection {
	background-color:#DAF7A6;
}

@media screen and (width > 850px) {
	header {
		position:sticky;
		top:0;
	}
	
	main {
		background-attachment:fixed;
	}
}

@media screen and (width <= 850px) {
	header{
		position:static;
		padding:0 25px;
		text-align:left;
	}
	
	main{
		height:auto;
	}
	
	nav > a {
		display:block;
		margin:10px auto;
		font-size:35px;
	}
	
	section > div {
		align-items:flex-start;
		flex-wrap:wrap;
		width:100%;
		padding:25px 0;
	}
	
	h2, h3, p{
		margin:10px 0;
	}
	
	.bio div {
		padding-top:0;
		padding-bottom:15px;
	}
	
	.bio img {
		width:100%;
		margin:15px auto 0;
		
	}
	
	.bio img:first-child{
		order:2;
	}
}