	* {font-family:Tahoma, Geneva, sans-serif;padding:0;margin:0;}
	html {height:100%;width:100%;}
	body {height:100%;overflow-y:scroll;}
	/* we want all td's and th's to have these styles */
	td,th {vertical-align:top;}
	/* style the placeholder text in text inputs */
	::-webkit-input-placeholder {font-weight:100;}
	:-moz-placeholder {font-weight:100;} /* Firefox 18- */
	::-moz-placeholder {font-weight:100;} /* Firefox 19+ */
	:-ms-input-placeholder {font-weight:100;}
	/*
	 * THINGS YOU CAN CLICK ON
	 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
	*/
	input[type='button'], input[type='submit'] {padding: 2px 20px;}
	/* style any selects or inputs that are not buttons or submits */
	input:not([type='button']):not([type='submit']), select {
		border:1px solid grey;
		background-color:#ffffff;
		display:inline-block;
		color:#000000;
		font-size: 16px;
		padding: 2px 4px;
        max-width: 150px;
		}
    input[type='file'] {max-width:300px !important;}
	.darkButton {
		background-color:#c9c9c9;
		border:1px solid #cecece;
		color: #000000;
		padding: 2px 6px;
		font-weight:bold;
		}
	.darkButton:hover {background-color:#a1a1a1;}
    .mainAction input {height:40px;width:380px;}
    .mainAction {text-align:center;}
	.lightButton {
		background-color:#e4e4e4;
		border:1px solid #e7e7e7;
		color:#000000;
		padding:2px;
		margin-top:3px;
		}
	.lightButton:hover {background-color:#b6b6b6;}
	.darkButton, .lightButton {
		border-radius:2px;
		display:inline-block;
		font-size:14px;
		text-decoration:none;
		}
	/* buttons that are active (being clicked on) */
	input[type='button']:active {position:relative;top:1px;}
	/* style disabled buttons */
	input[type='button']:disabled, input[type='button']:disabled:hover, input[type='button']:disabled:active,
    input[type='submit']:disabled, input[type='submit']:disabled:hover, input[type='submit']:disabled:active {
		background-color: #BFBFBF;
		border-color: lightgrey;
		color: #7D7D7D;
		}
    .subtleButton {border:none;text-decoration:underline;background:transparent;padding:0 !important;color:black;}
	/*
	 * BOXES
	 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
	*/
	.totalBox {
		border-bottom:1px solid #c2c2c2;
		display:inline-block;
		color:#000000;
		padding:2px 2px 2px 2px;
		font-size:20px;
		font-weight:bold;
		overflow:hidden;
		}
	.smallOutputField {
		display:inline-block;
		color:#000000;
		padding:2px 2px 2px 2px;
		font-size:14px;
		overflow:hidden;
		}
	.contentSection,.passwordBox {
		color:#000000;
        font-size:16px;
        margin:10px 5px;
        padding:30px;
        display:block !important;
        }
    .contentSection {
		background-color:#808080; 
        max-width:820px;
		}
	.passwordBox {
		background-color:#797979;
		border:thin dashed #c2c2c2;
		}
    .missingFeatureNotice {
    	padding:100px 200px 300px 200px;
    	}
	.comment {
    	text-align:left;
        width:330px;
        border-bottom:1px solid darkgrey !important;
        height:20px;
        }
	.rightSideComment {position:absolute;top:-20px;right:1em;}
	.rightSideComment > table {border-spacing:1em 0px;width:400px;}
	.rightSideComment > table td {text-align:left;white-space:nowrap;vertical-align:middle;}
    .centered {margin-left:auto;margin-right:auto;}
    .noJavascript {
    	background-color:#797979;
        color:#ffffff;
   		margin: 10px 7vw;
    	position: absolute;
    	padding: 10px 3vw;
    	text-align: center;
    	width: 80vw;
    	font-weight: bold;
        z-index:10;
        }
	/*
	 * TEXT
	 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
	*/
	.teeny {font-size:12px;white-space:nowrap;}
    .smallText {
		color:#000000;
        font-size:16px;
		font-weight:normal;
		}
	.mediumText {
		color:#000000;
		font-size:18px;
		font-weight:bold;
		}
	.bigText {
		font-size:28px;
		font-weight:bold;
		display:inline-block;
		}
	.titleText {
		color:#000000;
		font-size:24px;
		font-weight:bold;
		text-align:center;
		}
	.pageTitle {
		color:#000000;
		font-size:24px;
		font-weight:bold;
		text-align:center;
		}
	.minorTitle,.minorTitlePassword {
		font-size:14px;
		font-weight:bold;
        border-bottom-style:solid;
        border-bottom-width:1px;
		}
    .minorTitle {
    	color:#c2c2c2;
        border-bottom-color:#c2c2c2;
        }
	.minorTitlePassword {
		color:#c2c2c2;
		border-bottom-color:#c2c2c2;
		}
	.miniTitle {
		color:#c2c2c2;
		font-size:12px;
		font-weight:bold;
		}
	/*
	 * MISC
	 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
	*/
	.page {width:1100px;}
	.mainContent {
		width:900px;
		padding:3px 0px;
		float:left;
		color:#000000;
		font-size:18px;
        margin-bottom:50px;
		}
	/* give the actual rows some additional styling */
	.mainContent td.contentSection {padding:10px;width:870px;margin:5px 0;max-width:inherit;}
	.stepTitle {
		color:#000000;
		font-size:18px;
		font-weight:bold;
		margin-bottom:1em;
		}
	.stepContent {margin-left:1em;position:relative;width:100%;}
	header {
		background-color:#000000;
		color:#ffffff;
        min-width:1100px;
		}
    header > *:not(img) {
    	padding:5px 15px;
        }
    ul {margin-left:3em;}
	nav {
		float:right;
		text-align:center;
		width:200px;
		background-repeat:no-repeat;
		min-height:600px;
		position:relative;
		}
	.navTitle {
		font-weight:700;
		background-color:rgba(255,255,255,0.5);
		padding:5px;
		margin-top:15px;
		}
	#gridThing {margin-top:10px;}
	.invalid {background-color:#ffae9a;border-radius:4px;border:red solid 3px !important;}
    .failed {border:red 2px solid !important;}
	.highlight {background-color:#b4f1ff !important;}
    .tooltip {
        position: absolute;
        background-color: lightgrey;
        padding: 3px;
        top: 0px;
        left: 120%;
        max-width:200px;
        min-width:150px;
        white-space:normal;
        z-index:10;
        }
    nav .lightButton { width:185px; }
    .fieldCaption {min-width:125px;text-align:right;padding-bottom:10px;}
    /*
	 * FORM TABLES
	 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
	*/
    .formTable {border-spacing: 10px 5px;}
    .formTable td:last-child {white-space:nowrap;}
    
	/*
	 * STATUS MESSAGE STUFF
	 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
	*/
	#statusPlace {
		position:fixed;
		bottom:10px;
		right:10px;
        max-width:25vw;
        min-width:220px;
		}
	#box {
		overflow-y: auto;
		max-height: 300px;
		}
	.xButton {
		text-align: right;
		background-color: lightgrey;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
		padding: 4px;
        min-width:255px;
		}
	.statusMessage {
		padding:10px;
		border-radius:5px;
		margin-bottom:5px;
        max-width:25vw;
        min-width:220px;
		}
    .goodStatus {background-color:#c2e3a1;border:2px solid #c2e3a1;}
    .badStatus {background-color:#ffae9a;border:2px solid #ffae9a;}
       
	/*
	 * MOBILE DEVICES STUFF
	 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
	*/  
	@media all and (max-width:640px) {
		nav .lightButton { margin-top:5px;padding:8px 2px; }
		}
	@media all and (max-width:1100px) {
        html {overflow-x:scroll;}
		}
    