/* normalize-scss 3.0.0+normalize.3.0.1 | MIT/GPLv2 License | bit.ly/normalize-scss */


// Variables and Imports
//
// If you have a base partial (or equivalent), you should move these lines to
// that file. NOTE: Edit the lines to remove "!default".
// @see http://compass-style.org/help/tutorials/best_practices/
// =============================================================================

// These 3 variables are copies of ones used in Compass' Vertical Rhythm module.

  // The base font size.
  $base-font-size: 16px !default;

  // The base line height determines the basic unit of vertical rhythm.
  $base-line-height: 24px !default;

  // The length unit in which to output vertical rhythm values.
  // Supported values: px, em, rem.
  $rhythm-unit: 'em' !default;

// This variable is a copy of the one used in Compass' support module.

  // Optional map of minimum browser versions to support. For example, to
  // remove support for IE 7 and earlier, set $browser-minimum-versions['ie']
  // to '8'.
  $browser-minimum-versions: (
    'chrome':  null,
    'firefox': null,
    'ie':      null,
    'safari':  null,
    'opera':   null
  ) !default;


// Set this to true to force CSS output to exactly match normalize.css.
$strict-normalize: true !default;

// The default font family.
$base-font-family: sans-serif !default;

// The font sizes for h1-h6.
$h1-font-size: 2    * $base-font-size !default;
$h2-font-size: 1.5  * $base-font-size !default;
$h3-font-size: 1.17 * $base-font-size !default;
$h4-font-size: 1    * $base-font-size !default;
$h5-font-size: 0.83 * $base-font-size !default;
$h6-font-size: 0.67 * $base-font-size !default;

// The amount lists and blockquotes are indented.
$indent-amount: 40px !default;

// After the default variables are set, import the required Compass partials.
@import "compass/support";
@import "compass/css3/box-sizing";
@import "compass/typography/vertical_rhythm";


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

@if not $strict-normalize or support-legacy-browser(ie, "7") {
  /**
   * Establish a vertical rhythm unit using $base-font-size, $base-line-height,
   * and $rhythm-unit variables. Also, correct text resizing oddly in IE 6/7 when
   * body `font-size` is set using `em` units.
   */

  @include establish-baseline();
}

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: $base-font-family; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
  // Show a background image that can be used to debug your alignments.
  // @include debug-vertical-alignment();
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

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

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

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

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  @if support-legacy-browser(ie, "9") {
    display: inline-block; /* 1 */
    @if support-legacy-browser(ie, "7") {
      *display: inline;
      *zoom: 1;
    }
  }
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

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

@if support-legacy-browser(ie, "10") {
  /**
   * Address `[hidden]` styling not present in IE 8/9/10.
   */

  [hidden] {
    display: none;
  }
}

/**
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

template {
  display: none;
}

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

@if support-legacy-browser(ie, "10") {
  /**
   * Remove the gray background color from active links in IE 10.
   */

  a {
    background: transparent;
  }
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

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

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

@if not $strict-normalize or support-legacy-browser(ie, "7") {
  /**
   * Set 1 unit of vertical rhythm on the top and bottom margin.
   */

  blockquote {
    margin: rhythm(1) $indent-amount;
  }
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  /* Set the font-size and line-height while keeping a proper vertical rhythm. */
  @if not $strict-normalize or support-legacy-browser(ie, "7") {
    @include adjust-font-size-to( $h1-font-size );
  }
  @else {
    font-size: if($rhythm-unit == "px", $h1-font-size, ($h1-font-size / $base-font-size)#{$rhythm-unit});
  }

  /* Set 1 unit of vertical rhythm on the top and bottom margins. */
  @include leader(1, $h1-font-size);
  @include trailer(1, $h1-font-size);
}

@if not $strict-normalize or support-legacy-browser(ie, "7") {
  h2 {
    @include adjust-font-size-to( $h2-font-size );
    @include leader(1, $h2-font-size);
    @include trailer(1, $h2-font-size);
  }

  h3 {
    @include adjust-font-size-to( $h3-font-size );
    @include leader(1, $h3-font-size);
    @include trailer(1, $h3-font-size);
  }

  h4 {
    @include adjust-font-size-to( $h4-font-size );
    @include leader(1, $h4-font-size);
    @include trailer(1, $h4-font-size);
  }

  h5 {
    @include adjust-font-size-to( $h5-font-size );
    @include leader(1, $h5-font-size);
    @include trailer(1, $h5-font-size);
  }

  h6 {
    @include adjust-font-size-to( $h6-font-size );
    @include leader(1, $h6-font-size);
    @include trailer(1, $h6-font-size);
  }
}

@if support-legacy-browser(ie, "9") {
  /**
   * Address styling not present in IE 8/9.
   */

  mark {
    background: #ff0;
    color: #000;
  }
}

@if not $strict-normalize or support-legacy-browser(ie, "7") {
  /**
   * Set 1 unit of vertical rhythm on the top and bottom margin.
   */

  p,
  pre {
    margin: rhythm(1) 0;
  }
}

/**
 * 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;
}

@if not $strict-normalize or support-legacy-browser(ie, "7") {
  /* Lists
     ========================================================================== */

  /**
   * Address margins set differently in IE 6/7.
   */

  dl,
  menu,
  ol,
  ul {
    margin: rhythm(1) 0;
  }

  @if not $strict-normalize {
    ol,
    ul {
      ol,
      ul {
        margin: 0;
      }
    }
  }

  dd {
    margin: 0 0 0 $indent-amount;
  }

  /**
   * Address paddings set differently in IE 6/7.
   */

  menu,
  ol,
  ul {
    padding: 0 0 0 $indent-amount;
  }
}

