html, body {
    overflow-x: hidden;
}

/* TOP STRIP */
.top-strip {
    background-color: #121c50;
    padding: 14px 0;
    overflow: hidden;
}

/* Marquee container */
.marquee-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* Marquee text */
.marquee-text {
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.6px;
    white-space: nowrap;
    display: inline-block;
    padding-left: 100%;
    animation: marqueeMove 12s linear infinite;
}

/* Animation */
@keyframes marqueeMove {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* Mobile tweak */
@media (max-width: 767px) {
    .marquee-text {
        font-size: 16px;
    }
}


/* MAIN HEADER */
.main-header {
    background: #ffffff;
    border-bottom: 1px solid #eee;
}

/* LOGO */
.logo-wrap {
    display: inline-block;
    margin-left: 20px;   /* left se start */
}

.header-logo {
    max-height: 110px;    /* width/size better */
    width: 220px;
    
}

/* MENU */
.main-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
}

/* menu links */
.main-menu a {
    color: #0f1f4a;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    padding: 10px 16px;
    border-radius: 10px;      /* pill look */
    transition: all 0.25s ease;
    font-family:"Poppins", Sans-serif;
}

/* ACTIVE = BLUE BG */
.main-menu a.active {
    background: #0f1f4a;
    color: #ffffff;
}

/* HOVER = RED BG */
.main-menu a:hover {
    background: #d71920;
    color: #ffffff;
}

/* BUTTONS STACK */
.header-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
    padding-right: 20px;
}

.header-buttons .btn {
    width: 140px;
    text-align: center;
    font-weight: 500;
    padding: 9px 0;
    border-radius: 10px;
    transition: all 0.25s ease;
    font-size:15px;
    font-family: 'Montserrat', sans-serif;
}

/* DONATE */
.donate-btn {
    background: #1aa31a;   /* green */
    color: #ffffff;
    
    
}

.donate-btn:hover {
    background: #0f1f4a;   /* blue on hover */
    color: #ffffff;
}

/* VOLUNTEER */
.volunteer-btn {
    background: #0f1f4a;   /* blue */
    color: #ffffff;
}

.volunteer-btn:hover {
    background: #d71920;   /* red on hover */
    color: #ffffff;
}



/* MOBILE HEADER */
.mobile-header {
    width: 100%;
}

.mobile-logo {
    margin: auto;
}

/* Hamburger */
.mobile-menu-btn {
    font-size: 26px;
    cursor: pointer;
    color: #0f1f4a;
}

/* MOBILE NAV SLIDE */
.mobile-nav {
    position: fixed;
    top: 0;
    left: -100%;
    width: 80%;
    height: 100vh;
    background: #ffffff;
    z-index: 9999;
    padding: 20px;
    transition: 0.3s ease;
    box-shadow: 4px 0 20px rgba(0,0,0,0.2);
}

.mobile-nav.active {
    left: 0;
}

/* Header */
.mobile-nav-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 800;
    font-size: 18px;
    color: #0f1f4a;
    margin-bottom: 25px;
}

.mobile-nav-header button {
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
}

/* Links */
.mobile-nav-links a {
    display: block;
    padding: 12px 0;
    font-size: 18px;
    font-weight: 700;
    color: #0f1f4a;
    text-decoration: none;
    border-bottom: 1px solid #eee;
}

.mobile-nav-links a:hover {
    color: #d71920;
}

