<div class="download">
  <figure class="app-icon"></figure>
  
  <h1 class="download__title">Double sun</h1>
  <h2 class="download__subtitle">Wake up smarter, today.</h2>
  
  <div class="download__row">
  <a href="#" class="icon-link icon-link--apple"><svg class="icon" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8.112 4.59c.54 0 1.544-.743 2.85-.743 2.25 0 3.135 1.6 3.135 1.6s-1.73.885-1.73 3.032c0 2.42 2.155 3.25 2.155 3.25s-1.507 4.24-3.542 4.24c-.935 0-1.662-.63-2.647-.63-1.004 0-2 .65-2.648.65-1.86 0-4.207-4.03-4.207-7.26 0-3.19 1.988-4.85 3.852-4.85 1.21 0 2.152.69 2.782.69zm.563-3.198C9.725.007 11.188 0 11.188 0s.217 1.303-.827 2.558c-1.11 1.34-2.38 1.12-2.38 1.12s-.24-1.054.7-2.286z"/></svg>
  <span class="icon-link__text">
    <span class="icon-link__eyebrow">Download on the</span>
    <span class="icon-link__source">App Store</span>
  </span>
  </a>

<a href="#" class="icon-link icon-link--google">
  <svg class="icon" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M.814 0c-.02.062-.04.123-.04.205v15.487c0 .144.04.226.122.308l7.61-8.062L.814 0zM9.02 8.472l1.968 2.03-2.81 1.6s-3.57 2.03-5.538 3.16l6.38-6.79zm.533-.554l2.112 2.195c.33-.185 2.913-1.662 3.282-1.867.39-.225.35-.533.02-.697-.307-.17-2.89-1.65-3.28-1.89L9.552 7.92zm-.534-.533l1.99-2.113-2.84-1.62S3.54 1.004 2 .12l7.02 7.266z"/></svg>
  <span class="icon-link__text">
    <span class="icon-link__eyebrow">Get it on</span>
    <span class="icon-link__source">Google Play</span>
  </span>
  </a>
  </div>
</div>
$color-primary: #20BEFF;

:root,
html {
  font-size: 10px;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  font-size: 1.6rem;
  font-family: 'Poppins', sans-serif;
  line-height: 1.5;
  background: linear-gradient(to left top, rgba(#febcc5, 0.2), rgba(#37d9d5, 0.2));
  -webkit-font-smoothing: antialiased;
}

.download {
  display: flex;
  flex-direction: column;
  align-items: center;
  
  &__row {
    display: flex;
    flex-direction: column;
    
    @media (min-width: 35em) {
      flex-direction: row;
    }
  }
  
  &__title, 
  &__subtitle {
    color: mix(#999, $color-primary, 90%);
    text-align: center;
  }
  
  &__title {
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.1em;
            margin: 0.5em 0 0;
    animation: fadeSlideDown 1s cubic-bezier(0.55, 0.15, 0.45, 0.85);
    
    @media (min-width: 50em) {
      font-size: 2.5vw;
    }
  }
  
  &__subtitle {
    font-weight: 200;
    margin: 0 0 1em;
    animation: fadeSlideUp 1s cubic-bezier(0.55, 0.15, 0.45, 0.85);
    
    @media (min-width: 50em) {
      font-size: 2vw;
    }
  }
}

.phone {
  display: block;
  width: 50%;
}

.icon {
  height: 2.5rem;
  display: inline-block;
  margin-right: 2rem;
}

span {
  display: inline-block;
}

.app-icon {
  position: relative;
  width: 10rem;
  height: 10rem;
  border-radius: 10rem / 57rem * 10rem;
  background-color: $color-primary;
  background: linear-gradient(to left top, rgba($color-primary, 1), rgba(#37d9d5, 1));
  overflow: hidden;
  box-shadow: 0 14px 33px rgba($color-primary,0.2);
  animation: fadeSlideUpSlow 8s cubic-bezier(0.55, 0.15, 0.45, 0.85);
  
  &:before, 
  &:after {
    content: "";
    display: block;
    position: absolute;
    margin: auto;
  }
  
  &:before {
    width: 3rem;
    height: 3rem;
    background: lighten(#37d9d5, 30);
    border-radius: 50%;
    left: 0;
    right: 0;
    top: 4.5rem;
    box-shadow: 0 0 20px lighten(#37d9d5, 40);
  }
  
  &:after {
    width: 3rem;
    height: 3rem;
    background: lighten(#37d9d5, 38);
    border-radius: 50%;
    left: 0;
    right: 0;
    bottom: 4.5rem;
    box-shadow: 0 0 20px lighten(#37d9d5, 40);
  }
}

.icon-link {
  min-width: 18rem;
  background: $color-primary;
  display: flex;
  align-items: center;
  margin: 1rem;
  padding: 2rem 2.5rem 2rem 2rem;
  text-decoration: none;
  border-radius: 0.5rem;
  //border-radius: 20rem;
  color: #fff;
  animation: turnUp 0.3s cubic-bezier(0.55, 0.15, 0.45, 0.85);
  transition: box-shadow 0.2s cubic-bezier(0.55, 0.15, 0.45, 0.85);
  
  &__eyebrow {
    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
  }
  
  &__source {
    font-size: 2rem;
    line-height: 1;
  }
  
  svg {
    fill: #fff;
  }
  
  &:hover,
  &:focus, 
  &:active {
    color: #fff;
    box-shadow: 0 14px 33px rgba($color-primary,.09);
    
    svg {
      fill: #fff;
    }
  }
  
  &--apple {
    &:hover,
    &:focus, 
    &:active {
      background: #999;
    }
  }
  
  &--google {
    &:hover,
    &:focus, 
    &:active {
      background: #607D8B;
    }
  }
}

@keyframes turnUp {
  from {
    transform: scale(0.9) rotate(3deg) translate3d(0, 10%, 0);
  }
}

@keyframes fadeSlideUp {
  from {
    opacity: 0.8;
    transform: translate3d(0, 3%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeSlideDown {
  from {
    opacity: 0.8;
    transform: translate3d(0, -3%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeSlideUpSlow {
  from {
    opacity: 0.8;
    transform: translate3d(0, 15%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
View Compiled
// Giggity

External CSS

  1. https://fonts.googleapis.com/css?family=Poppin

External JavaScript

  1. //codepen.io/larsmagnus/pen/xLMyXp.js