/* Using Helvetica font family for clean, professional typography */

a {
  color: #1e6fb1;
  text-decoration: none;
  transition: color 0.2s ease;
}

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

/* Icon styling */
.fas, .fab, .far {
  transition: transform 0.3s ease;
}

a:hover .fas, a:hover .fab, a:hover .far {
}

body{
  margin: 0;
}
td,
th,
tr,
p,
a {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: inherit;
}

strong {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h2 {
  margin: 0;
  font-weight: normal;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 24px;
}

.papertitle {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.name {
  padding-top: 20px;
  margin: 0;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 32px;
}

.one {
  width: inherit;
  height: inherit;
  position: relative;
}

.two {
  width: inherit;
  height: inherit;
  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;
}

section {
  padding-top: 0;
}

ul{
  width: 100%;
  position: fixed;
  list-style: none;
  background-color: #ffffff;
  text-align:center;
  padding-inline-start: 0%;
  margin-block-start: 0%;
  z-index: 999;
}

ul li{
  display: inline-block;
  /* position:sticky; */
}

ul li a{
  padding: 10px;
  display: block;
  color: #454545;
  
}

ul li a:hover{
  color: #6493df;
  /* font-size: 17px; */
}

@media (max-width: 1240px) {
  .desktop-component {
      display: none;
  }

  .mobile-component {
      display: block;
  }
}

/* 在屏幕宽度大于 1240px 时，显示电脑组件，隐藏手机组件 */
@media (min-width: 769px) {
  .desktop-component {
      display: block;
  }

  .mobile-component {
      display: none;
  }
}

.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  justify-content: flex-start;
}

.item {
  width: 15%;
  margin: 0.83%;
  text-align: center;
}

@media screen and (max-width: 769px){
  .item {
    width: 23%;
    margin: 1%;
    text-align: center;
  }
}

.item img {
  width: 100%; 
  max-width: 120px;
  object-fit: auto; 
  object-position: center;
}

.item p {
  margin: 16px 0;
  font-size: 14px;
}

.CVPR {
  background-color: #4192e8; 
  padding: 6px 12px; 
  display: inline-block; 
  color: #ffffff;
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.insub {
  background-color: #858585; 
  padding: 6px 12px; 
  display: inline-block; 
  color: #ffffff;
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.arxiv {
  background-color: #da4242; 
  padding: 6px 12px; 
  display: inline-block; 
  color: #ffffff;
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.interest {
  background-color: #ffffff; 
  padding: 4px; 
  display: inline-block; 
  color: #464646;
}

.interest:hover{
  background-color: #dedede; 
  color: #000000;
}

hr {
  border: none;
  height: 1px;
  background-color: rgb(231, 231, 231);
  margin-left: 20px;
  margin-right: 20px;
}

.image-text-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  align-items: flex-start;
}
.image-text-container .image {
  flex: 1;
  max-width: 60px;
  text-align: top;
}
.image-text-container .text {
  flex: 1;
  padding-left: 20px;
}
.image-text-container img {
  max-width: 100%;
  height: auto;
}

.paper-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background-color: #ffffff;
  border: 2px solid #efeeee;
  transition: background-color 0.3s ease;
  margin-bottom: 10px;
}
.paper-container .image {
  flex: 1;
  max-width: 120px;
  text-align: top;
  /* padding-right:20px; */
}
.paper-container .text {
  flex: 1;
  padding-left: 15px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 120px;
}
.paper-container img {
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease;
  border: 4px solid #ffffff;
}

.paper-container:hover {
  background-color: #efeeee;
}

.paper-container:hover img {
}

.paper-container .papertitle {
  /* margin-bottom: 6px; */
  display: inline-block;
  color: #333333;
  transition: all 0.3s ease;
}

.paper-container:hover .papertitle {
  color: #222222;
}

.paper-container p {
  margin-top: 6px;
  margin-bottom: 12px;
}

.paper-container .paper-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}

.paper-title-section {
  flex: 0 0 auto;
}

.paper-bottom-section {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.experience-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: linear-gradient(110deg, #ffffff, #ffffff, #ffffff,#ffffff,#ffffff, #e1ebf2, #c9e8e8);
  background-size: 200% 200%;
  background-position: left;
  transition: background-position 0.25s ease;
  margin-bottom: 15px;
}
.experience-container .image {
  flex: 1;
  max-width: 80px;
  text-align: top;
  padding-right:20px;
}
.experience-container .text {
  flex: 1;
  padding-left: 20px;
  text-align: left;
}
.experience-container img {
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

.experience-container:hover {
  background-position: right;
}

.experience-container:hover img {
}

td {
  padding-left: 2px;
  padding-right: 2px;
}

.bio {
  flex: 1 1 70%;
  padding: 20px;
}
.bio p {
  text-align: left; /* Adjust text alignment as needed */
}
.links {
  text-align: left;
  margin-top: 1em;
}
.links a {
  text-decoration: none;
}

.face-name {
  padding-top: 10px;
  display: flex;
  align-items: flex-end;
  justify-content: space-evenly;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  align-content: center;
}
.profile-img {
  width: 150px;
  object-fit: cover;
}
.name-info {
  flex: 1;
  font-size: 30px;
}

.logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.logo-container img {
  height: 50px;
  /* width: 50px; */
  flex-shrink: 0;
  margin-left: 10px;
  transition: transform 0.3s ease;
  filter: grayscale(30%);
}

.logo-container img:hover {
  filter: grayscale(0%);
}

.timeline {
  display: flex;
  flex-direction: column;
  width: 50%;
  margin: auto;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.event {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
  border-bottom: 1px solid #ddd;
}
.date {
  font-weight: bold;
  text-align:center;
  padding-right: 10px;
}
.description {
  flex-grow: 1;
  padding-left: 10px;
}

.buttom {
  display: inline-block;
  padding: 6px 12px;
  background-color: #8c8c8c;
  transition: all 0.3s ease;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  flex-shrink: 0;
}

.buttom:hover {
  background-color: #ffffff;
  color: #000000;
}

.bio-button {
  background-color: #4682b4 !important;
  color: #ffffff !important;
}

.bio-button:hover {
  background-color: #87ceeb !important;
  color: #ffffff !important;
}

/* Print styles */
@media print {
  /* Ensure content is not truncated */
  * {
    overflow: visible !important;
  }

  /* Adjust page margins */
  body {
    padding: 0;
  }

  /* Ensure images don't exceed page width */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  .profile-img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* Prevent elements from breaking across pages */
  .paper-container,
  .experience-container {
    page-break-inside: avoid;
  }

  /* Hide navigation and other non-essential elements for print */
  .mobile-component,
  .desktop-component {
    display: none !important;
  }

  /* Adjust table layout */
  table {
    page-break-inside: avoid;
  }
}

/* Random thoughts animation */
.thought-item {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  /* margin-bottom: 2px; */
  /* padding: 4px 0; */
}

.thought-item.show {
  opacity: 1;
  transform: translateY(0);
}

.thought-item.hide {
  opacity: 0;
  transform: translateY(-10px);
}

/* Icon rotation animation */
#thoughts-toggle i {
  transition: transform 0.3s ease;
}

/* Smooth expand/collapse for thoughts content */
#thoughts-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

#thoughts-content.expanded {
  max-height: 200px;
}