/* ==========================================================================
 *  Project       : Shri Guru Ram Rai Institute of Medical & Health Sciences
 *  Author        : Web Design & Development Team, SMIH
 *  Website       : https://sgrrmc.com
 *  File          : main.css
 *  Description   : Core stylesheet for SGRRIM&HS website
 *  Created On    : July 26, 2025
 *  Last Updated  : -
 *  Version       : 1.0.0
 * ==========================================================================
 */
  /*
  INDEX
  1. HEADER
  2. MAIN MENU
  3. BANNER SECTION
  4. ABOUT SECTION
  5. SGRRMC COURSES
  7. SGRRMC USP
  8. SGRRMC CAMPUS VIDEO
  9. SGRRMC FOOTER 
  */

  body {
      font-family: 'Metropolis', sans-serif;
  }

  a {
      text-decoration: none
  }

  .mt--0 {
      margin-top: 0px !important;
  }

  .mb--0 {
      margin-bottom: 0px !important;
  }

  .ml--0 {
      margin-left: 0px !important;
  }

  .mr--0 {
      margin-right: 0px !important;
  }

  .pt--0 {
      padding-top: 0px !important;
  }

  .pb--0 {
      padding-bottom: 0px !important;
  }

  .pl--0 {
      padding-left: 0px !important;
  }

  .pr--0 {
      padding-right: 0px !important;
  }

  .mt--5 {
      margin-top: 5px !important;
  }

  .mb--5 {
      margin-bottom: 5px !important;
  }

  .ml--5 {
      margin-left: 5px !important;
  }

  .mr--5 {
      margin-right: 5px !important;
  }

  .pt--5 {
      padding-top: 5px !important;
  }

  .pb--5 {
      padding-bottom: 5px !important;
  }

  .pl--5 {
      padding-left: 5px !important;
  }

  .pr--5 {
      padding-right: 5px !important;
  }

  .mt--10 {
      margin-top: 10px !important;
  }

  .mb--10 {
      margin-bottom: 10px !important;
  }

  .ml--10 {
      margin-left: 10px !important;
  }

  .mr--10 {
      margin-right: 10px !important;
  }

  .pt--10 {
      padding-top: 10px !important;
  }

  .pb--10 {
      padding-bottom: 10px !important;
  }

  .pl--10 {
      padding-left: 10px !important;
  }

  .pr--10 {
      padding-right: 10px !important;
  }

  .mt--15 {
      margin-top: 15px !important;
  }

  .mb--15 {
      margin-bottom: 15px !important;
  }

  .ml--15 {
      margin-left: 15px !important;
  }

  .mr--15 {
      margin-right: 15px !important;
  }

  .pt--15 {
      padding-top: 15px !important;
  }

  .pb--15 {
      padding-bottom: 15px !important;
  }

  .pl--15 {
      padding-left: 15px !important;
  }

  .pr--15 {
      padding-right: 15px !important;
  }

  .mt--20 {
      margin-top: 20px !important;
  }

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

  .ml--20 {
      margin-left: 20px !important;
  }

  .mr--20 {
      margin-right: 20px !important;
  }

  .pt--20 {
      padding-top: 20px !important;
  }

  .pb--20 {
      padding-bottom: 20px !important;
  }

  .pl--20 {
      padding-left: 20px !important;
  }

  .pr--20 {
      padding-right: 20px !important;
  }

  .mt--25 {
      margin-top: 25px !important;
  }

  .mb--25 {
      margin-bottom: 25px !important;
  }

  .ml--25 {
      margin-left: 25px !important;
  }

  .mr--25 {
      margin-right: 25px !important;
  }

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

  .pb--25 {
      padding-bottom: 25px !important;
  }

  .pl--25 {
      padding-left: 25px !important;
  }

  .pr--25 {
      padding-right: 25px !important;
  }

  .mt--30 {
      margin-top: 30px !important;
  }

  .mb--30 {
      margin-bottom: 30px !important;
  }

  .ml--30 {
      margin-left: 30px !important;
  }

  .mr--30 {
      margin-right: 30px !important;
  }

  .pt--30 {
      padding-top: 30px !important;
  }

  .pb--30 {
      padding-bottom: 30px !important;
  }

  .pl--30 {
      padding-left: 30px !important;
  }

  .pr--30 {
      padding-right: 30px !important;
  }

  .mt--35 {
      margin-top: 35px !important;
  }

  .mb--35 {
      margin-bottom: 35px !important;
  }

  .ml--35 {
      margin-left: 35px !important;
  }

  .mr--35 {
      margin-right: 35px !important;
  }

  .pt--35 {
      padding-top: 35px !important;
  }

  .pb--35 {
      padding-bottom: 35px !important;
  }

  .pl--35 {
      padding-left: 35px !important;
  }

  .pr--35 {
      padding-right: 35px !important;
  }

  .mt--40 {
      margin-top: 40px !important;
  }

  .mb--40 {
      margin-bottom: 40px !important;
  }

  .ml--40 {
      margin-left: 40px !important;
  }

  .mr--40 {
      margin-right: 40px !important;
  }

  .pt--40 {
      padding-top: 40px !important;
  }

  .pb--40 {
      padding-bottom: 40px !important;
  }

  .pl--40 {
      padding-left: 40px !important;
  }

  .pr--40 {
      padding-right: 40px !important;
  }

  .mt--45 {
      margin-top: 45px !important;
  }

  .mb--45 {
      margin-bottom: 45px !important;
  }

  .ml--45 {
      margin-left: 45px !important;
  }

  .mr--45 {
      margin-right: 45px !important;
  }

  .pt--45 {
      padding-top: 45px !important;
  }

  .pb--45 {
      padding-bottom: 45px !important;
  }

  .pl--45 {
      padding-left: 45px !important;
  }

  .pr--45 {
      padding-right: 45px !important;
  }

  .mt--50 {
      margin-top: 50px !important;
  }

  .mb--50 {
      margin-bottom: 50px !important;
  }

  .ml--50 {
      margin-left: 50px !important;
  }

  .mr--50 {
      margin-right: 50px !important;
  }

  .pt--50 {
      padding-top: 50px !important;
  }

  .pb--50 {
      padding-bottom: 50px !important;
  }

  .pl--50 {
      padding-left: 50px !important;
  }

  .pr--50 {
      padding-right: 50px !important;
  }

  .mt--55 {
      margin-top: 55px !important;
  }

  .mb--55 {
      margin-bottom: 55px !important;
  }

  .ml--55 {
      margin-left: 55px !important;
  }

  .mr--55 {
      margin-right: 55px !important;
  }

  .pt--55 {
      padding-top: 55px !important;
  }

  .pb--55 {
      padding-bottom: 55px !important;
  }

  .pl--55 {
      padding-left: 55px !important;
  }

  .pr--55 {
      padding-right: 55px !important;
  }

  .mt--60 {
      margin-top: 60px !important;
  }

  .mb--60 {
      margin-bottom: 60px !important;
  }

  .ml--60 {
      margin-left: 60px !important;
  }

  .mr--60 {
      margin-right: 60px !important;
  }

  .pt--60 {
      padding-top: 60px !important;
  }

  .pb--60 {
      padding-bottom: 60px !important;
  }

  .pl--60 {
      padding-left: 60px !important;
  }

  .pr--60 {
      padding-right: 60px !important;
  }

  .mt--65 {
      margin-top: 65px !important;
  }

  .mb--65 {
      margin-bottom: 65px !important;
  }

  .ml--65 {
      margin-left: 65px !important;
  }

  .mr--65 {
      margin-right: 65px !important;
  }

  .pt--65 {
      padding-top: 65px !important;
  }

  .pb--65 {
      padding-bottom: 65px !important;
  }

  .pl--65 {
      padding-left: 65px !important;
  }

  .pr--65 {
      padding-right: 65px !important;
  }

  .mt--70 {
      margin-top: 70px !important;
  }

  .mb--70 {
      margin-bottom: 70px !important;
  }

  .ml--70 {
      margin-left: 70px !important;
  }

  .mr--70 {
      margin-right: 70px !important;
  }

  .pt--70 {
      padding-top: 70px !important;
  }

  .pb--70 {
      padding-bottom: 70px !important;
  }

  .pl--70 {
      padding-left: 70px !important;
  }

  .pr--70 {
      padding-right: 70px !important;
  }

  .mt--75 {
      margin-top: 75px !important;
  }

  .mb--75 {
      margin-bottom: 75px !important;
  }

  .ml--75 {
      margin-left: 75px !important;
  }

  .mr--75 {
      margin-right: 75px !important;
  }

  .pt--75 {
      padding-top: 75px !important;
  }

  .pb--75 {
      padding-bottom: 75px !important;
  }

  .pl--75 {
      padding-left: 75px !important;
  }

  .pr--75 {
      padding-right: 75px !important;
  }

  .mt--80 {
      margin-top: 80px !important;
  }

  .mb--80 {
      margin-bottom: 80px !important;
  }

  .ml--80 {
      margin-left: 80px !important;
  }

  .mr--80 {
      margin-right: 80px !important;
  }

  .pt--80 {
      padding-top: 80px !important;
  }

  .pb--80 {
      padding-bottom: 80px !important;
  }

  .pl--80 {
      padding-left: 80px !important;
  }

  .pr--80 {
      padding-right: 80px !important;
  }

  .mt--85 {
      margin-top: 85px !important;
  }

  .mb--85 {
      margin-bottom: 85px !important;
  }

  .ml--85 {
      margin-left: 85px !important;
  }

  .mr--85 {
      margin-right: 85px !important;
  }

  .pt--85 {
      padding-top: 85px !important;
  }

  .pb--85 {
      padding-bottom: 85px !important;
  }

  .pl--85 {
      padding-left: 85px !important;
  }

  .pr--85 {
      padding-right: 85px !important;
  }

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

  .mb--90 {
      margin-bottom: 90px !important;
  }

  .ml--90 {
      margin-left: 90px !important;
  }

  .mr--90 {
      margin-right: 90px !important;
  }

  .pt--90 {
      padding-top: 90px !important;
  }

  .pb--90 {
      padding-bottom: 90px !important;
  }

  .pl--90 {
      padding-left: 90px !important;
  }

  .pr--90 {
      padding-right: 90px !important;
  }

  .mt--95 {
      margin-top: 95px !important;
  }

  .mb--95 {
      margin-bottom: 95px !important;
  }

  .ml--95 {
      margin-left: 95px !important;
  }

  .mr--95 {
      margin-right: 95px !important;
  }

  .pt--95 {
      padding-top: 95px !important;
  }

  .pb--95 {
      padding-bottom: 95px !important;
  }

  .pl--95 {
      padding-left: 95px !important;
  }

  .pr--95 {
      padding-right: 95px !important;
  }

  .mt--100 {
      margin-top: 100px !important;
  }

  .mb--100 {
      margin-bottom: 100px !important;
  }

  .ml--100 {
      margin-left: 100px !important;
  }

  .mr--100 {
      margin-right: 100px !important;
  }

  .pt--100 {
      padding-top: 100px !important;
  }

  .pb--100 {
      padding-bottom: 100px !important;
  }

  .pl--100 {
      padding-left: 100px !important;
  }

  .pr--100 {
      padding-right: 100px !important;
  }

  .mt--105 {
      margin-top: 105px !important;
  }

  .mb--105 {
      margin-bottom: 105px !important;
  }

  .ml--105 {
      margin-left: 105px !important;
  }

  .mr--105 {
      margin-right: 105px !important;
  }

  .pt--105 {
      padding-top: 105px !important;
  }

  .pb--105 {
      padding-bottom: 105px !important;
  }

  .pl--105 {
      padding-left: 105px !important;
  }

  .pr--105 {
      padding-right: 105px !important;
  }

  .mt--110 {
      margin-top: 110px !important;
  }

  .mb--110 {
      margin-bottom: 110px !important;
  }

  .ml--110 {
      margin-left: 110px !important;
  }

  .mr--110 {
      margin-right: 110px !important;
  }

  .pt--110 {
      padding-top: 110px !important;
  }

  .pb--110 {
      padding-bottom: 110px !important;
  }

  .pl--110 {
      padding-left: 110px !important;
  }

  .pr--110 {
      padding-right: 110px !important;
  }

  .mt--115 {
      margin-top: 115px !important;
  }

  .mb--115 {
      margin-bottom: 115px !important;
  }

  .ml--115 {
      margin-left: 115px !important;
  }

  .mr--115 {
      margin-right: 115px !important;
  }

  .pt--115 {
      padding-top: 115px !important;
  }

  .pb--115 {
      padding-bottom: 115px !important;
  }

  .pl--115 {
      padding-left: 115px !important;
  }

  .pr--115 {
      padding-right: 115px !important;
  }

  .mt--120 {
      margin-top: 120px !important;
  }

  .mb--120 {
      margin-bottom: 120px !important;
  }

  .ml--120 {
      margin-left: 120px !important;
  }

  .mr--120 {
      margin-right: 120px !important;
  }

  .pt--120 {
      padding-top: 120px !important;
  }

  .pb--120 {
      padding-bottom: 120px !important;
  }

  .pl--120 {
      padding-left: 120px !important;
  }

  .pr--120 {
      padding-right: 120px !important;
  }

  .mt--125 {
      margin-top: 125px !important;
  }

  .mb--125 {
      margin-bottom: 125px !important;
  }

  .ml--125 {
      margin-left: 125px !important;
  }

  .mr--125 {
      margin-right: 125px !important;
  }

  .pt--125 {
      padding-top: 125px !important;
  }

  .pb--125 {
      padding-bottom: 125px !important;
  }

  .pl--125 {
      padding-left: 125px !important;
  }

  .pr--125 {
      padding-right: 125px !important;
  }

  .mt--130 {
      margin-top: 130px !important;
  }

  .mb--130 {
      margin-bottom: 130px !important;
  }

  .ml--130 {
      margin-left: 130px !important;
  }

  .mr--130 {
      margin-right: 130px !important;
  }

  .pt--130 {
      padding-top: 130px !important;
  }

  .pb--130 {
      padding-bottom: 130px !important;
  }

  .pl--130 {
      padding-left: 130px !important;
  }

  .pr--130 {
      padding-right: 130px !important;
  }

  .mt--135 {
      margin-top: 135px !important;
  }

  .mb--135 {
      margin-bottom: 135px !important;
  }

  .ml--135 {
      margin-left: 135px !important;
  }

  .mr--135 {
      margin-right: 135px !important;
  }

  .pt--135 {
      padding-top: 135px !important;
  }

  .pb--135 {
      padding-bottom: 135px !important;
  }

  .pl--135 {
      padding-left: 135px !important;
  }

  .pr--135 {
      padding-right: 135px !important;
  }

  .mt--140 {
      margin-top: 140px !important;
  }

  .mb--140 {
      margin-bottom: 140px !important;
  }

  .ml--140 {
      margin-left: 140px !important;
  }

  .mr--140 {
      margin-right: 140px !important;
  }

  .pt--140 {
      padding-top: 140px !important;
  }

  .pb--140 {
      padding-bottom: 140px !important;
  }

  .pl--140 {
      padding-left: 140px !important;
  }

  .pr--140 {
      padding-right: 140px !important;
  }

  .mt--145 {
      margin-top: 145px !important;
  }

  .mb--145 {
      margin-bottom: 145px !important;
  }

  .ml--145 {
      margin-left: 145px !important;
  }

  .mr--145 {
      margin-right: 145px !important;
  }

  .pt--145 {
      padding-top: 145px !important;
  }

  .pb--145 {
      padding-bottom: 145px !important;
  }

  .pl--145 {
      padding-left: 145px !important;
  }

  .pr--145 {
      padding-right: 145px !important;
  }

  .mt--150 {
      margin-top: 150px !important;
  }

  .mb--150 {
      margin-bottom: 150px !important;
  }

  .ml--150 {
      margin-left: 150px !important;
  }

  .mr--150 {
      margin-right: 150px !important;
  }

  .pt--150 {
      padding-top: 150px !important;
  }

  .pb--150 {
      padding-bottom: 150px !important;
  }

  .pl--150 {
      padding-left: 150px !important;
  }

  .pr--150 {
      padding-right: 150px !important;
  }

  @font-face {
      font-family: Metropolis-bold;
      src: url(../fonts/Metropolis-Bold.otf);
  }

  /* Top Bar */
  .top-bar {
      background-color: #3358ff;
      padding: 8px 20px;
      font-size: 14px;
      position: relative;
      z-index: 9;
  }

  @media (max-width: 767.98px) {
      .top-bar {
          display: none;
      }
  }

  /* Header Styling */
  .main-header {
      position: sticky;
      top: 0;
      z-index: 1050;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
      background-color: rgb(255 255 255 / 35%);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(10px);
  }

  .header-inner {
      padding: 10px 0;
  }

  .logo img {
      max-height: 75px;
  }

  .main-nav .nav-link {
      padding: 15px 16px;
    font-weight: 600;
    color: #000000;
    position: relative;
    font-size: 17px;
	text-transform:uppercase
  }

  .main-nav .nav-link:hover,
  .main-nav .nav-link.active {
      color: #000000;
  }

  .nav-item:hover>.dropdown-menu {
      display: block;
      margin-top: 0;
  }

  .dropdown-menu {
      border-radius: 0;
      border: none;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
      margin-top: 0;
      width:400px;
  }
