
/* Normalize - Based on: http://necolas.github.com/normalize.css/ */

/* HTML5 DEFINITIONS */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
	/* Corrects 'block' display not defined in IE 8/9 */
	display: block;
}

audio, canvas, video {
	/* Corrects 'inline-block' display not defined in IE 8/9 */
	display: inline-block;
}

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

[hidden] {
	/* Addresses styling for 'hidden' attribute not present in IE 8/9 */
	display: none;
}

/* BASE */

html {
	/* Sets default font family to sans-serif */
	font-family: sans-serif;

	/* Prevents iOS text size adjust after orientation change, without disabling user zoom */
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;

	/* Prevent jumping 'body' due to (dis-)appearing scrollbar in all non-IE browsers */
	overflow-y: scroll;
}

body {
	/* Removes default margin */
	margin: 0;
}

/* LINKS */

a, a:hover, a:focus, a:active {
	/* Force pointer cursor, even when anchors don't have an href attribute */
	cursor: pointer;
}

a:focus {
	/* Addresses 'outline' inconsistency between Chrome and other browsers */
	outline: thin dotted;
}

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

/* TYPOGRAPHY */

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

h1, h2, h3, h4, h5, h6 {
	/* Normalizes margins in Chrome (and other browsers?) */
	margin: 1em 0;
}

h1 {
	/* Normalizes font size in Chrome (and other browsers?) */
	font-size: 200%;
}

h2 {
	/* Normalizes font size in Chrome (and other browsers?) */
	font-size: 150%;
}

h3 {
	/* Normalizes font size in Chrome (and other browsers?) */
	font-size: 125%;
}

h4 {
	/* Normalizes font size in Chrome (and other browsers?) */
	font-size: 110%;
}

h5 {
	/* Normalizes font size in Chrome (and other browsers?) */
	font-size: 105%;
}

h6 {
	/* Normalizes font size in Chrome (and other browsers?) */
	font-size: 100%;
}

abbr[title], dfn[title] {
	/* Addresses styling not present in IE 8/9, Safari 5, and Chrome */
	border-bottom: 1px dotted;
	/* Addresses cursor not set in IE 8/9, Firefox */
	cursor: help;
}

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

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

mark {
	/* Addresses styling not present in IE 8/9 */
	background: #ff0;
	color: #000;
}

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

pre {
	/* Improves readability of pre-formatted text in all browsers */
	white-space: pre;
	white-space: pre-wrap; /* Preserves tabs & spaces */
	/*white-space: pre-line;*/ /* Does not preserve tabs & spaces */
	word-wrap: break-word;
}

small {
	/* Addresses inconsistent and variable font size in all browsers */
	font-size: 80%;
}

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

sup {
	/* ... continued */
	top: -.5em;
}

sub {
	/* ... continued */
	bottom: -.25em;
}

del {
	/* Addresses styling not present in (?) */
	text-decoration: line-through;
}

header > h1, header > h2, header > h3, header > h4, header > h5, header > h6 {
	margin: 0;
}

/* VIEWPORT-SIZED FONT SIZES */

/*
NOTE: POOR BROWSER SUPPORT? NEEDS TESTING!
html {
	font-size: 2.1vw;
}
*/

/* QUOTES (MULTI-LANGUAGE) */

q, :lang(en) q { quotes: '\201C' '\201D' '\2018' '\2019'; }
:lang(af) q, :lang(nl) q, :lang(pl) q { quotes: '\201E' '\201D' '\201A' '\2019'; }
:lang(bg) q, :lang(cs) q, :lang(de) q, :lang(is) q, :lang(lt) q, :lang(ro) q, :lang(sk) q, :lang(sr) q { quotes: '\201E' '\201C' '\201A' '\2018'; }
:lang(da) q, :lang(hr) q { quotes: '\00BB' '\00AB' '\203A' '\2039'; }
:lang(en-GB) q { quotes: '\2018' '\2019' '\201C' '\201D'; }
:lang(es) q, :lang(sq) q, :lang(tr) q { quotes: '\00AB' '\00BB' '\2039' '\203A'; }
:lang(fi) q, :lang(sv) q { quotes: '\201D' '\201D' '\2019' '\2019'; }
:lang(fr) q { quotes: '\ab\2005' '\2005\bb' '\2039\2005' '\2005\203a'; }
:lang(ru) { quotes: '\00AB' '\00BB' '\201E' '\201C'; }

/* EMBEDDED CONTENT */

img {
	/* Removes border when inside 'a' element in IE 8/9 */
	border: 0;

	/* Remove the gap between images and the bottom of their containers: h5bp.com/i/440 */
	vertical-align: middle;

	/* Prevents high-res images from being too big */
	max-width: 100%;
	height: auto;
}

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

iframe {
	border: none;
}

/* FIGURES */

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

/* FORMS */

fieldset {
	/* Resets inconsistent borders, margin and padding across browsers */
	border: none;
	margin: 0;
	padding: 0;
}

legend {
	/* Corrects color not being inherited in IE 8/9 */
	border: 0;
}

legend {
	/* Remove padding so people aren't caught out if they zero out fieldsets */
	padding: 0;
}

button, input, select, textarea {
	/* Corrects font family not being inherited in all browsers */
	font-family: inherit;
	
	/* Corrects font size not being inherited in all browsers */
	font-size: 100%;
	
	/* Addresses margins set differently in Firefox 4+, Safari 5, and Chrome */
	margin: 0;

	/* Addresses paddings set differently across browsers */
	padding: 0;
}

select option:first-child[disabled] {
	/* Prevents a disabled item from being visible in the dropdown list. Use for "Choose..." with value="0" and selected as first option */
	display: none;
}

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

