/* 
- 删了一些如临时设置的边框和背景色的过程属性,有点可惜。
- 主看代码规范,次看不懂的属性,适当修改观察变化能帮助更好的理解

    联培班的小友们绝大部分都能积极地参与到第一个项目的编写中,给自己先点个赞!
    见诸位尝试与求证,思考与积累,老夫略有欢心~
*/

/* 首页样式 */
/* 版心 */
.wrapper {
    margin: 0 auto;
    width: 1200px;
}

body {
    background-color: #f3f5f7;
}

/* 头部区域 */
.header {
    height: 100px;
    background-color: #fff;
}

.header .wrapper {
    padding-top: 29px;
    display: flex;
}

/* logo */
.logo a {
    display: block;
    width: 195px;
    height: 41px;
    background-image: url(../images/logo.png);
    font-size: 0;
}

/* 导航 */
.nav {
    margin-left: 60px;
}

.nav ul {
    display: flex;
}

.nav li {
    margin-right: 24px;
}

.nav li a {
    display: block;
    padding: 6px 8px;
    /* 调整合适的行高可以让文字垂直方向居中 */
    line-height: 27px;
    font-size: 19px;
}


/* actvie 类选择器，表示默认选中的a */
.nav li .active,
.nav li a:hover {
    border-bottom: 2px solid #00a4ff;
}

/* 搜索 */
.search {
    display: flex;
    margin-left: 60px;
    padding-left: 19px;
    padding-right: 12px;
    width: 412px;
    height: 40px;
    background-color: #f3f5f7;
    /* 边框圆角 */
    border-radius: 20px;
}

.search input {
    flex: 1;
    /* 也可以设置为none 都能达到不显示边框的目的 */
    border: 0;
    background-color: transparent;
    /* 去掉表单控件的轮廓框线 */
    outline: none;
}

/* ::placeholder 选中的是 placeholder 属性文字样式*/
.search input::placeholder {
    font-size: 14px;
    color: #999;
}

/* 父级是flex布局，子级变弹性盒子：加宽高生效 */
.search a {
    /* flex 子项属性 子项单独设置次轴居中 */
    align-self: center;
    width: 16px;
    height: 16px;
    background-image: url(../images/search.png);
}

/* 用户 */
.user {
    margin-left: 32px;
    align-self: center;
}

.user img {
    margin-right: 7px;
    /* vertical-align 行内块和行内垂直方向对齐方式 常用于img元素居中 */
    vertical-align: middle;
}

.user span {
    font-size: 16px;
    color: #666;
}

/* banner 区域 */
.banner {
    height: 420px;
    background-color: #0092cb;
}

.banner .wrapper {
    display: flex;
    /* flex 主轴对齐方式 两侧贴边 间隔相等 */
    justify-content: space-between;
    /* flex 次要轴对齐方式 居中 */
    align-items: center;
    height: 420px;
    background-image: url(../uploads/banner.png);
}

/* 侧导航 */
.banner .left {
    padding: 3px 20px;
    width: 191px;
    height: 420px;
    background-color: rgba(0, 0, 0, 0.42);
}

.banner .left a {
    /* 设置为块级元素：宽度默认是父级的100% */
    display: block;
    height: 46px;
    background: url(../images/right.png) no-repeat right center;
    line-height: 46px;
    font-size: 16px;
    color: #fff;
}

.banner .left a:hover {
    background-image: url(../images/right-hover.png);
    color: #00a4ff;
}

/* 课程表 */
.banner .right {
    width: 218px;
    height: 305px;
    background-color: #209dd5;
    border-radius: 10px;
}

.banner .right h3 {
    margin-left: 14px;
    height: 48px;
    line-height: 48px;
    font-size: 15px;
    color: #fff;
    font-weight: 400;
}

.banner .right .content {
    padding: 14px;
    height: 257px;
    background-color: #fff;
    border-radius: 10px;
}

