/*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]{
    background: linear-gradient(to right,#8BFFE6,#44A8FF);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width:600px;
    height:60px;
    border-radius: 30px;
    font-size:24px;
    line-height: 60px;
    font-weight: 700;
    text-align: center;
    color:#FFFFFF;
    box-shadow:0 0 8px rgba(83,6,6,.14);
    transition: all .25s ease-in;
}
a[role=button]:hover{
    box-shadow: 0 5px 10px rgba(215, 140, 10, 0.35);
    transform:translateY(-5px);
    cursor: pointer;
}
dl,ul,ol,menu{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(50% - 600px);
    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;
}

/* heading styles */
h2[role=heading]{
    background: linear-gradient(to right,transparent 10%,#A0B3FD 35%,#A0B3FD 65%,transparent 90%) no-repeat bottom center/500px 8px;
    display:flex;
    align-items: flex-start;
    width:fit-content;
    height: 70px;
    padding:0 50px;
    font-size:40px;
    color:#323232;
    margin-bottom:40px;
    text-align: center;
}
/* banner style */
body > figure[role=banner]{
    background:linear-gradient(45deg,#D4EAFF,#D4EAFF);
    position: relative;
    width:100%;
    min-width:1200px;
    margin-top:80px;
    padding-top:400px;
    overflow:hidden;
}
body > figure[role=banner] > img{
    position: absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:1920px;
    object-position: center;
}
body > figure[role=banner] > figcaption{
    background: rgba(255,255,255,1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    padding:0 calc(50% - 510px);
    font-size:22px;
}
body > figure[role=banner] > figcaption> time::before{
    background: #1A79F8;
    display: inline-block;
    content:"开课时间";
    width: 126px;
    height: 34px;
    line-height:34px;
    text-align: center;
    border-radius: 5px;
    margin-right:20px;
    color:#FFFFFF;
}
body > figure[role=banner] > figcaption> time::after{
    content:attr(datetime);
    margin-left:20px;
}
body > figure[role=banner] > figcaption > button{
    background: linear-gradient(to right,#8BFFE6,#44A8FF);
    width: 172px;
    height: 34px;
    line-height: 34px;
    border-radius: 20px;
    font-size:22px;
    border:0;
    color:#2C283A;
    outline:none;
    cursor: pointer;
}

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

/* module styles */
section[data-module]{
    display: flex;
    width:100%;
    min-width: 1200px;
    padding:50px calc(50% - 600px);
    flex-direction: column;
    align-items: center;
}

/* module summary styles */

section[data-module=summary]{
    background:#F6F8FA;
}
section[data-module=summary] > h4{
    font-size:26px;
    transform:translateY(-10px);
}
section[data-module=summary] > article{
    background:#FFFFFF;
    display: flex;
    justify-content: space-between;
    gap:80px;
    width:1120px;
    height: 600px;
    padding:30px 50px;
    margin:30px auto;
}
section[data-module=summary] menu{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 260px;
    height: 100%;
}
section[data-module=summary] menu > li{
    background:#C8D3FF;
    width: 100%;
    height:50px;
    line-height: 50px;
    text-align: center;
    font-size: 26px;
    cursor:pointer;
}
section[data-module=summary] menu > li[aria-current]{
    background:#496DFF;
    position: relative;
    color:#FFFFFF;
}
section[data-module=summary] menu > li[aria-current]::after{
    display: block;
    position:absolute;
    right:10px;
    top:15px;
    content:"";
    width:20px;
    height:20px;
    border:10px solid transparent;
    border-left-color:#FFFFFF;
}
section[data-module=summary] section{
    position: absolute;
    right:0;
    z-index:-1;
    opacity: 0;
    max-width: 680px;
    transform-origin: top left;
    transform:scaleY(0);
}
section[data-module=summary] section[aria-current]{
    position: relative;
    right:0;
    z-index:1;
    opacity: 1;
    transform: scaleY(1);
}
section[data-module=summary] section > p{
    font-size:18px;
    line-height: 32px;
}
section[data-module=summary] section > img{
    display: block;
    margin:15px auto;
}
section[data-module=summary] section:nth-of-type(2){
    padding-top:100px;
}
section[data-module=summary] section:nth-of-type(3){
    text-align: center;
    padding-top:130px;
}
section[data-module=summary] section:nth-of-type(3) > figure{
    padding-top:20px;
}
section[data-module=summary] section:nth-of-type(4){
    padding-top:150px;
}
section[data-module=summary] section:nth-of-type(5){
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: space-between;
    padding-top:80px;
}
section[data-module=summary] section:nth-of-type(5) figure{
    text-align: center;
    font-size:16px;
    color:#5F5F5F;
    padding-top:25px;
    line-height:30px;
}
section[data-module=summary] section:nth-of-type(6){
    padding-top:30px;
}
section[data-module=summary] section:nth-of-type(6) > figure{
    font-size:16px;
    color:#5F5F5F;
    margin-top:30px;
    line-height:30px;
    text-align: center;
}
section[data-module=summary] section:nth-of-type(n + 7){
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:30px;
    width: 100%;
}

/* module advantage styles*/
section[data-module=advantage] > ul{
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-content: space-between;
    width:1140px;
    height: 380px;
    margin-bottom:60px;
}
section[data-module=advantage] li{
    background:#E0F1FF url(../images/advantage-1.png) no-repeat right bottom/180px 180px;
    width: 360px;
    height: 180px;
    padding:30px;
    box-shadow: 0 3px 5px rgba(0,0,0,0.15);
    border-radius: 15px;
}
section[data-module=advantage] li:nth-of-type(2){
    background-image:url(../images/advantage-2.png);
}
section[data-module=advantage] li:nth-of-type(3){
    background-image:url(../images/advantage-3.png);
}
section[data-module=advantage] li:nth-of-type(4){
    background-image:url(../images/advantage-4.png);
}
section[data-module=advantage] li:nth-of-type(5){
    background-image:url(../images/advantage-5.png);
}
section[data-module=advantage] li:nth-of-type(6){
    background-image:url(../images/advantage-6.png);
}
section[data-module=advantage] li > h3{
    font-size:24px;
    color:#0B3C7D;
}
section[data-module=advantage] li > p{
    font-size:18px;
    line-height:32px;
    padding-top:20px;
}

/* module introduce styles */
section[data-module=introduce]{
    background:#ECF1FD;
}
section[data-module=introduce] > p{
    width:1080px;
    font-size:20px;
    line-height: 40px;
}
section[data-module=introduce] > figure{
    display: flex;
    flex-wrap:wrap;
    justify-content: center;
    gap:30px 60px;
    width: 860px;
    margin-top:30px;
}

/* module crowd styles */
section[data-module=crowd]{
    background:url(../images/crowd-bg.png) no-repeat center;
}
section[data-module=crowd] > h2{
    color:#FFFFFF;
}
section[data-module=crowd] > img{
    display: block;
    margin-bottom:40px;
}

/* module step styles */
section[data-module=step]{
    background:#F6F8FA;
}
section[data-module=step] > article{
    display: flex;
    justify-content: space-between;
    width: 1110px;
    height: 850px;
}
section[data-module=step] dl{
    background:url(../images/step-1.png) no-repeat top 20px center/86px 59px, linear-gradient( #CDD8FF, #FFFFFF);
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    border-radius: 15px;
    width: 330px;
    height: 100%;
    padding:50px 15px;
}
section[data-module=step] dl:nth-of-type(2){
    background:url(../images/step-2.png) no-repeat top 20px center/86px 59px, linear-gradient( #CDD8FF, #FFFFFF);
}
section[data-module=step] dl:nth-of-type(3){
    background:url(../images/step-3.png) no-repeat top 20px center/86px 59px, linear-gradient( #CDD8FF, #FFFFFF);
}
section[data-module=step] dl > dt{
    font-size:24px;
    font-weight:500;
    color:#001980;
    text-align: center;
}
section[data-module=step] dl > dd{
    background:#FFFFFF;
    position: relative;
    padding:10px 15px 10px 30px;
    font-size:20px;
    line-height:35px;
    margin-top:20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    border-radius: 15px;
}
section[data-module=step] dl > dd[data-dot=true]::before{
    background:#43FEDF;
    position: absolute;
    left:12px;
    top:22px;
    content:"";
    width:6px;
    height:6px;
    border-radius: 6px;
}
section[data-module=step] dl > dd[data-dot=false]{
    background:transparent;
    box-shadow: none;
    padding-left:15px;
}
section[data-module=step] dl:nth-of-type(3) > dd{
    margin-top:10px;
}
section[data-module=step] mark{
    background:#C5FCF3;
    border-radius:20px;
    padding:2px 0 2px 5px;
    margin-right:5px;
}

/* module flow styles */
section[data-module=flow] > img{
    margin:40px auto;
}

/* module question styles */
section[data-module=question]{
    background:url(../images/question-bg.png) no-repeat center;
}
section[data-module=question] > h2{
    color:#FFFFFF;
}
section[data-module=question] > ul{
    background: rgba(255,255,255,0.2);
    width: 1100px;
    padding:40px 50px;
    border-radius: 30px;
    border: 1px solid #78FEF1;
    font-size:20px;
}
section[data-module=question] > ul > li:nth-child(odd){
    background:url(../images/question-icon.png) no-repeat left 10px center/ 36px 36px,
    linear-gradient( 270deg, #BFE2FF 0%, #C4FFF5 100%);
    min-height:46px;
    width:fit-content;
    padding:5px 20px 5px 60px;
    color:#0017C0;
    line-height:46px;
    border-radius:30px;
}
section[data-module=question] > ul > li:nth-child(even){
    background:url(../images/answer-icon.png) no-repeat left 10px top/36px 36px;
    min-height:46px;
    margin:15px 0;
    padding:0 30px 5px 60px;
    line-height:36px;
    color:#FFFFFF;
}

/* module course styles */
section[data-module=course] > article{
    background: #FFFFFF;
    display: flex;
    justify-content: space-between;
    width: 1120px;
    height: 780px;
    padding:40px 60px;
    box-shadow: 0 0 55px rgba(0,0,0,0.1);
    border-radius: 15px;
}
section[data-module=course] dl{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 380px;
    height: 100%;
}
section[data-module=course] dl > *{
    background:#ECECEC;
    position: relative;
    padding-left:140px;
    text-align:center;
    height:45px;
    line-height: 45px;
    font-size:20px;
    border-radius:30px;
}
section[data-module=course] dl > dt{
    background:#496DFF;
    font-weight: 500;
    color:#FFFFFF;
}
section[data-module=course] dl > *::before{
    display: inline-block;
    position: absolute;
    left:0;
    top:0;
    background:rgba(255,255,255,.25);
    content:attr(title);
    width: 140px;
    text-align: center;
    border-radius: 30px;
}
section[data-module=course] dl > dd{
    cursor:pointer;
}
section[data-module=course] dl > dd[aria-current]{
    background: linear-gradient( 270deg, #B3DCFF 0%, #9BFFE9 100%);
}
section[data-module=course] dl > dd::before{
    content:"第"attr(data-unit)"单元";
}

section[data-module=course] section{
    display: flex;
    flex-direction: column;
    width: 500px;
    height: 100%;
}
section[data-module=course] h3{
    background: #496DFF;
    width: 500px;
    min-height: 45px;
    line-height: 45px;
    text-align: center;
    color:#FFFFFF;
    border-radius: 30px;
}
section[data-module=course] p{
    position: absolute;
    flex:1;
    font-size:20px;
    line-height:50px;
    padding:15px 30px;
    overflow-y:auto;
    z-index:-1;
    opacity: 0;
    transform-origin: left top;
    transform:scaleX(0);
    transition: all .25s ease-out;
}
section[data-module=course] p[aria-current]{
    position: relative;
    opacity: 1;
    z-index:1;
    transform:scaleX(1);
}