/* STANDARD HTML */

body {
	background: rgb(255,200,46) url('../img/bg/body.jpg') left top repeat-x;
	-moz-background-size: 2048px 2048px;
	-webkit-background-size: 2048px 2048px;
	background-size: 2048px 2048px;
	font-family: Arial, sans-serif;
	font-size: 80%;
	line-height: 1.5em;
}

a, a:visited, .review {
	color: rgb(255,90,0);
	cursor: pointer;
	font-weight: bold;
	text-decoration: none;
}

a:hover, .review:hover {
	color: rgb(255,200,46);
}

audio, embed {
	height: 32px;
	width: 100%;
}

em, i { font-style: italic; }

hr {
	background: rgb(255,200,46);
	border: none;
	color: rgb(255,200,46);
	height: 1px;
	margin: 1em 0;
	width: 100%;
}

img {
	height: auto;
	max-height: 100%;
	max-width: 100%;
	width: auto;
}



p, ol, ul, dl {
	margin: 0 0 1em 0;
}

li p { margin-bottom: 0.5em; }

small { font-size: 75%; }

strong, b { font-weight: bold; }

sub, sup {
	font-size: 62.5%;
	line-height: 1em;
	position: relative;
}
sub { bottom: -0.25em; }
sup {top: -0.75em; }


/* CSS CLASSES */

.action {
	background: rgb(255,90,0);
	border-top: 1px solid rgba(255,204,0,0.3);
	border-right: 1px solid rgba(153,45,0,0.7);
	border-bottom: 1px solid rgba(153,45,0,0.7);
	border-left: 1px solid rgba(255,204,0,0.3);
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-moz-box-shadow: inset 0 -10px 10px rgba(170,50,0,0.5);
	-webkit-box-shadow: inset 0 -10px 10px rgba(170,50,0,0.5);
	box-shadow: inset 0 -10px 10px rgba(170,50,0,0.5);
	color: rgb(255,255,255);
	cursor: pointer;
	font-weight: bold;
	line-height: 1em;
	margin: 0 2em 0 0;
	padding: 6px 10px;
	text-transform: uppercase;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.action:hover {
	-moz-box-shadow: inset 0 15px 5px rgba(255,204,153,0.3);
	-webkit-box-shadow: inset 0 15px 5px rgba(255,204,153,0.3);
	box-shadow: inset 0 15px 5px rgba(255,204,153,0.3);
}

.action.off {
	background: rgb(0,0,0);
	border: 1px solid rgb(0,0,0) !important;
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	cursor: default;
	opacity: 0.2;
}

.clear { clear: both; }

.meta {
	background: chartreuse;
	padding: 0 5px;
}

.next_link, .replay_link {
	color: inherit;
	cursor: pointer;
	font-weight: bold;
}

.next_link:hover, .replay_link:hover {
	color: rgb(255,90,0);
}

.nobg {
	background: none !important;
}

.refnum {
	color: rgb(255,200,46);
	font-size: 70%;
	margin: 0;
}

/* DOM ELEMENTS */

#javascript_warning {
	background: rgb(255,255,255);
	border: 5px solid rgb(0,0,0);
	-moz-box-shadow: 0 0 100px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 100px rgba(0,0,0,0.5);
	box-shadow: 0 0 100px rgba(0,0,0,0.5);
	font-size: 200%;
	left: 15%;
	line-height: 1.3em;
	padding: 3em;
	position: absolute;
	right: 15%;
	top: 25%;
	z-index: 99;
}

#loading {
	background: rgb(255,200,46) url('../img/bg/cadd.png') center 2em no-repeat;
	bottom: 0;
	font-size: 200%;
	left: 0;
	line-height: 1.3em;
	padding: 10em;
	position: fixed;
	right: 0;
	text-align: center;
	top: 0;
	z-index: 98;
}

#debug_message {
	background: black;
	bottom: 0;
	color: white;
	display: none; /* Comment out to display debugging messages */
	padding: 1em;
	position: fixed;
	right: 0;
	z-index: 99;
}

