/* ===================================================================================
* Theme Name: Donakion Child
* Theme URI: https://bdevs.net/wp/donakion/
* Author: Theme_Pure
* Author URI: https://themeforest.net/user/theme_pure/portfolio
* Description: Donakion - NonProfit & Charity Foundation WordPress Theme
* Version: 1.0.0
* Template: donakion
* License: GNU General Public License version 3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Tags: one-column, right-sidebar, left-sidebar, custom-menu, featured-images, post-formats, sticky-post, translation-ready
====================================================================================== */

:root {
  --primary-color: #003a62;
  --secondary-color: #d26f1a;
  --primary-color-hover: #24344f;
  --secondary-color-hover: #a45a0b;
  --primary-color-accent: #24344f;
  --primary-color-dark: #102130;
}

/* Reset and Base Styles
   ========================================================================== */
html {
  overflow-x: hidden;
}

body div[data-elementor-type="wp-page"] p a {
  color: var(--primary-color);
}
body div[data-elementor-type="wp-page"] p a:hover {
  color: var(--primary-color-hover);
  text-decoration: underline;
}

body div.container {
  max-width: 1440px !important;
  width: 100%;
}

/* Unnecessary negative margin */
.eventcount_area {
  margin: 0px !important;
}

/* Header Styles
   ========================================================================== */
header div.container > div.row > div.d-none {
  padding: 0px;
}

header div.container .row a.g_btn > span {
  display: none;
}

header div.container > .row > div:first-child {
  padding-right: 0px;
}

header div.container .row .main-menu ul li:first-child {
  margin-left: 0px;
}

header div.container .row .main-menu ul li:last-child {
  margin-right: 0px;
}

header div.container div.logo img {
  margin-left: -8px;
}

header div.container .top_mailing a i {
  color: var(--secondary-color);
}
header div.container .top_mailing a:hover {
  color: var(--secondary-color);
}

nav .current-menu-item > a {
  color: var(--secondary-color) !important;
}

.progress-wrap svg.progress-circle path {
  fill: #fff;
}
div.progress-wrap.active-progress {
  right: 10px;
}

/* Header Styles
   ========================================================================== */

footer > div.footer_top_area {
  padding: 50px 10px 10px 10px;
}

/* Sidebar 
    ========================================================================== */
div.side-info .contact-list a i {
  background-color: var(--primary-color);
}
div.side-info .contact-list a i:hover {
  background-color: var(--secondary-color);
}
div.side-info .contact-list a:hover {
  color: var(--secondary-color);
}

/* footer > div.footer_top_area .container {
  max-width: 1440px !important;
  width: 100%;
  padding: 0px;
} */
footer > div.footer_top_area .container .footer-col4 {
  text-align: end;
}
footer > div.footer_top_area .container .menu-footer-1-container,
footer > div.footer_top_area .container .menu-footer-2-container {
  display: flex;
  justify-content: center;
}
footer > div.footer_top_area .container .widget_media_image {
  max-width: 250px;
}

footer > div.footer_top_area .container {
  max-width: 1440px !important;
  width: 100%;
  padding: 0px;
  display: flex;
  justify-content: center;
}

footer > div.footer_top_area .container .row {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0px 5px;
}

footer > div.footer_top_area .container .row > div {
  padding: 0px;
}

/* Ensure all 3 child elements (columns) in .row resize appropriately */
footer > div.footer_top_area .container .row > .col-xxl-3,
footer > div.footer_top_area .container .row > .col-xl-3,
footer > div.footer_top_area .container .row > .col-lg-7,
footer > div.footer_top_area .container .row > .col-lg-5,
footer > div.footer_top_area .container .row > .col-md-7,
footer > div.footer_top_area .container .row > .col-md-5,
footer > div.footer_top_area .container .row > .col-sm-7,
footer > div.footer_top_area .container .row > .col-sm-5 {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0; /* Set initial basis to 0 for flexibility */
  max-width: 100%; /* Ensure they can use up the full width available */
}

footer .footer_copyright_area {
  background-color: var(--primary-color-dark);
}
footer .footer_copyright_area p {
  font-size: 14px;
}

/* Homepage Hero Section
     ========================================================================== */
.hero-section .hero_buttons a.g_btn {
  padding: 12px 40px;
}
/* Hero section buttons
      ========================================================================== */

.hero-section a.g_btn.heading_bg.to_right1.rad-30.bdevs-el-btn-sec,
.hero-section a.g_btn.theme1_bg.to_rightout_heading.rad-30.mr-20.bdevs-el-btn {
  width: 217px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  padding: 0px;
  background-color: var(--primary-color);
  color: #ffffff;
  border: 1px solid var(--primary-color);
  transition: background-color 0.3s, color 0.3s;
}

