/*
Theme Name: Tindall Marketing
Theme URI: https://divifoxx.com
Description: Divi 5 child theme for Tind-All Creative Marketing.
Author: Mayank Singh Yadav
Author URI: https://divifoxx.com
Template: Divi
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tindall-marketing
*/

/*
 * Global overrides only. Features keep their own styles:
 * assets/css/ (front end) and inc/ (admin features).
 */

/* Mobile menu scroll fix. */
@media (max-width: 980px) {
  .et_pb_menu .et_mobile_menu {
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }
}

/* ---------- General site utilities (kept from your existing CSS) ---------- */

.green-on-hover {
  transition: all 0.3s ease-in-out;
}
.green-on-hover:hover {
  background-color: #064F56 !important;
  border-bottom: 0 !important;
}
.green-on-hover:hover,
.green-on-hover:hover h1,
.green-on-hover:hover h2,
.green-on-hover:hover h3,
.green-on-hover:hover h4,
.green-on-hover:hover p,
.green-on-hover:hover span,
.green-on-hover:hover a,
.green-on-hover:hover li {
  color: #FFFFFF !important;
}
.green-on-hover:hover svg,
.green-on-hover:hover i {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
}
.green-on-hover:hover img {
  filter: brightness(0) invert(1);
}

@media (max-width: 767px) {
  .mobile-no-border {
    border: none !important;
    box-shadow: none !important;
  }
  .mobile-no-border::before,
  .mobile-no-border::after {
    border: none !important;
  }
}


/* ---------- Header: let the dropdown escape its containers ---------- */

.et-l--header,
.et-l--header .et_pb_section,
.et-l--header .et_pb_row,
.et-l--header .et_pb_column,
.et-l--header .et_pb_menu,
.et-l--header .et_pb_menu__wrap,
.et-l--header .et_pb_menu__menu,
.et-l--header .et_pb_menu__menu nav {
  overflow: visible !important;
}

.et-l--header {
  position: relative;
  z-index: 99999 !important;
}


/* =====================================================================
   SERVICES MEGA MENU — DESKTOP (981px and up)
   ===================================================================== */

@media (min-width: 981px) {

  /* The white header bar (row) becomes the positioning box, so the
     dropdown matches the bar's width instead of the menu module's. */
  .et-l--header .et_pb_row--with-menu {
    position: relative !important;
  }
  .et-l--header .et_pb_row--with-menu > .et_pb_column--with-menu,
  .et-l--header .et_pb_row--with-menu .et_pb_menu,
  .et-l--header .et_pb_row--with-menu .et_pb_menu_inner_container,
  .et-l--header .et_pb_row--with-menu .et_pb_menu__wrap,
  .et-l--header .et_pb_row--with-menu .et_pb_menu__menu,
  .et-l--header .et_pb_row--with-menu .et-menu-nav,
  .et-l--header .et_pb_row--with-menu .et-menu-nav > ul,
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345 {
    position: static !important;
  }

  /* Dropdown panel */
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345 > ul.sub-menu {
    position: absolute !important;
    top: calc(100%) !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    row-gap: 4px !important;
    padding: 24px 30px !important;

    background: #F5F6F4 !important;
    border: 1px solid #E1E3DF !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.12) !important;
    z-index: 999999 !important;

    /* hidden until hover — Divi's own hover JS/classes still apply */
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease, visibility 0.2s ease !important;
  }

  /* Invisible bridge over the 10px gap so the menu stays open while
     the mouse travels from "Services" down into the panel */
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345 > ul.sub-menu::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -12px !important;
    height: 12px !important;
    background: transparent !important;
    border: 0 !important;
  }

  /* Show on hover / keyboard focus */
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345:hover > ul.sub-menu,
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345.et-hover > ul.sub-menu,
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345:focus-within > ul.sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Grid cells */
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345 > ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: transparent !important;
    border: none !important;
  }

  /* Links */
  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345 > ul.sub-menu > li > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 10px !important;
    margin: 0 !important;
    color: #222222 !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 6px !important;
    opacity: 1 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
  }

  .et-l--header .et_pb_menu .et-menu-nav > ul > li.menu-item-1345 > ul.sub-menu > li > a:hover {
    color: #000000 !important;
    background-color: #E8EAE6 !important;
  }
}


