:host {
  display: block;
}

.hy-hero {
  position: relative;

  @include breakpoint($wide) {
    margin-right: 0;
    margin-left: 0;
  }

  &__desktop-container {
    @include breakpoint($wide) {
      display: flex;
    }
  }

  &__image-container {
    background: transparent;
    background-position: 50% 50%;
    background-size: cover;
    position: relative;

    @include breakpoint($wide) {
      background: white;
      order: 2;
      padding: 6px 0;
      width: 60%;
      z-index: 1;
    }

    img.hy-image__image {
      height: 100%;
      min-height: 205px;
      object-fit: cover;
      width: 100%;
    }
  }

  &__content {
    display: none;
    margin-right: 24px;
    margin-top: -24px;
    min-height: 24px;
    max-width: 100%;
    position: relative;

    @include breakpoint($narrow) {
      margin-right: 48px;
      margin-top: -40px;
      min-height: 40px;
      max-width: 87%; //7col (out of 8) - 32px (1 margin)
    }

    @include breakpoint($wide) {
      display: none;
    }
  }

  &__content--bottom {
    @include breakpoint($extrawide) {
      margin-right: 32px;
    }
  }

  &__content--container {
    //@todo left is now calculated in js. Find a css solution
    position: relative;

    @include breakpoint($wide) {
      margin-left: 32px;
      margin-right: -32px;
      padding-bottom: 44px;
      padding-top: 20px;
    }

    @include breakpoint($extrawide) {
      padding-bottom: 44px;
      padding-top: 20px;
      margin-left: 0;
      margin-right: 0;

      //without sidebar
      //padding-bottom: 78px;
      //padding-top: 48px;
    }
    @include breakpoint($overwide) {
      padding-bottom: 78px;
      padding-top: 48px;

      //without sidebar
      //padding-bottom: 92px;
      //padding-top: 56px;
    }
  }

  &__content-wrap-helper {
    padding: 0 1rem;
    padding-bottom: 32px;

    @include breakpoint($narrow) {
      padding: 0 2rem;
      padding-bottom: 40px;
    }
    @include breakpoint($wide) {
      padding: 0;
      align-self: center;
      display: flex;
      flex-direction: column;
      height: 100%;
      justify-content: center;
      left: 0;
      margin: 0;
      order: 1;
      position: relative;
      top: 0;
      width: 40%;
      z-index: 2;
    }
  }

  &--blue {
    background-color: var(--brand-main-light);

    .hy-hero__title__overlay h1 {
      background-color: var(--brand-main-light);
      color: transparent !important;
    }

    .hy-hero__content,
    .hy-hero__description,
    .hy-hero__cta-link__container {
      background-color: var(--brand-main-light);
      color: var(--grayscale-white);
    }
  }

  &--black {
    background-color: var(--grayscale-black);

    .hy-hero__title__overlay h1 {
      background-color: var(--grayscale-black);
      color: transparent !important;
    }

    .hy-hero__content,
    .hy-hero__description,
    .hy-hero__cta-link__container {
      background-color: var(--grayscale-black);
      color: var(--grayscale-white);
    }
  }

  &--white {
    background-color: var(--grayscale-white);

    .hy-hero__title__overlay h1 {
      background-color: var(--grayscale-white);
      color: transparent !important;
    }

    .hy-hero__content,
    .hy-hero__description,
    .hy-hero__cta-link__container {
      background-color: var(--grayscale-white);
      color: var(--grayscale-black);
    }
  }

  &__title__container {
    position: relative;
    padding-bottom: 1rem;

    @include breakpoint($wide) {
      width: 110%;
    }
  }

  &__description {
    // Ingress Small
    @include font-size(16px, 24px);

    color: var(--grayscale-white);
    font-family: var(--main-font-family);
    font-weight: 600;
    letter-spacing: -0.1px;
    margin: 12px 0 24px 0;
    padding: 0;

    @include breakpoint($narrow) {
      margin: 16px 0 24px 0;
      max-width: 87%;

      // Ingress Medium
      @include font-size(18px, 28px);
      letter-spacing: -0.1px;
    }

    @include breakpoint($wide) {
      @include font-size(18px, 28px);
      letter-spacing: -0.1px;

      max-width: 100%;
      margin: 9px 0 0;
      padding: 0 24px 20px 0;
    }

    @include breakpoint($extrawide) {
      margin: 9px 0 0;
      padding: 0 24px 20px 0;
    }

    @include breakpoint($overwide) {
      margin: 9px 0 0;
      padding: 0 40px 32px 0;
    }
  }

  &__cta-link__container {
    max-width: 100%;
    @include breakpoint($wide) {
      max-width: 87%;
    }
  }
}

