/*=====================================
GOOGLE FONTS & RESET
======================================*/

:root{

  --primary:#0d2f45;
  --secondary:#d9a441;
  --light:#ffffff;
  --text:#5b5b5b;
  --heading:#10243d;

  --shadow:0 12px 40px rgba(0,0,0,.08);

  --radius:25px;

}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{

  font-family:'Montserrat',sans-serif;
  color:var(--text);
  background:#fff;
  overflow-x:hidden;

}

a{
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}


/*=====================================
NAVBAR
======================================*/

.custom-navbar{

  background:var(--primary);
  padding:18px 0;
  transition:.35s;

}

.navbar-brand img{

  height:58px;

}

.navbar-nav{

  gap:12px;

}

.navbar-nav .nav-link{

  color:#fff;
  font-size:15px;
  font-weight:500;
  transition:.3s;

}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{

  color:var(--secondary);

}

.donate-btn{

  background:var(--secondary);
  color:#fff;
  padding:12px 28px;
  border-radius:50px;
  font-weight:600;
  transition:.3s;

}

.donate-btn:hover{

  background:#c6902d;
  color:#fff;
  transform:translateY(-2px);

}


/*=====================================
HERO SECTION
======================================*/

/* .hero-section{

  background:

    linear-gradient(
        rgba(13,47,69,.78),
        rgba(13,47,69,.78)
    ),

    url("../assets/images/banner.jpg");

  background-size:cover;

  background-position:center;

  background-repeat:no-repeat;
  height: 800px;
  min-height:100vh;

  display:flex;

  align-items:center;

  justify-content:center;
  position:relative;
  overflow:hidden;

} */

.hero-section{

    position:relative;

    height: 800px;
    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.hero-section::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    /* linear-gradient(
        rgba(13,47,69,.75),
        rgba(13,47,69,.75)
    ), */

    linear-gradient(
        rgba(0,0,0,.75),
        rgba(0,0,0,.75)
    ),

    url("../assets/images/banner.jpg");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    animation:heroZoom 18s ease-in-out infinite alternate;

    z-index:-2;

}

.hero-content{

    position:relative;

    z-index:2;

    text-align:center;

    max-width:850px;

    margin:auto;

}

@keyframes heroZoom{

    0%{

        transform:
        scale(1)
        translate3d(0,0,0);

    }

    100%{

        transform:
        scale(1.25)
        translate3d(-40px,-25px,0);

    }

}

.hero-content h1{

  color:#fff;
  font-family:'Playfair Display',serif;
  font-size:72px;
  line-height:1.15;
  font-weight:700;
  max-width:850px;
  margin:auto;
  margin-bottom:25px;
  text-align:center;

}

.hero-content h1 span{

  color:var(--secondary);
  font-style:italic;

}

.hero-content p{

  color:rgba(255,255,255,.85);
  font-size:17px;
  line-height:32px;
  max-width:500px;
  text-align: center;
  margin: auto;
  margin-bottom:32px;

}

.hero-buttons{

  max-width:850px;
  margin:auto;
  text-align:center;

}

.hero-buttons .btn{

  padding:15px 34px;
  margin-bottom: 20px;
  border-radius:50px;
  font-weight:600;

}

.hero-buttons .btn-warning{

  background:var(--secondary);
  border:none;
  color:#fff;

}

.hero-buttons .btn-warning:hover{

  background:#c6902d;
  color:#fff;

}

.hero-buttons .btn-outline-light{

  border:2px solid rgba(255,255,255,.8);

}

.hero-buttons .btn-outline-light:hover{

  color:var(--primary);

}



/*=====================================
        FEATURE SECTION
======================================*/

.feature-section{

    margin-top:-85px;
    position:relative;
    z-index:100;
    padding-bottom:90px;

}

.feature-card{

    background:#d9a441;
    color:#fff;

    padding:45px 35px;

    border-radius:28px;

    transition:.35s;

    height:100%;

    box-shadow:
    0 25px 55px rgba(0,0,0,.15);

}