/* =====================================================================
   SERVICES ICONS — shared by the desktop panel and the mobile menu
   Font: Font Awesome 7 Free, Solid (weight 900). Every code point below
   was checked against the FA 7.3.1 stylesheet loaded on this site.
   ===================================================================== */

.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a::before {
  font-family: "Font Awesome 7 Free", "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  display: inline-block !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  margin-right: 10px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-align: center !important;
  color: #222222 !important;
}

.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a:hover::before {
  color: #000000 !important;
}

/* 1  Website Design & Development        fa-desktop             */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-website-design"]::before { content: "\f390" !important; }
/* 2  Website Hosting & Maintenance       fa-server              */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-website-hosting"]::before { content: "\f233" !important; }
/* 3  SEO & Local SEO                     fa-magnifying-glass    */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-seo"]::before { content: "\f002" !important; }
/* 4  Google Business Profile Management  fa-location-dot        */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-google-business-profile"]::before { content: "\f3c5" !important; }
/* 5  Social Media Marketing              fa-share-nodes         */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-social-media"]::before { content: "\f1e0" !important; }
/* 6  Google Ads & Paid Social            fa-bullhorn            */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-google-ads"]::before { content: "\f0a1" !important; }
/* 7  Brand Strategy & Identity           fa-gem                 */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-brand-strategy"]::before { content: "\f3a5" !important; }
/* 8  Graphic Design                      fa-palette             */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-graphic-design"]::before { content: "\f53f" !important; }
/* 9  Content Strategy & Copywriting      fa-pen-to-square       */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-content-strategy"]::before { content: "\f044" !important; }
/* 10 Email Marketing & Newsletters       fa-envelope-open-text  */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-email-marketing"]::before { content: "\f658" !important; }
/* 11 Professional Video Production       fa-video               */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-professional-video"]::before { content: "\f03d" !important; }
/* 12 Public Relations                    fa-newspaper           */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-public-relations"]::before { content: "\f1ea" !important; }
/* 13 Printing, Direct Mail & Promo       fa-print               */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-printing"]::before { content: "\f02f" !important; }
/* 14 Marketing Strategy & Business Dev   fa-chess-knight        */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-marketing-strategy"]::before { content: "\f441" !important; }
/* 15 Business Coaching                   fa-chalkboard-user     */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-business-coaching"]::before { content: "\f51c" !important; }
/* 16 Analytics & Performance Reporting   fa-chart-line          */
.et-l--header .et_pb_menu li.menu-item-1345 > ul.sub-menu > li > a[href*="services-marketing-analytics"]::before { content: "\f201" !important; }


/* =====================================================================
   SERVICES — MOBILE / TABLET MENU (980px and below)
   Divi uses its own mobile menu here; this only tidies the links so the
   icons line up. The desktop layout rules above do not apply.
   ===================================================================== */

@media (max-width: 980px) {
  .et-l--header .et_mobile_menu li.menu-item-1345 > ul.sub-menu > li > a {
    display: flex !important;
    align-items: center !important;
    padding: 11px 10px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #222222 !important;
  }
}
```css
/* Footer Back-to-Top Button */
.et_pb_button_28_tb_footer_wrapper a.et_pb_button_28_tb_footer {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;
    line-height: normal !important;
    text-align: center !important;
    box-sizing: border-box !important;
    font-size: 20px !important;
}

/* Disable Divi's Automatic Button Arrow */
.et_pb_button_28_tb_footer_wrapper a.et_pb_button_28_tb_footer::after,
.et_pb_button_28_tb_footer_wrapper a.et_pb_button_28_tb_footer::before {
    content: none !important;
    display: none !important;
}
```

