:root {
  --scroll: 0;
}

/* width */
body {
  cursor: none;
}

/* Scrollbar width */
::-webkit-scrollbar {
  background: transparent;
  width: 4px;

  mix-blend-mode: lighten;
}

/* Track (transparent background) */
::-webkit-scrollbar-track {
  background: transparent;
  /* Make the track transparent */
  border-radius: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--darkgray);
  border-radius: 10px;

  /* Transparent border */
  background-clip: padding-box;

}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--gray);

  /* Transparent border on hover */
  background-clip: padding-box;
}

/* AcHIEVEMENTS */

.section#faqs, .section#services, .section#other-cases {
  view-timeline: --scroll block;
  animation-timeline: --scroll;

  animation-fill-mode: both;
  animation-name: achievementNum;
  animation-direction: alternate;
  animation-range: exit;
}

@keyframes achievementNum {
  from {
    background-color: var(--black);
  }

  to {
    background-color: white;
  }
}

/* AcHIEVEMENTS */

.section#contact {
  view-timeline: --scroll block;
  animation-timeline: --scroll;

  animation-fill-mode: both;
  animation-name: changeBackground;
  animation-direction: alternate;
  animation-duration: 1ms;
  animation-range: entry;
}

@keyframes changeBackground {
  from {
    background-color: var(--black);
  }

  to {
    transform: translateY(0px);
    background-color: white;

  }
}

/* SCROLL ON APPEAR */
.section>.header,
.section .project-container .project,
.service-card,
.section .title,
.section#awards>.title,
.section#awards>.column-2>#col>*,
.section#testimonials>*,
.section .service,
́{
  view-timeline: --scroll block;
  animation-timeline: --scroll;

  animation-fill-mode: both;
  animation-name: scrollAppear;
  animation-direction: alternate;
  animation-range: cover 20% cover 40%;
}

.section#mywork .project-container .project {
  view-timeline: --scroll block;
  animation-timeline: --scroll;

  animation-fill-mode: both;
  animation-name: scrollAppear;
  animation-direction: alternate;
  animation-range: cover 10% cover 30%;
}

.section#awards>.column-2>#intro,
.section>.column-2>#content>* {
  view-timeline: --scroll block;
  animation-timeline: --scroll;

  animation-fill-mode: both;
  animation-name: scrollAppear;
  animation-direction: alternate;
  animation-range: cover 10% cover 25%;
}

#process .phase {
  view-timeline: --scroll block;
  animation-timeline: --scroll;

  animation-fill-mode: both;
  animation-name: scrollAppear;
  animation-direction: alternate;
  animation-range: cover 20% cover 70%;
}


@keyframes scrollAppear {
  from {
    transform: translateY(40px);
    opacity: 0;
  }

  to {
    transform: translateY(0px);
    opacity: 1;
  }
}

.section#footer {
  transform: translateY(calc((var(--scroll) * 400px) - 400px));
  opacity: calc(var(--scroll) + 0.2) !important;
}



.hero .project-background {
  transform: translateY(calc((var(--scroll) * 200vh)));
  opacity: calc(-1 * var(--scroll) + 0.4) !important;
}


.section#gallery * {
    transform: translateX(calc(var(--scroll) * (-3500px) + 800px));
    transition: none !important;
}