<svg style="display: none;">
  <symbol id="dribbble-logo" viewBox="0 0 32 32">
    <circle fill="#EA4C89" cx="16" cy="16" r="16"/><path fill="#C02261" d="M16 .002c-8.838 0-16 7.164-16 16s7.162 16 16 16 16-7.164 16-16-7.164-16-16-16zm10.498 7.744c1.72 2.184 2.773 4.912 2.855 7.88-3.59-.628-6.686-.647-9.36-.223-.34-.778-.688-1.534-1.046-2.266 2.87-1.18 5.442-2.9 7.55-5.39zm-1.84-1.912c-1.885 2.287-4.25 3.86-6.926 4.932-1.713-3.174-3.476-5.82-4.883-7.75 1.01-.247 2.062-.38 3.147-.38 3.303 0 6.325 1.207 8.66 3.198zM10.253 3.937c1.36 1.817 3.172 4.45 4.943 7.676-3.754 1.03-7.953 1.31-12.203 1.32.938-3.975 3.652-7.27 7.26-8.996zM2.633 16l.013-.43h.072c4.762 0 9.49-.313 13.73-1.562.315.643.626 1.303.93 1.982-5.577 1.635-9.054 5.305-11.437 8.797-2.054-2.35-3.304-5.424-3.304-8.786h-.002zM7.89 26.614c2.255-3.398 5.4-6.76 10.514-8.173 1.195 3.064 2.17 6.407 2.687 9.917-1.568.65-3.287 1.012-5.09 1.012-3.05 0-5.86-1.028-8.11-2.756zm15.66.41c-.548-3.208-1.444-6.267-2.522-9.103 2.338-.295 5.025-.223 8.142.35-.624 3.622-2.706 6.75-5.62 8.755v-.002z"/>
  </symbol>
</svg>

<div class="dribbble-card">
  <div class="logo">
    <svg role="img" aria-labeledby="icon-logo">
      <title id="icon-logo">Dribbble Logo</title>
      <use xlink:href="#dribbble-logo"></use>
    </svg>
    <span class="badge" aria-label="Notification badge">2</span>
  </div>
  <h3><span>x2</span> Dribbble Invite</h3>
  <a href="#0">Get</a>
</div>

$brandPrimary: #ed548f;
$brandSecondary: #50bde0;

html, body { height: 100vh; }

body {
  background: linear-gradient(45deg, darken($brandPrimary,20%) 0%, $brandPrimary 100%);
  margin: 50px;
  height: 100%;
  perspective: 2000px;
  overflow: hidden;
}

.dribbble-card {
  
  background: #fff;
  border-radius: 15px;
  padding: 130px 30px 100px;
  max-width: 300px;
  text-align: center;
  margin: 0 auto;
  transform: rotateX(32deg) rotateZ(-32deg) scale(0);
  animation: rise 1s .3s forwards;
  opacity: 0;
  will-change: transform, opacity;
  
  .logo {
    width: 150px;
    height: 150px;
    margin: 0 auto;
    border-radius: 100%;
    box-shadow: 0 0 30px darken($brandPrimary,20%);
    position: relative;
    svg {
      width: 150px;
      height: 150px;
      animation: rotate 1s forwards;
      will-change: transform;
    }
  }
  
  .badge {
    background: $brandSecondary;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    color: #fff;
    display: block;
    font-size: 25px;
    line-height: 40px;
    font-weight: bold;
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    animation: appear .3s 1.2s forwards;
    will-change: transform, opacity;
  }
  
  h3 {
    font-size: 25px;
    color: $brandPrimary;
    margin-bottom: 100px;
  }
  
  h3 span {
    color: $brandSecondary;
  }
  
  a {
    background: $brandPrimary;
    display: inline-block;
    color: #fff;
    padding: 8px 50px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 20px;
    border-radius: 30px;
    font-weight: bold;
  }
  
}

@keyframes rise {
  0% {
    transform: rotateX(0) rotateZ(-0) scale(1);
  }
  50% {
    transform: rotateX(32deg) rotateZ(-32deg) scale(1.5);
  }
  100% {
    opacity: 1;
    box-shadow: -30px 30px 54px 0 rgba(0, 0, 0, 0.5);
    transform: rotateX(32deg) rotateZ(-32deg) scale(1.3);
  }
}

@keyframes appear {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(3);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes rotate {
  100% { transform: rotate(360deg); }
}
View Compiled
// inspiration: https://dribbble.com/shots/2827016-2-Dribbble-Invite

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.