.hero-section a.g_btn.heading_bg.to_right1.rad-30.bdevs-el-btn-sec:hover,
.hero-section a.g_btn.theme1_bg.to_rightout_heading.rad-30.mr-20.bdevs-el-btn:hover {
  background-color: #ffffff;
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.hero-section .hero_buttons {
  display: flex;
  justify-content: center;
}

/* Homepage Events Section
     ========================================================================== */
.homepage-events-section .eventcount_area .eventcount_text .bdevs-el-subtitle {
  display: none;
}

.homepage-event-element .elementor-element .eventcount_area {
  margin-top: 0px;
}

/* Homepage Who we help Section
     ========================================================================== */
.home-who-we-help-section a.g_btn.trans_btn.rad-50.p-45.bdevs-el-btn,
.testimonial-section .read-more-btn,
.custom-btn a.elementor-button {
  width: 217px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  padding: 0px;
  background-color: var(--primary-color);
  color: #ffffff;
  border: 1px solid var(--primary-color);
  transition: background-color 0.3s, color 0.3s;
  border-radius: 50px;
  font-size: 16px;
}
.home-who-we-help-section a.g_btn.trans_btn.rad-50.p-45.bdevs-el-btn:hover,
.testimonial-section .read-more-btn:hover,
.custom-btn a.elementor-button:hover {
  background-color: #ffffff;
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.home-who-we-help-section .about_champ_card {
  background-color: var(--secondary-color);
}

section .custom-orange-btn {
  display: flex;
  justify-content: center;
}

.custom-orange-btn a.elementor-button,
form input.wpcf7-form-control.wpcf7-submit.has-spinner,
header div.container .row a.g_btn {
  width: 217px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  padding: 0px;
  background-color: var(--secondary-color);
  color: #ffffff;
  border: 1px solid var(--secondary-color);
  transition: background-color 0.3s, color 0.3s;
  border-radius: 50px;
}

.custom-orange-btn.no-border a.elementor-button {
  border: none;
}

.custom-orange-btn a.elementor-button:hover,
form input.wpcf7-form-control.wpcf7-submit.has-spinner:hover,
header div.container .row a.g_btn:hover {
  background-color: #ffffff !important;
  color: var(--primary-color);
  border-color: var(--primary-color);
}

/* News Feed Section
     ========================================================================== */
.news-feed-post-list .nfeed_content {
  border-radius: 10px;
}

section.blog-area.pt-120.pb-120 {
  padding-top: 50px;
}

.news-feed-post-list .single_nfeed:is(.single_nfeed_2):is(.has_before):before {
  display: none;
}

/* Who We Help Section
     ========================================================================== */
.who-we-help-table .table-container {
  max-width: 100%;
  overflow-x: auto;
  margin: 0 auto;
  background-color: #fff;
  padding: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

.who-we-help-table table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.who-we-help-table th,
.who-we-help-table td {
  padding: 12px 15px;
  text-align: left;
}

.who-we-help-table th {
  background-color: #003a62;
  color: #ffffff;
  font-weight: bold;
}

.who-we-help-table tr:nth-child(even) {
  background-color: #f3f3f3;
}

.who-we-help-table tr:hover {
  background-color: #f1f1f1;
}

.who-we-help-table td img {
  margin-left: 10px;
  vertical-align: middle;
}

.who-we-help-table a {
  text-decoration: none;
  color: #003a62;
}

.who-we-help-table a:hover {
  text-decoration: underline;
}

.who-we-help-table .fab {
  font-size: 1.5em;
  margin-left: 8px;
  vertical-align: middle;
}

/* Other Common Styles
     ========================================================================== */
.who-we-are-list-text ul {
  padding-left: 20px;
  padding-bottom: 20px;
}

.major-gifts-container .gifts-inner .image-box-container .major-gift-image-box {
  max-width: 31%;
  box-sizing: border-box;
}

.elementor-image-box-wrapper .elementor-image-box-img {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Quick Links Section
     ========================================================================== */
.quick-links-section .bdevs-btn-icon.far.fa-calendar-alt {
  font-weight: 100;
}

.quick-links-section a.single_iconbox.text-center {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.quick-links-section i.bdevs-btn-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Testimonial Section
     ========================================================================== */
.testimonial-section .elementor-testimonial__text {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.testimonial-section .testimonial-content {
  overflow: hidden;
  max-height: 4.5em;
  line-height: 1.5em;
  transition: max-height 0.3s ease;
}

/* .testimonial-section .read-more-btn {
  display: block;
  background-color: var(--secondary-color);
  color: #fff;
  padding: 10px 45px;
  border-radius: 30px;
  overflow: hidden;
  text-decoration: none;
  text-align: center;
  min-width: 140px;
  font-weight: 500;
  transition: background-color 0.3s;
  font-size: 16px;
  max-width: 215px;
} */

.testimonial-section .testimonial-content.expanded {
  max-height: 1000px;
}

.testimonial-section .expanded .read-more-btn {
  content: "Read Less";
}

/*  Who We Help Page
     ========================================================================== */
.counter-container .ec-counter .ec-icon {
  margin: 0px;
}

/* Our Supports Page
     ========================================================================== */
div.page-area.pt-120.pb-120 {
  padding: 0px;
}

.our-supporters-container .gifts-inner .image-box-container .major-gift-image-box {
  width: 100%;
  max-width: 33%;
}

.our-supporters-container .gifts-inner .image-box-container figure.elementor-image-box-img > img {
  margin: 0px;
}

/* Condensed Contact Card Styling */
.our-supporters-container .gifts-inner .e-con-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.our-supporters-container .gifts-inner .e-con-inner .major-gift-image-box {
  width: calc(33.333% - 13.333px);
  box-sizing: border-box;
  margin-bottom: 20px;
}

.our-supporters-container .contact-card {
  font-family: Arial, sans-serif;
  color: #333;
  max-width: 300px;
}

.our-supporters-container .elementor-image-box-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.our-supporters-container .contact-card__header a {
  display: block;
  font-size: 14px;
  margin-bottom: 10px;
  text-decoration: none;
  color: #003a62;
  font-weight: bold;
  word-break: break-word;
}

.our-supporters-container .contact-card__location {
  margin-bottom: 15px;
}

.our-supporters-container .contact-card__location h4 {
  margin: 0 0 5px 0;
  font-size: 16px;
  color: #003a62;
}

.our-supporters-container .contact-card__location p {
  margin: 3px 0;
  font-size: 14px;
}

.our-supporters-container .contact-card__social {
  margin-top: 10px;
}

.our-supporters-container .contact-card__social a {
  margin-right: 10px;
  text-decoration: none;
  color: #003a62;
}

.our-supporters-container .contact-card__social i {
  font-size: 1.2em;
}

.our-supporters.partner-gallery .elementor-image-gallery .gallery {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.our-supporters.partner-gallery .elementor-image-gallery .gallery .gallery-icon img {
  max-width: 200px;
}

/* Volunteer page
   ========================================================================== */
.volunteer-form h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.volunteer-form .get_intouch_area > div.container {
  padding-left: 0px;
  padding-right: 0px;
}

.contact_section.contact_contact.bottom_radius0 {
  padding: 30px;
  padding-top: 30px;
}

.contact-page label {
  font-size: 20px;
  font-weight: bold;
  display: block;
  margin-bottom: 10px;
}

.contact-page .container .row .contact_section {
  padding-bottom: 0px;
}

.contact-page p {
  font-size: 14px;
  font-weight: bold;
}

.contact-page textarea,
.contact-page input[type="text"],
.contact-page input[type="email"],
.contact-page input[type="tel"],
.contact-page select {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 14px;
}

.contact-page input[type="submit"] {
  background-color: var(--secondary-color);
  color: #fff;
  border: none;
  padding: 15px 30px;
  font-size: 16px;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.contact-page input[type="submit"]:hover {
  background-color: #003a62;
}
/* About page
    ========================================================================== */
.volunteer-icon-box .card_number {
  line-height: 1;
}
.volunteer-icon-box .choose_card_content {
  padding-top: 10px;
}

/* Apply for funding page
    ========================================================================== */
.apply-for-funding-form .get_intouch_area .container .row > div.order-0 {
  display: none;
}
.apply-for-funding-form .wpcf7-radio .wpcf7-list-item > label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
}

.apply-for-funding-form hr {
  margin: 30px 0 !important;
}
.apply-for-funding-form .multi-radio input {
  width: auto;
}

/* FAQ page
    ========================================================================== */
.faq-element .container {
  padding: 0px;
}

/* Responsive Design */
@media (max-width: 767px) {
  footer > div.footer_top_area .container .row {
    flex-direction: column; /* Stack columns vertically on small screens */
  }

  footer > div.footer_top_area .container .row > .col-xxl-3,
  footer > div.footer_top_area .container .row > .col-xl-3,
  footer > div.footer_top_area .container .row > .col-lg-7,
  footer > div.footer_top_area .container .row > .col-lg-5,
  footer > div.footer_top_area .container .row > .col-md-7,
  footer > div.footer_top_area .container .row > .col-md-5,
  footer > div.footer_top_area .container .row > .col-sm-7,
  footer > div.footer_top_area .container .row > .col-sm-5 {
    max-width: 100%; /* Ensure full width for each column when stacked */
  }

  footer > div.footer_top_area .container .menu-footer-1-container,
  footer > div.footer_top_area .container .menu-footer-2-container {
    justify-content: flex-start; /* Align menu items to the left */
  }

  footer > div.footer_top_area .container .row .widget_text .textwidget > div {
    text-align: start;
  }

  footer > div.footer_top_area .container .row .widget_text .textwidget > div br {
    display: block;
  }

  footer > div.footer_top_area .container .row > .col-xxl-3:nth-child(2) > div,
  footer > div.footer_top_area .container .row > .col-xxl-3:nth-child(3) > div {
    margin-bottom: 20px; /* Remove margin between columns */
  }

  .our-supporters-container .contact-card__header a {
    font-size: 13px;
  }

  .our-supporters-container .contact-card__location h4 {
    font-size: 14px;
  }

  .our-supporters-container .contact-card__location p {
    font-size: 13px;
  }

  .our-supporters-container .contact-card__social a {
    margin-right: 8px;
  }

  .our-supporters-container .contact-card__social i {
    font-size: 1em;
  }

  .volunteer-form label {
    font-size: 18px;
  }

  .volunteer-form p {
    font-size: 12px;
  }

  .volunteer-form textarea,
  .volunteer-form input[type="text"],
  .volunteer-form input[type="email"],
  .volunteer-form input[type="tel"],
  .volunteer-form select,
  .volunteer-form input[type="submit"] {
    font-size: 12px;
    padding: 10px;
  }

  .volunteer-form input[type="submit"] {
    padding: 10px 20px;
  }
}

/* **** Responsive Styles
     ========================================================================== */

/* Larger Screens (over 767px)
     ========================================================================== */

/* News Feed Section */
@media (max-width: 575px) {
  .hero-section .hero_buttons {
    flex-direction: column;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .news-feed-section .single_nfeed.single_nfeed_2.has_before.mb-30 {
    height: 100%;
  }

  .news-feed-section .nfeed_content.nfeed_content_2.bdevselement-post-list-item {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}

@media (min-width: 1455px) {
  footer > div.footer_top_area .container .row {
    padding: 0px 15px;
  }
}

/* Under 1200px */
@media (max-width: 1199px) {
  .news-feed-section .nfeed_area div.row > .col-lg-6 {
    width: 33%;
  }
}

/* Tablet (up to 1044px)
     ========================================================================== */
@media (max-width: 1044px) {
  header.header-area div.header_menu_area {
    padding: 0px;
  }

  header.header-area div.logo a img {
    max-width: 150px;
  }

  .homepage-events-section .eventcount_wrapper {
    padding: 50px 25px;
  }
}

/* Mobile (up to 767px)
     ========================================================================== */
@media (max-width: 767px) {
  h2 {
    font-size: 36px;
  }

  h3 {
    font-size: 30px;
  }

  h4 {
    font-size: 24px;
  }

  .hero-section .hero_buttons a.g_btn {
    padding: 0 45px;
  }

  .hero-section .hero_single {
    padding: 25px 0px;
  }

  .quick-links-section .icon_box_area .row > div {
    max-width: 200px;
  }

  .quick-links-section .icon_box_area .row > div > a {
    margin-bottom: 15px;
  }

  .who-we-help-table th,
  .who-we-help-table td {
    padding: 10px 5px;
  }

  .who-we-help-table td img {
    width: 24px;
    height: 24px;
  }

  .news-feed-section .nfeed_area div.row > .col-lg-6 {
    width: 100%;
  }

  .homepage-events-section .eventcount_area {
    margin: 0px;
  }

  .homepage-events-section .eventcount_wrapper {
    padding: 0px;
  }

  /* who we are page */
  .major-gifts-container .gifts-inner .image-box-container .major-gift-image-box.elementor-widget-image-box {
    max-width: none;
    width: 100%;
  }

  .our-supporters-container figure.elementor-image-box-img {
    height: 150px !important;
    min-height: 150px !important;
  }
}
