/* =====================
   BASE STYLES (DESKTOP FIRST)
===================== */

body {
  font-family: 'Barlow', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: 'Barlow', sans-serif;
  color: #076589;
  font-weight: bold;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.h1 a,
.h2 a,
.h3 a,
.h4 a,
.h5 a {
  font-weight: bold;
  font-family: 'Barlow', sans-serif;
  color: #076589;
}

.h6 a {
  font-weight: bold;
  font-family: 'Barlow', sans-serif;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
.h1 a:hover,
.h2 a:hover,
.h3 a:hover,
.h4 a:hover,
.h5 a:hover,
.h6 a :hover {
  color: #F7961D;
}

.section-heading h1,
.h1 a {
  font-size: clamp(2.5rem, 5vw, 3rem); /* ~40–48px */
}

.section-heading h2,
.h2 a {
  font-size: clamp(2rem, 4vw, 2.5rem); /* ~32–40px */
}

.section-heading h3,
.h3 a {
  font-size: clamp(1.75rem, 3.5vw, 2.33rem); /* ~28–37px */
}

.section-heading h4,
.h4 a {
  font-size: clamp(1.5rem, 3vw, 1.83rem); /* ~24–29px */
}

.section-heading h5,
.h5 a {
  font-size: clamp(1rem, 2.5vw, 1.25rem); /* ~16–20px */
}

.section-heading h6,
.h6 a {
  font-size: clamp(0.9rem, 2vw, 1.08rem); /* ~14.4–17px */
}


p {
  font-family: 'Open Sans', sans-serif;
}

.text-third {
  color: #35BCE5 !important;
}

.about-title {
  color: #fff;
  margin-left: 1.5%;
}

.about-us-title {
  font-size: 16pt;
}

/* Top bar background */
#top-bar {
  background-color: #076589 !important;
}

/* Logo and header */
.navbar-brand img {
  max-height: 90px !important;
}

body.inner-page .navbar-brand img {
  max-height: 85px !important;
}

body.inner-page .navbar-header-custom {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.navbar-header-custom {
  padding: 0;
}

/* Navigation links */
.navbar-nav>li>a {
  font-family: 'Barlow', sans-serif !important;
  font-weight: bold;
  font-size: 12.5pt;
}

body.inner-page .navbar-nav>li>a {
  font-size: 12pt !important;
  padding: 0 auto !important;
}

/* Banner text block position */
.custom-dropdown li {
  border-bottom: 1px solid #fff !important;
}

.custom-dropdown li:last-child {
  border-bottom: none !important;
  padding: 0 auto !important;
}

.custom-dropdown li a {
  color: #fff !important;
  padding-bottom: 5px !important;
}

.custom-dropdown li a:hover {
  color: #bceff6 !important;
}

.owl-theme .owl-dots {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: right;
  align-items: right;
  padding: 0;
  margin: 0;
}

.owl-theme .owl-dots .owl-dot {
  display: block;
  padding: 0 !important;
  margin: 0 3px !important;
  /* subtle spacing between dots */
  line-height: 0 !important;
  font-size: 0 !important;
  background: none !important;
  border: none !important;
}

.owl-theme .owl-dots .owl-dot span {
  width: 30px !important;
  height: 12px !important;
  display: inline-block !important;
  background: rgba(255, 255, 255, 0.3) !important;
  border-radius: 4px !important;
  transition: background 0.3s ease;
  margin: 0 !important;
}

.owl-theme .owl-dots .owl-dot.active span {
  background: #FFB600 !important;
}

.slider-fade .item {
  position: relative;
  height: 82vh;
  /* make slide full viewport height */
  display: flex;
  align-items: flex-end;
  /* push content to bottom */
  padding-bottom: 5%;
}

/* Banner Heading */
.banner-heading {
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
  color: #F7961D;
  line-height: 1.2;
  font-size: 28pt;
}

/* Banner Subtext */
.banner-subtext {
  font-family: 'Open Sans', sans-serif;
  color: #FCFCF9;
  line-height: 1.4;
  font-size: 20pt;
}

/* Learn More Button */
.banner-learn-more-btn {
  background-color: #35BCE5;
  color: #FCFCF9 !important;
  font-family: 'Barlow', sans-serif;
  font-size: 10pt;
  padding: 10px 25px;
  border-radius: 8px;
  display: inline-block;
  text-decoration: none;
  transition: background 0.3s ease;
}

.banner-learn-more-btn:hover {
  background-color: #F7961D;
}

/* Container width (desktop) */
.slider-wrapper {
  width: 100%;
}

.butn {
  text-transform: none;
}

/* =====================
   RESPONSIVE STYLES
===================== */

/* MEDIUM DEVICES (TABLETS < 992px) */
@media screen and (max-width: 991px) {
  .navbar-brand img {
    max-height: 45px !important;
  }

  .navbar-header-custom {
    padding: 8px 0 !important;
  }

  .navbar-nav>li>a {
    font-size: 12pt !important;
    padding: 14px 20px !important;
  }

  .banner-heading {
    font-size: 25pt;
  }

  .banner-subtext {
    font-size: 16pt;
  }

  .banner-learn-more-btn {
    font-size: 9pt;
    padding: 9px 20px;
  }

  .slider-wrapper {
    width: 100%;
    padding: 0 15px;
  }

  .about-us-title {
    font-size: 12pt;
    margin-bottom: 0px;
  }

}

/* SMALL DEVICES (PHONES < 576px) */
@media screen and (max-width: 575px) {
  .menu_area .navbar-brand {
    max-width: 135px !important;
  }

  .navbar-brand img {
    max-height: 40px !important;
  }

  .navbar-header-custom {
    padding: 6px 0 !important;
  }

  .banner-heading {
    font-size: 22pt;
    line-height: 1.3;
  }

  .banner-subtext {
    font-size: 14pt;
    line-height: 1.5;
  }

  .banner-learn-more-btn {
    font-size: 8.5pt;
    padding: 8px 18px;
    border-radius: 6px;
  }
}

/* ============== About section in home page ================*/

.about-description,
.exist-description {
  font-family: 'Open Sans', sans-serif;
  font-size: 16pt;
  color: #022B35;
}

.text-read {
  font-family: 'Barlow Bold', sans-serif;
  font-size: 14pt;
  font-weight: bold;
  color: #076589;
}

.butn-read::after {
  background-color: #F7961D;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
  .about-section {
    padding-top: 40px;
  }

  .about-section .col-lg-6:first-child {
    display: none;
    /* hide image on mobile */
  }

  .about-description {
    font-size: 14pt;
  }

  .about-readmore {
    font-size: 13pt;
  }
}

.exist_sub-title {
  color: #3E403B;
}

.hover-shadow:hover {
  box-shadow: 0 0.5rem 1.2rem rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease-in-out;
}


/* ========= What We Stand For =========== */
.icon-circle {
  width: 70px;
  height: 70px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(6px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.glass-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.glass-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);
}

/************ What We Do ***************/
/* Fixed height and styling */
.education-section {
  height: 150.5px;
  overflow: hidden;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
  margin-top: 20px;
}


/* Image fitting */
.education-section img {
  height: 100%;
  object-fit: cover;
}

/* Title */
.edu-title {
  font-family: 'Barlow', sans-serif;
  font-size: 15pt;
  font-weight: bold;
  color: #F7961D;
  line-height: 1.2;
  text-align: left;
}

/* Description with ellipsis */
.edu-description {
  font-family: 'Open Sans', sans-serif;
  font-size: 12pt;
  color: #303030;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Inner column padding for spacing between border and text */
.education-section .p-3 {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

/* Button styling */
.edu-btn {
  background-color: #35BCE5;
  color: #FCFCF9;
  font-family: 'Barlow', sans-serif;
  font-size: 8pt;
  font-weight: bold;
  padding: 5px 14px;
  border-radius: 6px;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.edu-btn:hover {
  background-color: #F7961D;
  color: #fff;
}

/* Border line */
.education-section .border-start {
  border-left: 1px solid #d6d6d6 !important;
}

/* Responsive behavior */
@media (max-width: 767.98px) {
  .education-section {
    height: auto;
  }

  .education-section .border-start {
    border-left: none !important;
  }

  .edu-title,
  .edu-description,
  .edu-btn {
    text-align: center;
  }

  .edu-btn {
    margin-top: 1rem;
  }
}

/*========== Key Projects =========== */
.project-section {
  background-color: #e9f1e8;
}

.proj-org {
  font-family: 'Open Sans', sans-serif;
  font-weight: bold;
  font-size: 13pt;
  color: #076589;
}

.proj-title {
  font-family: 'Open Sans', sans-serif;
  font-weight: bold;
  font-size: 15pt;
  color: #F7961D;
}

.proj-desc {
  font-family: 'Open Sans', sans-serif;
  font-size: 12pt;
  color: #303030;
}

.butn-read {
  color: #076589;
  font-family: 'Barlow', sans-serif;
  font-size: 10pt;
  font-weight: bold;
}

/* ========== Our Team ============*/
.team-content h3 {
  color: #F7961D;
  font-family: 'Barlow', sans-serif;
  font-size: 18pt;
  font-weight: bold;
}

.team-content p {
  color: #F7961D;
  font-family: 'Open Sans', sans-serif;
  font-size: 12pt;
  font-weight: bold;
}

/* =============== Action Call ============ */

.action-call h2 {
  color: #F7961D;
  font-family: 'Barlow', sans-serif;
  font-size: 28pt;
  font-weight: bold;
}

.btn-mission {
  background-color: #fff;
  color: #F7961D;
  font-family: 'Barlow', sans-serif;
  font-size: 15pt;
  font-weight: bold;
}

/* ================ Footer Section ================ */
/* Footer base styling */
footer.bg-img {
  border-radius: 12px 15px 0 0;
}

footer p {
  font-family: 'Open Sans', sans-serif;
  font-size: 10pt;
  font-weight: 500;
  color: #FCFCF9;
  margin-bottom: 15px;
}

footer .social-icon-style2 li a {
  color: #FCFCF9;
  font-family: 'Open Sans', sans-serif;
  font-weight: bold;
  font-size: 10pt;
  border: 1px solid #FCFCF9;
  border-radius: 4px;
  padding: 4px auto;
  display: inline-block;
  transition: all 0.3s;
}

footer .social-icon-style2 li a:hover {
  background-color: #F7961D;
  color: #003300;
}

/* Footer headings */

.footer-heading {
  font-family: 'Barlow', sans-serif;
}

footer h3 {
  font-family: 'Barlow', sans-serif;
  font-size: 20pt;
  color: #076589;
  margin-bottom: 20px;
}

/* Footer links */
.footer-list {
  list-style: none;
  padding: 0;
}

.footer-list li {
  margin-bottom: 12px;
  font-size: 10pt;
}

.footer-list li a {
  color: #FCFCF9;
  text-decoration: none;
  transition: color 0.3s;
}

.footer-list li a:hover {
  color: #F7961D;
}

/* Contact section icons */
footer .footer-list i {
  color: #FCFCF9;
  min-width: 18px;
  text-align: center;
}

/* Footer Bar */
.footer-bar {
  border-top: 1px solid #ffffff26;
  padding-top: 20px;
  margin-top: 40px;
}

.footer-bar p {
  color: #FCFCF9;
  font-size: 10pt;
  margin: 0;
}

/* Remove excess vertical spacing between contact items */
footer .footer-list li {
  margin-bottom: 0;
  /* Reduced from 12px */
  line-height: 1.0;
}

/* Align icons and text closely */
footer .footer-list span {
  display: inline-block;
  vertical-align: middle;
}

/* Optional: Adjust icon spacing if needed */
footer .footer-list i {
  margin-right: 0;
  font-size: 14px;
}

/* =================== About Page =====================*/
.who-we-are {
  width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.hero-image-container {
  position: relative;
  width: 100%;
}

.hero-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Full-width bar on image */
.full-width-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #0764891f;
  /* consistent bar height */
  display: flex;
  align-items: center;
  justify-content: left;
}

.about-heading-wrapper {
  width: 100%;
  max-width: 1140px; /* Match Bootstrap's container max-width at xl */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;   /* 16px on small screens */
  padding-right: 1rem;
}

@media (min-width: 576px) {
  .about-heading-wrapper {
    padding-left: 1.5rem; /* 24px */
    padding-right: 1.5rem;
  }
}

@media (min-width: 768px) {
  .about-heading-wrapper {
    padding-left: 2rem; /* 32px */
    padding-right: 2rem;
  }
}

@media (min-width: 1200px) {
  .about-heading-wrapper {
    padding-left: 0;  /* On XL screens, match left edge exactly */
    padding-right: 0;
  }
}


.section-heading-vision-mission h3 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  color: #076589;
}

@media (min-width: 1024px) {

  .full-width-overlay {
    height: 100px;
    padding-left: 80px;
  }
}

.timeline-section {
  background-color: #f9f9f9;
}

.year-box {
  font-family: 'Barlow', sans-serif;
  font-weight: bold;
  font-size: 12pt;
  color: #076589;
}

.timeline-box {
  font-family: 'Open Sans', sans-serif;
  font-size: 10pt;
  color: #303030;
  min-height: 200px;
}

/* =============== Our Impact ================ */
.our-impact h3 {
  font-size: 13pt;
}

.our-impact p {
  font-size: 10pt;
}

@media (max-width: 767.98px) {
  footer img {
    max-height: 70px;
  }

  .left-border {
    width: 4px;
    height: 40px;
    background-color: #F26522;
    margin-right: 12px;
    margin-left: 12px;
  }
}

.timeline-box {
  transition: all 0.3s ease;
  transform: translateY(0);
  will-change: transform, box-shadow;
}

.timeline-box:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  z-index: 2;
}

/* =============== our partners slider ================ */
.image-wrapper {
    background: transparent;
    border-radius: 12px;
    padding: 16px;
    transition: all 0.3s ease;
    display: inline-block;
}

.image-wrapper img {
    max-height: 60px;
    transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); /* subtle shadow */
    border-radius: 8px;
    filter: grayscale(100%);
}

.image-wrapper:hover img {
    transform: scale(1.05);
    filter: grayscale(0%);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); /* enhanced shadow on hover */
}

