/**
 * Variables
 */
/**
 * Fonts
 */
@font-face {
  font-family: Avenir35;
  font-weight: normal;
  font-style: normal;
  src: url("fonts/avenir-35.eot");
  src: url("fonts/avenir-35.eot?#iefix") format("embedded-opentype"), url("fonts/avenir-35.woff") format("woff"), url("fonts/avenir-35.ttf") format("truetype"), url("fonts/avenir-35.svg#Avenir35") format("svg"); }

@font-face {
  font-family: Avenir45;
  font-weight: normal;
  font-style: normal;
  src: url("fonts/avenir-45.eot");
  src: url("fonts/avenir-45.eot?#iefix") format("embedded-opentype"), url("fonts/avenir-45.woff") format("woff"), url("fonts/avenir-45.ttf") format("truetype"), url("fonts/avenir-45.svg#Avenir45") format("svg"); }

@font-face {
  font-family: Avenir55;
  font-weight: normal;
  font-style: normal;
  src: url("fonts/avenir-55.eot");
  src: url("fonts/avenir-55.eot?#iefix") format("embedded-opentype"), url("fonts/avenir-55.woff") format("woff"), url("fonts/avenir-55.ttf") format("truetype"), url("fonts/avenir-55.svg#Avenir55") format("svg"); }

@font-face {
  font-family: Avenir65;
  font-weight: normal;
  font-style: normal;
  src: url("fonts/avenir-65.eot");
  src: url("fonts/avenir-65.eot?#iefix") format("embedded-opentype"), url("fonts/avenir-65.woff") format("woff"), url("fonts/avenir-65.ttf") format("truetype"), url("fonts/avenir-65.svg#Avenir65") format("svg"); }

@font-face {
  font-family: Avenir85;
  font-weight: normal;
  font-style: normal;
  src: url("fonts/avenir-85.eot");
  src: url("fonts/avenir-85.eot?#iefix") format("embedded-opentype"), url("fonts/avenir-85.woff") format("woff"), url("fonts/avenir-85.ttf") format("truetype"), url("fonts/avenir-85.svg#Avenir85") format("svg"); }

/**
 * Grid
 */
/**
 * Layout
 */
html {
  font-size: 10px; }

body {
  font-size: 1.3rem;
  font-family: "Avenir35";
  position: relative;
  padding-bottom: 6rem; }

h1 {
  font-size: 5rem;
  font-family: "Avenir85";
  position: relative;
  display: inline-block; }
  @media only screen and (max-width: 480px) {
    h1 {
      max-width: 30rem; } }
  h1 .used-to {
    width: 10rem;
    height: 6.6rem;
    display: inline-block;
    position: absolute;
    top: -5rem;
    left: 3.3rem;
    background-image: url("used-to.png");
    background-size: 10rem 6.6rem;
    background-repeat: no-repeat; }
    @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 1.3 / 1), only screen and (min-resolution: 125dpi), only screen and (min-resolution: 1.3dppx) {
      h1 .used-to {
        background-image: url("used-to@2x.png");
        background-size: 10rem 6.6rem; } }
    @media only screen and (max-width: 480px) {
      h1 .used-to {
        left: 8.4rem; } }

h2 {
  font-family: "Avenir55";
  margin-bottom: 3rem; }

h4 {
  font-family: "Avenir55"; }

p {
  font-size: 1.6rem; }

#l-main-nav {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 5rem;
  border-bottom: 1px solid #ebebeb;
  background: rgba(255, 255, 255, 0.6);
  padding: 0 1.5rem; }
  #l-main-nav .abe-logo {
    position: absolute;
    left: 1rem;
    top: 0;
    width: 7.8rem;
    height: 3rem;
    margin: 1rem 0 0 0;
    background-image: url("abe.png");
    background-repeat: no-repeat;
    background-size: 7.8rem 3rem; }
    @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 1.3 / 1), only screen and (min-resolution: 125dpi), only screen and (min-resolution: 1.3dppx) {
      #l-main-nav .abe-logo {
        background-image: url("abe@2x.png");
        background-size: 7.8rem 3rem; } }

#l-main-content {
  text-align: center;
  margin: 8rem auto 0; }
  @media only screen and (max-width: 480px) {
    #l-main-content {
      margin-top: 3rem; } }

#l-thanks {
  font-size: 2rem;
  width: 80%;
  margin: 0 auto;
  text-align: center;
  margin-top: 15rem; }
  #l-thanks p {
    border-top: 1px dotted #D5DAE0;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    max-width: 27rem;
    display: inline-block; }

#l-main-footer {
  background: #FFF;
  width: 100%;
  height: 4rem;
  line-height: 4rem;
  border-top: 1px solid #ebebeb;
  text-align: center;
  color: #999;
  position: absolute;
  bottom: 0;
  left: 0; }
  @media only screen and (max-width: 480px) {
    #l-main-footer {
      position: absolute; } }
  @media only screen and (min-width: 480px) {
    #l-main-footer {
      position: fixed; } }

#l-notify {
  max-width: 55rem;
  margin: 2rem auto 0; }
  #l-notify form {
    overflow: hidden;
    text-align: center;
    margin: 0; }
    #l-notify form input {
      height: 4rem;
      border-radius: 0.5rem;
      line-height: 4rem;
      font-size: 1.6rem;
      -webkit-appearance: none;
      vertical-align: top;
      display: inline-block;
      box-sizing: border-box; }
    #l-notify form input[type="text"] {
      border: 2px solid #D5DAE0;
      padding: 0 1rem;
      outline: none;
      width: 70%; }
      #l-notify form input[type="text"]:focus {
        border-color: #3498db; }
    #l-notify form input[type="submit"] {
      width: 19%;
      margin-left: 1%;
      background: #3498db;
      color: #FFF;
      border: 0;
      padding: 0;
      outline: none; }
      #l-notify form input[type="submit"]:hover {
        background: #258cd1; }
      #l-notify form input[type="submit"]:active {
        background: #217dbb; }
    @media only screen and (max-width: 480px) {
      #l-notify form input[type="text"], #l-notify form input[type="submit"] {
        width: 90%;
        margin: 0 5% 1rem 5%;
        text-align: center; } }
    #l-notify form .unhappyMessage {
      font-size: 1.6rem;
      margin-bottom: 1rem;
      display: block;
      color: #e0222d; }

.about {
  max-width: 55rem;
  margin: 0 auto; }
  @media only screen and (max-width: 480px) {
    .about {
      padding: 0 1.5rem; } }

/**
 * Social buttons
 */
.social-buttons {
  position: fixed;
  right: 1.5rem;
  top: 1.5rem; }
  @media only screen and (max-width: 480px) {
    .social-buttons {
      position: absolute;
      top: 1.5rem; } }
  .social-buttons ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left; }
    .social-buttons ul li {
      display: inline-block; }

/**
 * Canvas
 */
#canvas {
  width: 340px;
  height: 340px;
  display: block;
  margin: 0 auto;
  -webkit-animation: rotation 20s infinite linear; }
  @media (max-width: 480px) {
    #canvas {
      width: 320px;
      height: 320px; } }

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg); }

  to {
    -webkit-transform: rotate(359deg); } }
