/* Homepage animations */
/* Default state: hidden */
.left-content > .heading,
.left-content > .text,
.left-content > .button,
.right-content > .home-image,
.bottom-row > .box,
.bottom-row > .apps,
.bottom-row > .socials {
  opacity: 0;
}

/* When .animate class is added, play animations */
.animate .left-content > .heading {
  animation: fade-in 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s both;
}
.animate .left-content > .text {
  animation: fade-in 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
}
.animate .left-content > .button {
  animation: fade-in 2.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.8s both;
}
.animate .right-content > .home-image {
  animation: fade-in 2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.8s both;
}
.animate .bottom-row > .box,
.animate .bottom-row > .apps,
.animate .bottom-row > .socials {
  animation: slide-in-bottom 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
}

/* Service page animations */
/* Default state: hidden */
.heading > h2,
.heading > p,
.serviceCards > .web,
.serviceCards > .software,
.serviceCards > .cloud,
.serviceCards > .support {
  opacity: 0;
}

.animate .heading > h2 {
  animation: slide-in-bottom 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s both;
}
.animate .heading > p {
  animation: slide-in-bottom 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s both;
}
.animate .serviceCards > .web {
  animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both;
}
.animate .serviceCards > .software {
  animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
}
.animate .serviceCards > .cloud {
  animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s both;
}
.animate .serviceCards > .support {
  animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s both;
}

/* Contact page animations */
/* Default state: hidden */
#contactForm,
.contactImage,
.contact-bottom-row > .box,
.contact-bottom-row > .apps,
.contact-bottom-row > .socials {
  opacity: 0;
}

#contactForm {
  animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both;
}
.contactImage {
  animation: slide-in-bottom 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s both;
}
.animate .contact-bottom-row > .box,
.animate .contact-bottom-row > .apps,
.animate .contact-bottom-row > .socials {
  animation: slide-in-bottom 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s both;
}

/* Slide in left */
@-webkit-keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-1000px);
    transform: translateX(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-1000px);
    transform: translateX(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}

/* Fade in */
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Slide in bottom */
@-webkit-keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
