/*
Theme Name: Green Planet Child
Theme URI: http://cmsmasters.net/green-planet-child/
Author: cmsmasters
Author URI: http://cmsmasters.net/
Description: Green Planet Child Theme
Template: green-planet
Version: 1.0.0
License:
License URI:
Text Domain: green-planet-child
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/
.cmsmasters_sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 5px solid rgba(0, 0, 0, 0.125);
  border-radius: 1.25rem;
  padding:15px;
}
.sub-menu{
	border-color:none;
}
.cmsmasters_button span {
	color:#49ad51;
}
.header_donation_but_wrap .header_donation_but .cmsmasters_button {
    border-color:#49ad31;
}

ul.sub-menu, ul.sub-menu li a {
    border: none;
}

body,
table tbody tr th,
table tbody tr th a,
table tbody tr td,
table tbody tr td a,
.cmsmasters-form-builder .check_parent input[type=checkbox] + label,.cmsmasters-form-builder .check_parent input[type=radio] + label,.widget_custom_posts_tabs_entries .cmsmasters_tabs .cmsmasters_lpr_tabs_cont > a,
	  .cmsmasters_likes a,
	  .cmsmasters_comments a {
		 font-family: "Sora", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 15px;
    line-height: 1.6;
    color: #1a1a1a;
}

html .cmsmasters_color_scheme_footer .cmsmasters_button, html .cmsmasters_color_scheme_footer .button, html .cmsmasters_color_scheme_footer input[type=submit]:hover, html .cmsmasters_color_scheme_footer input[type=button]:hover, html .cmsmasters_color_scheme_footer button, html .cmsmasters_color_scheme_footer a, html .cmsmasters_color_scheme_footer .cmsmasters_comments a.active, html .cmsmasters_color_scheme_footer .cmsmasters_wrap_more_items.cmsmasters_loading:before, html .cmsmasters_color_scheme_footer .cmsmasters_icon_box.cmsmasters_icon_top:before, html .cmsmasters_color_scheme_footer .cmsmasters_icon_box.cmsmasters_icon_heading_left .icon_box_heading:before, html .cmsmasters_color_scheme_footer .bypostauthor > .comment-body .alignleft:before, html .cmsmasters_color_scheme_footer .cmsmasters_sitemap_wrap .cmsmasters_sitemap > li > a:hover, html .cmsmasters_color_scheme_footer .cmsmasters_sitemap_wrap .cmsmasters_sitemap > li > ul > li > a:hover, html .cmsmasters_color_scheme_footer .cmsmasters_sitemap_wrap .cmsmasters_sitemap_category > li > a:hover, html .cmsmasters_color_scheme_footer .cmsmasters_attach_img .cmsmasters_attach_img_edit a, html .cmsmasters_color_scheme_footer .cmsmasters_attach_img .cmsmasters_attach_img_meta a, html .cmsmasters_color_scheme_footer .search_bar_wrap .search_button button, html .cmsmasters_color_scheme_footer .error_cont .error_button_wrap a:hover, html .cmsmasters_color_scheme_footer .cmsmasters_content_slider .owl-buttons > div, html .cmsmasters_color_scheme_footer .cmsmasters_slider_project .cmsmasters_slider_project_cont_info a:hover, html .cmsmasters_color_scheme_footer .cmsmasters_wrap_items_loader .cmsmasters_items_loader, html .cmsmasters_color_scheme_footer .cmsmasters_items_filter_wrap .cmsmasters_items_filter_list li a, html .cmsmasters_color_scheme_footer .cmsmasters_project_puzzle .cmsmasters_project_category a:hover, html .cmsmasters_color_scheme_footer .cmsmasters_open_project .owl-buttons > div > span > span:before, html .cmsmasters_color_scheme_footer form .formError .formErrorContent, html .cmsmasters_color_scheme_footer .cmsmasters-form-builder .form_info.submit_wrap .cmsmasters_button:hover, html .cmsmasters_color_scheme_footer .cmsmasters_wrap_pagination .page-numbers.current, html .cmsmasters_color_scheme_footer .cmsmasters_wrap_pagination .page-numbers:hover, html .cmsmasters_color_scheme_footer .cmsmasters_wrap_pagination .next.page-numbers, html .cmsmasters_color_scheme_footer .cmsmasters_icon_wrap a .cmsmasters_simple_icon{
	font-family: "Sora", sans-serif;
}

/* Headings - Epilogue font */
h1, h2, h3, h4, h5, h6,
.campaign-card-title,
.cmsmasters_archive_item_title {
    font-family: "Epilogue", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    line-height: 1.3;
}