.feature-card:hover{

    transform:translateY(-12px);

}

.feature-icon{

    width:75px;
    height:75px;

    background:rgba(255,255,255,.18);

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:25px;

}

.feature-icon i{

    font-size:32px;

}

.feature-card h3{

    font-family:'Playfair Display',serif;

    font-size:28px;

    margin-bottom:18px;

    font-weight:700;

}

.feature-card p{

    font-size:15px;

    line-height:29px;

    opacity:.95;

}


/*=====================================
        ABOUT SECTION
======================================*/

.about-section{

    padding:110px 0;

}

.section-subtitle{

    color:var(--secondary);

    font-weight:700;

    letter-spacing:2px;

    display:inline-block;

    margin-bottom:15px;

}

.section-title{

    font-family:'Playfair Display',serif;

    color:var(--heading);

    font-size:46px;

    font-weight:700;

    line-height:1.25;

    margin-bottom:25px;

}

.about-text{

    line-height:32px;

    margin-bottom:18px;

}



/* Vision & Mission */

.info-card{

    display:flex;

    gap:20px;

    align-items:flex-start;

    padding:28px;

    border-radius:22px;

    background:#fff;

    margin-top:25px;

    box-shadow:0 15px 45px rgba(0,0,0,.06);

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-8px);

}

.info-icon{

    width:70px;

    height:70px;

    background:var(--secondary);

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

}

.info-icon i{

    font-size:30px;

}

.info-card h4{

    color:var(--heading);

    font-weight:700;

    margin-bottom:10px;

    font-family:'Playfair Display',serif;

}

.info-card p{

    margin:0;

    line-height:28px;

}



/*=====================================
        PROGRAMS SECTION
======================================*/

.programs-section{

    padding:110px 0;
    background:#f8f9fb;

}

.section-description{

    max-width:650px;
    margin:auto;
    color:#777;
    line-height:30px;

}

.program-card{

    background:#fff;

    padding:40px 35px;

    border-radius:25px;

    transition:.35s;

    height:100%;

    position:relative;

    overflow:hidden;

    box-shadow:
    0 10px 40px rgba(0,0,0,.05);

}

.program-card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:6px;
    height:100%;

    background:var(--secondary);

    transform:scaleY(0);

    transition:.35s;

    transform-origin:top;

}

.program-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 20px 60px rgba(0,0,0,.12);

}

.program-card:hover::before{

    transform:scaleY(1);

}

.program-icon{

    width:75px;
    height:75px;

    border-radius:20px;

    background:#f6efe2;

    color:var(--secondary);

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:25px;

}

.program-icon i{

    font-size:34px;

}

.program-card h3{

    font-family:'Playfair Display',serif;

    color:var(--heading);

    margin-bottom:18px;

    font-size:28px;

}

.program-card p{

    line-height:30px;

    margin-bottom:25px;

}

.program-card a{

    color:var(--secondary);

    font-weight:600;

}

.program-card a i{

    transition:.3s;
    margin-left:5px;

}

.program-card:hover a i{

    margin-left:12px;

}



/*=====================================
        IMPACT SECTION
======================================*/

.impact-section{

    padding:120px 0;

}

.impact-text{

    line-height:32px;

    margin-bottom:35px;

}

.impact-btn{

    background:var(--secondary);

    color:#fff;

    border-radius:50px;

    padding:15px 38px;

    font-weight:600;

}

.impact-btn:hover{

    background:#c6902d;

    color:#fff;

}

.counter-box{

    background:#fff;

    border-radius:25px;

    padding:40px 20px;

    text-align:center;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    transition:.35s;

}

.counter-box:hover{

    transform:translateY(-8px);

}

.counter-box i{

    font-size:45px;

    color:var(--secondary);

    margin-bottom:20px;

    display:block;

}

.counter-box h2{

    color:var(--heading);

    font-size:48px;

    font-weight:700;

    margin-bottom:10px;

}

.counter-box span{

    color:#666;

    font-weight:500;

}


