
.kb-hero{
  position: relative;
  width: var(--kb-width, 100%);
  height: var(--kb-height, 100vh);
  overflow: hidden;
}

.kb-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.8s ease-in-out;
}

.kb-slide img{
  position: absolute;
  inset: -3%;
  width: 106%;
  height: 106%;
  object-fit: cover;
  will-change: transform, opacity;
  transform: translate3d(0,0,0) scale(1.01);
  transition: transform 10s cubic-bezier(.22,.61,.36,1);
}

.kb-overlay-text{
  position: absolute;
  z-index: 3;
  color: #fff;
  max-width: 760px;
  padding: 20px;
  text-shadow: 0 2px 16px rgba(0,0,0,.35);
}
.kb-overlay-text.center{top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;}
.kb-overlay-text.left{top:50%;left:8%;transform:translateY(-50%);text-align:left;}
.kb-overlay-text.lower{bottom:10%;left:8%;text-align:left;}

.kb-overlay-text h1{
  margin: 0 0 10px 0;
  line-height: 1.05;
}
.kb-overlay-text p{
  margin: 0 0 16px 0;
  font-size: 1.1rem;
}
.kb-btn{
  display: inline-block;
  padding: 12px 22px;
  background: rgba(255,255,255,.9);
  color: #111;
  text-decoration: none;
  border-radius: 2px;
  font-weight: 600;
}

.kb-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,var(--kb-overlay-dark, .25));
  z-index:2;
  pointer-events:none;
}

@media (max-width: 768px){
  .kb-overlay-text{
    max-width: 88%;
    padding: 16px;
  }
  .kb-overlay-text.center{
    left: 50%;
    top: 50%;
  }
  .kb-overlay-text.left,
  .kb-overlay-text.lower{
    left: 6%;
    right: 6%;
    max-width: none;
  }
}


/* v1.2.3 homepage full-width/top-aligned hero */
.home .wp-site-blocks{
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

.home .has-global-padding{
  padding-left:0 !important;
  padding-right:0 !important;
}

.home .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.home .entry-content > .kb-hero:first-child,
.home .wp-block-post-content > .kb-hero:first-child{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:-150px !important;
  position:relative !important;
  z-index:0 !important;
}

.kb-hero{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  height:var(--kb-height, 100vh) !important;
  overflow:hidden !important;
  z-index:0 !important;
}

.kb-slide{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  transition:opacity 2.2s ease-in-out !important;
}

.kb-slide.is-active{
  opacity:1 !important;
}

.kb-slide img{
  position:absolute !important;
  inset:-3% !important;
  width:106% !important;
  height:106% !important;
  object-fit:cover !important;
  will-change:transform, opacity !important;
  transform:translate3d(0,0,0) scale(1.01) !important;
  transition:transform 10s cubic-bezier(.22,.61,.36,1) !important;
  backface-visibility:hidden !important;
}

.kb-overlay-text h1,
.kb-overlay-text p,
.kb-btn{
  opacity:0;
  transform:translateY(14px);
  transition:opacity 1.2s ease, transform 1.2s ease;
}

.kb-overlay-text h1.is-visible,
.kb-overlay-text p.is-visible,
.kb-btn.is-visible{
  opacity:1;
  transform:translateY(0);
}