span.cmsmasters_slider_post_category a{
	font-size: 12px;
}

.subscribe-card {
  position: relative;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.8rem;
}

/* Container for text and image */
.side-by-side-container {
    display: flex;
    align-items: center; /* Vertically center align items */
    gap: 20px; /* Space between text and image */
}

/* Style for the text */
.side-by-side-text {
    flex: 1; /* Takes up remaining space */
    max-width: 60%; /* Adjust as needed */
}

/* Style for the image */
.side-by-side-image {
    flex: 1; /* Takes up remaining space */
    max-width: 40%; /* Adjust as needed */
    text-align: center; /* Center the image */
}

span.cmsmasters_likes.cmsmasters_post_likes {
    display: none;
}

span.cmsmasters_comments.cmsmasters_post_comments {
    display: none;
}

/* Hide all donation-related elements on campaign pages */
.single-campaign .campaign_meta_wrap .cmsmasters_campaign_target,
.single-campaign .campaign_meta_wrap .cmsmasters_campaign_donations_count,
.single-campaign .campaign_meta_wrap .cmsmasters_campaign_donated,
.single-campaign .campaign_meta_wrap .cmsmasters_campaign_donate_button,
.single-campaign .donation-form,
.single-campaign .campaign-donation,
.single-campaign .donate-button,
.single-campaign .donation-progress,
.single-campaign .campaign-goal,
.single-campaign .cmsmasters_campaign_donated,
.single-campaign .cmsmasters_campaign_donated_percent,
.single-campaign .cmsmasters_stats,
.opened-article > .campaign .campaign_meta_wrap {
    display: none !important;
}

/* Force black text color ONLY for paragraphs in campaign content */
.campaigns.opened-article p,
.single-campaign .entry-content p,
.cmsmasters_campaign_content p {
    color: #000000 !important;
}

/* CAMPAIGN & PROJECT ARCHIVE - PROPER CARD LAYOUT WITHIN CONTENT BOUNDARIES */

/* Hide search on campaign and project archive pages */
.post-type-archive-campaign .search_bar_wrap,
.post-type-archive-project .search_bar_wrap,
.tax-pj-categs .search_bar_wrap {
    display: none !important;
}

/* Content wrapper - restore proper container */
body.post-type-archive-campaign .content_wrap,
body.post-type-archive-project .content_wrap,
body.tax-pj-categs .content_wrap {
    max-width: 1200px !important; /* Set reasonable max width */
    width: 100% !important;
    margin: 0 auto !important; /* Center the container */
    padding: 0 20px !important; /* Add side padding */
    box-sizing: border-box !important;
}

/* Middle content - use full container width */
body.post-type-archive-campaign .middle_content,
body.post-type-archive-project .middle_content,
body.tax-pj-categs .middle_content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 40px 0 !important; /* Only top/bottom padding */
    box-sizing: border-box !important;
}

/* Create perfectly fitted 3-column grid within yellow boundary */
body.post-type-archive-campaign .cmsmasters_archive,
body.post-type-archive-project .cmsmasters_archive,
body.tax-pj-categs .cmsmasters_archive {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important; /* Optimal gap for the space */
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background-color: transparent !important;
}

/* Enhanced campaign card styling - larger for expanded space */
body.post-type-archive-campaign article.campaign-card-item,
body.post-type-archive-project article.campaign-card-item,
body.tax-pj-categs article.campaign-card-item {
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 420px !important; /* Slightly taller for more content */
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    position: relative !important;
}

/* Enhanced hover effect */
body.post-type-archive-campaign article.campaign-card-item:hover,
body.post-type-archive-project article.campaign-card-item:hover,
body.tax-pj-categs article.campaign-card-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
    border-color: #49ad51 !important;
}

/* Card wrapper */
.campaign-card-item .campaign-card-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
}

/* Campaign image */
.campaign-card-item .campaign-card-image {
    position: relative !important;
    overflow: hidden !important;
    height: 200px !important;
    background-color: #f8f9fa !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.campaign-card-item .campaign-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
    display: block !important;
}

.campaign-card-item:hover .campaign-card-image img {
    transform: scale(1.08) !important;
}

