/*************************************************
 *  Core
 **************************************************/

*,
*::after,
*::before {
    box-sizing: border-box;
}

.row:after,
.row:before {
    content: " ";
    display: table;
}

html {
    font-family: "Georgia", "Times New Roman", 
                 "SimSun", "宋体", 
                 serif;
    font-size: 16px;
    color: rgba(0,0,0,0.8);
    line-height: 1.65;
}
@media screen and (min-width: 58em) {
    html {
        font-size: 16px;
    }
}

body {
    font-family: inherit;
    font-size: 1rem;
    line-height: inherit;
    color: inherit;
    margin-top: 71px; /* Offset body content by navbar height. */
    padding-top: 0;
    counter-reset: captions;
}
@media screen and (max-width: 1200px) { /* Match max-width of .nav-bar query. */
    body {
        margin-top: 51px; /* Offset body content by navbar height. */
    }
}

/* Body text */
p {
    margin-top: 0;
    margin-bottom: 1rem;
}

.article-style p {
    text-indent: 32px;
}

.article-style h2 {
    text-align: center;
}

/* Lists */
ul, ol, dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

/* Navigation bar text */
.navbar-default {
    font-family: "Georgia", "Times New Roman", 
                 "Microsoft YaHei", "微软雅黑", 
                 "STXihei", "华文细黑", 
                 serif;
    font-weight: 400;
    line-height: 1.25;
    text-rendering: optimizeLegibility;
    opacity: 0.8;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: "Georgia", "Times New Roman", 
                 "Microsoft YaHei", "微软雅黑", 
                 "STXihei", "华文细黑", 
                 serif;
    font-weight: 400;
    margin-bottom: .5rem;
    line-height: 1.25;
    color: #313131;
    text-rendering: optimizeLegibility;
}
h1 {
    font-size: 2.25rem;
}
h2 {
    margin-top: 1rem;
    font-size: 1.5rem;
}
h3 {
    font-weight: 700;
    margin-top: 1.5rem;
    font-size: 1.25rem;
}
h4, h5, h6 {
    font-weight: 700;
    margin-top: 1rem;
    font-size: 1rem;
}

h2 a {
	color: #2b2b2b;
}

a,
h3.article-title a:hover {
    color: #0095eb;
    text-decoration: none;
    transition: color 0.6s ease;
}

a:hover,
a:focus {
    color: #005181;
}

img,
video {
    height: auto;
    max-width: 100%;
    display: block;
}

.img-responsive {
    /* Extend Bootstrap declaration with centering. */
    margin: 0 auto;
}

figcaption:before {
    font-weight: 700;
    text-transform: uppercase;
    content: "Figure " counter(captions) ": ";
}

figcaption {
    display: block;
    margin-top: 0.75em;
    line-height: 1.25;
    font-size: 1rem;
    margin-bottom: 1.65rem;
    font-family: "Georgia", "Times New Roman", 
                 "Microsoft YaHei", "微软雅黑", 
                 "STXihei", "华文细黑", 
                 serif;
    counter-increment: captions;
}

figcaption h4 {
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    margin: 0;
}

pre {
    margin: 0 0 1rem 0;
    overflow: auto;
}

hr {
    border: 0;
    height: 1px;
    background: #333;
    background-image: linear-gradient(to right, #ccc, #333, #ccc);
}

/* Quotes */
blockquote {
    font-size: 1rem;
    padding: .5rem 1rem;
    margin: .8rem 0;
    color: #7a7a7a;
    border-left: .25rem solid #e5e5e5;
}
blockquote p:last-child {
    margin-bottom: 0;
}
@media (min-width: 30em) {
    blockquote {
        padding-right: 5rem;
        padding-left: 1.25rem;
    }
}

.space-below {
    margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
    .space-below {
        margin-bottom: 10px;
    }
}

.universal-wrapper {
    margin: 0 auto;
    padding-right: 15px;
    padding-left: 15px;
    width: 100%;
}
@media only screen and (min-width: 801px) {
    .universal-wrapper {
        width: 800px;
    }
}

/*************************************************
 *  Biography
 **************************************************/

#profile {
    text-align: center;
    padding: 30px 10px;
    position: relative;
}

