/* Personal proportions, on top of the original Minimal Light styles. */
header .image.avatar {
  width: 180px;
  aspect-ratio: 1;
  margin: 20px 0 4px;
  overflow: hidden;
  background: #b1b2af;
}

/* Extend the photo's soft background while keeping the original portrait intact. */
header .image.avatar::before {
  display: block;
  border-radius: inherit;
  opacity: 1;
  background: url("../img/avatar-glasses.png") center top / cover;
  filter: blur(10px);
  transform: scale(1.15);
}

header .image.avatar img {
  display: block;
  position: absolute;
  top: -1%;
  left: 7%;
  width: 86%;
  height: auto;
  padding: 0;
  border-radius: 0;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}

.award-highlight {
  font-weight: 600;
}

header h1 {
  margin: 16px 0 20px;
  font-size: 40px;
  line-height: 1.1;
}

header .chinese-name {
  display: block;
  margin-top: 6px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.5;
}

@media screen and (min-width: 961px) {
  div.wrapper {
    width: min(1060px, calc(100% - 64px));
  }

  header,
  footer {
    width: 260px;
  }

  section {
    width: calc(100% - 320px);
  }

  .publications .pub-row > .abbr {
    box-sizing: border-box;
    flex: 0 0 200px;
  }

  .publications .pub-row > .col-sm-9 {
    flex: 1;
    min-width: 0;
    width: auto;
  }
}

@media screen and (min-width: 961px) and (max-width: 1100px) {
  header,
  footer {
    width: 240px;
  }

  section {
    width: calc(100% - 280px);
  }
}

@media screen and (max-width: 960px) {
  header .image.avatar {
    width: 160px;
  }
}

@media screen and (max-width: 480px) {
  header .image.avatar {
    width: 150px;
  }

  header h1 {
    font-size: 36px;
  }

  header .chinese-name {
    font-size: 22px;
  }
}