/* Buttons */
.mobile-nav-buttons {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mobile-nav-buttons .btn {
    width: 100%;
    text-align: center;
}

/* ===== FORCE HIDE DESKTOP ELEMENTS ON MOBILE ===== */
@media (max-width: 991px) {

    /* menu + buttons HARD HIDE */
    .main-menu,
    .header-buttons,
    .header-buttons *,
    .col-lg-3.col-md-8.col-6 {
        display: none !important;
    }

    /* logo column full width */
    .header-logo-col {
        width: 100% !important;
        max-width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        padding: 12px 50px;
    }

    /* remove desktop margin */
    .logo-wrap {
        margin-left: 0 !important;
    }

    /* logo center */
    .header-logo {
        max-height: 75px;
        width: 200px;
        display: block;
        margin: 0 auto;
    }

    /* hamburger right */
    .mobile-menu-btn {
        /*position: absolute;*/
        /*right: 15px;*/
        /*top: 50%;*/
        /*transform: translateY(-50%);*/
        /*font-size: 26px;*/
        /*cursor: pointer;*/
        /*color: #0f1f4a;*/
        /*display: block;*/
    }
}




/* BANNER SECTION */
.banner-section {
    /*margin-top: 20px;*/
}

.banner-wrap {
    overflow: hidden;
}

.banner-img {
    width: 100%;
    height: auto;
    display: block;
}

.banner-section .container-fluid {
    padding-left: 0;
    padding-right: 0;
}

/* VIDEO SECTION */
.video-section {
    margin-top: 20px;
}

.video-wrap {
    margin: 0 20px;
    border-radius: 18px;
    overflow: hidden;
    max-width: 100%;
}

.section-video {
    width: 100%;
    height: auto;   /* height auto */
    display: block;
}


/* INFO SECTION – FULL WIDTH BACKGROUND */
.info-section {
    /*margin-top: 20px;*/
}

.info-inner {
    width: 100%;
    padding: 80px 0;
    /*border-radius: 18px;*/
    /*background-image: url('../assets/images.jpg');*/
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

/* section overlay */
.info-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #f6f7fb;
    z-index: 0;
}

.info-inner .row {
    position: relative;
    z-index: 1;
}

/* INFO BOX */
.info-box {
    height: 100%;
    padding: 35px 30px;
    border-radius: 16px;
    background-size: cover;
    background-position: center;
    position: relative;
    color: #fff;
    text-align: center;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    border: 2px solid white;
}

/* box overlay */
.info-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(80, 90, 140, 0.65);
    /*backdrop-filter: blur(6px);*/
    z-index: 0;
}

.info-box * {
    position: relative;
    z-index: 1;
}

/* hover – box upar uthna */
.info-box:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.35);
}

.info-box h3 {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 20px;
}

.info-box p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 30px;
    font-family: 'Roboto', sans-serif;
}

/* BUTTON */
.info-btn {
    display: inline-block;
    background: #13235b;
    color: #fff;
    padding: 10px 15px;
    border-radius: 6px;
    font-weight: 500;
    text-decoration: none;
    transition: transform 0.25s ease;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
}

/* button bounce (no color change) */
.info-btn:hover {
    transform: translateY(-4px);
    color: #fff;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .info-inner {
        padding: 60px 0;
    }

    .info-box h3 {
        font-size: 22px;
    }
}

@media (max-width: 768px){

  .info-inner .row{
    flex-direction: column;
    align-items: stretch;
  }

  .info-inner .col-lg-3,
  .info-inner .col-md-6{
    width: 100% !important;   /* inline 30% ko override */
  }

  .info-box{
    width: 100%;
    margin-bottom: 20px;
  }

}



/* FOOTER MAIN */

.site-footer{
  /*margin-top:80px;*/
}

/* BACKGROUND */
.footer-inner{
  position:relative;
  background:url('../assets/politicalwp_crowd.webp') center/cover no-repeat;
  /*padding:90px 0;*/
}

.footer-inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgb(8 25 60 / 21%);
}

.footer-inner .row{
  position:relative;
  z-index:2;
}

/* LOGO */
.footer-logo{
  max-width:240px;
  margin-bottom:20px;
}

.footer-text{
  color:#fff;
  font-size:15px;
  line-height:1.6;
  font-family: 'Roboto', sans-serif;
}

/* TITLES */
.footer-title{
  color:#fff;
  font-size:18px;
  font-weight:700;
  margin-bottom:20px;
}

/* LINKS */
.footer-links{
  list-style:none;
  padding:0;
}

.footer-links li{
  margin-bottom:8px;
}

.footer-links a{
  color:#fff;
  text-decoration:none;
  font-size:14px;
}

