/* Blue shield, gold trim and green leaves from the Nalanda crest. */
:root {
  --theme-primary:#0965a6;
  --theme-primary-dark:#12365b;
  --theme-primary-light:rgba(9,101,166,.07);
  --theme-primary-accent:#f3f8fc;
  --theme-warning:#edbd45;
  --theme-green:#d5a52f;
  --brand-gold:#edbd45;
}
.text-theme-warning { color:#9b7013!important; }
.bg-theme-primary .text-theme-warning { color:var(--brand-gold)!important; }
.main-header .school-name-main,.main-header .mobile-menu-school-name { color:#12365b; }
.main-header .mobile-menu .navigation li > a { color:#12365b!important; }
.main-header a:focus-visible,.main-header button:focus-visible { outline-color:#d5a52f; }
.opj-footer {
  background:linear-gradient(115deg,#102e4e,#123e65)!important;
  color:#e4edf5;
  padding:0!important;
  border-top:4px solid var(--brand-gold);
}
.opj-footer .footer-container { max-width:1440px; margin:auto; padding:0 40px; }
.opj-footer .footer-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:36px 0; border-bottom:1px solid #ffffff26; }
.opj-footer .footer-eyebrow { color:var(--brand-gold); font-size:11px; font-weight:700; letter-spacing:1.7px; }
.opj-footer .footer-intro h2 { color:white; font-family:Georgia,serif; font-size:clamp(23px,2.4vw,32px); line-height:1.3; margin:8px 0 0; }
.opj-footer a.footer-contact-button { display:inline-flex; align-items:center; justify-content:center; gap:26px; flex-shrink:0; min-height:48px; padding:10px 22px; border-radius:5px; background:var(--brand-gold); color:#102e4e; font-weight:700; }
.opj-footer .footer-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr); gap:40px; padding:44px 0; }
.opj-footer .footer-brand { display:flex; align-items:center; gap:16px; color:white; }
.opj-footer .footer-brand img { width:80px; height:80px; object-fit:contain; padding:4px; border-radius:6px; background:white; flex-shrink:0; }
.opj-footer .footer-brand strong { font:700 22px/1.2 Georgia,serif; }
.opj-footer .footer-brand small { display:block; font-size:9px; letter-spacing:1px; margin-top:8px; }
.opj-footer .footer-contact { margin:22px 0 0; font-style:normal; font-size:14px; line-height:1.8; }
.opj-footer .footer-contact p { margin-bottom:12px; }
.opj-footer .footer-contact a { display:block; width:fit-content; color:#e4edf5; }
.opj-footer .footer-contact .footer-email { margin-top:8px; overflow-wrap:anywhere; }
.opj-footer .footer-title { color:white; font-size:16px; line-height:1.4; margin:4px 0 22px; }
.opj-footer .footer-title:after { content:""; display:block; width:28px; height:2px; background:var(--brand-gold); margin-top:10px; }
.opj-footer .footer-links { display:flex; flex-direction:column; gap:6px; }
.opj-footer .footer-links a { color:#e4edf5; font-size:14px; padding:6px 0; width:fit-content; }
.opj-footer .footer-connect p { font-size:14px; line-height:1.8; margin-bottom:20px; }
.opj-footer .footer-social { display:flex; gap:12px; }
.opj-footer .footer-social a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #ffffff55; border-radius:50%; color:white; font-size:18px; }
.opj-footer a:hover { color:var(--brand-gold); }
.opj-footer a.footer-contact-button:hover { background:#ffcf5c; color:#102e4e; }
.opj-footer .footer-social a:hover { background:#ffffff14; border-color:var(--brand-gold); }
.opj-footer a:focus-visible { outline:2px solid var(--brand-gold); outline-offset:4px; }
.opj-footer .footer-bottom { display:flex; justify-content:space-between; gap:12px 24px; border-top:1px solid #ffffff26; padding:20px 0; background:none; text-align:left; }
.opj-footer .footer-bottom p { margin:0; color:#c4d6e6; font-size:12px; line-height:1.6; }
.opj-footer .footer-bottom a { color:var(--brand-gold); font-weight:700; }
@media(max-width:991.98px) {
  .opj-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .opj-footer .footer-container { padding:0 24px; }
  .opj-footer .footer-bottom { flex-wrap:wrap; }
}
@media(max-width:575.98px) {
  .opj-footer .footer-container { padding:0 20px; }
  .opj-footer .footer-intro { align-items:flex-start; flex-direction:column; padding:28px 0; gap:20px; }
  .opj-footer .footer-grid { gap:28px 20px; padding:30px 0; }
  .opj-footer .footer-school,.opj-footer .footer-connect { grid-column:1 / -1; }
  .opj-footer .footer-brand strong { font-size:21px; }
  .opj-footer .footer-brand img { width:70px; height:76px; }
  .opj-footer .footer-title { margin-bottom:16px; }
}

/* Give consecutive sections distinct surfaces while retaining crest colours. */
.aboutus-section::after {
  background-image:url("../../resources.edunexttechnologies.com/web-data/opjms/images/Nalanda Logo.jpg");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.055;
  pointer-events:none;
}
.leadership-section { background:#f0f6fc!important; }
.news-achievement-section { background:#fff!important; }
.insights-section { background:#f2f7f3!important; }
.opj-footer { background:#102e4e!important; }
.header-strip .social-link a { color:#fff!important; border:1px solid #ffffff55; border-radius:50%; padding:7px; }
.header-strip .social-link a:hover { color:#12365b!important; background:#fff; }
.header-strip .social-icon,.opj-footer .social-icon { display:block; width:20px; height:20px; flex-shrink:0; }
.whts-fixed { left:20px!important; right:auto!important; bottom:24px!important; }
.main-header .desktop-navigation .navigation li > a,
.main-header .desktop-navigation .navigation li:hover > a,
.main-header .mobile-menu .navigation li > a,
.main-header .mobile-menu .navigation li.dropdown .dropdown-btn { color:#000!important; }
.main-header .school-name-wrap { align-items:flex-start; text-align:left; }
.main-header .school-name-main { text-transform:uppercase; font-size:clamp(18px,1.5vw,24px); }
.main-header .school-name-tag { text-transform:none; text-align:left; align-self:flex-start; }
.main-header .mobile-menu-brand-text { text-align:left; align-items:flex-start; }
.main-header .mobile-menu-school-name { text-transform:uppercase; }
.main-header .mobile-menu-trust-name { text-transform:none; }
.opj-footer .footer-brand small { letter-spacing:0; font-size:11px; text-align:left; }
@media(max-width:575.98px) {
  .main-header .school-name-main { font-size:clamp(14px,3.6vw,18px); }
  .main-header .school-name-tag { font-size:9px; }
  .whts-fixed { left:14px!important; bottom:18px!important; }
}

/* Shared shortcuts: remove decorative rules, including page-local separators. */
.leftMenu-Box #leftSideMenu, .leftMenu-Box #leftSideMenu li {
  border:0!important; box-shadow:none!important; background-image:none!important;
}
.leftMenu-Box .section-title { border:0!important; padding-bottom:8px; }
.leftMenu-Box .section-title::before,.leftMenu-Box .section-title::after,
.leftMenu-Box #leftSideMenu li::before,.leftMenu-Box #leftSideMenu li::after,
.leftMenu-Box #leftSideMenu a::before,.leftMenu-Box #leftSideMenu a::after { content:none!important; }
.leftMenu-Box #leftSideMenu a { border:0!important; box-shadow:none!important; margin:3px 0; padding:9px 12px; border-radius:5px; }
.leftMenu-Box #leftSideMenu a:hover { color:#fff!important; background:#ffffff18; }
.leftMenu-Box #leftSideMenu a.active-leftPage { color:#ffda75!important; background:#ffffff20; box-shadow:inset 4px 0 #edbd45!important; }
.leftMenu-Box #leftSideMenu a:focus-visible { outline:2px solid #ffda75; outline-offset:2px; }

/* A consistent, responsive home for photos, videos and press coverage. */
.gallery-hero { position:relative; isolation:isolate; background:#12365b; min-height:310px; display:flex; align-items:center; overflow:hidden; }
.gallery-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.gallery-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,35,60,.92),rgba(10,35,60,.35)); z-index:-1; }
.gallery-hero .container { padding-top:54px; padding-bottom:54px; }
.gallery-kicker { display:block; font-size:12px; font-weight:700; letter-spacing:1.5px; color:#0965a6; }
.gallery-hero .gallery-kicker { color:#ffda75; }
.gallery-hero h1 { color:#fff; font-size:clamp(32px,4vw,48px); font-weight:700; margin:12px 0; line-height:1.15; }
.gallery-hero p { color:#eef5fc; max-width:560px; font-size:17px; line-height:1.7; margin:0; }
.gallery-page { background:#f0f5fa; padding:32px 0 64px; min-height:430px; }
.gallery-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.gallery-tabs a { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 26px; border-radius:24px; background:#fff; border:1px solid #d7e3ee; color:#12365b; font-weight:600; text-decoration:none; }
.gallery-tabs a[aria-current="page"] { background:#0965a6; border-color:#0965a6; color:#fff; }
.gallery-tabs a:hover { border-color:#0965a6; }
.gallery-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.gallery-tile { display:block; min-width:0; overflow:hidden; border:1px solid #dce5ee; border-radius:14px; background:#fff; color:#12365b; box-shadow:0 5px 20px #12365b0a; text-decoration:none; transition:transform .2s,box-shadow .2s; }
a.gallery-tile:hover { transform:translateY(-4px); box-shadow:0 12px 28px #12365b20; }
.gallery-tile > img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; display:block; }
.gallery-tile > video { display:block; width:100%; aspect-ratio:16/9; background:#102235; object-fit:contain; }
.gallery-tile-body { padding:24px; }
.gallery-tile h2 { color:#12365b; font-size:23px; line-height:1.35; margin:10px 0 20px; }
.gallery-action { color:#0965a6; font-weight:700; font-size:15px; display:inline-flex; gap:16px; align-items:center; }
.gallery-action:hover { text-decoration:underline; }
.gallery-page a:focus-visible { outline:3px solid #b27c0d; outline-offset:4px; }
.gallery-empty { background:#fff; border:1px solid #dce5ee; border-radius:14px; text-align:center; padding:54px 24px; }
.gallery-empty-icon { display:inline-grid; place-items:center; background:#edf5fc; color:#0965a6; width:70px; height:70px; border-radius:50%; font-size:36px; margin-bottom:20px; }
.gallery-empty h2 { font-size:27px; color:#12365b; }
.gallery-empty p { color:#526579; max-width:480px; margin:16px auto 24px; line-height:1.8; }
@media(max-width:767.98px) {
  .gallery-hero { min-height:260px; }
  .gallery-hero .container { padding-top:36px; padding-bottom:36px; }
  .gallery-collection { grid-template-columns:1fr; gap:20px; }
  .gallery-page { padding:24px 0 40px; }
  .gallery-tabs a { flex:1; padding:10px 16px; }
  .gallery-tile-body { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .gallery-tile { transition:none; } a.gallery-tile:hover { transform:none; } }