.dropdown-menu .nav-link{
	font-size:14px;
	padding:8px 15px;
	font-weight:500!important;
	color:#555;
	text-transform:capitalize
}
  .mega-menu {
      width: 100%;
      left: 0;
      padding: 30px;
  }

  @media (max-width: 1200px) {
      .main-nav {
          display: none !important;

      }

      #mobileMenuBtn {
          display: block !important
      }
  }

  /* Mobile Menu */
/* Mobile menu basic (keep your existing .mobile-menu / .open / .menu-overlay) */
.mobile-menu {
  position: fixed;
  top: 0;
  left: -300px;
  width: 270px;
  height: 100%;
  background: #fff;
  transition: left 0.28s ease;
  z-index: 1055;
  
  box-shadow: 2px 0 10px rgba(0,0,0,0.12);
  overflow-y: auto;
}
.mobile-menu.open { left: 0; }
.menu-overlay { display: none; position: fixed; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.5); z-index:1050; }
.menu-overlay.show { display: block; }

/* Nav list */
.mobile-menu .mobile-nav,
.mobile-menu .mobile-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Link style */
.mobile-menu .mobile-nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  font-size: 16px;
  color: #333!important;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

/* Dropdown caret (you can customize the symbol or use an icon) */
.mobile-menu .dropdown-toggle .caret {
  margin-left: 12px;
  transition: transform .22s ease;
  font-weight: 600;
}

