.banner-text-wrap > .text-animate {
  display: inline-block;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-name: textZoom;
  animation-name: textZoom;
  letter-spacing: 0.01em;
}

@-webkit-keyframes textZoom {
  from {
    opacity: 0;
    -webkit-transform: scale3d(1.3, 1.3, 1.3);
    transform: scale3d(1.3, 1.3, 1.3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes textZoom {
  from {
    opacity: 0;
    -webkit-transform: scale3d(1.3, 1.3, 1.3);
    transform: scale3d(1.3, 1.3, 1.3);
  }

  50% {
    opacity: 1;
  }
}

.banner-text-wrap > .text-animate:first-child {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.banner-text-wrap > .text-animate:nth-child(2) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.banner-text-wrap > .text-animate:nth-child(3) {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.banner-text-wrap > .text-animate:nth-child(4) {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.banner-text-wrap > .text-animate:nth-child(5) {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.banner-text-wrap > span:last-child,
.banner-desc-animate {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.banner-btn-animate {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.custom-pre {
  max-height: 300px;
  padding: 1.5rem;
  overflow: auto;
  background-color: #f7f9f9;
  border: #e7e7e7 solid 1px;
}

.custom-pre-striped {
  padding: 0 5px;
  background-image: -webkit-linear-gradient(#f5f5f5 50%, #e6e6e6 50%);
  background-image: linear-gradient(#f5f5f5 50%, #e6e6e6 50%);
  background-size: 46px 46px;
}

.custom-pre-no-overflow {
  max-height: inherit;
  overflow: inherit;
}

.code-textarea-wrapper {
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.btn-copy-code {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .btn-copy-code {
    right: 40px;
    bottom: 45px;
  }
}

/* Vooba: Google Reviews badge */
.google-rev {
  position: absolute;
  left: 40px;
  bottom: 40px;
  width: 140px;
  height: 58px;
  z-index: 12;
}

.vid-ol:after {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-image: radial-gradient(circle farthest-side at right top, rgb(255, 166, 0) 35%, rgb(230, 37, 104) 47%, rgb(122, 102, 174) 65%, rgb(24, 149, 215) 85%, rgb(147, 192, 33) 99%);
  mix-blend-mode: multiply;
  opacity: 0.75;
}

/* Vooba: full-height hero */
.page-header-block-height {
  min-height: 100vh !important;
}
.page-header-block-height .col-lg-6:last-child {
  min-height: 50vh;
}

/* Vooba: brand gradient bar removed */

/* Vooba: remove solid blue top border on dropdowns (replaced by header gradient bar) */
.navik-menu.submenu-top-border li > ul {
  border-top-color: transparent;
}

/* Vooba: non-italic nav menu text */
.navik-menu ul ul li > a,
.navik-menu ul.mega-menu-list li a,
.navik-menu .mega-menu-desc {
  font-style: normal;
}

/* ── Mobile hero: tablet and below (< 992px) ── */
@media (max-width: 991px) {
  /* Let stacked columns determine height naturally */
  .page-header-block-height {
    min-height: auto !important;
  }
  /* Give video column explicit height — video is position:absolute so
     it won't contribute to the column's height without this */
  .page-header-block-height .col-lg-6:first-child {
    height: 38vh;
    min-height: 240px;
  }
  .page-header-block-height .col-lg-6:last-child {
    min-height: auto;
  }
  /* Compact hero text panel padding (overrides Bootstrap px-5 py-5) */
  .hero-panel-content {
    padding: 2rem 1.5rem !important;
  }
  /* Adjust Google Reviews badge for smaller panel */
  .google-rev {
    left: 20px;
    bottom: 20px;
    width: 120px;
    height: auto;
  }
}

/* ── Mobile hero: phones (< 576px) ── */
@media (max-width: 575px) {
  /* Shorter video strip on small phones */
  .page-header-block-height .col-lg-6:first-child {
    height: 30vh;
    min-height: 190px;
  }
  /* Reduce body text size and spacing so button fits above the fold */
  .page-header-block-height .lead {
    font-size: 1rem;
    line-height: 1.65;
    margin-bottom: 1.25rem !important;
  }
}
