.box {
  width: 100%;
  height: auto;
  box-sizing: border-box;
}
.margin-b5 {
  margin-bottom: 5rpx;
}
.margin-b10 {
  margin-bottom: 10rpx;
}
.margin-b15 {
  margin-bottom: 15rpx;
}
.margin-b20 {
  margin-bottom: 20rpx;
}
.margin-b25 {
  margin-bottom: 25rpx;
}
.margin-b30 {
  margin-bottom: 30rpx;
}
.margin-b40 {
  margin-bottom: 40rpx;
}
.margin-b60 {
  margin-bottom: 60rpx;
}
.margin-b80 {
  margin-bottom: 80rpx;
}
.margin-b100 {
  margin-bottom: 100rpx;
}
.margin-r5 {
  margin-right: 5rpx;
}
.margin-r10 {
  margin-right: 10rpx;
}
.margin-r15 {
  margin-right: 15rpx;
}
.margin-r20 {
  margin-right: 20rpx;
}
.margin-r25 {
  margin-right: 25rpx;
}
.margin-r30 {
  margin-right: 30rpx;
}
.margin-r40 {
  margin-right: 40rpx;
}
.margin-r60 {
  margin-right: 60rpx;
}
.font-18 {
  font-style: normal;
  font-size: 18rpx;
  font-family: Droid Sans Fallback;
}
.font-20 {
  font-style: normal;
  font-size: 20rpx;
  font-family: Droid Sans Fallback;
}
.font-22 {
  font-style: normal;
  font-size: 22rpx;
  font-family: Droid Sans Fallback;
}
.font-24 {
  font-style: normal;
  font-size: 24rpx;
  font-family: Droid Sans Fallback;
}
.font-26 {
  font-style: normal;
  font-size: 26rpx;
  font-family: Droid Sans Fallback;
}
.font-28 {
  font-style: normal;
  font-size: 28rpx;
  font-family: Droid Sans Fallback;
}
.font-30 {
  font-style: normal;
  font-size: 30rpx;
  font-family: Droid Sans Fallback;
}
.font-32 {
  font-style: normal;
  font-size: 32rpx;
  font-family: Droid Sans Fallback;
}
.font-34 {
  font-style: normal;
  font-size: 34rpx;
  font-family: Droid Sans Fallback;
}
.font-36 {
  font-style: normal;
  font-size: 36rpx;
  font-family: Droid Sans Fallback;
}
.font-38 {
  font-style: normal;
  font-size: 38rpx;
  font-family: Droid Sans Fallback;
}
.font-40 {
  font-style: normal;
  font-size: 40rpx;
  font-family: Droid Sans Fallback;
}
.font-46 {
  font-style: normal;
  font-size: 46rpx;
  font-family: Droid Sans Fallback;
}
.font-50 {
  font-style: normal;
  font-size: 50rpx;
  font-family: Droid Sans Fallback;
}
.font-60 {
  font-style: normal;
  font-size: 60rpx;
  font-family: Droid Sans Fallback;
}
.font-80 {
  font-style: normal;
  font-size: 80rpx;
  font-family: Droid Sans Fallback;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.color-white {
  color: #FFFFFF;
}
.color-red {
  color: #dc0000;
}
.color-black {
  color: #000;
}
.color-black-3 {
  color: #333;
}
.color-black-6 {
  color: #666;
}
.color-black-9 {
  color: #999;
}
.font-weight-400 {
  font-weight: 400;
}
.font-weight-500 {
  font-weight: bold;
}
.spacing-20 {
  width: 750rpx;
  height: 20rpx;
  background-color: #f8f8f8;
}
.radius-10 {
  border-radius: 10rpx;
}
.radius-20 {
  border-radius: 20rpx;
}
.radius-30 {
  border-radius: 30rpx;
}
.radius-circle {
  border-radius: 50%;
}
.radius-height {
  border-radius: 10000px;
}
.vs-flex {
  display: flex;
}
.vs-flex-item {
  flex: 1;
}
.vs-space-between {
  justify-content: space-between;
}
.vs-space-around {
  justify-content: space-around;
}
.vs-space-center {
  justify-content: center;
}
.vs-space-end {
  justify-content: flex-end;
}
.vs-row {
  flex-direction: row;
}
.vs-column {
  flex-direction: column;
}
.vs-align-end {
  align-items: flex-end;
}
.vs-align-center {
  align-items: center;
}
.vs-align-start {
  align-items: flex-start;
}
.vs-item-hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.vs-btn-hover {
  opacity: 0.8;
}
.color-base {
  color: #1663ff;
}
.bg-color-base {
  background-color: #1663ff;
}
.status_bar {
  height: 25px;
  width: 100%;
  background-color: transparent;
}
.status_bar .top_view {
  height: 25px;
  width: 100%;
  position: fixed;
  background-color: transparent;
  top: 0;
  z-index: 999;
}
page {
  background-color: #f2f2f2;
}
.play-box {
  position: relative;
  width: 100%;
  height: 210px;
  float: left;
  background-color: black;
}
.xgplayer-mobile {
  padding-top: 50% !important;
}
.xgplayer-skin-default .xgplayer-poster {
  height: 192px !important;
  overflow: hidden;
}
.iframe-player-box,
.player-container,
.video {
  width: 100%;
  height: 420rpx;
}
.play-box > video {
  width: 100%;
  height: 240px;
}
.play-box > .no-auth {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  padding-left: 30px;
  padding-right: 30px;
}
.play-box > .no-auth > .btn {
  display: inline-block;
  width: 100%;
  height: 42px;
  line-height: 42px;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.9);
  color: #FF4B4B;
  border: 1px solid #FF4B4B;
  border-radius: 21px;
  margin-top: 70px;
}
.course-info {
  position: relative;
  width: 100%;
  min-height: 150rpx;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30rpx;
}
.course-info .play-rate {
  width: 100%;
  height: 60rpx;
  display: flex;
  justify-content: left;
  align-items: center;
}
.course-info .play-rate text {
  color: #333333;
  line-height: 40rpx;
}
.course-info .play-rate .rate-item {
  width: 90rpx;
  height: 40rpx;
  border-radius: 10rpx;
  line-height: 38rpx;
  font-size: 20rpx;
  text-align: center;
  border: 1rpx solid #ACAFC3;
  color: #ACAFC3;
  margin-right: 24rpx;
  font-weight: bold;
}
.course-info .play-rate .active {
  color: #000 !important;
  background-color: #CCDEFF !important;
  border: 1rpx solid #CCDEFF;
}
.course-info .course-title {
  font-size: 32rpx;
  font-weight: 800;
  color: #000000;
}
.course-info .course-desc {
  margin: 20rpx 0;
  color: #555555;
  font-size: 28rpx;
  text-align: justify;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.course-info .course-other {
  color: #B7BACA;
  font-size: 25rpx;
}
.course-info .course-other text {
  margin-right: 40rpx;
}
.course-tabs {
  margin-top: 10rpx;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: #FFFFFF;
  z-index: 999;
}
.swiper-item-box {
  position: relative;
  height: 100vh;
}
.swiper-item-box .swiper-item {
  border-top: 1px solid #efefef;
  background: #FFFFFF;
  position: relative;
}
.swiper-item-box .swiper-item scroll-view {
  height: 100% !important;
}
.course-like {
  position: absolute;
  bottom: 30rpx;
  right: 40rpx;
}
.buy-foot,
.comment-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  height: 100rpx;
  width: 750rpx;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  padding: 0 30rpx;
  justify-content: space-between;
  box-shadow: 0px 0px 10px #B2B5C6;
}
.buy-foot .charge,
.comment-bottom-bar .charge {
  color: #F11C1C;
  font-size: 36rpx;
  font-weight: bold;
}
.buy-foot .buy-btn-box,
.comment-bottom-bar .buy-btn-box {
  padding: 0 20rpx;
  display: flex;
  align-items: center;
}
.buy-foot .buy-btn-box .vip-tip,
.comment-bottom-bar .buy-btn-box .vip-tip {
  margin: 0 20rpx;
  font-size: 30rpx;
  letter-spacing: 2rpx;
  font-weight: bold;
  color: #FE9521;
}
.buy-foot .buy-btn-box .buy-btn,
.comment-bottom-bar .buy-btn-box .buy-btn {
  width: 180rpx;
  height: 60rpx;
  line-height: 60rpx;
  text-align: center;
  border-radius: 35rpx;
  background-image: linear-gradient(to right, #FF104B, #FF785F);
  color: #FFFFFF;
  font-size: 26rpx;
  font-weight: bold;
  letter-spacing: 2rpx;
}
.chapters {
  padding: 20rpx 30rpx;
}
.chapters .chapter-name {
  width: 100%;
  height: auto;
  float: left;
  font-size: 15px;
  color: #333;
  font-weight: 700;
  margin-bottom: 15px;
  margin-top: 10px;
}
.chapters .video-item {
  width: 100%;
  height: auto;
  float: left;
  display: flex;
  margin-bottom: 20rpx;
  line-height: 60rpx;
  box-sizing: border-box;
  padding-left: 5px;
  border-bottom: 1rpx dashed #efefef;
}
.chapters .video-item .active {
  color: #FF4B4B !important;
  font-weight: bold !important;
}
.chapters .video-item .name {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14px;
  color: rgba(51, 51, 51, 0.8);
}
.chapters .video-item .name .video-name {
  font-size: 30rpx;
  width: 490rpx;
}
.chapters .video-item .name .free {
  padding: 2px 4px;
  background-color: #FF4B4B;
  border-radius: 3px;
  color: #fff;
  font-size: 12px;
  margin-right: 5px;
}
.chapters .video-item .name .lock-fill:before {
  content: "";
}
.chapters .video-item .duration {
  width: auto;
  height: auto;
  font-size: 12px;
  margin-left: 10px;
  color: #999;
}
.chapters .video-item .duration image {
  position: relative;
  top: 10rpx;
  display: inline-block;
  width: 28rpx;
  height: 20rpx;
  margin-left: 20rpx;
}
.comment {
  display: flex;
  padding: 30rpx;
}
.comment .left image {
  width: 64rpx;
  height: 64rpx;
  border-radius: 50%;
  background-color: #f2f2f2;
}
.comment .right {
  flex: 1;
  padding-left: 20rpx;
  font-size: 30rpx;
}
.comment .right .top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10rpx;
}
.comment .right .top .name {
  color: #000000;
  font-weight: 500;
}
.comment .right .content {
  margin-bottom: 10rpx;
}
.comment-bottom-bar > .input {
  flex: 1;
}
.comment-bottom-bar > .input > input {
  width: 100%;
  height: 30px;
  float: left;
  background: #eeeeee;
  border-radius: 18px;
  border: 0;
  box-sizing: border-box;
  padding: 3px 15px;
  font-size: 12px;
}
.comment-bottom-bar > .send-button {
  margin-left: 15px;
  font-size: 13px;
  font-weight: 400;
  color: #cccccc;
  line-height: 30px;
}
.comment-bottom-bar > .send-button.active {
  color: #1784ed;
  font-weight: bold;
}
.chapters {
  padding: 20rpx 30rpx;
}
.chapters .collapse-item {
  padding: 10rpx 40rpx 0;
}
.chapters .collapse-item .u-node {
  width: 20rpx;
  height: 20rpx;
  background: #FFFFFF;
  border: 2rpx solid #FDD303;
  border-radius: 50%;
}
.chapters .collapse-item .study_status {
  width: 120rpx;
  border: 2rpx solid #333333;
  border-radius: 26rpx;
  position: absolute;
  text-align: center;
  font-size: 24rpx;
  font-weight: bold;
  line-height: 38rpx;
  color: #333333;
  top: 28rpx;
  right: 0;
}
.chapters .collapse-item-word {
  padding: 30rpx 40rpx;
  display: flex;
  align-items: center;
}
.chapters .collapse-item-word .u-node {
  margin-right: 10rpx;
}

