body {
	/* color */
	background-color: rgb(30, 30, 30);
	color: rgb(200, 200, 200);
	/* position */
	margin: 0px;
}

header#hero {
	/* position */
	margin: auto;
	position: relative;	/* necessary to align nav */
	padding: 20px 10px 10px 10px;
	/* size */
	min-height: 560px;
	height: auto;
	max-width: 1000px;
	/* background */
	background-image: url("pics/hero.jpg");
	background-size: cover;
	background-position: bottom center;
	background-repeat: no-repeat;
	/* text */
	text-align: center;
}

header#hero h1 {
	/* position */
	margin: 0;
	padding: 10px 15px 10px 15px;
	display: inline-block;	/* keep to width of text, and no longer */
	/* background */
	background-color: rgba(150, 150, 150, 0.8);
	/* font */
	font-size: 60px;
	line-height: 0.9;
}

header#hero nav {
	/* position */
	position: absolute;	/* position relative to ancestor */ 
	right: 25px;
	top: 65%;
	padding: 0px 25px 0px 25px;
	/* background */
	background-color: rgba(150, 150, 150, 0.8);
	/* text */
	font-size: 25px;
}

header#hero nav h2 {
	margin: 18px 0px 0px 0px;
	font-size: 30px;
}

header#hero nav ul {
	/* text */
	text-align: left !important;
	list-style-type: none;
	/* position */
	margin: 0 !important;
	padding: 0px 0px 10px 0px;
	float: left;
	/* border */
	border: none !important;
}

header#hero nav ul li {
	float: none !important;
	padding: 0px !important;
}

header#hero nav div{
	/* text */
	font-size: 45px;
	/* position */
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 17px;
}

h1 {
	color: rgb(247, 247, 187);	/* light-yellow */
	text-align: center;
}

h2 {
	color: rgb(255,204,203);	/* light-red */
	text-align: center;
}

/* dashes before and after titles */
h1::before, h1::after, h2::before, h2::after { content: " - "; }

a		{ color: lightgreen; }
a:hover	{ color: red; }

main {
	/* position */
	margin: auto;
	padding: 10px;
	/* size */
	max-width: 1100px;
}

.bubble {
	border-style: dashed;
	border-color: lightblue;
	border-width: 2px;
	border-radius: 10px;
}

fieldset.bubble legend {
	/* position */
	margin: 0px auto 12px auto;
	padding: 0px 10px 14px 10px;
	/* size */
	max-height: 15px;
	/* text */
	text-align: center;
	line-height: 26px;
}

fieldset.bubble legend h2	{ margin: 0px; }
fieldset.bubble p			{ margin: 0px; }

article {
	font-size: 22px;
	padding: 0px 25px 25px 25px;
}

article.home {
	margin: 0px 0px 15px 0px;
	padding: 0;
}

article.home#contact	fieldset { border-color: red; }
article.home#other		fieldset { border-color: orange; }

article.home#contact	fieldset ul { margin: 0; }
article.home#other		fieldset ul {
	padding: 0;
	list-style-type: none;
}

article.home fieldset .note { font-size: 16px; }

/* place articles on homepage side-by-side, assuming the screen is wide
 * enough */
@media screen and (min-width: 1100px) {
	article.home			{ float: left; }
	article.home#about		{ width: 57%; margin-right: 10px; }
	article.home#contact	{ width: 42%; }
	article.home#other {
		/* position */
		clear: both;
		float: none;
		margin: auto;
		/* size */
		width: 40%;
	}
}

.icon {
	height: 1.1em;
	vertical-align: bottom;
	display: inline !important;
}

nav { text-align: center; }

nav ul {
	/* position */
	padding: 0px 10px 5px 10px;
	display: inline-block;
	list-style-type: none;
	/* border */
	border-bottom-style: dotted;
	border-bottom-color: lightblue;
	border-bottom-style: dashed;
	border-bottom-width: 2px;
	border-radius: 10px;
}

nav ul li {
	/* position */
	float: left;
	padding: 0px 10px 0px 10px;
	/* text */
	font-size: 25px;
}

#index { text-align: center; }

#index ul {
	/* position */
	display: inline-block;
	margin: auto;
	/* text */
	text-align: left;
}

#index.center ul { text-align: center !important; }

#date{
	color: purple;
	font-style: italic;
	text-decoration: underline;
	text-align: center;
}

img {
	max-width: 70%;
	display: block;
	margin: auto;
}

footer { text-align: center; }

footer p#buttons a img {
	display: inline;
	max-width: 100% !important;
}