#profile .portrait {
    background-image: url('../img/portrait.jpg');
    width: 200px;
    height: 200px;
    margin: 0 auto;
    border-radius: 50%;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
}

#profile .portrait-title h2 {
    font-size: 1.75em;
    font-weight: 300;
    color: #000000;
    margin: 20px 0 10px 0;
}

#profile .portrait-title h3 {
    font-size: 1.13em;
    font-weight: 300;
    color: #AAAAAA;
    margin: 0px 0 10px 0;
}

#profile ul.social-icon {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin-top: 30px;
}

#profile .social-icon li {
    margin-right: 10px;
}

#profile .social-icon li:last-of-type {
    margin-right: 0;
}

#profile .social-icon li:hover {
    transform: scale(1.2)
}

.big-icon {
    font-size: 2rem;
}

ul.ul-interests li {
    font-size: 0.9rem;
}

ul.ul-edu {
    list-style: none;
}

ul.ul-edu li {
    position: relative;
    padding: 0px 15px 4px 3px;
}

ul.ul-edu li .description p {
    margin: 0;
}

ul.ul-edu li .description p.course {
    font-size: 0.9rem;
}

ul.ul-edu li .description p.institution {
    font-size: 0.75rem;
    color: rgba(0,0,0,0.6);
}

/*************************************************
 *  Blog Articles
 **************************************************/

article {
    animation: intro 0.3s both;
    animation-delay: 0.15s;
}

.article-container {
    max-width: 800px;
    padding: 5px 20px 5px 20px;
    margin: 0 auto 0 auto;
    word-break: break-word;
    box-shadow: 0 0 10px 0 rgba(0,0,0,.11)
}

.article-header {
    position: relative;
    clear: both;
}

.article-banner {
    width: 100%;
    height: auto;
}

.article-header-caption {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0 auto;
    padding: 2px 5px;
    color: #fff;
    font-size: .7em;
    background: #000;
    text-align: right;
    z-index: 5;
    opacity: 0.65;
    border-radius: 5px 0 0 0;
}
@media (min-width: 64em) {
    .article-header-caption {
        padding: 5px 10px;
    }
}

.article-header-caption a {
    color: #fff;
    text-decoration: none;
}

.article-title {
    font-size: 1.75rem;
}

.article-title a {
    color: #151515;
    transition: color 0.6s ease;
}

.article-metadata {
    margin-bottom: 20px;
    line-height: 30px; /* Match share bar line height. */
    font-size: 14px;
    letter-spacing: 0.03em;
    color: #888;
}

.article-metadata a {
    color: #888;
}

.article-metadata a:hover {
    color: #0095eb;
}

.article-list-item {
    margin-bottom: 40px;
}

.article-list-item:last-child {
    margin-bottom: 0 !important;
}

.article-list-item .article-metadata {
    margin-bottom: 5px;
}

.article-metadata .article-date,
.article-metadata .article-categories,
.article-metadata .article-tags,
.article-metadata .article-analytic,
.article-metadata .article-comments {
    margin-right: 10px;
}

.article-style img,
.article-style video {
    box-shadow: 1px 1px 0px #edefed, -1px -1px 0px #edefed, 1px -1px 0px #edefed, -1px 1px 0px #edefed;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
}

.article-style figure {
    margin-top: 60px;
    margin-bottom: 60px;
}

.article-style figure img {
    margin-top: 0;
    margin-bottom: 0;
}

#comments {
    padding-top: 1rem;
}

.article-month {
    text-align: center;
}

.article-month > hr {
    margin: 0 0 0 0; 
    width:30%; 
    display:inline-block;
}

/*************************************************
 *  Contact
 **************************************************/

#contact.home-section .fa-ul {
    margin-left: 3.14285714rem; /* Must be > `fa-2x` icon size. */
}

#contact.home-section .fa-li {
    position: absolute;
    left: -3.14285714rem; /* Negative of `#contact.home-section .fa-ul` margin. */
    width: 2rem; /* Match `fa-2x` icon size. */
    top: 0.14285714em; /* Default FA value. */
    text-align: center;
}

