body {
	font: normal 62.5% Helvetica, Arial, sans-serif;
	background: #1A1A1A;
	color: #777;
}

/* Removes native margin and padding from ALL elements */
* {
	padding: 0;
	margin: 0;
}

/* HTML5 elements need display: block */
div,
header,
nav,
section,
article,
aside,
figure,
footer {
	display: block;
	box-sizing: border-box;
}

/* block */

h1, h2, h3, h4, h5, h6 {
	font-family: Helvetica, Arial, sans-serif;
	clear: both;
	font-weight: normal;
}
h1 {
	font:bold 2.0em/1.0em Helvetica, Arial, sans-serif;
	padding: 0.75em 0 0.5em;
}
h2 {
	font:italic 1.5em/1.0em Georgia, "Times New Roman", Times, serif;
	padding: 0 0 0.5em;
}

p,
dd,
pre,
ul,
ol {
	padding-bottom: 1.0em;
}
ul,
ol {
	margin-left: 1.5em;
}
ul.unbulleted {
	list-style: none;
	margin-left: 0;
}
ol ol {
	list-style: lower-alpha;
}
ol ol ol {
	list-style: lower-roman;
}
ol ol ol ol {
	list-style: decimal;
}
ul ul,
ol ul,
ol ol,
ul ol {
	padding-bottom: 0;
}
dl {
	margin: 0 0 2.0em 0;
}
dt {
	font-weight: bold;
}

/* inline */
strong {
	font-weight: bold;
}
cite,
em,
i {
	font-style: italic;
}
big,
.large {
	font-size: 1.3333em;
}
small,
.small {
	font-size: 0.75em;	
}
abbr,
acronym {
	border-bottom: 1px dotted #DEDEDE;
	cursor: help;
}

.hidden {
	display: none;
}

a {
	color: #36F;
}
a:hover {
	color: #F63;
}

/* Form Elements */
form {
	font-size: inherit;	
}

input,
textarea,
button {
	width: 96%;
	padding: 1.0em 2.0%;
	border-radius: 0.5em;
	border: 1px solid #DEDEDE;
	margin: -1px;
	font: 1.0em/1.0em Helvetica, Arial, sans-serif;
	color: #787878;
	
	transition: border 0.5s;
	transition: background 0.5s;
}
input,
button  {
	height: 1.0em;
}
textarea {
	height: 8.0em;
	resize: none;
}

.formfield .fleft input {
	width: 94.32%;
	padding-left: 2.84%;
	padding-right: 2.84%;
}

.formfield .fright input {
	width: 82.94%;
	padding-left: 8.53%;
	padding-right: 8.53%;
}

input[type="checkbox"],
input[type="radio"] {
	width: auto;
	display: inline-block;
	vertical-align: middle;
}

select {
	width: 100%;
	border: 1px solid #DEDEDE;
	margin: -1px;
	font: 1.0em/1.0em Helvetica, Arial, sans-serif;
	color: #787878;

	transition: border 0.5s;
	transition: background 0.5s;
	transition: color 0.5s;	
}

button,
input[type="submit"] {
	font-size: 1.0em;
	background: #333;
	border: none;
	color: #FFF; 
	font-weight: bold;
	width: auto;
	min-width: 20%;
	height: auto;
	float: left;
	display: block;
}
button:hover,
input[type="submit"]:hover {
	background: #666;
	cursor: pointer;
}

input:focus,
textarea:focus,
select:focus {
	border: 1px solid #CCC;
	background: #EFEFEF;
	outline: none;
	color: #666;
	
	transition: border 0.5s;
	transition: background 0.5s;
	transition: color 0.5s;	
}

button:focus{
	outline: none;	
}

.required {
	color: #900;
}

.error {
	border: 1px solid #CC0000;
	color: #CC0000;
	padding: 1.0em 1.0em 0;
	margin: 1.5em 0;
	border-radius: 0.5em;
}

.error input[type="text"],
.error textarea {
	border: 1px solid #CC0000;
	box-shadow: 0 0 7px 1px rgba(204,0,0,.35);
}

.success {
	border: 1px solid #006600;
	color: #006600;
	padding: 1.0em 1.0em 0;
	margin: 1.5em 0;
	border-radius: 0.5em;
}

.formfield {
	padding: .5em 0 1.0em;
}

.formfield .fleft {
	width: 71.2125%;
}

.formfield .fright {
	width: 23.7375%;
}

.buttons {
	clear: both;
	padding: 1.0em 0;
}

.button-separator {
	display: block;
	float: left;
	padding: 0 1.0em;
	font-weight: bold;
	line-height: 3.0em;
}

label {
	font-weight: bold;
	display: block;
	line-height: 1.5em;
}

label.required:after {
	content: "*";	
}

input[type="checkbox"] + label,
input[type="radio"] + label {
	display: inline-block;	
	font-weight: normal;
	padding: 0.333em;
	line-height: 1.0em;
}

/* General Styles */
form:after,
.wrapper:after,
.buttons:after,
.clear-self:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; font-size: 0; }
.offscreen { position: absolute; left: -9999px; }
.hide { display: none; }

.required { color: #660000; }
.error { background: #FFCCCC; border: 1px solid #CC0000; padding: 1.0em;}
.success { background: #EEFDD9; border: 1px solid #006600; padding: 1.0em; }

/* layout elements */
.wrapper {
	width: 100%;
	min-width: 320px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}

.grid {
	padding: 15px;
	float: left;
}

.grid.full {
	width: 100%;
}

.grid.half {
	width: 50%;
}

/* START HEADER */
header{
	background: #BBBBBB;
	min-height: 75px;
	font:1.2em/1.5em Helvetica, Arial, sans-serif;	
	color: #666666;
	border-bottom: 1px solid #A9A9A9;
	border-top: 1px solid #EAEAEA;	
}
/* END HEADER */


/* START CONTENT */
.content {
	background: #FFF;
	font-size: 1.2em;
	line-height: 1.5em;
	color: #333333;
	min-height: 630px;
}

.toggle-form-holder{
	display: none;	
	padding-top: 15px;
}
/* END CONTENT */


/* START FOOTER */
footer{
	position: relative;
	min-height: 150px;
	background: #1A1A1A;
	border-top: 1px solid #777;
	font:italic 1.2em/1.5em Georgia, "Times New Roman", Times, serif;
	color: #777;
}
/* END FOOTER */