/*=====================================
        GALLERY SECTION
======================================*/

.gallery-section{

    padding:120px 0;

    background:#f8f9fb;

}

.gallery-item{

    overflow:hidden;

    border-radius:25px;

    position:relative;

    cursor:pointer;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.gallery-item img{

    width:100%;

    height:300px;

    object-fit:cover;

    transition:.5s;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

.gallery-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(13,47,69,.25);

    opacity:0;

    transition:.35s;

    z-index:2;

}

.gallery-item:hover::before{

    opacity:1;

}

.gallery-overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    transition:.35s;

    z-index:3;

}

.gallery-overlay i{

    width:70px;

    height:70px;

    border-radius:50%;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

}

.gallery-item:hover .gallery-overlay{

    opacity:1;

}


/*=====================================
            NEWS SECTION
======================================*/

.news-section{

    padding:120px 0;

}

.news-card{

    background:#fff;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 12px 40px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.news-card:hover{

    transform:translateY(-10px);

}

.news-image{

    position:relative;

    overflow:hidden;

}

.news-image img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.5s;

}

.news-card:hover img{

    transform:scale(1.08);

}

.news-category{

    position:absolute;

    left:20px;

    bottom:20px;

    background:var(--secondary);

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

}

.news-content{

    padding:30px;

}

.news-content small{

    color:#888;

    display:block;

    margin-bottom:15px;

}

.news-content h3{

    font-family:'Playfair Display',serif;

    color:var(--heading);

    font-size:27px;

    line-height:1.35;

    margin-bottom:15px;

}

.news-content p{

    line-height:30px;

    margin-bottom:25px;

}

.news-content a{

    color:var(--secondary);

    font-weight:600;

}

.news-content a i{

    transition:.3s;

}

.news-card:hover a i{

    margin-left:10px;

}


/*=====================================
        DONATION SECTION
======================================*/

.donation-section{

    padding-bottom:120px;

}

.donation-box{

    background:linear-gradient(rgba(13,47,69,.92),
    rgba(13,47,69,.92)),
    url('../assets/images/donate-bg.jpg');

    background-size:cover;

    background-position:center;

    color:#fff;

    padding:70px;

    border-radius:35px;

}

.donation-box h2{

    font-family:'Playfair Display',serif;

    font-size:48px;

    margin-bottom:18px;

}

.donation-box p{

    opacity:.9;

    line-height:32px;

}

.donate-banner-btn{

    background:var(--secondary);

    color:#fff;

    padding:16px 40px;

    border-radius:50px;

    font-weight:600;

}

.donate-banner-btn:hover{

    background:#c6902d;

    color:#fff;

}



/*=====================================
                FOOTER
======================================*/

.footer{

    background:var(--primary);

    color:#fff;

    padding-top:90px;

}

.footer-logo{

    height:70px;

    margin-bottom:25px;

}

.footer-text{

    line-height:30px;

    opacity:.85;

}

.footer h4{

    font-family:'Playfair Display',serif;

    margin-bottom:25px;

}

.footer ul{

    list-style:none;

    padding:0;

}

.footer li{

    margin-bottom:15px;

}

.footer a{

    color:#ddd;

    transition:.3s;

}

.footer a:hover{

    color:var(--secondary);

}

.social-links{

    display:flex;

    gap:15px;

    margin-top:30px;

}

.social-links a{

    width:45px;

    height:45px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    transition:.3s;

}

.social-links a:hover{

    background:var(--secondary);

    transform:translateY(-5px);

}

.newsletter-btn{

    width:100%;

    background:var(--secondary);

    color:#fff;

    padding:14px;

    border-radius:50px;

}

.newsletter-btn:hover{

    background:#c6902d;

    color:#fff;

}

.footer hr{

    margin:60px 0 25px;

    border-color:rgba(255,255,255,.15);

}

.copyright{

    text-align:center;

    padding-bottom:30px;

    opacity:.8;

}


/*=====================================
            SCROLL TOP
======================================*/