.banner .right dl {
    margin-bottom: 12px;
    border-bottom: 1px solid #e0e0e0;
}

.banner .right dt {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
}

.banner .right dd {
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 16px;
}

.banner .right dd span {
    color: #00a4ff;
}

.banner .right dd strong {
    color: #7d7d7d;
    font-weight: 400;
}

.banner .right a {
    display: block;
    height: 32px;
    background-color: #00a4ff;
    text-align: center;
    line-height: 32px;
    font-size: 14px;
    color: #fff;
    border-radius: 15px;
}

/* 精品推荐 */
.recommend {
    display: flex;
    margin-top: 11px;
    padding: 0 20px;
    height: 60px;
    background-color: #fff;
    /* 这条设置边框阴影的属性同学要自己在MDN上查一下了,有点一言难尽 */
    box-shadow: 0px 1px 2px 0px rgba(211, 211, 211, 0.5);
    line-height: 60px;
}

.recommend h3 {
    font-size: 18px;
    color: #00a4ff;
    font-weight: 400;
}

.recommend ul {
    /* 除去标题和修改兴趣的尺寸，父级剩余尺寸都给ul，实现把修改兴趣挤到最右侧 */
    flex: 1;
    display: flex;
}

.recommend ul li a {
    padding: 0 24px;
    border-right: 1px solid #e0e0e0;
    font-size: 18px;
}

.recommend ul li:last-child a {
    border-right: 0;
}

.recommend .modify {
    font-size: 16px;
    color: #00a4ff;
}

/* 推荐课程 */
.course {
    margin-top: 15px;
}

/* 标题 - 公共类，与其他区域共用 */
.hd {
    display: flex;
    justify-content: space-between;
    height: 60px;
    line-height: 60px;
}

.hd h3 {
    font-size: 21px;
    font-weight: 400;
}

.hd .more {
    padding-right: 20px;
    background: url(../images/more.png) no-repeat right center;
    font-size: 14px;
    color: #999;
}

/* 课程内容 - 公共类 */
.bd ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.bd li {
    margin-bottom: 14px;
    width: 228px;
    height: 271px;
    background-color: pink;
}

.bd li .pic {
    height: 156px;
}

.bd li .text {
    padding: 20px;
    height: 115px;
    background-color: #fff;
}

.bd li .text h4 {
    margin-bottom: 13px;
    height: 40px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
}

.bd li .text p {
    font-size: 14px;
    line-height: 20px;
    color: #999;
}

.bd li .text p span {
    color: #fa6400;
}

.bd li .text p i {
    font-style: normal;
}

/* 前端 */
.hd ul {
    display: flex;
}

.hd li {
    margin-right: 60px;
    font-size: 16px;
}

.hd li .active {
    color: #00a4ff;
}

.bd {
    display: flex;
    justify-content: space-between;
}

.bd .left {
    width: 228px;
    /* background-color: orange; */
}

.bd .right {
    width: 957px;
    /* background-color: pink; */
}

.bd .right .top {
    margin-bottom: 15px;
    height: 100px;
}

/* 版权 */
.footer {
    margin-top: 60px;
    padding-top: 60px;
    height: 273px;
    background-color: #fff;
}

.footer .wrapper {
    display: flex;
    justify-content: space-between;
}

.footer .left {
    width: 440px;
    /* background-color: skyblue; */
}

.footer .left p {
    margin-top: 24px;
    margin-bottom: 14px;
    font-size: 12px;
    line-height: 17px;
    color: #666;
}

.footer .left .download {
    display: block;
    width: 120px;
    height: 36px;
    border: 1px solid #00a4ff;
    text-align: center;
    line-height: 34px;
    font-size: 16px;
    color: #00a4ff;
}

.footer .right {
    display: flex;
}

.footer .right dl {
    margin-left: 130px;
}

.footer .right dt {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 23px;
}

.footer .right a {
    font-size: 14px;
    color: #666;
    line-height: 24px;
}