/* Rotate caret when open */
.mobile-menu .nav-item.open > .dropdown-toggle .caret {
  transform: rotate(90deg);
}

/* Submenu hidden by default, animated via max-height so smooth transition */
/* Submenu hidden by default */
.mobile-menu .dropdown-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0;   /* ensure no padding when closed */
  margin: 0;
  border: 0;    /* prevent border gap when closed */
  background: #fdfdfd;
}

/* Submenu open */
.mobile-menu .nav-item.open > .dropdown-menu {
  max-height: 600px; /* enough for full list */
  padding-left: 12px; /* add padding only when open */
  border-left: 2px solid #f0f0f0;
}

/* Submenu items look */
.mobile-menu .dropdown-menu li {
  padding: 8px 0;
}
.mobile-menu .dropdown-menu a {
  padding: 6px 0;
  font-size: 15px;
  border-bottom: 0;
}
.mm-body{
	padding: 20px;
}
.mm-body .nav-link{
	color: #333;
    font-size: 18px;
    font-weight: 600;
}
.mm-header{
	
	padding:30px;
}
.mm-header img{
	width:100%
}
/* mm menu end */

  .sticky {
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      background-color: #fff;
      transition: all 0.3s ease-in-out;
  }

  .menu-overlay.show {
      display: block;
  }

  .nav-icon {
      font-size: 22px;
      background: none;
      border: none;
  }

  .dropdown-toggle::after {
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      content: "\f078";
      display: inline-block;
      margin-left: 0.3em;
      font-size: 10px;
      vertical-align: 0.15em;
      border-top: none
  }


  .top-rr-menu {
      display: flex;
      flex-wrap: wrap;
      list-style: none;
      padding: 0;
      margin: 0;
      gap: 0px;
      position: relative;
      z-index: 2;
  }

  .top-rr-menu li a {
      display: inline-block;
      padding: 8px 8px;
      color: #fff;
      text-decoration: none;
      transition: all 0.3s ease;
      line-height: 1;
  }

  /* Step 1: When hovering the whole menu, dim all items */
  .top-rr-menu:hover li a {
      opacity: 0.4;
  }

  /* Step 2: Except the hovered one - keep it fully visible and styled */
  .top-rr-menu li a:hover {
      opacity: 1;
      color: #fff;
  }

  .btn-gradient-slide {
      padding: 14px 28px;
      background: linear-gradient(to right, #6a11cb 0%, #2575fc 100%);
      color: white;
      border: none;
      border-radius: 50px;
      font-size: 16px;
      font-weight: bold;
      cursor: pointer;
      background-size: 200% auto;
      transition: all 0.5s ease;
      box-shadow: 0 4px 15px rgba(106, 17, 203, 0.3);
  }

  .btn-gradient-slide:hover {
      background-position: right center;
      transform: translateY(-3px);
      box-shadow: 0 8px 20px rgba(106, 17, 203, 0.4);
  }

  .main-banner {
      margin: -96px 0 0 0;
  }

  .main-banner .carousel-caption {
      width: 100%
  }

  .main-banner .carousel-caption h5 {
      line-height: 60px;
      font-size: 60px;
      color: #fff;
      text-shadow: 1px 1px 15px #6d6c6c;
  }

  .main-banner .carousel-caption p {
      color: #fff
  }

  /* Position caption to the left */
  .carousel-caption.left-caption {
      left: 0% !important;
      right: auto;
      bottom: 10%;
      text-align: center;
      max-width: 100%;
  }

  /* Animation */
  .animate-caption {
      opacity: 0;
      transform: translateX(-30px);
      animation: slideInLeft 1s ease-out 0.5s forwards;
  }

  @keyframes slideInLeft {
      to {
          opacity: 1;
          transform: translateX(0);
      }
  }

  .about-section {
      padding: 60px 0;
  }

  .about-image-stack {
      position: relative;
  }

  .main-doctor-img {
      width: 100%;
      border-radius: 20px;
  }

  .video-support-box {
      position: absolute;
      top: 88px;
      left: -40px;
      background: white;
      border-radius: 24px !important;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
      padding: 32px;
  }

  .video-support-img {
      width: 160px;
      height: 232px;
      object-fit: cover;
      border-radius: 24px;
  }

  .video-support-label {
      writing-mode: vertical-rl;
      text-orientation: mixed;
      background-color: #002d72;
      color: #fff;
      font-weight: 600;
      font-size: 12px;
      padding: 10px 5px;
      letter-spacing: 1px;
      border-radius: 12px;
  }

  .check-icon {
      color: #00BCD4;
  }

  @media (max-width: 767.98px) {
      .video-support-box {
          position: static;
          margin-bottom: 20px;
      }
  }

  /* COUNTER */
  .counter-section {
      padding: 0px 0;
      background-color: #f9f9f9;
      text-align: center;
  }

  .counter-box {
      margin-bottom: 30px;
      text-align: center;
      border:1px solid #ccc;
      display:block;
      padding: 30px 15px;
      /* height: 135px; */
      border-radius: 14px;
      box-shadow: 1px 1px 12px #ccc;
  }

  .counter {
      font-size: 40px;
      font-weight: 700;
      color: #007bff;
      line-height:38px;
  }

  .counter-label {
      font-size: 16px;
      font-weight: 500;
      color: #444;
  }

  /* Base animation style */
  .animate-on-scroll {
      opacity: 0;
      transform: translateY(40px);
      transition: all 0.8s ease-out;
  }

  /* Active class triggers animation */
  .animate-on-scroll.active {
      opacity: 1;
      transform: translateY(0);
  }

  .single-image {
      position: relative;

  }

  .cc-mscaption {
      position: absolute;
      bottom: 0px;
      left: 0px;
      padding: 30px
  }

  .cc-mscaption h4 {
      color: #fff;
      font-size: 40px;
      margin: 0
  }

  .cc-mscaption label {
      color: #fff
  }

  /* Base block styles (same as before) */
  .cc-block {
      position: relative;
      overflow: hidden;
      background: linear-gradient(transparent, rgb(0 125 255 / 60%) 80%, rgb(0 125 255 / 60%) 90%);
  }

  .cc-block .hover-btn i {
      font-size: 48px;
      color: #fff;
      opacity: .5;
  }

  .cc-block img {
      border-radius: 12px;
      display: block;
      width: 100%;
  }

  .cc-block::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 0%;
      background: linear-gradient(transparent, rgb(0 125 255 / 60%) 80%, rgb(0 125 255 / 60%) 90%);
      transition: all 300ms ease;
      z-index: 1;
      border-radius: 10px;
  }

  .cc-block:hover::before {
      height: 100%;
  }

  /* Button Animation */
  .hover-btn {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, 50%) scale(0.5);
      opacity: 0;
      z-index: 2;
      transition: all 0.4s ease-in-out;
  }

  .cc-block:hover .hover-btn {
      transform: translate(-50%, -50%) scale(1);
      opacity: 1;
  }

  /* Button Design */
  .hover-btn .btn {
      width: 55px;
      height: 55px;
      padding: 0;
      font-size: 22px;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  /* VIDEO SECTION */

  .video-container {
      position: relative;
      width: 100%;
      height: 100vh;
      overflow: hidden;
  }

  .video-container video {
      position: absolute;
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      transform: translate(-50%, -50%);
      object-fit: cover;
  }

  .caption-overlay {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.4);
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 0 20px;
  }

  .caption-line {
      position: absolute;
      font-size: 2rem;
      color: #fff;
      opacity: 0;
      animation: fadeInOut 9s linear infinite;
  }

  .caption-line:nth-child(1) {
      animation-delay: 0s;
  }

  .caption-line:nth-child(2) {
      animation-delay: 3s;
  }

  .caption-line:nth-child(3) {
      animation-delay: 6s;
  }

  @keyframes fadeInOut {

      0%,
      8% {
          opacity: 0;
          transform: translateY(20px);
      }

      10%,
      30% {
          opacity: 1;
          transform: translateY(0);
      }

      35%,
      100% {
          opacity: 0;
          transform: translateY(-20px);
      }
  }

  @media (max-width: 768px) {
      .caption-line {
          font-size: 1.5rem;
      }
  }

  @media (max-width: 480px) {
      .caption-line {
          font-size: 1.2rem;
      }
  }

  /* NEWS AND EVENTS */
  .news-card {
      border-radius: 12px;
      overflow: hidden;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .news-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
  }

  .news-img {
      width: 100%;
      height: 300px;
      object-fit: cover;
  }

  .meta-info {
      font-size: 0.9rem;
      color: #6c757d;
  }

  .read-more-btn {
      border-radius: 30px;
      font-size: 0.9rem;
      font-weight: 500;
      padding: 6px 16px;
  }

  .card-body {
      background-color: #f7faff;
  }

  h2.fw-bold {
      font-weight: 700 !important;
  }

  /* NOTIFICATION BAR */
 :root { --gap: 40px; } /* space between notices */

  .notification-bar {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    background-color: rgb(0 61 110 / 20%);
    backdrop-filter: blur(5px);
    padding: 8px 0;
    overflow: hidden;
    position: relative;
    z-index: 99;
  }

   .marquee {
    width: 100%;
    overflow: hidden;
  }

  .marquee-track {
    display: flex;
    align-items: center;
    white-space: nowrap;
    will-change: transform;
    animation: marqueeAnim var(--marquee-duration) linear infinite;
  }

  .marquee-content {
    display: inline-flex;
    align-items: center;
  }

  .notice-tag {
  display: inline-block;
  padding: 4px 12px;
  margin-right: var(--gap);
  font-size: 14px;
  border-radius: 50px;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
  color:#fff
}

