/* ---------- Browser normalization ---------- */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	clear: both;
}

fieldset, img {
	border-width: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal;
}

caption, th {
	text-align: left;
}

q:before, q:after {
	content: '';
}

abbr, acronym {
	border: 0;
	border-bottom: 1px dotted #000;
	cursor: help;
}

blockquote, ul, ol, dl {
	margin: 1em;
}

ol, ul, dl {
	margin-left: 2em;
}

ol {
	list-style: decimal outside;
}

ul {
	list-style: disc outside;
}

ul ul {
	list-style-type: circle;
}

ol ol {
	list-style-type: upper-roman;
}

dl dd {
	margin-left: 1em;
}

th {
	font-weight: bold;
}

caption {
	margin-bottom: 0.5em;
	text-align: center;
}

p {
	margin-bottom: 1em;
}

/* ---------- Headers ---------- */

h1 {
	font-size: 1.8em;
}

h2 {
	font-size: 1.6em;
}

h3 {
	font-size: 1.4em;
}

h1, h2, h3 {
	margin: 1em 0;
}

h4, h5, h6 {
	font-size: 1.1em;
}

h1, h2, h3, h4, h5, h6, strong {
	font-weight: bold;
}

/* ---------- Text formatting ---------- */

b, strong {
	font-weight: bold;
}

i, em {
	font-style: italic;
}

code, pre {
	font-family: "Courier New",Courier,monospace;
}

pre {
	white-space: pre;
}

.important {
	font-weight: bold;
}

/* ---------- Separator ---------- */

hr, .separator {
	border-top: 1px dotted #BFBFBF;
}