/*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,#FF836D,#FFA648);
    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: transparent;
    display:flex;
    align-items: center;
    width:fit-content;
    height: 55px;
    padding-bottom:15px;
    font-size:35px;
    color:#022553;
    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,#54FDCB,#D0F329);
    width: 172px;
    height: 34px;
    line-height: 34px;
    border-radius: 20px;
    font-size:22px;
    border:0;
    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]{
    position: relative;
    background:#F6F7FB;
    padding-bottom:80px;
}
section[data-module=summary] > details{
    list-style:none;
    width:1075px;
    transition: all .25s linear;
}
section[data-module=summary] > details:nth-of-type(2){
    margin:40px 0;
}
section[data-module=summary] > details summary{
    list-style-type:none;
    background: linear-gradient( 270deg, #CBE6FF 0%, #5BDDFF 100%);
    width: 450px;
    height:60px;
    padding-left:40px;
    font-size:24px;
    line-height:60px;
    border-radius: 30px;
    cursor:pointer;
}
section[data-module=summary] > details[open] summary{
    background: linear-gradient( 270deg, #4CA0F2 0%, #2567E1 100%);
    width: 450px;
    height: 60px;
    color:#FFF;
    border-radius:30px 30px 0 0;
}
section[data-module=summary] > details[open] p{
    background:#FFFFFF;
    width:450px;
    padding:15px 40px;
    font-size: 18px;
    color: #656A74;
    line-height: 36px;
    border-radius:0 0 30px 30px;
}
section[data-module=summary] > details[open] img{
    position: absolute;
    right:calc(50% - 600px);
    top:150px;
    width: 588px;
    height:396px;
}

/* module about styles */
section[data-module=about] > p{
    background: linear-gradient( 180deg, #EFF6FB 0%, #F8FBFD 100%);
    width:100%;
    padding:40px;
    font-size:18px;
    line-height:36px;
    border-radius: 20px;
    margin-bottom:40px;
}
section[data-module=about] > p b{
    color:#0054D7;
}

/* module choose styles */
section[data-module=choose]{
    background:#EEF0F4;
}
section[data-module=choose] dl{
    display: flex;
    flex-wrap:wrap;
    justify-content: center;
    gap:30px;
    width: 1160px;
    padding-top:40px;
    background: #FFFFFF;
    box-shadow: 0 2px 8px rgba(23,38,89,0.16);
    border-radius: 30px;
}
section[data-module=choose] dl > dd{
    background: linear-gradient( 270deg, #FC9B79 0%, #FF7664 100%);
    width: 516px;
    height: 60px;
    line-height:60px;
    font-size:22px;
    color:#FFFFFF;
    text-align: center;
    border-radius: 30px;
}
section[data-module=choose] dl > dd:nth-of-type(2),
section[data-module=choose] dl > dd:nth-of-type(5){
    background: linear-gradient( 270deg, #35C09D 0%, #29C6C3 100%);
}
section[data-module=choose] dl > dd:nth-of-type(3){
    background: linear-gradient( 270deg, #4A8CFF 0%, #5970FF 100%);
}
section[data-module=choose] dl > dt{
    background: linear-gradient( 270deg, #D9F7FF 0%, #D4E3FF 100%);
    width: 100%;
    height: 100px;
    text-align: center;
    font-size:26px;
    line-height:100px;
}

/* module step styles */
section[data-module=step] > p{
    font-size:24px;
    padding:10px;
    transform:translateY(-25px);
}
section[data-module=step] > ul{
    display: flex;
    flex-direction:column;
    gap:30px;
    width:970px;
}
section[data-module=step] > ul > li{
    background:url(../images/step-1.png) no-repeat left center/360px 100%;
    display: flex;
    align-items: center;
    width:100%;
    height:60px;
}
section[data-module=step] > ul > li:nth-of-type(2){
    background-image:url(../images/step-2.png);
    height:300px;
}
section[data-module=step] > ul > li:nth-of-type(3){
    background-image:url(../images/step-3.png);
    height:346px;
}
section[data-module=step] > ul h4{
    min-width: 310px;
    font-size:24px;
    color:#FFFFFF;
    padding-left:50px;
}
section[data-module=step] > ul p{
    background: #F1F7FC;
    flex:1;
    display: flex;
    flex-wrap:wrap;
    align-items: center;
    height: 100%;
    padding:0 30px;
    border-radius: 20px;
}
section[data-module=step] > ul span{
    background: #FFFFFF;
    border-radius: 4px;
    text-align: center;
}
section[data-module=step] > ul > li:nth-of-type(2) p{
    gap:10px;
    padding-block:30px;
}
section[data-module=step] > ul > li:nth-of-type(2) p > b{
    background:#FCD8C8;
    width:150px;
    height:40px;
    line-height:40px;
    text-align: center;
    border-radius: 4px;
}
section[data-module=step] > ul > li:nth-of-type(2) p > b:nth-of-type(2){
    background:#FFEAAC;
    width:440px;
}
section[data-module=step] > ul > li:nth-of-type(2) p > span{
    width: 150px;
    height:40px;
    line-height:40px;
}
section[data-module=step] > ul > li:nth-of-type(2) p > span:nth-of-type(even){
    width:440px;
}
section[data-module=step] > ul > li:nth-of-type(3) p{
    gap:20px;
    padding-block:30px;
}
section[data-module=step] > ul > li:nth-of-type(3) span{
    width: 290px;
    height:82px;
    border-radius:15px;
}
section[data-module=step] > ul > li:nth-of-type(3) span[title]::before{
    background: linear-gradient( 270deg, #FC9B79 0%, #FF7664 100%);
    display: block;
    content:attr(title);
    width: 112px;
    height: 36px;
    line-height: 36px;
    margin-bottom:15px;
    color:#FFFFFF;
    border-radius: 15px 0 15px 0;
}

/* module feature styles */
section[data-module=feature]{
    background:#E9ECFC;
}
section[data-module=feature] > ul{
    display: flex;
    flex-wrap:wrap;
    gap:30px 80px;
    width:1040px;
    margin-bottom:40px;
}
section[data-module=feature] > ul > li{
    background: rgba(255,255,255,0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    width:480px;
    padding:20px;
    text-align: center;
    border-radius: 40px;
}
section[data-module=feature] > ul > li:last-of-type{
    width:100%;
}
section[data-module=feature] > ul > li > h3::before{
    content:attr(title);
    font-size:28px;
}
section[data-module=feature] > ul > li > h3{
    background:url(../images/feature-1.png) no-repeat right center/200px 160px,
    linear-gradient( 270deg, #4A8CFF 0%, #5970FF 100%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap:10px;
    padding-left:50px;
    margin-bottom:20px;
    width:100%;
    height: 160px;
    font-size:22px;
    font-weight: normal;
    color:#FFFFFF;
    border-radius: 30px;
}
section[data-module=feature] > ul > li:nth-of-type(2) > h3{
    background-image:url(../images/feature-2.png),
    linear-gradient( 270deg, #9561FF 0%, #6B3CFF 100%);
}
section[data-module=feature] > ul > li > h4{
    background: linear-gradient( 270deg, #E0ECFF 0%, #BDD4FF 100%);
    width: fit-content;
    font-size:20px;
    padding:3px 32px;
    border-radius: 25px;
}
section[data-module=feature] > ul > li:nth-of-type(2) > h4{
    background: linear-gradient( 270deg, #ECEAFF 0%, #D4D0FF 100%);
}
section[data-module=feature] > ul > li > p{
    font-size:18px;
    line-height:36px;
    padding:10px 20px;
    text-align:left;
}

/* module crowd styles */
section[data-module=crowd]{
    background:#F6F7FB url(../images/crowd-bg.png) no-repeat left calc(100vw - 1920px) center/1077px 851px;
    height:851px;
}
section[data-module=crowd] > ul{
    display: flex;
    flex-direction:column;
    gap:20px;
    width:1108px;
}
section[data-module=crowd] > ul > li{
    display:flex;
    align-items:center;
    gap:40px;
}
section[data-module=crowd] > ul > li:nth-of-type(2){
    transform:translateX(53px);
}
section[data-module=crowd] > ul > li:nth-of-type(3){
    transform:translateX(149px);
}
section[data-module=crowd] > ul > li:nth-of-type(4){
    transform:translateX(260px);
}
section[data-module=crowd] > ul > li:nth-of-type(5){
    transform:translateX(366px);
}
section[data-module=crowd] > ul > li > h4{
    background: url(../images/crowd-point.png) no-repeat left center/26px 26px,
    url(../images/crowd-arrow.png) no-repeat right 40px center/58px 13px,
    linear-gradient( 270deg, #C5E5FF 0%, rgba(198,230,255,0) 100%);
    min-width:fit-content;
    height:80px;
    padding:0 128px 0 50px;
    font-size:18px;
    line-height: 80px;
    border-radius: 0 100px 100px 0;
}
section[data-module=crowd] > ul > li > p{
    display: flex;
    flex:1;
    flex-wrap:wrap;
    gap:10px;
}
section[data-module=crowd] > ul > li:nth-of-type(n + 2) p{
    max-width:458px;
}
section[data-module=crowd] > ul > li span{
    background: #FFFFFF;
    width: 224px;
    height: 60px;
    line-height:60px;
    text-align: center;
    border-radius: 15px;
}

/* module exam styles */
section[data-module=exam] > ul{
    display: flex;
    flex-wrap:wrap;
    gap:30px;
    width:1020px;
}
section[data-module=exam] > ul > li{
    background: linear-gradient( 309deg, #E1EEFF 0%, #EEF9FF 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:20px;
    width: 320px;
    height: 190px;
    padding:30px;
    font-size:18px;
    line-height: 32px;
    text-align: center;
    border-radius: 20px;
}
section[data-module=exam] > ul > li > h4{
    background: linear-gradient( 270deg, #93A5FF 0%, #5967FF 100%);
    width: 260px;
    height: 46px;
    text-align: center;
    line-height: 46px;
    font-size:20px;
    color:#FFFFFF;
    border-radius: 23px;
}

/* module course styles */
section[data-module=course]{
    background:#F6F7FB;
}
section[data-module=course] > article{
    display: flex;
    position: relative;
    gap:50px;
    width: 870px;
}
section[data-module=course] menu{
    display: flex;
    flex-direction: column;
    gap:30px;
    min-width: 260px;
}
section[data-module=course] menu > li{
    background: #FFFFFF url(../images/course-arrow-gray.png) no-repeat right 30px center/15px 15px;
    width: 260px;
    height: 75px;
    font-size:23px;
    text-align: center;
    line-height: 75px;
    border-radius: 10px;
}
section[data-module=course] menu > li[aria-current]{
    background: url(../images/course-arrow-white.png) no-repeat right 30px center/15px 15px,
    linear-gradient( 270deg, #75C6FE 0%, #1850FF 100%);
    color:#FFFFFF;
}
section[data-module=course] section{
    position: absolute;
    right:0;
    top:0;
    width:560px;
    z-index:0;
    opacity:0;
    transform:scaleX(0);
    transform-origin: left top;
    transition:all .25s ease-out;
}
section[data-module=course] section[aria-current]{
    position:relative;
    opacity: 1;
    z-index:1;
    transform:scaleX(1);
}
section[data-module=course] h3{
    font-weight: 500;
    font-size: 26px;
    color: #0054D7;
    line-height: 37px;
}
section[data-module=course] p{
    font-size:18px;
    line-height:36px;
}