/* Critical above-fold CSS — inlined to prevent FOUC while full CSS loads async */
/* Version 21h:
   v21a-c: Removed phantom padding overrides, fake utility classes, responsive-collapsing-sm.
   v21d-f: Added container max-width (good for FOUC) but VC JS offset calc had 17px error.
   v21g: Removed container max-width — made FOUC worse. Reverted.
   v21h: Root cause identified: VC JS fullWidthRow() runs once on document ready and only
         re-runs on window resize — NOT on window load. So if async CSS changes layout after
         the deferred JS runs, the calculations are stale. Fix: keep container max-width
         (prevents content FOUC), keep production #page-wrapper resets, and add a window.load
         handler in HTML that dispatches a resize event to force VC JS recalculation after
         all CSS is loaded.
*/

/* Box-sizing reset */
*,::after,::before{box-sizing:border-box}

/* Base body/typography */
body{font-family:'Poppins',sans-serif;line-height:28px;font-weight:300;font-size:20px;color:#20409A;background-color:#fff;margin:0;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;color:#ED1C24}
.vertical-header a,.navbar a{color:#fff;text-decoration:none}

/* Theme colors */
.header-bottom,.header-top,.vertical-header{background-color:rgba(32,64,154,0.7)}
.footer-background-color{background-color:#20409a}
.desktop-mode .navbar-nav .nav-link{color:#fcfafa}
#page-wrapper{overflow:hidden}

/* Bootstrap base + responsive container max-width (prevents content FOUC) */
.container,.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}
.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.col,.col-12{position:relative;width:100%;padding-right:15px;padding-left:15px}
.col{flex-basis:0;flex-grow:1;max-width:100%}
.col-12{flex:0 0 100%;max-width:100%}
@media (min-width:768px){
  .col-md-4{flex:0 0 33.33333%;max-width:33.33333%}
  .col-md-6{flex:0 0 50%;max-width:50%}
  .col-md-8{flex:0 0 66.66667%;max-width:66.66667%}
  .col-md-12{flex:0 0 100%;max-width:100%}
}

/* Navbar base */
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}
.navbar-brand{display:inline-block;padding-top:.28125rem;padding-bottom:.28125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}

/* Theme: vertical header (slide-out sidebar) */
.vertical-nav .vertical-header{position:fixed;width:300px;top:0;left:0;height:100%;z-index:9999 !important}
.vertical-header{display:block !important}
.vertical-header:not(.show){left:-300px !important;transition:0.4s left linear}
.vertical-header.show{transition:0.25s left linear}
.vertical-nav .header-top{display:none !important}

/* FORCE RESET of vertical nav layout offsets — matches production critical-v4.css */
html body #page #page-wrapper{padding-left:0 !important;margin-left:0 !important;width:100% !important}
html body #page{margin-left:0 !important;padding-left:0 !important}
html body #page #page-wrapper .hp-slider-revolution > rs-module-wrap,
html body #page #page-wrapper .vc_row-fluid .vc_video-bg iframe{margin-left:0 !important;width:100% !important}
html body #page #page-wrapper .fullwidthbanner-container,
html body #page #page-wrapper .fullscreen-container,
html body #page #page-wrapper .vc_row[data-vc-stretch-content="true"]{padding-left:0 !important;margin-left:0 !important}

/* Theme: brand logo sizing */
body .navbar-brand img.brand-default{width:96px;height:46px;object-fit:contain}

/* VC row/column grid — base styles */
.vc_row:after,.vc_row:before{content:" ";display:table}
.vc_row:after{clear:both}
.vc_row{margin-left:-15px;margin-right:-15px}
.vc_column_container{width:100%}
.vc_col-lg-1,.vc_col-lg-2,.vc_col-lg-3,.vc_col-lg-4,.vc_col-lg-5,.vc_col-lg-6,.vc_col-lg-7,.vc_col-lg-8,.vc_col-lg-9,.vc_col-lg-10,.vc_col-lg-11,.vc_col-lg-12,
.vc_col-md-1,.vc_col-md-2,.vc_col-md-3,.vc_col-md-4,.vc_col-md-5,.vc_col-md-6,.vc_col-md-7,.vc_col-md-8,.vc_col-md-9,.vc_col-md-10,.vc_col-md-11,.vc_col-md-12,
.vc_col-sm-1,.vc_col-sm-2,.vc_col-sm-3,.vc_col-sm-4,.vc_col-sm-5,.vc_col-sm-6,.vc_col-sm-7,.vc_col-sm-8,.vc_col-sm-9,.vc_col-sm-10,.vc_col-sm-11,.vc_col-sm-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px;box-sizing:border-box}

/* VC flex row layout */
.vc_row.vc_row-flex>.vc_column_container{display:flex}
.vc_row.vc_row-flex>.vc_column_container>.vc_column-inner{flex-grow:1;display:flex;flex-direction:column;z-index:1}

/* VC column widths — copied from js_composer.min (loads async, causes FOUC without these) */
@media (min-width:768px){
  .vc_col-sm-1,.vc_col-sm-2,.vc_col-sm-3,.vc_col-sm-4,.vc_col-sm-5,.vc_col-sm-6,
  .vc_col-sm-7,.vc_col-sm-8,.vc_col-sm-9,.vc_col-sm-10,.vc_col-sm-11,.vc_col-sm-12{float:left}
  .vc_col-sm-12{width:100%}
  .vc_col-sm-11{width:91.66666667%}
  .vc_col-sm-10{width:83.33333333%}
  .vc_col-sm-9{width:75%}
  .vc_col-sm-8{width:66.66666667%}
  .vc_col-sm-7{width:58.33333333%}
  .vc_col-sm-6{width:50%}
  .vc_col-sm-5{width:41.66666667%}
  .vc_col-sm-4{width:33.33333333%}
  .vc_col-sm-3{width:25%}
  .vc_col-sm-2{width:16.66666667%}
  .vc_col-sm-1{width:8.33333333%}
}
@media (min-width:992px){
  .vc_col-md-1,.vc_col-md-2,.vc_col-md-3,.vc_col-md-4,.vc_col-md-5,.vc_col-md-6,
  .vc_col-md-7,.vc_col-md-8,.vc_col-md-9,.vc_col-md-10,.vc_col-md-11,.vc_col-md-12{float:left}
  .vc_col-md-12{width:100%}
  .vc_col-md-6{width:50%}
  .vc_col-md-4{width:33.33333333%}
  .vc_col-md-3{width:25%}
}
@media (min-width:1200px){
  .vc_col-lg-1,.vc_col-lg-2,.vc_col-lg-3,.vc_col-lg-4,.vc_col-lg-5,.vc_col-lg-6,
  .vc_col-lg-7,.vc_col-lg-8,.vc_col-lg-9,.vc_col-lg-10,.vc_col-lg-11,.vc_col-lg-12{float:left}
  .vc_col-lg-12{width:100%}
  .vc_col-lg-6{width:50%}
  .vc_col-lg-4{width:33.33333333%}
  .vc_col-lg-3{width:25%}
}

/* WPB content element spacing */
.wpb_content_element{margin-bottom:35px}

/* Background row overlay */
.upb_row_bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}
.wpb_column,.wpb_row{position:relative}

/* vc_row-has-fill padding (from js_composer, needed before it loads) */
.vc_row-has-fill>.vc_column_container>.vc_column-inner{padding-top:35px}

/* Responsive visibility */
@media (max-width:767px){.vc_hidden-xs{display:none!important}}
@media (min-width:768px) and (max-width:991px){.vc_hidden-sm{display:none!important}}
@media (min-width:992px) and (max-width:1199px){.vc_hidden-md{display:none!important}}
@media (min-width:1200px){.vc_hidden-lg{display:none!important}}