.notice-tag:hover {
  background: #03A9F4;
  color: #fff;
}

.notice-tag::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255,255,255,0.5), transparent);
  transform: skewX(-20deg);
}

.notice-tag:hover::before {
  animation: shine 0.7s ease forwards;
}

@keyframes shine {
  0% { left: -75%; }
  100% { left: 125%; }
}
  /* Pause animation on hover */
  .notification-bar:hover .marquee-track {
    animation-play-state: paused;
  }

  @keyframes marqueeAnim {
    from { transform: translateX(0); }
    to   { transform: translateX(calc(-1 * var(--marquee-width))); }
  }
.highlight-notice {
  background: rgb(76 175 80 / 40%) !important;
  color: #fff !important;
  animation: smoothBlink 2s ease-in-out infinite;
}

@keyframes smoothBlink {
  0%, 100% {
    background-color: #ff9800;
    box-shadow: 0 0 10px rgba(255, 152, 0, 0.6);
  }
  50% {
    background-color: #ffb84d;
    box-shadow: 0 0 20px rgba(255, 152, 0, 1);
  }
}
  /* FOOTER */
  .footer{
	  padding:100px 0}
  .foot-links li a {
      color: #5a5959;
      font-size: 14px;
  }
   .foot-links li a:hover{
	   color:#fff!important}

  .foot-links li {
      line-height: 26px;
  }
  
#scrollTopBtn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  background: #007bff;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 22px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity 0.3s ease, visibility 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

/* When visible */
#scrollTopBtn.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  animation: bounceIn 0.6s ease; /* trigger bounce */
}

