/* Basic Styling */
body{margin:0}
.shop-sign {
  position: absolute;
  left: 50%;
  margin-left: -190px;
  margin-top: 50px;
  width: 380px;
}

.demo {
  position: relative;
  font-family: 'Nunito', sans-serif;
  color: white;
  width: 100%;
  height: 650px;
}

.contain-all {
  margin: auto;
  width: 150px;
}

a {
  position: relative;
  display: block;
  margin: auto;
  padding-top: 50px;
  text-decoration: none;
  color: white;
  width: 150px;
  height: 150px;
}

a:visited {
  text-decoration: none;
  color: inherit;
}

a:active {
  text-decoration: none;
  color: inherit;
}

.icon-hook {
  position: relative;
}

.icon-hook:after {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.icon-hook > svg {
  pointer-events: none;
}

.contain-card {
  padding-top: 75px;
  height: 350px;
}

.demo-1 {
  background: #e3da74;
}

.demo-2 {
  background: #b2c460;
}

.demo-3 {
  background: #f69159;
}

.demo-4 {
  background: #fcab54;
}

.demo-5 {
  background: #e3da74;
}

svg {
  position: absolute;
  z-index: 5;
}

.text {
  position: absolute;
  font-size: 20px;
  font-weight: bold;
}

.save-text {
  top: 140px;
}

.gift-text {
  top: 150px;
  left: 2px;
}

.favorite-text {
  top: 160px;
  left: -15px;
  width: 180px;
}

.truck-text {
  top: 170px;
  left: -20px;
  width: 180px;
}

footer {
  position: relative;
  background: #e3da74;
  height: 250px;
  font-family: 'Nunito', sans-serif;
  color: white;
  font-size: 18px;
}

.by-heart {
  position: absolute;
  top: -2px;
}

.by {
  margin-left: 55px;
}

.byline {
  position: absolute;
  top: 35px;
  left: 120px;
  padding: 0;
  margin: 0;
  height: 20px;
}

.byline:hover {
  color: #fcab54;
}

.contain-footer-info {
  position: absolute;
  top: 100px;
  left: 50%;
  margin-left: -200px;
  text-align: center;
  width: 400px;
  height: 50px;
}

/* Cart Demo 1 */
.check-1 {
  opacity: 0;
  -webkit-transform-origin: center;
}

.apple-1 {
  position: absolute;
  opacity: 0;
  top: 30px;
  left: 42px;
  width: 45px;
  -webkit-transform: rotate(-40deg);
}

.active .apple-1 {
  -webkit-animation: add-apple-1 2s forwards;
}

.active .cart-plus-1 {
  -webkit-animation: added 1s forwards;
}

.active .check-1 {
  -webkit-animation: checked 1s forwards;
}


@-webkit-keyframes add-apple-1 {
  50% {
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(57px);
    opacity: 1;
  }
}

@-webkit-keyframes added {
  1% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes checked {
  50% {
    opacity: 1;
    -webkit-transform: scale(1.5);
  }
  100% {
    opacity: 1;
  }
}

/* Cart Demo 2 */
.cart-2 {
  padding-top: 50px;
}

.lime-1 {
  position: absolute;
  top: 96px;
  left: 37px;
  -webkit-transform: rotate(-20deg);
  opacity: 0;
  width: 55px;
}

.center-line {
  stroke-dasharray: 50;  
}

.check-2 {
  opacity: 0;
}

.active .center-line {
  -webkit-animation: draw-cart 3s forwards;
}

.active .lime-1 {
  -webkit-animation: lime-appear 1s 1s forwards;
}

.active .cart-plus-2 {
  stroke: #7aa23f;
}

@-webkit-keyframes lime-appear {
  50% {
    opacity: 1;
    -webkit-transform: scale(.5);
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes draw-cart {
  0% {
    stroke-dashoffset: 0;
  }
  25% {
    stroke-dashoffset: 50;
  }
  50% {
    stroke-dashoffset: 50;
  }
  75% {
    stroke-dashoffset: 50;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* Cart Demo 3 */
.one {
  position: absolute;
  top: 65px;
  left: 47px;
  color: #ef9234;
  font-size: 55px;
  opacity: 0;
  -webkit-transform: scale(.1) rotate(260deg);
}

.center-line-3 {
  stroke-dasharray: 50;
}

.active .center-line-3 {
  -webkit-animation: remove-middle 1s forwards;
}

.active .one {
  -webkit-animation: count 1500ms 500ms forwards;
}

.active .cart-plus-3 {
  stroke: #7aa23f;
}

@-webkit-keyframes count {
  50% {
    opacity: 1;
    -webkit-transform: translateY(-45px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(15px);
  }
}

@-webkit-keyframes remove-middle {
  to {
    stroke-dashoffset: 50;
  }
}

/* Save Demo 1 */
.star-icon {
  left: 25px;
  width: 80px;
}

.star-dashes-1 {
  opacity: 0;
}

.star-check-1 {
  opacity: 1;
  stroke-dasharray: 22;
  stroke-dashoffset: 22;
}

.active .star-dashes-1 {
  -webkit-animation: flash-1 1s forwards;
}

.active .star-check-1 {
  -webkit-animation: star-checked-1 1s forwards;
}

@-webkit-keyframes flash-1 {
  50% {
    opacity: 1;
  }
}

@-webkit-keyframes star-checked-1 {
  50% {
    stroke-dashoffset: 0;
  }
  75% {
    stroke-dashoffset: 0;
    -webkit-transform-origin: center;
    -webkit-transform: rotate(360deg) scale(1.5);
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* Save Demo 2 */
.star-dashes-2 {
  opacity: 0;
  -webkit-transform-origin: center;
  -webkit-transform: scale(.5);
}

.active .star-dashes-2 {
  -webkit-animation: dashes-2 2s forwards;
}

.active .main-star-2 {
  fill: yellow;
  -webkit-transform: rotate(360deg);
}

@-webkit-keyframes dashes-2 {
  50% {
    opacity: 1;
    stroke: #f9f706;
    -webkit-transform: rotate(360deg);
  }
}

/* Save Demo 3 */
.main-star-4 {
  z-index: 10;
  stroke-dasharray: 310;
  stroke-dashoffset: 310; 
}

.active .main-star-4 {
  -webkit-animation: draw-star-3 2s forwards;
  fill: #f9f706;
}

@-webkit-keyframes draw-star-3 {
  50% {
    stroke-dashoffset: 0;
  }
}

/* Gift Demo 1 */
.box-icon {
  left: 30px;
}

.bow-1 {
  stroke-dasharray: 140;
  stroke-dashoffset: -140;
}

.bow-1-right {
  stroke-dashoffset: 140;
}

.active .bow-1 {
  -webkit-animation: draw-bow-1 1s forwards;
}

.active .bow-1-right {
  -webkit-animation: draw-bow-1 1s 1s forwards;
}

@-webkit-keyframes draw-bow-1 {
  1% {
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* Gift Demo 2 */
.bow-2 {
  opacity: 0;
  stroke-dasharray: 140;
  stroke-dashoffset: 140;
}

.lemon-gift-2 {
  position: absolute;
  top: 97px;
  left: 42px;
  -webkit-tranform-origin: center;
  -webkit-transform: scale(.5) rotate(-180deg);
  opacity: 0;
  width: 50px;
}

.active .box-top-2 {
  -webkit-animation: open-2 2s forwards;
}

.active .lemon-gift-2 {
  -webkit-animation: lemon-appear-2 1s 500ms forwards;
}

.active .bow-2 {
  -webkit-animation: draw-bow-2 1s 2s forwards;
}

@-webkit-keyframes draw-bow-2 {
  1% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes open-2 {
  50% {
    -webkit-transform: translateY(-25px);
  }
}

@-webkit-keyframes lemon-appear-2 {
  to {
    opacity: 1;
    -webkit-transform: rotate(-20deg) scale(1);
  }
}

/* Gift Demo 3 */
.bow-3 {
  opacity: 0;
  stroke-dasharray: 140;
  stroke-dashoffset: -140;
}

.lime-2 {
  position: absolute;
  top: 98px;
  left: 43px;
  -webkit-transform: rotate(-20deg);
  opacity: 0;
  width: 48px;
}

.active .box-icon-3 {
  -webkit-animation: expand-gift 1s 1s forwards;
}

.active .lime-2 {
  -webkit-animation: show-lime 1s forwards, expand-gift 1s 1s forwards;
}

.active .bow-3 {
  -webkit-animation: draw-bow-3 1s 1s forwards;
}

@-webkit-keyframes show-lime {
  to {
    opacity: 1;
  }
}

@-webkit-keyframes draw-bow-3 {
  1% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes expand-gift {
  50% {
    -webkit-transform: scale(1.2);
  }
}

/* Favorites Demo 1 */
.heart-icon {
  top: 75px;
  left: 22px;
}

.loader-1 {
  opacity: 0;
  -webkit-transform: scale(.3);
}

.active .heart-1 {
  -webkit-transform-origin: center;
  -webkit-animation: grow-heart 500ms 2s forwards;
  stroke: #ec6d46;
}

.active .loader-1-l {
  -webkit-animation: load-1 500ms 500ms forwards;
}

.active .loader-1-m {
  -webkit-animation: load-1 500ms 1s forwards;
}

.active .loader-1-r {
  -webkit-animation: load-1 500ms 1500ms forwards;
}

@-webkit-keyframes load-1 {
  50% {
    opacity: 1;
    -webkit-transform-origin: center;
    -webkit-transform: scale(2);
  }
}

@-webkit-keyframes grow-heart {
  50% {
    -webkit-transform: scale(.3);
  }
}

/* Favorites Demo 2 */
.heart-2 {
  -webkit-transform-origin: bottom;
  transition: stroke 1s 1s ease;
}

.active .heart-2 {
  -webkit-animation: heart-beat 1s forwards;
  stroke: #ec6d46;
}

@-webkit-keyframes heart-beat {
  25% {
    -webkit-transform: scale(.3); 
  }
  50% {
    -webkit-transform: scale(1);
  }
  75% {
    -webkit-transform: scale(.3);
  }
  100% {
    -webkit-transform: scale(1);
  }
}

/* Favorites Demo 3 */
.heart-3 {
  -webkit-transform-origin: center;
  stroke-dasharray: 135;
}

.active .heart-3 {
  -webkit-animation: draw-heart-3 2s forwards;
  stroke: #ec6d46;
}

@-webkit-keyframes draw-heart-3 {
  0% {
    stroke-dashoffset: -135;
    -webkit-transform: scale(.2) rotate(-280deg);
  }
  30% {
    stroke-dashoffset: 135;
    -webkit-transform: scale(.4) rotate(280deg);
  }
  60% {
    stroke-dashoffset: -135;
     -webkit-transform: scale(.6);
  }
  100% {
    stroke-dashoffset: 0;
    stroke: #ec6d46;
  }
}

/* Truck Icon Demo 1 */
.truck-icon {
  top: 60px;
}

.inside-truck {
  position: absolute;
  top: 67px;
  left: 2px;
  width: 77px;
}

.active .truck-back-1 {
  -webkit-transform-origin: center;
  -webkit-animation: truck-flip 2s forwards, add-orange 1s 1s forwards;
}

.active .inside-truck {
  -webkit-transform-origin: center;
  -webkit-animation: truck-flip 2s forwards;
}

.active .tire-plus-1 {
  -webkit-animation: turn-plus 1s 500ms forwards;
  stroke: #7aa23f;
}

@-webkit-keyframes turn-plus {
  50% {
    -webkit-transform-origin: center;
    -webkit-transform: scale(1.5);
  }
  100% {
    -webkit-transform-origin: center;
    -webkit-transform: rotate(45deg);
  }
}

@-webkit-keyframes truck-flip {
  50% {
    -webkit-transform: scale(.7);
  }
  100% {
    -webkit-transform: scale(1) rotateY(180deg);
  }
}

@-webkit-keyframes add-orange {
  to {
    fill: none;
    stroke: none;
  }
}

/* Truck Icon Demo 2 */
.truck-grapes {
  position: absolute;
  top: 67px;
  left: 20px;
  -webkit-transform-origin: center;
  -webkit-transform: scale(.2);
  opacity: 0;
  width: 40px;
}

.active .truck-grapes {
  -webkit-animation: add-truck-grapes 2s forwards;
}

.active .tire-plus-2 {
  -webkit-transform-origin: center;
  -webkit-animation: drive-plus 1s forwards, enlarge-plus-2 1s 1s forwards;
  stroke: #7aa23f;
}

.active .tire-2 {
  -webkit-transform-origin: center;
  -webkit-animation: enlarge-plus-2 1s 1s forwards;
  stroke: #7aa23f;
}

@-webkit-keyframes drive-plus {
  1% {
    -webkit-transform: rotate(-20000deg);
  }
}

@-webkit-keyframes enlarge-plus-2 {
  50% {
    -webkit-transform: rotate(45deg) scale(1.5);
  }
  100% {
    -webkit-transform: rotate(45deg);
  }
}

@-webkit-keyframes add-truck-grapes {
  1% {
    opacity: 1;
  }

  75% {
    opacity: 1;
    -webkit-transform: scale(1.2) rotate(260deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(300deg);
  }

}

/* Truck Icon Demo 3 */
.dashes {
  position: absolute;
  top: 100px;
  left: -50px;
  opacity: 0;
  width: 40px;
}

.watermelon-truck {
  position: absolute;
  top: 60px;
  left: 6px;
  z-index: 5;
  -webkit-transform: rotateX(90deg);
  width: 70px;
}

.active .watermelon-truck {
  -webkit-animation: add-melon 1s forwards;
}

.active .dashes {
  -webkit-animation: fast 1s 500ms forwards;
}

.active .tire-plus-3 {
  -webkit-transform-origin: center;
  -webkit-animation: drive-3 1500ms 500ms forwards;
  stroke: #7aa23f;
}

@-webkit-keyframes drive-3 {
  100% {
    -webkit-transform: rotate(45deg);
  }
}

@-webkit-keyframes fast {
  to {
    opacity: 1;
  }
}

@-webkit-keyframes add-melon {
  to {
    -webkit-transform: rotateX(360deg);
  }
}

/* Footer Heart */
.by-heart-path {
  stroke-dasharray: 7;
  -webkit-animation: move-heart 1s infinite;
}

@-webkit-keyframes move-heart {
  50% {
    stroke-dashoffset: 40;
  }
}

/* Media query for layout */
@media (min-width: 800px) {
  .demo {
    height: 250px;
  }

  .contain-all {
    margin: auto;
    width: 765px;
  }

  a {
    display: inline-block;
    margin-right: 150px;
  }

  footer .byline {
    display: block;
    margin-right: 0;
  }

  .contain-icon:last-of-type {
    margin-right: 0;
  }

}
