/* 取消默认边距 */
*{
    padding: 0;
    margin: 0;
    border: 0;
}

/* 背景图片 */
.bg{
    position: fixed;
    left: 0; 
    right: 0;
    z-index: -10; /*将背景置于底层*/
    width: 100%;
    height: 100%;
    background-image: url("images/sp-bg.jpg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-attachment: fixed;
    background-position: center;
    filter: blur(2px); /*添加模糊*/
}

.bg::after{ /*利用伪元素，添加一个遮罩，让背景颜色变暗，加上暗淡效果*/
    display: block; /*伪元素默认为行内元素，这里要改为块元素*/
    content: "";
    position: relative;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -9;
    background-color: #00000044; 
}

/* 顶部导航栏 */
.top-nav{
    position: fixed; 
    left: 0px;
    top: 0px;
    padding: 15px 10px;
    background-color: #2A2A2A;
    width: 100%;
    z-index: 3; /*保证导航栏在最前面*/
}

.top-nav-title{
    padding: 2px 10px;
    font-size: 35px;
    font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    border-radius: 15px 15px 0px 15px;
    background-color: #eee;
}

.top-nav>ul{
    float: right; /*浮动在右侧*/
    overflow: hidden; /*如果超出则隐藏*/
    margin-right: 20px;
    padding: 0;
    background-color:#eee;
    border-radius: 5px;
    height: 40px;
}

.top-nav>ul>li{
    display: inline-block; /*显示为行内块*/
    list-style: none;
    line-height: 40px; /*line-heighe和服元素的height一致即可垂直居中 */
}
.top-nav>ul>li>a{
    padding: 5px 10px;
    text-decoration: none; /*去掉默认下划线*/
    color:black;
    font-size: 20px;
}
.top-nav>ul>li:hover{
    height: 40px;
    border-radius: 4px;
    background-color: #fdcf00;
    transition-duration: 0.5s; /*加上一点渐变时间，会更加自然*/
}

/* 主要 */
.main{
    padding-top: 55px; /*为顶部导航栏让出空间*/
    background-color: #2A2A2A;
    height: fit-content;
}

/* 左边栏 */
.left-side-bar{
    float: left;
    margin: 20px 4% 0px 7%;
    padding-top: 50px; /*给头像让出空间*/
    width: 25%;
    min-width: 200px; /*不能太小，太小了会很难看*/
    height: fit-content;
    /* background-color: aquamarine; */
}
/* 头像介绍 */
.head-info{
    display: flex; /*使用flex布局*/
    flex-direction: column;
    align-items: center;
    position: relative;
    padding: 60px 15px 20px;
    border-radius: 15px;
    background-color: white;
    box-shadow:0 0 10px 0px #aaa;

}
/* 头像 */
.avatar{
    position: absolute;
    top: -50px; /*通过子绝父相，让头像的位置超出左边框*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border-width: 10px;
    border-color:white;
    border-style:solid;
}
/* 名字 */
.head-name{
    display: flex;
    flex-direction: row; 
    align-items: center; /*flex布局中，让元素居中*/
    margin-top: 10px;
}
.head-name >span{
    font-size: 18px;
}
.head-name >img{
    padding-top: 2px;
    width: 22px;
    height: 22px;
}
/* 文字介绍 */
.head-intro{
    display: flex;
    margin-top: 5px;
    padding-left: 4px;
}
.head-intro > span{
    font-size: 14px;
}
.head-intro > span::before{
    content: "#";
    display: inline-block;
    font-size: 20px;
    margin: 0 2px;
    padding: 0 6px;
    color:white;
    font-weight:bold;
    background-color: #1296DB;
    border-radius: 4px;
    transform: rotateZ(-12deg) scale(0.8);
    transition: 0.2s;
}
.head-intro:hover > span::before{
    transform: rotateZ(-3deg) scale(1.0);
    transition: 0.5s;
}

.head-intro > span::before{
    content: "#";
    display: inline-block;
    /* ... */
    transform: rotateZ(-12deg) scale(0.8);
    transition: 0.2s;
}
.head-intro:hover > span::before{
    transform: rotateZ(-3deg) scale(1.0);
    transition: 0.5s;
}
/* 编程语言 */
.head-code{
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    font-size: 12px;
}
.head-code-title{
    align-self: center; /*将自己居中*/
    padding: 2px 20px;
    margin-bottom: 10px;
    color: white;
    font-size: 14px;
    z-index: 2;
    border-radius: 10px;
    background: linear-gradient(90deg,transparent 0%,#1296DB 40%,#1296DB 60%, transparent 100%);
}
.head-code-languages{
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap:wrap;
    justify-content: center;
}
/*圆形进度条*/
.progressbar{
    display: inline-flex;
    line-height: 80px;
    justify-content: center; /*flex布局中使文字居中*/
    width: 80px;
    height: 80px;
    margin: 2px;
    font-size: 12px;
    font-weight: bold;
}
.progressbar:hover{
    transform: scale(1.1);
    transition: 0.3s;
}
/*用伪元素制造出类似圆形进度条的背景*/
.progressbar::before {
    content: "";
    display: inline-flex;
	width: 80px;
	height: 80px;
	position: absolute; 
	border-radius: 50%;
    /*添加一个圆形遮罩*/
	mask: radial-gradient(transparent 33px, #000 20px);
    -webkit-mask: radial-gradient(transparent 33px, #000 20px);
}
.py::before{
    background: conic-gradient(#0fc73d 0%, #0b8ce2 85%, #1d335c 85%,#1d335c 100%);
}
.java::before{
    background: conic-gradient(#d8900b 0%, #da230a 30%, #eb0808 65%, #1d335c 65%, #1d335c 100%);
}
.kotlin::before{
    background: conic-gradient(#e20780 0%, #5b09df 55%,#860fe7 40%, #1d335c 55%, #1d335c 100%);
}
.ts::before{
    background: conic-gradient(#ddff5c 0%, #28d4c3 20%, #85ea8e 35%, #1d335c 35%, #1d335c 100%);
}



/* 联系方式 */
.head-contact{
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    font-size: 12px;
}
.head-contact-title{
    align-self: center; /*将自己居中*/
    padding: 2px 20px;
    color: white;
    font-size: 14px;
    z-index: 2;
    border-radius: 10px;
    background: linear-gradient(90deg,transparent 0%,#1296DB 40%,#1296DB 60%, transparent 100%);
}
.mail-is{
    display: inline-block;
    width: 30px;
    padding: 5px 0;
    margin-top: 10px;
}
.qq-is{
    display: inline-block;
    width: 30px;
    padding: 5px 0;
}

/*核心内容栏目*/
.main-bar{
    position: relative;
    float: left;
    margin: 30px 0 30px;
    width: 60%;
    height: fit-content;
    /*使用渐变色背景达到折角的效果*/
    background: linear-gradient(210deg, transparent 1.5em, #eee 0);
    border-radius: 10px;
    font-size: 20px;
}
/*伪元素，实现右上角的折角三角形*/
.main-bar::before{
    content: '';
    display: block;
    width: 1.73em;
    height: 3em;
    background: linear-gradient(60deg, #577b98 50%, transparent 0);
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-1.27em) rotate(-30deg);
    transform-origin: bottom right;
    border-bottom-left-radius: inherit;
    box-shadow: -.2em .2em .3em -.1em rgba(0, 0, 0, .15);
}
.main-content{
    display: flex;
    flex-direction: column;
    position: relative;
    padding: 30px 40px;
    font-size: 15px;
}
.main-content>h2{
    font-size: 20px;
    padding: 15px 0 10px;
}
.main-content>h2::before{
    content: "";
    display: inline-flex;
    height: 20px;
    width: 5px;
    position: relative;
    top: 3px;
    margin-right: 5px;
    background-color:#0b8ce2;
}
.main-content>ul{
    position: relative;
    left: 15px;
}
