/*
 * Responsive CSS for Biz Growth Hub Lite
 * Contains all responsive/media query styles
 *
 * @package biz-growth-hub-lite
 */

/* ========================================
   Global Responsive Base
   ======================================== */

/* Prevent horizontal scroll on all screens */
html, body {
    overflow-x: hidden;
}

/* Logo responsive – any size image cropped to logo area */
.logo img.custom-logo,
.logo .custom-logo {
    max-width: 100%;
    max-height: 70px;
    height: 70px;
    width: auto;
    object-fit: cover;
    object-position: left center;
}

/* Content images and embeds always responsive */
.entry-content img,
.page_content img,
.blog_lists img,
.blog-post img {
    max-width: 100%;
    height: auto;
}
.entry-content iframe,
.entry-content video,
.entry-content embed,
.entry-content object,
.page_content iframe,
.page_content video {
    max-width: 100%;
}

/* Tables responsive - wrap in scrollable container */
.entry-content table,
.page_content table,
.comment-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

/* Footer widget images always responsive */
.footer img {
    max-width: 100%;
    height: auto;
}
/* Footer widget tables (if any) scrollable */
.footer table {
    max-width: 100%;
}
/* Footer tag cloud */
.footer .tagcloud a {
    font-size: 12px !important;
    padding: 4px 10px;
    margin: 0 4px 6px 0;
    display: inline-block;
    background: rgba(255,255,255,0.08);
    color: #c5cad6;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.12);
    transition: all 0.2s ease;
    line-height: 1.4;
}
.footer .tagcloud a:hover {
    background: rgba(255,255,255,0.18);
    color: #fff;
    border-color: rgba(255,255,255,0.25);
}
/* Footer RSS widget */
.footer .widget_rss .rss-date {
    color: rgba(255,255,255,0.5);
    font-size: 11px;
    display: block;
    margin-top: 4px;
}
.footer .widget_rss .rssSummary {
    color: #c5cad6;
    font-size: 13px;
    line-height: 1.6;
    margin-top: 6px;
}
/* Footer recent comments */
.footer .widget_recent_comments li {
    font-size: 13px;
    color: #c5cad6;
    line-height: 1.6;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.footer .widget_recent_comments li:last-child {
    border-bottom: none;
}


/* ========================================
   Media Queries - Large Desktop (1200px)
   ======================================== */

@media (max-width: 1200px) {
    .logotxt h1 a {
        font-size: 26px;
      }
      .header .container, .mainheader .container  {
        width: 100%;
      }
}

@media (max-width: 1190px) {
        .carousel-caption{bottom:0;}
        .headerlogotop .hdrdetails{float: none;}
        .logo.clogoclass {
            top: 3px;
            clear: both;
            height: auto;
            margin-bottom: 5px;
          }
}

@media (max-width: 1100px) {
    .mainwidth {  margin: 0 auto;  width: 100%;}
}

@media (max-width: 1079px) {
    .header-box.header-right{width: 70%;}
}

/* ========================================
   Media Queries - Desktop / Header (1035px - 1005px)
   ======================================== */

@media (max-width: 1035px) {
    .header-phone-email::before {
        margin-right:20px;
        }
}

@media (max-width: 1005px) {
    .header-phone-email::before {
        margin:0;
    }
    .hdrtop-Info{padding: 5px 10px;}

}


/* ========================================
   Media Queries - Tablet Landscape (1024px)
   ======================================== */

@media (max-width: 1024px) {
    .copyright{text-align: center;}
    .design{text-align: center;}

    /* Footer */
    .footer .container {
        padding: 0 20px;
    }
    .footer-widget-title {
        font-size: 18px;
    }
    .footer ul li,
    .footer ul li a {
        font-size: 13px;
    }
    .footer p, .footer .textwidget p {
        font-size: 13px;
    }
}

/* Resources Section */
@media screen and (max-width: 1024px) {
    .resources-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    section#pageboxes {
        padding: 60px 0;
    }
}


