/* Apply a natural box layout model to all elements. */
#body-container *, #body-container *:after, #body-container *:before {
	box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
}

/* Corrects 'block' display not defined in IE6/7/8/9 & FF3. */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
    display: block;
}

/* Corrects 'inline-block' display not defined in IE6/7/8/9 & FF3. */
audio, canvas, video {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

/* Prevents modern browsers from displaying 'audio' without controls. Remove excess height in iOS5 devices. */
audio:not([controls]) {
	display: none;
	height: 0;
}

/* Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4. Known issue: no IE6 support. */
[hidden] {
    display: none;
}

/* 1. Corrects text resizing oddly in IE6/7 when body 'font-size' is set using 'em' units. */
/* 2. Prevents iOS text size adjust after orientation change, without disabling user zoom. */
html {
    font-size: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

/* Addresses 'font-family' inconsistency between 'textarea' and other form elements. */
html, button, input, select, textarea {
	font-family: sans-serif;
	outline: 0;
}

/* Addresses margins handled incorrectly in IE6/7. */
body {
	margin: 0;
}

/* Improves readability when focused and hovered in all browsers. */
a:active, a:focus, a:hover {
	outline: 0;
}

/* Addresses style set to 'bolder' in FF3+, S4/5, Chrome. */
b, strong {
    font-weight: bold;
}

blockquote {
	margin: 1em 40px;
}

/* Addresses styling not present in S5, Chrome. */
dfn {
	font-style: italic;
}

/* Corrects font family set oddly in IE6, S4/5, Chrome. */
code, kbd, pre, samp {
	font: 1em Menlo, Monaco, Consolas, 'Courier New', Monospace;
}

/* Improves readability of pre-formatted text in all browsers. */
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

/* Addresses CSS quotes not supported in IE6/7. */
q {
	quotes: none;
}

/* Addresses 'quotes' property not supported in S4. */
q:before, q:after {
	content: '';
	content: none;
}

small {
	font-size: 75%;
}

/* Prevents 'sub' and 'sup' affecting 'line-height' in all browsers. */
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Addresses margins set differently in IE6/7. */
dl, menu, ol, ul {
	margin: 1em 0;
}

dd {
	margin: 0 0 0 40px;
}

/* Addresses paddings set differently in IE6/7. */
menu, ol, ul {
	padding: 0 0 0 40px;
}

/* Corrects list images handled incorrectly in IE7. */
nav ol, nav ul {
	list-style: none;
	list-style-image: none;
}

/* 1. Removes border when inside 'a' element in IE6/7/8/9, FF3. */
/* 2. Improves image quality when scaled in IE7. */
img {
	border: 0;
	height: auto;
	max-width: 100%;
	-ms-interpolation-mode: bicubic;
	width: auto\9; /* Fixes weird IE8 bug. */
}

/* Corrects overflow displayed oddly in IE9. */
svg:not(:root) {
    overflow: hidden;
}

/* Addresses margin not present in IE6/7/8/9, S5, O11. */
figure {
	margin: 0;
}

/* Corrects margin displayed oddly in IE6/7. */
form {
    margin: 0;
}

/* Define consistent margin, and padding. */
fieldset {
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

/* 1. Corrects text not wrapping in FF3. */
/* 2. Corrects alignment displayed oddly in IE6/7. */
legend {
    border: 0;
    padding: 0;
    white-space: normal;
    *margin-left: -7px;
}

/* 1. Corrects font size not being inherited in all browsers. */
/* 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome. */
/* 3. Improves appearance and consistency in all browsers. */
button, input, select, textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
}

/* Addresses FF3/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. Corrects inability to style clickable 'input' types in iOS. */
/* 3. Improves usability and consistency of cursor style between image-type'input' and others. */
/* 4. Removes inner spacing in IE7 without affecting normal text inputs. */
button, html input[type="button"], input[type="reset"], input[type="submit"] {
	cursor: pointer;
	*overflow: visible;
	-webkit-appearance: button;
}

/* Re-set default cursor for disabled elements. */
button[disabled], input[disabled] {
	cursor: default;
}

/* 1. Addresses box sizing set to content-box in IE8/9. */
/* 2. Removes excess padding in IE8/9. */
/* 3. Removes excess padding in IE7. */
input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
	*height: 13px;
	margin: 0 2px 0;
	padding: 0;
	*width: 13px;
}

/* 1. Addresses 'appearance' set to 'searchfield' in S5, Chrome. */
/* 2. Addresses 'box-sizing' set to 'border-box' in S5, Chrome. */
input[type="search"] {
	box-sizing: content-box;
		-moz-box-sizing: content-box;
		-webkit-appearance: textfield;
		-webkit-box-sizing: content-box;
}

/* Removes inner padding and search cancel button in S5, Chrome on OS X. */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/* Removes inner padding and border in FF3+. */
button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/* 1. Removes default vertical scrollbar in IE6/7/8/9. */
/* 2. Improves readability and alignment in all browsers. */
textarea {
	overflow: auto;
	vertical-align: top;
}

/* Remove most spacing between table cells. */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Clear floats. */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
.clear { clear: both; display: block; height: 0; overflow: hidden; visibility: hidden; width: 0; }