```css
/* ==========================================
   DIVI BLOG MODULE - FINAL CARD DESIGN
   Heading: Arial
   Body: Roboto 14px
   ========================================== */

/* BLOG GRID */
.et_pb_blog_posts.et_grid_module {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

/* ==========================================
   CARD
   ========================================== */

.et_pb_blog_posts.et_grid_module article.et_pb_post {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;

    background: #FFFFFF !important;
    border: 1px solid #C7D9D9 !important;
    min-height: 440px !important;
    overflow: hidden !important;

    position: relative !important;
    top: 0 !important;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease !important;
}

/* CARD HOVER - LIFT + BORDER */
.et_pb_blog_posts.et_grid_module article.et_pb_post:hover {
    transform: translateY(-5px) !important;
    border-color: #064F56 !important;
    box-shadow: 0 9px 22px rgba(6, 79, 86, 0.10) !important;
    z-index: 2 !important;
}

/* ==========================================
   FEATURED IMAGE
   ========================================== */

.et_pb_blog_posts.et_grid_module .et_pb_image_container {
    width: 100% !important;
    height: 214px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #E4ECEA !important;
    flex-shrink: 0 !important;
}

.et_pb_blog_posts.et_grid_module .et_pb_image_container a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.et_pb_blog_posts.et_grid_module .et_pb_image_container img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;

    transition: transform 0.45s ease !important;
}

/* IMAGE HOVER */
.et_pb_blog_posts.et_grid_module article.et_pb_post:hover
.et_pb_image_container img {
    transform: scale(1.04) !important;
}

/* REMOVE IMAGE OVERLAY */
.et_pb_blog_posts.et_grid_module .et_overlay {
    display: none !important;
}

/* ==========================================
   CONTENT ALIGNMENT
   ========================================== */

.et_pb_blog_posts.et_grid_module article.et_pb_post > h2,
.et_pb_blog_posts.et_grid_module article.et_pb_post > p.post-meta,
.et_pb_blog_posts.et_grid_module article.et_pb_post > .post-content {
    width: auto !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* ==========================================
   ARTICLE HEADING
   ARIAL - 22PX
   ========================================== */

.et_pb_blog_posts.et_grid_module h2.entry-title {
    font-family: Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #29383A !important;

    margin-top: 14px !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

.et_pb_blog_posts.et_grid_module h2.entry-title a {
    font-family: Arial, sans-serif !important;
    color: #29383A !important;
    text-decoration: none !important;
}

/* ==========================================
   POST META
   ROBOTO - 14PX
   ========================================== */

.et_pb_blog_posts.et_grid_module p.post-meta {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #596B6D !important;

    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding: 0 !important;
}

/* HIDE AUTHOR NAME, KEEP DATE */
.et_pb_blog_posts.et_grid_module .post-meta .author {
    display: none !important;
}

/* CATEGORY BADGES */
.et_pb_blog_posts.et_grid_module .post-meta a[rel="tag"] {
    display: inline-block !important;

    font-family: 'Roboto', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;

    color: #064F56 !important;
    background: #E9E5AC !important;

    padding: 5px 10px !important;
    margin: 2px 3px 2px 0 !important;

    border-radius: 10px !important;
    text-decoration: none !important;
}

/* ==========================================
   EXCERPT
   ROBOTO - 14PX
   ========================================== */

.et_pb_blog_posts.et_grid_module .post-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.et_pb_blog_posts.et_grid_module .post-content-inner {
    border: none !important;
    padding: 0 !important;
}

.et_pb_blog_posts.et_grid_module .post-content-inner p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #333333 !important;

    margin: 0 !important;
    padding: 0 !important;

    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    overflow: hidden !important;
}

/* ==========================================
   REMOVE DIVIDER
   ========================================== */

.et_pb_blog_posts.et_grid_module .post-content-inner {
    border-bottom: none !important;
}

.et_pb_blog_posts.et_grid_module .post-content-inner:after {
    display: none !important;
}

/* ==========================================
   READ MORE - IF ENABLED IN DIVI
   ========================================== */

.et_pb_blog_posts.et_grid_module a.more-link {
    display: inline-block !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #064F56 !important;
    text-decoration: none !important;
    margin-top: 20px !important;
    transition: color 0.25s ease !important;
}

.et_pb_blog_posts.et_grid_module a.more-link:hover {
    color: #A33C73 !important;
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 980px) {
    .et_pb_blog_posts.et_grid_module {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }

    .et_pb_blog_posts.et_grid_module article.et_pb_post {
        min-height: 430px !important;
    }

    .et_pb_blog_posts.et_grid_module .et_pb_image_container {
        height: 200px !important;
    }

    .et_pb_blog_posts.et_grid_module h2.entry-title {
        font-size: 20px !important;
    }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 767px) {
    .et_pb_blog_posts.et_grid_module {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .et_pb_blog_posts.et_grid_module article.et_pb_post {
        min-height: auto !important;
    }

    .et_pb_blog_posts.et_grid_module .et_pb_image_container {
        height: 220px !important;
    }

    .et_pb_blog_posts.et_grid_module h2.entry-title {
        font-size: 20px !important;
    }

    .et_pb_blog_posts.et_grid_module article.et_pb_post:hover {
        transform: translateY(-3px) !important;
    }
}
```
```css
/* ==========================================
   BLOG CARD - SPACING & IMAGE REFINEMENT
   ========================================== */

/* CARD SPACING */
.et_pb_blog_posts.et_grid_module article.et_pb_post {
    padding-bottom: 0 !important;
    min-height: 410px !important;
}

/* IMAGE - LESS WIDE LOOK */
.et_pb_blog_posts.et_grid_module .et_pb_image_container {
    height: 194px !important;
    margin-bottom: 0 !important;
}

.et_pb_blog_posts.et_grid_module .et_pb_image_container img {
    object-fit: cover !important;
    object-position: center !important;
}

/* CONTENT LEFT & RIGHT PADDING */
.et_pb_blog_posts.et_grid_module article.et_pb_post > h2,
.et_pb_blog_posts.et_grid_module article.et_pb_post > p.post-meta,
.et_pb_blog_posts.et_grid_module article.et_pb_post > .post-content {
    margin-left: 18px !important;
    margin-right: 18px !important;
}

/* HEADING SPACING */
.et_pb_blog_posts.et_grid_module h2.entry-title {
    margin-top: 12px !important;
    margin-bottom: 9px !important;
}

/* META SPACING */
.et_pb_blog_posts.et_grid_module p.post-meta {
    margin-bottom: 12px !important;
}

/* EXCERPT SPACING */
.et_pb_blog_posts.et_grid_module .post-content-inner p {
    line-height: 1.55 !important;
}

/* REMOVE ANY DIVIDER OR BOTTOM LINE */
.et_pb_blog_posts.et_grid_module .post-content-inner,
.et_pb_blog_posts.et_grid_module .post-content-inner:before,
.et_pb_blog_posts.et_grid_module .post-content-inner:after {
    border: none !important;
    box-shadow: none !important;
}

/* HOVER - ONLY LIFT + TEAL BORDER */
.et_pb_blog_posts.et_grid_module article.et_pb_post {
    box-shadow: none !important;
    transition: transform 0.28s ease,
                border-color 0.28s ease !important;
}

.et_pb_blog_posts.et_grid_module article.et_pb_post:hover {
    transform: translateY(-4px) !important;
    border: 1px solid #064F56 !important;
    box-shadow: none !important;
}

/* TABLET */
@media (max-width: 980px) {
    .et_pb_blog_posts.et_grid_module .et_pb_image_container {
        height: 185px !important;
    }
}

/* MOBILE */
@media (max-width: 767px) {
    .et_pb_blog_posts.et_grid_module .et_pb_image_container {
        height: 210px !important;
    }

    .et_pb_blog_posts.et_grid_module article.et_pb_post {
        min-height: auto !important;
    }
}
```

.et_pb_blog_posts.et_grid_module article.et_pb_post,
.et_pb_blog_posts.et_grid_module article.et_pb_post:hover {
    box-shadow: none !important;
}