.footer-links a:hover{
  text-decoration:underline;
}

/* MAP */
.footer-map{
  width:100%;
  max-width:240px;
  margin-top:10px;
}

/* CONTACT */
.footer-mail{
  color:#fff;
  margin-bottom:20px;
  font-size:15px;
  font-family: 'Roboto', sans-serif;
}

.site-footer .footer-links a{
  font-size:15px;
  font-family: 'Roboto', sans-serif;
}

/* SOCIAL ICONS */
.footer-socials{
  display:flex;
  gap:12px;
}

.footer-socials a{
  width:42px;
  height:42px;
  background:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.footer-socials img{
  width:20px;
}

.social-btn{
  width:42px;
  height:42px;
  background:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.25s ease;
}

.social-btn svg{
  width:20px;
  height:20px;
}

.social-btn:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 18px rgba(0,0,0,.25);
}
/* RED BAR */
.footer-bottom{
  background:#d60000;
  color:#fff;
  text-align:center;
  padding:14px 10px;
  font-size:15px;
  font-family: 'Roboto', sans-serif;
}

/* RESPONSIVE */

@media(max-width:991px){
  .footer-inner{
    padding:70px 20px;
  }

  .footer-map{
    max-width:200px;
  }
}

@media (max-width: 768px){

  .site-footer .container-fluid{
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .footer-inner{
    padding-left: 0;
    padding-right: 0;
  }

}

/* PARTNER SECTION */
.partner-section {
    
    background: url(../assets/Blue-and-Red-USA-Memorial-Day-Background-Facebook-Post.webp) center / cover no-repeat;
}

.partner-inner {
    margin: 0 20px;          /* same global spacing */
    padding: 60px 0;
}

/* CAROUSEL */
.partner-carousel {
   margin: 0 50px;       /* 50px left-right gap inside image */
}

.partner-carousel img {
    border-radius: 8px;
}

/* CONTENT */
.partner-content {
    max-width: 520px;
}

.partner-subtitle {
    font-size: 15px;
    font-weight: 600;
    color: #0f1f4a;
    display: block;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.partner-subtitle span {
    color: #d71920;
}

.partner-content h2 {
    font-size: 27px;
    font-weight: 700;
    color: #0f1f4a;
    margin-bottom: 18px;
}

.partner-content h2 span {
    color: #d71920;
}

.partner-content p {
    font-size: 15px;
    line-height: 1.7;
    color: #0f1f4a;
    margin-bottom: 25px;
    font-family: 'Roboto', sans-serif;
}

/* BUTTON */
.partner-btn {
    display: inline-block;
    background: #1aa31a;
    color: #ffffff;
    padding: 12px 32px;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
}

.partner-btn:hover {
    color: #ffffff;
    opacity: 0.9;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .partner-carousel {
        padding: 0;
        margin-bottom: 30px;
    }

    .partner-content h2 {
        font-size: 28px;
    }
}

.partner-carousel {
    margin: 0 50px;
    height: 450px;            /* fixed height */
}

.partner-carousel .carousel-item {
    height: 450px;            /* same height */
}

.partner-carousel img {
    width: 100%;
    height: 100%;
    object-fit: cover;        /* sab images same size me dikhen */
    border-radius: 8px;
}

/* QUOTE GIF BANNER */
.quote-video-section {
    position: relative;
    width: 100%;
    height: 260px;          /* same short height */
    overflow: hidden;
}

/* GIF BACKGROUND */
.quote-gif-bg {
    position: absolute;
    inset: 0;
    background-image: url('../assets/Untitled-design-1.gif');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* overlay */
.quote-overlay {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    padding: 0 40px;
}

/* content */
.quote-content {
    max-width: 1100px;
    color: #ffffff;
}

.quote-text{
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.6;
  text-shadow: 0px 0px 10px rgba(0,0,0,0.08);
}

.quote-author {
    font-size: 25px;
    font-family: 'Dancing Script', cursive;
    font-weight: 400;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .quote-video-section {
        height: 220px;
    }

    .quote-text {
        font-size: 16px;
    }

    .quote-author {
        font-size: 15px;
    }
}

/* JOURNEY SECTION */
.journey-section {
    margin-top: 40px;
}

.journey-inner {
    margin: 0 120px;     /* same site spacing */
}

/* JOURNEY IMAGE HEIGHT INCREASE */
.journey-image {
    height: 520px;          /* yahan height badha sakta hai */
}

.journey-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;     /* image stretch nahi hogi */
    border-radius: 16px;
    display: block;
}


/* CONTENT */
.journey-content h2 {
    font-size: 60px;
    font-weight: 800;
    color: #0f1f4a;
    margin-bottom: 25px;
}

.journey-content h2 span {
    color: #d71920;
}

.journey-content p {
    font-size: 17px;
    line-height: 1.7;
    color: #0f1f4a;
    margin-bottom: 18px;
}

.journey-subtitle {
    font-weight: 700;
    margin-top: 20px;
}

/* LIST */
.journey-list {
    list-style: none;
    padding-left: 0;
    margin-top: 15px;
}

.journey-list li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 10px;
    font-size: 16px;
    color: #0f1f4a;
}

.journey-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 7px;
    height: 7px;
    background: #d71920;
}

