/* ==========================================================================
   1. FONTS &amp; GLOBAL TYPOGRAPHY
   ========================================================================== */

/* Single, optimized import for Roboto (Regular 400, Semi-Bold 600, Bold 700) */
@import url('https://googleapis.com');

/* Global body typography settings */
html, body, p, span, div:not([class*="vc_"]):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6em !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* WPBakery &amp; Theme H3 Typography Fixes */
h3, 
h3 *, 
.vc_custom_heading h3, 
.vc_custom_heading.h3,
div.wpb_wrapper h3 {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 600 !important;
    font-size: 1.2em !important;
}

/* Force strong tags to display as bold text across WPBakery elements */
strong, 
b, 
.wpb_text_column strong, 
div.wpb_wrapper strong,
strong span[data-contrast="auto"], 
b span[data-contrast="auto"],
strong *,
b * {
    font-weight: 700 !important;
}

/* ==========================================================================
   2. DESKTOP ONLY HEADER &amp; LOGO CONFIGURATION (160px Compatibility)
   ========================================================================== */
@media screen and (min-width: 768px) {
    /* 1. Set the broad outer container to auto height so it doesn't stretch the top bar */
    header.header-style-2, 
    div.header-style-2 {
        height: auto !important;
        min-height: auto !important; /* Clears the 180px trap from the main wrapper */
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 999 !important;
        margin-bottom: 0 !important;
    }

    /* 2. Apply the 180px layout height ONLY to the inner navigation navbar area */
    .header-style-2 .navigation,
    .header-style-2 .navbar-default {
        height: auto !important;
        min-height: 120px !important; /* This now safely expands the menu without affecting the top bar */
        padding-top: 5px;
        padding-bottom: 5px;
    }

    /* Open up layout blocks and add top margin to drop the logo down */
    .header-style-2 .navigation .logo,
    .header-style-2 .navigation .logo a,
    .navigation.header-style-2 .logo {
        height: 120px !important; 
        min-height: 160px !important;
        line-height: 160px !important;
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        margin-top: 10px !important; /* Pushes the logo down to match the menu baseline */
    }

    /* Maintain the crisp 160px dimensions */
    .header-style-2 .navigation .logo img,
    .navigation.header-style-2 .logo img,
    .header-style-2 .logo img {
        height: 160px !important; 
        max-height: 160px !important;
        min-height: 160px !important;
        width: auto !important;
        display: block !important;
        transform: skew(0deg) !important;
        padding-top: 0 !important;  
        padding-bottom: 0 !important;
    }

    /* Balance navigation links to match the deeper desktop header baseline */
    .header-style-2 .navbar-default .navbar-nav > li > a {
        line-height: 120px !important;
        height: 120px !important;
        display: flex;
        align-items: center;
    }

    .header-style-2 .navbar-nav {
        margin: 10px 0;
    }

    .header-style-2 div#infocard {
        height: auto !important;
        display: inline-block;
        vertical-align: middle;
    }
}

/* ==========================================================================
   3. SLIDER &amp; HERO STRUCTURAL LAYOUT FLOW
   ========================================================================== */

.slider, 
#slider-with-blocks-1,
.forcefullwidth_wrapper_tp_banner,
div.module.parallax {
    position: relative !important;
    margin-top: 0 !important;
    top: 0 !important;
    clear: both !important;
}

body.home .wrapper {
    padding-top: 0px !important;
}

/* ==========================================================================
   4. WP-BAKERY LISTS &amp; BULLET POINTS
   ========================================================================== */

.wpb_text_column ul, 
.vc_custom_heading ul, 
div.wpb_wrapper ul {
    list-style-type: disc !important;
    margin-left: 20px !important;
    padding-left: 20px !important;
}

.wpb_text_column ul li, 
div.wpb_wrapper ul li {
    display: list-item !important;
    list-style-type: disc !important;
}

/* ==========================================================================
   5. BLOG &amp; CONTENT CLEANUP
   ========================================================================== */

/* Hide categories, tags, and unnecessary post meta data */
.single-post .cat-links,
.single-post .tags-links,
.entry-footer .cat-links,
.entry-footer .tags-links,
.entry-meta,
.post-meta,
.post-utility,
.post-utility .cat-links,
.post-utility .tags-links,
.post-tags,
.post-categories,
.meta-categories,
.meta-tags,
.tagsblock,
.tag-links,
.categories-list,
.blog-post__meta,
.article-meta,
.footer-meta,
.latst-news-text h3.news-text-heading {
    display: none !important;
}

.latst-news-text p,
.news-text-desc {
    font-size: 16px;
    font-weight: 400;
    color: #333;
    line-height: 1.6em;
    margin-bottom: 10px;
}

/* ==========================================================================
   6. RESPONSIVE &amp; MOBILE RESPONSIVE MEDIA QUERIES (768px and Below)
   ========================================================================== */

