/* 
Theme Name: JS Benefits Group Child
Theme URI: https://webwerxdesign.com
Description:JS Benefits Group Child is a child theme of JS Benefits Group, created by the Webwerx Design Team
Author: Webwerx Design
Author URI: https://webwerxdesign.com
Template: JSBenefitsGroup-Theme
Version: 2.0.0
Text Domain: JSBenefitsGroup-Theme
*/
/* Add your custom styles here */
.programs ul li {
    list-style: disc;
}
.table-1 table th, .tkt-slctr-tbl-wrap-dv table th {
    border: 1px solid #dcdcdc;
    background: #d8e8ce !important;
    padding: 20px;
    text-align: left;
}
.wpcf7-form input, 
.wpcf7-form textarea {
    color: #000000 !important; /* Change to your desired color code */
}
.custom-bullets li::marker {
  color: #a6c82c !important; 
}
.two-column-list ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}
.two-column-list li {
  padding-bottom: 10px; /* Optional spacing */
}
.site-map a:hover {
    color: #a7c82e !important; /* Replace with your hex color */
    transition: color 0.3s ease; /* Optional: smooth transition */
}
/* Make the submit button full width and change color */
#wpforms-18108 .wpforms-submit-container,
#wpforms-18108 .wpforms-submit {
    width: 100% !important;
}
#wpforms-18108 .wpforms-submit {
    background-color: #559e44 !important; /* Change to your color */
    color: #ffffff !important; /* Change text color */
    border: none !important;
}
.elementor-2540 .elementor-element.elementor-element-742e275 .ekit-wid-con .ekit-flip-box
Specificity: (0,5,0)
 {
    height: 240px !important;
}
.page-id-10714 .ekit-template-content-header {
	display: none;
}
.bullet-left ul {
    padding-left: 15px; /* Adjust this value as needed */
    margin-left: 0;
}
.blog-hover .elementskit-entry-header .entry-title a
Specificity: (0,5,1)
  { font-size: 36px; font-weight: inherit;
}
.related-template .elementor-post__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Number of lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.press-tabs .eael-advance-tabs .eael-tabs-nav > ul {
    display: inline-flex !important;
    justify-content: flex-start !important;
    width: auto !important;
    gap: 20px; /* Adjust this value for spacing */
}
.framework-voluntary .ue-step-img {
    display: none !important;
}
.framework-voluntary .ue-step-heading {
    display: none !important;
}
.counter .elementor-counter-title {
    text-align: center;
    width: 100%; /* Ensures it covers the full width for wrapping */
}
.media-ticker .ekit-content-ticker-wrapper .ekit-content-items .ekit-marquee .ekit-marquee-item a {
	color: #fff !important;
	font-family: 'Nunito Sans', sans-serif;
}
.media-ticker .ekit-content-ticker-wrapper .ekit-content-items .ekit-marquee .ekit-marquee-item:hover,
.media-ticker .ekit-content-ticker-wrapper .ekit-content-items .ekit-marquee .ekit-marquee-item:hover a {
    font-size: inherit !important;
    transform: none !important;
    transition: none !important;
}
.media-ticker .ekit-content-ticker-wrapper .ekit-content-items .ekit-marquee .ekit-marquee-item a::after {
    content: " *";
    color: #90c085;
}
.wellness-tabs .eael-advance-tabs .eael-tabs-nav > ul {
    display: inline-flex !important;
    justify-content: flex-start !important;
    width: auto !important;
    gap: 20px; /* Adjust this value for spacing */
}
.elementor-icon-list-items {
    list-style-type: none !important;
}
/* Inactive tabs */
.fractional-tabs .elementor-tab-title {
    background-color: #ffffff !important;
    color: #3d4f3d !important;
    border: 2px solid #eaf2ea !important;
	border-radius:50px;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

/* Active tab background */
.fractional-tabs .elementor-tab-title.elementor-active {
    background-color: #1a3d1a !important;
    color: #ffffff !important;
    border-color: #1a3d1a !important;
}

/* Active tab link color */
.fractional-tabs .elementor-tab-title.elementor-active a {
    color: #ffffff !important;
}

/* Hover state */
.fractional-tabs .elementor-tab-title:hover {
    background-color: #2a5c2a !important;
    color: #ffffff !important;
    border-color: #2a5c2a !important;
}

/* Hover link color */
.fractional-tabs .elementor-tab-title:hover a {
    color: #ffffff !important;
}

/* Tab content panel */
.fractional-tabs .elementor-tabs-content-wrapper {
    background-color: #ffffff !important;
    border: 2px solid #eaf2ea !important;
    padding: 36px !important;
}
/* Card grid layout */
.fractional-tabs .elementor-tab-content > div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Individual cards */
.fractional-tabs .elementor-tab-content > div > div {
    background: #f4f8f4 !important;
    border-radius: 14px !important;
    padding: 28px 24px !important;
    border: 1.5px solid #eaf2ea !important;
}

/* Card headings */
.fractional-tabs .elementor-tab-content h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 17px !important;
    color: #1a1a1a !important;
    margin-bottom: 8px !important;
    font-weight: 700 !important;
}

