:host {
  display: block;
}

.hy-link-box {
  background: var(--grayscale-background-box);
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  margin-bottom: 32px;
  position: relative;
  text-decoration: none;

  @include breakpoint($medium) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
  }
  @include breakpoint($wide) {
    text-align: left;
  }

  &__image-container {
    display: flex;
    justify-content: stretch;
    margin-bottom: 0;
    min-height: 10rem;
    position: relative;

    &:before {
      content: '';
      display: block;
      padding-top: (10 / 16) * 100%;
      width: 100%;
    }

    > img {
      bottom: 0;
      height: 100%;
      left: 0;
      object-fit: cover;
      position: absolute;
      right: 0;
      top: 0;
      width: 100%;
    }
  }
}

// placed in Landing pages
.hy-link-box.landing {
  .hy-link-box__text-container {
    @include breakpoint($medium) {
      padding: 0 16px;
    }

    &__title {
      color: var(--brand-main-nearly-black);
      font-family: var(--main-font-family);
      @include font-weight($bold);
      @include font-size(40px, 44px);
      letter-spacing: -1.26px;
      margin-bottom: 20px;
      margin-top: 28px;
    }
    &__description {
      color: var(--brand-main-nearly-black);
      font-family: var(--main-font-family);
      @include font-size(20px, 32px);
      letter-spacing: -0.1px;
      margin-bottom: 8px;
    }
    &__link {
      display: flex;
      justify-content: flex-end;
      margin-bottom: 12px;
      margin-right: -22px;
    }
  }
}

// placed in Content pages
.hy-link-box.content {
  .hy-link-box__text-container {
    @include breakpoint($medium) {
      padding: 0 12px;
    }

    &__title {
      color: var(--brand-main-nearly-black);
      font-family: var(--main-font-family);
      @include font-weight($semibold);
      @include font-size(20px, 26px);
      letter-spacing: -0.63px;
      margin-bottom: 11px;
      margin-top: 20px;
    }
    &__description {
      color: var(--grayscale-dark);
      font-family: var(--main-font-family);
      @include font-size(14px, 20px);
      letter-spacing: -0.2px;
      margin-bottom: 8px;
    }
    &__link {
      display: flex;
      justify-content: flex-end;
      margin-bottom: 12px;
      margin-right: -18px;
    }
  }
}