.scroll-top{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--secondary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    text-decoration:none;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

.scroll-top.show{

    opacity:1;

    visibility:visible;

}


/*=====================================
            PAGE BANNER
======================================*/

.page-banner{

    background:

    linear-gradient(rgba(0,0,0,.82),
    rgba(0,0,0,.82)),

    url('../assets/images/banner.jpg');

    background-size:cover;

    background-position:center;

    color:#fff;

    padding:170px 0 90px;

}

.page-banner h1{

    font-family:'Playfair Display',serif;

    font-size:60px;

    margin-bottom:15px;

}

.page-banner nav{

    font-size:17px;

}

.page-banner a{

    color:var(--secondary);

}


.about-story{

    padding:120px 0;

}

.about-story p{

    line-height:32px;

    margin-bottom:20px;

}


/*=====================================
        VISION & MISSION
======================================*/

.vision-section{

    padding:40px 0 120px;

}

.vision-card{

    background:#fff;

    padding:55px 45px;

    border-radius:30px;

    text-align:center;

    box-shadow:
    0 20px 60px rgba(0,0,0,.07);

    transition:.4s;

    height:100%;

}

.vision-card:hover{

    transform:translateY(-12px);

}

.vision-icon{

    width:95px;

    height:95px;

    margin:auto;

    margin-bottom:30px;

    border-radius:50%;

    background:rgba(217,164,65,.12);

    display:flex;

    justify-content:center;

    align-items:center;

}

.vision-icon i{

    font-size:42px;

    color:var(--secondary);

}

.vision-card h2{

    font-family:'Playfair Display',serif;

    color:var(--heading);

    margin-bottom:20px;

}

.vision-card p{

    line-height:32px;

    color:#666;

}



/*=====================================
            CORE VALUES
======================================*/

.values-section{

    padding:120px 0;

    background:#f8f9fb;

}

.value-card{

    position:relative;

    background:#fff;

    padding:45px 35px;

    border-radius:30px;

    text-align:center;

    overflow:hidden;

    height:100%;

    transition:.4s;

    box-shadow:
    0 12px 40px rgba(0,0,0,.06);

}

.value-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:6px;

    background:var(--secondary);

    transform:scaleX(0);

    transition:.4s;

    transform-origin:left;

}

.value-card:hover{

    transform:translateY(-12px);

    box-shadow:
    0 25px 60px rgba(0,0,0,.12);

}

.value-card:hover::before{

    transform:scaleX(1);

}

.value-number{

    position:absolute;

    right:25px;

    top:20px;

    font-size:46px;

    font-weight:700;

    color:#ececec;

}

.value-icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:30px;

    border-radius:25px;

    background:#f6efe2;

    display:flex;

    align-items:center;

    justify-content:center;

}

.value-icon i{

    font-size:40px;

    color:var(--secondary);

}

.value-card h3{

    font-family:'Playfair Display',serif;

    color:var(--heading);

    margin-bottom:18px;

}

.value-card p{

    line-height:30px;

    color:#666;

}



/*=====================================
            JOURNEY
======================================*/

.journey-section{

    padding:120px 0;

}

.timeline{

    position:relative;

    max-width:1100px;

    margin:auto;

}

.timeline::before{

    content:"";

    position:absolute;

    left:50%;

    top:0;

    width:4px;

    height:100%;

    background:#e6e6e6;

    transform:translateX(-50%);

}

.timeline-item{

    position:relative;

    width:50%;

    padding:20px 45px;

}

.timeline-item.left{

    left:0;

}

.timeline-item.right{

    left:50%;

}

.timeline-content{

    background:#fff;

    padding:35px;

    border-radius:25px;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    position:relative;

    transition:.35s;

}

.timeline-content:hover{

    transform:translateY(-8px);

}

.timeline-year{

    display:inline-block;

    background:var(--secondary);

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    margin-bottom:20px;

    font-weight:600;

}

.timeline-content h3{

    font-family:'Playfair Display',serif;

    color:var(--heading);

    margin-bottom:15px;

}

