@charset "utf-8";
/* CSS Document */

/* ===== GLOBAL STYLES ===== */
* {
	position: relative;
	padding: 0;
	margin: 0;
	border: none;
}

body {
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, "sans-serif";
	font-size: 1.2em;
	background: rgba(20,20,20,1.0);
	color: #fff;
}

/* ===== LARGER STYLES ===== */
@media only screen and (min-width: 800px) {

	nav {
		position: fixed;
		width: 300px;
		height: 100vh;
		background-color: #333;
		background-image: url("images/navBackground.jpg");
		background-repeat: no-repeat;
		background-size: 100% 100%;
		text-align: center;
	}

	nav h2 {
		display: block;
		width: 100%;
		text-align: center;
		color: #d93;
		padding: 15px 0 0 0;
		text-shadow: 2px 2px 5px #000;
	}

	nav img {
		margin: 5px auto;
		width: 150px;
	}

	nav ul {
		list-style-type: none;
	}
	
	#menutoggle {
		display: none;
	}

	nav ul li a {
		display: block;
		color: #fff;
		text-decoration: none;
		border-bottom: solid 1px rgba(50,50,50,0.5);
		line-height: 2.0em;
	}

	nav ul li a:hover {
		background: rgba(0,0,0,0.7);
		color: #d93;
	}

	#social {
		position: absolute;
		bottom: 0;
		width: 100%;
	}

	#social h3 {
		display: block;
		width: 100%;
		text-align: center;
		color: #d93;
		text-shadow: 2px 2px 5px #000;
	}

	#social img {
		margin: 0 5px 10px 5px;
		opacity: 0.6;
		width: 40px;
	}

	#social a:hover > img {
		opacity: 1.0;
	}

	main {
		position: absolute;
		left: 300px;
		width: calc(100% - 300px);
	}

	main h1 {
		font-weight: 100;
		font-size: 3.0em;
		text-align: center;
		padding: 15px 0 0 0;
	}

	main h2 {
		font-weight: 100;
		font-size: 1.8em;
		padding: 15px 0 0 20px;
	}

	main p {
		padding: 5px 20px;
	}
	
	article {
		padding: 5px 20px;
		border-bottom: solid 1px rgba(255,255,255,0.3);
		border-top: solid 1px rgba(0,0,0,0.5);
		overflow: auto;
	}
	
	article img {
		float: right;
		margin: 5px 15px 5px 15px;
		max-width: calc((100vw - 300px)/2 - 50px);
	}
	
	article h3 {
		font-weight: 100;
		font-size: 1.8em;
		color: #d93;
		text-shadow: 2px 2px 5px #000;
	}
	
	article p {
		padding: 0;
	}
	
	article ul {
		padding: 0 15px 15px 25px;
	}
	
	article.normal p {
		padding: 0 0 15px 0;
	}
	
	form.contactForm {
		margin: 10px 5px 5px 5px;
	}

	form.contactForm br {
		clear: both;
	}

	form.contactForm legend {
		font-weight: bold;
	}

	form.contactForm label {
		float: left;
		width: 200px;
		margin: 0 5px 0 0;
		text-align: right;
		font-weight: bold;
	}

	form.contactForm input, form.contactForm select, form.contactForm textarea {
		float: left;
		margin: 5px 5px 0 5px;
		padding: 3px 3px 3px 3px;
	}

	form.contactForm select option {
		padding: 0 5px 0 5px;
	}

	form.contactForm input.buttons {
		float: left;
		padding: 5px 5px 5px 5px;
		margin: 5px 0 0 210px;
		background-color: #a9caa2;
		border: 2px #d93 solid;
	}

	form input[type=submit]:hover {
		cursor: pointer;
	}

	p.submitMessage {
		clear: both;
		background-color: #ffffff;
		border: 5px solid #778e72;
		margin: 10px 0 0 0;
		padding: 10px 10px 10px 10px;
		top: 10px;
	}

	footer {
		width: 100%;
		text-align: center;
		font-size: 0.9em;
	}

	/* ----- Slide effect styles ----- */
	.mouseDetect {
		position: relative;
		display: inline-block;
		margin: 5px 0 0 5px;
		background: #000;
		overflow: hidden;
	}

	.mouseDetect img {
		position: absolute;
		max-width: 100%;
		max-height: 100%;
		top: 50%;
		transform: translateY(-50%);
	}

	.slideInfo {
		position: absolute;
		display: table-cell;
		padding: 0;
		margin: 0;
		width: 100%;
		height: 100%;
		top: 0;
		left: -100%;
		background: rgba(255,255,255,0.85);
	}

	.slideInfo p {
		height: 100%;
		padding: 5px 10px 5px 10px;
		margin: 0;
		font-size: 1.0em;
		font-weight: 700;
		color: #000;
	}
	
	.slideInfo p a {
		display: block;
		text-decoration: none;
		color: #000;
		height: 100%;
	}
}