/* Bounce animation */
@keyframes bounceIn {
  0%   { transform: translateY(100px); opacity: 0; }
  60%  { transform: translateY(-15px); opacity: 1; }
  80%  { transform: translateY(8px); }
  100% { transform: translateY(0); }
}
/**/
    .ripple-btn {
 display: inline-flex!important;
  align-items: center;      /* centers icon + text */
  justify-content: center;
  background: #f03854;
  border-radius: 60px;
  padding: 5px 15px;
  font-weight: 600;
  color: #fff;
  font-size: 14px;
  border: none;
  line-height: 1;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.ripple-btn i{
    font-weight:normal;
    padding-right:5px;
}
    /* Ripple Effect Layer */
    .ripple-btn::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 0;
      height: 0;
      background: rgba(255, 255, 255, 0.4);
      border-radius: 50%;
      transform: translate(-50%, -50%) scale(0);
      transition: width 0.6s ease, height 0.6s ease, opacity 0.6s ease, transform 0.6s ease;
      opacity: 0;
    }

    .ripple-btn:hover::after {
      width: 300px;
      height: 300px;
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }

    .ripple-btn:active {
      transform: scale(0.97); /* subtle press effect */
    }
    /* BUTTON LIBRARY */
        .btn {
      display: inline-block;
      text-decoration: none;
      padding: 12px 28px;
      font-size: 16px;
      font-weight: 600;
      border-radius: 8px;
      position: relative;
      overflow: hidden;
      transition: all 0.3s ease;
    }

    /* 1. Grow */
    .btn-grow {
      background: #e11d48;
      color: white;
    }
    .btn-grow:hover {
      transform: scale(1.1);
      box-shadow: 0 8px 20px rgba(225, 29, 72, 0.5);
    }

    /* 2. Underline swipe */
    .btn-underline {
      background: transparent;
      color: #38bdf8;
    }
    .btn-underline::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0%;
      height: 2px;
      background: #38bdf8;
      transition: width 0.3s ease;
    }
    .btn-underline:hover::after {
      width: 100%;
    }

    /* 3. Gradient glow */
    .btn-gradient {
      background: linear-gradient(45deg, #9333ea, #2563eb);
      color: white;
      transition: all 0.4s ease;
    }
    .btn-gradient:hover {
      background: linear-gradient(45deg, #2563eb, #9333ea);
      box-shadow: 0 0 20px rgba(147, 51, 234, 0.7);
      transform: translateY(-4px);
    }

    /* 4. Border reveal */
    .btn-border {
      background: transparent;
      color: white;
      border: 2px solid #facc15;
      z-index: 1;
    }
    .btn-border::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: #facc15;
      z-index: -1;
      transition: left 0.4s ease;
    }
    .btn-border:hover::before {
      left: 0;
    }
    .btn-border:hover {
      color: black;
    }
.inner-banner{
    position: relative;
    width:100%;
    
    min-height: 490px;
}
.inner-banner::before{
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    /* background: linear-gradient(91deg, rgb(2 37 88 / 86%) 48%, rgba(46, 52, 125, 0) 75%); */
    background: linear-gradient(90deg, rgb(2 37 88 / 91%) 29%, rgba(46, 52, 125, 0) 89%);
    width: 100%;
    height:100%
}
.banner-content{
   position: relative;
    width:100%;
   
}
.banner-content h1{
    color:#fff;
    margin:0!important
}
.banner-content p{
    font-size:18px;
    color:#fff;
    margin-bottom: 20px;
}
    .inner-data{
        padding:60px 0
    }
    .inner-data p{
        line-height: 30px;
    }
    /* Banner Breadcrumb */
.breadcrumb-banner .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0px 0 15px;
    
    list-style: none;
    font-size: 0.9rem;
}