#wrapper {
	bottom: 5px;
	left: 5%;
	min-width: 700px;
	position: absolute;
	right: 5%;
	top: 5px;
}

	#header, #sidebar, #main, #footer {
		position: absolute;
	}

	#header {
		height: 50px;
		left: 0;
		right: 0;
		top: 0;
	}

		#logo {
			background: transparent url('../img/bg/cadd.png') left top no-repeat;
			-moz-background-size: 200px 50px;
			-webkit-background-size: 200px 50px;
			background-size: 200px 50px;
			display: inline-block;
			height: 40px;
			left: 0;
			line-height: 1.4em;
			margin-right: 220px;
			padding: 10px 0 0 235px;
			position: absolute;
			top: 0;
		}

			#logo h1 {
				font-size: 140%;
				font-weight: bold;
				margin: 0;
			}

			#logo h2 {
				font-size: 90%;
				font-weight: bold;
				margin: 0;
			}

			#logo h3 {
				background: rgb(255,90,0);
				font-size: 90%;
				font-weight: bold;
				margin: 0;
				padding: 2px 8px;
			}

		#smiths {
			background: transparent url('../img/bg/smiths_color.png') right center no-repeat;
			-moz-background-size: 200px 40px;
			-webkit-background-size: 200px 40px;
			background-size: 200px 40px;
			display: inline-block;
			height: 40px;
			overflow: hidden;
			position: absolute;
			right: 0;
			top: 0;
			width: 200px;
		}

			#smiths a {
				bottom: 0;
				left: 0;
				position: absolute;
				right: 0;
				top: 0;
			}

	#sidebar {
		bottom: 0;
		left: 0;
		width: 200px;
		top: 60px;
	}

		#nav {
			background: rgb(235,236,246);
			border: 1px solid rgb(78,164,214);
			border: 1px solid rgba(78,164,214,0.3);
			-moz-border-radius-bottomleft: 20px;
			-webkit-border-bottom-left-radius: 20px;
			border-bottom-left-radius: 20px;
			bottom: 20px;
			-moz-box-shadow: inset 0 0 100px -10px rgba(78,164,214,0.3);
			-webkit-box-shadow: inset 0 0 100px -10px rgba(78,164,214,0.3);
			box-shadow: inset 0 0 100px -10px rgba(78,164,214,0.3);
			left: 5px;
			overflow: auto;
			padding: 0;
			position: absolute;
			right: 9px;
			top: 0;
			-moz-user-select: none;
			-webkit-user-select: none;
			user-select: none;
		}

			#nav>ul>li {
				background: rgb(151,197,228);
				-moz-box-shadow: inset 0 1px 1px 0 rgba(255,255,255,0.3);
				-webkit-box-shadow: inset 0 1px 1px 0 rgba(255,255,255,0.3);
				box-shadow: inset 0 1px 1px 0 rgba(255,255,255,0.3);
				font-size: 90%;
				line-height: 1.3em;
			}

			#nav>ul>li.open {
				font-weight: bold;
				-moz-box-shadow: inset 0 1px 1px 0 rgba(255,255,255,0.7);
				-webkit-box-shadow: inset 0 1px 1px 0 rgba(255,255,255,0.7);
				box-shadow: inset 0 1px 1px 0 rgba(255,255,255,0.7);
			}

			#nav>ul>li>h2 {
				border-bottom: 1px solid rgb(78,164,214);
				border-bottom: 1px solid rgba(78,164,214,0.8);
				-moz-box-shadow: inset 0 -10px 20px -5px rgba(78,164,214,0.3);
				-webkit-box-shadow: inset 0 -10px 20px -5px rgba(78,164,214,0.3);
				box-shadow: inset 0 -10px 20px -5px rgba(78,164,214,0.3);
				cursor: pointer;
				padding: 4px 1em;
			}

			#nav>ul>li.open>h2 {
				-moz-box-shadow: inset 0 10px 20px -5px rgba(78,164,214,0.7);
				-webkit-box-shadow: inset 0 10px 20px -5px rgba(78,164,214,0.7);
				box-shadow: inset 0 10px 20px -5px rgba(78,164,214,0.7);
			}

			#nav>ul>li>ul {
				background: rgb(235,236,246);
				border-bottom: 1px solid rgba(78,164,214,0.5);
				-moz-box-shadow: inset 2px -2px 20px -5px rgba(78,164,214,0.3);
				-webkit-box-shadow: inset 2px -2px 20px -5px rgba(78,164,214,0.3);
				box-shadow: inset 2px -2px 20px -5px rgba(78,164,214,0.3);
				display: none;
				font-weight: normal;
				margin: 0;
				padding: 4px 0;
			}

			#nav>ul>li:last-of-type>ul {
				border-bottom: 1px solid rgba(78,164,214,0.15);
			}

			#nav>ul>li>ul>li {
				cursor: pointer;
				font-size: 95%;
				line-height: 1.2em;
				padding: 4px 1em;
			}

			#nav>ul>li>ul>li.current {
				font-weight: bold;
			}

			#nav>ul>li>ul>li.current:before {
				content: '\2192  ';
			}

			#nav>ul>li>ul>li>ul {
				display: none;
			}

	#main {
		background: rgb(255,247,225);
		background: rgba(255,255,255,0.8);
		border-bottom: 0;
		-moz-border-radius-topright: 20px;
		-webkit-border-top-right-radius: 20px;
		border-top-right-radius: 20px;
		bottom: 55px;
		-moz-box-shadow: inset 0 -100px 200px -50px rgba(255,255,255,0.8);
		-webkit-box-shadow: inset 0 -100px 200px -50px rgba(255,255,255,0.8);
		box-shadow: inset 0 -100px 200px -50px rgba(255,255,255,0.8);
		left: 205px;
		right: 0;
		top: 60px;
	}

		#content {
			bottom: 0;
			left: 0;
			overflow: hidden;
			padding: 30px;
			position: absolute;
			right: 0;
			top: 0;
		}

			.module_header {
				background: rgb(120,119,193);
				-moz-border-radius-topright: 20px;
				-webkit-border-top-right-radius: 20px;
				border-top-right-radius: 20px;
				color: rgb(255,255,255);
				font-size: 180%;
				font-weight: bold;
				height: 40px;
				line-height: 40px;
				margin: -30px -30px 1em -30px;
				overflow: hidden;
				padding: 0 30px;
			}

			.pump {
				background: transparent url('../img/bg/pump-background.png') left top no-repeat;
				-moz-background-size: 435px 548px;
				-webkit-background-size: 435px 548px;
				background-size: 435px 548px;
				float: left;
				height: 548px;
				position: relative;
				width: 435px;
			}

				.pump_overlays {
					bottom: 0;
					left: 0;
					position: absolute;
					right: 0;
					top: 0;
					z-index: 2;
				}

					.pump_overlays img {
						bottom: 0;
						height: 100%;
						left: 0;
						position: absolute;
						right: 0;
						top: 0;
					}

				.pump_screen {
					height: 240px;
					left: 92px;
					position: absolute;
					top: 97px;
					width: 240px;
					z-index: 1;
				}

					.pump_screen img {
						height: 240px;
						width: 240px;
					}

			.module_content {
				bottom: 0;
				font-size: 120%;
				left: 460px;
				line-height: 1.5em;
				overflow-y: auto;
				padding: 2em;
				position: absolute;
				right: 0;
				top: 40px;
			}

				.module_content h1, .module_content h2, .module_content h3 {
					font-weight: bold;
					margin: 0 0 0.5em 0;
				}

				.module_content h1 {
					font-size: 200%;
					line-height: 1em;
				}

				.module_content h2 {
					color: rgb(120,119,193);
					font-size: 150%;
					line-height: 1.2em;
				}

				.module_content h3 {
					color: rgb(120,119,193);
					font-size: 120%;
					line-height: 1.35em;
				}

				.module_content ul {
					list-style: disc;
					padding-left: 2em;
				}

				.module_content ol {
					list-style: decimal;
					padding-left: 2em;
				}

				.module_content li {
					margin-bottom: 0.5em !important;
				}

	#footer {
		background: rgb(120,119,193);
		border-top: 0;
		bottom: 20px;
		-moz-box-shadow: inset 0 -30px 60px -20px rgba(84,84,137,0.8);
		-webkit-box-shadow: inset 0 -30px 60px -20px rgba(84,84,137,0.8);
		box-shadow: inset 0 -30px 60px -20px rgba(84,84,137,0.8);
		color: rgb(255,255,255);
		height: 25px;
		left: 205px;
		padding: 5px 1em;
		right: 0;
	}

		#footer ul {
			display: table;
			margin: 0 auto;
			padding-left: 2em;
			text-align: center;
		}

		#footer li {
			float: left;
		}

	#copyright {
		color: rgb(120,119,193);
		bottom: 0;
		font-size: 85%;
		position: absolute;
		right: 0;
		text-align: right;
	}

		#copyright a, #copyright a:visited, #copyright a:hover {
			color: rgb(120,119,193);
			font-weight: normal;
		}

		#copyright a:hover {
			text-decoration: underline;
		}