@media screen and (max-width: 768px) {
    /* Mobile text color fix for Chrome/iOS navigation links */
    .mobile-nav a, .mobile-menu a, .offcanvas-menu a, .responsive-menu a,
    .hd-email, .hd-email a, .hd-email a:visited, .hd-phone, .hd-phone a, .hd-phone a:visited {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        opacity: 1 !important;
        text-decoration: none;
    }
}

@media screen and (max-width: 767px) {
    /* 1. Explicit Mobile Logo Sizing (Allows it to grow without breaking layouts) */
    .header-style-2 .navigation .logo,
    .header-style-2 .navigation .logo a,
    .navigation-header-style-2 .logo,
    .logo,
    .navbar-brand {
        height: 165px !important;    
        min-height: 165px !important;
        width: 200px !important;    /* Forces an explicit horizontal width base layout */
        min-width: 200px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Direct image tag rules to scale the asset clearly */
    .header-style-2 .navigation .logo img,
    .header-style-2 .navigation .logo a img,
    .navigation.header-style-2 .logo img,
    .logo img,
    .navbar-brand img,
    img.logo-img {
        width: 100% !important;      
        max-width: 200px !important; 
        height: auto !important;     
        max-height: 200px !important; 
        display: block !important;
        margin-top:1px;
        margin-bottom:10px;
        object-fit: contain !important; /* Preserves crisp, natural dimensions */
    }

    /* 2. Balance the vertical position of your theme's hamburger icon wrapper */
    .navbar-default .navbar-toggle {
        margin-top: 20px !important;   /* Centers button cleanly against your new logo depth */
        margin-bottom: 10px !important; 
    }
}

/* ==========================================================================
   7. MOBILE MENU LINK TIGHTENING (767px and Below)
   ========================================================================== */

@media screen and (max-width: 767px) {
    /* Tighten vertical gap distances inside the expanded mobile menu drop-down */
    .navbar-default .navbar-nav,
    .header-style-2 .navbar-nav {
        margin-top: 1px !important;
        margin-bottom: 1px !important;
    }

    .navbar-default .navbar-nav > li > a,
    .mobile-menu ul li a,
    .navigation .navbar-nav > li > a,
    .dl-menuwrapper li a {
        padding-top: 10px !important;    /* Drops vertical spacing walls around links */
        padding-bottom: 10px !important; 
        line-height: 24px !important;    /* Overrides massive desktop line height values */
        height: auto !important;          
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Ensure parent elements do not retain empty margin blocks */
    .navbar-nav > li,
    .mobile-menu ul li,
    .navigation .navbar-nav > li {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        height: auto !important;
    }
}

/* ==========================================================================
   8. FIXED GLOBAL TOP BAR COMPACTNESS OVERRIDE (Desktop &amp; Mobile)
   ========================================================================== */
/* Safely tighten the top bar stripe while leaving the navigation menu completely alone */
.top-bar, 
.topbar, 
div.header-top, 
#top-bar {
    height: auto !important;       /* Auto height prevents line overflow clips */
    min-height: 5px !important;   
    max-height: none !important;   
    padding-top: 6px !important;   /* Uses a tight padding profile instead of fixed heights */
    padding-bottom: 6px !important;
    line-height: normal !important;  
}

/* Restrict structural adjustments strictly to items wrapped within the top-bar frame */
.top-bar .container, 
.topbar .container,
.top-bar .row,
div.header-top .container,
div.header-top .row {
    height: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Compact the text strings inside the top bar banner without shifting global navigation links */
.top-bar span,
.topbar p,
.top-bar ul,
.top-bar li,
.top-bar a,
.topbar a,
div.header-top span,
div.header-top a {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 2px !important;   
    padding-bottom: 2px !important;
    line-height: 1.4em !important; /* Compact vertical row layout */
    height: auto !important;
}

/* FORCED MOBILE-SPECIFIC TOP BAR RESETS */
@media screen and (max-width: 767px) {
    .topbar,
    .top-bar,
    div.header-top,
    .topbar-mobile,
    .mobile-topbar {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    /* Force text items inside top bar to behave beautifully on mobile screens */
    .topbar ul,
    .top-bar ul,
    div.header-top ul,
    .topbar li,
    .top-bar li,
    div.header-top li {
        line-height: 1.3em !important;
        display: inline-block !important; 
    }
}

/* ==========================================================================
   9. FOOTER CONTACT LIST TYPOGRAPHY
   ========================================================================== */
.widget ul.bcd-contact-list.has-icons li, 
.widget ul.bcd-contact-list.has-icons li a,
ul.bcd-contact-list.has-icons li, 
ul.bcd-contact-list.has-icons li a {
    font-size: 17px !important;
    font-weight:500;
    line-height: 1.6em !important;
}


.navigation.header-style-2 {
    background: #19171C;
}
.header-style-2 .navbar-nav > li > a
 {
    color: #fff !important;
 }