#contact.home-section li {
    padding-top: 0.8rem; /* Align text with bottom of `fa-2x` icon. */
    margin-bottom: 0.3rem;
}

#contact.home-section li:last-of-type {
    margin-bottom: 0;
}

/*************************************************
 *  Footer
 **************************************************/

footer {
    margin: 2rem 0 0;
    padding: 2rem 0;
    width: 100%;
}

footer p {
    font-size: 14px;
    text-align: center;
}

.site-footer,
footer a#back_to_top i {
    color: #899596;
}

/*************************************************
 *  Navigation Bar
 **************************************************/

.navbar {
    min-height: 70px !important;
}

.navbar-default {
    background: #fff;
    box-shadow: 0 0.125rem 0.25rem 0 rgba(0,0,0,.11)
}

nav#navbar-main li {
    font-size: 16px;
}

.navbar-default .navbar-nav>li>a,
.navbar-default .navbar-nav>a:focus,
.navbar-default .navbar-nav>a:hover {
    white-space: nowrap;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    color: #34495e;
    font-weight: 600;
}

.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover {
    color: #0095eb;
    font-weight: 700;
    background-color: transparent !important; /* Override Bootstrap. */
}

.navbar-brand,
.navbar-nav li a {
    height: inherit;
    line-height: 50px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #34495e;
    white-space: nowrap;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:focus,
.dropdown-menu > .active > a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #0095eb;
    outline: 0;
}

.navbar-default .navbar-brand {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 24px;
    color: #2b2b2b;
}

@media screen and (max-width: 1200px) {
    .navbar {
        min-height: 50px !important;
    }

    .navbar-brand,
    .navbar-nav li a {
        height: inherit;
        line-height: 40px;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .navbar-header {
        float: none;
        min-height: inherit;
    }

    .navbar-left,
    .navbar-right {
        float: none !important;
    }

    .navbar-toggle {
        display: block;
    }

    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }

    .navbar-collapse.collapse {
        display: none !important;
    }

    .navbar-nav {
        float: none !important;
        margin-top: 7.5px;
    }

    .navbar-nav > li {
        float: none;
    }

    .navbar-nav > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
        line-height: normal;
    }

    .dropdown-menu > li > a {
        display: block;
        padding: 3px 20px;
        clear: both;
        font-weight: 400;
        line-height: 1.42857143;
        color: #34495e;
        white-space: nowrap;
    }

    .navbar-default .navbar-nav .open .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        box-shadow: none;
    }

    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
        padding: 5px 15px 5px 25px;
        line-height: 20px;
        color: #34495e;
    }

    .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover {
        color: inherit;
        background-color: transparent;
    }

    .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
    .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus,
    .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover {
        color: #0095eb;
        background-color: transparent;
    }

    .collapse.in {
        display: block !important;
    }
}

/*************************************************
 *  Tables
 **************************************************/

table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
    font-size: 0.93rem;
}

table > thead > tr > th,
table > tbody > tr > th,
table > tfoot > tr > th,
table > thead > tr > td,
table > tbody > tr > td,
table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.43;
    vertical-align: top;
    border-top: 1px solid #ddd;
}

table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd;
}

table > caption + thead > tr:first-child > th,
table > colgroup + thead > tr:first-child > th,
table > thead:first-child > tr:first-child > th,
table > caption + thead > tr:first-child > td,
table > colgroup + thead > tr:first-child > td,
table > thead:first-child > tr:first-child > td {
    border-top: 0;
}

table > tbody + tbody {
    border-top: 2px solid #ddd;
}

table table {
    background-color: #fff;
}

/* Table Striped */
table > tbody > tr:nth-child(odd) > td,
table > tbody > tr:nth-child(odd) > th {
    background-color: #f9f9f9;
}

/* Table Hover */
table > tbody > tr:hover > td,
table > tbody > tr:hover > th {
    background-color: #e5e5e5;
}


/* Alert (从新版的 academic 抄来的) */
.alert-warning {
    color: #cd0930;
    background-color: #fff5f7;
    border-color: #ff3860;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border-radius: .25rem;
}
