.rank__banner {
  height: 168px;
  background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/rank-banner.png');
  background-size: cover;
}

.rank__body {
  padding: 20px 5px 39px;
  background-color: #5327FA;
}

.rank__address {
  display: block;
  width: 133px;
  height: 26px;
  margin: 0 auto 10px;
  padding: 0;
  border: 1px solid #FFF604;
  border-radius: 13px;
  box-sizing: border-box;
  font-size: 13px;
  color: #FFF604;
  line-height: 26px;
  background-color: transparent;
  outline: none;
  cursor: pointer;
}

.rank__table {
  display: table;
  width: 100%;
  margin: 0 0 20px;
  border-radius: 5px;
  overflow: hidden;
}

.rank__table-header {
  display: table-row;
  height: 38px;
  border-radius: 5px 5px 0px 0px;
  background-color: #5970FF;
}

.rank__table-body {
  display: table-row;
  height: 38px;
  background-color: #471CE6;

  &:nth-child(odd) {
    background-color: #3900C9;
  }
}

.rank__table-column {
  display: table-cell;
  font-size: 14px;
  color: #fff;
  text-align: center;
  vertical-align: middle;

  &:nth-child(1) {
    width: 15%;
  }

  &:nth-child(2) {
    width: 30%;
  }

  &:nth-child(3) {
    width: 20%;
  }

  &:nth-child(4) {
    width: 35%;
  }
}

.rank__table-num {
  display: inline-block;
  width: 14px;
  height: 16px;
  background-size: cover;

  &[data-num="1"] {
    background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/717/-s-diyiming.png');
  }

  &[data-num="2"] {
    background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/717/-s-dierming.png');
  }

  &[data-num="3"] {
    background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_717/m/717/-s-disanming.png');
  }
}

.rank__table-user {
  display: flex;
  align-items: center;
  padding: 0 5px;

  span {
    flex: 1;
    text-align: left;
  }
}

.rank__table-portrait {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  border-radius: 50%;
  background-size: cover;
}

.rank__rule {
  margin: 0 5px;
  padding: 20px 20px 48px;
  border-radius: 5px;
  background-color: #5970FF;
}

.rank__rule-title {
  position: relative;
  width: 103px;
  margin: 0 auto 15px;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  line-height: 1;

  &::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 1px;
    background-color: #fff;
  }

  &::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 1px;
    background-color: #fff;  
  }
}

.rank__rule-desc {
  font-size: 12px;
  color: #F0F1FF;
  line-height: 18px;
}