/* Card paragraph */
.fractional-tabs .elementor-tab-content p {
    font-size: 13px !important;
    color: #3d4f3d !important;
    line-height: 1.72 !important;
    margin-bottom: 14px !important;
}

/* Card list */
.fractional-tabs .elementor-tab-content ul {
    border-top: 1px solid #eaf2ea !important;
    padding-top: 12px !important;
    margin: 0 !important;
}

/* Card list items */
.fractional-tabs .elementor-tab-content ul li {
    font-size: 12px !important;
    color: #3d4f3d !important;
    line-height: 1.6 !important;
    margin-bottom: 5px !important;
}
/* Each FAQ item separated and rounded */
.fractional-faq .elementor-accordion-item {
    background: #ffffff !important;
    border-radius: 10px !important;
    margin-bottom: 10px !important;
    border: 1.5px solid #eaf2ea !important;
    overflow: hidden !important;
}

/* Active tab title - green left border + light divider below */
.fractional-faq .elementor-tab-title.elementor-active {
    border-left: 4px solid #4a9e4a !important;
    border-bottom: 1px solid #eaf2ea !important;
    color: #1a3d1a !important;
    font-weight: 800 !important;
    background: #fff !important;
}

/* Inactive title hover */
.fractional-faq .elementor-tab-title:hover {
    border-left: 4px solid #4a9e4a !important;
    color: #1a3d1a !important;
    background: #f4f8f4 !important;
}

/* Remove default border Elementor puts on items */
.fractional-faq .elementor-accordion-item + .elementor-accordion-item {
    border-top: none !important;
}
/* Force dark green card background */
.pa-expertise .elementor-icon-box-wrapper {
    background-color: #2a4a2a !important;
    border-radius: 10px !important;
    padding: 20px !important;
    border-left: 4px solid #4a9e4a !important;
    align-items: center !important;
}

/* Title white */
.pa-expertise .elementor-icon-box-title,
.pa-expertise .elementor-icon-box-title a {
    color: #ffffff !important;
	margin-top: 10px !important;
}

/* Title hover green not black */
.pa-expertise .elementor-icon-box-title a:hover {
    color: #4a9e4a !important;
}

/* Description */
.pa-expertise .elementor-icon-box-description {
    color: rgba(255,255,255,0.65) !important;
}

/* Icon alignment */
.pa-expertise .elementor-icon-box-icon {
    align-self: top !important;
    margin-top: 0 !important;
}
/* Round the top corners of each photo to match the card */
.team-section .elementor-widget-image img {
    border-radius: 20px 20px 0 0 !important;
    display: block !important;
}

/* Make sure image fills card width with no gap */
.team-section .elementor-widget-image {
    line-height: 0 !important;
    font-size: 0 !important;
}
/* Force counter numbers to align with dual headers */
.stats-strip .elementor-counter-number-wrapper {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
}