@if support-legacy-browser(ie, "7") {
  /**
   * Correct list images handled incorrectly in IE 7.
   */

  nav ul,
  nav ol {
    list-style: none;
    list-style-image: none;
  }
}

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

@if support-legacy-browser(ie, "10") {
  /**
   * Remove border when inside `a` element in IE 8/9/10.
   */

  img {
    border: 0;
    @if support-legacy-browser(ie, "7") {
      /* Improve image quality when scaled in IE 7. */
      -ms-interpolation-mode: bicubic;
    }
  }
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

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

/* Grouping content
   ========================================================================== */

@if support-legacy-browser(ie, "9") or support-legacy-browser(safari, "5") {
  /**
   * Address margin not present in IE 8/9 and Safari.
   */

  figure {
    margin: rhythm(1) $indent-amount;
  }
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  @include box-sizing(content-box);
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  @if support-legacy-browser(ie, "6") {
    _font-family: 'courier new', monospace;
  }
  font-size: 1em;
}

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

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

@if support-legacy-browser(ie, "7") {
  /**
   * Correct margin displayed oddly in IE 6/7.
   */

  form {
    margin: 0;
  }
}

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Address `font-family` inconsistency between `textarea` and other form in IE 7
 * 5. Improve appearance and consistency with IE 6/7.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
  @if support-legacy-browser(ie, "7") {
    *font-family: $base-font-family; /* 4 */
    *vertical-align: middle; /* 5 */
  }
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * 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 Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

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.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
  @if support-legacy-browser(ie, "7") {
    *overflow: visible; /* 4 */
  }
}

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

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

/**
 * Remove inner padding and border in Firefox 4+.
 */

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

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

@if support-legacy-browser(ie, "10") {
  /**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   * 3. Remove excess padding in IE 7.
   *    Known issue: excess padding remains in IE 6.
   */

  input[type="checkbox"],
  input[type="radio"] {
    @include box-sizing(border-box); /* 1 */
    padding: 0; /* 2 */
    @if support-legacy-browser(ie, "7") {
      *height: 13px; /* 3 */
      *width: 13px; /* 3 */
    }
  }
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  @include box-sizing(content-box); /* 2 */

  /**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */

  &::-webkit-search-cancel-button,
  &::-webkit-search-decoration {
    -webkit-appearance: none;
  }
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  margin: 0 2px;
  /* Apply borders and padding that keep the vertical rhythm. */
  border-color: #c0c0c0;
  @include apply-side-rhythm-border(top,    $width: 1px, $lines: 0.35 );
  @include apply-side-rhythm-border(bottom, $width: 1px, $lines: 0.65 );
  @include apply-side-rhythm-border(left,   $width: 1px, $lines: 0.625);
  @include apply-side-rhythm-border(right,  $width: 1px, $lines: 0.625);
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */

legend {
  @if support-legacy-browser(ie, "11") {
    border: 0; /* 1 */
  }
  padding: 0; /* 2 */
  @if support-legacy-browser(ie, "7") {
    *margin-left: -7px; /* 3 */
  }
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

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

/**
 * Remove most spacing between table cells.
 */

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

td,
th {
  padding: 0;
}