html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, caption,
article, aside, canvas, details, figcaption, figure,  footer, header, hgroup,
menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
nav ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }

pre, code, kbd, samp { font-family: monospace, sans-serif; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }
html { overflow-y: scroll; }

ul, ol { margin-left: 1.25em; }
ol { list-style-type: decimal; }

a:active { outline: none; }

nav ul, nav li { margin: 0; }
small { font-size: 85%; }
strong, th { font-weight: bold; }
td, td img { vertical-align: top; }
sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; }
pre { padding: 15px; white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; }
textarea { overflow: auto; }
.ie6 legend, .ie7 legend { margin-left: -7px; }
input[type="radio"] { margin-right: 2px; vertical-align: text-bottom; }
input[type="checkbox"] { margin-right: 2px; vertical-align: bottom; }
.ie7 input[type="checkbox"] { vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }
label, input[type="button"], input[type="submit"], button { cursor: pointer; }
button, input, select, textarea { margin: 0; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0 0 5px red; -webkit-box-shadow: 0 0 5px red; box-shadow: 0 0 5px red; }
.no-boxshadow input:invalid,
.no-boxshadow textarea:invalid { background-color: #f0dddd; }

button { width: auto; overflow: visible; }
.ie7 img { -ms-interpolation-mode: bicubic; }

.g-ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
.g-hidden { display: none; visibility: hidden; }
.g-visuallyhidden { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); }
.g-invisible { visibility: hidden; }
.g-clearfix:before, .g-clearfix:after { content: "\0020"; display: block; height: 0; visibility: hidden; }
.g-clearfix:after { clear: both; }
.g-clearfix { zoom: 1; }
.g-clear { clear: both; display: block; height: 0; visibility: hidden; width: 100%; }

/* Overrides extra padding in Firefox */
button::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
	padding: 0;
	border: none;
}