/* Force all counter titles to min-height of 2 lines */
.stats-strip .elementor-counter-title {
    min-height: 2.8em !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Force EA dual header title to same font size and alignment */
.stats-strip .eael-dual-header .title {
    font-size: 36px !important;
    text-align: center !important;
    line-height: 1.1 !important;
}

/* Force EA dual header subtitle/label down to same position */
.stats-strip .eael-dual-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
}
.framework-captive .uc-how-to-image,
.framework-captive .uc-how-to-image-wrap,
.framework-captive img {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.webinar-lists .elementor-icon-list-icon {
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.webinar-lists .elementor-icon-list-icon {
    margin-left: 10px; /* Adjust spacing */
    margin-right: 0;
}
.framework-pbm .uc-how-to-image,
.framework-pbm .uc-how-to-image-wrap,
.framework-pbm img {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.adv-hotline-card .elementor-heading-title {
    font-family: 'Nunito Sans', sans-serif !important;
}
.adv-hotline-card .elementor-heading-title a,
.adv-hotline-card .elementor-heading-title a:link,
.adv-hotline-card .elementor-heading-title a:visited {
    font-family: 'Nunito Sans', sans-serif !important;
}
.adv-hotline-card .elementor-heading-title a:hover {
    color: #ffffff !important;
    transition: color 0.2s ease;
}
.adv-hero {
    background: radial-gradient(1000px 480px at 80% -8%, rgba(85,158,68,0.26), transparent 60%),
                linear-gradient(160deg, #0c0f0d 0%, #16201a 58%, #11261a 100%) !important;
    position: relative;
    overflow: hidden;
}
.adv-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(820px 520px at 72% 10%, #000, transparent 78%);
    pointer-events: none;
}
.dch-tight .eael-dual-header .subtext {
    margin-top: -20px !important;
}
/* Search type cards — hover effects */
.type-card {
    position: relative;
    overflow: hidden;
    transition: all 0.25s;
}
.type-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: #4a9e4a;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s;
}
.type-card:hover {
    border-color: rgba(74,158,74,0.4) !important;
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.05);
}
.type-card:hover::before {
    transform: scaleX(1);
}
.type-card.featured::before {
    transform: scaleX(1);
}
/* Role cards — left bar grows down */
.role-card { position: relative; overflow: hidden; transition: all 0.25s; }
.role-card::before { content: ""; position: absolute; top: 0; left: 0; width: 3px; height: 0; background: #4a9e4a; transition: height 0.3s; }
.role-card:hover { border-color: rgba(74,158,74,0.4) !important; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.04); }
.role-card:hover::before { height: 100%;
}
/* Case study nav tabs */
.cs-tab-btn {
    cursor: pointer;
    border-bottom: 3px solid transparent !important;
    transition: all 0.2s;
}
.cs-tab-btn:hover {
    background-color: #eaf2ea !important;
    border-bottom-color: #4a9e4a !important;
}
.cs-tab-btn:hover .elementor-heading-title {
    color: #1a3d1a !important;
}
.cs-tab-btn.cs-tab-active {
    background-color: #eaf2ea !important;
    border-bottom-color: #4a9e4a !important;
}
.cs-tab-btn.cs-tab-active .elementor-heading-title {
    color: #1a3d1a !important;
}
/* Vendor power cards — green glow hover */
.vendor-card {
    transition: all 0.25s;
}
.vendor-card:hover {
    background-color: rgba(74,158,74,0.1) !important;
    border-color: rgba(74,158,74,0.25) !important;
    transform: translateY(-3px);
}
/* Association hero cards */
.assoc-hcard {
    transition: all 0.3s;
}
.assoc-hcard:hover {
    background-color: rgba(74,158,74,0.1) !important;
    border-color: rgba(74,158,74,0.45) !important;
    transform: translateX(-4px);
}
/* Association type cards */
.assoc-at-card {
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.assoc-at-card:hover {
    border-color: rgba(74,158,74,0.35) !important;
    transform: translateY(-6px);
    box-shadow: 0 16px 44px rgba(26,61,26,0.1);
}

/* Icon scale on card hover */
.assoc-at-card:hover .elementor-heading-title {
    transform: scale(1.12);
}

/* Pill badge hover — green fill */
.assoc-at-pill {
    transition: all 0.3s;
}
.assoc-at-card:hover .assoc-at-pill {
    background-color: #4a9e4a !important;
    color: #ffffff !important;
}
.assoc-at-card:hover .assoc-at-pill p {
    color: #ffffff !important;
}
.assoc-at-pill .elementor-widget-container {
    background-color: #eaf2ea;
    border-radius: 20px;
    padding: 4px 12px;
    display: inline-block;
}
/* Problem stat cards */
.prob-stat-card {
    transition: all 0.3s;
}
.prob-stat-card:hover {
    border-color: rgba(74,158,74,0.3) !important;
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(26,61,26,0.08);
}
/* Why points — slide right on hover */
.why-pt { transition: all 0.3s; }
.why-pt:hover { transform: translateX(5px); box-shadow: 0 6px 24px rgba(26,61,26,0.08); }

/* Stat cards */
.why-dv { transition: all 0.3s; }
.why-dv:hover { border-color: rgba(74,158,74,0.3) !important; transform: translateY(-4px); box-shadow: 0 10px 28px rgba(26,61,26,0.08); 
}
/* PHCC row icon hover */
.phcc-pdr { transition: all 0.3s; }
.phcc-pdr:hover .phcc-pdr-icon {
    background-color: #4a9e4a !important;
}
/* Tier card hover — spring lift */
.tier-card {
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.tc-starter:hover,
.tc-enterprise:hover {
    border-color: rgba(74,158,74,0.35) !important;
    transform: translateY(-6px);
    box-shadow: 0 18px 48px rgba(26,61,26,0.1);
}
.tc-growth:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 48px rgba(26,61,26,0.25);
}

/* Top bar slides in on hover */
.tier-card {
    position: relative;
    overflow: hidden;
}
.tc-starter::before,
.tc-enterprise::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: #6db86d;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s;
}
.tc-growth::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: #4a9e4a;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s;
}
.tier-card:hover::before {
    transform: scaleX(1);
}
/* Team cards */
.team-card { transition: all 0.3s; }
.team-card:hover {
    border-color: rgba(74,158,74,0.3) !important;
    box-shadow: 0 12px 36px rgba(26,61,26,0.1);
}
/* Testimonial cards */
.testi-card { transition: all 0.3s; }
.testi-card:hover {
    border-color: #4a9e4a !important;
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(26,61,26,0.09);
}
.fractional-faq .elementor-tab-title {
    border: 1.5px solid #eaf2ea !important;
    border-radius: 8px;
    transition: border-color 0.2s;
}
.fractional-faq .elementor-tab-title:hover {
    border-color: #4a9e4a !important;
}
.fractional-faq .elementor-tab-title.elementor-active {
    border-color: #1a3d1a !important;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.fractional-faq .elementor-tab-content {
    border: 1.5px solid #1a3d1a !important;
    border-top: none !important;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}
#contact-form .wpforms-submit {
    background-color: #4a9e4a !important;
    color: #ffffff !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 8px !important;
    width: 100% !important;
    padding: 15px !important;
    box-shadow: 0 6px 20px rgba(74,158,74,0.4) !important;
    transition: all 0.25s !important;
}
#contact-form .wpforms-submit:hover {
    background-color: #1a3d1a !important;
    transform: translateY(-2px) !important;
}
.assoc-ctab {
    position: relative;
    overflow: hidden;
}
.assoc-ctab::before {
    content: "";
    position: absolute;
    right: -80px; top: -80px;
    width: 380px; height: 380px;
    border: 1px solid rgba(74,158,74,0.1);
    border-radius: 50%;
    animation: rp 4s ease-in-out infinite;
}
.assoc-ctab::after {
    content: "";
    position: absolute;
    right: -40px; top: -40px;
    width: 260px; height: 260px;
    border: 1px solid rgba(74,158,74,0.07);
    border-radius: 50%;
    animation: rp 4s 0.5s ease-in-out infinite;
}
@keyframes rp {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.04); opacity: 0.6; }
}
.prob-cell {
  position: relative;
  overflow: hidden;
}

