/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ====================================================
   1. FIXED HEADER, DROP SHADOW & 1200px BREAKPOINT SWAP
   ==================================================== */

#ast-desktop-header,
#ast-mobile-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.5) !important;
}

/* Mobile Header Display (<= 1200px) */
@media (max-width: 1200px) {
    #ast-desktop-header {
        display: none !important;
    }
    #ast-mobile-header {
        display: block !important;
    }
}

/* Desktop Header Display (>= 1201px) */
@media (min-width: 1201px) {
    #ast-desktop-header {
        display: block !important;
    }
    #ast-mobile-header {
        display: none !important;
    }

    /* Force desktop menu into horizontal flex row immediately at 1201px */
    #ast-desktop-header .main-navigation,
    #ast-desktop-header .main-header-menu {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    #ast-desktop-header .main-header-menu > li,
    #ast-desktop-header .main-header-menu > .menu-item {
        display: inline-flex !important;
        float: none !important;
        width: auto !important;
        border-bottom: none !important;
    }

    #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
        display: flex !important;
        align-items: center !important;
    }
}

/* ====================================================
   2. OFF-CANVAS DRAWER LAYOUT & SCROLLBARS
   ==================================================== */

/* Full-width container setup & background color (#333333) */
.ast-mobile-header-content,
.ast-mobile-popup-drawer .ast-mobile-popup-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
    width: 100% !important;
    max-width: 100% !important;
    right: 0 !important;
    left: 0 !important;
    background-color: #333333 !important;
}

