@import url('https://fonts.googleapis.com/css2?family=Courgette&family=Jost:ital,wght@0,100..900;1,100..900&family=Merienda:wght@300..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oleo+Script:wght@400;700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Protest+Revolution&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;600;700&display=swap');

@font-face {
  font-family: 'ConfigCondensedRegular'; /* A name you choose */
  src: url('../font/ConfigCondensedRegular.otf') format('opentype'); /* Path to your file */
  font-weight: normal;
  font-style: normal;
}

/* Use Josefin Sans site-wide */
html, body {
  /*font-family: 'Josefin Sans', 'Poppins', 'Open Sans', Arial, sans-serif !important;*/
  font-family: Poppins;
}

/* Ensure headings use Josefin Sans with Playfair fallback where intended */
h1, h2, h3, h4, h5, h6, .heading2, .heading2_2, .heading5 {
  /*font-family: 'Josefin Sans', 'Playfair Display', serif !important;*/
  /*font-family: "Signika", sans-serif !important;*/
  font-family: 'ConfigCondensedRegular', Poppins;
}

/* Ensure headings use Josefin Sans with Playfair fallback where intended */
.h1, .h2, .h3, .h4, .h5, .h6{
  font-family: 'ConfigCondensedRegular', Poppins;
}

.CCRF{
    font-family: 'ConfigCondensedRegular', Poppins !important;;
}

.dropdown:hover > .dropdown .dropdown-menu{
  display: block !important;
}
.dropdown-submenu:hover > .dropdown-menu{
  display: block !important;
    left: 100%;    
}

.dropdown-item{
  font-size: small; /* 13px */
}
.dropdown-toggle::after{
  font-size: var(--font-md);
  margin-bottom: -2px;
}
.dropdown-menu li a.active{
  color:#fff;
}

.custom-toggle-arrow{
      font-size: 18px;
      margin-top: 1px;
      line-height: 12px;
}

.dropdown-menus {
    display: none !important;
    padding: 9px !important;
    margin-top: 0 !important;
    font-size: 12px !important;
    border-radius: 0px 20px 20px 0px !important;
    background-color:grey !important;
    color: #fff;
    width: auto !important;
}

.dropdown-menus ul {
    width: auto !important;
}

.dropdown-menus li {
    width: auto !important;
    margin: 4px !important;
}

.dropdown-menus a {
    color: #fff !important;
    padding: 6px;
    margin: 3px;
}

.PatnaUniversity {
margin-top: -90px !important;
}

.exhibition {
    position: relative !important;
    margin-top: 0px !important;
}

/* for timer */
.countdown
{
  background-color: #19409A;
}
.timer .time {
  background-color: #a1d8f8;
  color: #023d6a;
  margin: 22px;
    margin-top: 22px;
  padding: 12px;
  border-radius: 10px;
  margin-top: 8px;
  text-align: center !important;
  width: 80px !important;
}

.timer .text p {
  color:#a1d8f8 !important;
  text-align: center !important;
}

/* timer end */

.mobileOnly {
  display: none;
}

.headerVideo {
      height: 100vh !important;
      object-fit: fill !important;
    }

.headerImg {
      height: 50vh !important;
      object-fit: fill !important;
    }

.navbar{
  /*background-color: #000e3457;*/
  /*box-shadow: 0px 9px 15px 0px #00000045;*/
}
.sticky-top.navbar-light a{
  color: #fff !important;
}
.sticky-top.navbar-light .dropdown-menu a{
  color: #000 !important;
}
.sticky-top.navbar-light .dropdown-menu a:hover{
  color: #fff !important;
}

.navbar-light .navbar-nav .nav-link, .sticky-top.navbar-light .navbar-nav .nav-link{
  color: #fff;
}

.copyright{
  /*background-color: #000;*/
}
        
