body {
  overflow: hidden;
  overscroll-behavior: contain !important;
}

.my-drawer {
  position: fixed;
  top: 0;
  width: 100%;
  overscroll-behavior: contain !important;
  background-color: #f5f6f6;
  overflow-y: scroll;
  margin: 0 auto;
}

.my-drawer::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.list::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.ct::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.am-drawer {
  overflow: scroll;
  overscroll-behavior: contain !important;
}

.ct {
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain !important;
  padding: 1.05rem 0 1.2rem;
  height: 100%;
}

.ctfix {
  padding-top: 1.05rem;
  height: 100%;
  overflow: hidden;
}

.list {
  min-height: calc(101vh);
  background-color: #ffffff;
  max-width: 7.7rem !important;
  margin: 0 auto;
}

a,
a:active,
a:hover,
a:visited {
  display: flex;
  text-decoration: none;
  color: #262626;
}

.empty-result {
  display: none;
}

.empty-ct {
  width: 100%;
  height: 4.16rem;
  max-width: 7.7rem !important;
  margin: 0 auto;
}

.empty-ct .empty-img {
  width: 3.45rem;
  height: 2.31rem;
  margin: 0.6rem 2.02rem 0.25rem;
}

.empty-ct .empty-title {
  font-size: 0.28rem;
  color: #8c8c8c;
  text-align: center;
}

div,
a {
  box-sizing: border-box;
}

.menu-icon {
  position: fixed;
  z-index: 19;
  bottom: 20%;
  right: calc(100vw / 2 - 3.75rem + 0.4rem);
  width: 1.03rem !important;
  height: 1.03rem !important;
  border-radius: 55%;
  background-color: rgba(0, 0, 0, 0.45);
}

.menu-icon i {
  margin-top: 0.02rem !important;
  margin-right: 0.05rem !important;
  line-height: 1.03rem !important;
  font-size: 0.7rem !important;
  color: #ffffff !important;
  text-align: center;
}

/* pop-filter */
#pop-overlay {
  display: none;
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  /* max-width: 7.7rem; */
  margin: 0 auto;
  background-color: #000000;
  opacity: 0.5;
  transition: all 0.2s ease-in;
}

#pop-major {
  position: fixed;
  z-index: 2001;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80vh;
  max-width: 7.7rem;
  overflow-y: auto;
  border-top-left-radius: 0.24rem;
  border-top-right-radius: 0.24rem;
  background-color: #ffffff;
  transform: translateY(80vh);
  transition: all 0.2s ease-in;
}

#pop-major::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
  width: 0;
  height: 0;
}

#pop-overlay.show {
  display: block;
  transition: all 0.2s ease-in;
}

#pop-major.show {
  transform: translateY(0);
  transition: all 0.2s ease-in;
}

#pop-major .head {
  width: 100%;
  height: 1.05rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0.35rem;
  border-bottom: 0.01rem solid #e7e7e7;
}

#pop-major .head .cancel,
#pop-major .head .confirm {
  width: 0.7rem;
  height: 0.45rem;
  line-height: 0.5rem;
  font-size: 0.32rem;
  color: #8c8c8c;
}

#pop-major .head .title {
  height: 0.5rem;
  font-size: 0.36rem;
  font-weight: 700;
  color: #595959;
  line-height: 0.5rem;
}

#pop-major .content {
  width: 100%;
  height: calc(80vh - 1.05rem);
  padding: 0.35rem;
  overflow-y: auto;
}

#pop-major .content::-webkit-scrollbar {
  width: 0;
  height: 0;
}

#pop-major .content .cate-part:not(:last-child) {
  margin-bottom: 0.15rem;
}

#pop-major .content .cate-name {
  height: 0.45rem;
  font-size: 0.32rem;
  font-weight: 700;
  color: #262626;
  line-height: 0.45rem;
  margin-bottom: 0.2rem;
}

#pop-major .content .cate-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#pop-major .content .major-item {
  display: inline-block;
  flex-shrink: 0;
  width: calc(50% - 0.1rem);
  height: 0.8rem;
  margin-bottom: 0.2rem;
  border-radius: 0.08rem;
  border: 0.02rem solid #e7e7e7;
  font-size: 0.28rem;
  font-weight: 400;
  color: #262626;
  line-height: 0.8rem;
  text-align: center;
}

#pop-major .content .major-item.active {
  background: rgba(24, 144, 255, 0.15);
  border: 0.02rem solid #1890ff;
  color: #1890ff;
  font-weight: bold;
}

/* pop-desc */

#pop-desc {
  position: fixed;
  visibility: hidden;
  width: 6.1rem;
  z-index: 2001;
  padding: 0.4rem 0.4rem 0;
  border-radius: 0.12rem;
  background-color: #ffffff;
  display: none;
  overscroll-behavior: contain !important;
}

