/*! HTML5 Boilerplate v5.2.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

/*
*{
  -webkit-transform: translate3d(0,0,0);
  -moz-transform: translate3d(0,0,0);
  -ms-transform: translate3d(0,0,0);
  -o-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}
*/

html {
    background: #263238;
    color: #607d8b;
    font-size: 1.1em;
    line-height: 1.4;
    font-family: "Roboto";
    font-weight: 100;
  }
  html,
  body {
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
  }
  .chart {
    height: 200px;
    width: 400px;
    margin: 0 auto;
  }
  .circle {
    /* @TODO NOT FOUND.. breaks webpack build!
    background: 50% 50% url("../img/loader.png") no-repeat;*/
  }
  /*
   * Remove text-shadow in selection highlight:
   * https://twitter.com/miketaylr/status/12228805301
   *
   * These selection rule sets have to be separate.
   * Customize the background color to match your design.
   */
  
  ::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
  }
  ::selection {
    background: #b3d4fc;
    text-shadow: none;
  }
  /*
   * A better looking default horizontal rule
   */
  
  hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin: 0.5em 0;
    padding: 0;
    clear: both;
  }
  hr:before,
  hr:after {
    content: "";
    display: block;
    clear: both;
  }
  /*
   * Remove the gap between audio, canvas, iframes,
   * images, videos and the bottom of their containers:
   * https://github.com/h5bp/html5-boilerplate/issues/440
   */
  
  audio,
  canvas,
  iframe,
  img,
  svg,
  video {
    vertical-align: middle;
  }
  /*
   * Remove default fieldset styles.
   */
  
  fieldset {
    border: 0;
    margin: 0;
    padding: 0;
  }
  /*
   * Allow only vertical resizing of textareas.
   */
  
  textarea {
    resize: vertical;
  }
  /* ==========================================================================
     Browser Upgrade Prompt
     ========================================================================== */
  
  .browserupgrade {
    margin: 0.2em 0;
    background: #cccccc;
    color: black;
    padding: 0.2em 0;
  }
  /* ==========================================================================
     Author's custom styles
     ========================================================================== */
  
  .span1 {
    width: 5.8333333333333%;
  }
  .span2 {
    width: 14.166666666667%;
  }
  .span3 {
    width: 22.5%;
  }
  .span4,
  .third {
    width: 30.833333333333%;
  }
  .span5 {
    width: 39.166666666667%;
  }
  .span6,
  .half {
    width: 47.5%;
  }
  .span7 {
    width: 55.833333333333%;
  }
  .span8 {
    width: 64.166666666667%;
  }
  .span9 {
    width: 72.5%;
  }
  .span10 {
    width: 80.833333333333%;
  }
  .span11 {
    width: 89.166666666667%;
  }
  .span12 {
    width: 97.5%;
  }
  .span1,
  .span2,
  .span3,
  .span4,
  .third,
  .span5,
  .span6,
  .half,
  .span7,
  .span8,
  .span9,
  .span10,
  .span11,
  .span12 {
    /*margin:18px 0 18px 2.5%;*/
    margin: 0 0 0 2.5%;
    float: left;
    display: block;
    /* @TODO NOT FOUND.. breaks webpack build!
    background: url("../img/dot.gif") repeat-y 0 0;*/
  }
  .first {
    margin-left: 0px;
    clear: left;
  }
  .last {
    margin-right: 0px;
  }
  .third,
  .half {
    margin-top: 0;
    margin-bottom: 0;
  }
  .container {
    max-width: 1140px;
    padding-left: 2.5%;
    margin: 0 auto;
    overflow: hidden;
  }
  .clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
  }
  /*
  .clearfix:after{clear:both;content:'.';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0;}
  * html .clearfix,*:first-child+html .clearfix{zoom:1}
  */
  
  /* float clearing for IE6 */
  
  * html .clearfix {
    height: 1%;
    overflow: visible;
  }
  /* float clearing for IE7 */
  
  * + html .clearfix {
    min-height: 1%;
  }
  /* float clearing for everyone else */
  
  .clearfix:after,
  .container:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
    font-size: 0;
  }
  img,
  object,
  embed {
    max-width: 100%;
  }
  /*
  Baseline - a designer framework
  Copyright (C) 2009 Stephane Curzi, ProjetUrbain.com
  Creative Commons Attribution-Share Alike 3.0 License
  version 0.5.3
  */
  
  .leading {
    margin-bottom: 18px;
  }
  /* 1.5em */
  
  .noleading {
    margin-bottom: 0 !important;
  }
  /* Base column unit, 2 units = 1 column */
  
  .unitx1 {
    width: 108px;
  }
  /* 9em */
  
  .unitx2 {
    width: 234px;
  }
  /* 19.5em, Same as width1 */
  
  .unitx3 {
    width: 360px;
  }
  /* 30em */
  
  .unitx4 {
    width: 486px;
  }
  /* 40.5em, Same as width2 */
  
  .unitx5 {
    width: 612px;
  }
  /* 51em */
  
  .unitx6 {
    width: 738px;
  }
  /* 61.5em, Same as width3 */
  
  .unitx7 {
    width: 864px;
  }
  /* 72em */
  
  .unitx8 {
    width: 990px;
    margin-left: 0 !important;
  }
  /* 82.5em, Same as width4 */
  
  /* CSS3 columns */
  
  .columnsx2 {
    -webkit-column-count: 2;
    -webkit-column-gap: 18px;
    -moz-column-count: 2;
    -moz-column-gap: 18px;
    column-count: 2;
    column-gap: 18px;
  }
  .columnsx4 {
    -webkit-column-count: 4;
    -webkit-column-gap: 18px;
    -moz-column-count: 4;
    -moz-column-gap: 18px;
    column-count: 4;
    column-gap: 18px;
  }
  /******************** Table ********************/
  
  /* Columns */
  
  th.width1,
  td.width1 {
    width: 234px;
  }
  th.width2,
  td.width2 {
    width: 486px;
  }
  th.width3,
  td.width3 {
    width: 738px;
  }
  th.width4,
  td.width4 {
    width: 990px;
  }
  /* Units */
  
  th.unitx1,
  th.unitx1 {
    width: 108px;
  }
  th.unitx2,
  td.unitx2 {
    width: 234px;
  }
  th.unitx3,
  td.unitx3 {
    width: 360px;
  }
  th.unitx4,
  td.unitx4 {
    width: 486px;
  }
  th.unitx5,
  td.unitx5 {
    width: 612px;
  }
  th.unitx6,
  td.unitx6 {
    width: 738px;
  }
  th.unitx7,
  td.unitx7 {
    width: 864px;
  }
  th.unitx8,
  td.unitx8 {
    width: 990px;
  }
  /******************** Forms ********************/
  
  label.width1,
  label.width2,
  label.width3,
  label.width4 {
    margin-left: 18px;
    float: left;
  }
  label.unitx1,
  label.unitx2,
  label.unitx3,
  label.unitx4,
  label.unitx5,
  label.unitx6,
  label.unitx7,
  label.unitx8 {
    margin-left: 18px;
    float: left;
  }
  label.first {
    margin-left: 0;
  }
  label.width4,
  label.unitx8 {
    width: 990px;
    overflow: hidden;
  }
  label.width1 input[type="text"],
  label.width1 input[type="password"],
  label.width1 input[type="select"],
  label.width1 input[type="search"] {
    width: 228px;
  }
  label.width2 input[type="text"],
  label.width2 input[type="password"],
  label.width2 input[type="select"],
  label.width2 input[type="search"] {
    width: 480px;
  }
  label.width3 input[type="text"],
  label.width3 input[type="password"],
  label.width3 input[type="select"],
  label.width3 input[type="search"] {
    width: 732px;
  }
  label.width4 input[type="text"],
  label.width4 input[type="password"],
  label.width4 input[type="select"],
  label.width4 input[type="search"] {
    width: 984px;
  }
  label.width1 select {
    width: 234px;
  }
  label.width2 select {
    width: 486px;
  }
  label.width3 select {
    width: 738px;
  }
  label.width4 select {
    width: 990px;
  }
  label.unitx1 input[type="text"],
  label.unitx1 input[type="password"],
  label.unitx1 input[type="select"],
  label.unitx1 input[type="search"] {
    width: 102px;
  }
  label.unitx2 input[type="text"],
  label.unitx2 input[type="password"],
  label.unitx2 input[type="select"],
  label.unitx2 input[type="search"] {
    width: 228px;
  }
  label.unitx3 input[type="text"],
  label.unitx3 input[type="password"],
  label.unitx3 input[type="select"],
  label.unitx3 input[type="search"] {
    width: 354px;
  }
  label.unitx4 input[type="text"],
  label.unitx4 input[type="password"],
  label.unitx4 input[type="select"],
  label.unitx4 input[type="search"] {
    width: 480px;
  }
  label.unitx5 input[type="text"],
  label.unitx5 input[type="password"],
  label.unitx5 input[type="select"],
  label.unitx5 input[type="search"] {
    width: 606px;
  }
  label.unitx6 input[type="text"],
  label.unitx6 input[type="password"],
  label.unitx6 input[type="select"],
  label.unitx6 input[type="search"] {
    width: 732px;
  }
  label.unitx7 input[type="text"],
  label.unitx7 input[type="password"],
  label.unitx7 input[type="select"],
  label.unitx7 input[type="search"] {
    width: 858px;
  }
  label.unitx8 input[type="text"],
  label.unitx8 input[type="password"],
  label.unitx8 input[type="select"],
  label.unitx8 input[type="search"] {
    width: 984px;
  }
  label.unitx1 select {
    width: 108px;
  }
  label.unitx2 select {
    width: 234px;
  }
  label.unitx3 select {
    width: 360px;
  }
  label.unitx4 select {
    width: 486px;
  }
  label.unitx5 select {
    width: 612px;
  }
  label.unitx6 select {
    width: 738px;
  }
  label.unitx7 select {
    width: 864px;
  }
  label.unitx8 select {
    width: 990px;
  }
  /*
  body:after {
      content: "less than 320px";
      font-size: 200%;
      line-height: 1;
      font-weight: bold;
      position: fixed;
      bottom: 0;
      width: 100%;
      padding: 5px 0;
      text-align: center;
      background-color: hsla(1,60%,40%,0.7);
      color: #fff;
      z-index: 9999;
  }
  @media only screen and (min-width: 320px) {
      body:after {
          content: "320 to 480px";
          background-color: hsla(90,60%,40%,0.7);
      }
  }
  @media only screen and (min-width: 480px) {
      body:after {
          content: "480 to 768px";
          background-color: hsla(180,60%,40%,0.7);
      }
  }
  @media only screen and (min-width: 768px) {
      body:after {
          content: "768 to 1024px";
          background-color: hsla(270,60%,40%,0.7);
      }
  }
  @media only screen and (min-width: 1024px) {
      body:after {
          content: "1024 to 1360px";
          background-color: hsla(360,60%,40%,0.7);
      }
  }
  @media only screen and (min-width: 1360px) {
      body:after {
          content: "1360 and up";
          background-color: hsla(90,60%,40%,0.7);
      }
  }
  */
  
  .container {
    max-width: 100%;
    margin-left: -1.25%;
    padding-left: 0;
  }
  table,
  .table {
    border-collapse: separate;
    border-spacing: 0;
    max-width: 100%;
    width: 100%;
  }
  .table ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .table ul li {
    display: table;
    width: 100%;
  }
  .table ul li .td,
  .table ul li .th {
    display: table-cell;
    width: 33.33%;
  }
  th,
  .th {
    text-align: left;
    font-weight: bold;
  }
  th,
  td,
  .th,
  .td {
    padding: 0.5em 0.25em;
    line-height: inherit;
  }
  th,
  .th {
    vertical-align: bottom;
  }
  td,
  .td {
    vertical-align: top;
  }
  tr:nth-child(odd) td,
  .table .tbody li:nth-child(odd) {
    background: rgba(255, 255, 255, 0.12);
  }
  table.overflow,
  table.overflow thead,
  table.overflow tbody {
    width: 100%;
    display: block;
  }
  table.overflow tbody,
  .overflow .tbody {
    height: 8em;
    overflow-y: auto;
    overflow-x: hidden;
    overflow: hidden;
  }
  table.overflow tbody td,
  table.overflow thead th {
    width: 100%;
    box-sizing: border-box;
  }
  table {
    width: 100%;
    table-layout: fixed;
  }
  td:only-child {
    display: block;
    width: 100%;
  }
  .shake,
  .shake-little,
  .shake-slow,
  .shake-hard,
  .shake-horizontal,
  .shake-vertical,
  .shake-rotate,
  .shake-opacity,
  .shake-crazy,
  .shake-chunk {
    display: inline-block;
    transform-origin: center center;
  }
  .shake-freeze,
  .shake-constant.shake-constant--hover:hover,
  .shake-trigger:hover .shake-constant.shake-constant--hover {
    animation-play-state: paused;
  }
  .shake-freeze:hover,
  .shake-trigger:hover .shake-freeze,
  .shake:hover,
  .shake-trigger:hover .shake,
  .shake-little:hover,
  .shake-trigger:hover .shake-little,
  .shake-slow:hover,
  .shake-trigger:hover .shake-slow,
  .shake-hard:hover,
  .shake-trigger:hover .shake-hard,
  .shake-horizontal:hover,
  .shake-trigger:hover .shake-horizontal,
  .shake-vertical:hover,
  .shake-trigger:hover .shake-vertical,
  .shake-rotate:hover,
  .shake-trigger:hover .shake-rotate,
  .shake-opacity:hover,
  .shake-trigger:hover .shake-opacity,
  .shake-crazy:hover,
  .shake-trigger:hover .shake-crazy,
  .shake-chunk:hover,
  .shake-trigger:hover .shake-chunk {
    animation-play-state: running;
  }
  @keyframes shake {
    2% {
      transform: translate(-0.5px, 2.5px) rotate(1.5deg);
    }
    4% {
      transform: translate(2.5px, -0.5px) rotate(0.5deg);
    }
    6% {
      transform: translate(2.5px, 2.5px) rotate(1.5deg);
    }
    8% {
      transform: translate(-0.5px, 1.5px) rotate(1.5deg);
    }
    10% {
      transform: translate(0.5px, 0.5px) rotate(1.5deg);
    }
    12% {
      transform: translate(1.5px, 1.5px) rotate(-0.5deg);
    }
    14% {
      transform: translate(1.5px, -0.5px) rotate(-0.5deg);
    }
    16% {
      transform: translate(-1.5px, -0.5px) rotate(0.5deg);
    }
    18% {
      transform: translate(1.5px, -0.5px) rotate(1.5deg);
    }
    20% {
      transform: translate(1.5px, 1.5px) rotate(0.5deg);
    }
    22% {
      transform: translate(0.5px, 0.5px) rotate(-0.5deg);
    }
    24% {
      transform: translate(0.5px, 1.5px) rotate(1.5deg);
    }
    26% {
      transform: translate(-0.5px, 0.5px) rotate(0.5deg);
    }
    28% {
      transform: translate(2.5px, 0.5px) rotate(0.5deg);
    }
    30% {
      transform: translate(2.5px, 1.5px) rotate(0.5deg);
    }
    32% {
      transform: translate(-1.5px, 2.5px) rotate(-0.5deg);
    }
    34% {
      transform: translate(2.5px, 1.5px) rotate(-0.5deg);
    }
    36% {
      transform: translate(1.5px, 1.5px) rotate(-0.5deg);
    }
    38% {
      transform: translate(-0.5px, 2.5px) rotate(0.5deg);
    }
    40% {
      transform: translate(0.5px, -0.5px) rotate(0.5deg);
    }
    42% {
      transform: translate(0.5px, 2.5px) rotate(1.5deg);
    }
    44% {
      transform: translate(0.5px, 2.5px) rotate(1.5deg);
    }
    46% {
      transform: translate(-1.5px, -1.5px) rotate(0.5deg);
    }
    48% {
      transform: translate(0.5px, 0.5px) rotate(0.5deg);
    }
    50% {
      transform: translate(0.5px, 0.5px) rotate(0.5deg);
    }
    52% {
      transform: translate(1.5px, 2.5px) rotate(0.5deg);
    }
    54% {
      transform: translate(-0.5px, -0.5px) rotate(1.5deg);
    }
    56% {
      transform: translate(-0.5px, -1.5px) rotate(-0.5deg);
    }
    58% {
      transform: translate(1.5px, -0.5px) rotate(-0.5deg);
    }
    60% {
      transform: translate(-0.5px, -0.5px) rotate(-0.5deg);
    }
    62% {
      transform: translate(-0.5px, -1.5px) rotate(-0.5deg);
    }
    64% {
      transform: translate(0.5px, 1.5px) rotate(0.5deg);
    }
    66% {
      transform: translate(0.5px, -1.5px) rotate(1.5deg);
    }
    68% {
      transform: translate(-1.5px, 1.5px) rotate(-0.5deg);
    }
    70% {
      transform: translate(-0.5px, 1.5px) rotate(-0.5deg);
    }
    72% {
      transform: translate(0.5px, 0.5px) rotate(-0.5deg);
    }
    74% {
      transform: translate(0.5px, 0.5px) rotate(1.5deg);
    }
    76% {
      transform: translate(0.5px, -1.5px) rotate(0.5deg);
    }
    78% {
      transform: translate(-0.5px, -0.5px) rotate(0.5deg);
    }
    80% {
      transform: translate(-0.5px, -0.5px) rotate(0.5deg);
    }
    82% {
      transform: translate(-1.5px, 1.5px) rotate(-0.5deg);
    }
    84% {
      transform: translate(0.5px, 0.5px) rotate(-0.5deg);
    }
    86% {
      transform: translate(0.5px, -1.5px) rotate(-0.5deg);
    }
    88% {
      transform: translate(1.5px, 0.5px) rotate(-0.5deg);
    }
    90% {
      transform: translate(1.5px, 2.5px) rotate(-0.5deg);
    }
    92% {
      transform: translate(-1.5px, 0.5px) rotate(1.5deg);
    }
    94% {
      transform: translate(1.5px, 0.5px) rotate(1.5deg);
    }
    96% {
      transform: translate(-0.5px, 1.5px) rotate(0.5deg);
    }
    98% {
      transform: translate(-1.5px, 0.5px) rotate(1.5deg);
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake:hover,
  .shake-trigger:hover .shake,
  .shake.shake-freeze,
  .shake.shake-constant {
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-name: shake;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-little {
    2% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    4% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    6% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    8% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    10% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    12% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    14% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    16% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    18% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    20% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    22% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    24% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    26% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    28% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    30% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    32% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    34% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    36% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    38% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    40% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    42% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    44% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    46% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    48% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    50% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    52% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    54% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    56% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    58% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    60% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    62% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    64% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    66% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    68% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    70% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    72% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    74% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    76% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    78% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    80% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    82% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    84% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    86% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    88% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    90% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    92% {
      transform: translate(0px, 0px) rotate(0.5deg);
    }
    94% {
      transform: translate(1px, 1px) rotate(0.5deg);
    }
    96% {
      transform: translate(1px, 0px) rotate(0.5deg);
    }
    98% {
      transform: translate(0px, 1px) rotate(0.5deg);
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-little:hover,
  .shake-trigger:hover .shake-little,
  .shake-little.shake-freeze,
  .shake-little.shake-constant {
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-name: shake-little;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-slow {
    2% {
      transform: translate(6px, 1px) rotate(3.5deg);
    }
    4% {
      transform: translate(-1px, 9px) rotate(-1.5deg);
    }
    6% {
      transform: translate(1px, 3px) rotate(-2.5deg);
    }
    8% {
      transform: translate(2px, 2px) rotate(0.5deg);
    }
    10% {
      transform: translate(9px, -6px) rotate(2.5deg);
    }
    12% {
      transform: translate(0px, 4px) rotate(-2.5deg);
    }
    14% {
      transform: translate(8px, -7px) rotate(3.5deg);
    }
    16% {
      transform: translate(-3px, 6px) rotate(2.5deg);
    }
    18% {
      transform: translate(3px, 8px) rotate(-1.5deg);
    }
    20% {
      transform: translate(4px, -3px) rotate(3.5deg);
    }
    22% {
      transform: translate(2px, 5px) rotate(0.5deg);
    }
    24% {
      transform: translate(-5px, -1px) rotate(3.5deg);
    }
    26% {
      transform: translate(0px, -4px) rotate(1.5deg);
    }
    28% {
      transform: translate(0px, -8px) rotate(-0.5deg);
    }
    30% {
      transform: translate(-7px, 3px) rotate(1.5deg);
    }
    32% {
      transform: translate(9px, 6px) rotate(2.5deg);
    }
    34% {
      transform: translate(2px, 2px) rotate(2.5deg);
    }
    36% {
      transform: translate(7px, -9px) rotate(-0.5deg);
    }
    38% {
      transform: translate(7px, 4px) rotate(-0.5deg);
    }
    40% {
      transform: translate(-3px, -6px) rotate(2.5deg);
    }
    42% {
      transform: translate(10px, -3px) rotate(3.5deg);
    }
    44% {
      transform: translate(10px, -1px) rotate(2.5deg);
    }
    46% {
      transform: translate(9px, -9px) rotate(3.5deg);
    }
    48% {
      transform: translate(7px, 10px) rotate(0.5deg);
    }
    50% {
      transform: translate(-7px, 8px) rotate(3.5deg);
    }
    52% {
      transform: translate(5px, 4px) rotate(-2.5deg);
    }
    54% {
      transform: translate(5px, -4px) rotate(3.5deg);
    }
    56% {
      transform: translate(1px, 10px) rotate(0.5deg);
    }
    58% {
      transform: translate(-2px, -5px) rotate(-2.5deg);
    }
    60% {
      transform: translate(5px, 1px) rotate(1.5deg);
    }
    62% {
      transform: translate(-2px, 4px) rotate(2.5deg);
    }
    64% {
      transform: translate(-8px, 8px) rotate(3.5deg);
    }
    66% {
      transform: translate(6px, 0px) rotate(2.5deg);
    }
    68% {
      transform: translate(0px, -2px) rotate(2.5deg);
    }
    70% {
      transform: translate(5px, -3px) rotate(-2.5deg);
    }
    72% {
      transform: translate(5px, 9px) rotate(1.5deg);
    }
    74% {
      transform: translate(5px, 5px) rotate(-2.5deg);
    }
    76% {
      transform: translate(6px, 9px) rotate(1.5deg);
    }
    78% {
      transform: translate(-5px, 7px) rotate(2.5deg);
    }
    80% {
      transform: translate(2px, -1px) rotate(1.5deg);
    }
    82% {
      transform: translate(5px, 6px) rotate(-1.5deg);
    }
    84% {
      transform: translate(-9px, -2px) rotate(-2.5deg);
    }
    86% {
      transform: translate(3px, 0px) rotate(0.5deg);
    }
    88% {
      transform: translate(-1px, 5px) rotate(3.5deg);
    }
    90% {
      transform: translate(-7px, -2px) rotate(0.5deg);
    }
    92% {
      transform: translate(-3px, 10px) rotate(1.5deg);
    }
    94% {
      transform: translate(8px, 8px) rotate(-1.5deg);
    }
    96% {
      transform: translate(-3px, 8px) rotate(3.5deg);
    }
    98% {
      transform: translate(3px, 3px) rotate(3.5deg);
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-slow:hover,
  .shake-trigger:hover .shake-slow,
  .shake-slow.shake-freeze,
  .shake-slow.shake-constant {
    animation-duration: 5s;
    animation-iteration-count: infinite;
    animation-name: shake-slow;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-hard {
    2% {
      transform: translate(6px, 6px) rotate(3.5deg);
    }
    4% {
      transform: translate(0px, 1px) rotate(3.5deg);
    }
    6% {
      transform: translate(10px, 10px) rotate(2.5deg);
    }
    8% {
      transform: translate(-3px, 0px) rotate(-1.5deg);
    }
    10% {
      transform: translate(-9px, -7px) rotate(-2.5deg);
    }
    12% {
      transform: translate(3px, -9px) rotate(0.5deg);
    }
    14% {
      transform: translate(2px, 3px) rotate(-2.5deg);
    }
    16% {
      transform: translate(7px, -6px) rotate(2.5deg);
    }
    18% {
      transform: translate(2px, -7px) rotate(0.5deg);
    }
    20% {
      transform: translate(7px, 9px) rotate(0.5deg);
    }
    22% {
      transform: translate(-1px, -3px) rotate(2.5deg);
    }
    24% {
      transform: translate(-1px, 1px) rotate(-1.5deg);
    }
    26% {
      transform: translate(-4px, 10px) rotate(-1.5deg);
    }
    28% {
      transform: translate(9px, -6px) rotate(-0.5deg);
    }
    30% {
      transform: translate(-3px, 3px) rotate(3.5deg);
    }
    32% {
      transform: translate(5px, -8px) rotate(-1.5deg);
    }
    34% {
      transform: translate(0px, -5px) rotate(3.5deg);
    }
    36% {
      transform: translate(4px, 9px) rotate(2.5deg);
    }
    38% {
      transform: translate(-2px, 7px) rotate(-1.5deg);
    }
    40% {
      transform: translate(-1px, -8px) rotate(2.5deg);
    }
    42% {
      transform: translate(0px, 6px) rotate(3.5deg);
    }
    44% {
      transform: translate(2px, 7px) rotate(1.5deg);
    }
    46% {
      transform: translate(8px, -1px) rotate(3.5deg);
    }
    48% {
      transform: translate(8px, -9px) rotate(1.5deg);
    }
    50% {
      transform: translate(0px, -4px) rotate(1.5deg);
    }
    52% {
      transform: translate(6px, -4px) rotate(-2.5deg);
    }
    54% {
      transform: translate(1px, -9px) rotate(3.5deg);
    }
    56% {
      transform: translate(5px, 0px) rotate(1.5deg);
    }
    58% {
      transform: translate(-7px, 5px) rotate(-0.5deg);
    }
    60% {
      transform: translate(-5px, 6px) rotate(1.5deg);
    }
    62% {
      transform: translate(-2px, -2px) rotate(3.5deg);
    }
    64% {
      transform: translate(2px, 10px) rotate(2.5deg);
    }
    66% {
      transform: translate(-8px, 8px) rotate(2.5deg);
    }
    68% {
      transform: translate(5px, 1px) rotate(-0.5deg);
    }
    70% {
      transform: translate(-3px, 2px) rotate(-0.5deg);
    }
    72% {
      transform: translate(8px, 4px) rotate(3.5deg);
    }
    74% {
      transform: translate(-4px, 1px) rotate(2.5deg);
    }
    76% {
      transform: translate(0px, -1px) rotate(0.5deg);
    }
    78% {
      transform: translate(10px, 6px) rotate(2.5deg);
    }
    80% {
      transform: translate(3px, -7px) rotate(-1.5deg);
    }
    82% {
      transform: translate(6px, 5px) rotate(2.5deg);
    }
    84% {
      transform: translate(3px, 6px) rotate(-2.5deg);
    }
    86% {
      transform: translate(-4px, 3px) rotate(-0.5deg);
    }
    88% {
      transform: translate(-8px, 9px) rotate(-1.5deg);
    }
    90% {
      transform: translate(-8px, -8px) rotate(-2.5deg);
    }
    92% {
      transform: translate(4px, 3px) rotate(0.5deg);
    }
    94% {
      transform: translate(5px, 4px) rotate(2.5deg);
    }
    96% {
      transform: translate(8px, 1px) rotate(3.5deg);
    }
    98% {
      transform: translate(-2px, 1px) rotate(-0.5deg);
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-hard:hover,
  .shake-trigger:hover .shake-hard,
  .shake-hard.shake-freeze,
  .shake-hard.shake-constant {
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-name: shake-hard;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-horizontal {
    2% {
      transform: translate(-5px, 0) rotate(0);
    }
    4% {
      transform: translate(7px, 0) rotate(0);
    }
    6% {
      transform: translate(-2px, 0) rotate(0);
    }
    8% {
      transform: translate(3px, 0) rotate(0);
    }
    10% {
      transform: translate(5px, 0) rotate(0);
    }
    12% {
      transform: translate(-3px, 0) rotate(0);
    }
    14% {
      transform: translate(-3px, 0) rotate(0);
    }
    16% {
      transform: translate(-8px, 0) rotate(0);
    }
    18% {
      transform: translate(2px, 0) rotate(0);
    }
    20% {
      transform: translate(1px, 0) rotate(0);
    }
    22% {
      transform: translate(-7px, 0) rotate(0);
    }
    24% {
      transform: translate(-9px, 0) rotate(0);
    }
    26% {
      transform: translate(0px, 0) rotate(0);
    }
    28% {
      transform: translate(-6px, 0) rotate(0);
    }
    30% {
      transform: translate(6px, 0) rotate(0);
    }
    32% {
      transform: translate(7px, 0) rotate(0);
    }
    34% {
      transform: translate(6px, 0) rotate(0);
    }
    36% {
      transform: translate(-8px, 0) rotate(0);
    }
    38% {
      transform: translate(0px, 0) rotate(0);
    }
    40% {
      transform: translate(4px, 0) rotate(0);
    }
    42% {
      transform: translate(-2px, 0) rotate(0);
    }
    44% {
      transform: translate(-9px, 0) rotate(0);
    }
    46% {
      transform: translate(8px, 0) rotate(0);
    }
    48% {
      transform: translate(-1px, 0) rotate(0);
    }
    50% {
      transform: translate(1px, 0) rotate(0);
    }
    52% {
      transform: translate(-1px, 0) rotate(0);
    }
    54% {
      transform: translate(-4px, 0) rotate(0);
    }
    56% {
      transform: translate(0px, 0) rotate(0);
    }
    58% {
      transform: translate(3px, 0) rotate(0);
    }
    60% {
      transform: translate(9px, 0) rotate(0);
    }
    62% {
      transform: translate(4px, 0) rotate(0);
    }
    64% {
      transform: translate(10px, 0) rotate(0);
    }
    66% {
      transform: translate(-4px, 0) rotate(0);
    }
    68% {
      transform: translate(7px, 0) rotate(0);
    }
    70% {
      transform: translate(1px, 0) rotate(0);
    }
    72% {
      transform: translate(-6px, 0) rotate(0);
    }
    74% {
      transform: translate(1px, 0) rotate(0);
    }
    76% {
      transform: translate(5px, 0) rotate(0);
    }
    78% {
      transform: translate(-7px, 0) rotate(0);
    }
    80% {
      transform: translate(8px, 0) rotate(0);
    }
    82% {
      transform: translate(-8px, 0) rotate(0);
    }
    84% {
      transform: translate(2px, 0) rotate(0);
    }
    86% {
      transform: translate(3px, 0) rotate(0);
    }
    88% {
      transform: translate(7px, 0) rotate(0);
    }
    90% {
      transform: translate(-1px, 0) rotate(0);
    }
    92% {
      transform: translate(1px, 0) rotate(0);
    }
    94% {
      transform: translate(7px, 0) rotate(0);
    }
    96% {
      transform: translate(6px, 0) rotate(0);
    }
    98% {
      transform: translate(-8px, 0) rotate(0);
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-horizontal:hover,
  .shake-trigger:hover .shake-horizontal,
  .shake-horizontal.shake-freeze,
  .shake-horizontal.shake-constant {
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-name: shake-horizontal;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-vertical {
    2% {
      transform: translate(0, -4px) rotate(0);
    }
    4% {
      transform: translate(0, 7px) rotate(0);
    }
    6% {
      transform: translate(0, -4px) rotate(0);
    }
    8% {
      transform: translate(0, -1px) rotate(0);
    }
    10% {
      transform: translate(0, 1px) rotate(0);
    }
    12% {
      transform: translate(0, 2px) rotate(0);
    }
    14% {
      transform: translate(0, -2px) rotate(0);
    }
    16% {
      transform: translate(0, 3px) rotate(0);
    }
    18% {
      transform: translate(0, -4px) rotate(0);
    }
    20% {
      transform: translate(0, 1px) rotate(0);
    }
    22% {
      transform: translate(0, 5px) rotate(0);
    }
    24% {
      transform: translate(0, 6px) rotate(0);
    }
    26% {
      transform: translate(0, -5px) rotate(0);
    }
    28% {
      transform: translate(0, -4px) rotate(0);
    }
    30% {
      transform: translate(0, 0px) rotate(0);
    }
    32% {
      transform: translate(0, 0px) rotate(0);
    }
    34% {
      transform: translate(0, 8px) rotate(0);
    }
    36% {
      transform: translate(0, 7px) rotate(0);
    }
    38% {
      transform: translate(0, 10px) rotate(0);
    }
    40% {
      transform: translate(0, -8px) rotate(0);
    }
    42% {
      transform: translate(0, 4px) rotate(0);
    }
    44% {
      transform: translate(0, -4px) rotate(0);
    }
    46% {
      transform: translate(0, 3px) rotate(0);
    }
    48% {
      transform: translate(0, -3px) rotate(0);
    }
    50% {
      transform: translate(0, -5px) rotate(0);
    }
    52% {
      transform: translate(0, 5px) rotate(0);
    }
    54% {
      transform: translate(0, -4px) rotate(0);
    }
    56% {
      transform: translate(0, -8px) rotate(0);
    }
    58% {
      transform: translate(0, -3px) rotate(0);
    }
    60% {
      transform: translate(0, 3px) rotate(0);
    }
    62% {
      transform: translate(0, 8px) rotate(0);
    }
    64% {
      transform: translate(0, 2px) rotate(0);
    }
    66% {
      transform: translate(0, -3px) rotate(0);
    }
    68% {
      transform: translate(0, 1px) rotate(0);
    }
    70% {
      transform: translate(0, -6px) rotate(0);
    }
    72% {
      transform: translate(0, 2px) rotate(0);
    }
    74% {
      transform: translate(0, 2px) rotate(0);
    }
    76% {
      transform: translate(0, 9px) rotate(0);
    }
    78% {
      transform: translate(0, 10px) rotate(0);
    }
    80% {
      transform: translate(0, 5px) rotate(0);
    }
    82% {
      transform: translate(0, 9px) rotate(0);
    }
    84% {
      transform: translate(0, 10px) rotate(0);
    }
    86% {
      transform: translate(0, -2px) rotate(0);
    }
    88% {
      transform: translate(0, -7px) rotate(0);
    }
    90% {
      transform: translate(0, 4px) rotate(0);
    }
    92% {
      transform: translate(0, 5px) rotate(0);
    }
    94% {
      transform: translate(0, -9px) rotate(0);
    }
    96% {
      transform: translate(0, 4px) rotate(0);
    }
    98% {
      transform: translate(0, -8px) rotate(0);
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-vertical:hover,
  .shake-trigger:hover .shake-vertical,
  .shake-vertical.shake-freeze,
  .shake-vertical.shake-constant {
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-name: shake-vertical;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-rotate {
    2% {
      transform: translate(0, 0) rotate(-5.5deg);
    }
    4% {
      transform: translate(0, 0) rotate(2.5deg);
    }
    6% {
      transform: translate(0, 0) rotate(0.5deg);
    }
    8% {
      transform: translate(0, 0) rotate(1.5deg);
    }
    10% {
      transform: translate(0, 0) rotate(-6.5deg);
    }
    12% {
      transform: translate(0, 0) rotate(6.5deg);
    }
    14% {
      transform: translate(0, 0) rotate(-6.5deg);
    }
    16% {
      transform: translate(0, 0) rotate(-2.5deg);
    }
    18% {
      transform: translate(0, 0) rotate(4.5deg);
    }
    20% {
      transform: translate(0, 0) rotate(0.5deg);
    }
    22% {
      transform: translate(0, 0) rotate(-0.5deg);
    }
    24% {
      transform: translate(0, 0) rotate(2.5deg);
    }
    26% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    28% {
      transform: translate(0, 0) rotate(-3.5deg);
    }
    30% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    32% {
      transform: translate(0, 0) rotate(-0.5deg);
    }
    34% {
      transform: translate(0, 0) rotate(-6.5deg);
    }
    36% {
      transform: translate(0, 0) rotate(3.5deg);
    }
    38% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    40% {
      transform: translate(0, 0) rotate(6.5deg);
    }
    42% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    44% {
      transform: translate(0, 0) rotate(2.5deg);
    }
    46% {
      transform: translate(0, 0) rotate(0.5deg);
    }
    48% {
      transform: translate(0, 0) rotate(-1.5deg);
    }
    50% {
      transform: translate(0, 0) rotate(0.5deg);
    }
    52% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    54% {
      transform: translate(0, 0) rotate(1.5deg);
    }
    56% {
      transform: translate(0, 0) rotate(2.5deg);
    }
    58% {
      transform: translate(0, 0) rotate(1.5deg);
    }
    60% {
      transform: translate(0, 0) rotate(7.5deg);
    }
    62% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    64% {
      transform: translate(0, 0) rotate(7.5deg);
    }
    66% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    68% {
      transform: translate(0, 0) rotate(4.5deg);
    }
    70% {
      transform: translate(0, 0) rotate(-4.5deg);
    }
    72% {
      transform: translate(0, 0) rotate(-3.5deg);
    }
    74% {
      transform: translate(0, 0) rotate(3.5deg);
    }
    76% {
      transform: translate(0, 0) rotate(-1.5deg);
    }
    78% {
      transform: translate(0, 0) rotate(-4.5deg);
    }
    80% {
      transform: translate(0, 0) rotate(7.5deg);
    }
    82% {
      transform: translate(0, 0) rotate(0.5deg);
    }
    84% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    86% {
      transform: translate(0, 0) rotate(-4.5deg);
    }
    88% {
      transform: translate(0, 0) rotate(-3.5deg);
    }
    90% {
      transform: translate(0, 0) rotate(-2.5deg);
    }
    92% {
      transform: translate(0, 0) rotate(5.5deg);
    }
    94% {
      transform: translate(0, 0) rotate(-4.5deg);
    }
    96% {
      transform: translate(0, 0) rotate(-4.5deg);
    }
    98% {
      transform: translate(0, 0) rotate(4.5deg);
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-rotate:hover,
  .shake-trigger:hover .shake-rotate,
  .shake-rotate.shake-freeze,
  .shake-rotate.shake-constant {
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-name: shake-rotate;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-opacity {
    10% {
      transform: translate(4px, 5px) rotate(-1.5deg);
      opacity: 0.9;
    }
    20% {
      transform: translate(1px, 4px) rotate(-0.5deg);
      opacity: 0.37;
    }
    30% {
      transform: translate(3px, 1px) rotate(1.5deg);
      opacity: 0.69;
    }
    40% {
      transform: translate(2px, -2px) rotate(2.5deg);
      opacity: 0.83;
    }
    50% {
      transform: translate(5px, 2px) rotate(1.5deg);
      opacity: 0.57;
    }
    60% {
      transform: translate(-1px, -3px) rotate(2.5deg);
      opacity: 0.92;
    }
    70% {
      transform: translate(-3px, -1px) rotate(0.5deg);
      opacity: 0.57;
    }
    80% {
      transform: translate(3px, 5px) rotate(1.5deg);
      opacity: 0.63;
    }
    90% {
      transform: translate(-4px, 1px) rotate(-1.5deg);
      opacity: 0.45;
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-opacity:hover,
  .shake-trigger:hover .shake-opacity,
  .shake-opacity.shake-freeze,
  .shake-opacity.shake-constant {
    animation-duration: 0.5s;
    animation-iteration-count: infinite;
    animation-name: shake-opacity;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-crazy {
    10% {
      transform: translate(-14px, 11px) rotate(-1deg);
      opacity: 0.92;
    }
    20% {
      transform: translate(-8px, 12px) rotate(5deg);
      opacity: 0.13;
    }
    30% {
      transform: translate(16px, 18px) rotate(-4deg);
      opacity: 0.44;
    }
    40% {
      transform: translate(-19px, -3px) rotate(-3deg);
      opacity: 0.65;
    }
    50% {
      transform: translate(-2px, -6px) rotate(9deg);
      opacity: 0.12;
    }
    60% {
      transform: translate(-4px, 9px) rotate(-3deg);
      opacity: 0.35;
    }
    70% {
      transform: translate(3px, 14px) rotate(2deg);
      opacity: 0.93;
    }
    80% {
      transform: translate(0px, 11px) rotate(2deg);
      opacity: 0.88;
    }
    90% {
      transform: translate(-1px, -15px) rotate(-5deg);
      opacity: 0.77;
    }
    0%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-crazy:hover,
  .shake-trigger:hover .shake-crazy,
  .shake-crazy.shake-freeze,
  .shake-crazy.shake-constant {
    animation-duration: 100ms;
    animation-iteration-count: infinite;
    animation-name: shake-crazy;
    animation-timing-function: ease-in-out;
  }
  @keyframes shake-chunk {
    2% {
      transform: translate(-9px, 7px) rotate(0deg);
    }
    4% {
      transform: translate(-6px, 5px) rotate(15deg);
    }
    6% {
      transform: translate(-3px, 3px) rotate(6deg);
    }
    8% {
      transform: translate(6px, -9px) rotate(0deg);
    }
    10% {
      transform: translate(10px, 9px) rotate(10deg);
    }
    12% {
      transform: translate(-13px, 2px) rotate(13deg);
    }
    14% {
      transform: translate(4px, -6px) rotate(6deg);
    }
    16% {
      transform: translate(12px, 14px) rotate(-3deg);
    }
    18% {
      transform: translate(1px, -9px) rotate(-5deg);
    }
    20% {
      transform: translate(6px, -2px) rotate(-4deg);
    }
    22% {
      transform: translate(-12px, 11px) rotate(11deg);
    }
    24% {
      transform: translate(8px, 10px) rotate(10deg);
    }
    26% {
      transform: translate(-14px, -11px) rotate(-3deg);
    }
    28% {
      transform: translate(-6px, 4px) rotate(10deg);
    }
    30% {
      transform: translate(2px, 10px) rotate(-1deg);
    }
    32% {
      transform: translate(2px, -2px) rotate(10deg);
    }
    34% {
      transform: translate(9px, -14px) rotate(8deg);
    }
    36% {
      transform: translate(15px, 12px) rotate(-14deg);
    }
    38% {
      transform: translate(-1px, -8px) rotate(12deg);
    }
    0%, 40%, 100% {
      transform: translate(0, 0) rotate(0);
    }
  }
  .shake-chunk:hover,
  .shake-trigger:hover .shake-chunk,
  .shake-chunk.shake-freeze,
  .shake-chunk.shake-constant {
    animation-duration: 4s;
    animation-iteration-count: infinite;
    animation-name: shake-chunk;
    animation-timing-function: ease-in-out;
  }
  @charset "UTF-8";
  /*!
  Animate.css - http://daneden.me/animate
  Licensed under the MIT license - http://opensource.org/licenses/MIT
  
  Copyright (c) 2015 Daniel Eden
  */
  
  .animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
  }
  .animated.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
  }
  .animated.bounceIn,
  .animated.bounceOut {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
  }
  .animated.flipOutX,
  .animated.flipOutY {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
  }
  @-webkit-keyframes bounce {
    from, 20%, 53%, 80%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    40%, 43% {
      -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      -webkit-transform: translate3d(0, -30px, 0);
      transform: translate3d(0, -30px, 0);
    }
    70% {
      -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      -webkit-transform: translate3d(0, -15px, 0);
      transform: translate3d(0, -15px, 0);
    }
    90% {
      -webkit-transform: translate3d(0, -4px, 0);
      transform: translate3d(0, -4px, 0);
    }
  }
  @keyframes bounce {
    from, 20%, 53%, 80%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    40%, 43% {
      -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      -webkit-transform: translate3d(0, -30px, 0);
      transform: translate3d(0, -30px, 0);
    }
    70% {
      -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      -webkit-transform: translate3d(0, -15px, 0);
      transform: translate3d(0, -15px, 0);
    }
    90% {
      -webkit-transform: translate3d(0, -4px, 0);
      transform: translate3d(0, -4px, 0);
    }
  }
  .bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  @-webkit-keyframes flash {
    from, 50%, to {
      opacity: 1;
    }
    25%, 75% {
      opacity: 0;
    }
  }
  @keyframes flash {
    from, 50%, to {
      opacity: 1;
    }
    25%, 75% {
      opacity: 0;
    }
  }
  .flash {
    -webkit-animation-name: flash;
    animation-name: flash;
  }
  /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  
  @-webkit-keyframes pulse {
    from {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
    50% {
      -webkit-transform: scale3d(1.05, 1.05, 1.05);
      transform: scale3d(1.05, 1.05, 1.05);
    }
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes pulse {
    from {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
    50% {
      -webkit-transform: scale3d(1.05, 1.05, 1.05);
      transform: scale3d(1.05, 1.05, 1.05);
    }
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  .pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
  }
  @-webkit-keyframes rubberBand {
    from {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
    30% {
      -webkit-transform: scale3d(1.25, 0.75, 1);
      transform: scale3d(1.25, 0.75, 1);
    }
    40% {
      -webkit-transform: scale3d(0.75, 1.25, 1);
      transform: scale3d(0.75, 1.25, 1);
    }
    50% {
      -webkit-transform: scale3d(1.15, 0.85, 1);
      transform: scale3d(1.15, 0.85, 1);
    }
    65% {
      -webkit-transform: scale3d(0.95, 1.05, 1);
      transform: scale3d(0.95, 1.05, 1);
    }
    75% {
      -webkit-transform: scale3d(1.05, 0.95, 1);
      transform: scale3d(1.05, 0.95, 1);
    }
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes rubberBand {
    from {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
    30% {
      -webkit-transform: scale3d(1.25, 0.75, 1);
      transform: scale3d(1.25, 0.75, 1);
    }
    40% {
      -webkit-transform: scale3d(0.75, 1.25, 1);
      transform: scale3d(0.75, 1.25, 1);
    }
    50% {
      -webkit-transform: scale3d(1.15, 0.85, 1);
      transform: scale3d(1.15, 0.85, 1);
    }
    65% {
      -webkit-transform: scale3d(0.95, 1.05, 1);
      transform: scale3d(0.95, 1.05, 1);
    }
    75% {
      -webkit-transform: scale3d(1.05, 0.95, 1);
      transform: scale3d(1.05, 0.95, 1);
    }
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  .rubberBand {
    -webkit-animation-name: rubberBand;
    animation-name: rubberBand;
  }
  @-webkit-keyframes shake {
    from, to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    10%, 30%, 50%, 70%, 90% {
      -webkit-transform: translate3d(-10px, 0, 0);
      transform: translate3d(-10px, 0, 0);
    }
    20%, 40%, 60%, 80% {
      -webkit-transform: translate3d(10px, 0, 0);
      transform: translate3d(10px, 0, 0);
    }
  }
  @keyframes shake {
    from, to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    10%, 30%, 50%, 70%, 90% {
      -webkit-transform: translate3d(-10px, 0, 0);
      transform: translate3d(-10px, 0, 0);
    }
    20%, 40%, 60%, 80% {
      -webkit-transform: translate3d(10px, 0, 0);
      transform: translate3d(10px, 0, 0);
    }
  }
  .shake {
    -webkit-animation-name: shake;
    animation-name: shake;
  }
  @-webkit-keyframes swing {
    20% {
      -webkit-transform: rotate3d(0, 0, 1, 15deg);
      transform: rotate3d(0, 0, 1, 15deg);
    }
    40% {
      -webkit-transform: rotate3d(0, 0, 1, -10deg);
      transform: rotate3d(0, 0, 1, -10deg);
    }
    60% {
      -webkit-transform: rotate3d(0, 0, 1, 5deg);
      transform: rotate3d(0, 0, 1, 5deg);
    }
    80% {
      -webkit-transform: rotate3d(0, 0, 1, -5deg);
      transform: rotate3d(0, 0, 1, -5deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 1, 0deg);
      transform: rotate3d(0, 0, 1, 0deg);
    }
  }
  @keyframes swing {
    20% {
      -webkit-transform: rotate3d(0, 0, 1, 15deg);
      transform: rotate3d(0, 0, 1, 15deg);
    }
    40% {
      -webkit-transform: rotate3d(0, 0, 1, -10deg);
      transform: rotate3d(0, 0, 1, -10deg);
    }
    60% {
      -webkit-transform: rotate3d(0, 0, 1, 5deg);
      transform: rotate3d(0, 0, 1, 5deg);
    }
    80% {
      -webkit-transform: rotate3d(0, 0, 1, -5deg);
      transform: rotate3d(0, 0, 1, -5deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 1, 0deg);
      transform: rotate3d(0, 0, 1, 0deg);
    }
  }
  .swing {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing;
  }
  @-webkit-keyframes tada {
    from {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
    10%, 20% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
      transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }
    30%, 50%, 70%, 90% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }
    40%, 60%, 80% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes tada {
    from {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
    10%, 20% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
      transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }
    30%, 50%, 70%, 90% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }
    40%, 60%, 80% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }
    to {
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  .tada {
    -webkit-animation-name: tada;
    animation-name: tada;
  }
  /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  
  @-webkit-keyframes wobble {
    from {
      -webkit-transform: none;
      transform: none;
    }
    15% {
      -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
      transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }
    30% {
      -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
      transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }
    45% {
      -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
      transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }
    60% {
      -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
      transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }
    75% {
      -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
      transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes wobble {
    from {
      -webkit-transform: none;
      transform: none;
    }
    15% {
      -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
      transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }
    30% {
      -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
      transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }
    45% {
      -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
      transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }
    60% {
      -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
      transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }
    75% {
      -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
      transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  .wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
  }
  @-webkit-keyframes jello {
    from, 11.1%, to {
      -webkit-transform: none;
      transform: none;
    }
    22.2% {
      -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
      transform: skewX(-12.5deg) skewY(-12.5deg);
    }
    33.3% {
      -webkit-transform: skewX(6.25deg) skewY(6.25deg);
      transform: skewX(6.25deg) skewY(6.25deg);
    }
    44.4% {
      -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
      transform: skewX(-3.125deg) skewY(-3.125deg);
    }
    55.5% {
      -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
      transform: skewX(1.5625deg) skewY(1.5625deg);
    }
    66.6% {
      -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
      transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }
    77.7% {
      -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
      transform: skewX(0.390625deg) skewY(0.390625deg);
    }
    88.8% {
      -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
      transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
  }
  @keyframes jello {
    from, 11.1%, to {
      -webkit-transform: none;
      transform: none;
    }
    22.2% {
      -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
      transform: skewX(-12.5deg) skewY(-12.5deg);
    }
    33.3% {
      -webkit-transform: skewX(6.25deg) skewY(6.25deg);
      transform: skewX(6.25deg) skewY(6.25deg);
    }
    44.4% {
      -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
      transform: skewX(-3.125deg) skewY(-3.125deg);
    }
    55.5% {
      -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
      transform: skewX(1.5625deg) skewY(1.5625deg);
    }
    66.6% {
      -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
      transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }
    77.7% {
      -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
      transform: skewX(0.390625deg) skewY(0.390625deg);
    }
    88.8% {
      -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
      transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
  }
  .jello {
    -webkit-animation-name: jello;
    animation-name: jello;
    -webkit-transform-origin: center;
    transform-origin: center;
  }
  @-webkit-keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    20% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1);
      transform: scale3d(1.1, 1.1, 1.1);
    }
    40% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9);
      transform: scale3d(0.9, 0.9, 0.9);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(1.03, 1.03, 1.03);
      transform: scale3d(1.03, 1.03, 1.03);
    }
    80% {
      -webkit-transform: scale3d(0.97, 0.97, 0.97);
      transform: scale3d(0.97, 0.97, 0.97);
    }
    to {
      opacity: 1;
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes bounceIn {
    from, 20%, 40%, 60%, 80%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    20% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1);
      transform: scale3d(1.1, 1.1, 1.1);
    }
    40% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9);
      transform: scale3d(0.9, 0.9, 0.9);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(1.03, 1.03, 1.03);
      transform: scale3d(1.03, 1.03, 1.03);
    }
    80% {
      -webkit-transform: scale3d(0.97, 0.97, 0.97);
      transform: scale3d(0.97, 0.97, 0.97);
    }
    to {
      opacity: 1;
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  .bounceIn {
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
  }
  @-webkit-keyframes bounceInDown {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      -webkit-transform: translate3d(0, -3000px, 0);
      transform: translate3d(0, -3000px, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(0, 25px, 0);
      transform: translate3d(0, 25px, 0);
    }
    75% {
      -webkit-transform: translate3d(0, -10px, 0);
      transform: translate3d(0, -10px, 0);
    }
    90% {
      -webkit-transform: translate3d(0, 5px, 0);
      transform: translate3d(0, 5px, 0);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes bounceInDown {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      -webkit-transform: translate3d(0, -3000px, 0);
      transform: translate3d(0, -3000px, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(0, 25px, 0);
      transform: translate3d(0, 25px, 0);
    }
    75% {
      -webkit-transform: translate3d(0, -10px, 0);
      transform: translate3d(0, -10px, 0);
    }
    90% {
      -webkit-transform: translate3d(0, 5px, 0);
      transform: translate3d(0, 5px, 0);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  .bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown;
  }
  @-webkit-keyframes bounceInLeft {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      -webkit-transform: translate3d(-3000px, 0, 0);
      transform: translate3d(-3000px, 0, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(25px, 0, 0);
      transform: translate3d(25px, 0, 0);
    }
    75% {
      -webkit-transform: translate3d(-10px, 0, 0);
      transform: translate3d(-10px, 0, 0);
    }
    90% {
      -webkit-transform: translate3d(5px, 0, 0);
      transform: translate3d(5px, 0, 0);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes bounceInLeft {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      -webkit-transform: translate3d(-3000px, 0, 0);
      transform: translate3d(-3000px, 0, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(25px, 0, 0);
      transform: translate3d(25px, 0, 0);
    }
    75% {
      -webkit-transform: translate3d(-10px, 0, 0);
      transform: translate3d(-10px, 0, 0);
    }
    90% {
      -webkit-transform: translate3d(5px, 0, 0);
      transform: translate3d(5px, 0, 0);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  .bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft;
  }
  @-webkit-keyframes bounceInRight {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
      opacity: 0;
      -webkit-transform: translate3d(3000px, 0, 0);
      transform: translate3d(3000px, 0, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(-25px, 0, 0);
      transform: translate3d(-25px, 0, 0);
    }
    75% {
      -webkit-transform: translate3d(10px, 0, 0);
      transform: translate3d(10px, 0, 0);
    }
    90% {
      -webkit-transform: translate3d(-5px, 0, 0);
      transform: translate3d(-5px, 0, 0);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes bounceInRight {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
      opacity: 0;
      -webkit-transform: translate3d(3000px, 0, 0);
      transform: translate3d(3000px, 0, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(-25px, 0, 0);
      transform: translate3d(-25px, 0, 0);
    }
    75% {
      -webkit-transform: translate3d(10px, 0, 0);
      transform: translate3d(10px, 0, 0);
    }
    90% {
      -webkit-transform: translate3d(-5px, 0, 0);
      transform: translate3d(-5px, 0, 0);
    }
    to {
      -webkit-transform: none;
      transform: none;
    }
  }
  .bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight;
  }
  @-webkit-keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 3000px, 0);
      transform: translate3d(0, 3000px, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(0, -20px, 0);
      transform: translate3d(0, -20px, 0);
    }
    75% {
      -webkit-transform: translate3d(0, 10px, 0);
      transform: translate3d(0, 10px, 0);
    }
    90% {
      -webkit-transform: translate3d(0, -5px, 0);
      transform: translate3d(0, -5px, 0);
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 3000px, 0);
      transform: translate3d(0, 3000px, 0);
    }
    60% {
      opacity: 1;
      -webkit-transform: translate3d(0, -20px, 0);
      transform: translate3d(0, -20px, 0);
    }
    75% {
      -webkit-transform: translate3d(0, 10px, 0);
      transform: translate3d(0, 10px, 0);
    }
    90% {
      -webkit-transform: translate3d(0, -5px, 0);
      transform: translate3d(0, -5px, 0);
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  .bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp;
  }
  @-webkit-keyframes bounceOut {
    20% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9);
      transform: scale3d(0.9, 0.9, 0.9);
    }
    50%, 55% {
      opacity: 1;
      -webkit-transform: scale3d(1.1, 1.1, 1.1);
      transform: scale3d(1.1, 1.1, 1.1);
    }
    to {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
  }
  @keyframes bounceOut {
    20% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9);
      transform: scale3d(0.9, 0.9, 0.9);
    }
    50%, 55% {
      opacity: 1;
      -webkit-transform: scale3d(1.1, 1.1, 1.1);
      transform: scale3d(1.1, 1.1, 1.1);
    }
    to {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
  }
  .bounceOut {
    -webkit-animation-name: bounceOut;
    animation-name: bounceOut;
  }
  @-webkit-keyframes bounceOutDown {
    20% {
      -webkit-transform: translate3d(0, 10px, 0);
      transform: translate3d(0, 10px, 0);
    }
    40%, 45% {
      opacity: 1;
      -webkit-transform: translate3d(0, -20px, 0);
      transform: translate3d(0, -20px, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, 2000px, 0);
      transform: translate3d(0, 2000px, 0);
    }
  }
  @keyframes bounceOutDown {
    20% {
      -webkit-transform: translate3d(0, 10px, 0);
      transform: translate3d(0, 10px, 0);
    }
    40%, 45% {
      opacity: 1;
      -webkit-transform: translate3d(0, -20px, 0);
      transform: translate3d(0, -20px, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, 2000px, 0);
      transform: translate3d(0, 2000px, 0);
    }
  }
  .bounceOutDown {
    -webkit-animation-name: bounceOutDown;
    animation-name: bounceOutDown;
  }
  @-webkit-keyframes bounceOutLeft {
    20% {
      opacity: 1;
      -webkit-transform: translate3d(20px, 0, 0);
      transform: translate3d(20px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(-2000px, 0, 0);
      transform: translate3d(-2000px, 0, 0);
    }
  }
  @keyframes bounceOutLeft {
    20% {
      opacity: 1;
      -webkit-transform: translate3d(20px, 0, 0);
      transform: translate3d(20px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(-2000px, 0, 0);
      transform: translate3d(-2000px, 0, 0);
    }
  }
  .bounceOutLeft {
    -webkit-animation-name: bounceOutLeft;
    animation-name: bounceOutLeft;
  }
  @-webkit-keyframes bounceOutRight {
    20% {
      opacity: 1;
      -webkit-transform: translate3d(-20px, 0, 0);
      transform: translate3d(-20px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(2000px, 0, 0);
      transform: translate3d(2000px, 0, 0);
    }
  }
  @keyframes bounceOutRight {
    20% {
      opacity: 1;
      -webkit-transform: translate3d(-20px, 0, 0);
      transform: translate3d(-20px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(2000px, 0, 0);
      transform: translate3d(2000px, 0, 0);
    }
  }
  .bounceOutRight {
    -webkit-animation-name: bounceOutRight;
    animation-name: bounceOutRight;
  }
  @-webkit-keyframes bounceOutUp {
    20% {
      -webkit-transform: translate3d(0, -10px, 0);
      transform: translate3d(0, -10px, 0);
    }
    40%, 45% {
      opacity: 1;
      -webkit-transform: translate3d(0, 20px, 0);
      transform: translate3d(0, 20px, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, -2000px, 0);
      transform: translate3d(0, -2000px, 0);
    }
  }
  @keyframes bounceOutUp {
    20% {
      -webkit-transform: translate3d(0, -10px, 0);
      transform: translate3d(0, -10px, 0);
    }
    40%, 45% {
      opacity: 1;
      -webkit-transform: translate3d(0, 20px, 0);
      transform: translate3d(0, 20px, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, -2000px, 0);
      transform: translate3d(0, -2000px, 0);
    }
  }
  .bounceOutUp {
    -webkit-animation-name: bounceOutUp;
    animation-name: bounceOutUp;
  }
  @-webkit-keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
  }
  @-webkit-keyframes fadeInDown {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInDown {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
  }
  @-webkit-keyframes fadeInDownBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, -2000px, 0);
      transform: translate3d(0, -2000px, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInDownBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, -2000px, 0);
      transform: translate3d(0, -2000px, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig;
  }
  @-webkit-keyframes fadeInLeft {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInLeft {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
  }
  @-webkit-keyframes fadeInLeftBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-2000px, 0, 0);
      transform: translate3d(-2000px, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInLeftBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-2000px, 0, 0);
      transform: translate3d(-2000px, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig;
  }
  @-webkit-keyframes fadeInRight {
    from {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInRight {
    from {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
  }
  @-webkit-keyframes fadeInRightBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(2000px, 0, 0);
      transform: translate3d(2000px, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInRightBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(2000px, 0, 0);
      transform: translate3d(2000px, 0, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig;
  }
  @-webkit-keyframes fadeInUp {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInUp {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
  }
  @-webkit-keyframes fadeInUpBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 2000px, 0);
      transform: translate3d(0, 2000px, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes fadeInUpBig {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, 2000px, 0);
      transform: translate3d(0, 2000px, 0);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig;
  }
  @-webkit-keyframes fadeOut {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @keyframes fadeOut {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  .fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
  }
  @-webkit-keyframes fadeOutDown {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
    }
  }
  @keyframes fadeOutDown {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
    }
  }
  .fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
  }
  @-webkit-keyframes fadeOutDownBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, 2000px, 0);
      transform: translate3d(0, 2000px, 0);
    }
  }
  @keyframes fadeOutDownBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, 2000px, 0);
      transform: translate3d(0, 2000px, 0);
    }
  }
  .fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig;
  }
  @-webkit-keyframes fadeOutLeft {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
    }
  }
  @keyframes fadeOutLeft {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
    }
  }
  .fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft;
  }
  @-webkit-keyframes fadeOutLeftBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(-2000px, 0, 0);
      transform: translate3d(-2000px, 0, 0);
    }
  }
  @keyframes fadeOutLeftBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(-2000px, 0, 0);
      transform: translate3d(-2000px, 0, 0);
    }
  }
  .fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig;
  }
  @-webkit-keyframes fadeOutRight {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
    }
  }
  @keyframes fadeOutRight {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
    }
  }
  .fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight;
  }
  @-webkit-keyframes fadeOutRightBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(2000px, 0, 0);
      transform: translate3d(2000px, 0, 0);
    }
  }
  @keyframes fadeOutRightBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(2000px, 0, 0);
      transform: translate3d(2000px, 0, 0);
    }
  }
  .fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig;
  }
  @-webkit-keyframes fadeOutUp {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
    }
  }
  @keyframes fadeOutUp {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
    }
  }
  .fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
  }
  @-webkit-keyframes fadeOutUpBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, -2000px, 0);
      transform: translate3d(0, -2000px, 0);
    }
  }
  @keyframes fadeOutUpBig {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(0, -2000px, 0);
      transform: translate3d(0, -2000px, 0);
    }
  }
  .fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig;
  }
  @-webkit-keyframes flip {
    from {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
    }
    40% {
      -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
      transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
    }
    50% {
      -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
      transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    80% {
      -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
      transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    to {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
  }
  @keyframes flip {
    from {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
    }
    40% {
      -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
      transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out;
    }
    50% {
      -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
      transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    80% {
      -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
      transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    to {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
  }
  .animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip;
  }
  @-webkit-keyframes flipInX {
    from {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
      opacity: 0;
    }
    40% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    60% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
      transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
      opacity: 1;
    }
    80% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
      transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }
    to {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
  }
  @keyframes flipInX {
    from {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
      opacity: 0;
    }
    40% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    60% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
      transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
      opacity: 1;
    }
    80% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
      transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }
    to {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
  }
  .flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX;
  }
  @-webkit-keyframes flipInY {
    from {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
      opacity: 0;
    }
    40% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    60% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
      transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
      opacity: 1;
    }
    80% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }
    to {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
  }
  @keyframes flipInY {
    from {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
      opacity: 0;
    }
    40% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
      -webkit-animation-timing-function: ease-in;
      animation-timing-function: ease-in;
    }
    60% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
      transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
      opacity: 1;
    }
    80% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }
    to {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
  }
  .flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY;
  }
  @-webkit-keyframes flipOutX {
    from {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
    30% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      opacity: 1;
    }
    to {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      opacity: 0;
    }
  }
  @keyframes flipOutX {
    from {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
    30% {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      opacity: 1;
    }
    to {
      -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      opacity: 0;
    }
  }
  .flipOutX {
    -webkit-animation-name: flipOutX;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
  }
  @-webkit-keyframes flipOutY {
    from {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
    30% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
      opacity: 1;
    }
    to {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      opacity: 0;
    }
  }
  @keyframes flipOutY {
    from {
      -webkit-transform: perspective(400px);
      transform: perspective(400px);
    }
    30% {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
      transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
      opacity: 1;
    }
    to {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      opacity: 0;
    }
  }
  .flipOutY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY;
  }
  @-webkit-keyframes lightSpeedIn {
    from {
      -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
      transform: translate3d(100%, 0, 0) skewX(-30deg);
      opacity: 0;
    }
    60% {
      -webkit-transform: skewX(20deg);
      transform: skewX(20deg);
      opacity: 1;
    }
    80% {
      -webkit-transform: skewX(-5deg);
      transform: skewX(-5deg);
      opacity: 1;
    }
    to {
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  @keyframes lightSpeedIn {
    from {
      -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
      transform: translate3d(100%, 0, 0) skewX(-30deg);
      opacity: 0;
    }
    60% {
      -webkit-transform: skewX(20deg);
      transform: skewX(20deg);
      opacity: 1;
    }
    80% {
      -webkit-transform: skewX(-5deg);
      transform: skewX(-5deg);
      opacity: 1;
    }
    to {
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  .lightSpeedIn {
    -webkit-animation-name: lightSpeedIn;
    animation-name: lightSpeedIn;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  @-webkit-keyframes lightSpeedOut {
    from {
      opacity: 1;
    }
    to {
      -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
      transform: translate3d(100%, 0, 0) skewX(30deg);
      opacity: 0;
    }
  }
  @keyframes lightSpeedOut {
    from {
      opacity: 1;
    }
    to {
      -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
      transform: translate3d(100%, 0, 0) skewX(30deg);
      opacity: 0;
    }
  }
  .lightSpeedOut {
    -webkit-animation-name: lightSpeedOut;
    animation-name: lightSpeedOut;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  @-webkit-keyframes rotateIn {
    from {
      -webkit-transform-origin: center;
      transform-origin: center;
      -webkit-transform: rotate3d(0, 0, 1, -200deg);
      transform: rotate3d(0, 0, 1, -200deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: center;
      transform-origin: center;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  @keyframes rotateIn {
    from {
      -webkit-transform-origin: center;
      transform-origin: center;
      -webkit-transform: rotate3d(0, 0, 1, -200deg);
      transform: rotate3d(0, 0, 1, -200deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: center;
      transform-origin: center;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  .rotateIn {
    -webkit-animation-name: rotateIn;
    animation-name: rotateIn;
  }
  @-webkit-keyframes rotateInDownLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, -45deg);
      transform: rotate3d(0, 0, 1, -45deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  @keyframes rotateInDownLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, -45deg);
      transform: rotate3d(0, 0, 1, -45deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  .rotateInDownLeft {
    -webkit-animation-name: rotateInDownLeft;
    animation-name: rotateInDownLeft;
  }
  @-webkit-keyframes rotateInDownRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, 45deg);
      transform: rotate3d(0, 0, 1, 45deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  @keyframes rotateInDownRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, 45deg);
      transform: rotate3d(0, 0, 1, 45deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  .rotateInDownRight {
    -webkit-animation-name: rotateInDownRight;
    animation-name: rotateInDownRight;
  }
  @-webkit-keyframes rotateInUpLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, 45deg);
      transform: rotate3d(0, 0, 1, 45deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  @keyframes rotateInUpLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, 45deg);
      transform: rotate3d(0, 0, 1, 45deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  .rotateInUpLeft {
    -webkit-animation-name: rotateInUpLeft;
    animation-name: rotateInUpLeft;
  }
  @-webkit-keyframes rotateInUpRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, -90deg);
      transform: rotate3d(0, 0, 1, -90deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  @keyframes rotateInUpRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, -90deg);
      transform: rotate3d(0, 0, 1, -90deg);
      opacity: 0;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: none;
      transform: none;
      opacity: 1;
    }
  }
  .rotateInUpRight {
    -webkit-animation-name: rotateInUpRight;
    animation-name: rotateInUpRight;
  }
  @-webkit-keyframes rotateOut {
    from {
      -webkit-transform-origin: center;
      transform-origin: center;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: center;
      transform-origin: center;
      -webkit-transform: rotate3d(0, 0, 1, 200deg);
      transform: rotate3d(0, 0, 1, 200deg);
      opacity: 0;
    }
  }
  @keyframes rotateOut {
    from {
      -webkit-transform-origin: center;
      transform-origin: center;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: center;
      transform-origin: center;
      -webkit-transform: rotate3d(0, 0, 1, 200deg);
      transform: rotate3d(0, 0, 1, 200deg);
      opacity: 0;
    }
  }
  .rotateOut {
    -webkit-animation-name: rotateOut;
    animation-name: rotateOut;
  }
  @-webkit-keyframes rotateOutDownLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, 45deg);
      transform: rotate3d(0, 0, 1, 45deg);
      opacity: 0;
    }
  }
  @keyframes rotateOutDownLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, 45deg);
      transform: rotate3d(0, 0, 1, 45deg);
      opacity: 0;
    }
  }
  .rotateOutDownLeft {
    -webkit-animation-name: rotateOutDownLeft;
    animation-name: rotateOutDownLeft;
  }
  @-webkit-keyframes rotateOutDownRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, -45deg);
      transform: rotate3d(0, 0, 1, -45deg);
      opacity: 0;
    }
  }
  @keyframes rotateOutDownRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, -45deg);
      transform: rotate3d(0, 0, 1, -45deg);
      opacity: 0;
    }
  }
  .rotateOutDownRight {
    -webkit-animation-name: rotateOutDownRight;
    animation-name: rotateOutDownRight;
  }
  @-webkit-keyframes rotateOutUpLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, -45deg);
      transform: rotate3d(0, 0, 1, -45deg);
      opacity: 0;
    }
  }
  @keyframes rotateOutUpLeft {
    from {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate3d(0, 0, 1, -45deg);
      transform: rotate3d(0, 0, 1, -45deg);
      opacity: 0;
    }
  }
  .rotateOutUpLeft {
    -webkit-animation-name: rotateOutUpLeft;
    animation-name: rotateOutUpLeft;
  }
  @-webkit-keyframes rotateOutUpRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, 90deg);
      transform: rotate3d(0, 0, 1, 90deg);
      opacity: 0;
    }
  }
  @keyframes rotateOutUpRight {
    from {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      opacity: 1;
    }
    to {
      -webkit-transform-origin: right bottom;
      transform-origin: right bottom;
      -webkit-transform: rotate3d(0, 0, 1, 90deg);
      transform: rotate3d(0, 0, 1, 90deg);
      opacity: 0;
    }
  }
  .rotateOutUpRight {
    -webkit-animation-name: rotateOutUpRight;
    animation-name: rotateOutUpRight;
  }
  @-webkit-keyframes hinge {
    0% {
      -webkit-transform-origin: top left;
      transform-origin: top left;
      -webkit-animation-timing-function: ease-in-out;
      animation-timing-function: ease-in-out;
    }
    20%, 60% {
      -webkit-transform: rotate3d(0, 0, 1, 80deg);
      transform: rotate3d(0, 0, 1, 80deg);
      -webkit-transform-origin: top left;
      transform-origin: top left;
      -webkit-animation-timing-function: ease-in-out;
      animation-timing-function: ease-in-out;
    }
    40%, 80% {
      -webkit-transform: rotate3d(0, 0, 1, 60deg);
      transform: rotate3d(0, 0, 1, 60deg);
      -webkit-transform-origin: top left;
      transform-origin: top left;
      -webkit-animation-timing-function: ease-in-out;
      animation-timing-function: ease-in-out;
      opacity: 1;
    }
    to {
      -webkit-transform: translate3d(0, 700px, 0);
      transform: translate3d(0, 700px, 0);
      opacity: 0;
    }
  }
  @keyframes hinge {
    0% {
      -webkit-transform-origin: top left;
      transform-origin: top left;
      -webkit-animation-timing-function: ease-in-out;
      animation-timing-function: ease-in-out;
    }
    20%, 60% {
      -webkit-transform: rotate3d(0, 0, 1, 80deg);
      transform: rotate3d(0, 0, 1, 80deg);
      -webkit-transform-origin: top left;
      transform-origin: top left;
      -webkit-animation-timing-function: ease-in-out;
      animation-timing-function: ease-in-out;
    }
    40%, 80% {
      -webkit-transform: rotate3d(0, 0, 1, 60deg);
      transform: rotate3d(0, 0, 1, 60deg);
      -webkit-transform-origin: top left;
      transform-origin: top left;
      -webkit-animation-timing-function: ease-in-out;
      animation-timing-function: ease-in-out;
      opacity: 1;
    }
    to {
      -webkit-transform: translate3d(0, 700px, 0);
      transform: translate3d(0, 700px, 0);
      opacity: 0;
    }
  }
  .hinge {
    -webkit-animation-name: hinge;
    animation-name: hinge;
  }
  /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  
  @-webkit-keyframes rollIn {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
      transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  @keyframes rollIn {
    from {
      opacity: 0;
      -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
      transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }
    to {
      opacity: 1;
      -webkit-transform: none;
      transform: none;
    }
  }
  .rollIn {
    -webkit-animation-name: rollIn;
    animation-name: rollIn;
  }
  /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  
  @-webkit-keyframes rollOut {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
      transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
  }
  @keyframes rollOut {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
      transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
  }
  .rollOut {
    -webkit-animation-name: rollOut;
    animation-name: rollOut;
  }
  @-webkit-keyframes zoomIn {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    50% {
      opacity: 1;
    }
  }
  @keyframes zoomIn {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    50% {
      opacity: 1;
    }
  }
  .zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
  }
  @-webkit-keyframes zoomInDown {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  @keyframes zoomInDown {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown;
  }
  @-webkit-keyframes zoomInLeft {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  @keyframes zoomInLeft {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft;
  }
  @-webkit-keyframes zoomInRight {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  @keyframes zoomInRight {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight;
  }
  @-webkit-keyframes zoomInUp {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  @keyframes zoomInUp {
    from {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp;
  }
  @-webkit-keyframes zoomOut {
    from {
      opacity: 1;
    }
    50% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
      opacity: 0;
    }
  }
  @keyframes zoomOut {
    from {
      opacity: 1;
    }
    50% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
      opacity: 0;
    }
  }
  .zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut;
  }
  @-webkit-keyframes zoomOutDown {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    to {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
      -webkit-transform-origin: center bottom;
      transform-origin: center bottom;
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  @keyframes zoomOutDown {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    to {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
      -webkit-transform-origin: center bottom;
      transform-origin: center bottom;
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomOutDown {
    -webkit-animation-name: zoomOutDown;
    animation-name: zoomOutDown;
  }
  @-webkit-keyframes zoomOutLeft {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
      transform: scale(0.1) translate3d(-2000px, 0, 0);
      -webkit-transform-origin: left center;
      transform-origin: left center;
    }
  }
  @keyframes zoomOutLeft {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
      transform: scale(0.1) translate3d(-2000px, 0, 0);
      -webkit-transform-origin: left center;
      transform-origin: left center;
    }
  }
  .zoomOutLeft {
    -webkit-animation-name: zoomOutLeft;
    animation-name: zoomOutLeft;
  }
  @-webkit-keyframes zoomOutRight {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
      transform: scale(0.1) translate3d(2000px, 0, 0);
      -webkit-transform-origin: right center;
      transform-origin: right center;
    }
  }
  @keyframes zoomOutRight {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }
    to {
      opacity: 0;
      -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
      transform: scale(0.1) translate3d(2000px, 0, 0);
      -webkit-transform-origin: right center;
      transform-origin: right center;
    }
  }
  .zoomOutRight {
    -webkit-animation-name: zoomOutRight;
    animation-name: zoomOutRight;
  }
  @-webkit-keyframes zoomOutUp {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    to {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
      -webkit-transform-origin: center bottom;
      transform-origin: center bottom;
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  @keyframes zoomOutUp {
    40% {
      opacity: 1;
      -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    to {
      opacity: 0;
      -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
      -webkit-transform-origin: center bottom;
      transform-origin: center bottom;
      -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomOutUp {
    -webkit-animation-name: zoomOutUp;
    animation-name: zoomOutUp;
  }
  @-webkit-keyframes slideInDown {
    from {
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes slideInDown {
    from {
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
  }
  @-webkit-keyframes slideInLeft {
    from {
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes slideInLeft {
    from {
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
  }
  @-webkit-keyframes slideInRight {
    from {
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes slideInRight {
    from {
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
  }
  @-webkit-keyframes slideInUp {
    from {
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes slideInUp {
    from {
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
      visibility: visible;
    }
    to {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp;
  }
  @-webkit-keyframes slideOutDown {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
    }
  }
  @keyframes slideOutDown {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(0, 100%, 0);
      transform: translate3d(0, 100%, 0);
    }
  }
  .slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown;
  }
  @-webkit-keyframes slideOutLeft {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
    }
  }
  @keyframes slideOutLeft {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
    }
  }
  .slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
  }
  @-webkit-keyframes slideOutRight {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
    }
  }
  @keyframes slideOutRight {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
    }
  }
  .slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight;
  }
  @-webkit-keyframes slideOutUp {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
    }
  }
  @keyframes slideOutUp {
    from {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    to {
      visibility: hidden;
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
    }
  }
  .slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
  }
  .static {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
    opacity: 0.65;
    /* @TODO NOT FOUND.. breaks webpack build!
    background: url("../img/noise.gif") no-repeat 50% 50%;*/
    background-size: cover;
  }
  .dude {
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* @TODO NOT FOUND.. breaks webpack build!
    background: url("../img/dude.png") no-repeat 50% 50%;*/
    background-size: cover;
  }
  canvas {
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .caps {
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: as 8s linear infinite;
  }
  .caps img {
    display: block;
    width: 100%;
    height: 100%;
  }
  @keyframes as {
    0% {
      opacity: 0;
    }
    10% {
      opacity: .3;
    }
    20% {
      opacity: .1;
    }
    30% {
      opacity: .5;
    }
    40% {
      opacity: 0;
    }
    50% {
      opacity: .8;
    }
    55% {
      opacity: 0;
    }
    55% {
      opacity: 0;
    }
  }
  .frame {
    z-index: 3;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: -moz-radial-gradient(center, ellipse cover, transparent 0%, transparent 19%, rgba(0, 0, 0, 0.9) 100%);
    /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, transparent), color-stop(19%, transparent), color-stop(100%, rgba(0, 0, 0, 0.9)));
    /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, transparent 0%, transparent 19%, rgba(0, 0, 0, 0.9) 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, transparent 0%, transparent 19%, rgba(0, 0, 0, 0.9) 100%);
    /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, transparent 0%, transparent 19%, rgba(0, 0, 0, 0.9) 100%);
    /* IE10+ */
    background: radial-gradient(ellipse at center, transparent 0%, transparent 19%, rgba(0, 0, 0, 0.9) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#e6000000', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
  
  }
  .frame div {
    position: absolute;
    left: 0;
    top: -20%;
    width: 100%;
    height: 20%;
    background-color: rgba(0, 0, 0, 0.12);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    animation: asd 12s linear infinite;
  }
  .frame div:nth-child(1) {
    animation-delay: 0;
  }
  .frame div:nth-child(2) {
    animation-delay: 4s;
  }
  .frame div:nth-child(3) {
    animation-delay: 8s;
  }
  @keyframes asd {
    0% {
      top: -20%;
    }
    100% {
      top: 100%;
    }
  }
  table p,
  table div {
    margin: 0;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
  }
  h1,
  h2,
  h3 {
    font-weight: 300;
    text-align: center;
    margin: 1em 0;
  }
  h1 {
    font-size: 2.618em;
  }
  h2 {
    font-size: 1.618em;
  }
  h3 {
    font-size: 1em;
    text-transform: uppercase;
    margin-top: 0;
    color: rgba(255, 255, 255, 0.54);
  }
  h3 + h2 {
    margin: 0;
  }
  .num {
    font-family: "Source Code Pro", monospace;
  }
  .bad {
    color: #fa1f1e;
  }
  .good {
    color: #62c462;
  }
  .block {
    min-height: 100vh;
    display: flex;
    align-items: center;
  }
  .block.light {
    background: #eceff1;
  }
  .block .span4 {
    box-sizing: border-box;
    text-align: center;
  }
  .badge {
    color: black;
    border-radius: 22px;
    padding: 0 0.5em;
    font-weight: 900;
    border: 1px solid #dddddd;
  }
  .badge.gold {
    color: gold;
    border-color: gold;
  }
  .badge.silver {
    color: silver;
    border-color: silver;
  }
  .badge.bronze {
    color: #ff5d0d;
    border-color: #ff5d0d;
  }
  /* ==========================================================================
     Helper classes
     ========================================================================== */
  
  /*
   * Hide visually and from screen readers:
   */
  
  .hidden {
    display: none !important;
  }
  /*
   * Hide only visually, but have it available for screen readers:
   * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
   */
  
  .visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  /*
   * Extends the .visuallyhidden class to allow the element
   * to be focusable when navigated to via the keyboard:
   * https://www.drupal.org/node/897638
   */
  
  .visuallyhidden.focusable:active,
  .visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
  }
  /*
   * Hide visually and from screen readers, but maintain layout
   */
  
  .invisible {
    visibility: hidden;
  }
  /*
   * Clearfix: contain floats
   *
   * For modern browsers
   * 1. The space content is one way to avoid an Opera bug when the
   *    `contenteditable` attribute is included anywhere else in the document.
   *    Otherwise it causes space to appear at the top and bottom of elements
   *    that receive the `clearfix` class.
   * 2. The use of `table` rather than `block` is only necessary if using
   *    `:before` to contain the top-margins of child elements.
   */
  
  .clearfix:before,
  .clearfix:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
  
  }
  .clearfix:after {
    clear: both;
  }
  /* ==========================================================================
     EXAMPLE Media Queries for Responsive Design.
     These examples override the primary ('mobile first') styles.
     Modify as content requires.
     ========================================================================== */
  
  @media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
  }
  @media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
  }
  /* ==========================================================================
     Print styles.
     Inlined to avoid the additional HTTP request:
     http://www.phpied.com/delay-loading-your-print-css/
     ========================================================================== */
  
  @media print {
    *,
    *:before,
    *:after {
      background: transparent !important;
      color: black !important;
      /* Black prints faster:
                                       http://www.sanbeiji.com/archives/953 */
      box-shadow: none !important;
      text-shadow: none !important;
    }
    a,
    a:visited {
      text-decoration: underline;
    }
    a[href]:after {
      content: " (" attr(href) ")";
    }
    abbr[title]:after {
      content: " (" attr(title) ")";
    }
    /*
         * Don't show links that are fragment identifiers,
         * or use the `javascript:` pseudo protocol
         */
    
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
      content: "";
    }
    pre,
    blockquote {
      border: 1px solid #999999;
      page-break-inside: avoid;
    }
    /*
         * Printing Tables:
         * http://css-discuss.incutio.com/wiki/Printing_Tables
         */
    
    thead {
      display: table-header-group;
    }
    tr,
    img {
      page-break-inside: avoid;
    }
    img {
      max-width: 100% !important;
    }
    p,
    h2,
    h3 {
      orphans: 3;
      widows: 3;
    }
    h2,
    h3 {
      page-break-after: avoid;
    }
  }