/* ========================================
   Media Queries - Tablet (991px)
   ======================================== */

@media (max-width: 991px) {
    .header-phone-email::before, .header-phone-email::after {display: none;}
    .top-headerphone-email {
        text-align: center;
    }
    .logo.clogoclass{clear: both; top: 0; height: auto;}
    h3.style2{ font-size:30px;}
    .logotxt, .logotxt a{text-align:center;}
    .header-social-top ul{text-align:center;}
    .header-social{text-align:center;}
    /* resource cards handled by grid */
    #maintopdiv{ position: relative; }
    .header-top {background:#1f2937}
    .headercommon{  text-align: center; padding: 3px 0; }
    .social-icons ul{ padding: 0; }
    #main_navigation {  background: none;}
    section#header{padding:0 0 11px;}
    .blog-post {
        border-radius: 0;
        box-shadow: none;
    }
    .blog-post h1 {
        padding: 20px 20px 0;
        font-size: 24px;
        max-width: 100%;
        overflow-wrap: anywhere;
        word-wrap: break-word;
        box-sizing: border-box;
    }
    .entry-content h1,
    .page_content h1 {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-wrap: break-word;
    }
    .logo h1,
    .logo h1 a,
    .logo a.logo-link {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-wrap: break-word;
    }
    .service-title,
    .service-title a {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-wrap: break-word;
    }
    .page-numbers {
        transition: none;
    }
    .page_content {
        padding: 20px;
    }
    .blog_lists,
    .recent_articles {
        padding: 20px;
        border-radius: 8px;
    }
    .pp_topstrip{ float:none; width: 100%;}
    .pp_topstrip::before {display: none;}
    #main_navigation .togglemenu{display: block;}
    #main_navigation .sitenav{float:none; margin:0; position:relative; overflow-x:hidden; background-color:#fff; border-radius:0; top:0; border-bottom:none; }
    #main_navigation .nav ul{color:#000; width:100% !important; float:none !important; margin:0; padding:0; left: 0 !important; z-index: 999;}
    #main_navigation .nav ul li{border-top:1px #e5e7eb solid; display:block; float:none; text-align:left; border-bottom:1px solid #e5e7eb;}
    #main_navigation .nav ul li a{padding:5px 10px !important; display:block; color:#1f2937; border:none; max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; word-wrap:break-word;}
    #main_navigation .nav ul li a:hover {color:#2563eb; background:transparent; border:none !important;}
    #main_navigation .nav ul li.current_page_item a{border:none !important; color:#2563eb;}
    #main_navigation .nav ul li ul,
    #main_navigation .nav ul li.hover ul,
    #main_navigation .nav ul li:focus ul, 
    #main_navigation .nav ul li ul ul,
    #main_navigation .nav ul li.hover ul ul,
    #main_navigation .nav ul li:focus ul ul{ display:block !important;}
    /* Hide Font Awesome chevron on parent links only; keep left » on child links for submenu hierarchy */
    #main_navigation .nav ul li.page_item_has_children > a::after,
    #main_navigation .nav ul li.menu-item-has-children > a::after {
        content: none !important;
        display: none !important;
        margin: 0 !important;
    }
    #main_navigation .nav ul li ul li a::before {
        content: "\00BB \00a0";
    }
    /* Stepped indent: level-2 vs level-3+ (e.g. “3a”, “3b”) so deep items don’t align with parents */
    #main_navigation .nav ul ul > li > a {
        padding-left: 24px !important;
    }
    #main_navigation .nav ul ul ul > li > a {
        padding-left: 42px !important;
    }
    #main_navigation .nav ul ul ul ul > li > a {
        padding-left: 58px !important;
    }
    #main_navigation .nav ul li ul li a{ border:none;}
    #main_navigation .nav ul li:hover ul a, #main_navigation .nav ul li.hover ul a{ width: 100%; }


    /* Reset desktop off-screen/hidden submenu rules so stacked mobile menu has no phantom gaps */
    #main_navigation .nav ul ul,
    #main_navigation .nav ul ul ul,
    #main_navigation .nav ul ul ul ul {
        position: relative !important;
        top: 0 !important;
        left: auto !important;
        right: auto !important;
        width: auto !important;
        max-width: 100%;
        min-width: 0;
        margin-top: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        box-sizing: border-box;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        border-left: none !important;
        padding: 0 !important;
    }
    /* Extra left inset per nested list so deeper sub-menus (3a, 3b, …) read as nested */
    #main_navigation .nav ul ul {
        margin-left: 12px !important;
    }
    #main_navigation .nav ul ul ul {
        margin-left: 16px !important;
    }
    #main_navigation .nav ul ul ul ul {
        margin-left: 16px !important;
    }
    /* Drop desktop “dropdown card” look on nested links */
    #main_navigation .nav ul li:hover ul a,
    #main_navigation .nav ul li.hover ul a,
    #main_navigation .nav ul ul li a,
    #main_navigation .nav ul ul ul li a,
    #main_navigation .nav ul ul ul ul li a {
        background: transparent !important;
        border: none !important;
        border-bottom: none !important;
        box-shadow: none !important;
        width: 100% !important;
    }
    #main_navigation .nav ul li:hover ul, 
    #main_navigation .nav ul li.hover ul,
    #main_navigation .nav ul li:focus ul{}
    #main_navigation .nav ul ul li:hover ul,
    #main_navigation .nav ul ul li.hover ul,
    #main_navigation .nav ul ul li:focus ul 
    {

        top: 0;
    }

    #main_navigation .nav ul li:hover ul li:hover > ul,
    #main_navigation .nav ul li.hover ul li.hover > ul,
    #main_navigation .nav ul li:focus ul li:focus > ul {
        display: block;
        position: relative;

        top: 0;
    }
    #main_navigation .nav ul li:hover ul ul,
    #main_navigation .nav ul li:hover ul ul ul,
    #main_navigation .nav ul li:hover ul ul ul ul,
    #main_navigation .nav ul li:focus ul ul,
    #main_navigation .nav ul li:focus ul ul ul,
    #main_navigation .nav ul li:focus ul ul ul ul,
    #main_navigation .nav ul li.hover ul ul,
    #main_navigation .nav ul li.hover ul ul ul,
    #main_navigation .nav ul li.hover ul ul ul ul
    {

    }



    #main_navigation .nav ul li:hover ul a, #main_navigation .nav ul li.hover ul a {
        width: 100%; margin-top: auto; }
    #main_navigation .sitenav ul li{border: none;}
    .nav ul ul, .nav ul ul ul, .nav ul ul ul ul { position: relative; left: 0; }
    .leftlogo{ text-align: center;  }
    .rightmenu{width: 100%;margin: 0 0 4px 0; }
    .header-left li{ float: none; color:#000;}
    .logotxt p{ color: #000; }
    .social-icons a.fa{ border-color: #1f2937; color: #1f2937; }
    a.togglemenu[href]:focus{ background-color: #1f2937; color: #ffffff;padding: 10px; }
    #main_navigation .nav ul a[href]:focus,
    #main_navigation .nav ul li li a[href]:focus{background: #2563eb;
        color: #ffffff;}
    .header-social-top{background-color:#1f2937;}
    .threebox{ margin-bottom:10px;}

    .logo{float: none; top:0; margin:5px auto; text-align: center; max-width: none;}
    .logo span.tagline {
        padding-left: 0;
        display: inline-block;
    }
    .logo span.tagline::before {
        display: none;
    }
    .header-box.header-right {
        text-align: center;
        float: none;
        width: 100%;
        margin: 0 auto;
      }
      .hdr-topstrip .phonebX::before {background:none;}
      .hdrdetails {float: none;}
      .hdrdetails::before { display: none;}
      .header-top .infoBx { text-align: center;}

    /* Footer */
    .footer {
        padding: 40px 0 15px;
    }
    .footer-col {
        margin-bottom: 35px;
    }
    .footer-widget-title {
        font-size: 17px;
        margin-bottom: 12px;
    }
    .footer-columns {
        gap: 0;
    }
    .footer #wp-calendar {
        font-size: 12px;
        border-spacing: 2px;
    }
    .footer #wp-calendar thead th {
        padding: 7px 3px;
        font-size: 10px;
    }
    .footer #wp-calendar tbody td {
        padding: 7px 3px;
    }
    .footer .contact-info li {
        font-size: 13px;
    }
    .footer .social-icons a {
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 13px;
    }
    .footer-bottom {
        padding: 15px 0;
        font-size: 13px;
    }
    .copyright-wrap {
        padding: 0 15px;
    }
}


/* ========================================
   Media Queries - Tablet / Banner (768px)
   ======================================== */

/* Responsive banner */
@media screen and (max-width: 768px) {
    .slide_info_inner {
        max-width: 100%;
        padding: 25px 20px;
    }
    .carousel-caption h3, .slide_info .banner_heading h3 {
        font-size: 28px;
    }
    .captiontext, .banner_sub_heading {
        font-size: 14px;
    }
    .carousel-caption {
        padding: 0 15px;
    }
}

/* Resources Section */
@media screen and (max-width: 768px) {
    .resources-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .service-image {
        height: 200px;
    }
    section#pageboxes {
        padding: 50px 0;
    }
    .resources-header {
        margin-bottom: 40px;
    }
    .resources-title {
        font-size: 26px;
    }
}

