.link {
  width: 10rem;
  height: 10rem;
  display: inline-block;
  /*font: 300 1.55rem/1.4 "Josefin Sans";*/
  font-size:1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.175em;
  word-spacing: 0.3em;
  text-decoration: none;
}
.link__svg {
  width: 80%;
  height: auto;
  transform-box: fill-box;
  fill: #2B3338;
  stroke: #2B3338;
  stroke-width: 0.05em;
  stroke-linecap: round;
  stroke-linejoin: round;background-color:#f6f4ef;
border-radius: 50%;
padding: 5px;
}
.link__cloud {
  transform-origin: 50% 50%;
  -webkit-animation: rotate normal infinite 60s linear;
          animation: rotate normal infinite 60s linear;
  fill: rgba(255, 255, 255, 0.15);
}
.link__face, .link__arrow {
  transform-origin: 50% 50%;
  transition: transform 0.15s cubic-bezier(0.32, 0, 0.67, 0);
}
.link:hover .link__face, .link:hover .link__arrow {
  transform: scale(1.1);
  transition: transform 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.link__arrow {
  stroke-width: 0.075em;
}
.link__text {
  -webkit-animation: rotateReverse normal infinite 20s linear;
          animation: rotateReverse normal infinite 20s linear;
  transform-origin: 50% 50%;
}
.link:hover .link__text {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.link--alt {
  font-size: 1.15rem;
  letter-spacing: 0;
  word-spacing: 0;
}

@-webkit-keyframes rotate {
  to {
    transform: rotate(360deg);
  }
}

@keyframes rotate {
  to {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes rotateReverse {
  to {
    transform: rotate(-360deg);
  }
}
@keyframes rotateReverse {
  to {
    transform: rotate(-360deg);
  }
}