/* RESET ---------------------
   Based on Eric Meyers but with added elements. */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
input, textarea, select, button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}


/* IMPROVEMENTS ---------------------
   This is where we put general improvments we generally want in all
   new projects. It's primarily just hand picked things from stylesheets:
   normalize.css and HTML5 Boilerplate.


   NORMALIZE.CSS

   Let's start with the modified version of normalize.css. This version
   does not set any visual styles (headers, lists...) in any way - it just
   contains the general improvements they have. Call me old fashioned,
   but I still like stripping away all crap. Makes me build stuff faster.

   - Original normalize is found here: git.io/normalize.
   - Since it is distributed under MIT License, this document is too.
   - Based on Normalize v2.1.0.


  HTML5 BOILERPLATE
  The goal is the same as with the normalize.css section: don't set any heights,
  widths, paddings etc. Just improve usability.

  Original HTML5 Boilerplate: http://html5boilerplate.com/
  These thingies based on v4.1.0 */


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

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

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

/* Address styling not present in IE 8/9. */
[hidden] {
  display: none;
}

/* Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  box-sizing: border-box;
}

/* Address 'outline' inconsistency between Chrome and other browsers. */
a:focus {
  outline: 2px solid;
  outline-color: rgb(0, 0, 0);
  outline-color: rgba(0, 0, 0, 0.6);
}

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

/* Address styling not present in IE 8/9, Safari 5, and Chrome. */
abbr[title] {
  border-bottom: 1px dotted;
}

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

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

/* Address differences between Firefox and other browsers. */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

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

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

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

/* Set consistent quote types. */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

/* Correct font family not being inherited in all browsers. Correct font size not being inherited in all browsers. */
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  border: 1px solid #000;
  border-radius: 0;
  line-height: 1em;
}

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

/**
 * Address inconsistent 'text-transform' inheritance for 'button' and 'select'.
 * All other form control elements do not inherit 'text-transform' values.
 * Correct 'button' style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct 'select' style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native 'audio'
 *  and 'video' controls.
 * 2. Correct inability to style clickable 'input' types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  'input' and others.
 */
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

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

/**
 * 1. Address 'appearance' set to 'searchfield' in Safari 5 and Chrome.
 * 2. Address 'box-sizing' set to 'border-box' in Safari 5 and Chrome
 *  (include '-moz' to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

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

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

/**
 * Remove default vertical scrollbar in IE 8/9.
 * Improve readability and alignment in all browsers.
 * Allow only vertical resizing.
 */
textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
  max-width: 100%;
}

/* Remove text-shadow in selection highlight: h5bp.com/i. These selection declarations have to be separate. Customize the background color to match your design. */
::-moz-selection {
  text-shadow: none;
}

::selection {
  text-shadow: none;
}

/* Remove the gap between images and iframes and the bottom of their containers. */
iframe,
img {
  vertical-align: top;
}

/* Media shouldn't break the layout */
img,
video,
param,
object,
embed,
iframe {
  max-width: 100%;
}

img {
  height: auto; /* If the image width is resized, having this will ensure the height is resized in all browsers */
}

/*
   Setting box model to something easier to work with. Works in IE8 and above - if your site must work
   in IE7 and below you should remove this for better consistency.
 */
*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}