.breadcrumb-banner .breadcrumb-item {
    display: inline-block;
    color: rgba(255,255,255,0.8);
    position: relative;
}

.breadcrumb-banner .breadcrumb-item + .breadcrumb-item::before {
    content: '/'; /* separator */
    padding: 0 8px;
    color: rgb(26 25 25 / 50%);
}

.breadcrumb-banner .breadcrumb-item a {
    color: rgb(66 67 68 / 80%);
    text-decoration: none;
    transition: color 0.3s;
}

.breadcrumb-banner .breadcrumb-item a:hover {
    color: #8BC34A;
    text-decoration: underline;
}

.breadcrumb-banner .breadcrumb-item.active {
    color: #000000;
    font-weight: 500;
}
.capy{
    font-size: 17px;
    color: #fff;
    font-weight: 500;
    margin: 20px 0 20px 0;
    display: flex;
    line-height: 22px;
    font-style: italic;
    padding: 25px;
    border-radius: 10px;
    background: #0c0f7e;
}
.faculty-member{
   border-bottom:1px solid #333;
   padding-bottom:10px;
    
}
.faculty-member h3{
    margin:10px 0 8px 0!important;
    font-size:20px;
    font-weight:700
}
.faculty-member p{
    line-height:15px;
    font-size:14px;
}
.faculty-member p:last-child{
    padding-bottom:20px;
}
.faculty-sequence{
    display:none!important
}
.fculimg {
    width: 100%;
    
    border-radius: 3px;
    object-fit: cover;
    transition: transform 0.4s ease, box-shadow 0.3s ease;
}

