
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;/* 2 */
}

/**
 * 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, menu, 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 {
  display: inline-block;
  /* 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;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden], template {
 display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */

a { background-color: 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; }

/**
 * 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 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * 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; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img { border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) { overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure { margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  -moz-box-sizing: content-box;
  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;
  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.
 */
/**
 * 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.
 */

button, input, optgroup, select, textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;/* 3 */
}

/**
 * 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.
 */

button, html input[type="button"], 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; }

/**
 * 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; }

/**
 * 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.
 */

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;/* 2 */
}

/**
 * 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 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * 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).
 */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
 -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 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.
 */

legend {
  border: 0;
  /* 1 */
  padding: 0;/* 2 */
}

/**
 * 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; }

/*
==============================================
CSS3 ANIMATION CHEAT SHEET
==============================================

Made by Justin Aguilar

www.justinaguilar.com/animations/

Questions, comments, concerns, love letters:
justin@justinaguilar.com
==============================================
*/
/*
==============================================
slideDown
==============================================
*/

.slideDown {
  animation-name: slideDown;
  -webkit-animation-name: slideDown;
  animation-duration: 1s;
  -webkit-animation-duration: 1s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  visibility: visible !important;
}
 @keyframes 
slideDown {  0% {
 transform: translateY(-100%);
}
 50% {
 transform: translateY(8%);
}
 65% {
 transform: translateY(-4%);
}
 80% {
 transform: translateY(4%);
}
 95% {
 transform: translateY(-2%);
}
 100% {
 transform: translateY(0%);
}
}
@-webkit-keyframes 
slideDown {  0% {
 -webkit-transform: translateY(-100%);
}
 50% {
 -webkit-transform: translateY(8%);
}
 65% {
 -webkit-transform: translateY(-4%);
}
 80% {
 -webkit-transform: translateY(4%);
}
 95% {
 -webkit-transform: translateY(-2%);
}
 100% {
 -webkit-transform: translateY(0%);
}
}

/*
==============================================
slideUp
==============================================
*/

.slideUp {
  animation-name: slideUp;
  -webkit-animation-name: slideUp;
  animation-duration: 1s;
  -webkit-animation-duration: 1s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  visibility: visible !important;
}
 @keyframes 
slideUp {  0% {
 transform: translateY(100%);
}
 50% {
 transform: translateY(-8%);
}
 65% {
 transform: translateY(4%);
}
 80% {
 transform: translateY(-4%);
}
 95% {
 transform: translateY(2%);
}
 100% {
 transform: translateY(0%);
}
}
@-webkit-keyframes 
slideUp {  0% {
 -webkit-transform: translateY(100%);
}
 50% {
 -webkit-transform: translateY(-8%);
}
 65% {
 -webkit-transform: translateY(4%);
}
 80% {
 -webkit-transform: translateY(-4%);
}
 95% {
 -webkit-transform: translateY(2%);
}
 100% {
 -webkit-transform: translateY(0%);
}
}

/*
==============================================
slideLeft
==============================================
*/

.slideLeft {
  animation-name: slideLeft;
  -webkit-animation-name: slideLeft;
  animation-duration: 1s;
  -webkit-animation-duration: 1s;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out;
  visibility: visible !important;
}
 @keyframes 
slideLeft {  0% {
 transform: translateX(150%);
}
 50% {
 ransform: translateX(-8%);
}
 65% {
 transform: translateX(4%);
}
 80% {
 transform: translateX(-4%);
}
 95% {
 transform: translateX(2%);
}
 100% {
 transform: translateX(0%);
}
}
@-webkit-keyframes 
slideLeft {  0% {
 -webkit-transform: translateX(150%);
}
 50% {
 -webkit-transform: translateX(-8%);
}
 65% {
 -webkit-transform: translateX(4%);
}
 80% {
 -webkit-transform: translateX(-4%);
}
 95% {
 -webkit-transform: translateX(2%);
}
 100% {
 -webkit-transform: translateX(0%);
}
}

/*
==============================================
slideRight
==============================================
*/

.slideRight {
  animation-name: slideRight;
  -webkit-animation-name: slideRight;
  animation-duration: 1s;
  -webkit-animation-duration: 1s;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out;
  visibility: visible !important;
}
 @keyframes 
