/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u8w4BMUTPHjxsAUi-qNiXg7eU0.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u8w4BMUTPHjxsAXC-qNiXg7Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u_w4BMUTPHjxsI5wq_FQftx9897sxZ.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u_w4BMUTPHjxsI5wq_Gwftx9897g.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6uyw4BMUTPHjx4wXiWtFCc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u9w4BMUTPHh6UVSwaPGQ3q5d0N7w.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

a {
  color: #1772d0;
  text-decoration: none;
}

a:focus,
a:hover {
  color: #f09228;
  text-decoration: none;
}

body,
td,
th,
tr,
p,
a {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 14px
}

strong {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 14px;
}

heading {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 22px;
}

papertitle {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700
}

name {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 32px;
}

.one {
  width: 160px;
  height: 160px;
  position: relative;
}

.two {
  width: 160px;
  height: 160px;
  position: absolute;
  transition: opacity .2s ease-in-out;
  -moz-transition: opacity .2s ease-in-out;
  -webkit-transition: opacity .2s ease-in-out;
}

.fade {
  transition: opacity .2s ease-in-out;
  -moz-transition: opacity .2s ease-in-out;
  -webkit-transition: opacity .2s ease-in-out;
}

span.highlight {
  background-color: #ffffd0;
}

/*.label {
    border: 1px solid #000
}*/

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: 700
}

.label {
    display: inline;
    padding: .2em .6em .2em;
    font-size: 75%;
    font-weight: 700;
    line-height: 2;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em
}

a.label:focus,
a.label:hover {
    color: #fff;
    text-decoration: none;
    cursor: pointer
}

.label:empty {
    display: none
}

.btn .label {
    position: relative;
    top: -1px
}

.label-default {
    background-color: #777
}

.label-default[href]:focus,
.label-default[href]:hover {
    background-color: #5e5e5e
}

.label-primary {
    background-color: #337ab7
}

.label-primary[href]:focus,
.label-primary[href]:hover {
    background-color: #286090
}

.label-success {
    background-color: #5cb85c
}

.label-success[href]:focus,
.label-success[href]:hover {
    background-color: #449d44
}

.label-paper {
    background-color: #5cb85c
}

.label-paper[href]:focus,
.label-paper[href]:hover {
    background-color: #449d44
}

.label-talk {
    background-color: #2563eb
}

.label-talk[href]:focus,
.label-talk[href]:hover {
    background-color: #1d4ed8
}

.label-milestone {
    background-color: #e53e3e
}

.label-milestone[href]:focus,
.label-milestone[href]:hover {
    background-color: #c53030
}

.label-info {
    background-color: #5bc0de
}

.label-info[href]:focus,
.label-info[href]:hover {
    background-color: #31b0d5
}

.label-warning {
    background-color: #f0ad4e
}

.label-warning[href]:focus,
.label-warning[href]:hover {
    background-color: #ec971f
}

.label-danger {
    background-color: #d9534f
}

.label-danger[href]:focus,
.label-danger[href]:hover {
    background-color: #c9302c
}

#network-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: #ffffff;
}

#network-bg canvas {
  display: block;
}

.filter-btn {
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  color: #333;
  padding: 8px 16px;
  margin: 5px;
  cursor: pointer;
  border-radius: 4px;
  font-size: 14px;
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  transition: all 0.3s ease;
}

.filter-btn:hover {
  background-color: #e0e0e0;
  border-color: #bbb;
}

.filter-btn.active {
  background-color: #1772d0;
  color: #fff;
  border-color: #1772d0;
}

.filter-btn.active:hover {
  background-color: #155ba0;
  border-color: #155ba0;
}

.news-container {
  max-height: 600px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 10px;
}

.news-container::-webkit-scrollbar {
  width: 8px;
}

.news-container::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.news-container::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.news-container::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Tab Navigation Styles */
.tab-navigation {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #ddd;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.tab-btn {
  background-color: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: #666;
  padding: 6px 12px;
  margin-right: 2px;
  cursor: pointer;
  font-size: 13px;
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-weight: 400;
  transition: all 0.2s ease;
  outline: none;
}

.tab-btn:hover {
  color: #1772d0;
  background-color: #f8f8f8;
}

.tab-btn.active {
  color: #1772d0;
  border-bottom-color: #1772d0;
  font-weight: 500;
}

.content-section {
  scroll-margin-top: 20px;
}

