/*! elementary v0.3.5 | git.io/elementary */
/* -- Common Definitions --*/
span[class^="e-"] {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 1em;
}

span[class^="e-"]::before,
span[class^="e-"]::after {
  box-sizing: border-box;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
}

/* -- Rotation classes -- */
.e-45 {
  transform: rotate(45deg);
}

.e-90 {
  transform: rotate(90deg);
}

.e-180 {
  transform: rotate(180deg);
}

.e-270 {
  transform: rotate(270deg);
}

/* -- Size classes -- */
.e-lg {
  font-size: 1.333em;
}

.e-2x {
  font-size: 2em;
}

.e-3x {
  font-size: 3em;
}

.e-4x {
  font-size: 4em;
}

.e-5x {
  font-size: 5em;
}

/* -- Bars -- */
span.e-bars {
  width: 1em;
  height: .124em;
  box-shadow: inset 0 0 0 9em, 0 -.247em, 0 .247em;
  border-radius: .04em;
}

/* -- Home -- */
span.e-home {
  width: .9em;
  height: .54em;
  border: 0 solid;
  border-width: .27em .36em 0;
}
span.e-home::before {
  border: .445em solid;
  width: .891em;
  height: .891em;
  transform: rotate(45deg) translate(0) perspective(9em);
  left: -.355em;
  top: -.63em;
  border-radius: .09em;
  border-bottom-color: transparent;
  border-right-color: transparent;
}

/* -- Lock -- */
span.e-lock::before {
  width: .8em;
  height: .56em;
  box-shadow: inset 0 0 0 9em;
  border-radius: .06em;
  top: auto;
  bottom: 0;
  left: 50%;
  margin-left: -.4em;
}

span.e-lock::after {
  width: .55em;
  height: .764em;
  border-radius: .3em;
  border: .15em solid;
  left: 50%;
  margin-left: -.275em;
}

/* -- Mail -- */
span.e-mail {
  width: 1em;
  height: .75em;
  overflow: hidden;
  border-radius: .05em;
  border: .1em solid;
  position: relative;
  top: -.05em;
}
span.e-mail::before {
  border: .104em solid;
  position: absolute;
  width: .812em;
  height: .812em;
  transform: rotate(45deg) skew(-15deg, -15deg);
  top: -.36em;
  border-radius: .05em;
}

/* -- Search -- */
span.e-search {
  width: .8em;
  height: .8em;
  border: .15em solid;
  border-radius: 50%;
  top: -.125em;
  margin-right: .2em;
  margin-bottom: .2em;
}
span.e-search::after {
  width: .15em;
  height: .449em;
  box-shadow: 0 0 0 9em inset;
  border-radius: 0 0 .075em .075em;
  transform: rotate(-45deg);
  top: .438em;
  left: .588em;
}

/* -- Loader -- */
span.e-loader::before,
span.e-loader::after,
span.e-loader {
  border-radius: 50%;
  width: .333em;
  height: .333em;
  box-shadow: 0 .333em 0 -.111em;
  transform: translatez(0);
  animation: e-p 1.1s infinite linear;
}

span.e-loader {
  top: -.133em;
  margin: 0 .333em .667em;
  animation-delay: .176s;
}

span.e-loader::before {
  left: -.333em;
}

span.e-loader::after {
  left: .333em;
  animation-delay: .352s;
}

@keyframes e-p {
  20%,
  80%,
  100% {
    box-shadow: 0 .333em 0 -.111em;
  }
  50% {
    box-shadow: 0 .333em 0 0;
  }
}

/* -- Check -- */
span.e-check::after {
  width: .849em;
  height: .566em;
  border-width: 0 0 .2em .2em;
  border-style: solid;
  transform: rotate(-45deg) perspective(9em);
  top: .088em;
  left: .076em;
}

/* -- Times -- */
span.e-times::before,
span.e-times::after {
  width: 1em;
  height: .2em;
  box-shadow: inset 0 0 0 9em;
  top: .4em;
  left: 0;
  transform: rotate(45deg);
}

span.e-times::after {
  transform: rotate(-45deg);
}

/* -- Gear -- */
span.e-gear {
  height: .9em;
  width: .9em;
  border-radius: 50%;
  overflow: hidden;
  margin-left: .05em;
  margin-right: .05em;
}
span.e-gear::before {
  height: .713em;
  width: .713em;
  border: .248em solid;
  border-radius: 50%;
  left: .094em;
  top: .094em;
}
span.e-gear::after {
  height: .225em;
  width: .225em;
  border-radius: 50%;
  left: -.675em;
  top: -.675em;
  box-shadow: 1.012em .638em 0 0, 1.012em 1.388em 0 0, 1.337em .825em 0 0, 1.337em 1.2em 0 0, .688em .825em 0 0, .688em 1.2em 0 0;
}

/* -- Grid -- */
span.e-grid:after {
  height: .25em;
  width: .25em;
  top: -1em;
  box-shadow: 0 1em 0, .375em 1em 0, .75em 1em 0, 0 1.375em 0, .375em 1.375em 0, .75em 1.375em 0, 0 1.75em 0, .375em 1.75em 0, .75em 1.75em 0;
  border-radius: 10%;
}

/* -- Heart -- */
span.e-heart::before,
span.e-heart::after {
  width: .5em;
  height: .8em;
  top: .1em;
  border-radius: .25em .25em 0 0;
  transform: rotate(45deg);
  transform-origin: 100% 100%;
  box-shadow: 0 0 0 9em inset;
}

span.e-heart::after {
  left: .5em;
  transform: rotate(-45deg);
  transform-origin: 0 100%;
}