@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;1,500;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap");
body { background-color: #fff; padding: 0px; font: 17px/1.65 "Crimson Pro", serif; color: #4f4f4f; font-weight: 400; margin: 0; }

.pub-row { display: flex; align-items: center; }

.social-icons a { display: inline-block; height: 2.4rem; width: 2.4rem; background-color: transparent; color: #002D72 !important; border-radius: 100%; text-align: center; font-size: 1.15rem; line-height: 2.5rem; margin-right: 1rem; }

@media (prefers-color-scheme: dark) { .social-icons a { color: #3eb7f0 !important; } }

.social-icons a:last-child { margin-right: 0; }

.social-icons a:hover { background-color: white; color: black; transform: scale(1.2); }

@media (prefers-color-scheme: dark) { .social-icons a:last-child { margin-right: 0; } .social-icons a:hover { background-color: #20212b; color: black; transform: scale(1.2); } }

.icon-button { background-color: white; border-radius: 3.6rem; cursor: pointer; display: inline-block; font-size: 2.0rem; height: 3.6rem; line-height: 3.6rem; margin: 0 5px; position: relative; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; width: 3.6rem; }

.icon-button span { border-radius: 0; display: block; height: 0; left: 50%; margin: 0; position: absolute; top: 50%; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; width: 0; }

.icon-button:hover span { width: 3.6rem; height: 3.6rem; border-radius: 3.6rem; margin: -1.8rem; }

.twitter span { background-color: #4099ff; }

.facebook span { background-color: #4286f4; }

.linkedin span { background-color: #0077B5; }

.github span { background-color: #000; }

email { font-size: 14px; font-family: "Ubuntu Mono", monospace; }

.icon-button i { background: none; color: white; height: 3.6rem; left: 0; line-height: 3.6rem; position: absolute; top: 0; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; width: 3.6rem; z-index: 10; }

.icon-button .icon-twitter { color: #4099ff; }

.icon-button .icon-facebook { color: #4286f4; }

.icon-button .icon-github { color: #000; }

.icon-button .icon-linkedin { color: #0077B5; }

.icon-button:hover .icon-twitter, .icon-button:hover .icon-facebook, .icon-button:hover .icon-github, .icon-button:hover .icon-linkedin { color: white; }

autocolor { color: #595959; }

lightonly { visibility: visible; }

darkonly { visibility: hidden; }

education { font-weight: 500; font-size: 115%; }

papertitle { font-weight: 600; font-size: 100%; }

@media (prefers-color-scheme: dark) { body { background-color: #20212b; color: #dadbdf; } autocolor { color: #dadbdf; } lightonly { visibility: hidden; } darkonly { visibility: visible; } papertitle { color: #eeeff0; } }

.image { border-radius: 0.35em; border: 0; display: inline-block; position: relative; }

.image:before { -moz-transition: opacity 0.2s ease-in-out; -webkit-transition: opacity 0.2s ease-in-out; -ms-transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out; border-radius: 0.35em; content: ""; display: block; height: 100%; left: 0; opacity: 0.5; position: absolute; top: 0; width: 100%; }

.image.avatar { border-radius: 100%; }

.image.avatar:before { display: none; }

.image.avatar img { border-radius: 100%; width: 55%; padding: 20px; }

#header .image.avatar { margin: 0 0 1em 0; width: 8.00em; }

h3, h4, h5, h6 { font-weight: 600; color: #002D72; margin: 0 0 20px; }

h1 { font-weight: 600; color: #002D72; margin: 0 0 20px; }

h2 { color: #002D72; font-weight: 500; margin: 2px 0px 15px; font-size: 157%; }

@media (prefers-color-scheme: dark) { h1, h3, h4, h5, h6 { color: #3eb7f0; } h2 { color: #3eb7f0; } }

p, ul, ol, table, pre, dl { margin: 0 0 20px; }

h1, h2, h3 { line-height: 1.1; }

h1 { font-size: 28px; }

a { color: #39c; text-decoration: none; }

a:hover { color: #069; }

@media (prefers-color-scheme: dark) { a { color: #3eb7f0; } }

a small { font-size: 11px; color: #777; margin-top: -0.3em; display: block; }

a:hover small { color: #777; }

.wrapper { width: 960px; margin: 0 auto; }

blockquote { border-left: 1px solid #e5e5e5; margin: 0; padding: 0 0 0 20px; font-style: italic; }

code, pre { font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, Consolas, Liberation Mono, DejaVu Sans Mono, Courier New, monospace; color: #333; }

pre { max-width: 500px; padding: 8px 15px; background: #f8f8f8; border-radius: 5px; border: 1px solid #e5e5e5; overflow-x: auto; }

table { width: 100%; border-collapse: collapse; }

th, td { text-align: left; padding: 5px 10px; border-bottom: 1px solid #e5e5e5; }

dt { color: #444; font-weight: 500; }

th { color: #444; }

@media (prefers-color-scheme: dark) { th { color: #3eb7f0; } dt { color: #3eb7f0; } }

img { max-width: 100%; }

header { width: 232px; float: left; position: fixed; -webkit-font-smoothing: subpixel-antialiased; padding-top: 5.5em; text-align: center; }

header ul { list-style: none; height: 40px; padding: 0; background: #f4f4f4; border-radius: 5px; border: 1px solid #e0e0e0; width: 270px; }

header li { width: 89px; float: left; border-right: 1px solid #e0e0e0; height: 40px; }

header li:first-child a { border-radius: 5px 0 0 5px; }

header li:last-child a { border-radius: 0 5px 5px 0; }

header ul a { line-height: 1; font-size: 11px; color: #999; display: block; text-align: center; padding-top: 6px; height: 34px; }

header ul a:hover { color: #999; }

header ul a:active { background-color: #f0f0f0; }

strong { color: #222; font-weight: 500; }

@media (prefers-color-scheme: dark) { strong { color: #eeeff0; } }

header ul li + li + li { border-right: none; width: 89px; }

header ul a strong { font-size: 14px; display: block; color: #222; }

section { width: 650px; float: right; padding-top: 5.5em; padding-bottom: 50px; }

small { font-size: 11px; }

hr { border: 0; background: #e5e5e5; height: 1px; margin: 0 0 20px; }

footer { width: 232px; float: left; position: fixed; bottom: 30px; -webkit-font-smoothing: subpixel-antialiased; text-align: center; }

@media print, screen and (max-width: 960px) { .pub-row { display: flex; align-items: center; } div.wrapper { width: auto; margin: 0; } header, section, footer { float: none; position: static; width: auto; } header { padding-right: 320px; } section { border: 1px solid #e5e5e5; border-width: 1px 0; padding: 20px 0; margin: 0 0 20px; } header a small { display: inline; } header ul { position: absolute; right: 50px; top: 52px; } .image.avatar img { border-radius: 100%; width: 117px; padding: 20px; } #head1o2 { visibility: hidden; } #head2o2 { visibility: hidden; } }

@media print, screen and (max-width: 960px) { body { word-wrap: break-word; padding: 15px; } .pub-row { display: flex; align-items: center; } header { padding: 0; } pre, code { word-wrap: normal; } }

@media print, screen and (max-width: 480px) { .pub-row { display: block; align-items: center; } body { padding: 15px; } header ul { width: 99%; } header li, header ul li + li + li { width: 33%; } .image.avatar img { border-radius: 100%; width: 95px; padding: 20px; } #head1o2 { visibility: hidden; } #head2o2 { visibility: hidden; } }

@media print { body { padding: 0.4in; font-size: 12pt; color: #444; } }

.biblink { text-decoration: none; display: inline; margin-right: 0px; }

.fakelink { text-decoration: none; cursor: pointer; }

.bibref { font-size: 70%; margin-top: 10px; margin-left: 0px; display: none; font-family: monospace; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Crimson Pro", serif;
  letter-spacing: normal;
}

.wrapper {
  width: min(1080px, calc(100% - 2rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 3.25rem;
}

header {
  width: auto;
  float: none;
  position: static;
  padding-top: 4.4em;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

section {
  width: auto;
  float: none;
  padding-top: 4.4em;
  padding-bottom: 3rem;
}

footer {
  display: none;
}

header h1 {
  margin-bottom: 0.55rem;
  font-size: 1.56rem;
}

.profile-avatar {
  display: block;
  width: 148px;
  height: 148px;
  margin-bottom: 1.15rem;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #d8dfeb;
  background: #eef2f8;
}

position {
  display: inline-block;
  margin-bottom: 0.4rem;
  color: #2b2b2b;
  font-weight: 500;
}

header a,
header autocolor,
header email {
  word-break: break-word;
}

.social-icons {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}

.social-icons a {
  margin-right: 0.45rem;
}

.profile-block {
  margin-top: 0.6rem;
  margin-bottom: 1.8rem;
  width: 100%;
  max-width: 220px;
}

.profile-line {
  margin-bottom: 0.8rem;
}

.school-line {
  font-size: 1.22rem;
  font-weight: 600;
}

.social-links-text {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 0.4rem;
  width: 100%;
  max-width: 220px;
}

.social-links-text a {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  justify-content: center;
  color: #002D72;
  font-size: 1rem;
}

.social-links-text i {
  width: 1.2rem;
  text-align: center;
  font-size: 1.1rem;
}

section h2 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.6rem;
}

section h3 {
  margin-top: 1.75rem;
  margin-bottom: 0.8rem;
  font-size: 1.35rem;
}

section p,
section ul,
section ol {
  font-size: 1.08rem;
}

section ol li,
section ul li {
  margin-bottom: 0.45rem;
}

small {
  font-family: "Crimson Pro", serif;
}

@media print, screen and (max-width: 960px) {
  .wrapper {
    width: min(100%, calc(100% - 1rem));
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  header,
  section {
    padding-top: 1.2rem;
  }

  section {
    border: 0;
    margin: 0;
    padding-bottom: 1.4rem;
  }
}