/* ===== SMALLER STYLES ===== */
@media only screen and (max-width: 799px) {

	nav {
		position: relative;
		width: 100%;
		margin: 0;
		background-color: #333;
		background-image: url("images/navBackground.jpg");
		background-repeat: no-repeat;
		background-size: 100% 100%;
		overflow: hidden;
		text-align: center;
		z-index: 999;
	}

	nav h2 {
		display: block;
		width: 100%;
		text-align: center;
		color: #d93;
		padding: 15px 0 0 0;
		text-shadow: 2px 2px 5px #000;
	}

	nav img {
		margin: 5px auto;
		width: 150px;
	}
	
	#menutoggle {
		position: absolute;
		right: 5px;
		top: 160px;
	}
	
	#menutoggle img {
		width: 50px;
		margin: 0 10px 0 0;
	}

	nav ul {
		list-style-type: none;
		height: auto;
		overflow: hidden;
	}

	nav ul li a {
		display: block;
		color: #fff;
		text-decoration: none;
		border-bottom: solid 1px rgba(50,50,50,0.5);
		line-height: 2.0em;
	}

	nav ul li a:hover {
		background: rgba(0,0,0,0.7);
		color: #d93;
	}

	#social {
		position: relative;
		width: 100%;
		height: auto;
		overflow: hidden;
	}

	#social h3 {
		display: none;
		width: 100%;
		text-align: center;
		color: #d93;
		text-shadow: 2px 2px 5px #000;
	}

	#social img {
		margin: 5px 5px 5px 5px;
		opacity: 0.6;
		width: 40px;
	}

	#social a:hover > img {
		opacity: 1.0;
	}

	main {
		position: absolute;
	}

	main h1 {
		font-weight: 100;
		font-size: 3.0em;
		text-align: center;
		padding: 15px 0 0 0;
	}

	main h2 {
		font-weight: 100;
		font-size: 1.8em;
		padding: 15px 0 0 15px;
	}

	main p {
		padding: 5px 15px;
	}
	
	article {
		padding: 5px 20px;
		border-bottom: solid 1px rgba(255,255,255,0.3);
		border-top: solid 1px rgba(0,0,0,0.5);
		overflow: auto;
	}
	
	article img {
		float: right;
		margin: 5px 15px 5px 15px;
		max-width: calc((100vw - 300px)/2 - 50px);
	}
	
	article h3 {
		font-weight: 100;
		font-size: 1.8em;
		color: #d93;
		text-shadow: 2px 2px 5px #000;
	}
	
	article p {
		padding: 0;
	}
	
	article ul {
		padding: 0 15px 15px 25px;
	}
	
	article.normal p {
		padding: 0 0 15px 0;
	}
	
	form.contactForm {
		margin: 10px 5px 5px 5px;
	}

	form.contactForm br {
		clear: both;
	}

	form.contactForm legend {
		font-weight: bold;
	}

	form.contactForm label {
		float: left;
		width: 200px;
		margin: 0 5px 0 0;
		text-align: right;
		font-weight: bold;
	}

	form.contactForm input, form.contactForm select, form.contactForm textarea {
		float: left;
		margin: 5px 5px 0 5px;
		padding: 3px 3px 3px 3px;
	}

	form.contactForm select option {
		padding: 0 5px 0 5px;
	}

	form.contactForm input.buttons {
		float: left;
		padding: 5px 5px 5px 5px;
		margin: 5px 0 0 210px;
		background-color: #a9caa2;
		border: 2px #d93 solid;
	}

	form input[type=submit]:hover {
		cursor: pointer;
	}

	p.submitMessage {
		clear: both;
		background-color: #ffffff;
		border: 5px solid #778e72;
		margin: 10px 0 0 0;
		padding: 10px 10px 10px 10px;
		top: 10px;
	}

	footer {
		width: 100%;
		text-align: center;
		font-size: 0.9em;
	}

	/* ----- Slide effect styles ----- */
	.mouseDetect {
		position: relative;
		display: inline-block;
		background: #000;
		overflow: hidden;
	}

	.mouseDetect img {
		position: absolute;
		max-width: 100%;
		max-height: 100%;
		top: 50%;
		transform: translateY(-50%);
	}

	.slideInfo {
		position: absolute;
		display: table-cell;
		padding: 0;
		margin: 0;
		width: 100%;
		height: 100%;
		top: 0;
		left: -100%;
		background: rgba(255,255,255,0.75);
	}

	.slideInfo p {
		height: 100%;
		padding: 5px 10px 5px 10px;
		margin: 0;
		font-size: 1.0em;
		font-weight: 700;
	}

	.slideInfo p a {
		display: block;
		text-decoration: none;
		color: #000;
		height: 100%;
	}
}