* {
  box-sizing: border-box;
}
:root {
  --scroll: 0;
  --content: 0;
}
html,
.scroll {
  background: #fafafa;
  padding: 0;
  margin: 0;
  font-family: 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;
  font-size: 16px;
}
html:after,
.scroll:after {
  content: '';
  height: 6px;
  background: #99cb8c;
  position: fixed;
  top: 0;
  left: 0;
  width: calc((var(--content)) * 1%);
}
.scroll h1 {
  color: #54b23c;
  font-size: calc((1.25 + (((1.25 * 1.25) - 1.25)) - ((((1.25 * 1.25) - 1.25)) * (var(--scroll) / 90))) * 1rem);
  top: 50vh;
}
.scroll h2 {
  color: #99cb8c;
  font-size: calc((1 + (((1 * 1.1) - 1)) - ((((1 * 1.1) - 1)) * (var(--scroll) / 90))) * 1rem);
  top: calc(50vh + calc((1.25 + (((1.25 * 1.25) - 1.25)) - ((((1.25 * 1.25) - 1.25)) * (var(--scroll) / 90))) * 1rem));
}
.scroll > p:nth-of-type(1) {
  color: #99cb8c;
  font-size: calc((0.65 + (((0.65 * 1.1) - 0.65)) - ((((0.65 * 1.1) - 0.65)) * (var(--scroll) / 90))) * 1rem);
  padding-top: 10px;
  top: calc(50vh + calc((1.25 + (((1.25 * 1.25) - 1.25)) - ((((1.25 * 1.25) - 1.25)) * (var(--scroll) / 90))) * 1rem) + calc((1 + (((1 * 1.1) - 1)) - ((((1 * 1.1) - 1)) * (var(--scroll) / 90))) * 1rem));
}
@media (min-width: 768px) {
  .scroll h1 {
    font-size: calc((1.75 + (((1.75 * 2) - 1.75)) - ((((1.75 * 2) - 1.75)) * (var(--scroll) / 90))) * 1rem);
    font-weight: bold;
  }
  .scroll h2 {
    font-size: calc((1.2 + (((1.2 * 2) - 1.2)) - ((((1.2 * 2) - 1.2)) * (var(--scroll) / 90))) * 1rem);
    top: calc(50vh + calc((1.75 + (((1.75 * 2) - 1.75)) - ((((1.75 * 2) - 1.75)) * (var(--scroll) / 90))) * 1rem));
    font-weight: bold;
  }
  .scroll > p:nth-of-type(1) {
    font-size: calc((0.65 + (((0.65 * 1.5) - 0.65)) - ((((0.65 * 1.5) - 0.65)) * (var(--scroll) / 90))) * 1rem);
    top: calc(50vh + calc((1.75 + (((1.75 * 2) - 1.75)) - ((((1.75 * 2) - 1.75)) * (var(--scroll) / 90))) * 1rem) + calc((1.2 + (((1.2 * 2) - 1.2)) - ((((1.2 * 2) - 1.2)) * (var(--scroll) / 90))) * 1rem));
  }
}
.scroll h1,
.scroll h2,
.scroll > p:nth-of-type(1) {
  position: fixed;
  margin: 0;
  z-index: 5;
  left: 50%;
  width: 100vw;
  text-align: left;
  padding-left: 5vw;
  transform: translate(0, calc((var(--scroll) / 90) * -45vh)) translate(-50%, -50%);
}
.scroll h2,
.scroll > p:nth-of-type(1) {
  left: 5vw;
  padding-left: 0;
  transform-origin: left center;
  opacity: calc(1 - ((var(--scroll) / 90) * 1));
  transform: translate(0, calc((var(--scroll) / 90) * -45vh)) translate(0, -50%) scale(calc(1 - ((var(--scroll) / 90) * 1)));
}
@media (min-width: 768px) {
  .scroll h1,
  .scroll h2,
  .scroll > p:nth-of-type(1) {
    left: 50%;
    min-width: 45vw;
    width: calc((100 - var(--scroll)) * 1vw);
    text-align: center;
    padding-left: 0;
    opacity: 1;
    transform: translate(calc(((var(--scroll) / 90) * -45vw)), calc(((var(--scroll) / 90) * 22.5vh) + ((var(--scroll) / 90) * calc((3 + (((3 * 1) - 3)) - ((((3 * 1) - 3)) * (var(--scroll) / 90))) * 1rem)))) translate(calc((((90 - var(--scroll)) / 90)) * -50%), -50%);
  }
}
.scroll > p:nth-of-type(1):after {
  background: #99cb8c;
  height: 30px;
  width: 30px;
  border-radius: 5px;
  position: fixed;
  top: 120%;
  left: 50%;
  opacity: calc(1 - ((var(--scroll) / 90) * 1));
  clip-path: polygon(25% 0%, 25% 60%, 0% 60%, 50% 100%, 100% 60%, 75% 60%, 75% 0%);
  -webkit-clip-path: polygon(25% 0%, 25% 60%, 0% 60%, 50% 100%, 100% 60%, 75% 60%, 75% 0%);
  transform: translate(calc(-50% - 5vw), 0);
}
@media (min-width: 768px) {
  .scroll > p:nth-of-type(1):after {
    transform: translate(-50%, 0);
  }
}
.scroll img {
  height: calc((100 - var(--scroll)) * 1vh);
  min-height: 10vh;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100vw;
}
@media (min-width: 768px) {
  .scroll img {
    border-radius: calc((var(--scroll) / 90) * 10px);
    min-height: 45vh;
    min-width: 45vw;
    width: calc((100 - var(--scroll)) * 1vw);
  }
}
.scroll p:nth-of-type(2) {
  left: 0;
  margin: 0;
  padding: 0;
  position: fixed;
  top: 0;
  z-index: 4;
}
@media (min-width: 768px) {
  .scroll p:nth-of-type(2) {
    min-height: 45vh;
    min-width: 45vw;
    transform: translate(calc((var(--scroll) / 90) * 5vw), calc((var(--scroll) / 90) * 50vh)) translate(0, calc((var(--scroll) / 90) * -50%));
    width: calc((100 - var(--scroll)) * 1vw);
  }
}
@media (min-width: 768px) {
  .scroll p:nth-of-type(2):before,
  .scroll p:nth-of-type(2):after {
    opacity: calc(1 - ((var(--scroll) / 90) * 1));
  }
}
.scroll p:nth-of-type(2):before {
  background: linear-gradient(0deg, #fff, rgba(250,250,250,0.5));
  bottom: -2px;
  content: '';
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}
.scroll p:nth-of-type(2):after {
  background: linear-gradient(0deg, transparent, #fafafa);
  content: '';
  height: 10vh;
  left: 0;
  position: absolute;
  top: 100%;
  width: 100vw;
  z-index: 2;
}
@media (min-width: 768px) {
  .scroll p:nth-of-type(2):after {
    display: none;
  }
}
.scroll p:nth-of-type(3) {
  margin-top: 100vh;
}
@media (min-width: 768px) {
  .scroll p:nth-of-type(3) {
    margin-top: 120vh;
    padding: 0;
    font-size: 16px;
    line-height: 30px;
    font-weight: 300;
  }
}
.scroll > p:last-of-type {
  margin-bottom: 20vh;
}
.scroll {
  padding: 5vw;
}
@media (min-width: 768px) {
  .scroll > p,
  .scroll > strong,
  .scroll > h3,
  .scroll > ul,
  .scroll > ol {
    margin-left: 50vw;
    margin-right: 0vw;
  }
}
.scroll h3 {
  color: #54b23c;
  font-weight: bolder;
  margin-top: 3rem;
  font-size: 1.3rem;
}
.scroll p {
  line-height: 1.5rem;
  padding-top: 2rem;
}
.scroll h3 + p {
  padding-top: 0;
  font-size: 16px;
  line-height: 30px;
  font-weight: 300;
}