/* Content Responsive */
@media (max-width: 768px) {

    /* Contact form - full width inputs */
    .wpcf7 input[type="text"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="email"] {
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 12px;
    }
    .wpcf7 textarea {
        width: 100%;
        box-sizing: border-box;
    }

    /* Comments - reduce avatar offset */
    .comment-body {
        margin-left: 55px;
    }
    .comment-author .avatar {
        left: -55px;
        height: 45px;
        width: 45px;
    }
    .children .comment-body {
        margin-left: 40px;
    }
    .children .comment-author .avatar {
        left: -40px;
        height: 28px;
        width: 28px;
    }

    /* Post thumbnail in archive - stack on tablet */
    .post-thumb {
        float: none;
        width: 100%;
        margin: 0 0 15px 0;
    }
    .post-thumb img {
        width: 100%;
    }

    /* Blog post content area */
    .blog-post h1 {
        font-size: 24px;
        padding: 20px 20px 0;
    }
    .page_content {
        padding: 20px;
    }

    /* BlogPosts grid fallback */
    .BlogPosts {
        width: 48%;
        margin: 0 2% 20px 0;
    }

    /* Gallery columns - reduce to 2 columns max */
    .gallery-columns-3 .gallery-item,
    .gallery-columns-4 .gallery-item {
        max-width: 50%;
    }

    /* Headings scale down */
    .entry-content h1, .page_content h1 {
        font-size: 24px;
    }
    .entry-content h2, .page_content h2 {
        font-size: 21px;
    }
    .entry-content h3, .page_content h3 {
        font-size: 18px;
    }
}


