/*root styles*/
:root{
    font:normal normal normal 16px/1 '微软雅黑','Microsoft YaHei Bold',sans-serif;
}
html,body{
    width:100%;
    height:100%;
    color:#323232;
}
*,*::before,*::after{box-sizing: border-box;margin:0;padding:0;}
a{text-decoration: none;color:#323232;}
a[role=button]{
    display: block;
    background: linear-gradient(to right,#FF768D,#FFB785);
    width:680px;
    height:60px;
    border-radius: 30px;
    font-size:30px;
    line-height: 60px;
    font-weight: 700;
    text-align: center;
    color:#FFFFFF;
    transition: all .25s ease-in;
}
a[role=button]:hover{
    box-shadow: 0 5px 10px rgba(162, 24, 49, 0.35);
    transform:translateY(-5px);
    cursor: pointer;
}
dl,ul,ol{list-style:none;margin:0;padding:0;}
/*header style*/
body > header {
    background:#FFFFFF;
    position: fixed;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    top:0;
    left:0;
    width:100%;
    height: 80px;
    z-index:999999;
    padding:0 calc((100% - 1200px)/2);
    box-shadow: 0 5px 10px rgba(200,200,200,.35);
}
body > header img{
    height:40px;
    cursor: pointer;
}
body > header > nav{
    display: flex;
    justify-content: space-between;
    width: 500px;
    padding:0 50px;
}
nav[role=navigation] > a{
    position:relative;
    font-size:20px;
    letter-spacing: 1px;
}
nav[role=navigation] > a:hover{
    color:#0780FE;
}
nav[role=navigation] > a::after{
    content: "";
    background-color: #0780FE;
    position: absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-10px;
    width:0;
    height:3px;
    border-radius:2px;
    transition: all .2s ease-in;
}
nav[role=navigation] > a:hover::after,nav[role=navigation] > a:active::after{
    width:100%;
}
body > header > code{
    display: flex;
    align-items: center;
    height:30px;
    color:#0780FE;
    font: normal bold 26px/35px Alibaba-PuHuiTi-B, Alibaba-PuHuiTi,Arial, serif;
}
body > header > code > img{
    height:36px;
}
/* data-module styles*/
section[data-module]{
    display: flex;
    width:100%;
    min-width: 1200px;
    padding:60px calc(50% - 600px);
    flex-direction: column;
    align-items: center;
}
h2[role=heading]{
    background:url(../images/heading-bg.png) no-repeat top center;
    height:80px;
    padding-top:40px;
    font-size:35px;
    font-weight: 700;
    color:#141547;
    text-align: center;
    white-space: nowrap;
}
/*banner style*/
body > section[data-module=banner]{
    background:url(../images/banner.png) no-repeat center;
    justify-content: center;
    margin-top:80px;
    padding:0;
    height:560px;
    overflow:hidden;
}
section[data-module=banner] > img{
    height: 100%;
    object-position: center;
}
/* module note style*/
section[data-module=note]{
    background: #F5F9FA;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height:100px;
    font-size:24px;
}
section[data-module=note] > time::before{
    display: inline-block;
    content:"开课时间";
    background: #6CD6F9;
    width: 148px;
    height: 45px;
    line-height:45px;
    border-radius: 5px;
    padding-left:32px;
    margin-right:20px;
}
section[data-module=note] > button{
    background: linear-gradient(to right, #FF768D, #FFB785);
    width: 258px;
    height: 45px;
    line-height: 45px;
    border-radius: 25px;
    border:0;
    font-size:24px;
    color:#FFFFFF;
    outline:none;
    cursor: pointer;
}

/* module question styles */
section[data-module=question] > ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width:100%;
    margin-top:20px;
}
section[data-module=question] > ul > li{
    background:url(../images/question-item.png) no-repeat left 17px top 17px/13px 10px,
    linear-gradient(270deg, #F3FCFF 0%, #DCF6FF 100%);
    width: 360px;
    min-height: 48px;
    font-size:20px;
    color:#332454;
    line-height: 30px;
    border-radius: 6px;
    border: 1px solid #B7C9F3;
    margin-top:20px;
    padding:10px 0 10px 40px;
}

/* module field styles */
section[data-module=field]{
    background:#F2F7FF url(../images/field.png) no-repeat center top 160px/1200px 700px;
    height: 1033px;
}
section[data-module=field] > p{
    width:900px;
    font-size:18px;
    line-height: 25px;
    margin:45px auto 610px auto;
}

/* module superiority styles */
section[data-module=superiority]{
    background:#FFFFFF url(../images/superiority-bg.png) no-repeat top center/1920px 505px;
    height: 505px;
}
section[data-module=superiority] > p{
    background: #F9F9F9;
    width: 1000px;
    height: 208px;
    box-shadow: 0 0 10px 0 rgba(117,117,117,0.26);
    border-radius: 24px;
    padding:50px 75px;
    font-size:18px;
    line-height: 36px;
    margin-top:60px;
}

/* module step styles */
section[data-module=step]{
    background: url(../images/step-bg-right.png) no-repeat top 38px right calc(50% - 420px)/400px 400px,
    url(../images/step-bg-left.png) no-repeat bottom 22px left calc(50% - 540px)/86px 118px,
    #EEEFF4;
    height: 1070px;
}
section[data-module=step] > div{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: space-between;
    width:1030px;
    height: 820px;
    margin-top:40px;
}
section[data-module=step] > div > dl::before{
    background:url(../images/step-1.png) no-repeat left top/63px 73px;
    display: block;
    content:attr(data-number);
    position: absolute;
    top:-1px;
    left:-10px;
    width:63px;
    height: 73px;
    font-size:20px;
    font-weight: 700;
    color:#FFFFFF;
    padding:19px;
}
section[data-module=step] > div > dl:nth-of-type(2)::before{
    background-image:url(../images/step-2.png);
}
section[data-module=step] > div > dl:nth-of-type(3)::before{
    background-image:url(../images/step-3.png);
}
section[data-module=step] > div > dl:nth-of-type(4)::before{
    background-image:url(../images/step-4.png);
}
section[data-module=step] > div > dl:nth-of-type(5)::before{
    background-image:url(../images/step-5.png);
}
section[data-module=step] > div > dl:nth-of-type(6)::before{
    background-image:url(../images/step-6.png);
}
section[data-module=step] > div > dl{
    background: #FFFFFF;
    position: relative;
    width: 480px;
    border-radius: 10px;
    border: 1px solid #B7C9F3;
    padding:20px;
    margin-bottom:20px;
}
section[data-module=step] > div > dl > dt{
    height: 50px;
    font-size:20px;
    font-weight: 700;
    padding-left:43px;
}
section[data-module=step] > div > dl > dd{
    background: linear-gradient(270deg, #F3FCFF 0%, #DCF6FF 100%);
    min-height: 40px;
    padding:8px 8px 8px 35px;
    border-radius: 6px;
    line-height: 24px;
    font-size:16px;
    margin-top:10px;
}

/* module worth styles */
section[data-module=worth]{
    background:#22227C url(../images/worth-bg.png) no-repeat top center/1920px 606px;
    height: 606px;
}
section[data-module=worth] > h2[role=heading]{
    color:#FFFFFF;
}
section[data-module=worth] > ul{
    display: flex;
    justify-content: space-between;
    width:100%;
    margin:60px auto;
}
section[data-module=worth] > ul > li::before{
    background:url(../images/flag.png) no-repeat top center/27px 27px;
    display: block;
    content:attr(title);
    font-size:20px;
    font-weight: 700;
    padding-top:45px;
    margin-bottom:15px;
}
section[data-module=worth] > ul > li{
    background:#FFFFFF url(../images/worth-item.png) no-repeat left top/360px 213px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width:360px;
    height: 213px;
    padding:28px;
    border-radius: 20px;
    line-height: 26px;
}

/* module features styles */

section[data-module=features]{
    background:#F9F9F9;
    height: 508px;
}
section[data-module=features] > ul{
    display: flex;
    justify-content: space-between;
    width:100%;
    margin:60px auto;
}
section[data-module=features] > ul > li::before{
    background:url(../images/features-1.png) no-repeat top center/65px 65px;
    display: block;
    content:attr(title);
    font-size:22px;
    font-weight: 700;
    padding-top:85px;
    margin-bottom:15px;
    text-align: center;
}
section[data-module=features] > ul > li:nth-of-type(2)::before{
    background-image:url(../images/features-2.png);
}
section[data-module=features] > ul > li:nth-of-type(3)::before{
    background-image:url(../images/features-3.png);
}
section[data-module=features] > ul > li:nth-of-type(4)::before{
    background-image:url(../images/features-4.png);
}
section[data-module=features] > ul > li{
    background: #FFFFFF;
    width: 255px;
    height: 250px;
    padding:30px 25px;
    border-radius: 15px;
    border: 1px solid #F0F0F0;
    line-height: 28px;
}

/* module channel styles */
section[data-module=channel]{
    background:url(../images/channel-bg.png) no-repeat top right calc(50% - 420px)/934px 409px;
}
section[data-module=channel] > ul{
    background:url(../images/channel.png) no-repeat left top/488px 372px;
    display: flex;
    flex-direction: column;
    height: 375px;
    width:100%;
    padding-left:510px;
}
section[data-module=channel] > ul > li{
    background:url(../images/channel-item.png) no-repeat left center/35px 24px,
    linear-gradient(270deg, #F3FCFF 0%, #DCF6FF 100%);
    width: 560px;
    height: 40px;
    font-size:18px;
    line-height: 40px;
    border-radius: 6px;
    padding-left:15px;
    margin-top:20px;
}
section[data-module=channel] > ul > li:nth-of-type(odd){
    margin-left:50px;
}

/* module problem styles */
section[data-module=problem]{
    background:#F2F7FF;
}
section[data-module=problem] > ul{
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-content: space-between;
    width:100%;
    height: 132px;
    margin:40px auto;
}
section[data-module=problem] > ul > li{
    background: #FFFFFF url(../images/problem-1.png) no-repeat left 10px top 7px/76px 44px;
    width: 390px;
    height: 56px;
    box-shadow: 0 2px 8px 0 rgba(0,0,0,0.07);
    border-radius: 28px;
    border: 1px solid #B7C9F3;
    font-size:18px;
    line-height: 56px;
    padding-left:52px;
}
section[data-module=problem] > ul > li:nth-of-type(2){
    background-image:url(../images/problem-2.png);
}
section[data-module=problem] > ul > li:nth-of-type(3){
    background-image:url(../images/problem-3.png);
}
section[data-module=problem] > ul > li:nth-of-type(4){
    background-image:url(../images/problem-4.png);
}
section[data-module=problem] > ul > li:nth-of-type(5){
    background-image:url(../images/problem-5.png);
}
section[data-module=problem] > ul > li:nth-of-type(6){
    background-image:url(../images/problem-6.png);
}
/* module course styles */
section[data-module=course] > dl{
    width:1070px;
    margin-top:40px;
}
section[data-module=course] > dl > dt{
    display: flex;
    justify-content: space-between;
    width: 100%;
}
section[data-module=course] > dl > dt > a{
    background:#F7F7FF;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 40px;
    border-radius: 20px;
    font-size:20px;
    cursor:pointer;
    transition: all .25s ease-out;
}
section[data-module=course] > dl > dt > a:hover{
    font-weight: 700;
}
section[data-module=course] > dl > dt > a[data-active]{
    background: linear-gradient(270deg, #979BFF 0%, #5F62D9 100%);
    color:#FFFFFF;
}
section[data-module=course] > dl > dd{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width:100%;
}
section[data-module=course] > dl > dd > header{
    background:linear-gradient(to right,#5F62D9 400px, rgba(95, 98, 217, 0.2) 400px) no-repeat left bottom/100% 3px;
    display: flex;
    align-items: center;
    width:100%;
    height: 55px;
    font-size:18px;
    padding-top:20px;
    text-align: center;
}
section[data-module=course] > dl > dd > header > span:first-child{
    flex-basis: 400px;
}
section[data-module=course] > dl > dd > header > span:last-child{
    flex:1;
}
section[data-module=course] > dl > dd > table{
    border-collapse: collapse;
    border-spacing: 20px;
    width: 100%;
    position:absolute;
    transform-origin: left top;
    transform: translateY(20%) scaleY(0);
    opacity: 0;
    z-index: -1;
    transition: all .25s ease-out;
}
section[data-module=course] > dl > dd > table[data-current]{
    position: relative;
    height: auto;
    transform:translateY(0) scaleY(1);
    opacity: 1;
    z-index:inherit;
}
section[data-module=course] > dl > dd > table td{
    vertical-align: top;
    padding:10px 10px 0 0;
}
section[data-module=course] > dl > dd > table tr > td:nth-of-type(3){
    padding-right: 0;
}
section[data-module=course] > dl > dd > table h3{
    background: #5F62D9;
    width: 80px;
    height: 30px;
    border-radius: 0 100px 100px 0;
    font-size:18px;
    color:#FFFFFF;
    line-height: 30px;
    text-align: center;
    margin-top:10px;
}
section[data-module=course] > dl > dd > table h4{
    background: #C5F0FF;
    width:390px;
    border-radius: 10px;
    border: 1px solid #E4E4E4;
    font-size:20px;
    line-height: 29px;
    padding:10px 10px 10px 20px;
}
section[data-module=course] > dl > dd > table p{
    background: #FCFCFC;
    width: 100%;
    min-width: 540px;
    border-radius: 10px;
    border: 1px solid #E4E4E4;
    margin-bottom:10px;
    padding:15px;
    line-height: 30px;
}
section[data-module=course] > dl > dd > table p > b::before{
    background: #5F62D9;
    content:"";
    display: block;
    position: absolute;
    top:0;
    left:-15px;
    width: 5px;
    height: 27px;
    border-radius: 0 7px 7px 0;
}
section[data-module=course] > dl > dd > table p > b{
    display: block;
    position: relative;
}

/*footer styles*/
body > footer{
    background: #323232;
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    color:#FFFFFF;
    font-size:14px;
    height:60px;
}
body > footer > a{
    color:#FFFFFF;
}

/*IE10~11 hack*/
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    section[data-module=banner] > img{
        display: none;
        opacity: 0;
    }
}