/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 *
 * Detailed information about this CSS: h5bp.com/css
 *
 * ==|== normalize ==========================================================
 */

/* =============================================================================
   HTML5 display definitions
   ========================================================================== */

article
, aside
, details
, di
, figcaption
, figure
, footer
, header
, hgroup
, nav
, section
, summary
{
	display: block;
}

audio
, canvas
, video
{
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

audio:not([controls])
{
	display: none;
}

[hidden]
{
	display: none;
}

/* =============================================================================
   Base
   ========================================================================== */

/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; /* https://bugzilla.mozilla.org/show_bug.cgi?id=243412 */
	box-sizing: border-box;
}

html
{
	font-size: 62.5%;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	overflow-y: scroll;
}

html
, button
, input
, select
, textarea
{
	font-family: sans-serif;
	color: #222;
}

html
, body
{
	height:100%;
	min-height: 100%;
}

body
{
	font-family: "Cambria, Georgia, Times, " Times New Roman;
	color: rgb(10, 10, 10); /* black */
	line-height: 1.4;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	background-color: transparent;
	/*text-align: center;*/
}

code.informal
/*, a > *
, a:hover > *
, a:visited > *
, a:active > * */
{
	font-family: inherit;
	/*color: inherit;*/
}

.content
, [role="main"] .options
, .explore
{
	zoom: 1; /* Clearfix */
	width:90%;
	max-width: 87.75em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

body > .content
, .content > .content
{
	width: 100%;
	max-width: 100%;
}

/* Clearfix */
.content:before
, .content:after
, [role="main"] .options:before
, [role="main"] .options:after
, .explore:before
, .explore:after
{
	content: "";
	display: table;
}

.content:after
, [role="main"] .options:after
, .explore:after
{
	clear: both;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate
 * Also: highlighter yellow! (or customize the background color to match your design)
 */

::selection { background-color: #fffbcc; color: #000; text-shadow: none; }


/* =============================================================================
   Links
   ========================================================================== */

a
/*, a > **/
{
	color: #00e;
}

a:visited
/*, a:visited > **/
{
	color: #551a8b;
}

a:hover
/*, a:hover > **/
{
	color: #06e;
}

a:focus
/*, a:focus > **/
{
	outline: thin dotted;
}

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


/* =============================================================================
   Typography
   ========================================================================== */

abbr[title]
{
	border-bottom: 1px dotted;
}

b
, strong
, dt
{
	font-weight: bold;
}

blockquote
{
	margin: 1em 40px;
}

dfn
{
	font-style: italic;
}

hr
{
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

ins
{
	background: #ff9;
	color: #000;
	text-decoration: none;
}

mark
{
	background: #ff0;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

p
, ol
, ul
, dl
, address
, table
, figure
, nav
, img
, aside
{
	margin: 0 auto 1.5em;
}

p
, ol
, ul
, dl
, address
{
	max-width: 39em;
}

/* Redeclare monospace font family: h5bp.com/j */
pre
, code
, kbd
, samp
{
	font-family: monospace, serif;
	_font-family: 'courier new', monospace;
	font-size: 1em;
}

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

q
{
	quotes: none;
}

q:before
, q:after
{
	content: "";
	content: none;
}

small
{
	font-size: 85%;
}

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub
, sup
{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup
{
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

/*
	OOCSS-style Headings, modified to enforce semantic markup and support ARIA levels
	aria-level=* on any element = margin-bottom same as corresponding level
	aria-level=* + role=heading = margin-bottom and font-size same as corresponding level
*/

/* This goes first to cover aria-levels beyond 6 */
[aria-level]
, h5
, [aria-level="5"]
, h6
, [aria-level="6"]
/*, [role="heading"][aria-level="4"] > :first-child ~ :not(.sub):not(:last-child)*/
{
   margin-bottom: 1.5em;
}

h1
, [aria-level="1"]
, [role="heading"][aria-level="1"] > :first-child
{
	font-size: 48px;
	font-size: 4.8rem;
	line-height: 1.2;
}

h1
, [aria-level="1"]
{
	margin-bottom: 0.75em;
}

h2
, [aria-level="2"]
, [role="heading"][aria-level="2"] > :first-child
, [role="heading"][aria-level="1"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 1.2;
}

h2
, [aria-level="2"]
/*, [role="heading"][aria-level="1"] > :first-child ~ :not(.sub):not(:last-child)*/
{
	margin-bottom: 0.75em;
}

h3
, [aria-level="3"]
, [role="heading"][aria-level="3"] > :first-child
, [role="heading"][aria-level="2"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.3;
}

h3
/*, .no-js hgroup)*/
, [aria-level="3"]
/*, [role="heading"][aria-level="2"] > :first-child ~ :not(.sub):not(:last-child)*/
{
	margin-bottom: 1em;
}

h4
, [aria-level="4"]
, [role="heading"][aria-level="4"] > :first-child
, [role="heading"][aria-level="3"] > :first-child ~ */*:not(.sub)*/
, .no-js hgroup/*:not(aria-level)*/ > :first-child ~ *
{
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.25;
}

h4
, [aria-level="4"]
/*, [role="heading"][aria-level="3"] > :first-child ~ :not(.sub):not(:last-child)*/
{
	margin-bottom: 1em;
}
	
h5
, [aria-level="5"]
, [role="heading"][aria-level="5"] > :first-child
, [role="heading"][aria-level="4"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 16px;
	font-size: 1.6rem;
}

h6
, [aria-level="6"]
, [role="heading"][aria-level="6"] > :first-child
, [role="heading"][aria-level="5"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 16px;
	font-size: 1.6rem;
}

hgroup > */*:not(.sub)*/
{
	margin: 0;
}

hgroup abbr[title]
{
	border-bottom: none;
}

/* =============================================================================
   Lists
   ========================================================================== */

ul
, ol
{
	margin: 0 auto;
	margin-bottom: 1em;
	padding: 0;
	/*list-style: none;*/
	list-style-image: none;
}

dd
{
	margin: 0 0 1em 40px;
}

nav > ul
, nav > ol
, nav > dl
{
	margin: 0 auto;
	padding: 0;
}

nav ul ul
, nav ol ol
, nav ul ol
, nav ol ul
{
	padding-left: 40px;
}

nav:not(.toc) li
, nav:not(.toc) di
{
	display: inline-block;
}

/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
 */

img
{
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
}

/*
 * Correct overflow not hidden in IE9
 */

svg:not(:root)
{
	overflow: hidden;
}

/* Responsive */
img
, figure
, svg
, canvas
, video
, audio
, object
, embed
{
	max-width: 100%;
}

/* =============================================================================
   Figures & Images
   ========================================================================== */

figure
{
	/*margin: 0;*/
}

/* =============================================================================
   Forms
   ========================================================================== */

form
{
	margin: 0;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/* Indicate that 'label' will shift focus to the associated form element */
label
, summary
{
	cursor: pointer;
}

/*
 * 1. Correct color not inheriting in IE6/7/8/9
 * 2. Correct alignment displayed oddly in IE6/7
 */

legend
{
	border: 0;
	*margin-left: -7px;
	padding: 0;
	white-space: normal;
}

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button
, input
, select
, textarea
{
	font-size: 100%;
	margin: 0;
	vertical-align: baseline;
	*vertical-align: middle;
}

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 */

button
, input
{
	line-height: normal;
}

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
 */

button
, input[type="button"]
, input[type="reset"]
, input[type="submit"]
{
	cursor: pointer;
	appearance: button;
	*overflow: visible;
}

/*
 * Re-set default cursor for disabled elements
 */

button[disabled]
, input[disabled]
{
	cursor: default;
}

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"]
, input[type="radio"]
{
	padding: 0;
	*width: 13px;
	*height: 13px;
}

input[type="search"]
{
	appearance: textfield;
}

input[type="search"]::-webkit-search-decoration
, input[type="search"]::-webkit-search-cancel-button
{
	-webkit-appearance: none;
}

/*
 * Remove inner padding and border in FF3/4: h5bp.com/l
 */

button::-moz-focus-inner
, input::-moz-focus-inner
{
	border: 0;
	padding: 0;
}

/*
 * 1. Remove default vertical scrollbar in IE6/7/8/9
 * 2. Allow only vertical resizing
 */

textarea
{
	overflow: auto;
	vertical-align: top;
	resize: vertical;
}

/* Colors for form validity */
input:valid
, textarea:valid
{}

input:invalid
, textarea:invalid
{
	background-color: #f0dddd;
}

/* =============================================================================
   Tables
   ========================================================================== */

table
{
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
}

td
{
	vertical-align: top;
}

/* =============================================================================
   Chrome Frame Prompt
   ========================================================================== */

.chromeframe
{
	margin: 0.2em 0;
	background: #ccc;
	color: rgb(10, 10, 10); /* black */
	padding: 0.2em 0;
}

/* RESET AT LOWER LEVEL */

.reset article
, .reset aside
, .reset details
, .reset di
, .reset figcaption
, .reset figure
, .reset footer
, .reset header
, .reset hgroup
, .reset nav
, .reset section
, .reset summary
{
	display: block;
}

.reset audio
, .reset canvas
, .reset video
{
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

.reset audio:not([controls])
{
	display: none;
}

.reset [hidden]
{
	display: none;
}

/* =============================================================================
   Base
   ========================================================================== */

/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */

.reset * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; /* https://bugzilla.mozilla.org/show_bug.cgi?id=243412 */
	box-sizing: border-box;
}

html
, .reset button
, .reset input
, .reset select
, .reset textarea
{
	font-family: sans-serif;
	color: #222;
}
.reset code.informal
/*, a > *
, a:hover > *
, a:visited > *
, a:active > * */
{
	font-family: inherit;
	/*color: inherit;*/
}

.content.reset 
, .reset [role="main"] .options
, .reset .explore
{
	zoom: 1; /* Clearfix */
	width:90%;
	max-width: 87.75em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* =============================================================================
   Links
   ========================================================================== */

.reset a
/*, a > **/
{
	color: #00e;
}

.reset a:visited
/*, a:visited > **/
{
	color: #551a8b;
}

.reset a:hover
/*, a:hover > **/
{
	color: #06e;
}

.reset a:focus
/*, a:focus > **/
{
	outline: thin dotted;
}

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


/* =============================================================================
   Typography
   ========================================================================== */

.reset abbr[title]
{
	border-bottom: 1px dotted;
}

.reset b
, .reset strong
, .reset dt
{
	font-weight: bold;
}

.reset blockquote
{
	margin: 1em 40px;
}

.reset dfn
{
	font-style: italic;
}

.reset hr
{
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

.reset ins
{
	background: #ff9;
	color: #000;
	text-decoration: none;
}

.reset mark
{
	background: #ff0;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

.reset p
, .reset ol
, .reset ul
, .reset dl
, .reset address
, .reset table
, .reset figure
, .reset nav
, .reset img
, .reset aside
{
	margin: 0 auto 1.5em;
}

.reset p
, .reset ol
, .reset ul
, .reset dl
, .reset address
{
	max-width: 39em;
}

/* Redeclare monospace font family: h5bp.com/j */
.reset pre
, .reset code
, .reset kbd
, .reset samp
{
	font-family: monospace, serif;
	_font-family: 'courier new', monospace;
	font-size: 1em;
}

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

.reset q
{
	quotes: none;
}

.reset q:before
, .reset q:after
{
	content: "";
	content: none;
}

.reset small
{
	font-size: 85%;
}

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
.reset sub
, .reset sup
{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

.reset sup
{
	top: -0.5em;
}

.reset sub {
	bottom: -0.25em;
}

/*
	OOCSS-style Headings, modified to enforce semantic markup and support ARIA levels
	aria-level=* on any element = margin-bottom same as corresponding level
	aria-level=* + role=heading = margin-bottom and font-size same as corresponding level
*/

/* This goes first to cover aria-levels beyond 6 */
.reset [aria-level]
, .reset h5
, .reset [aria-level="5"]
, .reset h6
, .reset [aria-level="6"]
/*, [role="heading"][aria-level="4"] > :first-child ~ :not(.sub):not(:last-child)*/
{
   margin-bottom: 1.5em;
}

.reset h1
, .reset [aria-level="1"]
, .reset [role="heading"][aria-level="1"] > :first-child
{
	font-size: 48px;
	font-size: 4.8rem;
	line-height: 1.2;
}

.reset h1
, [aria-level="1"]
{
	margin-bottom: 0.75em;
}

.reset h2
, .reset [aria-level="2"]
, .reset [role="heading"][aria-level="2"] > :first-child
, .reset [role="heading"][aria-level="1"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 1.2;
}

.reset h2
, .reset [aria-level="2"]
/*, [role="heading"][aria-level="1"] > :first-child ~ :not(.sub):not(:last-child)*/
{
	margin-bottom: 0.75em;
}

.reset h3
, .reset [aria-level="3"]
, .reset [role="heading"][aria-level="3"] > :first-child
, .reset [role="heading"][aria-level="2"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.3;
}

.reset h3
/*, .no-js hgroup)*/
, .reset [aria-level="3"]
/*, [role="heading"][aria-level="2"] > :first-child ~ :not(.sub):not(:last-child)*/
{
	margin-bottom: 1em;
}

.reset h4
, .reset [aria-level="4"]
, .reset [role="heading"][aria-level="4"] > :first-child
, .reset [role="heading"][aria-level="3"] > :first-child ~ */*:not(.sub)*/
, .reset .no-js hgroup/*:not(aria-level)*/ > :first-child ~ *
{
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.25;
}

.reset h4
, .reset [aria-level="4"]
/*, [role="heading"][aria-level="3"] > :first-child ~ :not(.sub):not(:last-child)*/
{
	margin-bottom: 1em;
}
	
.reset h5
, .reset [aria-level="5"]
, .reset [role="heading"][aria-level="5"] > :first-child
, .reset [role="heading"][aria-level="4"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 16px;
	font-size: 1.6rem;
}

.reset h6
, .reset [aria-level="6"]
, .reset [role="heading"][aria-level="6"] > :first-child
, .reset [role="heading"][aria-level="5"] > :first-child ~ */*:not(.sub)*/
{
	font-size: 16px;
	font-size: 1.6rem;
}

.reset hgroup > */*:not(.sub)*/
{
	margin: 0;
}

.reset hgroup abbr[title]
{
	border-bottom: none;
}

/* =============================================================================
   Lists
   ========================================================================== */

.reset ul
, .reset ol
{
	margin: 0 auto;
	margin-bottom: 1em;
	padding: 0;
	/*list-style: none;*/
	list-style-image: none;
}

.reset dd
{
	margin: 0 0 1em 40px;
}

.reset nav > ul
, .reset nav > ol
, .reset nav > dl
{
	margin: 0 auto;
	padding: 0;
}

.reset nav ul ul
, .reset nav ol ol
, .reset nav ul ol
, .reset nav ol ul
{
	padding-left: 40px;
}

.reset nav:not(.toc) li
, .reset nav:not(.toc) di
{
	display: inline-block;
}

/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
 */

.reset img
{
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
}

/*
 * Correct overflow not hidden in IE9
 */

.reset svg:not(:root)
{
	overflow: hidden;
}

/* Responsive */
.reset img
, .reset figure
, .reset svg
, .reset canvas
, .reset video
, .reset audio
, .reset object
, .reset embed
{
	max-width: 100%;
}

/* =============================================================================
   Figures & Images
   ========================================================================== */

.reset figure
{
	/*margin: 0;*/
}

/* =============================================================================
   Forms
   ========================================================================== */

.reset form
{
	margin: 0;
}

.reset fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/* Indicate that 'label' will shift focus to the associated form element */
.reset label
, .reset summary
{
	cursor: pointer;
}

/*
 * 1. Correct color not inheriting in IE6/7/8/9
 * 2. Correct alignment displayed oddly in IE6/7
 */

.reset legend
{
	border: 0;
	*margin-left: -7px;
	padding: 0;
	white-space: normal;
}

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

.reset button
, .reset input
, .reset select
, .reset textarea
{
	font-size: 100%;
	margin: 0;
	vertical-align: baseline;
	*vertical-align: middle;
}

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 */

.reset button
, .reset input
{
	line-height: normal;
}

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
 */

.reset button
, .reset input[type="button"]
, .reset input[type="reset"]
, .reset input[type="submit"]
{
	cursor: pointer;
	appearance: button;
	*overflow: visible;
}

/*
 * Re-set default cursor for disabled elements
 */

.reset button[disabled]
, .reset input[disabled]
{
	cursor: default;
}

/*
 * Consistent box sizing and appearance
 */

.reset input[type="checkbox"]
, .reset input[type="radio"]
{
	padding: 0;
	*width: 13px;
	*height: 13px;
}

.reset input[type="search"]
{
	appearance: textfield;
}

.reset input[type="search"]::-webkit-search-decoration
, .reset input[type="search"]::-webkit-search-cancel-button
{
	-webkit-appearance: none;
}

/*
 * Remove inner padding and border in FF3/4: h5bp.com/l
 */

.reset button::-moz-focus-inner
, .reset input::-moz-focus-inner
{
	border: 0;
	padding: 0;
}

/*
 * 1. Remove default vertical scrollbar in IE6/7/8/9
 * 2. Allow only vertical resizing
 */

.reset textarea
{
	overflow: auto;
	vertical-align: top;
	resize: vertical;
}

/* Colors for form validity */
.reset input:valid
, .reset textarea:valid
{}

.reset input:invalid
, .reset textarea:invalid
{
	background-color: #f0dddd;
}

/* =============================================================================
   Tables
   ========================================================================== */

.reset table
{
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
}

.reset td
{
	vertical-align: top;
}

/* =============================================================================
   Chrome Frame Prompt
   ========================================================================== */

.reset .chromeframe
{
	margin: 0.2em 0;
	background: #ccc;
	color: rgb(10, 10, 10); /* black */
	padding: 0.2em 0;
}