#pop-desc::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
  width: 0;
  height: 0;
}

#pop-desc.show {
  visibility: visible;
}

#pop-desc .title {
  height: 0.5rem;
  line-height: 0.5rem;
  font-size: 0.36rem;
  font-weight: bold;
  color: #262626;
  text-align: center;
}
#pop-desc .detail {
  max-height: 40vh;
  overflow: auto;
  margin: 0.2rem 0 0.4rem;
  line-height: 0.48rem;
  font-size: 0.32rem;
  color: #020e19;
  text-align: justify;
  word-break: break-all;
}

#pop-desc .detail::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
  width: 0;
  height: 0;
}

#pop-desc .confirm-btn {
  margin-left: -0.4rem;
  width: 6.1rem;
  height: 1rem;
  line-height: 1rem;
  font-size: 0.32rem;
  color: #1890ff;
  text-align: center;
  border-top: 0.01rem solid #e7e7e7;
}

/* 新版排名库 start */
/* 顶部header */
.header {
  position: relative;
  width: 100%;
  height: 62.4vw;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: bottom;
}

.header .top-line {
  position: fixed;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 0.8rem;
  color: #fff;
  padding: 0 0.24rem;
  box-sizing: border-box;
  margin-top: 0.125rem;
  z-index: 948;
}

.header .top-line .back-btn {
  width: 0.24rem;
  height: 0.24rem;
  border-left: 0.03rem solid #FFFFFF;
  border-bottom: 0.03rem solid #FFFFFF;
  transform: rotate(45deg);
  position: relative;
  left: 0.05rem;
}

.header .top-line .more-btn {
  font-size: 0.28rem;
}

.header .year-box {
  position: absolute;
  z-index: 16;
  left: calc(100vw / 2 - 0.92rem);
  top: 1.18rem;
  width: 1.92rem;
  height: 0.6rem;
  background-color: #fff;
  box-shadow: 0px 2px 4px 0px rgba(68, 113, 202, 0.17);
  border-radius: 0.28rem;
  border-image: linear-gradient(
      180deg,
      rgba(255, 255, 255, 1),
      rgba(255, 255, 255, 0.15)
    )
    1 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header .year-box .year-text {
  font-size: 0.4rem;
  font-weight: bold;
  margin-right: 0.05rem;
}

.header .year-box .icon-unfold {
  font-size: 0.5rem;
  font-weight: 400;
}

.header .year-box .icon-unfold.up {
  transform: rotate(180deg);
}

.header .tip-img {
  position: absolute;
  right: -0.08rem;
  top: calc(100vh / 6 - 0.8rem);
  width: 0.6rem;
  height: 1.6rem;
  display: block;
}

/* 固定header */
.fixed-title-box {
  position: fixed;
  top: 1.05rem;
  left: 0;
  width: 100%;
  height: 1.05rem;
  background-color: #fff;
  z-index: 949;
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  display: none;
}

.fixed-title-box.show {
  display: block;
}

.fixed-title-box .container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 0.28rem;
  box-sizing: border-box;
}

.fixed-title-box .container .back-btn {
  width: 0.24rem;
  height: 0.24rem;
  border-left: 0.03rem solid #FFFFFF;
  border-bottom: 0.03rem solid #FFFFFF;
  transform: rotate(45deg);
}

.fixed-title-box .container .title {
  font-size: 0.36rem;
  font-weight: bold;
  color: #fff;
  line-height: 0.8rem;
  margin-left: 0.1rem;
  width: calc(100% - 1.6rem);
}

.fixed-title-box .container .more-btn {
  font-size: 0.28rem;
  color: #fff;
  position: absolute;
  right: 0.24rem;
}

/* 专业、类别分类 */
.filter-search-box {
  position: relative;
  width: 100%;
  height: auto;
  padding: 0.1rem 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 0.1rem;
}

.filter-search-box.active-fixed {
  position: sticky;
  top: 1.05rem;
  background-color: #fefefe;
  box-shadow: 0px 2px 4px 0px rgba(189, 178, 172, 0.3);
  z-index: 949;
}

.filter-search-box .type-line {
  display: flex;
  align-items: center;
  width: 100%;
  height: 0.8rem;
  box-sizing: border-box;
}

.filter-search-box .type-line.hide {
  display: none!important;
}

.filter-search-box .type-line .type-box {
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0 0.5rem 0 0.24rem;
  box-sizing: border-box;
}

.filter-search-box .type-line .type-box .scroll-box {
  display: flex;
  align-items: flex-start;
  overflow-x: scroll;
  overflow-y: hidden;
  height: 120%;
}

