body {
	margin: 0;
	padding: 0;
	background-color: #000;
	font-family: "Source Sans Pro", sans-serif;
	font-size: 17px;
	line-height: 28px;
}

header {
	clear: both;
	background: #fff;
}

div#header-content {
	position: relative;
	max-width: 1160px;
	overflow: visible;
	margin: 0 auto 0 auto;
	padding: 0 0 10px 0;
}

img#logo {
	display: block;
	width: 250px;
	margin: 0 auto 0 auto;
	padding: 8px 10px 8px 7px;
}

@media screen and (min-width: 1328px) {
	div#header-content {
		height: 220px;
	}
	
	img#logo {
		position: absolute;
		top: -2px;
		left: -20px;
		float: none;
		width: auto;
	}
}

/* Navigation Menu */
nav {
	clear: both;
}

ul#menu {
	margin: 0;
	padding: 0;
	text-align: center;
}

ul#menu li {
	display: inline-block;
	height: 30px;
	margin: 0 8px 0 8px;
	padding: 0;
	list-style-type: none;
}

.menu:link, .menu:visited, .menu:active {
	display: block;
	margin: 5px 0 0 0;
	padding: 3px;
	line-height: 19px;
	font-size: 19px;
	color: #567458;
}

ul#menu li:hover .menu, .menu:hover {
}

.active:link, .active:visited, .active:hover, .active:active {
}

.title:link, .title:visited, .title:active {
	padding: 4px 15px 5px 5px;
	background: url("images/arrow.png");
	background-size: 10px;
	background-position: right 2px center;
	background-repeat: no-repeat;
}

.login:link, .login:visited, .login:active {
	margin: 0;
	border-bottom-right-radius: 2px;
	border-bottom-left-radius: 2px;
	padding: 8px 13px 8px 13px;
	background: #567458;
	color: #fff;
}

.login:hover {

}

@media screen and (min-width: 990px) {
	ul#menu {
		/*margin-top: 60px;*/
	}
}

@media screen and (min-width: 1328px) {
	ul#menu {
		clear: none;
		width: 100%;
		max-width: 800px;
		float: right;
		margin: 80px 0 0 0;
	}
	
	ul#menu li {
		margin: 0 0 0 25px;
	}
}

/* Dropdowns & Submenus*/
ul#menu li ul {
	display: none;
}

ul#menu li:hover > ul {
	display: block;
	position: absolute;
	width: 225px;
	z-index: 5;
	margin: 0;
	padding: 0;
	background: #fff;
	text-align: left;
}

ul#menu li:hover > ul li {
	float: none;
	width: 225px;
	height: auto;
	margin: 0;
	border-bottom: 1px solid #ddd;
	border-left: 6px solid #ddd;
}

.dropdown:link, .dropdown:visited, .dropdown:active {
	display: block;
	padding: 14px 14px 14px 14px;
	background: #eee;
	line-height: 18px;
	font-size: 18px;
	color: #567458;
}

.dropdown:hover {
	background: #ddd;
}

fieldset.logout {
	margin: 0;
	border: 0;
	padding: 0;
	background: #ddd;
}

fieldset.logout button {
	width: 197px;
	margin: 0;
	border-radius: 0;
	padding: 14px 14px 14px 14px;
	background: #ddd;
	color: #567458;
}

/* Main */
main {
	clear: both;
	display: block;
	background-size: cover;
	background-attachment: fixed;
}

div#content {
	width: calc(100% - 30px);
	max-width: 1000px;
	margin: 0 auto 0 auto;
	padding: 15px;
	background: rgba(255,255,255,.96);
}

h1 {
	margin: 0 0 0 0;
	padding: 10px;
	background: rgba(255,255,255,.8);
	text-align: center;
	line-height: 50px;
	font-family: "Cormorant Garamond", serif;
	font-size: 56px;
	font-weight: normal;
	color: #5A4864;
}

@media screen and (min-width: 1328px) {
	div#content {
		width: calc(100% - 120px);
		padding: 72px 60px 48px 60px;
	}
	
	h1 {
		margin: -72px 0 0 0;
		padding: 16px 0 16px 172px;
		line-height: 60px;
		font-size: 62px;
	}
}

h2 {
	margin: 40px 0 0 0;
	font-size: 36px;
	font-weight: normal;
	color: #567458;
}

h3 {
	margin: 24px 0 0 0;
	font-size: 24px;
	color: #567458;
}

p {
	margin: 17px 0 0 0;
}

table {
	margin: 17px 0 0 0;
}

th {
	padding: 6px;
	background: #ddd;
	text-align: left;
}

td {
	border-bottom: 1px solid #ddd;
	padding: 10px 6px 10px 6px;
}

form {
	margin: 0;
	padding: 0;
}

fieldset {
	margin: 17px 0 0 0;
	border: 1px solid #bbb;
	padding: 0 24px 24px 24px;
	background: #ddd;
}

fieldset h3 {
	clear: both;
	margin: 24px -24px 16px -24px;
	padding: 8px 5px 7px 5px;
	background: #567458;
	text-align: center;
	color: #fff;
}

fieldset div {
	clear: both;
}

fieldset div.form_time {
	clear: none;
}

fieldset div.form_time select {
	width: auto;
}

fieldset label {
	display: block;
	float: left;
	width: 180px;
	padding: 23px 5px 5px 5px;
	vertical-align: top;
	text-align: right;
}

select, input[type=text], input[type=password], textarea {
	display: block;
	float: left;
	width: calc(100% - 222px);
	max-height: 30%;
	margin: 18px 0 0 0;
	border: 1px solid #ddd;
	border-radius: 3px;
	padding: 7px 8px 7px 8px;
	font-size: 17px;
}