button, html input[type="button"], input[type="reset"], input[type="submit"] {
	/* Corrects inability to style clickable 'input' types in IOS */
	/* NOTE: use html selector with input[type=button] or Android 4.0.* destroys native 'audio' and 'video' controls using this! */
	-webkit-appearance: button;
}

label, button, input[type=button], input[type="reset"], input[type="submit"], input[type="color"], input[type="range"], select, input[type="checkbox"], input[type="radio"] {
	/* Improves usability and consistency of cursor style between image-type 'input' and others */
	cursor: pointer;
}

button[disabled], input[disabled] {
	/* Re-set default cursor for disabled elements */
	cursor: default;
}

input[type="checkbox"], input[type="radio"] {
	/* Addresses box sizing set to 'content-box' in IE 8/9 */
	box-sizing: border-box;

	/* Removes excess padding in IE 8/9 */
	padding: 0;
}

input[type="text"], input[type="number"], input[type="password"], input[type="search"], textarea, select {
	/* Addresses 'box-sizing' set to 'content-box' in most browsers */
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}

input[type="search"] {
	/* Addresses 'appearance' set to 'searchfield' in Safari 5 and Chrome */
	-webkit-appearance: textfield;
}

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

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

textarea {
	/* Removes default vertical scrollbar in IE 8/9 */
	overflow: auto;
	
	/* Improves readability and alignment in all browsers */
	vertical-align: top;

	/* Allow only vertical resizing of textareas */
	resize: vertical;
	
	/* Minimal height */
	min-height: 7em;
}

/* TABLES */

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

/* RULERS */

hr {
	/* Addresses display inconsistencies across all browsers */
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/* LISTS */

ul, ol, menu, dir {
	/* Reset default list styles */
	margin: 0;
	padding: 0 0 0 2.5em;
}

menu, dir {
	/* Reset default list styles */
	padding-left: 1.5em;
}

nav {
	width: 100%;
}

nav ul {
	/* Clear the list type from unordered lists in 'nav' elements for navigational menu's */
	list-style: none;

	/* Clear default styling in Chrome and (?) */
	margin: 0;
	padding: 0;
}

nav li a, nav li span {
	/* Let 'a' and 'span' elements stretch across the 'li' element in navigational menu's */
	display: block;
	
	/* Set text cursor to default pointer */
	cursor: pointer;
}

/* AUTO-CLEARFIX CERTAIN ELEMENTS */

.clearfix:before, .clearfix:after, article:before, article:after, aside:before, aside:after, header:before, header:after, footer:before, footer:after, section:before, section:after, .toolbar:before, .toolbar:after, ul:before, ul:after, ol:before, ol:after, li:after, form:before, form:after {
	/* Clearfix helper used to contain floats - UPDATED: 'display: table' allows empty content to work */
	content: '';
	display: table;
}

.clearfix:after, article:after, aside:after, header:after, footer:after, section:after, .toolbar:after, ul:after, ol:after, li:after, form:after {
	/* ... continued Clearfix helper */
	clear: both;
}

/* INLINE-BLOCK SPACING FIX */

.inline-blockfix {
	/* Remove spacing between items with 'display: inline-block' in all browsers. Modern browsers simply use 'display: table', the rest is for IE */
	display: table;
	font-size: 2%; /* IE: Reset font size */
}

.inline-blockfix > * {
	/* ... and reset it again for the direct children */
	font-size: 4940%;
	zoom: 1;
	*display: inline;
}

/* TEMPLATES */

template {
	/* For older browsers. The content is still fetched, however... */
	display: none;
}

/* HELPER CLASSES */

textarea[contenteditable] {
	/* Hack for HTML5 contenteditable attribute on mobile */
	-webkit-appearance: none;
}

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

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

.visually-hidden.focusable:active, .visually-hidden.focusable:focus {
	/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

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

.hide-text {
	/* Hide text. Better then 'text-ident:-9999px', see: http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/ */
	text-indent: 150%;
	white-space: nowrap;
	overflow: hidden;
}

a.button, a.tab {
	/* for anchor buttons etc */
	text-decoration: none;
}

a.button.disabled, a.tab.disabled {
	/* for anchor buttons etc */
	cursor: default;
}

.float-left {
	float: left;
}

.float-right {
	float: right;
}

.clear-left {
	clear: left;
}

.clear-right {
	clear: right;
}

.full-width {
	width: 100%;
	height: auto;
}

.full-height {
	height: 100%;
	width: auto;
}

.no-focus a:focus {
	outline: 0 !important;
}

.fix-top {
	position: fixed;
	left: 0;
	top: 0;
}

.fix-bottom {
	position: fixed;
	left: 0;
	bottom: 0;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

nav ul, ul.flat, ol.flat {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* These two need JS trickery for IE8 */
.background-cover {
	background-size: cover;
}

.background-contain {
	background-size: contain;
}

/* Friendly link colors */
a, a:link, a:active {
	color: #3771c8;
}

a:hover, a:focus {
	color: #42d3ef;
}

a:visited {
	color: #ef5d42;
}

/* Reset default content spacing */
address, audio, blockquote, canvas, dd, dir, dl, fieldset, figcaption, figure, h1, h2, h3, h4, h5, h6, hr, menu, ol, output, p, pre, table, tfoot, ul, video {
	margin: 0 0 1em;
}

adress:last-child, audio:last-child, blockquote:last-child, canvas:last-child, dd:last-child, dir:last-child, dl:last-child, fielset:last-child, figcaption:last-child, figure:last-child, h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, hr:last-child, menu:last-child, ol:last-child, output:last-child, p:last-child, pre:last-child, table:last-child, tfoot:last-child, ul:last-child, video:last-child {
	margin: 0;
}



