
.stacked-scroll #cards {
  position: relative;
  height: 500vh;
}

.stacked-scroll .card {
  position: sticky;
  margin: 0 auto;
  width: 100%;
}

.box-step {
  background: #05250E;
  clip-path: polygon( 99.945% 0.001%,81.447% 0.001%,99.945% 99.51%,99.945% 99.894%,0% 99.894%,0% 0%,99.945% 0%,99.945% 0.001% );
  font-weight: 700;
  font-size: 18px;
  color: #FFFFFF;
  line-height: 125%;
  letter-spacing: 0%;
  vertical-align: middle;
  height: 60px;
  max-width: 360px;
  padding: 0 50px 0 15px;
  display: flex;
  align-items: center;

}
.stacked-scroll .card-inside {
  background: #F2FFF6;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transform-style: preserve-3d;
  will-change: transform, opacity;
  padding: 25px;
}

.stacked-scroll .card { top: 150px; }
.card.card-duty { top: 190px; }
.card.card-deduction-vocation { top: 190px; }
.card.card-holiday { top: 190px; }
.card.card-submission { top: 190px; }
.card.card-deduction-rnd { top: 230px; }

.stacked-scroll .card-content {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #131212;
}

.stacked-scroll .card figure {
  margin: 0;
  height: 100%;
}

.stacked-scroll .card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list-regulation li span,
.list-regulation li p {
  width: calc(100% - 24px);
}
.list-regulation li:before {
  content: "";
  background: #57DF80;
  width: 24px;
  height: 24px;
  left: 0;
}
.list-regulation.small li:before {
  width: 13px;
  height: 13px;
  border-radius: 100%;
  position: relative;
  top: 3px;
}
.stacked-title {
  top: 0;
}
.stacked-scroll {
  position: relative;
}

.stacked-scroll:after {
  /*content: "";*/
  background: #FFFFFF;
  height: 30vh;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

/* Animation */
@supports (animation-timeline: works) {

  @scroll-timeline cards-element-scrolls-in-body {
    source: selector(body);
    scroll-offsets:
      selector(#cards) start 1,
      selector(#cards) start 0
    ;
    start: selector(#cards) start 1;
    end: selector(#cards) start 0;
    time-range: 4s;
  }

  .card {
    --index0: calc(var(--index) - 1);
    --reverse-index: calc(var(--numcards) - var(--index0));
    --reverse-index0: calc(var(--reverse-index) - 1);
  }
  
  .card__content {
    transform-origin: 50% 0%;
    will-change: transform;

    --duration: calc(var(--reverse-index0) * 1s);
    --delay: calc(var(--index0) * 1s);

    animation: var(--duration) linear scale var(--delay) forwards;
    animation-timeline: cards-element-scrolls-in-body;
  }

  @keyframes scale {
    to {
      transform:
        scale(calc(
          1.1
          -
          calc(0.1 * var(--reverse-index))
        ));
    }
  }
}

.economic-card .card-top {
  background-image: url(../img/logo-economic.svg);
  background-repeat: no-repeat;
  background-position: right bottom;
}
.economic-card .card-middle {
  background-image: url(../img/logo-economic-middle.svg);
  background-repeat: no-repeat;
  background-position: left bottom;
}

@media only screen and (max-width: 1023px) {
  .stacked-scroll .lg\:grid label {
    min-width: 180px;
  }
  #sub-tab-3 label {
    min-width: 180px;
    width: 200px;
  }
}


@media only screen and (max-width: 767px) {
  .stacked-scroll .lg\:w-\[70\%\] {
    width: 100%;
    justify-content: flex-start;
    flex-direction: column;
  }
  .stacked-scroll .lg\:w-\[70\%\] button {
    width: 100%;
    justify-content: center;
  }
  .stacked-scroll .card {
    position: static;
    opacity: 1 !important;
    transform: none !important;
    margin-bottom: 1rem;
  }
  .stacked-scroll #cards {
    height: 1000px;
    overflow: auto;
    z-index: 10;
  }
  .stacked-scroll .card-inside {
    display: block;
    transform-style: inherit;
    will-change: auto;
    overflow: visible;
  }
  .stacked-scroll .card-content {
    padding: 0 0 1rem 0;
  }
  .stacked-scroll .text-\[48px\] {
    font-size: 30px;
  }
  .stacked-scroll .card-content p {
    font-size: 16px;
  }
  .\*\:\[grid-area\:stack\] > * {
    height: auto;
  }
  .stacked-title .lg\:w-\[60\%\] {
    justify-content: flex-start;
  }
  .stacked-scroll .card img {
    height: auto;
  }
  .stacked-title {
    position: static !important;
  }
  .box-step {
    max-width: 100%;
  }
  .stacked-title .lg\:w-\[60\%\] {
    flex-direction: column;
  }
  .stacked-title .lg\:w-\[60\%\] button {
    width: 100%;
    justify-content: center;
    position: relative;
    z-index: 10;
  }
}

@media only screen and (max-width: 560px) {
  #sub-tab-3 label {
    min-width: 100px;
    width: 50%;
  }
}