CSS Favorite Button



ParrotCSS Favorite Button




  <div class='wrapper'>
  <h1>Pure css favorite button</h1>
  <h2>Nice little button for favoriting blog posts etc.</h2>
  <div class='wrapper_content'>
    <div class='wrapper_content__inner'>
      <input id='click' type='checkbox'>
      <label for='click'>
        <div class='favorite'>
          <div class='spinner'>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
            <div class='spinner_part'></div>
          </div>
          <div class='favorite_heart'>
            <div class='favorite_heart__left'></div>
            <div class='favorite_heart__right'></div>
          </div>
          <div class='favorite_text'>
            <span>Favorite this</span>
          </div>
        </div>
      </label>
    </div>
  </div>
</div>
<div class='love'>
  <p>Made with <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/217233/love_copy.png" /></a></p>
</div>                    
                  
                



  /* Fonts */
@import url(http://fonts.googleapis.com/css?family=Montserrat:400,700);
/* Variables */
/* Heart Vars */
/* Placeholders */
body .wrapper_content, body .wrapper_title, .favorite {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}

body {
  margin: 0;
  padding: 0;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
}

/* Styles */
body {
  font-family: "Montserrat", sans-serif;
  text-align: center;
  background-color: #2A0E22;
  height: 100vh;
  overflow: hidden;
  background-image: url("");
}
body h1 {
  color: white;
  font-size: 22px;
  margin-top: 30px;
  font-weight: 700;
}
body h2 {
  color: white;
  font-size: 12px;
  font-weight: 400;
}
body h1, body h2 {
  text-transform: uppercase;
}
body p {
  color: black;
}
body .wrapper {
  width: 380px;
  margin: 0 auto;
  height: 100%;
  position: relative;
}
body .wrapper_content {
  width: 185px;
  height: 60px;
  background-color: transparent;
  border-radius: 1px;
}
body .wrapper_title {
  float: left;
  text-align: left;
  right: auto;
  width: 320px;
  height: 230px;
}
body .wrapper_title__social a {
  position: relative;
  overflow: hidden;
  display: block !important;
  display: none;
  width: 140px;
  margin-right: 15px;
  text-decoration: none;
  padding: 0px 0px 5px 0px;
  height: 40px;
  border: 2px solid white;
  float: left;
  color: white;
  font-size: 12px;
  font-weight: 400;
  margin-top: 20px;
}
body .wrapper_title__social a .slide {
  height: 45px;
  width: 100px;
  float: left;
  position: absolute;
  transform: skew(20deg);
  left: -120px;
  transition-property: left;
  transition-duration: .2s;
  background: white;
}
body .wrapper_title__social a .slide .arrow {
  position: absolute;
  right: 31px;
  top: 24px;
  opacity: 0;
  transform: skew(-20deg);
}
body .wrapper_title__social a .slide .arrow .stem {
  width: 10px;
  height: 2px;
  background: #858490;
}
body .wrapper_title__social a .slide .arrow .point {
  width: 6px;
  height: 6px;
  border-right: 2px solid #858490;
  top: -3px;
  right: 1px;
  position: absolute;
  transform: rotate(45deg);
  border-top: 2px solid #858490;
}
body .wrapper_title__social a img {
  width: 16px;
  margin-left: 10px;
  position: relative;
  margin-right: 8px;
  transition-property: margin-left;
  transition-duration: .1s;
  margin-top: 10px;
  top: 4px;
}
body .wrapper_title__social a:hover > .slide {
  left: -70px;
  transition-property: left;
  transition-duration: .1s;
}
body .wrapper_title__social a:hover > img {
  margin-left: 40px;
  transition-property: margin-left;
  transition-duration: .1s;
}
body .wrapper_title__social a:hover > .slide .arrow {
  right: 11px;
  opacity: 1;
  transition-property: right,opacity;
  transition-delay: .07s;
  transition-duration: .2s;
}
body .love {
  position: absolute;
  right: 20px;
  bottom: 0px;
  font-size: 11px;
  font-weight: normal;
}
body .love p {
  color: white;
  font-weight: normal;
  font-family: 'Open Sans', sans-serif;
}
body .love a {
  color: white;
  font-weight: 700;
  text-decoration: none;
}
body .love img {
  position: relative;
  top: 3px;
  margin: 0px 4px;
  width: 10px;
}
body .brand {
  position: absolute;
  left: 20px;
  bottom: 14px;
}
body .brand img {
  width: 30px;
}

input {
  display: none;
}

input[type='checkbox']:checked + label > .favorite .favorite_text {
  top: 7px;
  opacity: 0;
  transition-property: top,opacity;
  transition-duration: 0.3s;
  transition-delay: .0s;
}

input[type='checkbox']:checked + label > .favorite {
  width: 20px;
  transition-delay: .2s;
  box-shadow: 0px 0px 0px 0px transparent;
}

input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(1) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.702s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(2) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.704s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(3) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.706s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(4) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.708s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(5) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.71s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(6) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.712s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(7) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.714s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(8) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.716s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(9) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.718s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(10) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.72s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(11) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.722s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(12) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.724s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(13) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.726s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(14) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.728s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(15) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.73s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(16) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.732s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(17) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.734s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(18) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.736s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(19) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.738s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(20) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.74s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(21) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.742s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(22) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.744s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(23) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.746s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(24) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.748s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(25) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.75s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(26) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.752s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(27) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.754s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(28) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.756s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(29) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.758s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(30) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.76s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(31) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.762s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(32) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.764s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(33) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transition-delay: 0.766s;
}
input[type='checkbox']:checked + label > .favorite .spinner_part:nth-of-type(34) {
  opacity: 1;
  transition-property: opacity;
  transition-duration: .1s;
  transi