header {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

header,
main {
  font-size: 16px;
}

header {
  align-items: stretch;
}

header .avatar {
  width: 120px;
  overflow: hidden;
  margin-right: 25px;
}
header .avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  margin-left: 0 !important;
}
header .info {
  flex: 1;
  margin-top: 5px;
}
header .info-name {
  font-size: 27px;
  font-weight: bold;
  margin-bottom: 25px !important;
}
header .info div {
  margin-bottom: 5px;
}

header .info div:last-child {
  margin-bottom: 20px;
}

header .info div span {
  display: inline-block;
  width: 4em;
  font-weight: bold;
  text-align: right;
  margin-right: 1em;
}

main .section {
  margin-bottom: 50px;
}
main .section-title {
  font-size: 21px;
  font-weight: bold;
  color: #C33;
  border-bottom: 2px solid #C33;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

main .section-title ~ div {
  margin-bottom: 12px;
}

/* 主讲课程样式 */
.main-grid {
  display: flex;
}

.main-group {
  flex: 1;
  display: flex;
}

.main-group>div {
  font-weight: bold;
  margin-right: 50px;
}

.main-title {
  font-size: 18px;
}

main .course-group {
  display: flex;
}

main .course-title {
  display: flex;
  flex-direction: column;
  align-items:stretch;
}

main .course-title img {
  height: 30px !important;
  margin-bottom: 18px;
}

main .course-title div {
  flex: 1;
  text-align: center;
  line-height: 20px;
}

main .course-group ul {
  /* flex: 1; */
  list-style: none;
  padding: 0;
  /* display: flex; */
  /* flex-direction: column; */
  /* align-items: flex-start; */
  /* align-content: flex-start; */
  /* flex-wrap: wrap; */
}

main .course-group li {
  /* text-align: center; */
  margin-bottom: 5px;
  /* min-width: 50%; */
  /* max-width: 50%; */
  /* display: flex; */
}

main .course-group span {
  flex: 1;
  position: relative;
}

main .course-group span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 3px;
  background: repeating-linear-gradient(
    to bottom,
    #d8d8d8, #d8d8d8 1px,
    transparent 2px, transparent 5px
  );
  transform: translateX(-50%);
}

main .timeline-item {
  margin-bottom: 12px;
  display: flex;
}

main .timeline-item .date {
  margin-right: 40px;
  white-space: nowrap;
}

main .timeline-item2 {
  line-height: 32px;
  vertical-align: top;
}

main .timeline-item2 .date2 {
  white-space: nowrap;
  padding-right: 40px;
}

main .research-group div {
  margin-top: 10px;
  min-width: 2em;
}

main .research-group ol {
  list-style: decimal;
  list-style-position: outside;
  padding-left: 20px;
  margin-top: 10px;
  margin-bottom: 0px;
}
main .research-group li {
  padding-left: 10px;
  margin-top: 0px !important;
  margin-bottom: 12px;
}

@media (max-width: 1199.9px) {
  .main-group>div {
    margin-right: 20px;
  }
}

@media (max-width: 991.9px) {
  .main-grid {
    flex-direction: column;
  }
  main .course-group span::after {
    width: 0;
  }
  main .course-group:first-child {
    border-bottom: 3px #d8d8d8 dotted;
  }

  main .course-group:nth-child(2) {
    margin-top: 20px;
  }
}