.fculimg:hover {
    transform: scale(1.08);
    box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}
.footer {
    background: #1f2c74;
}
.footlink ul li a, .footlink h6{
    color:#b7bfe7
}
.footlink h6{
    color:#fff
}
.footlink p{
    color:#b7bfe7
}
.footlink h3{
    color:#fff
}
.bms_cds{
    background: #d7f5ff;
    padding: 35px;
    border-radius: 7px;
}
.bms_cds h6{
    font-size:24px;
    margin:0
}
.sch-notelist ul li a{
	font-size:15px;
	font-weight:500;
}
.sch-notelist ul li{
	line-height:34px;
	position:relative;
	list-style:none;
	padding-left: -3px;
}
.sch-notelist ul li:before{
	font-family: FontAwesome;
	content: "\f178";
	position: absolute;
	left: -27px;
	top: 15px;
	transform: translateY(-50%);
	color:#59bd00;
	font-size: 10px;
	font-weight: 300;
}
.cpilist{
    padding:0;
    list-style:none
}
.cpilist li{
    font-size:20px;
}
/* Common base style */
.custombtn1, .custombtn2 {
  display: inline-block;
  padding: 12px 28px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.3s ease;
  cursor: pointer;
  margin-right:20px
}

/* -------------------
   Button Style 1
------------------- */
.custombtn1 {
  background: linear-gradient(135deg, #e00014, #ff4b5c);
  color: #fff;
  border: none;
  box-shadow: 0 4px 12px rgba(224, 0, 20, 0.3);
}

.custombtn1:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(224, 0, 20, 0.5);
}

.custombtn1:active {
  transform: scale(0.96);
}

/* -------------------
   Button Style 2
------------------- */
.custombtn2 {
  background: transparent;
  color: #ffffff;
  border: 1px solid #ffffff;
  position: relative;
  overflow: hidden;
}

.custombtn2::before {
  content: "";
  position: absolute;
  left: -100%;
  top: 0;
  width: 100%;
  height: 100%;
  background: #e00014;
  z-index: -1;
  transition: all 0.3s ease;
}

.custombtn2:hover {
  color: #d41818;
}

.custombtn2:hover::before {
  left: 0;
}