div.form_date, div.form_time {
	display: inline-block;
}

div.form_date select {
	width: auto;
	margin-top: 26px;
}

input[type=text].year {
	display: inline;
	width: auto;
	max-width: 100%;
}

button {
	display: block;
	margin: 18px auto 0 auto;
	border: 0;
	border-radius: 3px;
	padding: 9px 17px 9px 17px;
	background: #336587;
	font-size: 17px;
	text-transform: uppercase;
	color: #fff;
}

p.center button {
	margin: 18px auto 0 auto;
}

button[disabled], button:disabled, button:disabled:hover {
	background: #bbb;
	cursor:default;
}

button:hover {
	background: #3F7EA8;
	cursor: pointer;
}

input[type=image] {
	display: block;
	float: left;
	margin-left: 10px;
}

span.instr {
	clear: both;
	display: block;
	margin: 0 0 0 195px;
	font-style: italic;
	font-size: 70%;
}

ol, ul {
	margin: 0 0 0 25px;
	padding: 0;
}

li {
	margin: 0;
	padding: 0;
}

a:link, a:visited, a:active {
	text-decoration: none;
	color: #3F7EA8;
}

a:hover {
	color: #336587;
}

img {
	max-width: 100%;
	border: 0;
}

/* General Formatting */
.clear {
	clear: both;
}

.center {
	text-align: center;
}

.error {
	clear: both;
	padding: 3px;
	background: #cc3333;
	text-align: center;
	font-weight: bold;
	color: #fff;
}

.info, .confirmation {
	clear: both;
	padding: 3px;
	background: #8cac66;
	text-align: center;
	font-weight: bold;
	color: #fff;
}

.honeypot {
	display: none;
}

/* Styling for Specific Pages */
table#calendar_table p {
	margin-top: 5px;
}

div.directory {
	width: 49%;
	float: left;
	padding: 21px 0 0 0;
}

fieldset#add {
	float: right;
	margin: 0;
	border: 0;
	padding: 0;
}

fieldset#add button {
	margin: 0;
}

button#select-all, td.cancel input[type=submit], td.cancel button {
	margin: 0;
	padding: 10px 11px 10px 11px;
	font-size: 13px;
}

td.cancel button {
	margin: 0 0 20px 0;
}

table.registrations {
	width: 100%;
}

div#cat_other, div#student2, div#student2_grade, div#sibling_names {
	display: none;
}

/*About Us*/
fieldset#donate {
	max-width: 210px;
	margin: 12px auto 36px auto;
	border: 0;
	text-align: center;
}

fieldset#donate h3 {
	margin: 0 -24px 16px -24px;
	padding: 8px 5px 7px 5px;
	background: #567458;
	color: #fff;
	font-size: 18px;
	text-transform: uppercase;
}

fieldset#donate label {
	width: auto;
}

fieldset#donate input[type=text] {
	width: 100px;
}

@media screen and (min-width: 1140px) {
	fieldset#donate {
		float: right;
		margin: 12px 0 12px 0;
	}
}

/*History*/
ul#charter_members {
	list-style-type: none;
}

ul#charter_members li {
	float: left;
	width: 40%;
}

/* Footers */
ul#submenu {
	clear: both;
	margin: 36px 0 0 0;
	padding: 12px;
	background: #ddd;
	text-align: center;
}

ul#submenu li {
	display: inline-block;
	list-style-type: none;
	padding: 0 12px 0 12px;
	font-weight: bold;
}

div#footerh1 {
	clear: both;
	margin: 36px 0 0 0;
	padding: 22px 0 22px 0;
	background: rgba(255,255,255,.8);
	text-align: center;
	font-weight: bold;
}

footer {
	clear: both;
	background: rgba(20,20,20,.95);
}

div#footer-content {
	max-width: 1088px;
	margin: 0 auto 0 auto;
	padding: 36px 12px 36px 12px;
}

img#logo-footer {
	display: block;
	margin: 0 auto 36px auto;
}

div#footer-menu {
	width: 430px;
	margin: 0 auto 0 auto;
}

.footer:link, .footer:visited, .footer:active {
	display: block;
	float: left;
	width: calc(50% - 72px);
	margin: 0 18px 0 18px;
	border-bottom: 1px solid #999;
	padding: 7px 2px 7px 2px;
	color: #ccc;
	text-transform: uppercase;
	font-size: 15px;
}

.footer:hover {
	color: #eee;
}

fieldset.footer-logout {
	float: left;
	width: calc(50% - 72px);
	margin: 0 18px 0 18px;
	border: 0;
	border-bottom: 1px solid #999;
	padding: 7px 2px 7px 2px;
	background: transparent;
}

fieldset.footer-logout button {
	margin: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
	text-align: left;
	text-transform: uppercase;
	font-size: 13px;
	line-height: 28px;
	color: #ccc;
}

img#facebook {
	display: block;
	clear: both;
	margin: 32px 0 0 20px;
}

@media screen and (min-width: 1140px) {
	div#footer-content {
		padding: 36px 24px 36px 48px;
	}
	
	img#logo-footer {
		float: left;
		margin: 0 60px 0 0;
		width: auto;
	}
	
	div#footer-menu {
		float: left;
	}
}

div#copyright {
	clear: both;
	max-width: 1064px;
	margin: 0 auto 0 auto;
	padding: 12px;
	font-size: 13px;
	text-transform: uppercase;
	color: #ccc;
}

@media screen and (min-width: 1140px) {
	div#copyright {
		padding: 16px 48px 14px 48px;
	}
}

div#hmd {
	float: right;
	text-align: right;
}

.siteby:link, .siteby:visited, .siteby:active {
	color: #ccc;
}

.siteby:hover {
	color: #eee;
}