/* RESPONSIVE */
@media (max-width: 991px) {

    /* container margin fix */
    .journey-inner {
        margin: 0 16px;   /* mobile friendly spacing */
    }

    /* image full width & normal height */
    .journey-image {
        height: auto;
        margin-bottom: 25px;
    }

    .journey-image img {
        height: auto;
        max-height: 360px;   /* controlled height */
        object-fit: cover;
    }

    /* heading resize */
    .journey-content h2 {
        font-size: 32px;
        line-height: 1.2;
        margin-bottom: 18px;
        text-align: center;
    }

    /* paragraph spacing */
    .journey-content p {
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 14px;
        text-align: left;
    }

    /* subtitle */
    .journey-subtitle {
        font-size: 16px;
        margin-top: 18px;
    }

    /* list spacing */
    .journey-list li {
        font-size: 15px;
        margin-bottom: 8px;
    }
}

.priority-v2{
  padding:50px 0 90px;
  background:linear-gradient(180deg,#f9f9fb 0%,#ffffff 100%);
}

.priority-v2-heading{
  text-align:center;
  margin-bottom:70px;
}

.priority-v2-heading h2{
  font-size:27px;
  font-weight:700;
  color:#0f1f4a;
  line-height:1.3;
}

.priority-v2-heading h2 span{
  color:#d71920;
}

.priority-v2-list{
  margin:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:45px;
}

.priority-item{
  display:flex;
  align-items:stretch;
  min-height:250px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
  background:#fff;
}

.priority-item.reverse{
  flex-direction:row-reverse;
}

.priority-image{
  width:30%;
  background-size:cover;
  background-position:center;
}

.priority-box{
  width:70%;
  padding:55px 45px;
  background:url(../assets/Blue-and-Red-USA-Memorial-Day-Background-Facebook-Post.webp) center / cover no-repeat;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* MOBILE */
@media(max-width:768px){
  .priority-item,
  .priority-item.reverse{
    flex-direction:column;
  }

  .priority-image{
    width:100%;
    height:210px;
  }

  .priority-box{
    width:100%;
    padding:40px 25px;
  }
}

/* COMING SOON SECTION */
.coming-soon-section {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coming-soon-inner {
    text-align: center;
    padding: 60px 20px;
}

/* HEADING */
.coming-soon-inner h1 {
    font-size: 64px;
    font-weight: 900;
    color: #0f1f4a;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.coming-soon-inner h1 span {
    color: #d71920;
}

/* TEXT */
.coming-soon-inner p {
    font-size: 15px;
    color: #0f1f4a;
    max-width: 600px;
    margin: 0 auto 30px;
    line-height: 1.7;
    font-family: 'Roboto', sans-serif;
}

/* LINE */
.coming-line {
    width: 80px;
    height: 3px;
    background: #d71920;
    margin: 0 auto 25px;
}

/* TAGLINE */
.coming-tag {
    font-size: 16px;
    font-weight: 700;
    color: #0f1f4a;
    letter-spacing: 1px;
}

/* SUBTLE ANIMATION */
.coming-soon-inner {
    animation: fadeUp 1s ease forwards;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .coming-soon-inner h1 {
        font-size: 42px;
    }

    .coming-soon-inner p {
        font-size: 16px;
    }
}

/* VOLUNTEER SECTION */
.volunteer-section {
    margin-top: 40px;
}

.volunteer-inner {
    margin: 0 50px;
}

/* TITLE */
.volunteer-title {
    text-align: center;
    font-size: 27px;
    font-weight: 700;
    color: #0f1f4a;
    margin-bottom: 40px;
}

.volunteer-title span {
    color: #d71920;
}

/* FORM BOX */
.volunteer-form-box {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.volunteer-form-box label {
    font-size: 15px;
    /*font-weight: 400;*/
    color: #0f1f4a;
    margin-bottom: 6px;
    font-family: 'Roboto', sans-serif;
}


.volunteer-form-box .form-control {
    border-radius: 4px;
}

/* INTEREST */
.interest-options {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 14px;
}

/* SUBMIT */
.form-submit-btn {
    background: #13235b;
    color: #fff;
    padding: 10px 28px;
    border: none;
    border-radius: 6px;
    font-weight: 500;
}

/* RIGHT */
.volunteer-right {
    text-align: center;
}

.volunteer-image {
    height: 520px;              /* yahan height control kar */
    display: flex;
    justify-content: center;
    align-items: center;
}

.volunteer-image img {
    width: 100%;
    height: 100%;
    max-width: 500px;           /* image thodi badi */
    object-fit: cover;          /* stretch nahi hogi */
   
}

/* BUTTONS */
.contact-bob-btn {
    display: block;
    background: #e10600;
    color: #fff;
    padding: 14px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
    margin-bottom: 15px;
    margin-top:15px;
}

.donate-big-btn {
    display: block;
    background: #1aa31a;
    color: #fff;
    padding: 14px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 6px;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .volunteer-inner {
        margin: 0 20px;
    }

    .volunteer-title {
        font-size: 32px;
    }

    .volunteer-right {
        margin-top: 30px;
    }
}


@media (max-width: 768px) {
    .volunteer-image {
        height: 380px;
    }
}

/* EVENTS SECTION */
.events-section {
    padding: 80px 0;
    background: #ffffff;
}

/* Heading */
.events-heading h2 {
    font-weight: 800;
    color: #0f1f4a;
}

.events-heading h2 span {
    color: #d71920;
}

.heading-line {
    width: 70px;
    height: 4px;
    background: #d71920;
    margin: 10px auto;
}

.events-heading p {
        color: #0f1f4a;
    line-height: 1.7;
    font-size: 15px;
    font-family: 'Roboto', sans-serif;
}

/* Event Card */
.event-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    margin-bottom: 30px;
}

/* Date Box */
.event-date {
    background: linear-gradient(180deg, #1b2cb8 0%, #040c5c 100%);
    color: #ffffff;
    padding: 20px;
}

.event-date .month {
    font-size: 14px;
    letter-spacing: 1px;
    display: block;
}

.event-date .day {
    font-size: 32px;
    font-weight: 800;
}

/* Content */
.event-content {
    padding: 25px;
}

.event-content h4 {
    font-weight: 700;
    margin-bottom: 10px;
    color: #000;
}

.event-time,
.event-location {
    color: #d71920;
    font-weight: 600;
    margin-bottom: 6px;
}

.event-content p {
    color: #555;
}

/* View More Button */
.view-more-btn {
    display: inline-block;
    background: #0f1f4a;
    color: #ffffff;
    padding: 12px 34px;
    font-weight: 700;
    border-radius: 10px;
    text-decoration: none;
    transition: 0.3s ease;
}

.view-more-btn:hover {
    background: #d71920;
    color: #ffffff;
}

