div.teaching{display:flex;flex-direction:row;margin:20px 0}div.teaching div.left{width:120px;flex-shrink:0;margin-right:20px;padding-top:3px;text-align:right;font-weight:700}div.teaching div.left div.role{text-align:right;font-weight:700}div.teaching div.left div.year{text-align:right;font-weight:400}div.teaching div.right div.class{color:#0f2747;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-size:1.2em}div.teaching div.right div.detail{color:#64748b}div.teaching div.right div.detail span.link{font-style:normal;font-size:.8em}div.internship{display:flex;flex-direction:row;margin:20px 0}div.internship div.left{width:150px;flex-shrink:0;margin-right:20px;text-align:right;font-weight:700}div.internship div.left div.year{text-align:right;font-weight:400}div.internship div.right a{font-size:.8em}div.software{display:flex;flex-direction:row;margin:20px 0}div.software div.left{width:150px;flex-shrink:0;margin-right:20px;text-align:right;font-weight:700}div.software div.right a{font-size:.8em}.sidebar{display:flex;flex-direction:column;align-items:left;flex:0 0 270px;align-self:flex-start;position:sticky;top:30px;margin-right:15px;padding:0 24px 20px 20px}.sidebar .title{padding:5px 5px 0 0;font-size:16.5px;display:flex;justify-content:flex-start;margin-top:.5em;margin-bottom:.4em;color:#64748b;line-height:1.6em}.sidebar .contact{font-size:15.5px;color:#64748b;margin:.5em 0 1.75em}.sidebar .contact .contact-line{display:flex;align-items:center;gap:.5em;margin:.25em 0}.sidebar .contact svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:#057baa;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar .location{padding:5px 5px 0 0;font-size:1em;display:flex;justify-content:center;margin-bottom:2em;color:#64748b}.sidebar .nav-items{padding:5px 5px 0 0;width:160px;display:flex;flex-direction:column;align-items:left;font-size:18px}.sidebar .nav-items .nav-item{margin:3px 0;padding-right:5px;transition:border-color .5s}.sidebar .nav-items .nav-item:hover{color:#057baa}.sidebar .nav-items .nav-item a{color:inherit}.sidebar .nav-items .nav-item a:hover{text-decoration:none}.sidebar .nav-items .active-nav-item{color:#057baa}.sidebar .contact-info{margin-top:2em;padding-top:2em;border-top:.15em solid #dde5ef;font-size:14px}.sidebar .contact-info .contact-title{font-weight:700;margin-bottom:.25em}.sidebar .contact-info .email{font-family:monospace;font-size:12px;margin-right:auto;padding-right:10px}.sidebar .contact-info .fa{font-size:18px;color:#057baa;margin-right:.5em;margin-top:.25em}div.content table{margin-bottom:1em;width:100%;border-collapse:collapse;border:1px solid #bbb}div.content thead{background-color:#ddd;border-bottom:1px solid #bbb}div.content th{padding:.5em;font-weight:700;text-align:left;border-right:1px solid #bbb}div.content td{padding:.5em;border-bottom:1px solid #bbb;border-right:1px solid #bbb}div.content tr,div.content td,div.content th{vertical-align:middle}div.content table.bottom-total tbody tr:last-child{font-weight:700}div.content table.right-total tbody td:last-child{font-weight:700}span.email{font-family:roboto mono,dejavu sans mono,monospace;font-size:.9em}span.email a{color:#2b3440;text-decoration:none}div.post-list div.entry{margin:3em 0}div.post-list div.entry h2{margin-bottom:.25em}div.post-list div.entry a{margin-bottom:.25em;color:inherit}div.post-list div.entry p{margin:0}.news{margin-top:2em;padding-top:5px;padding-right:15px}.news h1{margin-bottom:0;margin-top:0;color:#494e52;font-size:20px;font-weight:400}.news h2{margin-top:.5em;margin-bottom:0;color:#bababa;font-size:13px}.news p{margin-top:0;margin-bottom:0;color:#716a7f;font-size:14px;padding-bottom:10px}.research{display:flex;flex-direction:row;flex-wrap:wrap}div.project-icons{display:flex;flex-direction:row;margin:20px 0}div.project-icons div.left{width:350px;flex-shrink:0;margin-right:20px;text-align:right;font-weight:700}div.project-icons div.left img{border:1.5px solid #80929c;margin-bottom:1.5em;align-self:flex-start}div.project-icons div.right a{font-size:.8em}html{overflow-y:scroll}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-weight:350;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:15.5px;color:#2b3440}a{text-decoration:none;color:#057baa}a:hover{text-decoration:underline}h2,h3{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;color:#0f2747;font-weight:400;padding-top:10px}h1.title{border-bottom:.25pt dashed gray}.navbar{height:50px;display:flex;flex-direction:column}.page-container{margin:0 auto;margin:50px auto;padding-bottom:50px;display:flex;flex-direction:row;width:950px}.monospace{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif}.name{font-size:2.1em;color:#0f2747}.content img{margin-left:auto;margin-right:auto}.justify-center{display:flex;justify-content:center}.callout{display:flow-root;background:#e6f2f7;border-left:4px solid #057baa;border-radius:0 6px 6px 0;padding:.75em 1em;margin:1em 0}.callout p{margin:0}.callout strong{color:#0f2747}.paper-titles{color:#0f2747;font-weight:700}.publications-list h4{margin-bottom:.15em}@media(max-width:820px){.page-container{width:auto;margin:20px auto;padding:0 16px 50px;flex-direction:column}.sidebar{position:static;flex:none;align-self:auto;padding:0;min-width:0;max-width:none;width:auto;margin-right:0;padding-left:0;margin-bottom:1em;border-right:0}.sidebar .title{margin-bottom:1em}.sidebar .nav-items{width:auto;flex-direction:row;flex-wrap:wrap;gap:0 1em}.sidebar .contact-info{margin-top:1em;padding-top:1em}.content figure{float:none!important;text-align:center}}