/* Critical above-fold CSS — inlined to prevent FOUC while full CSS loads async */
/* Version 20: 
   1. Keeps v19 Overlap Fix (margin-top on second panel).
   2. REFINES the Row Reset to EXCLUDE inner rows (.vc_inner) and utility classes. 
      This prevents us from stripping the theme's text alignment/padding (pl-lg-100). 
*/

/* 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 */
.container,.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
.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 */
.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 (The "White Space" Fix)
   ========================================================================== */

/* 1. Global Safety Reset - Kill the 300px margin/padding everywhere possible */
html, body {
    margin-left: 0 !important;
    padding-left: 0 !important;
    overflow-x: hidden !important;
}

/* 2. Main Page Wrapper - Eliminate the 300px padding reservation */
html body #page #page-wrapper,
html body #page #wrapper-index,
html body #page #archive-wrapper,
html body #page #single-wrapper,
html body #page .wrapper {
    padding-left: 0 !important;
    margin-left: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    left: 0 !important;
    box-sizing: border-box !important;
}

/* 3. Row Resets - Ensure NO row gets the 300px PADDING */
/* KEY CHANGE v20: Exclude .vc_inner and rows with specific padding classes.
   We only want to target the broad container rows that inherit the sidebar gap. */
html body #page #page-wrapper .vc_row:not(.vc_inner):not([class*="pl-lg-"]),
html body #page #page-wrapper .vc_row[data-vc-stretch-content="true"],
html body #page #page-wrapper section.hp-slider-revolution .fullwidthbanner-container,
html body #page #page-wrapper section.hp-slider-revolution .fullscreen-container {
    padding-left: 0 !important;
    margin-left: 0; /* No !important = allows JS override */
}

/* FIX for Second Panel Overlap: The second panel has a class .pl-0 which might be fighting our logic */
html body #page #page-wrapper .vc_row.pl-0 {
    padding-left: 0 !important;
}

/* FIX for Column Overlap: The columns in the second panel need to stay contained */
/* We need to ensure that the columns inside .vc_row respect the container width */
html body #page #page-wrapper .vc_row:not([data-vc-stretch-content="true"]) > .vc_column_container {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* 4. Element Specific Resets (Sliders, Iframes) */
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;
    left: 0 !important;
}

/* ==========================================================================
   CONTENT SAFETY PADDING (The "Crowding" Fix + Centering Balance)
   ========================================================================== */
/* We want to indent the CONTENT 60px to avoid the menu button, but keep BACKGROUNDS full width. */
/* CRITICAL: To keep content visually centered on the screen, we must apply SYMMETRICAL padding (60px Left AND Right). */

/* B. Footer Container ONLY */
/* Apply 60px padding on BOTH sides to keep footer text centered */
html body #page #page-wrapper .wrapper-footer .container,
html body #page #page-wrapper .wrapper-footer .container-fluid {
    padding-left: 60px !important;
    padding-right: 60px !important;
}

/* C. Stretched Rows Content & Hero */
/* Target the deepest content wrapper. Add 60px Left (safety) and 60px Right (balance). */
html body #page #page-wrapper .vc_row[data-vc-stretch-content="true"] > .vc_column_container:first-child > .vc_column-inner > .wpb_wrapper,
html body #page #page-wrapper .home-banner-main > .vc_column_container > .vc_column-inner > .wpb_wrapper {
    padding-left: 60px !important;
    padding-right: 60px !important;
}

/* ==========================================================================
   v19/v20: SECOND PANEL SPECIFIC FIXES
   ========================================================================== */
/* The Second Panel (Contact Section) was overlapping the Hero.
   We identify it by its unique inner class .home-contact-sec.
   We apply margin-top to push it down. */

.home-contact-sec {
    margin-top: 60px !important;
    position: relative;
    z-index: 10;
}

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

/* VC row/column grid stub */
.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}

/* 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}}