/* Campaign content - adjusted for larger cards */
.campaign-card-item .campaign-card-content {
    padding: 25px !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 220px !important; /* Increased for taller cards */
    width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.campaign-card-type {
    display: none !important;
}

.campaign-card-item .campaign-card-header {
    margin-bottom: 15px !important;
    flex-shrink: 0 !important;
    width: 100% !important;
}

.campaign-card-item .campaign-card-title {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
    width: 100% !important;
}

.campaign-card-item .campaign-card-title a {
    text-decoration: none !important;
    color: #2c3e50 !important;
    transition: color 0.3s ease !important;
    display: block !important;
    width: 100% !important;
}

.campaign-card-item .campaign-card-title a:hover {
    color: #49ad51 !important;
}

/* Campaign excerpt */
.campaign-card-item .campaign-card-excerpt {
    margin-bottom: 15px !important;
    line-height: 1.6 !important;
    flex-grow: 1 !important;
    overflow: hidden !important;
    width: 100% !important;
}

.campaign-card-item .campaign-card-excerpt p {
    color: #6c757d !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Campaign meta - hidden */
.campaign-card-item .campaign-card-meta {
    display: none !important;
}

/* Hide sidebar on campaign and project archive pages */
body.post-type-archive-campaign .sidebar,
body.post-type-archive-project .sidebar,
body.tax-pj-categs .sidebar {
    display: none !important;
    visibility: hidden !important;
}

/* FULL WIDTH HEADER BACKGROUNDS FOR ALL PAGES */

/* Make headline container extend full width */
.headline_inner {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    position: relative !important;
    background-attachment: scroll !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

/* Ensure headline content is properly centered and contained */
.headline_inner .headline_content,
.headline_inner h1,
.headline_inner .breadcrumbs,
.headline_inner .cmsmasters_breadcrumbs {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 60px 20px !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
}

/* Override media query constraints */
@media only screen and (min-width: 1440px) {
    .headline_inner {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

/* Responsive design - proper centering and boundaries */
@media (max-width: 1024px) {
    body.post-type-archive-campaign .cmsmasters_archive,
    body.post-type-archive-project .cmsmasters_archive,
    body.tax-pj-categs .cmsmasters_archive {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 25px !important;
    }
    
    body.post-type-archive-campaign .content_wrap,
    body.post-type-archive-project .content_wrap,
    body.tax-pj-categs .content_wrap {
        padding: 0 15px !important;
    }
}

@media (max-width: 768px) {
    body.post-type-archive-campaign .cmsmasters_archive,
    body.post-type-archive-project .cmsmasters_archive,
    body.tax-pj-categs .cmsmasters_archive {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    
    .campaign-card-item .campaign-card-content {
        padding: 20px !important;
    }
    
    .campaign-card-item .campaign-card-image {
        height: 180px !important;
    }
    
    body.post-type-archive-campaign .content_wrap,
    body.post-type-archive-project .content_wrap,
    body.tax-pj-categs .content_wrap {
        padding: 0 10px !important;
    }
    
    body.post-type-archive-campaign .middle_content,
    body.post-type-archive-project .middle_content,
    body.tax-pj-categs .middle_content {
        padding: 20px 0 !important;
    }
}

/* FULL WIDTH HEADER AND SLIDER */

/* Make header full width */
#header {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Header top section full width */
.header_top {
    width: 100% !important;
    margin: 0 !important;
}

.header_top .header_top_inner {
    max-width: none !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Header mid section (with logo and navigation) full width */
.header_mid {
    width: 100% !important;
    margin: 0 !important;
}

.header_mid .header_mid_inner {
    max-width: none !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Navigation full width */
.header_bot {
    width: 100% !important;
    margin: 0 !important;
}

.header_bot .header_bot_inner {
    max-width: none !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Hero slider full width */
.cmsmasters_slider,
.rev_slider_wrapper,
.ls-container,
.slider-container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Revolution slider full width */
.rev_slider {
    width: 100vw !important;
    max-width: 100vw !important;
}

/* LayerSlider full width */
.ls-wp-container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Ensure slider content is properly contained */
.slider-content-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Override any boxed layout constraints */
.cmsmasters_color_scheme_default #page,
#page {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure main container allows full width elements */
#main {
    width: 100% !important;
    overflow-x: hidden;
}

/* EQUAL HEIGHT COLUMNS - Fixed Solution */
.cmsmasters_row.equal_column_heights .cmsmasters_row_margin {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.cmsmasters_row.equal_column_heights .cmsmasters_column {
    display: flex !important;
    flex-direction: column !important;
}

/* EQUAL HEIGHT COLUMNS - Complete Styling Solution */

/* 1. Add padding to column inner for spacing from edges */
.cmsmasters_row.equal_column_heights .cmsmasters_column_inner {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 30px 20px !important;
    box-sizing: border-box !important;
}

/* 2. Add transparent overlay for contrast with background */
.cmsmasters_row.equal_column_heights .cmsmasters_column {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
}

.cmsmasters_row.equal_column_heights .cmsmasters_column::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.6) !important; /* Dark overlay - adjust opacity as needed */
    z-index: 1 !important;
}

.cmsmasters_row.equal_column_heights .cmsmasters_column_inner {
    position: relative !important;
    z-index: 2 !important; /* Place content above overlay */
}

/* 3. Set text color as white */
.cmsmasters_row.equal_column_heights .cmsmasters_column_inner,
.cmsmasters_row.equal_column_heights .cmsmasters_column_inner h4,
.cmsmasters_row.equal_column_heights .cmsmasters_column_inner p,
.cmsmasters_row.equal_column_heights .cmsmasters_column_inner .cmsmasters_heading,
.cmsmasters_row.equal_column_heights .cmsmasters_column_inner .cmsmasters_text {
    color: #ffffff !important;
}

/* 4. Align content elements - same positioning for all columns */
.cmsmasters_row.equal_column_heights .cmsmasters_heading_wrap {
    margin-bottom: 20px !important;
    flex-shrink: 0 !important;
}

.cmsmasters_row.equal_column_heights .cmsmasters_text {
    flex-grow: 1 !important; /* Text takes available space */
    margin-bottom: 20px !important;
}

.cmsmasters_row.equal_column_heights .button_wrap {
    margin-top: auto !important; /* Push buttons to bottom */
    flex-shrink: 0 !important;
}

/* 5. Change button to rounded rectangle */
.cmsmasters_row.equal_column_heights .cmsmasters_button {
    border-radius: 25px !important; /* Rounded corners */
    padding: 12px 30px !important;
    background-color: #49ad51 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    text-align: center !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
}

.cmsmasters_row.equal_column_heights .cmsmasters_button:hover {
    background-color: #ffffff !important;
    color: #49ad51 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}

.cmsmasters_row.equal_column_heights .cmsmasters_button span {
    color: inherit !important;
}

/* 6. Add card design to columns */
.cmsmasters_row.equal_column_heights .cmsmasters_column {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
    transition: all 0.3s ease !important;
    margin: 0 10px !important; /* Space between cards */
}

.cmsmasters_row.equal_column_heights .cmsmasters_column:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}

/* Keep the flexbox structure */
.cmsmasters_row.equal_column_heights .cmsmasters_row_margin {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}
.cmsmasters_row.equal_column_heights .cmsmasters_column_inner {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

/* 1. HIDE CATEGORIES FILTER */
.cmsmasters_project_filter_wrap,
.cmsmasters_items_filter_wrap {
    display: none !important;
}

/* 2. MAKE PROJECT TITLES ALWAYS VISIBLE WITH DARKENED IMAGE OVERLAY */

/* Position the project_inner to overlay the image */
.cmsmasters_project_puzzle .project_outer {
    position: relative !important;
}

/* Add dark overlay to the entire image */
.cmsmasters_project_puzzle .project_outer::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.4) !important; /* Dark overlay on image */
    z-index: 5 !important;
    transition: background 0.3s ease !important;
}

/* Darken more on hover */
.cmsmasters_project_puzzle .project_outer:hover::before {
    background: rgba(0, 0, 0, 0.6) !important;
}

/* Position title at bottom */
.cmsmasters_project_puzzle .project_inner {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Remove background from title container */
.cmsmasters_project_puzzle .project_inner_cont {
    background: transparent !important;
    padding: 15px !important;
}

.cmsmasters_project_puzzle .cmsmasters_project_title {
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.cmsmasters_project_puzzle .cmsmasters_project_title a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.8) !important; /* Add text shadow for better readability */
}

/* Change text color on hover */
.cmsmasters_project_puzzle .project_outer:hover .cmsmasters_project_title a {
    color: #49ad51 !important;
}

/* SET SPECIFIC HEIGHT FOR PROJECT SINGLE PAGE IMAGES */

.cmsmasters_open_project .project_content > .cmsmasters_img_wrap {
    height: 500px !important; /* Set your desired height */
    overflow: hidden !important;
    margin: 0 0 50px !important;
}

.cmsmasters_open_project .project_content > .cmsmasters_img_wrap img {
    width: 100% !important;
    height: 500px !important; /* Same height as wrapper */
    object-fit: cover !important; /* Crop to fill without distortion */
    object-position: center !important; /* Center the image */
}

/* Remove the variable height/padding */
.cmsmasters_open_project .preloader.highImg {
    height: 500px !important;
    padding: 0 !important;
}

.cmsmasters_open_project .preloader .full-width {
    position: relative !important;
    height: 500px !important;
}