/**
 * Hero Block Styles
 *
 * @package YaloFSE
 */

.kb-hero {
  position: relative;
  margin: 0 auto;
}

/* Break ACF hero wrapper out of constrained layouts */
.wp-block-acf-hero {
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.kb-hero .kb-hero__media-wrap {
  width: 100%;
}

.kb-hero .kb-hero__media {
  width: 100%;
  height: min(600px, 52vw);
  max-height: 600px;
  overflow: hidden;
}

.kb-hero .kb-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kb-hero .kb-hero__content-wrap {
  width: 100%;
}

.kb-hero .kb-hero__content {
  width: 100%;
  box-sizing: border-box;
  padding: 26px 16px;
  background: #f3c300;
}

.kb-hero .kb-hero__title {
  margin: 0 0 12px;
  font-family: var(--font-primary);
  line-height: 1.06;
  color: #001489;
}

.kb-hero .kb-hero__desc {
  margin: 0;
  font-family: var(--font-secondary);
  font-size: 16px;
  line-height: 1.45;
  max-width: 980px;
  color: black;
}

@media (min-width: 991px) {
  .kb-hero.hero--home {
    max-width: min(100%, calc(100% - 96px));
  }

  .kb-hero.hero--home .kb-hero__content-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    z-index: 2;
  }

  .kb-hero.hero--home .kb-hero__content {
    width: 90%;
    max-width: 920px;
    margin-left: calc(50% - 50vw);
    padding: 50px 28px 50px clamp(20px, 6vw, 100px);
    border-radius: 0 12px 12px 0;
  }
}

@media (max-width: 990px) {
  .kb-hero .kb-hero__content {
    background: #ffffff;
  }

  .home .kb-hero .kb-hero__content {
    background: #f3c300;
  }

  .kb-hero.hero--home {
    max-width: 100%;
  }

  .kb-hero.hero--home .kb-hero__content-wrap {
    margin-top: 0;
  }

  .kb-hero.hero--home .kb-hero__content {
    width: 100%;
    margin-left: 0;
    border-radius: 0;
    padding: 24px 16px;
  }

  .kb-hero .kb-hero__media {
    height: auto;
  }
}

@media (min-width: 995px) {
  .kb-hero .kb-hero__media-wrap {
    margin-top: 60px;
  }
}
