.textimage.-fullwidth {
  display: grid;
  width: 100%;
  grid-template-columns: 4% 1fr 4%;
}

.textimage__content {
  grid-column: 2;
  padding: 3rem 0;
  align-self: center;
}

.textimage__imagewrap {
  position: relative;
  grid-column: span 3;
  min-height: 50vw;
  overflow: hidden;
}

.textimage__additional .grid__main {
  display: block;
}

.textimage__additional {
  margin-top: 2rem;
}

.textimage__image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.textimage__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.textimage__title {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.textimage__title::before {
  content: '';
  display: block;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
  background: -moz-linear-gradient(top, rgba(var(--c-neutral-darkest), 0) 0%, rgba(var(--c-neutral-darkest), 0.65) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(var(--c-neutral-darkest), 0) 0%, rgba(var(--c-neutral-darkest), 0.65) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(var(--c-neutral-darkest), 0) 0%, rgba(var(--c-neutral-darkest), 0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#a6000000', GradientType=0); /* IE6-9 */
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  height: 30%;
}

.textimage.-fullwidth.-left .textimage__description {
  direction: ltr;
}

.textimage__description {
  color: rgb(var(--c-neutral-lightest));
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.textimage__textwrap {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  width: 100%;
}

.textimage.-fullwidth .headline {
  width: 100%;
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 900px) {
  .textimage.-fullwidth {
    grid-template-columns: 4% 30px 2fr 1fr 30px 4%;
  }

  .textimage.-fullwidth.-left {
    direction: rtl;
  }

  .textimage__content {
    direction: ltr;
    grid-column: 3;
  }

  .textimage.-fullwidth.-left .textimage__content {
    padding: 3rem 0 2rem 3rem;
  }

  .textimage.-fullwidth.-right .textimage__content {
    padding: 3rem 2rem 3rem 0;
  }

  .textimage__imagewrap {
    grid-column: span 3;
    min-height: 400px;
    padding-top: 0;
    border-top: none;
  }

  .textimage__textwrap {
    flex-flow: row;
    justify-content: space-between;
  }

  .textimage__additional {
    margin-top: 0;
    margin-left: 2rem;
  }

  .textimage.-fullwidth.-right .textimage__imagewrap {
    margin-top: -1px;
    margin-bottom: -1px;
  }

  .textimage.-fullwidth.-left .textimage__imagewrap {
    margin-top: -1px;
    margin-bottom: -1px;
  }

}

@media (min-width: 1580px) {
  .textimage.-fullwidth {
    grid-template-columns: 1fr 50px 1000px 440px 50px 1fr;
  }

}