.hero-index {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 85vh;
  margin-bottom: -107px;
  min-height: 800px;
  overflow: hidden;  
  padding: 20rem 0 10rem;
  position: relative;
  top: -107px;
  z-index: 0;
}

.hero-index::after {
  background: linear-gradient(270deg, rgba(145,213,218,1) 50%, rgba(199,239,239,1) 50% 85%, rgba(230,231,232,1) 85%);
  bottom: -10px;
  content: '';
  height: 20px;
  position: absolute;
  right: 0;
  width: 70vw;
  z-index: 3;
}

.hero-index .hero-index--overlay {
  background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
  bottom: unset;  
  height: 30%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.hero-index--video {
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0:
}

.hero-index > .content-wrapper {
  display: flex;
  flex-flow: column wrap;
  height: 100%;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
}

.hero-index--bg-graphics {
  display: flex;
  height: 100%;
  justify-content: flex-end;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 2;
}

.hero-index--bg-graphics svg {
  max-width: 100%;
  position: relative;
  z-index: 2;  
}

@media screen and (max-width: 767px) {
  .hero-index {
    height: 50vh;
    margin-bottom: 0;
    min-height: 600px;
    padding: 5rem 0 1rem;
    top: 0;    
    z-index: 0;
  }
  .hero-index > .content-wrapper {
    height: 100%;
    justify-content: flex-end;
  }
  .hero-index--bg-graphics {
    display: none;
  }
  .hero-index .hero-index--overlay {
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
    height: 85%;
    left: 0;
    position: absolute;
    bottom: 0;
    top: unset;
    width: 100%;
    z-index: 1;
  }
}