/*
  ===============================================================================
  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, hgroup, 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, figure, footer, header, hgroup, nav, section {display: block;}
audio, video, canvas {display: inline-block;}

/* 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%;}

/* 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%;}

/*
  ==========================
  quotes
  ==========================
*/
blockquote, q {quotes: none;}

blockquote:before, 
blockquote:after, 
q:before, 
q:after {content: ''; content: none;}

/*
  ==========================
  links
  ==========================
*/
a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent;}
a:hover {outline: none;}
a:focus, a:active {outline: dotted 1px #ffffff; background-color: #C9E6EB; color: #000000 !important;}

/*
  ==========================
  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;}
button, input {line-height: normal;}
button, input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button; *overflow: visible;}
textarea{resize:none;}

/* clickable elementsToSize */
.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 elementsToSize */
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 certain form 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;}

/*
  ==========================
  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: bold;}


/*
  ==========================
  sub / superscript
  ==========================
*/
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/*
  ==========================
  monospaced elementsToSize
  ==========================
*/
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: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;}
.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;
}