/* BANNER */
#banner {
  background-size: cover;
  background-position: center bottom;
  box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.2);
}

.typing {
  font-family: monospace;
  color: #0000;
  background:
    linear-gradient(-90deg, #ededed 5px, #0000 0) 10px 0,
    linear-gradient(#ededed 0 0) 0 0;
  background-size: calc(var(--n) * 1ch) 200%;
  -webkit-background-clip: padding-box, text;
  background-clip: padding-box, text;
  background-repeat: no-repeat;
  animation:
    b 1s steps(1) infinite,
    t calc(var(--n) * 0.15s) steps(var(--n)) 3 forwards;
}
@keyframes t {
  from {
    background-size: 0 200%;
  }
}
@keyframes b {
  50% {
    background-position:
      0 -100%,
      0 0;
  }
}

/* SERVICES */
.features {
  background: linear-gradient(to bottom, #eef1fa, rgba(255, 255, 255, 1));
}

.features-wrap {
  margin-right: -16px;
  margin-left: -16px;
}

.features-wrap:first-child {
  margin-top: -16px;
}

.features-wrap:last-child {
  margin-bottom: -16px;
}

.feature {
  position: relative;
  padding: 16px;
  width: 388px;
  max-width: 388px;
  flex-grow: 1;
}

.feature-inner {
  height: 100%;
  padding: 48px 24px 72px;
  box-shadow: 0 24px 48px rgba(17, 16, 62, 0.12);
  mix-blend-mode: multiply;
  position: absolute;
}

.feature-icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
}

.feature-icon::before {
  content: "";
  display: block;
  background: #fff;
  width: 64px;
  height: 64px;
  position: absolute;
  top: 12px;
  left: 12px;
  border-radius: 50%;
  box-shadow: 12px 24px 32px rgba(17, 16, 62, 0.12);
}

@media (min-width: 641px) {
  .features-wrap {
    padding-top: 24px;
    margin-right: -24px;
    margin-left: -24px;
  }

  .features-wrap:first-child {
    margin-top: -24px;
  }

  .features-wrap:last-child {
    margin-bottom: -24px;
  }

  .feature {
    padding: 24px;
  }
}

@media (min-width: 1025px) {
  .features .section-inner {
    padding-bottom: 168px;
  }

  .feature:nth-child(even) {
    top: 80px;
  }
}

.features-container {
  width: 100%;
  max-width: 1128px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 481px) {
  .features-container {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* SERU */
#feature-first img,
#feature-last img {
  width: 100%;
  max-width: 480px;
}

#feature-first {
  background: linear-gradient(168deg, #ffffff 55%, #fde353 0);
}

#feature-last {
  background: #fde353;
}

/* REVIEWS */
.testimonials-shape-1 {
  bottom: 52px;
  left: calc(50% - 80px);
}

.testimonials-shape-2 {
  top: 75px;
  left: calc(50% + 30px);
}

.testimonials-shape-3 {
  display: none;
}

.testimonials-wrap {
  margin-right: -16px;
  margin-left: -16px;
}

.testimonials-wrap:first-child {
  margin-top: -16px;
}

.testimonials-wrap:last-child {
  margin-bottom: -16px;
}

.testimonial {
  padding: 44px 16px 16px;
  width: 388px;
  max-width: 388px;
}

.testimonial-inner > * {
  width: 100%;
}

.testimonial-inner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  mix-blend-mode: multiply;
}

@media (min-width: 641px) {
  .testimonials-wrap {
    margin-right: -24px;
    margin-left: -24px;
  }

  .testimonials-wrap:first-child {
    margin-top: -24px;
  }

  .testimonials-wrap:last-child {
    margin-bottom: -24px;
  }

  .testimonials-shape-1 {
    bottom: auto;
    top: 170px;
    left: calc(50% - 305px);
  }

  .testimonials-shape-1 svg {
    width: 400px;
    height: 400px;
  }

  .testimonials-shape-2 {
    top: 480px;
    left: calc(50% + 190px);
  }

  .testimonials-shape-3 {
    display: block;
    top: 570px;
    left: calc(50% - 320px);
  }
}

@media (min-width: 1025px) {
  .testimonial:nth-child(odd) {
    top: 40px;
  }
}

/* CONTACT */
.bg-cover {
  background-size: cover;
}