.filter-search-box .type-line .type-box .scroll-box .type {
  font-weight: 400;
  font-size: 0.28rem;
  color: #4F5153;
  flex-shrink: 0;
  margin-right: 0.4rem;
}

.filter-search-box .type-line .type-box .scroll-box .type {
  position: relative;
  flex-shrink: 0;
  line-height: 0.8rem;
}

.filter-search-box .type-line .type-box .scroll-box .type.active {
  color: #121414;
  font-size: 0.36rem;
  font-weight: 600;
}

.filter-search-box .type-line .type-box .scroll-box .type .gradient-line {
  position: absolute;
  top: 0.45rem;
  left: 0.01rem;
  width: 100%;
  height: 0.18rem;
  background: none;
  z-index: 1;
}

.filter-search-box .type-line .type-box .scroll-box .type .text {
  position: relative;
  display: block;
  z-index: 2;
}

.filter-search-box .type-line .menu-btn {
  position: absolute;
  top: 0.2rem;
  right: 0.04rem;
  width: 0.4rem;
  height: 0.4rem;
  background-image: url(https://info.compassedu.hk/znz-app/rankv2/menu-btn.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* 搜索框 */
.search-line {
  width: 100%;
  height: 0.8rem;
  padding: 0 0.24rem;
  box-sizing: border-box;
  display: flex;
}

.search-line .search-box {
  height: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 0.12rem;
  backdrop-filter: blur(10px);
  box-shadow: 0px 2px 20px 0px rgba(216, 222, 230, 0.28);
}

.search-line .search-box .search-icon {
  position: initial!important;
  display: block;
  width: 0.45rem;
  height: 0.45rem;
  margin-left: 0.1rem;
}

.search-line .search-box input {
  width: 90%;
  border: none;
  outline: none;
}

.search-line .search-box input::placeholder {
  color: #999;
  font-size: 0.28rem;
}

.search-line .area-box {
  height: 100%;
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 0.12rem;
  backdrop-filter: blur(10px);
  box-shadow: 0px 2px 20px 0px rgba(216, 222, 230, 0.28);
  padding: 0 0.2rem;
  box-sizing: border-box;
  margin-left: 0.2rem;
  color: #262626;
  font-size: 0.26rem;
}

.search-line .area-box.hide {
  display: none!important;
}

.search-line .area-box .area-btn {
  width: 0.18rem;
  height: 0.13rem;
  background-image: url(https://info.compassedu.hk/znz-app/rankv2/triangle-down-1.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin-left: 0.05rem;
}

.search-line .area-box .area-btn.down {
  transform: rotate(180deg);
}

/* 年份弹窗 */
.mobileSelect .grayLayer,
.mobileSelect .content {
  max-width: 100vw!important;
}

.mobileSelect .content {
  height: 6.6rem; 
}

.mobileSelect .cancel,
.mobileSelect .ensure {
  display: none!important;
}

.mobileSelect .content .btnBar {
  height: 1rem;
  margin: 0 auto;
}

.mobileSelect .content .btnBar .title {
  width: 100%;
  color: #262626;
  font-weight: 600;
  font-size: 0.32rem;
  line-height: 0.51rem;
  text-align: center;
}

.mobileSelect .content .btnBar .fixWidth {
  height: 100%;
  display: flex;
  align-items: center;
}

.year-pop-close {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.2rem;
  font-size: 0.3rem;
  font-weight: 500;
  color: #8e909b;
}

#pop-rank-year-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.08rem;
  width: 6.96rem;
  height: 0.88rem;
  justify-content: center;
  margin: 0.3rem auto;
  background: linear-gradient(151deg, #019dff 0%, #2372ff 100%);
  color: #fff;
  font-size: 0.3rem;
}

.mobileSelect .content .panel .wheels,
.mobileSelect .content .panel .wheels .wheel {
  height: 3.92rem;
}
/* 新版排名库 end */

.headfix, .contact  {
  max-width: 100vw!important;
}

.loading-text {
  line-height: 0.6rem;
  padding: 0 !important;
  font-size: 0.28rem !important;
  margin-bottom: 0.2rem;
}

.no-data-box {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.no-data-box .img {
  display: block;
  width: 4.2rem;
  height: 2.9rem;
}

.no-data-box .text {
  font-size: 0.28rem;
  color: #8c8c8c;
  line-height: 0.4rem;
  margin-top: 0.3rem;
}

/* app里的样式 */
.ct-app {
  padding: 0 0 1.2rem;
}

.ct-app .headfix {
  position: relative!important;
}

.ct-app .fixed-title-box {
  top: 0!important;
}

.ct-app .header .top-line {
  position: relative;
}