.hy-hero.hy-hero--common {
  @include breakpoint($overwide) {
    margin-left: -32px;
    padding-left: 32px;
  }
}

.hy-hero.large {
  .hy-hero__content--container {
    @include breakpoint($extrawide) {
      padding-bottom: 78px;
      padding-top: 48px;
    }
    @include breakpoint($overwide) {
      padding-bottom: 92px;
      padding-top: 56px;
    }

    @include breakpoint($extrawide) {
      //without sidebar
      padding-bottom: 78px;
      padding-top: 48px;
    }
    @include breakpoint($overwide) {
      padding-bottom: 92px;
      padding-top: 56px;
    }
  }

  /*   .hy-hero__title {
    @include breakpoint($extrawide) {
      padding: 30px 40px 16px 0;
    }
    @include breakpoint($overwide) {
      padding: 36px 48px 20px 0;
    }
  } */

  .hy-hero__description {
    @include breakpoint($extrawide) {
      margin: 0;
      padding: 0 40px 32px 0;
    }

    @include breakpoint($overwide) {
      padding: 0 40px 36px 0;
    }
  }
}
.hy-hero__title {
  z-index: 2;
}

.hy-hero__title__overlay--container {
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;

  .hy-hero__title__overlay {
    .hy-heading__container.hy-heading__container__common,
    .hy-heading__container.sc-hy-heading-wide {
      display: block;
    }

    h1 {
      display: inline;
    }
  }

  .hy-hero__title__overlay h1 {
    box-decoration-break: clone;
    display: inline;
    margin-left: -32px;
    padding: 16px 16px 16px 32px !important;

    @include breakpoint($narrow) {
      margin-left: -32px;
      padding: 16px 16px 16px 32px !important;
    }

    @include breakpoint($medium) {
      margin-left: -32px;
      padding: 16px 16px 16px 32px !important;
    }

    @include breakpoint($wide) {
      margin-left: 0;
      padding: 16px 16px 16px 0 !important;
    }
  }
}

.hy-hero__title,
.hy-hero__title__overlay h1 {
  @include font-weight($bold);

  box-decoration-break: clone;
  display: inline;
  //padding: 0 1rem;
  color: var(--grayscale-white);
  font-family: var(--main-font-family);
  font-weight: bold;
  letter-spacing: -0.75px;
  word-wrap: break-word;
  hyphens: auto;
  margin-bottom: 12px;
  max-width: 100%;
  position: relative;
  text-transform: uppercase;

  @include breakpoint($narrow) {
    margin-bottom: 16px;
  }

  @include breakpoint($wide) {
    margin: 0;
    max-width: 100%;
    //padding: 24px 32px 16px 0;
  }
  @include breakpoint($extrawide) {
    //padding: 24px 32px 16px 0;
  }
  @include breakpoint($overwide) {
    //padding: 30px 40px 16px 0;
  }
}

.hy-hero__title h1,
.hy-hero__title__overlay > h1 {
  padding: 1rem;

  @include breakpoint($narrow) {
    margin-bottom: 16px;
  }

  @include breakpoint($wide) {
    margin: 0;
    max-width: 100%;
    padding: 16px 32px 16px 0;
  }
  @include breakpoint($extrawide) {
    padding: 16px 32px 16px 0;
  }
  @include breakpoint($overwide) {
    padding: 16px 40px 16px 0;
  }
}