/* CSS3 MEDIA QUERIES */


/* PRINT */
@media print {
	* {
		background: transparent !important;
		color: black !important;
		text-shadow: none !important;
		filter: none !important;
		-ms-filter: none !important;
	}
	@page { margin: 0.5cm; }
	h1, h2, h3, p { orphans: 3; widows: 3; }
	h1, h2, h3 { page-break-after: avoid; }
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	abbr[title]:after { content: " (" attr(title) ")"; }
	a, a:visited { color: #444 !important;  text-decoration: underline; }
	a[href]:after {  content: " (" attr(href) ")"; }
	a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
	img { max-width: 100% !important; page-break-inside: avoid; }
	thead { display: table-header-group; }
	tr { page-break-inside: avoid; }
}


/* LARGER SCREENS (1600 OR GREATER PIXELS) */
@media screen and (min-width: 1600px) {

	.pump {
		-moz-background-size: 580px 730px;
		-webkit-background-size: 580px 730px;
		background-size: 580px 730px;
		height: 730px;
		width: 580px;
	}

		.pump_screen {
			height: 320px;
			left: 123px;
			top: 129px;
			width: 320px;
		}

			.pump_screen img {
				height: 320px;
				width: 320px;
			}

	.module_content {
		font-size: 140%;
		left: 600px;
		line-height: 1.5em;
	}

}


/* SMALLER SCREENS (1280 OR FEWER PIXELS) */
@media screen and (max-width: 1280px) {

	.action {
		font-size: 90%;
		margin: 0 1em;
		padding: 0.5em 0.8em;
	}

	.pump {
		-moz-background-size: 348px 438px;
		-webkit-background-size: 348px 438px;
		background-size: 348px 438px;
		height: 438px;
		width: 348px;
	}

		.pump_screen {
			height: 192px;
			left: 74px;
			top: 78px;
			width: 192px;
		}

			.pump_screen img {
				height: 192px;
				width: 192px;
			}

	.module_content {
		font-size: 110%;
		left: 365px;
		line-height: 1.5em;
	}

}


/* TABLETS (1024 OR FEWER PIXELS) */
@media screen and (max-width: 1024px) {

	.action {
		font-size: 85%;
		margin: 0.2em 1em;
		padding: 0.5em 0.8em;
	}

	.pump {
		-moz-background-size: 290px 365px;
		-webkit-background-size: 290px 365px;
		background-size: 290px 365px;
		height: 365px;
		margin-top: -10px;
		width: 290px;
	}

		.pump_screen {
			height: 160px;
			left: 61px;
			top: 65px;
			width: 160px;
		}

			.pump_screen img {
				height: 160px;
				width: 160px;
			}

	.module_content {
		font-size: 90%;
		left: 310px;
		line-height: 1.5em;
	}

}


/* SMALL TABLETS (840 OR FEWER PIXELS) */
@media screen and (max-width: 840px) {

	.pump {
		-moz-background-size: 239px 301px;
		-webkit-background-size: 239px 301px;
		background-size: 239px 301px;
		height: 301px;
		width: 239px;
	}

		.pump_screen {
			height: 132px;
			left: 51px;
			top: 53px;
			width: 132px;
		}

			.pump_screen img {
				height: 132px;
				width: 132px;
			}

	.module_content {
		font-size: 90%;
		left: 260px;
		line-height: 1.5em;
	}

}


/* HIGH-RESOLUTION DISPLAYS */
@media	only screen and (-moz-min-device-pixel-ratio: 1.5),
		only screen and (-o-min-device-pixel-ratio: 3/2),
		only screen and (-webkit-min-device-pixel-ratio: 1.5),
		only screen and (min-devicepixel-ratio: 1.5),
		only screen and (min-resolution: 1.5dppx)
{

	body {
		-moz-background-size: 1024px 1024px;
		-webkit-background-size: 1024px 1024px;
		background-size: 1024px 1024px;
	}

	#logo {
		background-image: url('../img/bg/cadd_x2.png');
	}

	#smiths {
		background-image: url('../img/bg/smiths_color_x2.png');
	}

}
