
/*
 *
 *
 * General
 *
 *
 */
 
body {
    background: #fff !important;
}
 
.input-primary {
    padding: 0.6rem 1rem !important;
    border-radius: 1rem !important;
    font-size: 14px !important;
    height: auto !important;
    background: #fff !important;
}

.btn-primary, .elementor-button {
    padding: 0.8rem 1.8rem !important;
    border-radius: 2rem !important;
    height: auto !important;
    background: #78d361 !important;
    color: black !important;
    font-weight: 700 !important;
}

.elementor-social-icon {
    border: 0 !important;
}

ul.trx-addons-main-nav-menu .menu-item a:hover {
    color: #999 !important;
}

ul.trx-addons-main-nav-menu .current-menu-item a:link,
ul.trx-addons-main-nav-menu .current-menu-item a:visited 
{
    color: #125B3A !important;
    font-weight: bold !important;
}
ul.trx-addons-main-nav-menu .current-menu-item a:hover {
    color: #269563 !important;
}

.list-primary li {
    list-style-type: disc;
}
.list-primary li::marker {
    color: #78D361;
}

#header-desktop > header {
    box-shadow: 0px 0px 10px rgba(0,0,0,0.8);
}

#header-mobile > div {
    box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}

.section-label:before {
    content: '';
    position: absolute;
    height: 17px;
    width: 27px;
    top: -15px;
    left: -20px;
    background-image: url('/wp-content/uploads/2026/08/Vector-1.png');
    background-size: auto 100%;
}

@media screen and (max-width: 767px) {
    .section-label:before {
        top: -20px;
        left: 0px;
    }
}

.content_wrap_fullscreen {
    overflow: visible !important;
}

/*
 * 
 * 
 *  Home Page: Hero Carousel
 * 
 * 
 */
 
.hero-carousel {
    width: 100% !important;
}

.hero-carousel .swiper {
	height: 100% !important;
	padding-bottom: 0 !important;
}

.hero-carousel .swiper-slide > div {
	background-size: cover !important;
	background-position: center center;
}

.hero-carousel .swiper-pagination {
	position: absolute !important;
	top: 95% !important;
	transform: scale(2) translate(-25%);
}

.hero-carousel .swiper-pagination-bullet {
	background: black !important;
}

.hero-carousel .slide-badge {
	display: none;
}

@media screen and (max-width: 767px) {
    .hero-carousel .slide-badge {
        background: #000000 !important;
    }
    
    .hero-carousel .elementor-background-slideshow.swiper {
        width: 100% !important;
    }
}

/*
 * 
 * 
 * Home Page: What We Do
 * 
 * 
 */
#what-we-do-cards {
    margin-bottom: -210px !important;
}

@media screen and (max-width: 767px) {
    #what-we-do-cards {
        margin-bottom: 0px !important;
    }
}


/*
 * 
 * 
 * Home Page: Programs / Campaigns Tabs
 * 
 * 
 */

#programs-campaign-tabs .tabs-slide {
	border-radius: 12px;
	overflow: hidden;
}

#programs-campaign-tabs .tabs-slide::before {
	content: '';
	position: absolute;
	background-image: linear-gradient(to bottom, transparent, transparent, transparent, rgba(0,0,0,1));
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index:1;
}

#programs-campaign-tabs .tabs-slide > .e-con-inner > .e-flexbox-base, #programs-campaign-tabs .tabs-slide > .e-flexbox-base {
	z-index: 2;
}

#programs-campaign-tabs .tabs-slide .elementor-button {
    background: transparent !important;
    color: white !important;
}

@media screen and (max-width: 767px) {
    #programs-campaign-tabs .tabs-slide::before {
        background-image: linear-gradient(to bottom, transparent, transparent, rgba(0,0,0,0.5), rgba(0,0,0,1));
    }
}

/*
 *
 *
 * Home Page: Impact Stories
 *
 *
 */
 
#impact-stories-taxonomy {
    display: flex !important;
    justify-content: flex-start;
}
 
#impact-stories-taxonomy button {
    padding: 0.6rem 1rem;
    border-radius: 2rem;
    border: 1px solid #888;
}

#impact-stories-taxonomy button:hover {
    transition: 0.2s;
    border-color: #555;
}
 
/*
 *
 *
 * Home Page: Blogs
 *
 *
 */
#blogs-intro {
    display: none;
}

/*
 *
 *
 * Home Page: Team
 *
 *
 */
#team .team-titles {
    position: relative !important;
}

/*
 *
 *
 * About Page
 *
 *
 */
@media screen and (max-width: 767px) {
    #about-cover {
        height: 400px;
    }
    #about-cover div {
        height: 100%;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #about-cover img {
        height: 100%;
        width: auto !important;
        max-width: unset !important;
    }
}

/*
 *
 *
 *
 * What We Do Pages
 *
 *
 *
 */

#what-we-do-hero-carousel .swiper-slide {
    overflow: hidden !important;
    max-height: 550px;
}
#what-we-do-hero-carousel .swiper-slide img {
    max-width: unset !important;
    max-height: unset !important;
    position: relative;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}
 
