@media (prefers-reduced-motion: no-preference) {
  @-webkit-keyframes fade-in {
    from {
      visibility: hidden;
      opacity: 0;
    }
    1% {
      visibility: visible;
      opacity: 0;
    }
    to {
      visibility: visible;
      opacity: 1;
    }
  }
  @keyframes fade-in {
    from {
      visibility: hidden;
      opacity: 0;
    }
    1% {
      visibility: visible;
      opacity: 0;
    }
    to {
      visibility: visible;
      opacity: 1;
    }
  }
  .fade-in {
    -webkit-animation: fade-in 200ms ease-in-out forwards;
            animation: fade-in 200ms ease-in-out forwards;
  }
  @-webkit-keyframes fade-out {
    from {
      visibility: visible;
      opacity: 1;
    }
    99% {
      visibility: visible;
      opacity: 0;
    }
    to {
      visibility: hidden;
      opacity: 0;
    }
  }
  @keyframes fade-out {
    from {
      visibility: visible;
      opacity: 1;
    }
    99% {
      visibility: visible;
      opacity: 0;
    }
    to {
      visibility: hidden;
      opacity: 0;
    }
  }
  .fade-out {
    -webkit-animation: fade-out 200ms ease-in-out forwards;
            animation: fade-out 200ms ease-in-out forwards;
  }
  @-webkit-keyframes scrolls {
    0% {
      opacity: 0;
      -webkit-transform: translateY(-10%);
              transform: translateY(-10%);
    }
    20%,
    50% {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translateY(30%);
              transform: translateY(30%);
    }
  }
  @keyframes scrolls {
    0% {
      opacity: 0;
      -webkit-transform: translateY(-10%);
              transform: translateY(-10%);
    }
    20%,
    50% {
      opacity: 1;
    }
    to {
      opacity: 0;
      -webkit-transform: translateY(30%);
              transform: translateY(30%);
    }
  }
  .scrolls {
    -webkit-animation: scrolls 1s ease-out infinite;
            animation: scrolls 1s ease-out infinite;
  }
  @-webkit-keyframes pulse {
    50% {
      opacity: 0.5;
    }
  }
  @keyframes pulse {
    50% {
      opacity: 0.5;
    }
  }
  .pulses {
    -webkit-animation: pulse 2s linear infinite;
            animation: pulse 2s linear infinite;
  }
  @-webkit-keyframes floats {
    0%,
    100% {
      -webkit-transform: translateY(0%);
              transform: translateY(0%);
    }
    50% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
  }
  @keyframes floats {
    0%,
    100% {
      -webkit-transform: translateY(0%);
              transform: translateY(0%);
    }
    50% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
  }
  .floats {
    -webkit-animation: floats 12s linear infinite;
            animation: floats 12s linear infinite;
  }
  @-webkit-keyframes floats-2 {
    0%,
    100% {
      -webkit-transform: translateY(0%);
              transform: translateY(0%);
    }
    50% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
  }
  @keyframes floats-2 {
    0%,
    100% {
      -webkit-transform: translateY(0%);
              transform: translateY(0%);
    }
    50% {
      -webkit-transform: translateY(-5%);
              transform: translateY(-5%);
    }
  }
  .floats-2 {
    -webkit-animation: floats 7s linear infinite;
            animation: floats 7s linear infinite;
  }
  .purple-line,
  .green-line {
    stroke-dasharray: 1500;
    stroke-dashoffset: 1500;
    -webkit-animation: dash 10s linear forwards;
            animation: dash 10s linear forwards;
    fill: transparent;
    stroke: #a085ea;
    stroke-width: 2.5;
  }
  @-webkit-keyframes dash {
    to {
      stroke-dashoffset: 0;
    }
  }
  @keyframes dash {
    to {
      stroke-dashoffset: 0;
    }
  }
  .enable-animation svg path {
    stroke-dashoffset: var(--pathLength);
    stroke-dasharray: var(--pathLength);
    -webkit-animation: dash 2.5s 0.2s ease-in forwards;
            animation: dash 2.5s 0.2s ease-in forwards;
  }
  @keyframes dash {
    from {
      stroke-dashoffset: var(--pathLength);
    }
    to {
      stroke-dashoffset: 0;
    }
  }
}