slideRight {  0% {
 transform: translateX(-150%);
}
 50% {
 transform: translateX(8%);
}
 65% {
 transform: translateX(-4%);
}
 80% {
 transform: translateX(4%);
}
 95% {
 transform: translateX(-2%);
}
 100% {
 transform: translateX(0%);
}
}
@-webkit-keyframes 
slideRight {  0% {
 -webkit-transform: translateX(-150%);
}
 50% {
 -webkit-transform: translateX(8%);
}
 65% {
 -webkit-transform: translateX(-4%);
}
 80% {
 -webkit-transform: translateX(4%);
}
 95% {
 -webkit-transform: translateX(-2%);
}
 100% {
 -webkit-transform: translateX(0%);
}
}

/*
==============================================
slideExpandUp
==============================================
*/

.slideExpandUp {
  animation-name: slideExpandUp;
  -webkit-animation-name: slideExpandUp;
  animation-duration: 1.6s;
  -webkit-animation-duration: 1.6s;
  animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease -out;
  visibility: visible !important;
}
 @keyframes 
slideExpandUp {  0% {
 transform: translateY(100%) scaleX(0.5);
}
 30% {
 transform: translateY(-8%) scaleX(0.5);
}
 40% {
 transform: translateY(2%) scaleX(0.5);
}
 50% {
 transform: translateY(0%) scaleX(1.1);
}
 60% {
 transform: translateY(0%) scaleX(0.9);
}
 70% {
 transform: translateY(0%) scaleX(1.05);
}
 80% {
 transform: translateY(0%) scaleX(0.95);
}
 90% {
 transform: translateY(0%) scaleX(1.02);
}
 100% {
 transform: translateY(0%) scaleX(1);
}
}
@-webkit-keyframes 
slideExpandUp {  0% {
 -webkit-transform: translateY(100%) scaleX(0.5);
}
 30% {
 -webkit-transform: translateY(-8%) scaleX(0.5);
}
 40% {
 -webkit-transform: translateY(2%) scaleX(0.5);
}
 50% {
 -webkit-transform: translateY(0%) scaleX(1.1);
}
 60% {
 -webkit-transform: translateY(0%) scaleX(0.9);
}
 70% {
 -webkit-transform: translateY(0%) scaleX(1.05);
}
 80% {
 -webkit-transform: translateY(0%) scaleX(0.95);
}
 90% {
 -webkit-transform: translateY(0%) scaleX(1.02);
}
 100% {
 -webkit-transform: translateY(0%) scaleX(1);
}
}

/*
==============================================
expandUp
==============================================
*/

.expandUp {
  animation-name: expandUp;
  -webkit-animation-name: expandUp;
  animation-duration: 0.7s;
  -webkit-animation-duration: 0.7s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  visibility: visible !important;
}
 @keyframes 
expandUp {  0% {
 transform: translateY(100%) scale(0.6) scaleY(0.5);
}
 60% {
 transform: translateY(-7%) scaleY(1.12);
}
 75% {
 transform: translateY(3%);
}
 100% {
 transform: translateY(0%) scale(1) scaleY(1);
}
}
@-webkit-keyframes 
expandUp {  0% {
 -webkit-transform: translateY(100%) scale(0.6) scaleY(0.5);
}
 60% {
 -webkit-transform: translateY(-7%) scaleY(1.12);
}
 75% {
 -webkit-transform: translateY(3%);
}
 100% {
 -webkit-transform: translateY(0%) scale(1) scaleY(1);
}
}

/*
==============================================
fadeIn
==============================================
*/

.fadeIn {
  animation-name: fadeIn;
  -webkit-animation-name: fadeIn;
  animation-duration: 1.5s;
  -webkit-animation-duration: 1.5s;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out;
  visibility: visible !important;
}
 @keyframes 
fadeIn {  0% {
 transform: scale(0);
 opacity: 0.0;
}
 60% {
 transform: scale(1.1);
}
 80% {
 transform: scale(0.9);
 opacity: 1;
}
 100% {
 transform: scale(1);
 opacity: 1;
}
}
@-webkit-keyframes 
fadeIn {  0% {
 -webkit-transform: scale(0);
 opacity: 0.0;
}
 60% {
 -webkit-transform: scale(1.1);
}
 80% {
 -webkit-transform: scale(0.9);
 opacity: 1;
}
 100% {
 -webkit-transform: scale(1);
 opacity: 1;
}
}

/*
==============================================
expandOpen
==============================================
*/

.expandOpen {
  animation-name: expandOpen;
  -webkit-animation-name: expandOpen;
  animation-duration: 1.2s;
  -webkit-animation-duration: 1.2s;
  animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  visibility: visible !important;
}
 @keyframes 