/* ========================================
   Media Queries - Mobile Landscape (767px)
   ======================================== */

@media (max-width: 767px) {
    .navbar-toggle{ background-color: #fff; }
    .icon-bar{ color: #fff; }
    .form-inline{ margin: 0 0 15px; }
    .dropdown-menu > li > a{color: #fff; }
    .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus{ color: #fff; background-color: #000; }
    .logotxt{ margin: 0 0 0 20px; }
    .social-icons{ text-align: center; }
    .header-top .rightsphone {  text-align: center;}
    .header-left li { float: none;  } 
    .recent_articles{ width:100%;}

    /* Footer */
    .footer {
        padding: 35px 0 5px;
    }
    .footer .container {
        padding: 0 15px;
    }
    .footer-col {
        margin-bottom: 30px;
        padding: 0 15px;
    }
    .footer-widget-title {
        font-size: 16px;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .footer ul li {
        padding: 4px 0;
    }
    .footer ul li,
    .footer ul li a {
        font-size: 13px;
    }
    .footer p, .footer .textwidget p {
        font-size: 13px;
        line-height: 1.7;
    }
    .footer #wp-calendar {
        border-spacing: 2px;
    }
    .footer #wp-calendar caption {
        font-size: 13px;
        padding: 8px 4px 10px;
    }
    .footer #wp-calendar thead th {
        padding: 7px 2px;
        font-size: 10px;
    }
    .footer #wp-calendar tbody td {
        padding: 8px 2px;
        font-size: 12px;
    }
    .footer .widget_search .form-inline {
        flex-wrap: wrap !important;
    }
    .footer .widget_search .form-group {
        width: 100%;
        flex: 0 0 100%;
    }
    .footer .widget_search .btn.btn-default {
        width: 100%;
        margin-top: 6px;
    }
    .footer-bottom {
        padding: 14px 0;
    }
    .copyright-wrap {
        font-size: 12px;
        line-height: 1.8;
    }
    .copyright, .design {
        display: block;
        text-align: center;
    }
    .footer-sep {
        display: none;
    }
}

@media (max-width: 766px) {
    .logotxt, .logotxt a{ text-align:center;}
    .header-phone-email{text-align:center;}
    #main_navigation .nav ul li.current_page_item a{background: none; color:#000;}
}


/* ========================================
   Media Queries - Mobile (500px - 480px)
   ======================================== */

@media (max-width: 500px) {
    /* Search Widget Responsive */
    #sidebar .search-form,
    #sidebar .wp-block-search__inside-wrapper {
        padding: 10px 20px 20px;
    }
    #sidebar .search-form input[type="search"],
    #sidebar .wp-block-search__input {
        padding: 10px 12px;
        font-size: 14px;
    }
    #sidebar .search-form input[type="submit"],
    #sidebar .wp-block-search__button {
        padding: 10px 20px;
        font-size: 14px;
        margin-top: 8px;
    }
}

