@charset "utf-8";

/* Open Sans Fonts */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: normal;
    src: local('Open Sans Regular'), local('OpenSans-Regular'), url('../fonts/github/open-sans-v17-latin-ext_latin-regular.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: normal;
    src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../fonts/github/open-sans-v17-latin-ext_latin-italic.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: bold;
    src: local('Open Sans Bold'), local('OpenSans-Bold'), url('../fonts/github/open-sans-v17-latin-ext_latin-700.woff2') format('woff2'); 
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: bold;
    src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url('../fonts/github/open-sans-v17-latin-ext_latin-700italic.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

body {
    font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', 'SF Pro', sans-serif;
    color: rgb(51, 51, 51);
    line-height: 1.6;
    padding-top: 5.0rem;
}

/* Links */
a {
    color: #4183C4;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    position: relative;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-weight: bold;
    line-height: 1.4;
    cursor: text;
}

h1 tt, h1 code {
    font-size: inherit;
}

h2 tt, h2 code {
    font-size: inherit;
}

h3 tt, h3 code {
    font-size: inherit;
}

h4 tt, h4 code {
    font-size: inherit;
}

h5 tt, h5 code {
    font-size: inherit;
}

h6 tt, h6 code {
    font-size: inherit;
}

h1 {
    font-size: 2.25em;
    line-height: 1.2;
    border-bottom: 1px solid #eee;
}

h2 {
    font-size: 1.75em;
    line-height: 1.225;
    border-bottom: 1px solid #eee;
}

h3 {
    font-size: 1.5em;
    line-height: 1.43;
}

h4 {
    font-size: 1.25em;
}

h5 {
    font-size: 1em;
}

h6 {
    font-size: 1em;
    color: #777;
}

/* Paragraphs and other elements */
p, blockquote, ul, ol, dl, table {
    margin: 0.8em 0;
}

li > ol, li > ul {
    margin: 0 0;
}

/* Horizontal rule */
hr {
    height: 2px;
    padding: 0;
    margin: 16px 0;
    background-color: #e7e7e7;
    border: 0 none;
    overflow: hidden;
    box-sizing: content-box;
}

/* Lists */
ul, ol {
    padding-left: 30px;
}

ul:first-child, ol:first-child {
    margin-top: 0;
}

ul:last-child, ol:last-child {
    margin-bottom: 0;
}

/* Blockquotes */
blockquote {
    border-left: 4px solid #dfe2e5;
    padding: 0 15px;
    color: #777777;
}

blockquote blockquote {
    padding-right: 0;
}

/* Tables */
table {
    padding: 0;
    word-break: initial;
}

table tr {
    border: 1px solid #dfe2e5;
    margin: 0;
    padding: 0;
}

table tr:nth-child(2n), thead {
    background-color: #f8f8f8;
}

table th {
    font-weight: bold;
    border: 1px solid #dfe2e5;
    border-bottom: 0;
    margin: 0;
    padding: 6px 13px;
}

table td {
    border: 1px solid #dfe2e5;
    margin: 0;
    padding: 6px 13px;
}

table th:first-child, table td:first-child {
    margin-top: 0;
}

table th:last-child, table td:last-child {
    margin-bottom: 0;
}

/* Code */
code, tt {
    border: 1px solid #e7eaed;
    background-color: #f8f8f8;
    border-radius: 3px;
    padding: 2px 4px 0px 4px;
    font-size: 0.9em;
}

code {
    background-color: #f3f4f4;
    padding: 0 2px 0 2px;
}

/* Code blocks */
pre {
    margin-bottom: 15px;
    margin-top: 15px;
    padding-top: 8px;
    padding-bottom: 6px;
    background-color: #f8f8f8;
    border: 1px solid #e7eaed;
    border-radius: 3px;
    overflow-x: auto;
}

pre code {
    background-color: transparent;
    border: 0;
    padding: 0;
}

/* Original template styles */
.card {
    border-radius: 0.8rem!important;
}

.card-img-overlay {
    border-radius: 0.8rem!important;
}

.rounded-xl {
    border-radius: 0.8rem!important;
}

.rounded-xl-bottom {
    border-bottom-right-radius: 0.8rem !important;
    border-bottom-left-radius: 0.8rem !important;
}

.rounded-xl-top {
    border-top-left-radius: 0.8rem !important;
    border-top-right-radius: 0.8rem !important;
}

.navbar {
    opacity: 0.95;
}

.inline-badge {
    height: 16px;
    vertical-align: -10%;
    margin-right: 2px;
    line-break: unset;
}

.no-break {
    white-space: nowrap;
}

/* Let flex item shrink so position/award text can wrap instead of being cut off */
.experience-card-desc {
    min-width: 0;
    flex: 1 1 auto;
}

.cover-image {
    width: 180px;
    max-height: 120px;
}

.abstract-body {
    min-height: 100px;
}

img.lazy {
    background-image: url('images/loading.gif');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50px 50px;
    min-height: 80px;
}

div.lazy {
    background-image: url('images/loading.gif');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50px 50px;
    min-height: 80px;
}

.badge-publication {
    font-size: 100%;
}

.email-text {
    font-family: 'Source Code Pro', monospace;
}

/* Blog Content Styles */
.blog-title {
    font-size: 2.25em;
    line-height: 1.2;
    border-bottom: 1px solid #eee;
}

.blog-content {
    max-width: 860px;
    margin: 0 auto;
    padding: 30px;
    font-size: 16px;
    line-height: 1.6;
}

@media only screen and (min-width: 1400px) {
    .blog-content {
        max-width: 1024px;
    }
}

@media only screen and (min-width: 1800px) {
    .blog-content {
        max-width: 1200px;
    }
}

.blog-content h1 {
    font-size: 2.25em;
    line-height: 1.2;
    border-bottom: 1px solid #eee;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.blog-content h2 {
    font-size: 1.75em;
    line-height: 1.225;
    border-bottom: 1px solid #eee;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.blog-content h3 {
    font-size: 1.5em;
    line-height: 1.43;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.blog-content h4 {
    font-size: 1.25em;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.blog-content h5 {
    font-size: 1em;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.blog-content h6 {
    font-size: 1em;
    color: #777;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.blog-content p {
    margin: 0.8em 0;
}

.blog-content ul,
.blog-content ol {
    padding-left: 30px;
    margin: 0.8em 0;
}

.blog-content li > ol,
.blog-content li > ul {
    margin: 0 0;
}

.blog-content blockquote {
    border-left: 4px solid #dfe2e5;
    padding: 0 15px;
    color: #777777;
    margin: 0.8em 0;
}

.blog-content blockquote blockquote {
    padding-right: 0;
}

.blog-content code {
    border: 1px solid #e7eaed;
    background-color: #f3f4f4;
    border-radius: 3px;
    padding: 0 2px 0 2px;
    font-size: 0.9em;
}

.blog-content pre {
    margin-bottom: 15px;
    margin-top: 15px;
    padding: 8px;
    background-color: #f8f8f8;
    border: 1px solid #e7eaed;
    border-radius: 3px;
    overflow-x: auto;
}

.blog-content pre code {
    background-color: transparent;
    border: 0;
    padding: 0;
}

.blog-content table {
    padding: 0;
    word-break: initial;
    margin: 0.8em 0;
}

.blog-content table tr {
    border: 1px solid #dfe2e5;
    margin: 0;
    padding: 0;
}

.blog-content table tr:nth-child(2n),
.blog-content thead {
    background-color: #f8f8f8;
}

.blog-content table th {
    font-weight: bold;
    border: 1px solid #dfe2e5;
    border-bottom: 0;
    margin: 0;
    padding: 6px 13px;
}

.blog-content table td {
    border: 1px solid #dfe2e5;
    margin: 0;
    padding: 6px 13px;
}

.blog-content hr {
    height: 2px;
    padding: 0;
    margin: 16px 0;
    background-color: #e7e7e7;
    border: 0 none;
    overflow: hidden;
    box-sizing: content-box;
}

.blog-content img {
    max-width: 100%;
    height: auto;
}

.blog-content a {
    color: #4183C4;
}

/* Math styling */
.blog-content .katex {
    font-size: 1.1em;
}

.blog-content .katex-display {
    margin: 1.5rem 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.mathjax-block {
    background: #fafafa;
}