html {
  font-size: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html:not(.disable-scroll-snapping) {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  color: #181b31;
  line-height: 1.3;
  overflow-x: hidden;
}

@media (min-width: 64em) {
  body {
    font-size: 1.125rem;
  }
}

body.noscroll {
  overflow: hidden;
}

.text--white {
  color: white;
}

.text--green {
  color: #0ceac3;
}

.text--gray {
  color: #b1b3b0;
}

.text--centered {
  text-align: center;
}

.text--bold {
  font-weight: 500;
}

h1,
h2,
h3 {
  font-weight: 600;
  line-height: 1.15;
  color: inherit;
  margin-top: 0px;
}

h1 {
  font-size: 2.31rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 64em) {
  h1 {
    font-size: 1.75em;
  }
}

h2 {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 1.5625rem;
}

@media (min-width: 64em) {
  h2 {
    font-size: 2.25rem;
    margin-bottom: 2.25rem;
  }
}

p {
  line-height: 1.5;
  margin-bottom: 2.25rem;
}

a,
a:visited,
a:hover {
  text-decoration: none;
}

img {
  max-width: 100%;
}

.container, .container--sm, .container--lg, .container--xlg {
  max-width: 69.375rem;
  margin: 0 auto;
}

.container--sm {
  max-width: 42.125rem;
}

.container--lg {
  max-width: 58.125rem;
}

.container--xlg {
  max-width: 80rem;
}

.container--pall {
  padding-top: 4.375rem;
  padding-right: 1.5rem;
  padding-bottom: 4.375rem;
  padding-left: 1.5rem;
}

@media (min-width: 64em) {
  .container--pall {
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.container--py {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}

@media (min-width: 64em) {
  .container--py {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.container--px {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

@media (min-width: 64em) {
  .container--px {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.container--pt {
  padding-top: 4.375rem;
}

@media (min-width: 64em) {
  .container--pt {
    padding-top: 6rem;
  }
}

.container--pr {
  padding-right: 1.5rem;
}

.container--pb {
  padding-bottom: 4.375rem;
}

@media (min-width: 64em) {
  .container--pb {
    padding-bottom: 6rem;
  }
}

.container--pl {
  padding-left: 1.5rem;
}

@media (min-width: 64em) {
  .container--break {
    padding-right: 30%;
  }
}

.flex, .flex-jc-sb, .flex-jc-c, .flex-ai-c {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.flex-jc-sb {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flex-jc-c {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.flex-ai-c {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.grid, .grid--2, .grid--2--break, .grid--4 {
  display: -ms-grid;
  display: grid;
}

.grid--2, .grid--2--break {
  grid-gap: 5rem;
  -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
}

@media (max-width: 39.9375em) {
  .grid--2, .grid--2--break {
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    grid-gap: 3rem;
  }
}

@media (max-width: 63.9375em) {
  .grid--2--break {
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    grid-gap: 3rem;
  }
}

.grid--4 {
  grid-column-gap: 2rem;
  grid-row-gap: 1.5rem;
  -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
  -ms-grid-rows: auto;
      grid-template-rows: auto;
}

@media (max-width: 39.9375em) {
  .grid--4 {
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    grid-gap: 3rem;
  }
}

.button {
  position: relative;
  display: inline-block;
  padding: 0.875rem 2.1875rem;
  background-color: #0abc99;
  border: 0;
  border-radius: 50px;
  cursor: pointer;
  color: white;
  font-weight: 600;
  font-size: 0.875rem;
  -webkit-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
  overflow: hidden;
}

.button::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.25);
  opacity: 0;
  -webkit-clip-path: circle(0%);
          clip-path: circle(0%);
  -webkit-transition: opacity 150ms ease-in-out, -webkit-clip-path 150ms ease-in-out;
  transition: opacity 150ms ease-in-out, -webkit-clip-path 150ms ease-in-out;
  transition: opacity 150ms ease-in-out, clip-path 150ms ease-in-out;
  transition: opacity 150ms ease-in-out, clip-path 150ms ease-in-out, -webkit-clip-path 150ms ease-in-out;
}

.button:hover::before, .button:focus-within::before {
  opacity: 1;
  -webkit-clip-path: circle(100%);
          clip-path: circle(100%);
}

.button:focus-within {
  -webkit-box-shadow: 0 0 0 3px currentColor;
          box-shadow: 0 0 0 3px currentColor;
  outline: none;
}

.button--cta {
  border: 2px solid white;
  background-color: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 63.9375em) {
  .button--cta {
    margin: 0 auto;
  }
}

.button--dark {
  border: none;
  position: relative;
  color: #0ceac3;
  overflow: visible;
  z-index: 1;
}

.button--dark svg path {
  stroke: #0abc99;
  fill: #0abc99;
}

.button--dark::before {
  background-image: -webkit-gradient(linear, left top, right top, from(#0ceac3), to(#603a94));
  background-image: linear-gradient(90deg, #0ceac3, #603a94);
  opacity: 1;
  border-radius: 50px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  top: -2px;
  left: -2px;
  z-index: -1;
  -webkit-clip-path: circle(100%);
          clip-path: circle(100%);
}

.button--dark::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 50px;
  background-image: url("/assets/images/description_section_bg.jpg");
  z-index: -1;
  opacity: 1;
  -webkit-transition: -webkit-clip-path 250ms ease-out;
  transition: -webkit-clip-path 250ms ease-out;
  transition: clip-path 250ms ease-out;
  transition: clip-path 250ms ease-out, -webkit-clip-path 250ms ease-out;
  -webkit-clip-path: circle(100%);
          clip-path: circle(100%);
}

.button--dark:hover {
  color: white;
}

.button--dark:hover::after {
  -webkit-clip-path: circle(0%);
          clip-path: circle(0%);
}

.button--dark:hover svg path {
  fill: white !important;
  stroke: white !important;
}

.button--arrow {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 1.8em;
}

.button--arrow__icon {
  display: block;
  overflow: hidden;
  margin-left: 1em;
  width: 3em;
}

.button--arrow__icon svg {
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}

.button--arrow:hover .button--arrow__icon svg,
.button--arrow:focus-within .button--arrow__icon svg {
  -webkit-animation: slides 0.3s forwards;
          animation: slides 0.3s forwards;
}

@-webkit-keyframes slides {
  50% {
    -webkit-transform: translateX(3em);
            transform: translateX(3em);
    opacity: 0;
  }
  51% {
    -webkit-transform: translateX(-3em);
            transform: translateX(-3em);
  }
}

@keyframes slides {
  50% {
    -webkit-transform: translateX(3em);
            transform: translateX(3em);
    opacity: 0;
  }
  51% {
    -webkit-transform: translateX(-3em);
            transform: translateX(-3em);
  }
}

input:hover,
textarea:hover {
  -webkit-box-shadow: 0 0 5px rgba(69, 16, 138, 0.5);
          box-shadow: 0 0 5px rgba(69, 16, 138, 0.5);
}

input:focus,
textarea:focus {
  outline: none;
  -webkit-box-shadow: 0 0 0 3px rgba(69, 16, 138, 0.5);
          box-shadow: 0 0 0 3px rgba(69, 16, 138, 0.5);
}

@media (max-width: 63.9375em) {
  .hide-for-mobile {
    display: none !important;
  }
}

@media (min-width: 64em) {
  .hide-for-desktop {
    display: none;
  }
}

.has-fade {
  visibility: hidden;
  will-change: auto;
}

.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  /* 1 */
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  /* 2 */
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
  /* 3 */
}

.sr-only-focusable:focus,
.sr-only-focusable:active {
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  height: auto !important;
  margin: auto !important;
  overflow: visible !important;
  width: auto !important;
  white-space: normal !important;
}

.d-none {
  display: none !important;
}

.gradient-text {
  background: -webkit-gradient(linear, left top, right top, from(#0ceac3), to(#603a94));
  background: linear-gradient(90deg, #0ceac3, #603a94);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.show {
  display: block;
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

.fade {
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    -webkit-transition: none;
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  visibility: hidden;
}

.menu {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: auto;
  left: 0;
  top: 0;
  z-index: 10;
  background: #22b573;
  -webkit-transition: opacity 0s, -webkit-clip-path 0.5s ease-out;
  transition: opacity 0s, -webkit-clip-path 0.5s ease-out;
  transition: opacity 0s, clip-path 0.5s ease-out;
  transition: opacity 0s, clip-path 0.5s ease-out, -webkit-clip-path 0.5s ease-out;
  -webkit-clip-path: circle(100% at 50% 50%);
          clip-path: circle(100% at 50% 50%);
}

.menu.fade {
  -webkit-clip-path: circle(0% at 100% 0);
          clip-path: circle(0% at 100% 0);
}

.menu .container, .menu .container--sm, .menu .container--lg, .menu .container--xlg {
  -ms-flex-line-pack: start;
      align-content: flex-start;
  width: 100%;
}

.menu #closeMenu {
  width: 100%;
  text-align: start;
  margin-bottom: 2em;
}

@media (max-width: 39.9375em) {
  .menu #closeMenu {
    text-align: end;
  }
}

.menu #closeMenu svg {
  stroke: white;
  width: 3em;
}

@media (min-width: 64em) {
  .menu .grid--2, .menu .grid--2--break {
    -ms-grid-columns: 70% 1fr;
        grid-template-columns: 70% 1fr;
  }
}

.menu__links a {
  color: white;
  padding: 1em 0;
  font-weight: 600;
  font-size: 2em;
}

.menu__info {
  color: white;
}

.menu__info h4 {
  font-size: 1.25rem;
  margin-bottom: 0;
}

.menu__info p {
  line-height: 1.6em;
}

.menu__info a {
  color: white;
  display: block;
  font-weight: 500;
}

.header {
  position: absolute;
  width: 100%;
  z-index: 1;
}

.header.open .header__toggle > span:first-child {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.header.open .header__toggle > span:nth-child(2) {
  opacity: 0;
}

.header.open .header__toggle > span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.header .overlay {
  opacity: 0;
  position: fixed;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#181b31), to(transparent));
  background-image: linear-gradient(#181b31, transparent);
}

.header nav {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.header__logo img {
  height: 4rem;
}

.header__toggle {
  background-color: transparent;
  border: 0;
  cursor: pointer;
}

.header__toggle > span {
  display: block;
  width: 26px;
  height: 2px;
  background-color: white;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  -webkit-transform-origin: 3px 1px;
          transform-origin: 3px 1px;
}

.header__toggle > span:not(:last-child) {
  margin-bottom: 5px;
}

.header__toggle:hover > span,
.header__toggle:focus-within > span {
  -webkit-box-shadow: 0 0 8px rgba(255, 255, 255, 0.541);
          box-shadow: 0 0 8px rgba(255, 255, 255, 0.541);
}

.header__menu {
  position: absolute;
  width: calc(100% - 3rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: white;
  margin-top: 1.5rem;
  padding: 1.625rem;
  border-radius: 5px;
}

.header__menu a {
  display: block;
  padding: 0.625rem;
  color: #181b31;
  text-align: center;
}

.header__links a {
  position: relative;
  font-size: 0.875rem;
  color: #9698a6;
  -webkit-transition: color 300ms ease-in-out;
  transition: color 300ms ease-in-out;
}

.header__links a:not(:last-child) {
  margin-right: 32px;
}

.header__links a::before {
  content: '';
  display: block;
  position: absolute;
  height: 5px;
  left: 0;
  right: 0;
  bottom: -30px;
  background: #0abc99;
  opacity: 0;
  -webkit-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
}

.header__links a:hover {
  color: #181b31;
}

.header__links a:hover::before {
  opacity: 1;
}

.skip-link {
  background: white;
  color: #1a1a1a;
  height: 30px;
  left: 50%;
  padding: 8px;
  position: absolute;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.skip-link:focus {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

.curtain {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #11022d;
  z-index: 2;
  display: -ms-grid;
  display: grid;
  place-content: center;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.curtain__title {
  font-size: 7vw;
  font-weight: bold;
  color: #0abc99;
}

/* .hero,
.scroll-snap-wrapper {
    @include breakpoint-up(large) {
        padding-top: 0;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }
} */
.hero {
  background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.103), rgba(255, 255, 255, 0.103) 1px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 20vw), url("/assets/images/background.jpg");
  background-position: 0 0, center center;
  background-repeat: no-repeat;
  background-size: auto, cover;
  background-color: #1b1464;
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  min-height: 100vh;
  padding-top: 5em;
  /*CAROUSEL*/
}

@media (min-width: 64em) {
  .hero {
    padding-top: 0;
    background-attachment: fixed;
  }
  @supports (-webkit-touch-callout: inherit) {
    .hero {
      background-attachment: scroll;
    }
  }
}

@media (max-height: 800px) {
  .hero {
    padding-top: 5em;
  }
}

@media (min-width: 64em) {
  .hero .container, .hero .container--sm, .hero .container--lg, .hero .container--xlg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.hero__image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (min-width: 64em) {
  .hero__image {
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.hero__image canvas {
  mix-blend-mode: color-dodge;
  will-change: transform;
}

.hero__carousel {
  width: 100%;
  height: 100%;
}

.hero__carousel__slide {
  height: 100%;
  background-size: cover;
  background-position: center center;
}

.hero__carousel__slide.two {
  background-image: url(/assets/images/hero_2.jpg);
}

.hero__carousel__slide.three {
  background-image: url(/assets/images/hero_3.jpg);
}

.hero__text {
  text-align: center;
  will-change: transform;
}

@media (min-width: 64em) {
  .hero__text {
    -webkit-box-flex: 3;
        -ms-flex: 3;
            flex: 3;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: left;
  }
}

.hero__text h1 {
  font-weight: 700;
  line-height: 1.3em;
  color: white;
}

@media (min-width: 64em) {
  .hero__text h1 {
    font-size: 2em;
  }
}

.hero__scroll {
  position: absolute;
  bottom: 5vh;
  width: 100%;
  text-align: center;
}

.hero__scroll svg {
  width: 2em;
}

.hero .slick-dots {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: initial;
  -webkit-box-direction: initial;
      -ms-flex-direction: initial;
          flex-direction: initial;
  gap: 1em;
  padding: 0 1em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: 5vh;
  right: 5vh;
  z-index: 1;
  list-style: none;
}

.hero .slick-dots li button {
  border-radius: 100%;
  color: transparent;
  height: 12px;
  width: 12px;
  padding: 0;
  border: 0;
  background-color: rgba(255, 255, 255, 0.431);
  cursor: pointer;
}

.hero .slick-dots li.slick-active button {
  background-color: rgba(255, 255, 255, 0.829);
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
  -webkit-box-shadow: 0 0 8px rgba(255, 255, 255, 0.541);
          box-shadow: 0 0 8px rgba(255, 255, 255, 0.541);
}

.hero .slick-dots li:hover button {
  background-color: rgba(255, 255, 255, 0.712);
  -webkit-transition: 0.1s linear;
  transition: 0.1s linear;
}

.section h2,
.section h3,
.section p {
  margin-bottom: 0;
}

@media (min-width: 64em) {
  .section h2 {
    font-size: 3.75rem;
  }
}

.section--dark {
  background-image: url("/assets/images/description_section_bg.jpg");
}

.section--dark--lines {
  background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.103), rgba(255, 255, 255, 0.103) 1px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 20vw), url("/assets/images/description_section_bg.jpg");
  background-size: cover;
}

.section--description .section__writing {
  position: relative;
  z-index: 1;
}

@media (min-width: 64em) {
  .section--description .section__writing::before {
    content: 'Greenbox';
    display: block;
    position: absolute;
    color: rgba(255, 255, 255, 0.075);
    font-size: 25vh;
    font-weight: 700;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    top: -15vh;
    right: 0;
  }
}

.section--description p b {
  color: #22b573;
}

.section--ourprocess {
  color: #171717;
  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 1px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 20vw);
}

.section--ourprocess .section__writing {
  position: relative;
  z-index: 1;
}

.section--ourprocess h2 {
  border-bottom: 2px solid currentColor;
  padding-bottom: 0.3em;
  margin-bottom: 0.5em;
}

.section--ourprocess p {
  margin: 0;
}

.section--ourprocess ol {
  padding: 0;
  counter-reset: number;
  list-style: none;
}

.section--ourprocess ol li {
  counter-increment: number;
}

.section--ourprocess ol li::before {
  content: "0" counter(number);
  display: block;
  font-family: 'Six Caps', sans-serif;
  font-size: 4.5em;
  margin-bottom: 0.1em;
}

.section--ourprocess ol li h3 {
  font-weight: 700;
  padding-bottom: 0.5em;
}

.section--ourprocess ol li b {
  font-weight: 600;
}

.section--howwedoit {
  position: relative;
  /*  .section__carousel {
            @include breakpoint-down(medium) {
                overflow-x: auto;
                scroll-snap-type: x mandatory;
            }

            ul {
                @extend .container--xlg;

                display: flex;
                flex-wrap: nowrap;
                align-items: stretch;
                // We hate Safari gap: 1em;
                list-style: none;
                padding: 0;

                @include breakpoint-up(medium) {
                    display: grid;
                    grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
                    grid-auto-rows: 1fr;
                    grid-column-gap: 2em;
                    grid-row-gap: 2em;
                }

                li {
                    min-width: 16em;
                    text-align: center;
                    padding: 1.5em 1em;
                    border: 2px solid;
                    border-image-source: $gradient-gp;
                    border-image-slice: 1;
                    will-change: transform;
                    margin: 0;

                    &:not(:last-child) {
                        margin-right: 1em;
                    }

                    @include breakpoint-down(medium) {
                        scroll-snap-align: center;
                    }

                    h4 {
                        margin: 0;
                        padding: 0;
                    }
                    p {
                        font-size: $font-sm;
                    }

                    &.spacer {
                        visibility: hidden !important;
                    }

                    &.spacer {
                        max-width: 1.5rem;
                        min-width: 0;
                    }
                }
            }

            &:hover::-webkit-scrollbar-thumb {
                background-color: rgba(255, 255, 255, 0.294);
            }
            &::-webkit-scrollbar {
                height: 0.8em;
            }

            &::-webkit-scrollbar-thumb {
                background-color: rgba(255, 255, 255, 0);
                border-radius: 1em;
                margin: 0.2em;
                transition: background-color 0.3s ease;
            }
            &::-webkit-scrollbar-thumb:hover {
                background-color: rgba(255, 255, 255, 0.507);
            }
        } */
}

.section--howwedoit h2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 900;
}

.section--howwedoit blockquote {
  margin: 1em 0 0;
  font-weight: 700;
  font-size: 1.75em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.section--howwedoit .underline-deco {
  background-image: url("/assets/images/divider.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 90%;
  height: 1.5em;
  margin: 0.6em auto;
}

.section--howwedoit h3 {
  font-size: 1.75em;
}

.section--howwedoit .section__carousel .carousel__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}

.section--howwedoit .section__carousel .carousel__nav button:first-child {
  margin-right: 1em;
}

.section--howwedoit .section__carousel ul {
  padding: 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.section--howwedoit .section__carousel ul li .card {
  text-align: center;
  padding: 1.5em 1em;
  margin: 0.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #2d2d2d;
  border-radius: 10px;
}

.section--howwedoit .section__carousel ul li .card h4 {
  margin: 0;
  padding: 0;
}

.section--howwedoit .section__carousel ul li .card p {
  font-size: 0.875rem;
}

.section--howwedoit .grid--2, .section--howwedoit .grid--2--break {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section--howwedoit .section__illust {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 76%;
}

.section--howwedoit .section__illust img {
  position: absolute;
  will-change: transform;
}

.section--impact h2 {
  color: #181b31;
}

@media (min-width: 64em) {
  .section--impact h2 {
    font-size: 1.75em;
  }
}

.section--impact ul {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.section--impact ul li:not(:last-child) {
  margin-right: 1em;
  margin-bottom: 1em;
}

.section--impact ul button {
  background-color: transparent;
  border: 0;
  border-bottom: 2px solid;
  padding-bottom: 0.2em;
  font-weight: 700;
  cursor: pointer;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}

.section--impact ul button:hover {
  color: #45108a;
}

.section--impact b {
  font-weight: 800;
}

.section--impact .section__illust {
  overflow: hidden;
}

.section--impact #carouselImpact {
  height: 100%;
}

.section--impact #carouselImpact img {
  -o-object-fit: cover;
     object-fit: cover;
}

.section--contact .section__writing {
  text-align: center;
  margin-bottom: 2.5em;
}

.section--contact .section__writing h2 {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.section--contact .section__writing p {
  margin: 0;
  font-weight: 600;
}

.section--contact form .grid--2, .section--contact form .grid--2--break {
  grid-gap: 1.5em;
}

.section--contact form label:not(.attachmentButton) {
  position: relative;
}

.section--contact form label:not(.attachmentButton) span {
  position: absolute;
  top: 0;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 1em;
  cursor: text;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.section--contact form input,
.section--contact form textarea,
.section--contact form .attachmentButton {
  background-color: transparent;
  color: white;
  border: 1px solid;
  border-radius: 10px;
  padding: 0.8em 1em;
  width: 100%;
}

.section--contact form input:focus-within + span,
.section--contact form input:not(:placeholder-shown) + span {
  top: -75%;
  font-size: 0.9rem;
}

.section--contact form .inputfile:focus + label {
  -webkit-box-shadow: 0 0 0 3px rgba(69, 16, 138, 0.5);
          box-shadow: 0 0 0 3px rgba(69, 16, 138, 0.5);
}

.section--contact form .attachmentButton {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section--contact form .attachmentButton:hover {
  background-color: rgba(255, 255, 255, 0.137);
}

.section--contact form .attachmentButton svg {
  width: 1em;
  margin-right: 0.5em;
}

.section--contact form textarea {
  margin-top: 1.5em;
}

.section--contact form button {
  margin: 2em auto 0;
  font-size: 1.25rem;
}

.section--stakeholders {
  background-color: #1a1a1a;
  background-image: url(/assets/images/worldmap.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width: 63.9375em) {
  .section--stakeholders {
    background-position: center 5%;
  }
}

.section--stakeholders .button--arrow {
  margin-top: 2rem;
}

.section--stakeholders ol {
  padding: 0;
  counter-reset: number;
  list-style: none;
}

.section--stakeholders ol li {
  counter-increment: number;
}

.section--stakeholders ol li::before {
  content: counter(number);
  display: block;
  font-weight: 600;
  margin-bottom: 0.2em;
}

.section--stakeholders ol li h3 {
  padding-bottom: 0.5em;
  border-bottom: 1px solid white;
}

.all-tall {
  min-height: 100vh;
}

.title--gray {
  color: #808080;
}

.title--green {
  color: #0abc99;
}

@media (min-width: 64em) {
  .paragraph, .paragraph--bold {
    font-size: 1.25rem;
  }
}

@media (max-width: 87.4375em) {
  .paragraph, .paragraph--bold {
    font-size: 1.125rem;
  }
}

.paragraph--gray {
  color: #808080;
}

.paragraph--small {
  font-size: 0.875rem;
}

.paragraph--bold {
  font-weight: 700;
}

@media (min-width: 64em) {
  .paragraph--bold {
    font-size: 1.75em;
  }
}

mark {
  background-color: #22b573;
}

.lights-wrapper {
  position: relative;
}

.bg-lights {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url("/assets/images/light_green.png"), url("/assets/images/light_green.png");
  background-repeat: no-repeat;
  background-position: 5vw -32vh, 62vw -72vh;
  bottom: 0;
  left: 0;
  will-change: background-position;
  /* &--purple {
        @extend .bg-lights;
        background: {
            image: url('/assets/images/light_purple.webp'),
                url('/assets/images/light_green.webp');
            position: -15% -10%, 80% 80%;
            size: 30% auto, auto auto;
        }
        z-index: -1;
    } */
}

.hww-courtain,
.video-courtain {
  background-color: white;
  position: absolute;
  width: 100%;
  height: 100vh;
  z-index: 1;
  mix-blend-mode: lighten;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

@media (min-width: 40em) {
  .hww-courtain + .section__container,
  .video-courtain + .section__container {
    padding-top: 30vh;
  }
}

.hww-courtain span,
.video-courtain span {
  font-weight: 900;
  font-size: 10vw;
  color: black;
}

.home .section--howwedoit .section__container:first-child {
  max-width: 51em;
}

.home .section--howwedoit .section__container h2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 900;
}

@media (max-width: 87.4375em) {
  .home .section--howwedoit .section__container h2 {
    font-size: 3.75rem;
  }
}

@media (min-width: 64em) {
  .home .section--howwedoit h2 {
    font-size: 6rem;
  }
}

.section--videohome {
  position: relative;
}

@media (max-width: 63.9375em) {
  .section--videohome {
    min-height: auto !important;
    height: 0;
    padding-top: 56.25%;
  }
}

.video-home {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 63.9375em) {
  .video-home {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.landing .hero {
  min-height: auto;
  background-size: cover;
  background-position: center center;
}

@media (min-width: 64em) {
  .landing .hero {
    scroll-snap-align: none;
    scroll-snap-stop: unset;
  }
}

@media (min-width: 40em) {
  .landing .hero {
    padding-top: 8em;
  }
}

@media (min-width: 40em) {
  .landing .hero h1 {
    font-size: 3.75rem;
  }
}

.landing .hero.disclosure {
  background-image: url(/assets//images/submit_disclosure.jpg);
}

.landing .hero.team {
  background-image: url(/assets//images/team.jpg);
}

.landing.ourpurpose .purpose-overlay {
  min-height: 100vh;
  background-image: none;
  background-color: white;
  display: -ms-grid;
  display: grid;
  place-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-origin: 0;
  width: 100%;
  z-index: 2;
  padding-top: 0;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}

.landing.ourpurpose .purpose-overlay .container, .landing.ourpurpose .purpose-overlay .container--sm, .landing.ourpurpose .purpose-overlay .container--lg, .landing.ourpurpose .purpose-overlay .container--xlg {
  display: block;
}

.landing.ourpurpose .purpose-overlay span {
  font-weight: 700;
  color: #181b31 !important;
  font-size: 6rem;
  margin-bottom: 1rem;
  display: block;
}

@media (max-width: 63.9375em) {
  .landing.ourpurpose .purpose-overlay span {
    font-size: 2.85em;
  }
}

.landing.ourpurpose .purpose-overlay p {
  color: transparent;
  margin-bottom: 0;
}

@media (min-width: 40em) {
  .landing.ourpurpose .purpose-overlay p {
    font-size: 1.25em;
  }
}

.landing.ourpurpose .header {
  z-index: 5;
  position: static;
}

.landing.ourpurpose .header__toggle > span {
  background-color: #1b1464;
}

@media (max-width: 39.9375em) {
  .landing .section--howwedoit h1 {
    font-size: 1.75em;
  }
}

.landing .section--howwedoit h3 {
  font-size: 1.25rem;
}

.landing .section--howwedoit .section__carousel {
  padding-top: 0;
}

.landing .section--howwedoit .section__carousel ul {
  padding: 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(20em, 1fr))[auto-fill];
      grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
  grid-column-gap: 1em;
  grid-row-gap: 5em;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
}

.landing .section--howwedoit .section__carousel ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: start;
  border: 0;
  padding: 0;
}

@media (max-width: 39.9375em) {
  .landing .section--howwedoit .section__carousel ul li {
    text-align: center;
  }
}

.landing .section--howwedoit .section__carousel ul li img,
.landing .section--howwedoit .section__carousel ul li svg {
  height: 6em;
  margin-bottom: 1.2em;
}

.landing .section--howwedoit .section__carousel ul .button {
  margin-top: 2em;
}

.landing .section--howwedoit .section__carousel ul .button svg {
  margin-left: 1em;
  width: 2em;
  height: 2em;
  margin-bottom: 0;
}

.landing .section--howwedoit .section__carousel ul .button svg path {
  fill: none !important;
}

.landing .section--howwedoit .grid--2, .landing .section--howwedoit .grid--2--break {
  margin-top: 1em;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.landing .section--howwedoit .grid--2 ul, .landing .section--howwedoit .grid--2--break ul {
  list-style: none;
  padding: 0;
}

.landing .section--howwedoit .grid--2 ul li, .landing .section--howwedoit .grid--2--break ul li {
  line-height: 1.5em;
}

.landing .section--howwedoit .grid--2 ul li:before, .landing .section--howwedoit .grid--2--break ul li:before {
  content: '';
  display: inline-block;
  margin-right: 0.5em;
  width: 0.9em;
  height: 0.9em;
  background-image: url(/assets/icons/check.svg);
  background-repeat: no-repeat;
}

.landing .section--purpose {
  background-image: url("/assets/images/background.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: -ms-grid;
  display: grid;
  place-content: center;
}

.landing .section--purpose h1 {
  font-size: 6rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

@media (max-width: 63.9375em) {
  .landing .section--purpose h1 {
    font-size: 2.85em;
  }
}

@media (min-width: 40em) {
  .landing .section--purpose p {
    font-size: 1.25em;
  }
}

.landing .section--contact input,
.landing .section--contact textarea,
.landing .section--contact .attachmentButton {
  border-color: #808080;
  color: #1a1a1a;
}

.landing .section--contact button {
  color: #22b573;
}

.landing .section--contact .button--cta {
  margin-top: 1.5em;
  color: #1b1464;
  font-weight: 600;
}

.landing .section--contact .button--cta::after {
  background-image: none;
  background-color: white;
}

.landing .section--impact article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1em;
}

.landing .section--impact article img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  max-height: 25em;
  margin-bottom: 1.5em;
  border-radius: 5px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.landing .section--impact article h3 {
  font-size: 1.25rem;
  font-weight: 700;
}

.landing .section--impact .nav-tabs {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
  grid-gap: 1em;
}

@media (min-width: 40em) {
  .landing .section--impact .nav-tabs {
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: '.   one' 'two one' 'two three' '.   three';
  }
}

.landing .section--impact .nav-tabs button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  margin-bottom: 1em;
  cursor: pointer;
  background-image: url(/assets/images/background.jpg);
  background-size: cover;
  background-position: center center;
  border: 0;
  border-radius: 20px;
  padding: 0;
  overflow: hidden;
  position: relative;
}

@media (min-width: 40em) {
  .landing .section--impact .nav-tabs button {
    min-height: 19em;
  }
}

.landing .section--impact .nav-tabs button img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.landing .section--impact .nav-tabs button .description {
  opacity: 0;
  position: absolute;
  bottom: -100%;
  left: 0;
  display: block;
  text-align: center;
  width: 100%;
  padding: 0.5em 0 3em;
  color: white;
}

.landing .section--impact .nav-tabs button .description .name {
  display: block;
  font-weight: 800;
}

.landing .section--impact .nav-tabs button .description .role {
  font-size: 0.875rem;
}

@media (max-width: 63.9375em) {
  .landing .section--impact .nav-tabs button.active img, .landing .section--impact .nav-tabs button:hover img, .landing .section--impact .nav-tabs button:focus-within img {
    padding: 0.35em;
    border-radius: 20px;
    -webkit-transition: 0s;
    transition: 0s;
  }
}

@media (min-width: 40em) {
  .landing .section--impact .nav-tabs button.active img, .landing .section--impact .nav-tabs button:hover img, .landing .section--impact .nav-tabs button:focus-within img {
    mix-blend-mode: soft-light;
  }
}

@media (min-width: 40em) {
  .landing .section--impact .nav-tabs button.active .description, .landing .section--impact .nav-tabs button:hover .description, .landing .section--impact .nav-tabs button:focus-within .description {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    opacity: 1;
    bottom: 0;
  }
}

@media (min-width: 40em) {
  .landing .section--impact .nav-tabs button:nth-child(1) {
    grid-area: one;
  }
  .landing .section--impact .nav-tabs button:nth-child(2) {
    grid-area: two;
  }
  .landing .section--impact .nav-tabs button:nth-child(3) {
    grid-area: three;
  }
}

.landing .section--impact .button--cta {
  margin-top: 1.5em;
  color: #1b1464;
  font-weight: 600;
}

.landing .section--impact .button--cta::after {
  background-image: none;
  background-color: white;
}

@media (max-width: 63.9375em) {
  .landing .section__carousel {
    -ms-scroll-snap-type: none !important;
        scroll-snap-type: none !important;
  }
}

.landing .section--howwedoit .section__carousel ul li {
  scroll-snap-align: unset !important;
}
/*# sourceMappingURL=style.css.map */