/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Description: Full‑screen video hero with sticky nav bar
Version: 2.0
Author: DIF Design
Template: bb-theme
-------------------------------------------------------------- */
body.fl-builder-edit #fl-main-content {
    position: relative;
    z-index: 50000;
}
/* –––––––––––––––––  GLOBAL  ––––––––––––––––– */
/*:root{ --nav-height: 80px; }       */  /* change if your bar is taller */

/* ─────────────────────  FULL‑SCREEN VIDEO  ────────────────── */
/* Beaver’s wrapper  <div class="fl-bg-video">  */
.fl-bg-video{
  position: fixed !important;
  inset: 0;                      /* top, right, bottom, left = 0   */
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden;
  z-index: 0;                    /* behind everything else         */
}
/* The <video> inside */
.fl-bg-video video{
  position: absolute !important;
  inset: 0;
  width: 100vw !important;
  height: 100vh !important;
  object-fit: cover;             /* fill & crop if needed          */
  pointer-events: none;
}

/* ───────────────────  HERO CONTENT COLUMN  ────────────────── */
.video-layer{
  position: relative;
  z-index: 2;                    /* above the video                */
}

/* ─────────────────────  NAV BAR COLUMN  ───────────────────── */
.nav-bar-row{
  position: absolute;            /* sits at bottom of the hero row */
  bottom: 0;
  left: 0;  right: 0;
  width: 100%;
  height: var(--nav-height);
  z-index: 10;
}
/* force full width even if the row says “Fixed” */
.nav-bar-row .fl-row-content,
.nav-bar-row .fl-row-content-wrap{
  width: 100%;
  max-width: none !important;
}

/* Sticky state (added by JS after scroll) */
.nav-bar-row.sticky-fixed{
  position: fixed;
  top: 0;
  left: 0;  right: 0; bottom: unset;
  /* Optional visual tweaks when stuck:
     background:#fff;
     box-shadow:0 2px 6px rgba(0,0,0,.15); */
}

/* ─────────────  SPACER so first section isn’t hidden  ───────── */
body:not(.fl-builder-edit) .fl-page-content{
  margin-top: var(--nav-height);
}

/* ─────────────  Prevent in‑page anchor jump  ──────────────── */
body{ scroll-padding-top: var(--nav-height); }

.fl-node-14z95ifsug2v > .fl-col-content {
justify-content: flex-end;
}
.fl-number-default .fl-number-text {
    display: flex;
    flex-direction: row;
}
.fl-number-default .fl-number-before-text,.fl-number-default .fl-number-after-text {
    margin: 0px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
}
/* ─── #fourColStats  •  4‑column stats row  ────────────────────────── */

/* 1 ▸ Remove Beaver’s default horizontal padding on the row wrappers */
#fourColStats .fl-row-content-wrap,
#fourColStats .fl-row-content{
  padding-left:10px !important;
  padding-right:10px !important;
}
 
/* 2 ▸ Constrain the inner container to 80 % and keep it centered
   (if Beaver’s “Fixed 80 %” doesn’t already do so). */
#fourColStats .fl-row-content{
  max-width:80% !important;   /* enforce the 80 % cap                   */
  margin-left:auto;
  margin-right:auto;
}

/* 3 ▸ Flexbox layout for the column group with a 30 px gap */
#fourColStats .fl-col-group{
  display:flex      !important;  /* override Beaver’s float layout     */
  flex-wrap:wrap;                /* allows stacking on very small viewports */
  gap:30px;                      /* three interior gutters only        */
  margin:0 !important;           /* kill Beaver’s negative side‑margins */
}
@media screen and (min-width:1250px) {
    #fourColStats .fl-col {
    flex: 1 1 calc((100% - 90px) / 4);
    float: none !important;
    box-sizing: border-box;
}
}
/* 4 ▸ Four equal columns, no outer padding */
@media screen and (max-width:1249px) {
    #fourColStats .fl-col {
    flex: 1 1 calc((100% - 90px) / 2);
    float: none !important;
    box-sizing: border-box;
}
}
@media screen and (max-width:768px) {
    #fourColStats .fl-col {
    flex: 1 1 calc((100% - 0px) / 1);
    float: none !important;
    box-sizing: border-box;
}
}
.pp-advanced-menu-mobile-toggle .pp-hamburger .pp-hamburger-box .pp-hamburger-inner:before {
    transition: top 75ms ease .12s, opacity 75ms ease;
    top: -12px;
}
.pp-advanced-menu-mobile-toggle .pp-hamburger .pp-hamburger-box .pp-hamburger-inner:after {
    transition: bottom 75ms ease, transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.12s;
    bottom: -12px;
}
/* 5 ▸ Fallback for browsers without flexbox gap support */
@supports not (gap:30px){
  #fourColStats .fl-col:not(:last-child){margin-right:30px;}
}

/* 6 ▸ Optional: stack columns on tablets/phones for readability */
@media (max-width:768px){
  #fourColStats .fl-col{flex:1 0 100%;}
}
body.home #fl-main-content {
    position: relative !important;
    z-index: 20;
}
.hero-header-wrap .fl-row-content .fl-col-group:nth-of-type(2) {
    z-index: 200000;
    position: relative;
}
.hero-header-wrap .fl-row-content-wrap .fl-row-content  {
    z-index: 200000;
}
.fl-module-button  {
    position: relative;
    z-index: 20000000;
}
 ol > li::marker {
        font-weight: bold;
    }