/* ===== MAIN PAGE HERO ANIMATIONS ===== */

#hero .scaling-bkg-container {
  -webkit-animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
}

#hero .scaling-text-container {
  -webkit-animation: fade-text-up 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-text-up 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

#hero .scaling-hotel-container {
  -webkit-animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

#hero .scaling-airport-container {
  -webkit-animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 1.25s;
  animation-delay: 1.25s;
}

#hero .scaling-cityhall-container {
  -webkit-animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

#hero .scaling-stadium-container {
  -webkit-animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 1.75s;
  animation-delay: 1.75s;
}

#hero .scaling-skyscraper-container {
  -webkit-animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

#hero .scaling-hospital-container {
  -webkit-animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-hero-down 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 2.25s;
  animation-delay: 2.25s;
}

#hero .scaling-airplane-container {
  -webkit-animation: fade-airplane-down 3s .2s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-airplane-down 3s .2s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

#hero .scaling-text-container {
  -webkit-animation: fade-text-up 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  animation: fade-text-up 3s .5s cubic-bezier(0, 0.5, 0, 1) forwards;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

@-webkit-keyframes fade-hero-down {
  0% {
    opacity: 0;
    transform: translateY(-7rem);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

@keyframes fade-hero-down {
  0% {
    opacity: 0;
    transform: translateY(-7rem);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

@-webkit-keyframes fade-airplane-down {
  0% {
    opacity: 0.4;
    transform: translate(40rem, -10rem);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

@keyframes fade-airplane-down {
  0% {
    opacity: 0.4;
    transform: translate(40rem, -10rem);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

@-webkit-keyframes fade-text-up {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fade-text-up {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* ===== MAIN PAGE VALUE PROPOSITIONS ANIMATIONS ===== */

#value-propositions .reveal-card {
  opacity: 0;
}

#value-propositions .reveal-show {
  -webkit-animation: reveal-show 1s ease-in forwards;
  animation: reveal-show 1s ease-in forwards;
}

#value-propositions .delay-1 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

#value-propositions .delay-2 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

#value-propositions .delay-3 {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

#value-propositions .delay-4 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

@-webkit-keyframes reveal-show {
  0% {
    transform: translateY(-80px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes reveal-show {
  0% {
    transform: translateY(-80px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

/* ==== THOUGHTLEADER ANIMATIONS ==== */

embed.reveal-ebook {
  opacity: 0;
}

.fade-in-ebook {
  -webkit-animation: reveal-ebook 1s ease-in forwards;
  animation: reveal-ebook 1s ease-in forwards;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

@-webkit-keyframes reveal-ebook {
  0% {
    transform: translateX(-80px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes reveal-ebook {
  0% {
    transform: translateX(-80px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* ==== TECHNOLOGY PROPOSITIONS ANIMATIONS ==== */

#tech-propositions .fade-in-tech {
  -webkit-animation: reveal-tech-show 1s ease-in forwards;
  animation: reveal-tech-show 1s ease-in forwards;
}

#tech-propositions .delay-1 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

#tech-propositions .delay-2 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

#tech-propositions .delay-3 {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

#tech-propositions .delay-4 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

@-webkit-keyframes reveal-tech-show {
  0% {
    transform: translateY(-80px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes reveal-tech-show {
  0% {
    transform: translateY(-80px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}


/* ==== SOLUTIONS CARDS ANIMATIONS ==== */

.solution-card-left,
.solution-card-right {
  opacity: 0;
}

.reveal-solution-left {
  -webkit-animation: reveal-solution-left .5s ease-in forwards;
  animation: reveal-solution-left .5s ease-in forwards;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.reveal-solution-right {
  -webkit-animation: reveal-solution-right .5s ease-in forwards;
  animation: reveal-solution-right .5s ease-in forwards;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

@-webkit-keyframes reveal-solution-left {
  0% {
    transform: translateX(-80px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@-webkit-keyframes reveal-solution-right {
  0% {
    transform: translateX(80px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes reveal-solution-left {
  0% {
    transform: translateX(-80px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes reveal-solution-right {
  0% {
    transform: translateX(80px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}


/* ==== SERVICES CHILD HERO ANIMATIONS ==== */

.services-ease-from-left {
  -webkit-animation: service-hero-show-left 1s ease-in forwards;
  animation: service-hero-show-left 1s ease-in forwards;
}

.services-ease-from-right {
  -webkit-animation: service-hero-show-right 1s ease-in forwards;
  animation: service-hero-show-right 1s ease-in forwards;
}

@-webkit-keyframes service-hero-show-left {
  0% {
    opacity: 0;
    transform: translateX(-80px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes service-hero-show-left {
  0% {
    opacity: 0;
    transform: translateX(-80px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@-webkit-keyframes service-hero-show-right {
  0% {
    opacity: 0;
    transform: translateX(80px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes service-hero-show-right {
  0% {
    opacity: 0;
    transform: translateX(80px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ==== SERVICE CARD ANIMATIONS ==== */

.reveal-service-card {
  opacity: 0;
}

.reveal-service-card {
  -webkit-animation: reveal-service-show 1s ease-in forwards;
  animation: reveal-service-show 1s ease-in forwards;
}

.reveal-service-equation {
  -webkit-animation: reveal-service-eq-show 2s ease-in forwards;
  animation: reveal-service-eq-show 2s ease-in forwards;
}

.delay-1 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.service-equation.delay-1 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.delay-2 {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.service-equation.delay-2 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.delay-3 {
  -webkit-animation-delay: 1.0s;
  animation-delay: 1.0s;
}

.service-equation.delay-3 {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.delay-4 {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.service-equation.delay-4 {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

.delay-5 {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.service-equation.delay-5 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s;
}

.delay-6 {
  -webkit-animation-delay: 2.3s;
  animation-delay: 2.3s;
}

@-webkit-keyframes reveal-service-eq-show {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes reveal-service-eq-show {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes reveal-service-show {
  0% {
    opacity: 0;
    transform: translateY(-80px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes reveal-service-show {
  0% {
    opacity: 0;
    transform: translateY(-80px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ==== CTA OVERLAP ANIMATIONS ==== */

.block-overlap {
  -webkit-animation: reveal-block 1s ease-in forwards;
  animation: reveal-block 1s ease-in forwards;
}

.block-overlap-wide {
  -webkit-animation: reveal-block 1s ease-in forwards;
  animation: reveal-block 1s ease-in forwards;
}

@-webkit-keyframes reveal-block {
  0% {
    opacity: 0;
    transform: translateY(80px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes reveal-block {
  0% {
    opacity: 0;
    transform: translateY(80px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ==== ICON CARD ANIMATIONS ==== */

#icon-cards .fade-in-card {
  -webkit-animation: reveal-card-show 1s ease-in forwards;
  animation: reveal-card-show 1s ease-in forwards;
}

#icon-cards .delay-1 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

#icon-cards .delay-2 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

#icon-cards .delay-3 {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

#icon-cards .delay-4 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

@-webkit-keyframes reveal-card-show {
  0% {
    transform: translateY(-80px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes reveal-card-show {
  0% {
    transform: translateY(-80px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

/* ==== PROPERTIES SVG ANIMATIONS ==== */

.properties-svg {
  -webkit-animation: properties-svg-show 1s ease-in forwards;
  animation: properties-svg-show 1s ease-in forwards;
}

@-webkit-keyframes properties-svg-show {
  0% {
    opacity: 0;
    transform: translateY(-120px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes properties-svg-show {
  0% {
    opacity: 0;
    transform: translateY(-120px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}