/* ========================================================== Mobile ========================================================
=========================================================== Responsive ======================================================= */
@media screen and (max-width:992px) {
    .dropdown-menus {
    position: relative !important;
    left: 0% !important;
    }

    .headerVideo {
      height: 100vh !important;
      object-fit: fill !important;
    }

    .navbar {
      /*background-color:transparent;*/
      position: absolute !important;
      top: 1px;
      z-index: 9990;
      width: 100%;
      /* background: #0c0c0c1c; */
    }

  .navbar.navbar-expand-lg .navbar-toggler {
    padding: 10px 20px;
    border: none !important;
    color: #fff;
  }

    .carousel-caption-1 { 
      display: flex !important;
      text-align: left;
    }

    .navbar-brand {
      display: none !important;
    }
    .navbar-brand2 {
      margin-bottom: 20px !important;
      position: absolute !important;
      right:10px !important;
      top:20px !important;
      z-index: 9999;
    }

    .navbar button {
      background-color:transparent;
    }

    .navbar-light .navbar-brand img, .navbar-brand2 img {
    height: 30px !important;
}

    /*.sticky-top.navbar-light, .toggleBg {*/
    /*  background-color: #001442 !important;*/
    /*}*/
    
    /*.sticky-top.navbar-light, .toggleBgImg {*/
    /*  background-image: url(../img/blue-square-world-map-free-png.webp);*/
    /*  background-position: bottom;*/
    /*  background-repeat: no-repeat;*/
    /*  background-size: 100%;*/
    /*  animation: fadeInBg 5s ease forwards;*/
    /*}*/
    /* Fade animation */
    /*@keyframes fadeInBg {*/
    /*  from { opacity: 0; }*/
    /*  to { opacity: 1; }*/
    /*}*/
    
    
    /* immediate background color when menu toggled */
    .sticky-top.navbar-light, .toggleBg {
      background-color: #001442 !important;
    }
    
    /* when image class applied, a pseudo-element will hold the bg-image
       so only that pseudo-element fades in (opacity) while the navbar content stays opaque */
    .sticky-top.navbar-light, .toggleBgImg::after {
      content: "";
      position: absolute;
      inset: 0; /* top:0; right:0; bottom:0; left:0 */
      pointer-events: none; /* so clicks still go through */
      background-image: url('../img/blue-square-world-map-free-png.webp');
      background-position: bottom;
      background-repeat: no-repeat;
      background-size: 100%;
      opacity: 0;
      animation: fadeInBg 2s ease forwards;
      z-index: -1; /* behind navbar content; navbar must be position:relative and have z-index > ::after */
    }
    
    /* fade animation just for the pseudo-element */
    @keyframes fadeInBg {
      from { opacity: 0; }
      to   { opacity: 1; }
    }
    
    
    .toggleBg {
      height: 100vh;
    }

    .dropdown-toggle {
      color: #fff !important;
    }

    .mobileOnly {
      display: block !important;
    }

    .header_content {
      background-color: rgb(38, 37, 37);
      margin-top: -10px !important;
      padding: 40px !important;
      text-align: center !important;
    }

    .carousel .carousel-inner .carousel-item {
      height: auto !important;
      margin-top: 0 !important;
    }

    .carousel-caption-1-content-btn .btn {
      margin-top: 20px !important;
    }

    .bannerBottom {
      position: absolute;
      width: 90% !important;
      bottom: 0px;
      color:#fff;
      text-shadow: 0px 0px 1px #000;
      margin-left: 15px !important;
      justify-content: center;
    }

  .bannerBottom .h1 {
    /*font-family: "Josefin Sans", sans-serif !important;*/
    /*font-family: "Signika", sans-serif !important;*/
    color: #fff !important;
    font-weight: bold;
    font-size: 42px;
  }

    .bannerBottom p {
      font-size: 13px;
      color:#fff;
      /*font-weight: bold;*/
      /*font-style: oblique !important;*/
      /*margin-left: 38px !important;*/
    }

    .menuToggle {
      position: absolute;
      top: 120px;
      z-index: 9999;
    }

    .about-img {
      margin-bottom: 50px !important;
      clear: both !important;
    }

    .about-img img, .about-item {
      margin-top: 120px !important;
    }

    .address_venue {
      margin-bottom: 20px !important;
    }

    .venueMain {
      padding: 5px !important;
    }

    .aboutVenueData {
      padding-top: 25px !important;
      padding: 12px !important;
    }

    .img_faqs {
      margin-bottom: 20px !important;
    }

    .img_faqs img {
      border-radius: 10px !important;
    }

    .footer_common_image, .header_common_image {
      height: 100px !important;
    }
}

/* ========================================================== Mobile ========================================================
=========================================================== Responsive ======================================================= 
============================================================== End =========================================================== */

.footer_common_image, .header_common_image
{
    margin:0px;padding:0px;width:100%;height:420px;
    background-repeat: no-repeat;
    background-size: 100% 100%;

          display: flex;
          justify-content: center; /* Centers horizontally */
          align-items: center;    /* Centers vertically */
          border: 1px solid black;
}

/* Slider card styles (used by #slider2) */
.card-slider{ position: relative; border-radius: 14px; overflow: hidden; }
.card-slider img{ display:block; width:100%; height:500px; object-fit:cover; }
.card-slider .slide-card{
  position: absolute;
  left: 3%;
  bottom: 12%;
  width: 48%;
  background: #ffffff6b; /* green similar to screenshot */
  color: #fff;
  padding: 36px 40px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}
.card-slider .slide-card h3{ font-size: 2rem; margin-bottom: 12px; }
.card-slider .slide-card p{ font-size: 1rem; line-height: 1.6; opacity: 0.95; }

/* Ensure controls are visible and positioned similar to screenshot */
#slider2 .carousel-control-prev-icon,
#slider2 .carousel-control-next-icon{ background-color: rgba(1,33,71,0.08); border-radius:50%; width:48px; height:48px; }

/* Responsive: stack card on small screens */
@media (max-width: 767.98px){
  .card-slider img{ height: 330px; }
  .card-slider .slide-card{
    left: 5%;
    bottom: 6%;
    width: 90%;
    padding: 20px;
    background: #001442;
  }
  .card-slider .slide-card h3{ font-size: 1.4rem; }
  .card-slider .slide-card p{ font-size: 0.95rem; }
}


   .carousel-header{ position: relative; overflow: hidden; }
  .carousel-header::before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100%; /* overlay covers top 40% of banner */
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgb(0 0 0 / 21%) 60%, rgb(0 0 0 / 42%) 100%);
    pointer-events: none;
    z-index: 2;
  }
  /* Make sure caption sits above the overlay */
  .carousel-header .carousel-caption-1{ position: relative; z-index: 3; }

  /* Stronger overlay on small screens for better contrast */
  @media (max-width: 767.98px){
    .carousel-header::before{ height: 100%; background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.2) 70%, rgba(0,0,0,0) 100%); }
  }