expandOpen {  0% {
 transform: scale(1.8);
}
 50% {
 transform: scale(0.95);
}
 80% {
 transform: scale(1.05);
}
 90% {
 transform: scale(0.98);
}
 100% {
 transform: scale(1);
}
}
@-webkit-keyframes 
expandOpen {  0% {
 -webkit-transform: scale(1.8);
}
 50% {
 -webkit-transform: scale(0.95);
}
 80% {
 -webkit-transform: scale(1.05);
}
 90% {
 -webkit-transform: scale(0.98);
}
 100% {
 -webkit-transform: scale(1);
}
}

/*
==============================================
bigEntrance
==============================================
*/

.bigEntrance {
  animation-name: bigEntrance;
  -webkit-animation-name: bigEntrance;
  animation-duration: 1.6s;
  -webkit-animation-duration: 1.6s;
  animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  visibility: visible !important;
}
 @keyframes 
bigEntrance {  0% {
 transform: scale(0.3) rotate(6deg) translateX(-30%) translateY(30%);
 opacity: 0.2;
}
 30% {
 transform: scale(1.03) rotate(-2deg) translateX(2%) translateY(-2%);
 opacity: 1;
}
 45% {
 transform: scale(0.98) rotate(1deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 60% {
 transform: scale(1.01) rotate(-1deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 75% {
 transform: scale(0.99) rotate(1deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 90% {
 transform: scale(1.01) rotate(0deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 100% {
 transform: scale(1) rotate(0deg) translateX(0%) translateY(0%);
 opacity: 1;
}
}
@-webkit-keyframes 
bigEntrance {  0% {
 -webkit-transform: scale(0.3) rotate(6deg) translateX(-30%) translateY(30%);
 opacity: 0.2;
}
 30% {
 -webkit-transform: scale(1.03) rotate(-2deg) translateX(2%) translateY(-2%);
 opacity: 1;
}
 45% {
 -webkit-transform: scale(0.98) rotate(1deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 60% {
 -webkit-transform: scale(1.01) rotate(-1deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 75% {
 -webkit-transform: scale(0.99) rotate(1deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 90% {
 -webkit-transform: scale(1.01) rotate(0deg) translateX(0%) translateY(0%);
 opacity: 1;
}
 100% {
 -webkit-transform: scale(1) rotate(0deg) translateX(0%) translateY(0%);
 opacity: 1;
}
}

/*
==============================================
hatch
==============================================
*/

.hatch {
  animation-name: hatch;
  -webkit-animation-name: hatch;
  animation-duration: 2s;
  -webkit-animation-duration: 2s;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out;
  transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
  visibility: visible !important;
}
 @keyframes 
hatch {  0% {
 transform: rotate(0deg) scaleY(0.6);
}
 20% {
 transform: rotate(-2deg) scaleY(1.05);
}
 35% {
 transform: rotate(2deg) scaleY(1);
}
 50% {
 transform: rotate(-2deg);
}
 65% {
 transform: rotate(1deg);
}
 80% {
 transform: rotate(-1deg);
}
 100% {
 transform: rotate(0deg);
}
}
@-webkit-keyframes 
hatch {  0% {
 -webkit-transform: rotate(0deg) scaleY(0.6);
}
 20% {
 -webkit-transform: rotate(-2deg) scaleY(1.05);
}
 35% {
 -webkit-transform: rotate(2deg) scaleY(1);
}
 50% {
 -webkit-transform: rotate(-2deg);
}
 65% {
 -webkit-transform: rotate(1deg);
}
 80% {
 -webkit-transform: rotate(-1deg);
}
 100% {
 -webkit-transform: rotate(0deg);
}
}

/*
==============================================
bounce
==============================================
*/

.bounce {
  animation-name: bounce;
  -webkit-animation-name: bounce;
  animation-duration: 1.6s;
  -webkit-animation-duration: 1.6s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
}
 @keyframes 
bounce {  0% {
 transform: translateY(0%) scaleY(0.6);
}
 60% {
 transform: translateY(-100%) scaleY(1.1);
}
 70% {
 transform: translateY(0%) scaleY(0.95) scaleX(1.05);
}
 80% {
 transform: translateY(0%) scaleY(1.05) scaleX(1);
}
 90% {
 transform: translateY(0%) scaleY(0.95) scaleX(1);
}
 100% {
 transform: translateY(0%) scaleY(1) scaleX(1);
}
}
@-webkit-keyframes 
bounce {  0% {
 -webkit-transform: translateY(0%) scaleY(0.6);
}
 60% {
 -webkit-transform: translateY(-100%) scaleY(1.1);
}
 70% {
 -webkit-transform: translateY(0%) scaleY(0.95) scaleX(1.05);
}
 80% {
 -webkit-transform: translateY(0%) scaleY(1.05) scaleX(1);
}
 90% {
 -webkit-transform: translateY(0%) scaleY(0.95) scaleX(1);
}
 100% {
 -webkit-transform: translateY(0%) scaleY(1) scaleX(1);
}
}

/*
==============================================
pulse
==============================================
*/

.pulse {
  animation-name: pulse;
  -webkit-animation-name: pulse;
  animation-duration: 1.5s;
  -webkit-animation-duration: 1.5s;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
 @keyframes 
pulse {  0% {
 transform: scale(0.9);
 opacity: 0.7;
}
 50% {
 ransform: scale(1);
 opacity: 1;
}
 100% {
 transform: scale(0.9);
 opacity: 0.7;
}
}
@-webkit-keyframes 
pulse {  0% {
 -webkit-transform: scale(0.95);
 opacity: 0.7;
}
 50% {
 -webkit-transform: scale(1);
 opacity: 1;
}
 100% {
 -webkit-transform: scale(0.95);
 opacity: 0.7;
}
}

/*
==============================================
floating
==============================================
*/

.floating {
  animation-name: floating;
  -webkit-animation-name: floating;
  animation-duration: 1.5s;
  -webkit-animation-duration: 1.5s;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
 @keyframes 
floating {  0% {
 transform: translateY(0%);
}
 50% {
 transform: translateY(8%);
}
 100% {
 transform: translateY(0%);
}
}
@-webkit-keyframes 
floating {  0% {
 -webkit-transform: translateY(0%);
}
 50% {
 -webkit-transform: translateY(8%);
}
 100% {
 -webkit-transform: translateY(0%);
}
}

/*
==============================================
tossing
==============================================
*/

.tossing {
  animation-name: tossing;
  -webkit-animation-name: tossing;
  animation-duration: 2.5s;
  -webkit-animation-duration: 2.5s;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
 @keyframes 
tossing {  0% {
 transform: rotate(-4deg);
}
 50% {
 transform: rotate(4deg);
}
 100% {
 transform: rotate(-4deg);
}
}
@-webkit-keyframes 
tossing {  0% {
 -webkit-transform: rotate(-4deg);
}
 50% {
 -webkit-transform: rotate(4deg);
}
 100% {
 -webkit-transform: rotate(-4deg);
}
}

/*
==============================================
pullUp
==============================================
*/

.pullUp {
  animation-name: pullUp;
  -webkit-animation-name: pullUp;
  animation-duration: 1.1s;
  -webkit-animation-duration: 1.1s;
  animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
}
 @keyframes 
pullUp {  0% {
 transform: scaleY(0.1);
}
 40% {
 transform: scaleY(1.02);
}
 60% {
 transform: scaleY(0.98);
}
 80% {
 transform: scaleY(1.01);
}
 100% {
 transform: scaleY(0.98);
}
 80% {
 transform: scaleY(1.01);
}
 100% {
 transform: scaleY(1);
}
}
@-webkit-keyframes 
pullUp {  0% {
 -webkit-transform: scaleY(0.1);
}
 40% {
 -webkit-transform: scaleY(1.02);
}
 60% {
 -webkit-transform: scaleY(0.98);
}
 80% {
 -webkit-transform: scaleY(1.01);
}
 100% {
 -webkit-transform: scaleY(0.98);
}
 80% {
 -webkit-transform: scaleY(1.01);
}
 100% {
 -webkit-transform: scaleY(1);
}
}

/*
==============================================
pullDown
==============================================
*/

.pullDown {
  animation-name: pullDown;
  -webkit-animation-name: pullDown;
  animation-duration: 1.1s;
  -webkit-animation-duration: 1.1s;
  animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
  -webkit-transform-origin: 50% 0%;
}
 @keyframes 
pullDown {  0% {
 transform: scaleY(0.1);
}
 40% {
 transform: scaleY(1.02);
}
 60% {
 transform: scaleY(0.98);
}
 80% {
 transform: scaleY(1.01);
}
 100% {
 transform: scaleY(0.98);
}
 80% {
 transform: scaleY(1.01);
}
 100% {
 transform: scaleY(1);
}
}
@-webkit-keyframes 
pullDown {  0% {
 -webkit-transform: scaleY(0.1);
}
 40% {
 -webkit-transform: scaleY(1.02);
}
 60% {
 -webkit-transform: scaleY(0.98);
}
 80% {
 -webkit-transform: scaleY(1.01);
}
 100% {
 -webkit-transform: scaleY(0.98);
}
 80% {
 -webkit-transform: scaleY(1.01);
}
 100% {
 -webkit-transform: scaleY(1);
}
}

/*
==============================================
stretchLeft
==============================================
*/

.stretchLeft {
  animation-name: stretchLeft;
  -webkit-animation-name: stretchLeft;
  animation-duration: 1.5s;
  -webkit-animation-duration: 1.5s;
  animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  transform-origin: 100% 0%;
  -ms-transform-origin: 100% 0%;
  -webkit-transform-origin: 100% 0%;
}
 @keyframes 
stretchLeft {  0% {
 transform: scaleX(0.3);
}
 40% {
 transform: scaleX(1.02);
}
 60% {
 transform: scaleX(0.98);
}
 80% {
 transform: scaleX(1.01);
}
 100% {
 transform: scaleX(0.98);
}
 80% {
 transform: scaleX(1.01);
}
 100% {
 transform: scaleX(1);
}
}
@-webkit-keyframes 
stretchLeft {  0% {
 -webkit-transform: scaleX(0.3);
}
 40% {
 -webkit-transform: scaleX(1.02);
}
 60% {
 -webkit-transform: scaleX(0.98);
}
 80% {
 -webkit-transform: scaleX(1.01);
}
 100% {
 -webkit-transform: scaleX(0.98);
}
 80% {
 -webkit-transform: scaleX(1.01);
}
 100% {
 -webkit-transform: scaleX(1);
}
}

/*
==============================================
stretchRight
==============================================
*/

.stretchRight {
  animation-name: stretchRight;
  -webkit-animation-name: stretchRight;
  animation-duration: 1.5s;
  -webkit-animation-duration: 1.5s;
  animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  -webkit-transform-origin: 0% 0%;
}
 @keyframes 
stretchRight {  0% {
 transform: scaleX(0.3);
}
 40% {
 transform: scaleX(1.02);
}
 60% {
 transform: scaleX(0.98);
}
 80% {
 transform: scaleX(1.01);
}
 100% {
 transform: scaleX(0.98);
}
 80% {
 transform: scaleX(1.01);
}
 100% {
 transform: scaleX(1);
}
}
@-webkit-keyframes 
stretchRight {  0% {
 -webkit-transform: scaleX(0.3);
}
 40% {
 -webkit-transform: scaleX(1.02);
}
 60% {
 -webkit-transform: scaleX(0.98);
}
 80% {
 -webkit-transform: scaleX(1.01);
}
 100% {
 -webkit-transform: scaleX(0.98);
}
 80% {
 -webkit-transform: scaleX(1.01);
}
 100% {
 -webkit-transform: scaleX(1);
}
}

body {
  background-color: #2d2d2d;
  -webkit-tap-highlight-color: transparent;
  color: white;
  font-size: 1rem;
  line-height: 1.5;
}

a { text-decoration: none; }

.header-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background-color: #151515;
}

.brand { display: inline-block; }

.brand a {
  display: block;
  color: white;
  padding: 0 15px;
  text-transform: uppercase;
  line-height: 50px;
}

main {
  max-width: 960px;
  margin: 0 auto;
  padding-top: 50px;
}

.tipmes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}

.tipmes li {
  margin-right: 30px;
  margin-bottom: 30px;
  border: 2px solid #fff;
  text-align: center;
  padding: 1rem;
  flex: 1 1 300px;
}

.tipmes li:nth-child(3n) { margin-right: 0; }

.tipme {
  display: inline-block;
  position: relative;
}

.tipme:before {
  content: '';
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transtion: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.tipme:after {
  content: attr(data-tipme);
  position: absolute;
  background-color: #fff;
  color: #000;
  white-space: nowrap;
  padding: 3px 8px;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transtion: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.tipme:hover:before, .tipme:hover:after {
  opacity: 1;
  visibility: visible;
}

.tipme.tipme-tl:after {
  bottom: 115%;
  right: 50%;
}

.tipme.tipme-tc:after {
  bottom: 115%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.tipme.tipme-tr:after {
  bottom: 115%;
  left: 50%;
}

.tipme.tipme-ml:after {
  top: 50%;
  right: 115%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.tipme.tipme-mr:after {
  top: 50%;
  left: 115%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.tipme.tipme-bl:after {
  top: 115%;
  right: 50%;
}

.tipme.tipme-bm:after {
  top: 115%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.tipme.tipme-br:after {
  top: 115%;
  left: 50%;
}
