* { 
	box-sizing: border-box;
}
header, main, nav, footer, figure, figcaption, dl { 
	display: block; 
}
body {
	background-color: #EAEAEA;
	font-family: Verdana, Arial, sans-serif;
}
#wrapper {
	background-color: #D9C9F6;	/* a really light-pastel purple */
	color: #000; 
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
header {
	background-color: #3B118B; /* some dark purple */
	color: #fff;
	text-align: center;
	padding: 10px 0 20px 0;
}
h1 {
	font-size: 200%;
	text-shadow: 5px 5px 5px #808080;
}
nav {
	color: #fff;
	font-weight: bold;
	float: left;
	flex: 2;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
nav ul {
	list-style-type: none;
	margin-left: 10px;
	padding: 10px;
	
}
nav li {
	padding: 5px 0px;
}
#sublevel {
	font-size: 90%;
	padding: 1px 10px 5px 10px;
}
nav a { 
	text-decoration: none;
	padding: 10px;
}
nav a:link { 
	color: #000066;
}
nav a:visited { 
	color: #7120A9; /* some kind of violet */
}
nav a:hover { 
	color: #ffffff; 
}
main {
	background-color: #FEFDFF; /* close to white */
	flex: 8;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
h2 {
	color: #3B118B;
	padding-left: 30px;
}
p {
	padding: 0 30px;
	font-family: Arial, sans-serif;
	text-indent: 30px;
	text-align: left;
}
footer {
	background-color: #3B118B;
	color: #fff;
	text-align: center;
	font-size: 75%;
	padding: 10px;
}
footer a:link { 
	color: #fff;
}
footer a:visited { 
	color: #D3D3D3;
}
footer a:hover { 
	color: #a665dc; 
}
	
#demo { 
	display: flex;
    flex-direction: row;
}
/* borrowed formatting for smaller screens from source code */
@media only screen and (max-width: 1024px) {
	body { 
		margin: 0; 
		padding: 0;
	} 
	#wrapper, nav, main { 
		width: auto; 
		margin: 0; 
	}
	h1 { 
		font-size: 200%; 
	}
	nav li { 
		display: inline-block; 
		padding: 0.5em; 
	}
	nav a { 
		border-style: none; 
	}
	figure img {
		float: left;
		justify-content: center;
		width: auto;
	}
} 
@media only screen and (max-width: 768px) {
	#wrapper { 
		min-width: 0; 
	}
	h1 { 
		font-size: 150%; 
	}
	span { 
		font-size: 80%; 
	}
	#demo {
		flex-direction: column;
	}
	nav, nav ul, nav li { 
		margin: 0;
		padding: 0; 
	}
	nav ul {
		text-align: center;
	}
	nav li { 
		display: block; 
	}
	nav a { 
		display: block; 
		padding: 0.5em 0;
		border-bottom: 2px ridge #00005D; 
	}
	#sublevel {
		font-size: 90%;
		padding: 0;
	}
	figure img {
		justify-content: center;
		width: auto;
	}
}