.prob-cell::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(220,38,38,0.55), transparent);
  pointer-events: none;
  z-index: 1;
}

body { overflow-x: hidden; 
}
#jan, #feb, #mar, #apr, #may, #jun, #jul, #aug, #sep, #oct, #nov, #dec, #agency-resources, #works, #who, #included, #framework, #what, #why, #faqs, #right,   {
    scroll-margin-top: 90px;
}
.accordion-faq .eael-adv-accordion .eael-accordion-list .eael-accordion-content,
.accordion-faq .eael-accordion_media-list .eael-accordion_media-content .eael-accordion_media-description {
  border-radius: 0 0 12px 12px;
	border-top: 1px solid #D8DCD8 !important;
}
.team-card {
  transition: transform .25s, box-shadow .25s;
}
.team-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 44px -18px rgba(20,50,30,0.3);
}
.team-card:hover .e-con img,
.team-card:hover img {
  transform: scale(1.04);
}
.team-card img {
  transition: transform .4s;
}
.phcc-about-card::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(39,168,91,0.28);
    pointer-events: none;
}
.phcc-about-card {
    position: relative;
    overflow: hidden;
}
body.page-id-30887 > div.ekit-template-content-markup.ekit-template-content-header.ekit-template-content-theme-support > div {
    display: none !important;
}
.page-header {
    display: none;
}