/* Banner */
@media screen and (max-width: 480px) {
    .carousel-caption h3, .slide_info .banner_heading h3 {
        font-size: 22px;
    }
    .slide_info_inner {
        padding: 20px 15px;
    }
}

/* Resources Section */
@media screen and (max-width: 480px) {
    .resources-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .service-image {
        height: 220px;
    }
    .service-content {
        padding: 20px;
    }
    section#pageboxes {
        padding: 40px 0;
    }
    section#pageboxes .container {
        padding: 0 15px;
    }
    .resources-header {
        margin-bottom: 30px;
    }
}

/* Footer Search */
@media (max-width: 480px) {
    .footer .widget_search .form-inline {
        flex-wrap: wrap !important;
    }
    .footer .widget_search .form-group {
        width: 100%;
        flex: 0 0 100%;
    }
    .footer .widget_search .btn.btn-default {
        width: 100%;
        margin-top: 4px;
    }

    /* Footer */
    .footer {
        padding: 30px 0 5px;
    }
    .footer .container {
        padding: 0 12px;
    }
    .footer-col {
        margin-bottom: 25px;
        padding: 0 12px;
    }
    .footer-widget-title {
        font-size: 15px;
    }
    .footer ul li,
    .footer ul li a {
        font-size: 12px;
    }
    .footer p, .footer .textwidget p {
        font-size: 12px;
    }
    .footer #wp-calendar {
        border-spacing: 1px;
        font-size: 11px;
    }
    .footer #wp-calendar caption {
        font-size: 12px;
        padding: 6px 2px 8px;
    }
    .footer #wp-calendar thead th {
        padding: 5px 1px;
        font-size: 9px;
        letter-spacing: 0;
    }
    .footer #wp-calendar tbody td {
        padding: 6px 1px;
        font-size: 11px;
    }
    .footer .social-icons a {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 12px;
        margin-right: 4px;
    }
    .footer-bottom {
        padding: 12px 0;
    }
    .copyright-wrap {
        font-size: 11px;
        padding: 0 10px;
    }

    /* Content */
    .comment-body {
        margin-left: 0;
        padding-top: 10px;
    }
    .comment-author .avatar {
        position: relative;
        left: 0;
        display: block;
        margin-bottom: 10px;
    }
    .children .comment-body {
        margin-left: 0;
    }
    .children .comment-author .avatar {
        left: 0;
    }
    .wpcf7 input[type="text"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="email"] {
        width: 100%;
        padding: 0 10px;
        height: 40px;
    }
    .wpcf7 textarea {
        width: 100%;
        padding: 10px;
    }
    .wpcf7 input[type="submit"] {
        width: 100%;
        padding: 12px 20px;
    }
    .BlogPosts {
        width: 100%;
        float: none;
        margin: 0 0 20px 0;
    }
    .blog_lists h3 {
        font-size: 18px;
    }
    .recent_articles h3 a {
        font-size: 18px;
    }
    .gallery-columns-2 .gallery-item,
    .gallery-columns-3 .gallery-item,
    .gallery-columns-4 .gallery-item {
        max-width: 100%;
    }
    .blog_lists,
    .recent_articles {
        padding: 15px;
    }
    .page_content {
        padding: 15px;
    }
    .blog-post h1 {
        font-size: 20px;
        padding: 15px 15px 0;
    }
    blockquote {
        padding: 14px 16px;
        font-size: 14px;
    }
    .post-date, .post-comment, .post-categories {
        display: block;
        margin-bottom: 4px;
    }
    .page-numbers {
        min-width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 13px;
        margin: 0 2px;
    }
    a.rdmore {
        display: block;
        text-align: center;
    }
    .entry-content h1, .page_content h1 {
        font-size: 22px;
    }
    .entry-content h2, .page_content h2 {
        font-size: 19px;
    }
    .entry-content h3, .page_content h3 {
        font-size: 17px;
    }
    .entry-content pre,
    .page_content pre {
        padding: 12px;
        font-size: 12px;
    }
}


