/* AcademicPages / Minimal-Mistakes inspired static style for Sarat Chandra Nagavarapu */
:root{
  --global-font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
  --header-font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
  --text-color:#494e52;
  --muted-text-color:#6f777d;
  --primary-color:#52adc8;
  --border-color:#f2f3f3;
  --background-color:#fff;
  --code-background-color:#fafafa;
  --link-color:#52adc8;
  --link-color-hover:#2f7f96;
}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;padding:0;color:var(--text-color);font-family:var(--global-font-family);font-size:16px;line-height:1.5;background:var(--background-color)}
a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-color-hover);text-decoration:underline}
p{margin-top:0;margin-bottom:1.3em}ul,ol{margin-top:0;margin-bottom:1.3em;padding-left:1.3em}li{margin-bottom:.35em}strong,b{font-weight:700;color:#3d4144}i,em{font-style:italic;color:inherit}
.masthead{position:relative;border-bottom:1px solid #f2f3f3;animation:none;z-index:20;background:#fff}
.masthead__inner-wrap{max-width:1280px;margin:0 auto;padding:1em 1em;clear:both}
.greedy-nav{position:relative;min-width:250px;background:#fff;display:flex;align-items:center;justify-content:space-between}
.site-title{font-weight:700;color:#494e52;font-size:1em;line-height:1}.site-title:hover{text-decoration:none;color:#494e52}
.visible-links{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}.masthead__menu-item{margin:0}.masthead__menu-item a{display:block;margin:0 0 0 1.25rem;padding:.5rem 0;color:#7a8288;font-size:.75em;font-weight:700;text-transform:none}.masthead__menu-item a:hover,.masthead__menu-item a.active{color:#494e52;text-decoration:none}
#main{max-width:1280px;margin-left:auto;margin-right:auto;clear:both;padding-left:1em;padding-right:1em;display:flex;gap:2.2rem;align-items:flex-start}
.sidebar{float:left;width:220px;flex:0 0 220px;margin-top:2em;padding-right:0;opacity:.95;position:sticky;top:1em;border-right:0!important;background:transparent}.author__avatar{display:table-cell;vertical-align:top;width:100%;padding:0}.author__avatar img{max-width:175px;border-radius:50%;display:block;margin:0 auto 1em;box-shadow:none;border:0}.author__content{display:block;width:100%;font-size:.9em}.author__name{margin:0 0 .5em;font-size:1.1em;line-height:1.2;color:#494e52}.author__bio{margin:0 0 1em;color:#6f777d;font-size:.9em;line-height:1.5}.author__urls-wrapper{position:relative;margin-top:1em}.btn{display:none}.author__urls{display:block;list-style:none;margin:0;padding:0}.author__urls li{white-space:nowrap;margin:0 0 .45em;color:#6f777d;font-size:.88em}.author__urls a{color:#6f777d}.author__urls a:hover{color:#52adc8;text-decoration:none}.author__urls img{width:26px!important;height:26px!important;object-fit:contain;vertical-align:-3px;margin-right:6px;border-radius:0}.label{vertical-align:middle}
.page{float:right;width:calc(100% - 260px);flex:1 1 auto;padding-right:0;padding-left:0;margin-top:2em}.page__inner-wrap{float:left;width:100%;clear:both}.page__content{max-width:860px;color:var(--text-color)}.paper{width:auto;max-width:860px}.page__content h1,.page__content h2,.page__content h3,.page__content h4{font-family:var(--header-font-family);line-height:1.25;color:#494e52;font-weight:700}.page__content h1{margin-top:0;margin-bottom:.5em;font-size:1.563em;border-bottom:0!important;padding-bottom:0!important}.page__content h2{margin-top:1.55em;margin-bottom:.5em;font-size:1.25em;border-bottom:1px solid #f2f3f3;padding-bottom:.5em}.page__content h3{margin-top:1.35em;margin-bottom:.45em;font-size:1.05em}.page__content p,.page__content li{font-size:.92em}.page__content ol li,.page__content ul li{margin-bottom:.4em}.page__content br{line-height:1.5}.page__content a{overflow-wrap:break-word}.page__content font[color="blue"]{color:#52adc8!important}.page__content img:not(.author__avatar img){max-width:100%;height:auto}.page__content iframe{max-width:100%;border:0;margin:.75em 0 1.25em}.page__content .research-block,.page__content .project,.page__content .card{border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;margin:0 0 1.3em!important;box-shadow:none!important}
.video-list{display:block;margin:1em 0 1.5em}.video-wrapper{position:relative;width:100%;max-width:560px;aspect-ratio:16/9;background:#fafafa;border:0;border-radius:0;overflow:hidden;margin:0 0 1em}.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0}.pubs li{margin-bottom:1em}.news{list-style:disc;padding-left:1.3em}.timeline li{margin-bottom:.4em}code{padding:.15em .35em;border-radius:4px;background:#fafafa;border:1px solid #f2f3f3;font-size:.85em}.page__footer{max-width:1280px;margin:2em auto 0;padding:1em;color:#9ba1a6;font-size:.75em}.page__footer-copyright{padding-top:.75em;border-top:1px solid #f2f3f3}
/* Tame legacy copied-image badges in publications/contact areas */
.page__content a img[align]{max-height:28px!important;width:auto!important;vertical-align:middle;margin:0 .4em .4em 0}.page__content img[align="right"]{float:none!important;display:inline-block!important;max-height:28px!important;width:auto!important}
@media(max-width:900px){.masthead__inner-wrap{padding:.75em 1em}.greedy-nav{display:block}.visible-links{flex-wrap:wrap;margin-top:.5em}.masthead__menu-item a{margin-left:0;margin-right:1rem;font-size:.8em}#main{display:block;padding-left:1em;padding-right:1em}.sidebar{position:static;width:100%;float:none;display:block;margin-top:1.25em;padding-bottom:1em;border-bottom:1px solid #f2f3f3}.author__avatar img{margin-left:0;width:120px}.author__urls li{display:inline-block;margin-right:1em}.page{width:100%;float:none;margin-top:1.5em}.page__content{max-width:100%}.page__content h1{font-size:1.45em}.page__content h2{font-size:1.15em}}

/* Font-size update requested: keep all readable text at 17px */
body,
.site-title,
.masthead__menu-item a,
.sidebar,
.author__content,
.author__name,
.author__bio,
.author__urls li,
.page__content,
.page__content p,
.page__content li,
.page__content ol li,
.page__content ul li,
.page__content a,
.page__content strong,
.page__content b,
.page__content em,
.page__content i,
.page__content font,
.page__footer,
code {
  font-size: 17px;
}

@media (max-width: 900px) {
  .masthead__menu-item a,
  .page__content p,
  .page__content li,
  .sidebar,
  .author__content,
  .author__bio,
  .author__urls li {
    font-size: 17px;
  }
}

/* Justify main page text only. Headings, navigation, and sidebar remain unchanged. */
.page__content p,
.page__content li {
  text-align: justify;
  text-justify: inter-word;
}

/* Top navigation: normal-weight tabs with bottom underline highlight */
.masthead__menu-item a {
  position: relative;
  font-weight: 400 !important;
  border-bottom: 2px solid transparent;
  padding-bottom: 0.35rem;
  text-decoration: none !important;
}

.masthead__menu-item a:hover,
.masthead__menu-item a.active {
  color: #494e52;
  font-weight: 400 !important;
  border-bottom-color: var(--primary-color);
  text-decoration: none !important;
}

.homepage-quote {
  max-width: 720px;
  margin: 0 auto 1.8rem auto;
  padding: 0.2rem 0 0.8rem 0;
  color: #6f777d;
  text-align: center;
}

.homepage-quote p {
  margin: 0;
  font-style: italic;
  font-size: 1.05em;
  line-height: 1.6;
  text-align: center !important;
}

.homepage-quote span {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.9em;
  color: #8a8f94;
  text-align: right !important;
}

/* Mobile responsive fixes */
@media screen and (max-width: 768px) {

  body {
    font-size: 16px;
    overflow-x: hidden;
  }

  .masthead {
    position: relative;
    width: 100%;
  }

  .masthead__inner-wrap {
    padding: 0.75rem 1rem;
    display: block;
  }

  .site-title {
    display: block;
    margin-bottom: 0.6rem;
    font-size: 1.05rem;
  }

  .masthead__menu {
    float: none;
    width: 100%;
  }

  .masthead__menu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.8rem;
    padding-left: 0;
    margin: 0;
  }

  .masthead__menu-item {
    display: inline-block;
    margin: 0;
  }

  .masthead__menu-item a {
    font-size: 15px;
    padding-bottom: 0.2rem;
  }

  .initial-content {
    display: block;
    max-width: 100%;
    padding: 0 1rem;
  }

  .sidebar {
    float: none;
    width: 100%;
    max-width: 100%;
    padding: 1rem 0;
    margin: 0;
    text-align: center;
  }

  .author__avatar {
    display: block;
    margin: 0 auto 1rem auto;
  }

  .author__avatar img {
    width: 140px;
    height: 140px;
    max-width: 140px;
    object-fit: cover;
    border-radius: 50%;
  }

  .author__content {
    text-align: center;
  }

  .author__name {
    font-size: 1.1rem;
    margin-bottom: 0.35rem;
  }

  .author__bio,
  .author__location,
  .author__affiliation {
    font-size: 0.95rem;
    line-height: 1.4;
  }

  .author__urls-wrapper {
    margin-top: 0.8rem;
  }

  .author__urls {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    padding-left: 0;
    margin: 0.5rem 0 1rem 0;
    list-style: none;
  }

  .author__urls li {
    display: inline-block;
    margin: 0;
  }

  .author__urls img {
    max-width: 26px;
    max-height: 26px;
    width: 26px;
    height: 26px;
    object-fit: contain;
  }

  .page {
    float: none;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }

  .page__inner-wrap {
    width: 100%;
    max-width: 100%;
  }

  .page__content {
    width: 100%;
    max-width: 100%;
    padding: 0;
    font-size: 16px;
    line-height: 1.6;
  }

  .page__content h1 {
    font-size: 1.45rem;
    line-height: 1.3;
  }

  .page__content h2 {
    font-size: 1.2rem;
    line-height: 1.35;
    margin-top: 1.4rem;
  }

  .page__content p,
  .page__content li {
    text-align: left;
    line-height: 1.55;
  }

  .page__content ul,
  .page__content ol {
    padding-left: 1.2rem;
  }

  .page__content img {
    max-width: 100%;
    height: auto;
  }

  .homepage-quote {
    max-width: 100%;
    margin: 0 auto 1.4rem auto;
    padding: 0 0.5rem 0.8rem 0.5rem;
  }

  .homepage-quote p {
    font-size: 1rem;
    line-height: 1.5;
    text-align: center !important;
  }

  .homepage-quote span {
    text-align: right !important;
    font-size: 0.9rem;
  }

  figure {
    margin-left: 0;
    margin-right: 0;
  }

  figure iframe,
  iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 220px !important;
  }
}

img {
  max-width: 100%;
  height: auto;
}

/* Remove heading underline/separator on mobile */
@media screen and (max-width: 768px) {
  .page__content h1,
  .page__content h2,
  .page__content h3 {
    border-bottom: none !important;
    box-shadow: none !important;
    background-image: none !important;
  }
}

/* Force top navigation to appear beside the name on desktop */
@media screen and (min-width: 769px) {

  .masthead__inner-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 1rem 2rem !important;
    box-sizing: border-box !important;
  }

  .site-title,
  .masthead__title,
  .masthead__menu-item--lg {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin: 0 2.5rem 0 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }

  .masthead__menu,
  .greedy-nav,
  .visible-links {
    display: flex !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .masthead__menu ul,
  .greedy-nav ul,
  .visible-links {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 1.25rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .masthead__menu-item,
  .visible-links li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .masthead__menu-item a,
  .visible-links li a {
    font-weight: 400 !important;
    text-decoration: none !important;
    padding-bottom: 0.35rem !important;
  }
}

/* Mobile: keep name on top and navigation below */
@media screen and (max-width: 768px) {

  .masthead__inner-wrap {
    display: block !important;
    padding: 1rem !important;
  }

  .site-title,
  .masthead__title,
  .masthead__menu-item--lg {
    display: block !important;
    margin-bottom: 0.8rem !important;
    white-space: normal !important;
  }

  .masthead__menu,
  .greedy-nav,
  .visible-links {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  .masthead__menu ul,
  .greedy-nav ul,
  .visible-links {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 0.75rem 1.2rem !important;
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }
}

/* Align sidebar icons vertically with text */
.author__urls.social-icons a {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  line-height: 1.7 !important;
}

.author__urls.social-icons .social-icon,
.author__urls.social-icons img,
.author__urls.social-icons svg {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  transform: translateY(0px);
}

/* Keep top navigation fixed while scrolling */
.masthead {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #f2f3f3 !important;
}

@media screen and (max-width: 768px) {
  .visitor-widget {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  .visitor-widget iframe,
  .visitor-widget img,
  .visitor-widget object,
  .visitor-widget embed,
  .visitor-widget canvas,
  .visitor-widget svg {
    display: block !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* Visitor counter/map section */
.visitor-widget {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  margin-top: 0.8rem !important;
  margin-bottom: 2.5rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-left: 0 !important;
  text-align: left !important;
  display: block !important;
}

.visitor-widget iframe,
.visitor-widget img,
.visitor-widget object,
.visitor-widget embed,
.visitor-widget canvas,
.visitor-widget svg {
  display: block !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 100% !important;
  height: auto !important;
}

/* =========================================================
   FINAL CLEAN FIX: fixed header + sticky sidebar with NO sidebar scrollbar
   ========================================================= */

/* Keep the top navigation visible while the page scrolls */
.masthead {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #f2f3f3 !important;
}

/* Desktop header: keep menu items close to the name, not pushed to the right */
@media screen and (min-width: 769px) {
  .masthead__inner-wrap {
    display: block !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 1rem 2rem !important;
  }

  .greedy-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    background: #ffffff !important;
  }

  .site-title,
  .greedy-nav .site-title {
    flex: 0 0 auto !important;
    display: inline-block !important;
    margin: 0 2.2rem 0 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  .visible-links {
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 1.15rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    text-align: left !important;
  }

  .visible-links li,
  .masthead__menu-item {
    margin: 0 !important;
    padding: 0 !important;
  }

  .visible-links li a,
  .masthead__menu-item a {
    margin: 0 !important;
    padding: 0 0 0.35rem 0 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
  }

  .visible-links li a:hover,
  .visible-links li a.active,
  .masthead__menu-item a:hover,
  .masthead__menu-item a.active {
    color: #494e52 !important;
    border-bottom-color: var(--primary-color) !important;
    text-decoration: none !important;
  }

  /* Keep sidebar in the normal page layout, but sticky. No internal scroll area. */
  .sidebar {
    position: sticky !important;
    top: 6rem !important;
    left: auto !important;
    float: none !important;
    align-self: flex-start !important;
    width: 220px !important;
    flex: 0 0 220px !important;
    max-height: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: clip !important;
    overflow-y: clip !important;
    overflow-x: clip !important;
    margin-top: 2em !important;
    padding-right: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .sidebar::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  .page {
    margin-left: 0 !important;
  }
}

/* Mobile/tablet: sidebar should be normal and no left-panel scroll region */
@media screen and (max-width: 768px) {
  body {
    padding-top: 0 !important;
  }

  .masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: #ffffff !important;
  }

  .sidebar {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .sidebar::-webkit-scrollbar {
    display: none !important;
  }
}

/* Visitor map: compact and left aligned */
.visitor-widget {
  width: 180px !important;
  max-width: 180px !important;
  min-width: 0 !important;
  margin: 0.8rem 0 2.5rem 0 !important;
  padding: 0 !important;
  text-align: left !important;
  display: block !important;
  overflow: visible !important;
}

.visitor-widget iframe,
.visitor-widget img,
.visitor-widget object,
.visitor-widget embed,
.visitor-widget canvas,
.visitor-widget svg,
.visitor-widget table,
.visitor-widget div,
.visitor-widget a {
  display: block !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 180px !important;
}
