[class|=contest] {
    padding: 0 20px;
}

* {
    box-sizing: border-box;
}

li {
    list-style: none;
}

body {
    background: #f5fff7;
    margin: 0;
    padding: 0;
}

.flex {
    display: flex;
    flex-direction: row;
}

h3, h2, h4, h5 {
    margin: 0;
    padding: 0;
}

h2 {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #00b59b;
    font-size: 30px;
    padding: 0;
    margin: 70px 0 0;
}

h2 > i {
    background: url("./images/header-bg.jpg") no-repeat center / contain;
    width: 42px;
    height: 40px;
    margin: 0 22px;
}

h2 ~ p {
    padding: 0;
    color: #848686;
    font-size: 15px;
    line-height: 2;
    text-indent: 2em;
    max-width: 940px;
    margin: 0 auto;
}

h2 + p {
    margin: 40px auto 0;
}

.contest-bg h3 {
    text-align: center;
    color: #00b59b;
    margin: 60px 0 20px;
    font-size: 18px;
}

.contest-bg div div {
    text-align: center;
}

.contest-bg div div a {
    color: #00b59b;
    font-size: 15px;
    line-height: 2;
    text-decoration: none;
}

.contest-lightspot h3 {
    color: #00b59b;
    display: flex;
    margin: 8px auto;
    max-width: 940px;
}

.contest-lightspot h3:before {
    content: "";
    border: 11px solid #00b59b;
    /*border-width: 10px 20px 30px 0;*/
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 0;
    margin-right: 8px;
}

.contest-lightspot .flex {
    padding: 20px 0 0;
    max-width: 1400px;
    margin: 0 auto;
}

.contest-lightspot .flex > div {
    width: calc(33.333% - 16px);
}

.contest-lightspot .flex div:nth-of-type(2) {
    margin: 0 24px;
}

.contest-lightspot .flex div div {
    border: 8px solid #00b59b;
    position: relative;
    padding-top: 60%;
}

.contest-lightspot .flex div p {
    color: #00b59b;
    text-align: center;
    font-size: 14px;
    margin: 16px 0;
}

.contest-lightspot .flex div img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.contest-info h3, .contest-info h4 {
    color: #00b59b;
    text-align: center;
}

.contest-info h3 {
    margin: 50px 0 20px;
    font-size: 24px;
}

.contest-info p {
    text-indent: 0;
}

.contest-info .sub {
    padding-left: 2em;
}

.contest-info h4 {
    margin: 20px 0;
    font-size: 20px;
}

.contest-progress ul {
    margin: 30px auto 0;
    padding: 0;
    position: relative;
    max-width: 940px;
}