/* Mobile Responsive Styles */
@media screen and (max-width: 768px) {
  /* Adjust main container */
  body {
    padding: 0;
    margin: 0;
  }
  
  /* Make main content table responsive */
  table[style*="max-width:900px"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 10px;
    box-sizing: border-box;
  }
  
  /* Adjust main container padding */
  table {
    padding: 0 10px;
  }
  
  /* Make profile section stack vertically with photo first */
  /* Target the nested table that contains profile info */
  table > tbody > tr > td > table > tbody > tr {
    display: flex !important;
    flex-direction: column;
  }
  
  table > tbody > tr > td > table > tbody > tr td[style*="width:63%"],
  table > tbody > tr > td > table > tbody > tr td[style*="width:40%"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px !important;
  }
  
  /* Reorder profile photo to appear first on mobile */
  table > tbody > tr > td > table > tbody > tr td[style*="width:40%"] {
    order: -1; /* Move photo to top */
    text-align: center;
  }
  
  table > tbody > tr > td > table > tbody > tr td[style*="width:63%"] {
    order: 0; /* Keep text content after photo */
  }
  
  /* Make icons smaller on mobile */
  p a img[style*="height:15px"] {
    height: 12px !important;
    margin-bottom: -1px !important;
  }
  
  /* Adjust name font size */
  name {
    font-size: 24px;
  }
  
  /* Adjust heading font size */
  heading {
    font-size: 18px;
  }
  
  /* Make all images responsive - override inline width styles */
  img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
  }
  
  /* Tab navigation container adjustments */
  .tab-navigation {
    padding: 5px 0 !important;
  }
  
  .tab-navigation > div {
    padding: 0 10px !important;
  }
  
  /* Make table cells stack for publications/projects/media */
  table tbody tr {
    display: block;
  }
  
  table tbody tr td[style*="width:25%"],
  table tbody tr td[style*="width:75%"] {
    display: block !important;
    width: 100% !important;
    padding: 10px !important;
    vertical-align: top !important;
  }
  
  /* Handle colspan cells */
  table tbody tr td[colspan] {
    display: block !important;
    width: 100% !important;
  }
  
  /* Adjust headings */
  h2 {
    font-size: 20px;
    margin-top: 20px;
    margin-bottom: 15px;
  }
  
  h3 {
    font-size: 16px;
    margin-top: 15px;
    margin-bottom: 10px;
  }
  
  /* Center images in media/projects sections on mobile */
  table tbody tr td[style*="width:25%"] img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
  }
  
  /* Adjust font sizes */
  body, td, th, tr, p, a {
    font-size: 13px;
  }
  
  strong {
    font-size: 13px;
  }
  
  papertitle {
    font-size: 13px;
  }
  
  /* Adjust tab navigation for mobile */
  .tab-navigation {
    flex-wrap: wrap;
    justify-content: center;
    padding: 5px 0;
  }
  
  .tab-btn {
    font-size: 11px;
    padding: 5px 8px;
    margin: 2px;
  }
  
  /* Adjust news container */
  .news-container {
    max-height: none;
    padding-right: 0;
  }
  
  /* Adjust filter buttons */
  .filter-btn {
    font-size: 12px;
    padding: 6px 12px;
    margin: 3px;
  }
  
  /* Adjust label sizes */
  .label {
    font-size: 70%;
    padding: .15em .5em .15em;
  }
  
  /* Adjust content section scroll margin */
  .content-section {
    scroll-margin-top: 50px;
  }
  
  /* Reduce padding in table cells */
  table tbody tr td {
    padding: 10px 5px !important;
  }
  
  /* Make links wrap better */
  p a {
    word-break: break-word;
  }
  
  /* Adjust profile photo container */
  .one, .two {
    width: 120px;
    height: 120px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 480px) {
  /* Extra small devices */
  name {
    font-size: 20px;
  }
  
  heading {
    font-size: 16px;
  }
  
  body, td, th, tr, p, a {
    font-size: 12px;
  }
  
  strong {
    font-size: 12px;
  }
  
  papertitle {
    font-size: 12px;
  }
  
  .tab-btn {
    font-size: 10px;
    padding: 4px 6px;
  }
  
  .label {
    font-size: 65%;
  }
  
  /* Reduce padding even more */
  table tbody tr td {
    padding: 8px 3px !important;
  }
  
  /* Make profile photo smaller */
  .one, .two {
    width: 100px;
    height: 100px;
  }
  
  /* Better spacing for list items */
  ul li {
    margin-bottom: 8px;
    line-height: 1.5;
  }
  
  /* Adjust paragraph spacing */
  p {
    margin-bottom: 10px;
    line-height: 1.5;
  }
}