/* ========================================
   Media Queries - Small Phone (426px)
   ======================================== */

@media (max-width: 426px) {
    .header-top .phonebX {margin-bottom: 10px;}
    .hdrtop-Info{line-height: 40px;padding: 0px 20px;}
    /* Search Widget Mobile */
    #sidebar .search-form,
    #sidebar .wp-block-search__inside-wrapper {
        padding: 10px 16px 18px;
    }
    #sidebar .search-form input[type="search"],
    #sidebar .wp-block-search__input {
        padding: 10px 12px;
        font-size: 13px;
    }
    #sidebar .search-form input[type="submit"],
    #sidebar .wp-block-search__button {
        padding: 10px 18px;
        font-size: 13px;
        margin-top: 8px;
    }
}


/* ========================================
   Media Queries - Extra Small (360px)
   ======================================== */

@media (max-width: 360px) {
    .footer .container {
        padding: 0 10px;
    }
    .footer-col {
        padding: 0 10px;
    }
    .footer-widget-title {
        font-size: 14px;
    }
    .footer ul li,
    .footer ul li a,
    .footer p,
    .footer .textwidget p {
        font-size: 12px;
    }
    .footer #wp-calendar thead th {
        padding: 4px 0;
        font-size: 8px;
    }
    .footer #wp-calendar tbody td {
        padding: 5px 0;
        font-size: 10px;
    }
    .footer .widget_search .form-group .form-control {
        padding: 8px 10px;
        font-size: 12px;
    }
    .footer .widget_search .btn.btn-default {
        padding: 8px 14px;
        font-size: 12px;
    }
}

@media (max-width: 340px) {
    /* Reserved for extra small adjustments */
}