.timeline-content p{

    margin:0;

    line-height:30px;

}

.timeline-item::before{

    content:"";

    position:absolute;

    top:45px;

    width:22px;

    height:22px;

    background:var(--secondary);

    border:5px solid #fff;

    border-radius:50%;

    box-shadow:0 0 0 4px #f3f3f3;

    z-index:5;

}

.timeline-item.left::before{

    right:-11px;

}

.timeline-item.right::before{

    left:-11px;

}



/*=====================================
            TEAM SECTION
======================================*/

.team-section{

    padding:120px 0;

    background:#f8f9fb;

}

.team-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.team-card:hover{

    transform:translateY(-12px);

}

.team-image{

    overflow:hidden;

}

.team-image img{

    width:100%;

    height:320px;

    object-fit:cover;

    transition:.5s;

}

.team-card:hover img{

    transform:scale(1.08);

}

.team-info{

    padding:30px;

    text-align:center;

}

.team-info h4{

    font-family:'Playfair Display', serif;

    color:var(--heading);

    margin-bottom:8px;

}

.team-info span{

    color:var(--secondary);

    font-weight:600;

    display:block;

    margin-bottom:25px;

}

.team-social{

    display:flex;

    justify-content:center;

    gap:12px;

}

.team-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#f5f5f5;

    display:flex;

    justify-content:center;

    align-items:center;

    color:var(--heading);

    transition:.35s;

}

.team-social a:hover{

    background:var(--secondary);

    color:#fff;

}


/*=====================================
        VOLUNTEER CTA
======================================*/

.volunteer-section{

    padding-bottom:120px;

}

.volunteer-box{

    background:var(--primary);

    color:#fff;

    padding:80px 60px;

    border-radius:35px;

    text-align:center;

}

.volunteer-box h2{

    font-family:'Playfair Display', serif;

    font-size:48px;

    margin-bottom:20px;

}

.volunteer-box p{

    max-width:700px;

    margin:0 auto 35px;

    line-height:32px;

    opacity:.9;

}

.volunteer-btn{

    background:var(--secondary);

    color:#fff;

    padding:16px 42px;

    border-radius:50px;

    font-weight:600;

}

.volunteer-btn:hover{

    background:#c6902d;

    color:#fff;

}

/*=====================================
PROGRAM PAGE
======================================*/

.program-intro{

    padding:120px 0 60px;

}

.process-section{

    padding:120px 0;

}

.process-card{

    background:#fff;

    padding:40px;

    border-radius:30px;

    text-align:center;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.process-card:hover{

    transform:translateY(-10px);

}

.process-card span{

    font-size:60px;

    font-weight:700;

    color:#ececec;

    display:block;

    margin-bottom:20px;

}

.process-card h4{

    font-family:'Playfair Display', serif;

    color:var(--heading);

    margin-bottom:15px;

}

.process-card p{

    line-height:30px;

    color:#666;

}



/*=====================================
RESPONSIVE
======================================*/

@media(max-width:991px){

  .hero-section{

    text-align:center;
    padding-top:50px;

  }

  .hero-content{

    margin-bottom:50px;

  }

  .hero-content h1{

    font-size:46px;

  }

  .hero-content p{

    margin:auto;
    margin-bottom:35px;

  }

  .hero-buttons{

    justify-content:center;

  }

  .hero-image{

    max-width:100%;

  }

  .hero-image img{

    height:auto;

  }

  .navbar-nav{

    padding:20px 0;

  }

  .donate-btn{

    display:inline-block;
    margin-top:15px;

  }

}

@media(max-width:576px){

  .hero-content h1{

    font-size:38px;

  }

  .hero-buttons .btn{

    width:100%;

  }

}


@media(max-width:991px){

.timeline::before{

    left:20px;

}

.timeline-item{

    width:100%;

    left:0 !important;

    padding-left:65px;

    padding-right:0;

    margin-bottom:35px;

}

.timeline-item::before{

    left:10px;

}

}