/* Stretch menu items & borders full width */
.ast-mobile-popup-drawer .main-header-menu,
.ast-mobile-popup-drawer .main-header-menu > li,
.ast-mobile-popup-drawer .main-header-menu > li > a {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Active menu drawer visibility */
.ast-mobile-menu-active .ast-mobile-header-content,
.ast-mobile-popup-drawer.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Prevent & hide scrollbars in drawer & sub-menus */
.ast-mobile-popup-drawer .sub-menu,
.ast-mobile-popup-drawer .menu-item-has-children,
.ast-mobile-popup-drawer .main-header-menu {
    overflow: hidden !important;
}

.ast-mobile-popup-drawer,
.ast-mobile-popup-drawer *,
.ast-mobile-header-content,
.ast-mobile-header-content * {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.ast-mobile-popup-drawer::-webkit-scrollbar,
.ast-mobile-popup-drawer *::-webkit-scrollbar,
.ast-mobile-header-content::-webkit-scrollbar,
.ast-mobile-header-content *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* ====================================================
   3. OFF-CANVAS MENU COLORS & HOVER STATES
   ==================================================== */

/* Hide ALL duplicate icons/arrows inside the anchor link */
.ast-mobile-popup-drawer a.menu-link .ast-icon,
.ast-mobile-popup-drawer a.menu-link .dropdown-menu-toggle,
.ast-mobile-popup-drawer a.menu-link svg {
    display: none !important;
}

/* Keep ONLY the main button toggle visible on the far right */
.ast-mobile-popup-drawer .ast-menu-toggle {
    display: flex !important;
}

.ast-mobile-popup-drawer .ast-menu-toggle .ast-icon,
.ast-mobile-popup-drawer .ast-menu-toggle svg {
    display: inline-flex !important;
}

/* Default Text & Arrow Color (#ffffff) */
.ast-mobile-popup-drawer .menu-link,
.ast-mobile-popup-drawer .menu-text {
    color: #ffffff !important;
    transition: color 0.2s ease-in-out;
}

.ast-mobile-popup-drawer .ast-menu-toggle .ast-arrow-svg {
    fill: #ffffff !important;
    color: #ffffff !important;
    transition: fill 0.2s ease-in-out, color 0.2s ease-in-out;
}

/* Hover Text & Arrow Color (#ffb300) */
.ast-mobile-popup-drawer .menu-link:hover,
.ast-mobile-popup-drawer .menu-link:hover .menu-text {
    color: #ffb300 !important;
}

.ast-mobile-popup-drawer .menu-link:hover .ast-arrow-svg,
.ast-mobile-popup-drawer .ast-menu-toggle:hover .ast-arrow-svg {
    fill: #ffb300 !important;
    color: #ffb300 !important;
}

/* ====================================================
   4. OFF-CANVAS ITEM HEIGHTS, ALIGNMENT & FIXED TOGGLE
   ==================================================== */

@media (max-width: 1200px) {
    /* Top-level menu list item anchor */
    .ast-mobile-popup-drawer .main-header-menu > .menu-item {
        position: relative !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    }

    /* Top-level menu buttons locked to 48px height */
    .ast-mobile-popup-drawer .main-header-menu > .menu-item > a {
        padding: 12px 50px 12px 20px !important;
        height: 48px !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
    }

    /* Lock toggle overlay strictly to top 48px row height */
    .ast-mobile-popup-drawer .menu-item-has-children > .ast-menu-toggle,
    .ast-mobile-popup-drawer .menu-item-has-children > a .dropdown-menu-toggle {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        height: 48px !important;
        max-height: 48px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 20px 0 0 !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        background: transparent !important;
        border: none !important;
        outline: none !important;
        z-index: 10 !important;
    }

    .ast-mobile-popup-drawer .ast-menu-toggle .ast-icon,
    .ast-mobile-popup-drawer .ast-menu-toggle .ast-arrow-svg,
    .ast-mobile-popup-drawer .dropdown-menu-toggle .ast-icon,
    .ast-mobile-popup-drawer .dropdown-menu-toggle .ast-arrow-svg {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 !important;
        vertical-align: middle !important;
    }

    /* Sub-Menu items padding & indent */
    .ast-mobile-popup-drawer .sub-menu .menu-item > a {
        padding: 12px 20px 12px 45px !important;
        height: auto !important;
        min-height: 40px !important;
        display: flex !important;
        align-items: center !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
    }

    /* Remove focus outline boxes */
    .ast-mobile-popup-drawer a:focus,
    .ast-mobile-popup-drawer button:focus,
    .ast-mobile-popup-drawer .menu-link:focus {
        outline: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
}

/* ====================================================
   5. OFF-CANVAS CLOSE BUTTON (X) & HEADER HEIGHT
   ==================================================== */

.ast-mobile-popup-drawer .ast-mobile-popup-header {
    height: 65px !important;
    min-height: 65px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    padding-right: 20px !important;
}

/* Close button sizing & alignment */
.ast-mobile-popup-drawer .ast-mobile-popup-close,
button.ast-mobile-popup-close,
#menu-toggle-close {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-close svg,
.ast-mobile-popup-drawer .ast-close-svg,
#menu-toggle-close svg {
    width: 40px !important;
    height: 40px !important;
    fill: #ffffff !important;
}

/* ====================================================
   6. FULL-WIDTH HEADER BAR & RESPONSIVE ALIGNMENT
   ==================================================== */

/* Mobile Header Layout (<= 1200px) */
@media (max-width: 1200px) {
    #ast-mobile-header .main-header-bar {
        height: 65px !important;
        min-height: 65px !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #ast-mobile-header .ast-container,
    #ast-mobile-header .site-primary-header-wrap,
    #ast-mobile-header .ast-builder-grid-row {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    #ast-mobile-header .site-header-primary-section-right,
    #ast-mobile-header .site-header-section-right,
    #ast-mobile-header .ast-button-wrap {
        margin-left: auto !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        padding-right: 15px !important;
    }
}

/* Desktop Header Height & Full-Width Outer Containers (>= 1201px) */
@media (min-width: 1201px) {
    #ast-desktop-header .main-header-bar {
        height: 65px !important;
        min-height: 65px !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    #ast-desktop-header .ast-container,
    #ast-desktop-header .site-primary-header-wrap {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    #ast-desktop-header .ast-builder-grid-row {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }
}

/* ====================================================
   7. DESKTOP NAV LINK SPACING, MIN-WIDTH & DIVIDERS
   ==================================================== */

@media (min-width: 1201px) {
    /* Main UL container locked to 40px height & vertically centered */
    #ast-desktop-header #ast-hf-menu-1,
    #ast-desktop-header .main-header-menu {
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        height: 40px !important;
        max-height: 40px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* List items locked to 40px height */
    #ast-desktop-header #ast-hf-menu-1 > .menu-item,
    #ast-desktop-header .main-header-menu > .menu-item {
        min-width: 145px !important;
        height: 40px !important;
        max-height: 40px !important;
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    /* Left border on HOME (first item) */
    #ast-desktop-header #ast-hf-menu-1 > .menu-item:first-child,
    #ast-desktop-header .main-header-menu > .menu-item:first-child {
        border-left: 1px solid #ffffff !important;
    }

    /* Vertical divider line between menu items (#ffffff) */
    #ast-desktop-header #ast-hf-menu-1 > .menu-item:not(:last-child),
    #ast-desktop-header .main-header-menu > .menu-item:not(:last-child) {
        border-right: 1px solid #ffffff !important;
    }

    /* Anchor links locked to 40px height with 12px vertical padding */
    #ast-desktop-header #ast-hf-menu-1 > .menu-item > .menu-link,
    #ast-desktop-header #ast-hf-menu-1 > .menu-item > a,
    #ast-desktop-header .main-header-menu > .menu-item > .menu-link,
    #ast-desktop-header .main-header-menu > .menu-item > a {
        height: 40px !important;
        max-height: 40px !important;
        padding: 12px 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
        color: #ffffff !important;
        transition: color 0.2s ease-in-out;
    }

    #ast-desktop-header #ast-hf-menu-1 > .menu-item > .menu-link:hover,
    #ast-desktop-header #ast-hf-menu-1 > .menu-item > a:hover,
    #ast-desktop-header .main-header-menu > .menu-item > .menu-link:hover,
    #ast-desktop-header .main-header-menu > .menu-item > a:hover {
        color: #ffb300 !important;
    }

    /* Adjust arrow spacing inside dropdown parent links */
    #ast-desktop-header #ast-hf-menu-1 .menu-item-has-children > a .dropdown-menu-toggle,
    #ast-desktop-header #ast-hf-menu-1 .menu-item-has-children > a .ast-header-navigation-arrow,
    #ast-desktop-header .main-header-menu .menu-item-has-children > a .dropdown-menu-toggle,
    #ast-desktop-header .main-header-menu .menu-item-has-children > a .ast-header-navigation-arrow {
        display: inline-flex !important;
        align-items: center !important;
        margin-left: 5px !important;
        padding: 0 !important;
    }
}

/* 1366px up to 1919px breakpoint */
@media (min-width: 1366px) {
    #ast-desktop-header #ast-hf-menu-1 > .menu-item,
    #ast-desktop-header .main-header-menu > .menu-item {
        min-width: 170px !important;
    }
    #ast-desktop-header #ast-hf-menu-1 > .menu-item > .menu-link,
    #ast-desktop-header #ast-hf-menu-1 > .menu-item > a,
    #ast-desktop-header .main-header-menu > .menu-item > .menu-link,
    #ast-desktop-header .main-header-menu > .menu-item > a {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* 1920px and above breakpoint */
@media (min-width: 1920px) {
    #ast-desktop-header #ast-hf-menu-1 > .menu-item,
    #ast-desktop-header .main-header-menu > .menu-item {
        min-width: 220px !important;
    }
}

/* ====================================================
   8. FIXED HEADER CONTENT OVERLAP FIX
   ==================================================== */

#content,
.site-content,
#primary,
.entry-content {
    padding-top: 25px !important;
}

body.admin-bar {
    margin-top: 0 !important;
}