.cover-image-carousel {
    overflow: hidden;
}
.cover-image-carousel .elementor-image-carousel-wrapper, .cover-image-carousel .swiper-wrapper, .cover-image-carousel .swiper-wrapper div, .cover-image-carousel .swiper-wrapper figure {
    height: 100% !important;
}
.cover-image-carousel .swiper-slide figure img {
    width: auto !important;
    height: auto !important;
    max-width: unset !important;
    max-height: unset !important;
    min-width: 100% !important;
    min-height: 100% !important;
}

@media screen and (max-width: 767px) {
    .cover-image-carousel {
        height: 400px;
    }
}

@media screen and (max-width: 767px) {
    .what-we-do-counters {
        position: static !important;
        margin-bottom: 0;
    }
}

#programs-container > div {
    display: none;
}

#programs-container > div.program-selected {
    display: flex;
}

@media screen and (max-width: 767px) {
    #programs-container > div {
        display: flex;
    }
}

#programs-taxonomy .elementor-button {
    background: transparent !important;
    color: #000 !important;
    border: 1px solid rgba(0,0,0,0.3) !important;
    padding: 0.6rem 1rem !important;
    font-weight: semibold;
    border-radius: 0.5rem !important;
}
#programs-taxonomy .elementor-button.programs-t-selected {
    background: #125B3A !important;
    border-color: #125B3A !important;
    color: #fff !important;
}

/*
 *
 *
 *
 * Component: Banner
 *
 *
 *
 */
.elementor-widget-unifiers_banner {
  height: 100% !important;
}

.uc-banner-slide {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
  background: #f5f1e6;
}

/* ---------- Images ---------- */

.uc-banner-desktop-img,
.uc-banner-mobile-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.uc-banner-mobile-img {
  display: none;
}

.uc-banner-desktop-img {
  --uc-img-h: center;
  --uc-img-v: center;
  object-position: var(--uc-img-h) var(--uc-img-v);
}

.uc-banner-desktop-image--h-left {
  --uc-img-h: left;
}

.uc-banner-desktop-image--h-center {
  --uc-img-h: center;
}

.uc-banner-desktop-image--h-right {
  --uc-img-h: right;
}

.uc-banner-desktop-image--v-top {
  --uc-img-v: top;
}

.uc-banner-desktop-image--v-center {
  --uc-img-v: center;
}

.uc-banner-desktop-image--v-bottom {
  --uc-img-v: bottom;
}

/* ---------- Gradient overlay ---------- */

.uc-banner-gdnt-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

/* ---------- Content overlay ---------- */

.uc-banner-content-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  justify-content: var(--uc-content-h, flex-start);
  align-items: var(--uc-content-v, center);
  padding: 6%;
  box-sizing: border-box;
  pointer-events: none;
}

.uc-banner-content-overlay--h-left {
  --uc-content-h: flex-start;
}

.uc-banner-content-overlay--h-center {
  --uc-content-h: center;
}

.uc-banner-content-overlay--h-right {
  --uc-content-h: flex-end;
}

.uc-banner-content-overlay--v-top {
  --uc-content-v: flex-start;
}

.uc-banner-content-overlay--v-center {
  --uc-content-v: center;
}

.uc-banner-content-overlay--v-bottom {
  --uc-content-v: flex-end;
}

.uc-banner-content {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  max-width: clamp(300px, 34vw, 480px);
  text-align: left;
}

.uc-banner-content-overlay--h-center .uc-banner-content {
  align-items: center;
  text-align: center;
}

.uc-banner-content-overlay--h-right .uc-banner-content {
  align-items: flex-end;
  text-align: right;
}

/* ---------- Typography & CTA ---------- */

.uc-banner-heading {
  margin: 0;
  font-weight: 700;
  font-size: clamp(1.75rem, 2.7vw, 3.25rem);
  line-height: 1.15;
  color: #1c1b17;
}

.uc-banner-subheading {
  margin: 0;
  font-size: clamp(1rem, 1.1vw, 1.125rem);
  line-height: 1.6;
  color: #45443e;
}

.uc-banner-content .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  background: #a6cd6a;
  color: #141310;
  border: none;
  border-radius: 999px;
  padding: 16px 32px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.uc-banner-content .btn-primary:hover {
  background: #93bd55;
}

/* ---------- Mobile ---------- */

@media (max-width: 767px) {
  .uc-banner-slide {
    display: flex;
    flex-direction: column;
  }

  .uc-banner-desktop-img {
    display: none;
  }

  .uc-banner-mobile-img {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    max-height: 55%;
    object-position: center top;
  }

  .uc-banner-gdnt-overlay {
    display: none;
  }

  .uc-banner-content-overlay {
    position: relative;
    inset: auto;
    flex: 1 1 auto;
    justify-content: flex-start;
    align-items: flex-end;
    padding: 0 24px 48px;
  }

  .uc-banner-content {
    max-width: 100%;
    align-items: flex-start;
    text-align: left;
    gap: 16px;
  }

  .uc-banner-heading {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }

  .uc-banner-subheading {
    font-size: 0.95rem;
  }

  .uc-banner-content .btn-primary {
    padding: 14px 28px;
  }
}