.contest-progress ul:after {
    top: 0;
    left: 9px;
    content: "";
    position: absolute;
    height: 100%;
    width: 2px;
    background: repeating-linear-gradient(#00b59b 0, #00b59b 10px, transparent 10px, transparent 20px);
}

.contest-progress ul li + li {
    margin-top: 20px;
}

.contest-progress li {
    position: relative;
    padding: 0 0 0 44px;
}

.contest-progress li h3 {
    color: #00b59b;
    line-height: 20px;
    font-size: 16px;
}

.contest-progress h3 ~ p {
    font-size: 14px;
    line-height: 1;
    color: #848686;
    margin: 16px 0;
}

.contest-progress li i {
    background: #00b59b;
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    z-index: 1;
}

.contest-progress li i {
    background: #00b59b;
}

.contest-reward h3 {
    color: #00b59b;
    font-size: 20px;
    text-align: center;
    margin: 20px 0;
}

.contest-reward dl {
    background: #c0efe3;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 64px 24px;
    border-radius: 8px;
    max-width: 940px;
    margin: 60px auto 0;
    position: relative;
}

.contest-reward dt {
    background: #c0efe3;
    width: 200px;
    height: 60px;
    line-height: 60px;
    position: absolute;
    left: 50%;
    top: 0;
    margin: -30px 0 0 -100px;
    border-radius: 30px;
    text-align: center;
    font-size: 24px;
    color: #00b59b;
    box-shadow: 0 12px 0 0 #9fdfce;
}

.contest-reward dd {
    height: 246px;
    width: 33.333%;
    margin: 0;
    border: 12px solid #c0efe3;
}

.contest-reward dd > div {
    height: 210px;
    background: white;
    box-shadow: 0 12px 0 0 #9fdfce;
}

.contest-reward dd h4 {
    background: #00b59b;
    color: white;
    height: 46px;
    line-height: 46px;
    width: 162px;
    margin: 0 auto 20px;
    border-radius: 0 0 4px 4px;
    text-align: center;
}

.contest-reward dd h4 ~ div {
    color: #ff5e25;
    text-align: center;
    font-size: 16px;
    line-height: 28px;
}

.contest-reward dd h4 ~ div em {
    font-style: normal;
    font-size: 28px;
}

.contest-reward .green {
    color: #00b59b;
    font-size: 14px;
    margin: 10px 0 0;
}

.contest-tutor ul {
    padding: 0;
    max-width: 940px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 60px auto 0;
}

.contest-tutor .major {
    width: 671px;
}

.contest-tutor .market {
    width: 1007px;
}

.contest-tutor h3 {
    color: #00b59b;
    text-align: center;
    margin: 20px 0 0;
    font-size: 16px;
}

.contest-tutor li {
    padding: 0 16px;
    flex: 0 0 168px;
}

.contest-tutor li img {
    width: 136px;
    height: 136px;
    display: block;
    border-radius: 50%;
}

.contest-tutor li h3 {
    color: #00b59b;
    text-align: center;
    margin: 20px 0;
    font-size: 22px;
}

.contest-tutor li p {
    color: #848686;
    font-size: 12px;
    line-height: 18px;
    padding-bottom: 10px;
}

.contest-judge-1 p {
    width: 500px;
    text-align: center;
    margin: 20px auto 0;
}

.contest-organization dt {
    font-size: 14px;
    color: #848686;
    text-align: center;
    margin: 20px 0;
}

.contest-organization dd {
    color: #00b59b;
    text-align: center;
    max-width: 840px;
    margin: 0 auto;
    padding: 0;
    font-size: 16px;
    line-height: 2;
}

.contest-faq {
    padding: 0 0 60px;
}

.contest-faq p {
    text-align: center;
}


.contest-judge-2 h2 {
    padding: 0 0 30px;
}

.contest-judge-2 dl {
    overflow: hidden;
    width: 380px;
    margin: 0 auto;
}

.contest-judge-2 dt {
    float: left;
    color: #00b59b;
    line-height: 32px;
    width: 70px;
    font-size: 16px;
    font-weight: 900;
}

.contest-judge-2 dd {
    font-size: 14px;
    margin: 0;
    line-height: 32px;
    float: left;
    color: #848686;
}

/*reset*/
.tabs-region {
    background: #1a957d;
}

.content-contest-detail .tabs_wrapper .px_tabs > li > a {
    color: white;
}

.content-contest-detail .tabs_wrapper .px_tabs > li.active {
    background: #23c1a2;
}

.content-contest-detail .tabs_wrapper .px_tabs > li:hover {
    background: #23c1a2;
}

.content-contest-detail .tabs_wrapper .px_tabs > li.active a {
    color: white;
}

.content-contest-detail .tabs_wrapper .px_tabs {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.content-contest-detail .tabs_wrapper .px_tabs > li:hover a {
    color: white;
}

.content-contest-detail .tabs_wrapper .px_tabs > li {
    margin: 0;
    padding: 0 25px;
}

.content-contest-detail .contest-head-infor .contest-time .time-pre,
.content-contest-detail .contest-head-infor .contest-time .time-day-con {
    font-style: normal;
    color: #00b59b;
}

/*bgs*/
.contest-bg {
    background: url("./images/m1.png") no-repeat 5% 123% / 600px 160px;
}

.contest-bg > div {
    background: url("./images/m1.png") no-repeat 95% 123% / 240px 64px;
}

.contest-progress {
    padding-top: 1px;
    background: url("./images/m1.png") no-repeat 5% 20px / 600px 160px;
}

.contest-reward {
    padding-top: 1px;
    background: url("./images/m1.png") no-repeat 80% 60px / 200px 53px;
}

.contest-reward h3 {
    margin: 20px 0 0;
    padding-bottom: 60px;
    background: url("./images/m1.png") no-repeat 106% 27px / 420px 112px;
}

.contest-reward h3 + dl {
    margin-top: 0;
}

.contest-tutor {
    background: url("./images/m1.png") no-repeat 95% 143% / 600px 160px;
}

.contest-faq {
    background: url("./images/m1.png") no-repeat 5% 143% / 600px 160px;
}

.contest-faq h2 {
    padding-top: 70px;
    margin-top: 0;
    background: url("./images/m1.png") no-repeat 85% 99% / 240px 64px;
}