.custombtn2:active {
  transform: scale(0.96);
}
.inner-data h3{
	color: #1a4ba9;
    font-size: 20px;
}
.webform2 textarea{height:200px!important;}
.webform2 input, .webform2 textarea{border-color:#333}
.webform2 button[type="submit"]{
	display: inline-flex !important
;
    align-items: center;
    justify-content: center;
    background: #f03854;
    border-radius: 60px;
    padding: 12px 38px;
    font-weight: 600;
    color: #fff;
    font-size: 19px;
    border: none;
    line-height: 1;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    margin-top: 50px;
}
.cc-blr{
	width: 600px;
    background: #eef1ff;
    padding: 30px;
    margin-bottom: 30px;
}
.main-banner h5{display:none!important}
.course-list__ .post-item{margin-bottom:10px;}
.course-list__ .post-item a{color:#b1bdff!important;font-size:15px;display:flex}
.course-list__ .post-item a i{font-size:13px;padding-right:24px;padding-top:3px;color:#fff}
.course-list__ .post-item h4{margin:0;font-size:16px!important;}
.ids-chm span{
	font-size: 17px;
    color: #fff;
    font-weight: 500;
    margin: 20px 0 20px 0;
    display: flex;
    line-height: 22px;
    font-style: italic;
    padding: 25px;
    border-radius: 10px;
    background: #0c0f7e;
}
.lds-txt{
	padding-left:30px; 
}
.lds-txt p{
	color:#000;
	font-weight:400;
	font-size:16px;
}
.lds-photo{
	position:relative;
	
}
.lds-photo .ids-caption001{
	position:absolute;
	bottom:0px;
	right:0px;
	width:100%;
	padding:20px 20px;
	background: linear-gradient(1deg, rgb(14 14 14 / 91%) 43%, rgba(46, 52, 125, 0) 97%);
border-radius: 0 0 10px 10px;
}
.lds-photo .ids-caption001 h4{
	margin:0;
	color:#fff
}
.lds-photo .ids-caption001 label{	
	color:#fff
}
.lds-photo img{
	border-radius:8px;
}
.lds-txt h4{
	color:#000;
	margin:0;
	font-size:24px!important;
	line-height:22px;
}
.lds-txt label{
	color:#000;
	margin:0 0 20px 0;
	font-size:17px;
	font-weight:500	
}
/* animated button on header admission open */
.animated-btn {
    position: relative;
    display: inline-block;
    padding: 15px 30px;
    background: linear-gradient(135deg, #506cd3, #807eff);
    color: white;
    border: none;
    border-radius: 50px;
    font-size: 15px;
    cursor: pointer;
    overflow: hidden;
    min-width: 165px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.animated-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    color: #fff;
}
.ccoulist{padding:100px 0}

.map-locator {
  position: relative;
}

.address-overlay {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;              /* Half section */
  height: 100%;             /* Full height */
  background: rgba(0,0,0,0.6); /* Dark overlay */
  color: #fff;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.address-overlay h2 {
  font-size: 28px;
  margin-bottom: 15px;
}
.address-overlay p {
  font-size: 18px;
  line-height: 1.6;
}
.gall-thumb h5{color:#333;font-size:15px;}
.gall-thumb img{width: 100%;
    height: 240px;
    object-fit: cover;}
	
/* Social Menu Container */
.left-menu .top-rr-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 6px; /* space between icons */
  justify-content: flex-end; /* align right */
  align-items: center;
}

/* Social Menu Items */
.left-menu .top-rr-menu li {
  display: inline-block;
}

/* Links */
.left-menu .top-rr-menu li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;  /* circle background */
  color: #ffffff;    /* icon color (Apple blue) */
  font-size: 13px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Hover */
.left-menu .top-rr-menu li a:hover {
  background: #007aff; /* blue background */
  color: #fff;         /* white icon */
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}


/* Font Awesome Icons */
.left-menu .top-rr-menu li a i {
  transition: transform 0.3s ease;
}


.left-menu .top-rr-menu li a:hover i {
  transform: scale(1.2) rotate(8deg);
}

/* Individual Brand Colors (optional) */
.left-menu .top-rr-menu li a.facebook:hover { background: #1877f2; }
.left-menu .top-rr-menu li a.twitter:hover { background: #1da1f2; }
.left-menu .top-rr-menu li a.instagram:hover { 
  background: radial-gradient(circle at 30% 30%, #feda75, #d62976, #962fbf, #4f5bd5);
}
.left-menu .top-rr-menu li a.youtube:hover { background: #ff0000; }
.site-footer{background: #1c2240;padding:8px 0}
.site-footer p{color:#717587;font-size:14px;}
.contact-box {
  background: #f0f7ff;
  border: 1px solid #dce7f5;
  border-radius: 10px;
  padding: 25px;
  max-width: 100%;
  margin: 20px auto;
  font-family: "Segoe UI", Arial, sans-serif;
  color: #333;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.contact-box h2 {
  margin-bottom: 5px;
  font-size: 22px;
  color: #222;
}

.contact-box .address {
  font-size: 14px;
  color: #555;
  margin-bottom: 20px;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.contact-column h3 {
  font-size: 16px;
  margin-bottom: 12px;
  color: #0056a3;
  border-bottom: 2px solid #cfe0f5;
  padding-bottom: 6px;
}

.contact-column p {
  margin: 6px 0;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.contact-column i {
  color: #0073e6;
  font-size: 14px;
}

.contact-column a {
  color: #0073e6;
  text-decoration: none;
  transition: 0.3s;
}

.contact-column a:hover {
  color: #ff6600;
  text-decoration: underline;
}
	