/*! Normalizr | MIT License | github.com/mgsisk/normalizr | Based on git.io/normalize & h5bp.com */

/** paulirish.com/2012/box-sizing-border-box-ftw */
* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/** Correct undefined `block` elements in IE 8/9. */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
	display: block;
}

/** Correct undefined `inline-block` elements in IE 8/9. */
audio,
canvas,
video {
	display: inline-block;
}

/** Implement responsive objects. */
embed,
iframe,
object,
video {
	max-width: 100%;
}

/** Implement responsive videos. */
video {
	height: auto;
}

/** Prevent modern browsers from displaying `audio` without controls and remove excess height in iOS 5 devices. */
audio:not([controls]) {
	display: none;
	height: 0;
}

/** Address absent `hidden` attribute styling in IE 8/9. */
[hidden] {
	display: none;
}

/** Strip margin, padding, and list styles from navigation lists. */
nav ul,
nav ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/**
 * 1. Set default font family to sans-serif.
 * 2. Ensure font size is 100%.
 * 3. aestheticallyloyal.com/public/optimize-legibility
 * 4. Prevent iOS text size adjust after orientation change without disabling user zoom.
 */
html {
	font-family: sans-serif; /* 1 */
	font-size: 100%; /* 2 */
	text-rendering: optimizeLegibility; /* 3 */
	-webkit-text-size-adjust: 100%; /* 4 */
	-ms-text-size-adjust: 100%; /* 4 */
}

/**
 * 1. Sensible line height default.
 * 2. Remove default margin.
 */
body {
	line-height: 1.4; /* 1 */
	margin: 0; /* 2 */
}

/** Address `outline` inconsistency between Chrome and other browsers. */
a:focus {
	outline: thin dotted;
}

/** Improve readability when focused and hovered in all browsers. */
a:active,
a:hover {
	outline: 0;
}

/** Show default cursor on unlinked anchors. */
a:not([href]) {
	cursor: default;
}

/** Address `h1` font sizes inconsistency within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */
h1 {
	font-size: 2em;
}

/**
 * 1. Address styling not present in IE 8/9, Safari 5, and Chrome.
 * 2. Show help cursor to denote useful hover information.
 */
abbr[title] {
	border-bottom: thin dotted; /* 1 */
	cursor: help; /* 2 */
}

/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
b,
strong {
	font-weight: bold;
}

/** Address styling not present in Safari 5 and Chrome. */
dfn {
	font-style: italic;
}

/** Address styling not present in IE 8/9. */
mark {
	font-style: italic;
	font-weight: bold;
}

/** Correct font family set oddly in Safari 5 and Chrome. */
code,
kbd,
pre,
samp {
	font-family: monospace, serif;
	font-size: 1em;
}

/** Improve readability of pre-formatted text in all browsers. */
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

/** Set consistent quote types. */
q {
	quotes: "\201C" "\201D" "\2018" "\2019";
}

/** Address inconsistent and variable font size in all browsers. */
small {
	font-size: 75%;
}

/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -.5em;
}

sub {
	bottom: -.25em;
}

/**
 * 1. Remove border when inside `a` element in IE 8/9.
 * 2. Enable responsive images.
 * 3. h5bp.com/i/440
 */
img {
	border: 0; /* 1 */
	height: auto; /* 2 */
	max-width: 100%; /* 2 */
	vertical-align: middle; /* 3 */
}

/** Correct overflow displayed oddly in IE 9. */
svg:not(:root) {
	overflow: hidden;
}

/** Address margin not present in IE 8/9 and Safari 5. */
figure {
	margin: 0;
}

/** Define consistent border, margin, and padding. */
fieldset {
	border: thin solid;
	margin: 1em 0;
	padding: 1em;
}

/**
 * 1. Correct color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
	border: 0; /* 1 */
	padding: 0; /* 2 */
}

/** Improve usability for clickable labels. */
label[for] {
	cursor: pointer;
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome
 */
button,
input,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 2 */
	margin: 0; /* 3 */
}

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
button,
input {
	line-height: normal;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type `input` and others.
 */
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button; /* 2 */
	cursor: pointer; /* 3 */
}

/** Reset default cursor for disabled elements. */
button[disabled],
input[disabled] {
	cursor: default;
}

/** Remove excess padding in IE 8/9. */
input[type="checkbox"],
input[type="radio"] {
	padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof).
 */
input[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box; /* 2 */
	box-sizing: content-box;
}

/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Allow only vertical resizing.
 * 3. Improve readability and alignment in all browsers.
 */
textarea {
	overflow: auto; /* 1 */
	resize: vertical; /* 2 */
	vertical-align: top; /* 3 */
}

/** Remove most spacing between table cells. */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/** Set default color to more readable dark grey. */
html,
button,
input,
select,
textarea {
	color: #333;
}

/** A better looking default horizontal rule */
hr {
	display: block;
	height: 0;
	border: 0;
	border-top: thin solid;
	margin: 1em 0;
	padding: 0;
}

/** h5bp.com/i */
::-moz-selection {
	background: #bbb;
	text-shadow: none;
}

::selection {
	background: #bbb;
	text-shadow: none;
}

/** Image replacement */
.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
}

.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 100%;
}

/** Display waiting cursor. */
.wait {
	cursor: wait;
}

/** Hide from both screenreaders and browsers: h5bp.com/u */
.hide {
	display: none !important;
	visibility: hidden;
}

/** Hide only visually, but have it available for screenreaders: h5bp.com/v */
.mask {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/** h5bp.com/p */
.mask.focus:active,
.mask.focus:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

/** Hide visually and from screenreaders but maintain layout */
.ghost {
	visibility: hidden;
}

/** Contain floats
 * 
 * 1. The space content is one way to avoid an Opera bug when the `contenteditable` attribute is included anywhere else in the document. Otherwise it causes space to appear at the top and bottom of elements that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using `:before` to contain the top-margins of child elements.
 */
.cf:before,
.cf:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.cf:after {
	clear: both;
}

/** h5bp.com/r */
@media print {
	 /* h5bp.com/s */
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	
	a,
	a:visited {
		text-decoration: underline;
	}
	
	a[href]:after {
		content: " (" attr(href) ")";
	}
	
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	
	/** Don't show links for images, or javascript/internal links */
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	
	pre,
	blockquote {
		border: thin solid #999;
		page-break-inside: avoid;
	}
	
	/* h5bp.com/t */
	thead {
		display: table-header-group;
	}
	
	tr,
	img {
		page-break-inside: avoid;
	}
	
	img {
		max-width: 100% !important;
	}
	
	@page {
		margin: 0.5cm;
	}
	
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	
	h2,
	h3 {
		page-break-after: avoid;
	}
}