/*
  ===============================================================================
  RESET DEFAULTS AND BROWSER STANDARDISATION
  ===============================================================================
*/

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, main, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, canvas {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* border box model */
*,
*:before,
*:after
{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

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

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

/* Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, and Safari 4.
   Known issue: no IE 6 support. */
[hidden] {display: none;}

/* force a vertical scrollbar to prevent a jumpy page, and text size adjust fix when changing page orientation */
html {overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}


/*
  ==========================
  images / objects
  ==========================
*/

/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems when using foreground images as sprites.
   If this default setting for images is causing issues replace with a .responsive class instead. */
img,
object,
embed {max-width: 100%;}

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

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


/*
  ==========================
  quotes
  ==========================
*/
blockquote, q {quotes: none;}

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

/*
  ==========================
  links
  ==========================
*/
* {-webkit-tap-highlight-color: rgba(0,0,0,0);}
a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; -webkit-tap-highlight-color: rgba(0,0,0,0);}
a:hover {outline: none;}
a:focus {outline: thin dotted;}

/*
  ==========================
  marked up copy
  ==========================
*/
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom: 1px dotted #333333; cursor: help;}

/*
  ==========================
  tables
  ==========================
*/
table {border-collapse: collapse; border-spacing: 0; font-size: inherit; font: 100%;}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}
td img {vertical-align: top;} 

/*
  ==========================
  forms
  ==========================
*/
button, input, select, textarea {font-size: 100%; margin: 0; vertical-align: baseline;-webkit-border-radius: 0;}
button, input {line-height: normal;}
button, input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button; *overflow: visible;}
textarea{resize:none;}

/* clickable elements */
.clickable,
label,
input[type="button"],
input[type="submit"],
button {cursor: pointer;}

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

/* mozilla input centering fix */
input::-moz-focus-inner,
button::-moz-focus-inner
{
border: 0;
padding: 0;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* removal of default glow colour to input fields */
input:focus,
textarea:focus,
select:focus,
button:focus
{
outline:none;
outline:0;
}

/* removal of webkit styling on search fields */
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {-webkit-appearance: none;}

/* removal of default invalid field shadow and glow on HTML5 form error */
:-moz-submit-invalid {box-shadow: none;}
:-moz-ui-invalid {box-shadow:none;}

/* removal of styling for number fields */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

input[type=number] {
  -moz-appearance:textfield;
}

/*
  ==========================
  pre copy
  ==========================
*/
pre {
white-space: pre; /* CSS2 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
word-wrap: break-word; /* IE */
}

/*
  ==========================
  character styles
  ==========================
*/
small {font-size: 85%;}
strong, b, th{font-weight: normal;} /* font embedding handles weight */


/*
  ==========================
  sub / superscript
  ==========================
*/
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/*
  ==========================
  monospaced elements
  ==========================
*/
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/*
  ==========================
  lightweight clearfix
  ==========================
*/
.cf:before,
.cf:after {
    content:"";
    display:table;
}

.cf:after {
    clear:both;
}

/*
  ==========================
  visibility options
  ==========================
*/
.hidden {display: none !important; visibility: hidden;}
.visuallyhidden {border: 0; clip: rect(0 0 0 0); height: 0; margin: 0; overflow: hidden; padding: 0; position: absolute; width: 0;}
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto;}
.invisible {visibility: hidden;}


/*
  ==========================
  css transition page load fix
  ==========================
*/
.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}