html, body					{ margin: 0;
						  height: 100%; }

body						{ display: flex;
						  font-family: 'Alegreya Sans', sans-serif;
						  font-weight: 400;
						  flex-direction: column; }
body > article					{ flex: 1; 
						  color: #444;
						  font-size: 14pt; }
strong						{ font-weight: 500; }
pre						{ width: 60%;
						  text-align: left;
						  font-size: 12pt;
						  font-family: monospace;
						  margin: 0 auto; }
pre strong					{ font-weight: 700; }
.hide						{ display: none; }
.horizbox					{ display: flex; 
						  flex: 1;
						  align-items: center; }
.horizbox > *					{ flex: 1; }
.horizbox > .nostretch				{ flex: 0; }
.horizbox img					{ width: 100%; }
.vertbox					{ display: flex; 
						  flex-direction: column;
						  text-align: center;
						  justify-content: center; }
figcaption					{ font-size: 14pt; 
						  padding: 8pt 0; }
figcaption .location				{ font-size: 11pt; 
						  opacity: 0.75; }
figcaption cite					{ opacity: 0.5; 
						  font-size: 11pt;
						  font-style: normal; }
a						{ color: red;
						  text-decoration: none; }

#bottom						{ width: 60%;
						  margin: 2rem auto;
						  font-size: 13pt;
						  opacity: 0.8;
						  display: flex; }
#bottom > *					{ flex: 1; 
						  text-align: center; }
#bottom > :last-child				{ text-align: right; }
#bottom > :first-child				{ text-align: left; }
#bottom nav a					{ display: inline-block;
						  width: 2.5rem;
						  height: 2.5rem; 
						  line-height: 2.5rem;
						  border-radius: 1.5rem;
						  vertical-align: middle;
						  color: white;
						  text-shadow: 0 0 1px red;
						  border: 2px solid rgba(255, 0, 0, 0.3);
						  font-weight: 700;
						  font-size: 14pt;
						  transition: background-color 0.2s linear;
						  background-color: rgba(255, 0, 0, 0.2);
						  text-align: center; }
#bottom nav a:hover				{ background-color: rgba(255, 0, 0, 0.3); 
						  border: 2px solid rgba(255, 0, 0, 0.4); }
#bottom a					{ text-decoration: none; }

h2						{ font-weight: 500;
						  margin: 0.5rem;
						  font-size: 18pt; }

#slide01-0 h2					{ color: white; 
						  font-weight: 500;
						  font-size: 36pt;
						  margin: 2rem 0 0.5rem 0; }
#slide01-0 h3					{ margin: 4rem 0 0 0;
						  font-weight: 500;
						  margin-bottom: 0;
						  opacity: 0.5;
						  font-variant: small-caps;
						  font-size: 24pt; }
#slide01-0 article > div			{ font-weight: 500; }
#slide01-0 article				{ height: 100%; 
						  display: flex; 
						  font-size: 16pt;
						  text-align: center;
						  padding-bottom: 2rem;
						  flex-direction: column; }
#slide01-0 article figure			{ overflow: hidden; 
						  flex: 1;
						  box-shadow: 0 0 5px #000;
						  background-color: #000;
						  color: #fff;
						  position: relative;
						  margin: 0; }
#slide01-0 article figure figcaption		{ position: absolute;
						  top: 0;
						  width: 100%;
						  background-color: rgba(0, 0, 0, 0.2);
						  left: 0; }
#slide01-0 article figure video			{ position: absolute;
						  left: 50%;
						  top: 50%;
						  transform: translate(-50%, -50%); }

#slide01-1 img					{ max-width: 500px; 
					 	  width: 40%; }
#slide01-1 figure				{ position: relative; 
						  white-space: nowrap; }
#slide01-1 #puffy1				{ position: absolute; 
						  max-width: 150px;
						  left: 20%;
						  bottom: 0; }
#slide01-1 #puffy2				{ position: absolute; 
						  max-width: 200px;
						  left: 70%;
						  transform: scaleX(-1);
						  top: 0; }

#slide02-0 #second				{ width: 90%;
						  margin: 0 auto; }
#slide02-0 #second figcaption			{ font-size: 10pt; }
#slide02-0 img					{ max-width: 500px; }
#slide02-0 #first > :last-child,
#slide02-0 #first > :first-child		{ flex: 2; }
#slide02-0 #puffy img				{ margin-bottom: -200px; }

#slide03-0 figure				{ margin: 0.5rem; }

#slide04-0 img					{ max-width: 700px; }

#slide05-0 img					{ max-width: 700px; }

#slide06-0 img					{ max-width: 700px; }

#slide07-0 img					{ max-width: 700px; }

#slide08-0 img					{ max-width: 1024px; }

#slide09-0 ul, #slide09-0 p			{ text-align: left; }
#slide09-0 img					{ max-width: 500px; }

#slide10-0 img					{ max-width: 1000px; }

#slide11-0 img					{ max-width: 1280px; }

#slide12-0 img					{ max-width: 1280px; }

#slide16-1 img					{ max-width: 500px; }

#slide20-1 img					{ max-width: 700px; }

#slide22-1 img					{ max-width: 700px; }

#slide23-0 .horizbox				{ flex: 0; }
#slide23-0 img					{ border-radius: 100%; 
						  max-width: 300px; }

#slide14-0 #first img,
#slide17-0 #first img,
#slide20-0 #first img				{ max-width: 400px; }

#slide19-1 figure				{ background-color: #000;
						  color: #fff; }

#slide22-0 #first,
#slide21-0 #first,
#slide19-0 #first,
#slide18-0 #first,
#slide16-0 #first,
#slide15-0 #first 				{ text-align: left; }

#slide22-1 h2,
#slide19-1 h2,
#slide16-1 h2					{ margin: 1.1em auto; }

#slide22-1 ul,
#slide19-1 ul,
#slide16-1 ul					{ text-align: left; 
						  margin: 0 auto; 
						  width: 60%; }


#slide23-0 article				{ width: 50%; 
						  margin: 0 auto; }
#slide23-0 p					{ text-align: left; }

#slide24-0 article figure			{ overflow: hidden; 
						  flex: 1;
						  background-color: #000;
						  color: #fff;
						  box-shadow: 0 0 5px #000;
						  position: relative;
						  margin: 0; }
#slide24-0 article figure figcaption		{ position: absolute;
						  top: 0;
						  width: 100%;
						  background-color: rgba(0, 0, 0, 0.2);
						  left: 0; }
#slide24-0 article figure video			{ position: absolute;
						  left: 50%;
						  top: 50%;
						  transform: translate(-50%, -50%); }

@media only screen and (max-width: 1024px), only screen and (max-device-width: 1024px) {
  #bottom					{ width: 98%; }
}
