html,
body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, HuaweiSans, Helvetica Neue, Helvetica, Arial,
    PingFang SC, Hiragino Sans GB, STHeiti, Microsoft YaHei, Microsoft JhengHei,
    SimSun, sans-serif;
}

@media screen and (max-width: 376px) {
  .container {
    padding: 0 16px;
  }
}

@media screen and (min-width: 376px) and (max-width: 769px) {
  .container {
    padding: 0 24px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1025px) {
  .container {
    padding: 0 3%;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1776px) {
  .container {
    padding: 0 5%;
  }
}

@media screen and (min-width: 1776px) {
  .container {
    padding: 0 calc((100% - 1600px) / 2);
  }
}

.competition {
  width: 100%;
}

.competition-block .competition-block-title {
  font-size: 36px;
  color: #191919;
  font-weight: bold;
  line-height: 54px;
  text-align: center;
}

.competition-block .competition-block-link {
  font-size: 18px;
  line-height: 28px;
  margin-top: 36px;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #191919;
  padding: 0 !important;
  margin-left: 50%;
  transform: translateX(-50%);
}

.competition-block .competition-block-link img {
  height: 24px;
  margin-left: 3px;
}

/* 大赛平台相关数据展示 */
.competition-block-data {
  padding: 76px 0;
}

.competition-data {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.competition-data .competition-data-item {
  border-radius: 16px;
  background: #fafafa;
  height: 190px;
  width: calc((100% - 48px) / 4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* .competition-data .competition-data-item-icon {
	height: 100%;
	display: flex;
	align-items: center;
} */

.competition-data .competition-data-item-icon img {
  height: 40px;
}

.competition-data .competition-data-item-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.competition-data .competition-data-item-number {
  font-size: 24px;
  color: #191919ff;
  font-weight: bold;
  line-height: 30px;
  margin: 14px auto 8px;
}

.competition-data .competition-data-item-tip {
  font-size: 16px;
  color: #595959;
  line-height: 24px;
}

/* 快速导航 */
.competition-block-nav {
  height: 650px;
  position: relative;
}

.competition-block-nav .por-carousel-pagination {
  bottom: 120px;
}

.competition-nav {
  display: flex;
  height: 100px;
  position: absolute;
  width: 100%;
  bottom: 0;
  background: #ededed70;
}

.competition-nav .competition-nav-item {
  width: 25%;
  cursor: pointer;
  height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.competition-nav .competition-nav-item:hover {
  background: #fff;
}

.competition-nav .competition-nav-item .competition-nav-item-icon {
  display: none;
}

.competition-nav .competition-nav-item .competition-nav-item-icon img {
  height: 32px;
}

.competition-nav .competition-nav-item .competition-nav-item-title {
  color: #191919;
  font-size: 18px;
  font-weight: bold;
  line-height: 26px;
}

.competition-nav-item-title a {
  color: #191919;
}

.competition-nav .competition-nav-item .competition-nav-item-sidetitle {
  margin-top: 4px;
  font-size: 14px;
  line-height: 22px;
}

.competition-nav-item-sidetitle a {
  color: #595959;
}

.competition-block-hot {
  padding: 0 0 76px 0;
}

.competition-hot {
  margin-top: 32px;
}

/* 热门大赛 */
.competition-hot-list {
  display: flex;
  justify-content: space-between;
}

.competition-hot-list .competition-hot-list-item {
  width: calc((100% - 48px) / 3);
  overflow: hidden;
}

.competition-hot-list-item .competition-hot-list-item-banner {
  overflow: hidden;
  border-radius: 16px;
  height: 300px;
  cursor: pointer;
}

.competition-hot-list-item .competition-hot-list-item-banner1 {
  background: url(../img/competition1.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}

.competition-hot-list-item .competition-hot-list-item-banner2 {
  background: url(../img/competition2.png) no-repeat;
  background-size: cover;
  background-position: center;
}

.competition-hot-list-item .competition-hot-list-item-banner3 {
  background: url(../img/competition4.png) no-repeat;
  background-size: cover;
  background-position: center;
}

.competition-hot-list-item .competition-hot-list-item-banner img {
  height: 100%;
  width: 100%;
}

.competition-hot-list-item .competition-hot-list-item-title {
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  margin-top: 24px;
  padding: 0 24px;
  color: #191919;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.competition-hot-list-item .competition-hot-list-item-title:hover {
  text-decoration: underline;
}

.competition-hot-list-item .competition-hot-list-item-bonus,
.competition-hot-list-item .competition-hot-list-item-time {
  font-size: 16px;
  line-height: 24px;
  color: #595959;
  padding: 0 24px;
  margin-top: 8px;
}

/* 竞赛服务站 */
.competition-block-service {
  background: #f5f5f5ff;
  padding: 76px 0;
}

.competition-service {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

.competition-service .competition-service-item {
  width: calc((100% - 48px) / 4);
  height: 302px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 16px;
  padding: 32px;
}

.competition-service-item .competition-service-item-icon {
  height: 48px;
}

.competition-service-item .competition-service-item-icon img {
  height: 100%;
}

.competition-service-item .competition-service-item-title {
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  margin-top: 28px;
  color: #191919;
}

.competition-service-item .competition-service-item-sidetitle {
  font-size: 16px;
  line-height: 24px;
  margin-top: 8px;
  color: #191919;
  height: 48px;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  /* 限定最多显示两行 */
  -webkit-box-orient: vertical;
}

.competition-service-item .competition-service-item-btn {
  height: 40px;
  line-height: 40px;
  border-radius: 50px;
  border: 1px solid #595959;
  font-size: 14px;
  color: #191919;
  display: inline-block;
  width: 120px;
  text-align: center;
  margin-top: 32px;
  cursor: pointer;
}

.competition-service-item-btn a {
  color: #191919;
}

.competition-service-item .competition-service-item-btn:hover {
  border-color: #191919;
}

/* banner */
.competition-banner {
  height: 650px;
}

.competition-banner .competition-banner-list {
  display: flex;
}

.competition-banner-list .competition-banner-list-item {
  width: 100%;
  height: 650px;
  cursor: pointer;
}

.competition-banner-list-item1 {
  background-image: url(../img/banner1-1920.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.competition-banner-list-item2 {
  background-image: url(../img/banner2-1920.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.competition-banner-list-item3 {
  background-image: url(../img/banner3-1920.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.competition-banner-list-item4 {
  background-image: url(../img/banner4-1920.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.competition-banner-list .competition-banner-list-item img {
  height: 100%;
  width: 100%;
}

/* 开发者大赛优秀案例学习 */
.competition-block-case {
  background: #fff;
  padding: 76px 0;
}

.competition-case {
  margin-top: 40px;
}

.competition-case-list {
  display: flex;
  justify-content: space-between;
}

.competition-case-list .competition-case-item {
  width: calc((100% - 48px) / 4);
  display: flex;
  flex-direction: column;
}

.competition-case-item .competition-case-item-icon {
  height: 218px;
  cursor: pointer;
  overflow: hidden;
  border-radius: 16px;
}

.competition-case-item .competition-case-item-icon1 {
  background: url(../img/team1.png) no-repeat;
  background-size: cover;
  background-position: right;
}

.competition-case-item .competition-case-item-icon2 {
  background: url(../img/team2.png) no-repeat;
  background-size: cover;
  background-position: right;
}

.competition-case-item .competition-case-item-icon3 {
  background: url(../img/team3.png) no-repeat;
  background-size: cover;
  background-position: right;
}

.competition-case-item .competition-case-item-icon4 {
  background: url(../img/team4.png) no-repeat;
  background-size: cover;
  background-position: right;
}

.competition-case-item-team {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 20px;
}

.competition-case-item-team .competition-case-item-team-name {
  font-size: 16px;
  color: #191919;
  font-weight: bold;
  line-height: 24px;
}

.competition-case-item-team .competition-case-item-team-line {
  height: 2px;
  background: #191919;
  width: 24px;
  margin: 10px 0 6px;
}

.competition-case-item-team .competition-case-item-team-type {
  font-size: 12px;
  color: #595959;
  line-height: 18px;
}

.competition-case-item .competition-case-item-title {
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
  margin-top: 20px;
  color: #191919;
  padding: 0 20px;
  height: 60px;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  /* 限定最多显示两行 */
  -webkit-box-orient: vertical;
}

.competition-case-item .competition-case-item-title:hover {
  text-decoration: underline;
  cursor: pointer;
}

.competition-case-item .competition-case-item-sidetitle {
  font-size: 16px;
  line-height: 24px;
  margin-top: 8px;
  color: #595959;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 20px;
}

/* port */
.competition-block-port {
  background: #fff;
  padding: 76px 20px 0;
}

.competition-port {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.competition-port-item {
  width: calc((100% - 20px) / 2);
  height: 750px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 16px;
  overflow: hidden;
}

.competition-port-item1 {
  background-image: url(../img/port1-1920.png);
}

.competition-port-item2 {
  background-image: url(../img/port2-1920.png);
}

.competition-port-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
}

.competition-port-text-title {
  font-size: 40px;
  line-height: 60px;
  font-weight: bold;
  color: #fff8f8;
  margin-top: 76px;
}

.competition-port-text-sidetitle {
  font-size: 18px;
  line-height: 28px;
  color: #fff8f8;
  margin-top: 12px;
}

.competition-port-text-btn {
  margin-top: 32px;
  font-size: 14px;
  line-height: 46px;
  height: 48px;
  text-align: center;
  width: 152px;
  border: 1px solid #fff8f8;
  border-radius: 50px;
  color: #fff8f8;
  cursor: pointer;
}

.competition-port-text-btn-disable {
  color: #c2c2c2;
  border-color: #c2c2c2;
  cursor: not-allowed;
}


.competition-portnew {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.competition-portnew-item {
  width: calc((100% - 24px) / 2);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.competition-portnew {
  padding: 76px 20px 0;
}

.competition-portnew-block {
  padding-top: 80.64516%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.competition-portnew-block1 {
  background-image: url(../img/port1-1920.png);
}

.competition-portnew-block2 {
  background-image: url(../img/port2-1920.png);
}

.competition-portnew-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.competition-portnew-content-title {  
  font-size: 40px;
  line-height: 60px;
  font-weight: bold;
  color: #fff8f8;
  margin-top: 76px;
  text-align: center;
}

.competition-portnew-content-sidetitle {
  font-size: 18px;
  line-height: 28px;
  color: #fff8f8;
  margin-top: 12px;
  text-align: center;
}

.competition-portnew-content-btn {
  font-size: 14px;
  line-height: 46px;
  height: 48px;
  text-align: center;
  width: 152px;
  border: 1px solid #fff8f8;
  border-radius: 50px;
  color: #fff8f8;
  cursor: pointer;
  margin: 32px auto 0;
}

.competition-portnew-content-btn-disbale {
  color: #c2c2c2!important;
  border-color: #c2c2c2!important;
  cursor: not-allowed!important;
}


/* 大咖说 */
.competition-block-shot {
  padding-top: 76px;
  background: #fff;
}

.competition-shot {
  height: 562px;
  display: flex;
  margin-top: 40px;
  border-radius: 16px;
  overflow: hidden;
}

.competition-shot .competition-shot-first-live {
  width: 62.5%;
  background-image: url(../img/shot-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  flex-shrink: 0;
  border-radius: 16px 0 0 16px;
  padding: 32px 84px;
  cursor: pointer;
}

.first-live {
  width: 400px;
}

.first-live-countdown {
  font-size: 14px;
  color: #595959;
  line-height: 22px;
}

.first-live-theme {
  font-size: 32px;
  color: #191919;
  line-height: 48px;
  font-weight: bold;
  margin-top: 119px;
  max-height: 96px;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* 这里是超出几行省略 */
  overflow: hidden;
}

.first-live-introduction {
  font-size: 16px;
  color: #191919;
  line-height: 24px;
  margin-top: 8px;
  max-height: 48px;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* 这里是超出几行省略 */
  overflow: hidden;
}

.first-live-time {
  font-size: 18px;
  color: #191919;
  line-height: 28px;
  margin-top: 15px;
}

.first-live-btn-group {
  display: flex;
  margin-top: 24px;
}

.first-live-btn {
  height: 40px;
  line-height: 38px;
  padding: 0 32px;
  border-radius: 50px;
  border: 1px solid #595959;
  cursor: pointer;
  margin-right: 8px;
}

.competition-shot .competition-shot-right {
  border-radius: 0px 16px 16px 0px;
  background: #fafafa;
  height: 100%;
  flex: 1;
  padding: 40px 8px 40px 40px;
  flex-shrink: 0;
  overflow: hidden;
}

.competition-shot .competition-shot-live-list {
  height: 100%;
  overflow: auto;
  display: flex;
  flex-direction: column;
}

.competition-shot-live-list-item {
  width: 100%;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
}

.competition-shot-live-list-item:last-child {
  margin-bottom: 0;
}

.live-list-item-date {
  width: 50px;
  flex-shrink: 0;
}

.live-list-item-seg {
  width: 1px;
  background-color: #c2c2c2;
  height: 40px;
  margin: 0 20px;
}

.live-list-item-date-day {
  font-size: 24px;
  color: #191919;
  text-align: center;
  line-height: 36px;
  font-weight: bold;
}

.live-list-item-date-month {
  font-size: 12px;
  color: #999999;
  text-align: center;
  line-height: 18px;
  font-weight: bold;
}

.live-list-item-content {
  flex: 1;
  overflow: hidden;
}

.live-list-item-content-title {
  font-size: 18px;
  color: #191919;
  font-weight: bold;
  line-height: 28px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
  padding-right: 100px;
}

.live-list-item-content-tag {
  position: absolute;
  top: 4px;
  right: 16px;
  font-size: 12px;
  height: 20px;
  line-height: 20px;
  padding: 0 8px;
  border-radius: 4px;
  font-weight: normal;
}

.live-list-item-content-tag img {
  margin-right: 4px;
  height: 10px;
}

.live-list-item-content-tag1 {
  background: #c7000b;
  color: #fff;
}

.live-list-item-content-tag2 {
  color: #595959;
  background: #5959590a;
}

.live-list-item-content-tag3 {
  background: #5959590a;
  color: #c2c2c2;
}

.live-list-item-content-title:hover {
  text-decoration: underline;
  cursor: pointer;
}

.live-list-item-content-sidetitle {
  font-size: 14px;
  color: #595959;
  line-height: 22px;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*css主要部分的样式*/
/*定义滚动条宽高及背景，宽高分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar {
  width: 8px;
  /*对垂直流动条有效*/
  height: 8px;
  /*对水平流动条有效*/
}

/*定义滚动条的轨道颜色、内阴影及圆角*/
::-webkit-scrollbar-track {
  border-radius: 13px;
}

/*定义滑块颜色、内阴影及圆角*/
::-webkit-scrollbar-thumb {
  border-radius: 13px;
  background-color: #d8d8d8;
}